summaryrefslogtreecommitdiff
path: root/rt/share/html
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2015-07-09 22:18:55 -0700
committerIvan Kohler <ivan@freeside.biz>2015-07-09 22:27:04 -0700
commite131b1f71f08b69abb832c1687d1f29682d171f8 (patch)
tree490167e41d9fe05b760e7b21a96ee35a86f8edda /rt/share/html
parentd05d7346bb2387fd9d0354923d577275c5c7f019 (diff)
RT 4.2.11, ticket#13852
Diffstat (limited to 'rt/share/html')
-rw-r--r--rt/share/html/Admin/Articles/Classes/Modify.html66
-rw-r--r--rt/share/html/Admin/Articles/Classes/Objects.html11
-rw-r--r--rt/share/html/Admin/Articles/Classes/index.html5
-rw-r--r--rt/share/html/Admin/Articles/index.html2
-rw-r--r--rt/share/html/Admin/CustomFields/GroupRights.html2
-rw-r--r--rt/share/html/Admin/CustomFields/Modify.html35
-rw-r--r--rt/share/html/Admin/CustomFields/Objects.html27
-rw-r--r--rt/share/html/Admin/CustomFields/index.html47
-rw-r--r--[-rwxr-xr-x]rt/share/html/Admin/Elements/ConfigureDashboardsInMenu (renamed from rt/share/html/Admin/Global/Scrip.html)39
-rwxr-xr-xrt/share/html/Admin/Elements/EditCustomField15
-rw-r--r--rt/share/html/Admin/Elements/EditCustomFieldValuesSource4
-rwxr-xr-xrt/share/html/Admin/Elements/EditCustomFields23
-rwxr-xr-xrt/share/html/Admin/Elements/EditQueueWatchers7
-rw-r--r--rt/share/html/Admin/Elements/EditRights39
-rw-r--r--rt/share/html/Admin/Elements/EditRightsCategoryTabs15
-rwxr-xr-xrt/share/html/Admin/Elements/EditScrips171
-rwxr-xr-xrt/share/html/Admin/Elements/EditTemplates2
-rwxr-xr-xrt/share/html/Admin/Elements/ListGlobalCustomFields61
-rw-r--r--rt/share/html/Admin/Elements/LoggingSummary (renamed from rt/share/html/NoAuth/js/history-folding.js)59
-rw-r--r--rt/share/html/Admin/Elements/MembershipsPage152
-rwxr-xr-xrt/share/html/Admin/Elements/ModifyTemplate11
-rw-r--r--rt/share/html/Admin/Elements/PickCustomFields98
-rw-r--r--rt/share/html/Admin/Elements/Portal2
-rwxr-xr-xrt/share/html/Admin/Elements/SelectGroups2
-rwxr-xr-xrt/share/html/Admin/Elements/SelectModifyQueue57
-rwxr-xr-xrt/share/html/Admin/Elements/SelectNewGroupMembers42
-rwxr-xr-xrt/share/html/Admin/Elements/SelectRights120
-rw-r--r--rt/share/html/Admin/Elements/SelectStage18
-rw-r--r--rt/share/html/Admin/Elements/SelectStageForAdded54
-rw-r--r--rt/share/html/Admin/Elements/ShowKeyInfo49
-rw-r--r--rt/share/html/Admin/Elements/UpgradeHistory (renamed from rt/share/html/Articles/Article/Elements/ShowHistory)45
-rw-r--r--rt/share/html/Admin/Elements/UpgradeHistoryRow98
-rw-r--r--rt/share/html/Admin/Global/DashboardsInMenu.html113
-rw-r--r--rt/share/html/Admin/Global/MyRT.html10
-rwxr-xr-xrt/share/html/Admin/Global/Template.html56
-rwxr-xr-xrt/share/html/Admin/Global/index.html2
-rw-r--r--rt/share/html/Admin/Groups/History.html5
-rw-r--r--[-rwxr-xr-x]rt/share/html/Admin/Groups/Memberships.html (renamed from rt/share/html/Elements/BevelBoxRaisedEnd)4
-rwxr-xr-xrt/share/html/Admin/Groups/Modify.html25
-rwxr-xr-xrt/share/html/Admin/Groups/index.html40
-rw-r--r--rt/share/html/Admin/Queues/History.html5
-rwxr-xr-xrt/share/html/Admin/Queues/Modify.html74
-rwxr-xr-xrt/share/html/Admin/Queues/People.html5
-rwxr-xr-xrt/share/html/Admin/Queues/Scrips.html15
-rwxr-xr-xrt/share/html/Admin/Queues/Template.html10
-rwxr-xr-xrt/share/html/Admin/Queues/index.html45
-rw-r--r--rt/share/html/Admin/Scrips/Create.html147
-rw-r--r--[-rwxr-xr-x]rt/share/html/Admin/Scrips/Elements/EditBasics (renamed from rt/share/html/Admin/Elements/SelectScrip)40
-rw-r--r--[-rwxr-xr-x]rt/share/html/Admin/Scrips/Elements/EditCustomCode (renamed from rt/share/html/Ticket/Elements/ShowMembers)47
-rw-r--r--[-rwxr-xr-x]rt/share/html/Admin/Scrips/Elements/SelectTemplate (renamed from rt/share/html/Admin/Elements/SelectTemplate)75
-rw-r--r--rt/share/html/Admin/Scrips/Modify.html141
-rw-r--r--rt/share/html/Admin/Scrips/Objects.html172
-rw-r--r--[-rwxr-xr-x]rt/share/html/Admin/Scrips/index.html (renamed from rt/share/html/Admin/Elements/ListGlobalScrips)32
-rw-r--r--rt/share/html/Admin/Tools/Configuration.html95
-rw-r--r--rt/share/html/Admin/Tools/Queries.html2
-rw-r--r--rt/share/html/Admin/Tools/Shredder/Elements/ObjectCheckBox4
-rw-r--r--rt/share/html/Admin/Tools/Shredder/Elements/PluginHelp4
-rw-r--r--rt/share/html/Admin/Tools/Shredder/autohandler4
-rw-r--r--rt/share/html/Admin/Tools/Theme.html219
-rw-r--r--rt/share/html/Admin/Tools/index.html2
-rw-r--r--rt/share/html/Admin/Users/DashboardsInMenu.html118
-rw-r--r--rt/share/html/Admin/Users/History.html5
-rw-r--r--rt/share/html/Admin/Users/Keys.html (renamed from rt/share/html/Admin/Users/GnuPG.html)59
-rw-r--r--rt/share/html/Admin/Users/Memberships.html90
-rwxr-xr-xrt/share/html/Admin/Users/Modify.html287
-rw-r--r--rt/share/html/Admin/Users/MyRT.html11
-rwxr-xr-xrt/share/html/Admin/Users/index.html25
-rwxr-xr-xrt/share/html/Admin/index.html2
-rwxr-xr-xrt/share/html/Approvals/Display.html2
-rwxr-xr-xrt/share/html/Approvals/Elements/Approve4
-rwxr-xr-xrt/share/html/Approvals/Elements/PendingMyApproval41
-rwxr-xr-xrt/share/html/Approvals/Elements/ShowDependency26
-rw-r--r--rt/share/html/Articles/Article/Edit.html67
-rw-r--r--rt/share/html/Articles/Article/Elements/EditCustomFields10
-rw-r--r--rt/share/html/Articles/Article/Elements/EditLinks12
-rw-r--r--rt/share/html/Articles/Article/Elements/Preformatted15
-rw-r--r--rt/share/html/Articles/Article/Elements/ShowLinks8
-rw-r--r--rt/share/html/Articles/Article/Elements/ShowSavedSearches7
-rw-r--r--rt/share/html/Articles/Article/Elements/ShowSearchCriteria10
-rw-r--r--rt/share/html/Articles/Article/History.html20
-rw-r--r--rt/share/html/Articles/Article/PreCreate.html36
-rw-r--r--rt/share/html/Articles/Article/Search.html145
-rw-r--r--rt/share/html/Articles/Elements/CreateArticle4
-rw-r--r--rt/share/html/Articles/Elements/MaybeNeedsSetup (renamed from rt/share/html/NoAuth/css/aileron/base.css)23
-rw-r--r--[-rwxr-xr-x]rt/share/html/Articles/Elements/NeedsSetup (renamed from rt/share/html/SelfService/Error.html)27
-rw-r--r--rt/share/html/Articles/Elements/NewestArticles4
-rw-r--r--rt/share/html/Articles/Elements/QuickSearch4
-rw-r--r--rt/share/html/Articles/Elements/ShowTopicLink2
-rw-r--r--rt/share/html/Articles/Elements/SubjectOverride92
-rw-r--r--rt/share/html/Articles/Elements/UpdatedArticles4
-rw-r--r--rt/share/html/Articles/index.html1
-rw-r--r--rt/share/html/Dashboards/Elements/DashboardsForObject6
-rw-r--r--rt/share/html/Dashboards/Elements/ListOfDashboards7
-rw-r--r--rt/share/html/Dashboards/Elements/SelectPrivacy6
-rw-r--r--rt/share/html/Dashboards/Elements/ShowDashboards1
-rw-r--r--rt/share/html/Dashboards/Elements/ShowPortlet/component12
-rw-r--r--rt/share/html/Dashboards/Elements/ShowPortlet/dashboard1
-rwxr-xr-xrt/share/html/Dashboards/Modify.html8
-rw-r--r--rt/share/html/Dashboards/Queries.html6
-rw-r--r--rt/share/html/Dashboards/Render.html1
-rw-r--r--rt/share/html/Dashboards/Subscription.html37
-rw-r--r--rt/share/html/Download/CustomFieldValue/dhandler4
-rw-r--r--rt/share/html/Elements/AddLinks106
-rw-r--r--rt/share/html/Elements/BulkCustomFields105
-rw-r--r--rt/share/html/Elements/BulkLinks197
-rwxr-xr-xrt/share/html/Elements/Callback5
-rw-r--r--rt/share/html/Elements/CollectionAsTable/Header21
-rw-r--r--rt/share/html/Elements/CollectionAsTable/Row1
-rw-r--r--rt/share/html/Elements/CollectionList31
-rw-r--r--rt/share/html/Elements/CollectionListPaging20
-rw-r--r--rt/share/html/Elements/ColumnMap110
-rw-r--r--rt/share/html/Elements/Crypt/KeyIssues (renamed from rt/share/html/Elements/GnuPG/KeyIssues)14
-rw-r--r--rt/share/html/Elements/Crypt/SelectKeyForEncryption (renamed from rt/share/html/Elements/GnuPG/SelectKeyForEncryption)5
-rw-r--r--rt/share/html/Elements/Crypt/SelectKeyForSigning (renamed from rt/share/html/Elements/GnuPG/SelectKeyForSigning)7
-rw-r--r--rt/share/html/Elements/Crypt/SignEncryptWidget (renamed from rt/share/html/Elements/GnuPG/SignEncryptWidget)23
-rw-r--r--rt/share/html/Elements/CryptStatus (renamed from rt/share/html/Ticket/Elements/ShowGnuPGStatus)102
-rw-r--r--rt/share/html/Elements/EditCustomField50
-rw-r--r--rt/share/html/Elements/EditCustomFieldAutocomplete15
-rw-r--r--rt/share/html/Elements/EditCustomFieldBinary17
-rw-r--r--rt/share/html/Elements/EditCustomFieldCombobox13
-rw-r--r--[-rwxr-xr-x]rt/share/html/Elements/EditCustomFieldCustomGroupings (renamed from rt/share/html/Elements/SelectSortOrder)36
-rw-r--r--rt/share/html/Elements/EditCustomFieldDate3
-rw-r--r--rt/share/html/Elements/EditCustomFieldDateTime3
-rw-r--r--rt/share/html/Elements/EditCustomFieldFreeform5
-rw-r--r--rt/share/html/Elements/EditCustomFieldImage17
-rw-r--r--rt/share/html/Elements/EditCustomFieldSelect31
-rw-r--r--rt/share/html/Elements/EditCustomFieldText6
-rw-r--r--rt/share/html/Elements/EditCustomFieldWikitext6
-rw-r--r--rt/share/html/Elements/EditCustomFields119
-rwxr-xr-xrt/share/html/Elements/EditLinks94
-rw-r--r--rt/share/html/Elements/EditTimeValue12
-rw-r--r--rt/share/html/Elements/EmailInput4
-rwxr-xr-xrt/share/html/Elements/Error13
-rw-r--r--rt/share/html/Elements/FindUser (renamed from rt/share/html/NoAuth/css/aileron/login.css)6
-rw-r--r--rt/share/html/Elements/FoldStanzaJS (renamed from rt/share/html/Ticket/Elements/FoldStanzaJS)4
-rw-r--r--[-rwxr-xr-x]rt/share/html/Elements/GotoUser (renamed from rt/share/html/Elements/SelectLinkType)19
-rwxr-xr-xrt/share/html/Elements/Header52
-rw-r--r--rt/share/html/Elements/HeaderJavascript20
-rw-r--r--rt/share/html/Elements/JavascriptConfig84
-rwxr-xr-xrt/share/html/Elements/ListActions5
-rw-r--r--rt/share/html/Elements/ListMenu4
-rwxr-xr-xrt/share/html/Elements/Login7
-rw-r--r--rt/share/html/Elements/LoginHelp (renamed from rt/share/html/m/style.css)8
-rw-r--r--rt/share/html/Elements/Logo5
-rw-r--r--rt/share/html/Elements/MakeClicky18
-rwxr-xr-xrt/share/html/Elements/Menu36
-rwxr-xr-xrt/share/html/Elements/MessageBox26
-rw-r--r--rt/share/html/Elements/MyRT28
-rwxr-xr-xrt/share/html/Elements/MyReminders1
-rwxr-xr-xrt/share/html/Elements/PageLayout11
-rw-r--r--rt/share/html/Elements/QueryString3
-rw-r--r--rt/share/html/Elements/QueueSummaryByLifecycle13
-rw-r--r--rt/share/html/Elements/QueueSummaryByStatus4
-rw-r--r--rt/share/html/Elements/QuickCreate2
-rw-r--r--rt/share/html/Elements/RT__Article/ColumnMap13
-rw-r--r--rt/share/html/Elements/RT__Class/ColumnMap13
-rw-r--r--rt/share/html/Elements/RT__CustomField/ColumnMap39
-rw-r--r--rt/share/html/Elements/RT__Dashboard/ColumnMap9
-rw-r--r--rt/share/html/Elements/RT__Group/ColumnMap21
-rw-r--r--rt/share/html/Elements/RT__Queue/ColumnMap21
-rw-r--r--rt/share/html/Elements/RT__SavedSearch/ColumnMap9
-rw-r--r--rt/share/html/Elements/RT__Scrip/ColumnMap110
-rw-r--r--rt/share/html/Elements/RT__Template/ColumnMap35
-rw-r--r--rt/share/html/Elements/RT__Ticket/ColumnMap94
-rw-r--r--rt/share/html/Elements/RT__User/ColumnMap13
-rwxr-xr-xrt/share/html/Elements/Refresh2
-rwxr-xr-xrt/share/html/Elements/SelectBoolean4
-rwxr-xr-xrt/share/html/Elements/SelectCustomFieldValue17
-rwxr-xr-xrt/share/html/Elements/SelectDate18
-rwxr-xr-xrt/share/html/Elements/SelectDateRelation2
-rwxr-xr-xrt/share/html/Elements/SelectLang2
-rwxr-xr-xrt/share/html/Elements/SelectMatch10
-rw-r--r--rt/share/html/Elements/SelectObject141
-rw-r--r--rt/share/html/Elements/SelectOwnerAutocomplete2
-rw-r--r--rt/share/html/Elements/SelectOwnerDropdown32
-rwxr-xr-xrt/share/html/Elements/SelectQueue92
-rwxr-xr-xrt/share/html/Elements/SelectStatus58
-rwxr-xr-xrt/share/html/Elements/SelectTimeUnits6
-rw-r--r--rt/share/html/Elements/ShowCustomFieldCustomGroupings78
-rw-r--r--rt/share/html/Elements/ShowCustomFieldImage2
-rw-r--r--rt/share/html/Elements/ShowCustomFields20
-rw-r--r--rt/share/html/Elements/ShowHistory191
-rw-r--r--rt/share/html/Elements/ShowLink25
-rwxr-xr-xrt/share/html/Elements/ShowLinks155
-rw-r--r--rt/share/html/Elements/ShowLinksOfType127
-rw-r--r--rt/share/html/Elements/ShowMemberships4
-rw-r--r--[-rwxr-xr-x]rt/share/html/Elements/ShowMessageHeaders (renamed from rt/share/html/Ticket/Elements/ShowMessageHeaders)11
-rw-r--r--[-rwxr-xr-x]rt/share/html/Elements/ShowMessageStanza (renamed from rt/share/html/Ticket/Elements/ShowMessageStanza)18
-rw-r--r--rt/share/html/Elements/ShowPrincipal (renamed from rt/share/html/Elements/ShowUserVerbose)42
-rw-r--r--rt/share/html/Elements/ShowRecord (renamed from rt/share/html/NoAuth/js/titlebox-state.js)79
-rw-r--r--rt/share/html/Elements/ShowRelationLabel30
-rw-r--r--rt/share/html/Elements/ShowReminders8
-rw-r--r--rt/share/html/Elements/ShowSearch21
-rw-r--r--rt/share/html/Elements/ShowTransaction265
-rw-r--r--rt/share/html/Elements/ShowTransactionAttachments (renamed from rt/share/html/Ticket/Elements/ShowTransactionAttachments)120
-rw-r--r--rt/share/html/Elements/ShowUser53
-rwxr-xr-xrt/share/html/Elements/SimpleSearch5
-rwxr-xr-xrt/share/html/Elements/Submit4
-rw-r--r--rt/share/html/Elements/TSVExport131
-rwxr-xr-xrt/share/html/Elements/Tabs270
-rw-r--r--rt/share/html/Elements/TicketList12
-rw-r--r--rt/share/html/Elements/TitleBox1
-rw-r--r--rt/share/html/Elements/TitleBoxEnd1
-rw-r--r--rt/share/html/Elements/TitleBoxStart1
-rw-r--r--rt/share/html/Elements/ValidateCustomFields73
-rw-r--r--[-rwxr-xr-x]rt/share/html/Errors/WebRemoteUser/Deauthorized (renamed from rt/share/html/Admin/Elements/CreateUserCalled)6
-rw-r--r--[-rwxr-xr-x]rt/share/html/Errors/WebRemoteUser/NoInternalUser (renamed from rt/share/html/Elements/BevelBoxRaisedStart)6
-rw-r--r--[-rwxr-xr-x]rt/share/html/Errors/WebRemoteUser/NoRemoteUser (renamed from rt/share/html/NoAuth/Reminder.html)6
-rw-r--r--rt/share/html/Errors/WebRemoteUser/UserAutocreateDefaultsOnLogin50
-rw-r--r--rt/share/html/Errors/WebRemoteUser/Wrapper80
-rw-r--r--rt/share/html/Helpers/Autocomplete/CustomFieldValues27
-rw-r--r--rt/share/html/Helpers/Autocomplete/Groups12
-rw-r--r--rt/share/html/Helpers/Autocomplete/Owners33
-rw-r--r--rt/share/html/Helpers/Autocomplete/Tickets (renamed from rt/share/html/NoAuth/css/base/history-folding.css)82
-rw-r--r--rt/share/html/Helpers/Autocomplete/Users71
-rw-r--r--rt/share/html/Helpers/TicketHistory23
-rw-r--r--[-rwxr-xr-x]rt/share/html/Helpers/UserInfo (renamed from rt/share/html/Admin/Queues/Scrip.html)46
-rw-r--r--rt/share/html/Install/DatabaseDetails.html4
-rw-r--r--rt/share/html/Install/DatabaseType.html2
-rw-r--r--rt/share/html/Install/Finish.html4
-rw-r--r--rt/share/html/Install/Global.html1
-rw-r--r--rt/share/html/Install/Initialize.html1
-rw-r--r--rt/share/html/Install/index.html2
-rwxr-xr-xrt/share/html/NoAuth/Logout.html2
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/LICENSE.html1327
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/adapters/jquery.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/ckeditor.js153
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/config.js47
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/contents.css25
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/_languages.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/_translationstatus.txt65
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/af.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/ar.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/bg.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/bn.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/bs.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/ca.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/cs.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/cy.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/da.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/de.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/el.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/en-au.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/en-ca.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/en-gb.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/en.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/eo.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/es.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/et.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/eu.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/fa.js822
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/fi.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/fo.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/fr-ca.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/fr.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/gl.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/gu.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/he.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/hi.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/hr.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/hu.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/id.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/is.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/it.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/ja.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/ka.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/km.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/ko.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/ku.js821
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/lt.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/lv.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/mk.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/mn.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/ms.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/nb.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/nl.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/no.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/pl.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/pt-br.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/pt.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/ro.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/ru.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/sk.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/sl.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/sr-latn.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/sr.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/sv.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/th.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/tr.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/ug.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/uk.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/vi.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/zh-cn.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/lang/zh.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js7
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/_translationstatus.txt28
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/cs.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/cy.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/da.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/de.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/el.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/en.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/eo.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/fa.js94
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/fi.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/fr.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/gu.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/he.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/it.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/ku.js94
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/lv.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/mk.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/nb.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/nl.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/no.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/pt-br.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/ro.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/sk.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/tr.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/ug.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/vi.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/zh-cn.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/about/dialogs/about.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/adobeair/plugin.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/ajax/plugin.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/autogrow/plugin.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/bbcode/plugin.js9
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/clipboard/dialogs/paste.js7
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/colordialog/dialogs/colordialog.js7
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/_translationstatus.txt31
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/bg.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/cs.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/cy.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/da.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/de.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/el.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/en.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/eo.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/et.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/fa.js21
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/fi.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/fr.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/gu.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/he.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/hr.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/it.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/ku.js21
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/lv.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/nb.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/nl.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/no.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/pl.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/pt-br.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/sk.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/tr.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/ug.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/uk.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/vi.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/zh-cn.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/plugin.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/dialog/dialogDefinition.js4
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/div/dialogs/div.js8
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/docprops/dialogs/docprops.js10
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/docprops/plugin.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/find/dialogs/find.js10
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/flash/dialogs/flash.js9
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/button.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/checkbox.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/form.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/hiddenfield.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/radio.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/select.js9
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/textarea.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/textfield.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/iframe/dialogs/iframe.js7
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/iframedialog/plugin.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/image/dialogs/image.js13
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/link/dialogs/anchor.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/link/dialogs/link.js12
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/liststyle/dialogs/liststyle.js7
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/pastefromword/filter/default.js11
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/pastetext/dialogs/pastetext.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/dialogs/placeholder.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/_translationstatus.txt30
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/bg.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/cs.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/cy.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/da.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/de.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/el.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/en.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/eo.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/et.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/fa.js21
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/fi.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/fr.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/he.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/hr.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/it.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/ku.js21
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/lv.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/nb.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/nl.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/no.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/pl.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/pt-br.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/sk.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/tr.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/ug.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/uk.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/vi.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/zh-cn.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/plugin.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/preview/preview.html10
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/scayt/dialogs/options.js8
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/scayt/dialogs/toolbar.css6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/smiley/dialogs/smiley.js7
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/dialogs/specialchar.js7
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/_translationstatus.txt25
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/cs.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/cy.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/de.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/el.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/en.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/eo.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/et.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/fa.js131
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/fi.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/fr.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/he.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/hr.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/it.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/ku.js131
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/lv.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/nb.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/nl.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/no.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/pt-br.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/sk.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/tr.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/ug.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/zh-cn.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/styles/styles/default.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/stylesheetparser/plugin.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/table/dialogs/table.js9
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/tableresize/plugin.js7
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/tabletools/dialogs/tableCell.js8
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/templates/dialogs/templates.js7
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/templates/templates/default.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/dialogs/uicolor.js7
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/_translationstatus.txt31
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/bg.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/cs.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/cy.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/da.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/de.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/el.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/en.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/eo.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/et.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/fa.js20
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/fi.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/fr.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/he.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/hr.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/it.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/ku.js20
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/lv.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/mk.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/nb.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/nl.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/no.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/pl.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/pt-br.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/sk.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/tr.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/ug.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/uk.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/vi.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/zh-cn.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/plugin.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/yui/assets/yui.css6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/yui/yui.js76
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/ciframe.html49
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/tmpFrameset.html52
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/wsc.css6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/wsc.js7
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/plugins/xml/plugin.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/skins/kama/dialog.css10
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/skins/kama/editor.css13
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/skins/kama/skin.js7
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/skins/kama/templates.css6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/dialog.css10
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/editor.css14
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/skin.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/templates.css6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/skins/v2/dialog.css9
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/skins/v2/editor.css13
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/skins/v2/skin.js6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/skins/v2/templates.css6
-rw-r--r--rt/share/html/NoAuth/RichText/ckeditor/themes/default/theme.js8
-rw-r--r--rt/share/html/NoAuth/RichText/dhandler69
-rw-r--r--rt/share/html/NoAuth/css/aileron/AfterMenus71
-rw-r--r--rt/share/html/NoAuth/css/aileron/InHeader15
-rw-r--r--rt/share/html/NoAuth/css/aileron/boxes.css180
-rw-r--r--rt/share/html/NoAuth/css/aileron/forms.css80
-rw-r--r--rt/share/html/NoAuth/css/aileron/images/dhandler55
-rw-r--r--rt/share/html/NoAuth/css/aileron/layout.css174
-rw-r--r--rt/share/html/NoAuth/css/aileron/main.css63
-rw-r--r--rt/share/html/NoAuth/css/aileron/misc.css58
-rw-r--r--rt/share/html/NoAuth/css/aileron/msie.css180
-rw-r--r--rt/share/html/NoAuth/css/aileron/msie6.css110
-rw-r--r--rt/share/html/NoAuth/css/aileron/nav.css165
-rw-r--r--rt/share/html/NoAuth/css/aileron/ticket-lists.css238
-rw-r--r--rt/share/html/NoAuth/css/aileron/ticket-search.css242
-rw-r--r--rt/share/html/NoAuth/css/aileron/ticket.css282
-rw-r--r--rt/share/html/NoAuth/css/autohandler21
-rw-r--r--rt/share/html/NoAuth/css/ballard/InHeader4
-rw-r--r--rt/share/html/NoAuth/css/ballard/base.css62
-rw-r--r--rt/share/html/NoAuth/css/ballard/boxes.css189
-rw-r--r--rt/share/html/NoAuth/css/ballard/images/dhandler55
-rw-r--r--rt/share/html/NoAuth/css/ballard/layout.css177
-rw-r--r--rt/share/html/NoAuth/css/ballard/main.css62
-rw-r--r--rt/share/html/NoAuth/css/ballard/misc.css58
-rw-r--r--rt/share/html/NoAuth/css/ballard/msie.css234
-rw-r--r--rt/share/html/NoAuth/css/ballard/msie6.css98
-rw-r--r--rt/share/html/NoAuth/css/ballard/nav.css191
-rw-r--r--rt/share/html/NoAuth/css/ballard/ticket-lists.css237
-rw-r--r--rt/share/html/NoAuth/css/ballard/ticket-search.css244
-rw-r--r--rt/share/html/NoAuth/css/ballard/ticket.css278
-rw-r--r--rt/share/html/NoAuth/css/base/admin.css97
-rw-r--r--rt/share/html/NoAuth/css/base/articles.css54
-rw-r--r--rt/share/html/NoAuth/css/base/collection.css50
-rw-r--r--rt/share/html/NoAuth/css/base/forms.css278
-rw-r--r--rt/share/html/NoAuth/css/base/jquery-ui-timepicker-addon.css19
-rw-r--r--rt/share/html/NoAuth/css/base/jquery-ui.custom.modified.css478
-rw-r--r--rt/share/html/NoAuth/css/base/login.css114
-rw-r--r--rt/share/html/NoAuth/css/base/main.css74
-rw-r--r--rt/share/html/NoAuth/css/base/misc.css117
-rw-r--r--rt/share/html/NoAuth/css/base/msie6.css67
-rw-r--r--rt/share/html/NoAuth/css/base/nav.css64
-rw-r--r--rt/share/html/NoAuth/css/base/portlets.css64
-rw-r--r--rt/share/html/NoAuth/css/base/rights-editor.css177
-rw-r--r--rt/share/html/NoAuth/css/base/superfish-navbar.css95
-rw-r--r--rt/share/html/NoAuth/css/base/superfish-vertical.css23
-rw-r--r--rt/share/html/NoAuth/css/base/superfish.css138
-rw-r--r--rt/share/html/NoAuth/css/base/tablesorter.css52
-rw-r--r--rt/share/html/NoAuth/css/base/theme-editor.css111
-rw-r--r--rt/share/html/NoAuth/css/base/ticket-form.css122
-rw-r--r--rt/share/html/NoAuth/css/base/ticket.css149
-rw-r--r--rt/share/html/NoAuth/css/base/tools.css54
-rw-r--r--rt/share/html/NoAuth/css/base/yui-fonts.css7
-rw-r--r--rt/share/html/NoAuth/css/dhandler2
-rw-r--r--rt/share/html/NoAuth/css/print.css218
-rw-r--r--rt/share/html/NoAuth/css/rudder/AfterMenus71
-rw-r--r--[-rwxr-xr-x]rt/share/html/NoAuth/css/rudder/InHeader (renamed from rt/share/html/Elements/MyRequests)5
-rw-r--r--rt/share/html/NoAuth/css/web2/AfterMenus74
-rw-r--r--rt/share/html/NoAuth/css/web2/InHeader25
-rw-r--r--rt/share/html/NoAuth/css/web2/base.css62
-rw-r--r--rt/share/html/NoAuth/css/web2/boxes.css191
-rw-r--r--rt/share/html/NoAuth/css/web2/images/dhandler55
-rw-r--r--rt/share/html/NoAuth/css/web2/layout.css210
-rw-r--r--rt/share/html/NoAuth/css/web2/main.css62
-rw-r--r--rt/share/html/NoAuth/css/web2/misc.css58
-rw-r--r--rt/share/html/NoAuth/css/web2/msie.css242
-rw-r--r--rt/share/html/NoAuth/css/web2/msie6.css101
-rw-r--r--rt/share/html/NoAuth/css/web2/nav.css292
-rw-r--r--rt/share/html/NoAuth/css/web2/ticket-lists.css237
-rw-r--r--rt/share/html/NoAuth/css/web2/ticket-search.css244
-rw-r--r--rt/share/html/NoAuth/css/web2/ticket.css280
-rw-r--r--rt/share/html/NoAuth/iCal/dhandler68
-rw-r--r--rt/share/html/NoAuth/images/autohandler55
-rw-r--r--rt/share/html/NoAuth/images/test.png2
-rw-r--r--rt/share/html/NoAuth/js/autohandler17
-rw-r--r--rt/share/html/NoAuth/js/cascaded.js152
-rw-r--r--rt/share/html/NoAuth/js/class.js15
-rw-r--r--rt/share/html/NoAuth/js/combobox.js262
-rw-r--r--rt/share/html/NoAuth/js/dhandler4
-rw-r--r--rt/share/html/NoAuth/js/farbtastic.js347
-rw-r--r--rt/share/html/NoAuth/js/jquery-1.4.2.min.js154
-rw-r--r--rt/share/html/NoAuth/js/jquery-ui-1.8.4.custom.min.js274
-rw-r--r--rt/share/html/NoAuth/js/jquery-ui-patch-datepicker.js92
-rw-r--r--rt/share/html/NoAuth/js/jquery-ui-timepicker-addon.js1326
-rw-r--r--rt/share/html/NoAuth/js/jquery.cookie.js89
-rw-r--r--rt/share/html/NoAuth/js/jquery.event.hover-1.0.js85
-rw-r--r--rt/share/html/NoAuth/js/jquery.supposition.js83
-rw-r--r--rt/share/html/NoAuth/js/jquery.tablesorter.min.js16
-rw-r--r--rt/share/html/NoAuth/js/jquery_noconflict.js51
-rw-r--r--rt/share/html/NoAuth/js/late.js49
-rw-r--r--rt/share/html/NoAuth/js/list.js112
-rw-r--r--rt/share/html/NoAuth/js/superfish.js121
-rw-r--r--rt/share/html/NoAuth/js/supersubs.js90
-rw-r--r--rt/share/html/NoAuth/js/userautocomplete.js126
-rw-r--r--rt/share/html/NoAuth/js/util.js372
-rw-r--r--rt/share/html/NoAuth/rss/dhandler35
-rw-r--r--rt/share/html/Prefs/DashboardsInMenu.html113
-rw-r--r--rt/share/html/Prefs/MyRT.html12
-rw-r--r--rt/share/html/Prefs/Other.html6
-rw-r--r--rt/share/html/Prefs/Quicksearch.html13
-rw-r--r--rt/share/html/Prefs/Search.html4
-rw-r--r--rt/share/html/Prefs/SearchOptions.html4
-rw-r--r--rt/share/html/REST/1.0/Forms/group/default49
-rw-r--r--rt/share/html/REST/1.0/Forms/group/ns2
-rwxr-xr-xrt/share/html/REST/1.0/Forms/queue/default9
-rwxr-xr-xrt/share/html/REST/1.0/Forms/queue/ns2
-rwxr-xr-xrt/share/html/REST/1.0/Forms/ticket/attachments32
-rwxr-xr-xrt/share/html/REST/1.0/Forms/ticket/default105
-rwxr-xr-xrt/share/html/REST/1.0/Forms/ticket/history96
-rw-r--r--rt/share/html/REST/1.0/Forms/transaction/default109
-rwxr-xr-xrt/share/html/REST/1.0/Forms/user/default49
-rwxr-xr-xrt/share/html/REST/1.0/Forms/user/ns2
-rwxr-xr-xrt/share/html/REST/1.0/NoAuth/mail-gateway18
-rwxr-xr-xrt/share/html/REST/1.0/dhandler32
-rwxr-xr-xrt/share/html/REST/1.0/search/dhandler245
-rwxr-xr-xrt/share/html/REST/1.0/search/ticket165
-rw-r--r--rt/share/html/Search/Build.html26
-rwxr-xr-xrt/share/html/Search/Bulk.html226
-rw-r--r--rt/share/html/Search/Chart463
-rw-r--r--rt/share/html/Search/Chart.html140
-rw-r--r--rt/share/html/Search/Elements/BuildFormatString13
-rw-r--r--rt/share/html/Search/Elements/Chart105
-rw-r--r--rt/share/html/Search/Elements/ChartTable119
-rw-r--r--rt/share/html/Search/Elements/ConditionRow8
-rw-r--r--rt/share/html/Search/Elements/EditFormat13
-rw-r--r--rt/share/html/Search/Elements/EditSearches20
-rw-r--r--rt/share/html/Search/Elements/EditSort2
-rw-r--r--rt/share/html/Search/Elements/PickBasics26
-rw-r--r--rt/share/html/Search/Elements/PickCFs21
-rw-r--r--rt/share/html/Search/Elements/PickCriteria2
-rw-r--r--rt/share/html/Search/Elements/PickObjectCFs (renamed from rt/share/html/Admin/Elements/PickObjects)57
-rw-r--r--rt/share/html/Search/Elements/PickTicketCFs5
-rw-r--r--rt/share/html/Search/Elements/ResultsRSSView122
-rw-r--r--rt/share/html/Search/Elements/SearchPrivacy6
-rw-r--r--rt/share/html/Search/Elements/SearchesForObject4
-rw-r--r--rt/share/html/Search/Elements/SelectAndOr4
-rw-r--r--[-rwxr-xr-x]rt/share/html/Search/Elements/SelectChartFunction (renamed from rt/share/html/Elements/SelectTicketSortBy)37
-rw-r--r--rt/share/html/Search/Elements/SelectChartType3
-rw-r--r--rt/share/html/Search/Elements/SelectGroup2
-rw-r--r--rt/share/html/Search/Elements/SelectGroupBy26
-rw-r--r--rt/share/html/Search/Elements/SelectLinks19
-rw-r--r--rt/share/html/Search/Elements/SelectPersonType4
-rw-r--r--rt/share/html/Search/Graph.html50
-rwxr-xr-xrt/share/html/Search/Results.html24
-rw-r--r--rt/share/html/Search/Results.tsv66
-rw-r--r--rt/share/html/Search/Simple.html4
-rw-r--r--rt/share/html/Search/index.html50
-rwxr-xr-xrt/share/html/SelfService/Closed.html6
-rwxr-xr-xrt/share/html/SelfService/Create.html43
-rwxr-xr-xrt/share/html/SelfService/Display.html135
-rwxr-xr-xrt/share/html/SelfService/Elements/MyRequests21
-rw-r--r--[-rwxr-xr-x]rt/share/html/SelfService/Helpers/Autocomplete/CustomFieldValues (renamed from rt/share/html/Elements/MyTickets)3
-rw-r--r--rt/share/html/SelfService/Helpers/Autocomplete/Users (renamed from rt/share/html/NoAuth/css/base/jquery-ui.css)2
-rwxr-xr-xrt/share/html/SelfService/Prefs.html6
-rwxr-xr-xrt/share/html/SelfService/Update.html10
-rwxr-xr-xrt/share/html/SelfService/index.html2
-rwxr-xr-xrt/share/html/Ticket/Attachment/dhandler87
-rwxr-xr-xrt/share/html/Ticket/Create.html138
-rw-r--r--rt/share/html/Ticket/Crypt.html (renamed from rt/share/html/Ticket/GnuPG.html)2
-rwxr-xr-xrt/share/html/Ticket/Display.html45
-rw-r--r--rt/share/html/Ticket/Elements/AddAttachments17
-rwxr-xr-xrt/share/html/Ticket/Elements/AddWatchers22
-rw-r--r--rt/share/html/Ticket/Elements/Bookmark44
-rw-r--r--rt/share/html/Ticket/Elements/ClickToShowHistory11
-rw-r--r--[-rwxr-xr-x]rt/share/html/Ticket/Elements/DelayShowHistory (renamed from rt/share/html/Admin/Elements/SelectModifyUser)51
-rwxr-xr-xrt/share/html/Ticket/Elements/EditBasics9
-rwxr-xr-xrt/share/html/Ticket/Elements/EditCustomFields63
-rwxr-xr-xrt/share/html/Ticket/Elements/EditDates1
-rw-r--r--rt/share/html/Ticket/Elements/EditMerge (renamed from rt/share/html/Ticket/Elements/FindTransactions)41
-rwxr-xr-xrt/share/html/Ticket/Elements/EditPeople30
-rw-r--r--rt/share/html/Ticket/Elements/EditTransactionCustomFields11
-rwxr-xr-xrt/share/html/Ticket/Elements/EditWatchers2
-rw-r--r--rt/share/html/Ticket/Elements/LoadTextAttachments45
-rwxr-xr-xrt/share/html/Ticket/Elements/PreviewScrips28
-rw-r--r--rt/share/html/Ticket/Elements/Reminders72
-rw-r--r--rt/share/html/Ticket/Elements/SelectStatus83
-rwxr-xr-xrt/share/html/Ticket/Elements/ShowAttachments32
-rwxr-xr-xrt/share/html/Ticket/Elements/ShowBasics7
-rwxr-xr-xrt/share/html/Ticket/Elements/ShowCustomFields2
-rwxr-xr-xrt/share/html/Ticket/Elements/ShowDates31
-rwxr-xr-xrt/share/html/Ticket/Elements/ShowDependencies66
-rw-r--r--rt/share/html/Ticket/Elements/ShowDependencyStatus78
-rw-r--r--rt/share/html/Ticket/Elements/ShowGroupMembers24
-rwxr-xr-xrt/share/html/Ticket/Elements/ShowHistory161
-rwxr-xr-xrt/share/html/Ticket/Elements/ShowPeople1
-rwxr-xr-xrt/share/html/Ticket/Elements/ShowRequestor40
-rw-r--r--rt/share/html/Ticket/Elements/ShowRequestorExtraInfo40
-rw-r--r--rt/share/html/Ticket/Elements/ShowRequestorTickets36
-rw-r--r--rt/share/html/Ticket/Elements/ShowSimplifiedRecipients15
-rwxr-xr-xrt/share/html/Ticket/Elements/ShowSummary21
-rw-r--r--rt/share/html/Ticket/Elements/ShowTime4
-rwxr-xr-xrt/share/html/Ticket/Elements/ShowTransaction240
-rw-r--r--rt/share/html/Ticket/Elements/ShowUserEntry56
-rw-r--r--rt/share/html/Ticket/Elements/UpdateCc11
-rw-r--r--rt/share/html/Ticket/Forward.html35
-rw-r--r--rt/share/html/Ticket/Graphs/Elements/EditGraphProperties10
-rwxr-xr-xrt/share/html/Ticket/History.html13
-rwxr-xr-xrt/share/html/Ticket/Modify.html51
-rwxr-xr-xrt/share/html/Ticket/ModifyAll.html97
-rwxr-xr-xrt/share/html/Ticket/ModifyDates.html7
-rwxr-xr-xrt/share/html/Ticket/ModifyLinks.html18
-rwxr-xr-xrt/share/html/Ticket/ModifyPeople.html9
-rwxr-xr-xrt/share/html/Ticket/Reminders.html7
-rw-r--r--rt/share/html/Ticket/ShowEmailRecord.html59
-rwxr-xr-xrt/share/html/Ticket/Update.html62
-rw-r--r--rt/share/html/Tools/MyDay.html5
-rw-r--r--rt/share/html/Tools/Offline.html165
-rw-r--r--rt/share/html/User/Elements/Portlets/ActiveTickets (renamed from rt/share/html/Elements/ShowUserConcise)35
-rw-r--r--[-rwxr-xr-x]rt/share/html/User/Elements/Portlets/CreateTicket (renamed from rt/share/html/Admin/Elements/EditUserComments)14
-rw-r--r--[-rwxr-xr-x]rt/share/html/User/Elements/Portlets/ExtraInfo (renamed from rt/share/html/Elements/SelectTicketTypes)14
-rw-r--r--[-rwxr-xr-x]rt/share/html/User/Elements/Portlets/InactiveTickets (renamed from rt/share/html/Admin/Elements/SelectModifyGroup)25
-rw-r--r--rt/share/html/User/Elements/TicketList115
-rw-r--r--[-rwxr-xr-x]rt/share/html/User/Elements/UserInfo (renamed from rt/share/html/Admin/Elements/QueueRightsForUser)26
-rw-r--r--[-rwxr-xr-x]rt/share/html/User/History.html (renamed from rt/share/html/Admin/Elements/SelectSingleOrMultiple)26
-rwxr-xr-xrt/share/html/User/Prefs.html27
-rw-r--r--rt/share/html/User/Search.html101
-rw-r--r--rt/share/html/User/Summary.html (renamed from rt/share/html/Ticket/Elements/FindAttachments)80
-rw-r--r--rt/share/html/Widgets/ComboBox2
-rw-r--r--rt/share/html/Widgets/Form/Select4
-rw-r--r--rt/share/html/Widgets/SavedSearch7
-rw-r--r--rt/share/html/Widgets/SelectionBox121
-rwxr-xr-xrt/share/html/Widgets/TitleBoxStart4
-rwxr-xr-xrt/share/html/autohandler5
-rwxr-xr-xrt/share/html/index.html49
-rw-r--r--rt/share/html/m/_elements/footer2
-rw-r--r--rt/share/html/m/_elements/header8
-rw-r--r--rt/share/html/m/_elements/login9
-rw-r--r--rt/share/html/m/_elements/raw_style500
-rw-r--r--rt/share/html/m/_elements/ticket_list6
-rw-r--r--rt/share/html/m/ticket/create82
-rw-r--r--rt/share/html/m/ticket/history2
-rw-r--r--rt/share/html/m/ticket/reply19
-rw-r--r--rt/share/html/m/ticket/show57
-rw-r--r--rt/share/html/m/tickets/search19
733 files changed, 9062 insertions, 24483 deletions
diff --git a/rt/share/html/Admin/Articles/Classes/Modify.html b/rt/share/html/Admin/Articles/Classes/Modify.html
index 7dcc779..17a9ae7 100644
--- a/rt/share/html/Admin/Articles/Classes/Modify.html
+++ b/rt/share/html/Admin/Articles/Classes/Modify.html
@@ -68,29 +68,60 @@
</tr>
<tr>
<td>&nbsp;</td>
-<td><input type="checkbox" name="Enabled" value="1" <%$EnabledChecked%>> <&|/l&>Enabled (Unchecking this box disables this class)</&></td>
+<td>
+ <input type="checkbox" id="Enabled" name="Enabled" value="1" <%$EnabledChecked%>>
+ <label for="Enabled"><&|/l&>Enabled (Unchecking this box disables this class)</&></label>
+</td>
</tr>
<tr>
<td>&nbsp;</td>
-<td><input type="checkbox" name="HotList" value="1" <%$HotListChecked%>> <&|/l&>All Articles in this class should be listed in a dropdown of the ticket reply page</&></td>
+<td>
+ <input type="checkbox" id="HotList" name="HotList" value="1" <%$HotListChecked%>>
+ <label for="HotList"><&|/l&>All Articles in this class should be listed in a dropdown of the ticket reply page</&></label>
+</td>
</tr>
</table>
-<h3>When inserting articles in this class into emails:</h3>
+<h3><&|/l&>When inserting articles in this class into emails:</&></h3>
<ul>
-<li><input type="checkbox" name="Include-Name" value="1" <% $include{Name} %>> Include article name</li>
-<li><input type="checkbox" name="Include-Summary" value="1" <% $include{Summary} %>> Include article summary</li>
+<li>
+ <input type="checkbox" id="Include-Name" name="Include-Name" value="1" <% $include{Name} %>>
+ <label for="Include-Name"><&|/l&>Include article name</&></label>
+</li>
+<li>
+ <input type="checkbox" id="Include-Summary" name="Include-Summary" value="1" <% $include{Summary} %>>
+ <label for="Include-Summary"><&|/l&>Include article summary</&></label>
+</li>
% if ( $cfs ) {
% while (my $cf = $cfs->Next) {
-<li>Include custom field '<% $cf->Name %>'
+<li><&|/l, $cf->Name &>Include custom field '[_1]'</&>
<ul>
- <li><input type="checkbox" name="Include-CF-Title-<% $cf->Id %>" <% $include{"CF-Title-".$cf->Id} %> />Title</li>
- <li><input type="checkbox" name="Include-CF-Value-<% $cf->Id %>" <% $include{"CF-Value-".$cf->Id} %> />Value</li>
+ <li>
+ <input type="checkbox" id="Include-CF-Title-<% $cf->Id %>" name="Include-CF-Title-<% $cf->Id %>" <% $include{"CF-Title-".$cf->Id} %> />
+ <label for="Include-CF-Title-<% $cf->Id %>"><&|/l&>Title</&></label>
+ </li>
+ <li>
+ <input type="checkbox" id="Include-CF-Value-<% $cf->Id %>" name="Include-CF-Value-<% $cf->Id %>" <% $include{"CF-Value-".$cf->Id} %> />
+ <label for="Include-CF-Value-<% $cf->Id %>"><&|/l&>Value</&></label>
+ </li>
</ul>
</li>
% } }
</ul>
+% if ( @$subject_cfs ) {
+<h3><&|/l&>Change email subject:</&></h3>
+<p><&|/l&>If a Custom Field is selected, the Subject of your outgoing email will be overridden by this article.</&></p>
+
+<& /Widgets/Form/Select,
+ Name => 'SubjectOverride',
+ DefaultLabel => loc('No Subject Override'),
+ Values => $subject_cfs,
+ ValuesLabel => $subject_cf_labels,
+ CurrentValue => $ClassObj->SubjectOverride,
+&>
+% }
+
%$m->callback( CallbackName => 'BeforeSubmit', CustomFields => $cfs, ClassObj => $ClassObj );
% if ( $Create ) {
@@ -132,8 +163,17 @@ if ($Create) {
}
if ($ClassObj->Id()) {
+
+ if ($ARGS{SubjectOverride}) {
+ $ARGS{SubjectOverride} = $m->comp('/Widgets/Form/Select:Process',
+ Arguments => \%ARGS,
+ Name => 'SubjectOverride',
+ DefaultValue => (''),
+ );
+ }
+
$ARGS{HotList} ||= 0 if $Submitted;
- my @attribs= qw(Description Name HotList);
+ my @attribs= qw(Description Name HotList SubjectOverride);
$m->callback( CallbackName => 'AttributeList', Attributes => \@attribs, ARGSRef => \%ARGS );
push @results, UpdateRecordObject( AttributesRef => \@attribs,
Object => $ClassObj,
@@ -148,11 +188,17 @@ if ((defined $Enabled && $Enabled == 1) or (not defined $Enabled and $Create)) {
}
my %include = (Name => 1, Summary => 1);
+my $subject_cfs = [];
+my $subject_cf_labels = {};
my $cfs;
if ( $ClassObj->id ) {
$cfs = $ClassObj->ArticleCustomFields;
- $include{"CF-Title-".$_->Id} = $include{"CF-Value-".$_->Id} = 1 while $_ = $cfs->Next;
+ while ( my $cf = $cfs->Next ) {
+ $include{"CF-Title-".$cf->Id} = $include{"CF-Value-".$cf->Id} = 1;
+ push @$subject_cfs,$cf->Id;
+ $subject_cf_labels->{$cf->Id} = $cf->Name;
+ }
}
if ( $ClassObj->id && $Submitted ) {
diff --git a/rt/share/html/Admin/Articles/Classes/Objects.html b/rt/share/html/Admin/Articles/Classes/Objects.html
index 62c5725..37a3617 100644
--- a/rt/share/html/Admin/Articles/Classes/Objects.html
+++ b/rt/share/html/Admin/Articles/Classes/Objects.html
@@ -54,13 +54,13 @@
% if ( $is_global ) {
<h2><&|/l&>Applies to all objects</&></h2>
-<input type="checkbox" name="RemoveClass-<% $Class->id %>" value="0" />
-<&|/l&>check this box to remove this Class globally and be able to choose specific Queues.</&>
+<input type="checkbox" id="RemoveClass-<% $Class->id %>" name="RemoveClass-<% $Class->id %>" value="0" />
+<label for="RemoveClass-<% $Class->id %>"><&|/l&>check this box to remove this Class globally and be able to choose specific Queues.</&></label>
% } else {
<h2><&|/l&>Apply globally</&></h2>
-<input type="checkbox" name="AddClass-<% $Class->id %>" value="0" />
-<&|/l&>check this box to apply this Class globally to all Queues.</&>
+<input type="checkbox" id="AddClass-<% $Class->id %>" name="AddClass-<% $Class->id %>" value="0" />
+<label for="AddClass-<% $Class->id %>"><&|/l&>check this box to apply this Class globally to all Queues.</&></label>
<h2><&|/l&>Selected Queues</&></h2>
<& /Elements/CollectionList,
@@ -85,7 +85,7 @@
Order => 'ASC',
%ARGS,
Collection => $not_applied,
- Rows => 50,
+ Rows => $rows,
Format => $format,
DisplayFormat => "'__CheckBox.{AddClass-". $Class->id ."}__',". $format,
AllowSorting => 1,
@@ -143,6 +143,7 @@ $collection_class =~ s/^RT:://;
my $format = RT->Config->Get('AdminSearchResultFormat')->{$collection_class}
|| '__id__,__Name__';
+my $rows = RT->Config->Get('AdminSearchResultRows')->{$collection_class} || 50;
my $title = loc('Modify associated objects for [_1]', $Class->Name);
diff --git a/rt/share/html/Admin/Articles/Classes/index.html b/rt/share/html/Admin/Articles/Classes/index.html
index 97d77c6..6158bcb 100644
--- a/rt/share/html/Admin/Articles/Classes/index.html
+++ b/rt/share/html/Admin/Articles/Classes/index.html
@@ -56,6 +56,7 @@
<& /Elements/CollectionList,
OrderBy => 'Name',
Order => 'ASC',
+ Rows => $Rows,
%ARGS,
Format => $Format,
Collection => $Classes,
@@ -65,7 +66,8 @@
% }
<form method="post" action="<% RT->Config->Get('WebPath') %>/Admin/Articles/Classes/index.html">
-<input type="checkbox" name="FindDisabledClasses" value="1" /><&|/l&>Include disabled classes in listing.</&><br />
+<input type="checkbox" id="FindDisabledClasses" name="FindDisabledClasses" value="1" />
+<label for="FindDisabledClasses"><&|/l&>Include disabled classes in listing.</&></label><br />
<div align="right"><input type="submit" value="<&|/l&>Go!</&>" /></div>
</form>
<%INIT>
@@ -83,6 +85,7 @@ if ($FindDisabledClasses) {
}
$Format ||= RT->Config->Get('AdminSearchResultFormat')->{'Classes'};
+my $Rows = RT->Config->Get('AdminSearchResultRows')->{'Classes'} || 50;
</%INIT>
<%ARGS>
diff --git a/rt/share/html/Admin/Articles/index.html b/rt/share/html/Admin/Articles/index.html
index 3aabaa9..b3d6a9a 100644
--- a/rt/share/html/Admin/Articles/index.html
+++ b/rt/share/html/Admin/Articles/index.html
@@ -47,4 +47,4 @@
%# END BPS TAGGED BLOCK }}}
<& /Elements/Header, Title => loc('Article Administration') &>
<& /Elements/Tabs &>
-<& /Elements/ListMenu, menu => Menu()->child('tools')->child('config')->child('articles') &>
+<& /Elements/ListMenu, menu => Menu()->child('admin')->child('articles') &>
diff --git a/rt/share/html/Admin/CustomFields/GroupRights.html b/rt/share/html/Admin/CustomFields/GroupRights.html
index 2e0b5b0..96024d7 100644
--- a/rt/share/html/Admin/CustomFields/GroupRights.html
+++ b/rt/share/html/Admin/CustomFields/GroupRights.html
@@ -70,7 +70,7 @@ my @results = ProcessACLs( \%ARGS );
my $title = loc('Modify group rights for custom field [_1]', $CustomFieldObj->Name);
# Principal collections
-my @principals = GetPrincipalsMap($CustomFieldObj, qw(System Groups));
+my @principals = GetPrincipalsMap($CustomFieldObj, qw(System Roles Groups));
</%INIT>
<%ARGS>
diff --git a/rt/share/html/Admin/CustomFields/Modify.html b/rt/share/html/Admin/CustomFields/Modify.html
index f9ca71c..ae27c58 100644
--- a/rt/share/html/Admin/CustomFields/Modify.html
+++ b/rt/share/html/Admin/CustomFields/Modify.html
@@ -45,7 +45,12 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<& /Admin/Elements/Header, Title => $title &>
+<& /Admin/Elements/Header,
+ Title => $title,
+ Focus => (($added_cfv or $ARGS{FocusAddValue})
+ ? "input[name=CustomField-$id-Value-new-Name]"
+ : undef),
+ &>
<& /Elements/Tabs &>
<& /Elements/ListActions, actions => \@results &>
@@ -125,7 +130,7 @@
<i><&|/l&>Some browsers may only load content from the same domain as your RT server.</&></i>
</div></td></tr>
-% if ( $CustomFieldObj->Id && $CustomFieldObj->IsSelectionType && !$CustomFieldObj->IsExternalValues ) {
+% if ( $CustomFieldObj->Id && $CustomFieldObj->IsSelectionType ) {
<tr class="categoriesbasedon"><td class="label"><&|/l&>Categories are based on</&></td><td>
<& /Admin/Elements/SelectCustomField,
Name => "BasedOn",
@@ -150,8 +155,8 @@
<tr><td class="label">&nbsp;</td><td>
<input type="hidden" class="hidden" name="SetEnabled" value="1" />
-<input type="checkbox" class="checkbox" name="Enabled" value="1" <% $EnabledChecked |n%> />
-<&|/l&>Enabled (Unchecking this box disables this custom field)</&>
+<input type="checkbox" class="checkbox" id="Enabled" name="Enabled" value="1" <% $EnabledChecked |n %> />
+<label for="Enabled"><&|/l&>Enabled (Unchecking this box disables this custom field)</&></label>
</td></tr>
% $m->callback(CallbackName => 'EndOfTable', CustomField => $CustomFieldObj, CFvalidations => \@CFvalidations);
@@ -170,7 +175,7 @@
</form>
<%INIT>
-my ($title, @results);
+my ($title, @results, $added_cfv);
my $CustomFieldObj = RT::CustomField->new( $session{'CurrentUser'} );
@@ -191,7 +196,7 @@ else {
LinkValueTo => $LinkValueTo,
IncludeContentForValue => $IncludeContentForValue,
BasedOn => $BasedOn,
- Disabled => !$Enabled,
+ Disabled => ($Enabled ? 0 : 1),
NoClone => !$YesClone,
);
if (!$val) {
@@ -306,6 +311,7 @@ if ( $ARGS{'Update'} && $id ne 'new' ) {
$_ => $ARGS{ $paramtag ."-new-$_" } } qw/ Name Description SortOrder Category/
);
push (@results, $msg);
+ $added_cfv = 1 if $id;
my $cfv = RT::CustomFieldValue->new( $session{CurrentUser} );
$cfv->Load($id);
@@ -314,12 +320,27 @@ CustomFieldObj => $CustomFieldObj, CustomFieldValueObj => $cfv, ARGSRef => \%ARG
}
}
+if ( $CustomFieldObj->id && $CustomFieldObj->IsOnlyGlobal ) {
+ my ( $ret, $msg );
+ my $object = $CustomFieldObj->RecordClassFromLookupType->new( $session{'CurrentUser'} );
+
+ if ( $CustomFieldObj->Disabled && $CustomFieldObj->IsGlobal ) {
+ ( $ret, $msg ) = $CustomFieldObj->RemoveFromObject($object);
+ }
+ elsif ( !$CustomFieldObj->Disabled && !$CustomFieldObj->IsGlobal ) {
+ ( $ret, $msg ) = $CustomFieldObj->AddToObject($object);
+ }
+
+ # successful msg("object created" or "object deleted ) is useless here
+ push @results, $msg unless $ret;
+}
+
$id = $CustomFieldObj->id if $CustomFieldObj->id;
# This code does automatic redirection if any updates happen.
MaybeRedirectForResults(
Actions => \@results,
- Arguments => { id => $id },
+ Arguments => { id => $id, FocusAddValue => ($added_cfv ? 1 : 0) },
) if $CustomFieldObj->id;
diff --git a/rt/share/html/Admin/CustomFields/Objects.html b/rt/share/html/Admin/CustomFields/Objects.html
index aac2094..2e0a3dc 100644
--- a/rt/share/html/Admin/CustomFields/Objects.html
+++ b/rt/share/html/Admin/CustomFields/Objects.html
@@ -53,23 +53,23 @@
<form action="Objects.html" method="post">
<input type="hidden" class="hidden" name="id" value="<% $id %>" />
-% if ( $is_global ) {
+% if ( $CF->IsGlobal ) {
<h2><&|/l&>Applies to all objects</&></h2>
-<input type="checkbox" name="RemoveCustomField-<% $CF->id %>" value="0" />
-<&|/l&>check this box to remove this Custom Field from all objects and be able to choose specific objects.</&>
+<input type="checkbox" id="RemoveCustomField-<% $CF->id %>" name="RemoveCustomField-<% $CF->id %>" value="0" />
+<label for="RemoveCustomField-<% $CF->id %>"><&|/l&>check this box to remove this Custom Field from all objects and be able to choose specific objects.</&></label>
% } else {
<h2><&|/l&>Apply globally</&></h2>
-<input type="checkbox" name="AddCustomField-<% $CF->id %>" value="0" />
-<&|/l&>check this box to apply this Custom Field to all objects.</&>
+<input type="checkbox" id="AddCustomField-<% $CF->id %>" name="AddCustomField-<% $CF->id %>" value="0" />
+<label for="AddCustomField-<% $CF->id %>"><&|/l&>check this box to apply this Custom Field to all objects.</&></label>
-% unless ( $CF->ApplyGlobally ) {
+% unless ( $CF->IsOnlyGlobal ) {
<h2><&|/l&>Selected objects</&></h2>
<& /Elements/CollectionList,
OrderBy => 'id',
Order => 'ASC',
%ARGS,
- Collection => $applied,
+ Collection => $added,
Rows => 0,
Page => 1,
Format => $format,
@@ -86,8 +86,8 @@
OrderBy => 'id',
Order => 'ASC',
%ARGS,
- Collection => $not_applied,
- Rows => 50,
+ Collection => $not_added,
+ Rows => $rows,
Format => $format,
DisplayFormat => "'__CheckBox.{AddCustomField-". $CF->id ."}__',". $format,
AllowSorting => 1,
@@ -141,16 +141,15 @@ if ( $UpdateObjs ) {
}
}
-my $is_global = $CF->IsApplied(0);
+my $added = $CF->AddedTo;
+my $not_added = $CF->NotAddedTo;
-my $applied = $CF->AppliedTo;
-my $not_applied = $CF->NotAppliedTo;
-
-my $collection_class = ref($applied);
+my $collection_class = ref($added);
$collection_class =~ s/^RT:://;
my $format = RT->Config->Get('AdminSearchResultFormat')->{$collection_class}
|| '__id__,__Name__';
+my $rows = RT->Config->Get('AdminSearchResultRows')->{$collection_class} || 50;
my $title = loc('Modify associated objects for [_1]', $CF->Name);
diff --git a/rt/share/html/Admin/CustomFields/index.html b/rt/share/html/Admin/CustomFields/index.html
index e8687ed..cd9884f 100644
--- a/rt/share/html/Admin/CustomFields/index.html
+++ b/rt/share/html/Admin/CustomFields/index.html
@@ -49,24 +49,7 @@
<& /Elements/Tabs &>
% my $tmp = RT::CustomField->new( $session{'CurrentUser'} );
-% if ( $Type ) {
-<h2><% loc("Custom Fields for [_1]", $tmp->FriendlyLookupType( $Type )) %></h2>
-% }
-
-<& /Elements/CollectionList,
- OrderBy => 'LookupType|Name',
- Order => 'ASC|ASC',
- Rows => 50,
- %ARGS,
- Collection => $CustomFields,
- Format => $Format,
- DisplayFormat => ($Type? '' : '__FriendlyLookupType__,'). $Format,
- AllowSorting => 1,
- PassArguments => [
- qw(Format Rows Page Order OrderBy),
- qw(Type ShowDisabled)
- ],
-&>
+<h1><% $Type ? loc("Custom Fields for [_1]", $Type) : loc('All Custom Fields') %></h1>
<form action="<%RT->Config->Get('WebPath')%>/Admin/CustomFields/index.html" method="get">
<&|/l&>Only show custom fields for:</&>
@@ -77,15 +60,30 @@
% }
</select>
<br />
-<input type="checkbox" class="checkbox" name="ShowDisabled" value="1" <% $ShowDisabled && 'checked="checked"' |n%> />
-<&|/l&>Include disabled custom fields in listing.</&>
+<input type="checkbox" class="checkbox" id="ShowDisabled" name="ShowDisabled" value="1" <% $ShowDisabled && 'checked="checked"' |n %> />
+<label for="ShowDisabled"><&|/l&>Include disabled custom fields in listing.</&></label>
<br />
% $m->callback(CallbackName => 'BeforeSubmit');
-<input type="submit" value="<% loc('Go!') %>" />
+<div align="right"><input type="submit" value="<% loc('Go!') %>" /></div>
</form>
+<& /Elements/CollectionList,
+ OrderBy => 'LookupType|Name',
+ Order => 'ASC|ASC',
+ Rows => $Rows,
+ %ARGS,
+ Collection => $CustomFields,
+ Format => $Format,
+ DisplayFormat => ($Type? '' : '__FriendlyLookupType__,'). $Format,
+ AllowSorting => 1,
+ PassArguments => [
+ qw(Format Rows Page Order OrderBy),
+ qw(Type ShowDisabled)
+ ],
+&>
+
<%args>
$Type => ''
$ShowDisabled => 0
@@ -95,12 +93,6 @@ $Format => undef
<%INIT>
my $title = loc('Select a Custom Field');
-$Type ||= $ARGS{'type'} || '';
-if ( !$Type && $ARGS{'type'} ) {
- $Type ||= $ARGS{'type'};
- $RT::Logger->warning("'type' argument is deprecated use 'Type' instead");
-}
-
my $CustomFields = RT::CustomFields->new($session{'CurrentUser'});
$CustomFields->UnLimit;
$CustomFields->FindAllRows if $ShowDisabled;
@@ -109,5 +101,6 @@ $CustomFields->LimitToLookupType( $Type ) if $Type;
$m->callback(CallbackName => 'MassageCustomFields', CustomFields => $CustomFields);
$Format ||= RT->Config->Get('AdminSearchResultFormat')->{'CustomFields'};
+my $Rows = RT->Config->Get('AdminSearchResultRows')->{'CustomFields'} || 50;
</%INIT>
diff --git a/rt/share/html/Admin/Global/Scrip.html b/rt/share/html/Admin/Elements/ConfigureDashboardsInMenu
index 057032a..2b16af5 100755..100644
--- a/rt/share/html/Admin/Global/Scrip.html
+++ b/rt/share/html/Admin/Elements/ConfigureDashboardsInMenu
@@ -45,19 +45,32 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<& /Admin/Elements/Header, Title => $title &>
-<& /Elements/Tabs &>
-<& /Elements/ListActions, actions => \@results &>
-<& /Admin/Elements/EditScrip, title => $title, %ARGS, id => $id &>
-
+<%args>
+$Action
+$OnSave
+$items
+$panes
+$current_portlets
+$ReadOnly => 0
+</%args>
<%init>
-my ($id, @results) = $m->comp( '/Admin/Elements/EditScrip:Process', %ARGS );
-
-my ($title);
-if ( $id ) {
- $title = loc("Modify a scrip that applies to all queues");
-}
-else {
- $title = loc("Add a scrip which will apply to all queues");
+my $portlets = $current_portlets;
+my @panes;
+for my $pane (@$panes) {
+ push @panes, $m->comp(
+ '/Widgets/SelectionBox:new',
+ Action => $Action,
+ Name => $pane,
+ Available => $items,
+ AutoSave => 1,
+ ReadOnly => $ReadOnly,
+ OnSubmit => sub {
+ my $sel = shift;
+ $OnSave->( { dashboards => $sel->{Current} } );
+ },
+ Selected => $portlets,
+ );
}
+
+return @panes;
</%init>
diff --git a/rt/share/html/Admin/Elements/EditCustomField b/rt/share/html/Admin/Elements/EditCustomField
index d58bed5..500e911 100755
--- a/rt/share/html/Admin/Elements/EditCustomField
+++ b/rt/share/html/Admin/Elements/EditCustomField
@@ -71,7 +71,8 @@
<tr><td>
</td><td>
<input type="hidden" class="hidden" name="SetEnabled" value="1" />
-<input type="checkbox" class="checkbox" name="Enabled" value="1" <%$EnabledChecked%> /> <&|/l&>Enabled (Unchecking this box disables this custom field)</&>
+<input type="checkbox" class="checkbox" id="Enabled" name="Enabled" value="1" <%$EnabledChecked%> />
+<label for="Enabled"><&|/l&>Enabled (Unchecking this box disables this custom field)</&></label>
</td></tr>
</table>
@@ -100,19 +101,19 @@ if (! $CustomField ) {
} else {
if ($CustomField eq 'new') {
- my ($val, $msg) = $CustomFieldObj->Create(Queue => $Queue,
- Name => $Name,
+ my ($val, $msg) = $CustomFieldObj->Create(Queue => $Queue,
+ Name => $Name,
Type => $Type,
Description => $Description,
- );
-
+ );
+
# if there is an error, then abort. But since at this point there's
# stuff already printed, clear it out.
# (This only works in conjunction with temporarily turning autoflush
# off in the files that use this component.)
unless ($val) {
- $m->clear_buffer;
- Abort(loc("Could not create CustomField: [_1]", $msg), SuppressHeader => 1);
+ $m->clear_buffer;
+ Abort(loc("Could not create CustomField: [_1]", $msg), SuppressHeader => 1);
}
push @results, $msg;
$CustomFieldObj->SetSortOrder($CustomFieldObj->id);
diff --git a/rt/share/html/Admin/Elements/EditCustomFieldValuesSource b/rt/share/html/Admin/Elements/EditCustomFieldValuesSource
index 79029ca..2198e4c 100644
--- a/rt/share/html/Admin/Elements/EditCustomFieldValuesSource
+++ b/rt/share/html/Admin/Elements/EditCustomFieldValuesSource
@@ -60,9 +60,7 @@ my @sources;
foreach my $class( 'RT::CustomFieldValues', RT->Config->Get('CustomFieldValuesSources') ) {
next unless $class;
- local $@;
- eval "require $class";
- if( $@ ) {
+ unless ($class->require) {
$RT::Logger->crit("Couldn't load class '$class': $@");
next;
}
diff --git a/rt/share/html/Admin/Elements/EditCustomFields b/rt/share/html/Admin/Elements/EditCustomFields
index 904a82c..5ad1ec5 100755
--- a/rt/share/html/Admin/Elements/EditCustomFields
+++ b/rt/share/html/Admin/Elements/EditCustomFields
@@ -55,7 +55,7 @@
<h2><&|/l&>Selected Custom Fields</&></h2>
<& /Elements/CollectionList,
%ARGS,
- Collection => $applied_cfs,
+ Collection => $added_cfs,
Rows => 0,
Page => 1,
Format => $format,
@@ -73,8 +73,8 @@
OrderBy => 'Name',
Order => 'ASC',
%ARGS,
- Collection => $not_applied_cfs,
- Rows => 50,
+ Collection => $not_added_cfs,
+ Rows => $rows,
Format => $format,
DisplayFormat => "'__CheckBox.{AddCustomField}__',". $format,
AllowSorting => 1,
@@ -152,17 +152,18 @@ if ( $UpdateCFs ) {
$m->callback(CallbackName => 'UpdateExtraFields', Results => \@results, Object => $Object, %ARGS);
-my $applied_cfs = RT::CustomFields->new( $session{'CurrentUser'} );
-$applied_cfs->LimitToLookupType($lookup);
-$applied_cfs->LimitToGlobalOrObjectId($id);
-$applied_cfs->SetContextObject( $Object );
-$applied_cfs->ApplySortOrder;
+my $added_cfs = RT::CustomFields->new( $session{'CurrentUser'} );
+$added_cfs->LimitToLookupType($lookup);
+$added_cfs->LimitToGlobalOrObjectId($id);
+$added_cfs->SetContextObject( $Object );
+$added_cfs->ApplySortOrder;
-my $not_applied_cfs = RT::CustomFields->new( $session{'CurrentUser'} );
-$not_applied_cfs->LimitToLookupType($lookup);
-$not_applied_cfs->LimitToNotApplied( $id ? ($id, 0) : (0) );
+my $not_added_cfs = RT::CustomFields->new( $session{'CurrentUser'} );
+$not_added_cfs->LimitToLookupType($lookup);
+$not_added_cfs->LimitToNotAdded( $id ? ($id, 0) : (0) );
my $format = RT->Config->Get('AdminSearchResultFormat')->{'CustomFields'};
+my $rows = RT->Config->Get('AdminSearchResultRows')->{'CustomFields'} || 50;
my $display_format = $id
? ("'__RemoveCheckBox.{$id}__',". $format .", '__MoveCF.{$id}__'")
diff --git a/rt/share/html/Admin/Elements/EditQueueWatchers b/rt/share/html/Admin/Elements/EditQueueWatchers
index 98c1393..c4c1a6f 100755
--- a/rt/share/html/Admin/Elements/EditQueueWatchers
+++ b/rt/share/html/Admin/Elements/EditQueueWatchers
@@ -52,13 +52,12 @@
<ul>
% while (my $watcher=$Members->Next) {
<li>
-<input type="checkbox" class="checkbox" name="Queue-<%$QueueObj->Id%>-DeleteWatcher-Type-<%$Watchers->Type%>-Principal-<%$watcher->MemberId%>" value="1"
+<input type="checkbox" class="checkbox" name="Queue-<%$QueueObj->Id%>-DeleteWatcher-Type-<%$Watchers->Name%>-Principal-<%$watcher->MemberId%>" value="1"
unchecked />
% if ($watcher->MemberObj->IsUser) {
-<a href="<%RT->Config->Get('WebPath')%>/Admin/Users/Modify.html?id=<%$watcher->MemberObj->ObjectId%>">
-<& /Elements/ShowUser, User => $watcher->MemberObj->Object &></a>
+<& /Elements/ShowUser, User => $watcher->MemberObj->Object &>
% } else {
-<a href="<%RT->Config->Get('WebPath')%>/Admin/Groups/Modify.html?id=<%$watcher->MemberObj->ObjectId%>">
+<a href="<%RT->Config->Get('WebPath')%>/Admin/Groups/Modify.html?id=<%$watcher->MemberObj->Id%>">
<%$watcher->MemberObj->Object->Name%></a>
% }
% }
diff --git a/rt/share/html/Admin/Elements/EditRights b/rt/share/html/Admin/Elements/EditRights
index ff8aece..bd86131 100644
--- a/rt/share/html/Admin/Elements/EditRights
+++ b/rt/share/html/Admin/Elements/EditRights
@@ -51,8 +51,6 @@ $Principals
$AddPrincipal => undef
</%args>
<%init>
-use Scalar::Util qw(blessed);
-
# Let callbacks get at principals and context before we do anything with them
$m->callback( Principals => $Principals, Context => $Context );
@@ -94,22 +92,23 @@ if ($anchor =~ /AddPrincipal/) {
sync_anchor(<% $anchor |n,j %>);
jQuery(".rights-editor").tabs({
- select: function(ev, ui) {
- sync_anchor(ui.tab.hash);
- if ( jQuery(ui.tab).find('input[type=text]').size() > 0 ) {
- jQuery(ui.tab).find('input[type=text]:first').focus();
+ beforeActivate: function(ev, ui) {
+ sync_anchor(ui.newPanel.selector);
+ if ( ui.newTab.find('input[type=text]').size() > 0 ) {
+ ui.newTab.find('input[type=text]:first').focus();
}
}
});
jQuery(".rights-editor .category-tabs").tabs({
- cookie: { name: "rights-category-tab" /* saves current tab in cookie */ },
- show: function(ev, ui) {
+ active: jQuery.cookie('rights-category-tab') || 0,
+ activate: function(ev, ui) {
+ jQuery.cookie('rights-category-tab', ui.newTab.index());
jQuery(".rights-editor .category-tabs").not(this).each(function() {
var item = jQuery(this);
- var selected = item.tabs("option", "selected") || 0;
- if (selected != ui.index)
- item.tabs("select", ui.index);
+ var selected = item.tabs("option", "active") || 0;
+ if (selected != ui.newTab.index())
+ item.tabs("option", "active", ui.newTab.index());
});
}
});
@@ -140,21 +139,23 @@ for my $category (@$Principals) {
<li class="addprincipal">
<a href="#acl-AddPrincipal">
<input type="text" value=""
+ data-autocomplete="<% lc $AddPrincipal eq 'user' ? 'Users' : 'Groups' %>"
+% if ( lc $AddPrincipal eq 'user' ) {
+ data-autocomplete-return="Name"
+ data-autocomplete-privileged="1"
+% }
name="AddPrincipalForRights-<% lc $AddPrincipal %>"
id="AddPrincipalForRights-<% lc $AddPrincipal %>" />
<script type="text/javascript">
jQuery(function() {
jQuery("#AddPrincipalForRights-"+<% lc $AddPrincipal |n,j%>).keyup(function(){
toggle_addprincipal_validity(this, true);
+ }).keydown(function(event){
+ event.stopPropagation() // Disable tabs keyboard nav
});
-% if (lc $AddPrincipal eq 'group') {
- jQuery("#AddPrincipalForRights-"+<% lc $AddPrincipal |n,j%>).autocomplete({
- source: <% RT->Config->Get('WebPath') |n,j%>+"/Helpers/Autocomplete/Groups",
- select: addprincipal_onselect,
- change: addprincipal_onchange
- });
-% }
+ jQuery("#AddPrincipalForRights-"+<% lc $AddPrincipal |n,j%>).on("autocompleteselect", addprincipal_onselect);
+ jQuery("#AddPrincipalForRights-"+<% lc $AddPrincipal |n,j%>).on("autocompletechange", addprincipal_onchange);
});
</script>
% my $type = lc $AddPrincipal eq 'user' ? loc('username') : loc($AddPrincipal);
@@ -180,7 +181,7 @@ for my $category (@$Principals) {
if ($obj->isa('RT::Group') and $obj->Domain eq 'UserDefined') {
my $subgroups = $obj->GroupMembersObj( Recursively => 1 );
$subgroups->LimitToUserDefinedGroups;
- $subgroups->Limit( FIELD => 'Name', OPERATOR => '!=', VALUE => $obj->Name );
+ $subgroups->Limit( FIELD => 'Name', OPERATOR => '!=', VALUE => $obj->Name, CASESENSITIVE => 0 );
if ( $subgroups->Count ) {
my $inc = join ", ", map $_->Name, @{$subgroups->ItemsArrayRef};
diff --git a/rt/share/html/Admin/Elements/EditRightsCategoryTabs b/rt/share/html/Admin/Elements/EditRightsCategoryTabs
index b6eb189..6174e68 100644
--- a/rt/share/html/Admin/Elements/EditRightsCategoryTabs
+++ b/rt/share/html/Admin/Elements/EditRightsCategoryTabs
@@ -52,15 +52,10 @@ $id
$acldesc => ''
</%args>
<%init>
-# XXX OPTIMIZATION: Moving the calls to AvailableRights and RightCategories up
-# one component to avoid calling them for every principal would be a win, but
-# it's cleaner to do it here. The values can really be computed once per
-# $Context.
-
# Find all our available rights...
my (%available_rights, %categories);
if ( blessed($Context) and $Context->can('AvailableRights') ) {
- %available_rights = %{$Context->AvailableRights};
+ %available_rights = %{$Context->AvailableRights( $Principal ? $Principal->PrincipalObj : undef )};
} else {
%available_rights = ( loc('System Error') => loc("No rights found") );
}
@@ -104,6 +99,8 @@ for my $category ( sort keys %categories ) {
$acldesc ||= join '-', ($Principal ? $Principal->PrincipalId : 'addprincipal'),
ref($Context), $Context->Id;
+
+$available_rights{$_} = loc( $available_rights{$_} ) for keys %available_rights;
</%init>
<div class="category-tabs">
<ul>
@@ -121,10 +118,10 @@ $acldesc ||= join '-', ($Principal ? $Principal->PrincipalId : 'addprincipal'),
id="SetRights-<% $acldesc %>-<% $right %>"
value="<% $right %>"
<% $current_rights{$right} ? 'checked' : '' %> />
- <label for="SetRights-<% $acldesc %>-<% $right %>" title="<% loc($right) %>">
- <% loc($available_rights{$right}) %>
+ <label for="SetRights-<% $acldesc %>-<% $right %>" title="<% $right %>">
+ <% $available_rights{$right} %>
<span class="separator">&mdash;</span>
- <span class="rightname"><% loc($right) %></span>
+ <span class="rightname"><% $right %></span>
</label>
</li>
% }
diff --git a/rt/share/html/Admin/Elements/EditScrips b/rt/share/html/Admin/Elements/EditScrips
index 127677d..7594707 100755
--- a/rt/share/html/Admin/Elements/EditScrips
+++ b/rt/share/html/Admin/Elements/EditScrips
@@ -50,86 +50,151 @@
<form action="Scrips.html" method="post">
<input type="hidden" class="hidden" name="id" value="<% $id %>" />
-<h2><&|/l&>Current Scrips</&></h2>
+<h2><&|/l&>Scrips</&></h2>
+<div class="admin-hint"><&|/l&>Scrips normally run after each individual change to a ticket.</&></div>
+% my $scrips = $find_scrips->(Stage => 'TransactionCreate');
+<& /Elements/CollectionList, %common_applied_args, Collection => $scrips &>
+% unless ( $scrips->Count ) {
+<p><i><&|/l&>(No scrips)</&></i></p>
+% }
+
+<h2><&|/l&>Batch scrips</&></h2>
+<div class="admin-hint"><&|/l&>Batch scrips run after a set of related changes to a ticket.</&></div>
+% $scrips = $find_scrips->(Stage => 'TransactionBatch');
+<& /Elements/CollectionList, %common_applied_args, Collection => $scrips &>
+% unless ( $scrips->Count ) {
+<p><i><&|/l&>(No scrips)</&></i></p>
+% }
+
+<& /Elements/Submit,
+ Name => 'RemoveScrips',
+ Caption => loc("Un-apply selected scrips"),
+ Label => loc("Update"),
+&>
+
+<h2><&|/l&>Not applied scrips</&></h2>
+% $scrips = $find_scrips->(Added => 0);
<& /Elements/CollectionList,
- OrderBy => 'Description',
- Order => 'ASC',
- Rows => 100,
+ Rows => $Rows,
+ Page => 1,
%ARGS,
- Format => $Format,
- DisplayFormat => "__CheckBox.{DeleteScrip}__, $Format",
- Collection => $Scrips,
+ Collection => $scrips,
+ Format => $Format,
+ DisplayFormat => "__CheckBox.{AddScrip}__, $Format",
AllowSorting => 1,
- PassArguments => [ qw(Query Format Rows Page Order OrderBy id) ],
+ PassArguments => [ qw(Format Rows Page Order OrderBy id) ],
&>
-
-% if ( $Scrips->Count ) {
-<p><i><&|/l&>(Check box to delete)</&></i></p>
-% } else {
+% unless ( $scrips->Count ) {
<p><i><&|/l&>(No scrips)</&></i></p>
% }
+
+<& SelectStageForAdded &>
+
<& /Elements/Submit,
- Caption => loc("Delete selected scrips"),
- Label => loc("Delete")
+ Name => 'AddScrips',
+ Caption => loc("Apply selected scrips"),
+ Label => loc("Update"),
&>
+
</form>
<%init>
my (@actions);
-my $Scrips = RT::Scrips->new($session{'CurrentUser'});
-
-my $QueueObj = RT::Queue->new($session{'CurrentUser'});
if ( $id ) {
+ my $QueueObj = RT::Queue->new($session{'CurrentUser'});
$QueueObj->Load( $id );
- unless ( $QueueObj->id ) {
- push @actions, loc("Couldn't load queue #[_1]", $id)
+ Abort(loc("Couldn't load queue #[_1]", $id)) unless $QueueObj->id;
+}
+$id ||= 0;
+
+my $find_scrips = sub {
+ my %args = (Added => 1, @_);
+ my $scrips = RT::Scrips->new($session{'CurrentUser'});
+ $scrips->LimitByStage( $args{'Stage'} )
+ if $args{'Stage'};
+ my $method = $args{'Added'}? 'LimitToAdded' : 'LimitToNotAdded';
+ $scrips->$method(0, $id);
+ $scrips->ApplySortOrder if $args{'Added'};
+ $scrips->FindAllRows;
+ return $scrips;
+};
+
+$Format ||= RT->Config->Get('AdminSearchResultFormat')->{'Scrips'};
+my $Rows = RT->Config->Get('AdminSearchResultRows')->{'Scrips'} || 50;
+my $DisplayFormat = $Format;
+if ( $id ) {
+ $DisplayFormat = "__RemoveCheckBox__, $DisplayFormat";
+} else {
+ $DisplayFormat = "__CheckBox.{RemoveScrip}__, $DisplayFormat";
+}
+$DisplayFormat .= ", __Move.{$id}__";
+
+my %common_applied_args = (
+ %ARGS,
+ Format => $Format,
+ DisplayFormat => $DisplayFormat,
+ Rows => 0,
+ Page => 1,
+ AllowSorting => 0,
+ PassArguments => [ qw(Format id) ],
+);
+
+if ( $RemoveScrips ) {
+ foreach my $sid ( @RemoveScrip ) {
+ my $scrip = RT::Scrip->new( $session{'CurrentUser'} );
+ $scrip->Load( $sid );
+ next unless $scrip->id;
+
+ my ($status, $msg) = $scrip->RemoveFromObject( $id );
+ push @actions, $msg;
}
}
-if ($QueueObj->id) {
- $Scrips->LimitToQueue($id);
- $Format ||= RT->Config->Get('AdminSearchResultFormat')->{'Scrips'};
+if ( $AddScrips ) {
+ foreach my $sid ( @AddScrip ) {
+ my $scrip = RT::Scrip->new( $session{'CurrentUser'} );
+ $scrip->Load( $sid );
+ next unless $scrip->id;
+
+ my ($status, $msg) = $scrip->AddToObject( $id, Stage => $Stage );
+ push @actions, $msg;
+ }
}
-else {
- $Scrips->LimitToGlobal();
- $Format ||= RT->Config->Get('AdminSearchResultFormat')->{'GlobalScrips'};
+
+if ( $MoveScripUp ) {
+ my $scrip = RT::ObjectScrip->new( $session{'CurrentUser'} );
+ $scrip->LoadByCols( Scrip => $MoveScripUp, ObjectId => $id );
+ if ( $scrip->id ) {
+ my ($status, $msg) = $scrip->MoveUp;
+ push @actions, $msg;
+ }
}
-# deal with modifying and deleting existing scrips
-# we still support DeleteScrip-id format but array is preferred
-
-my @not_deleted;
-foreach my $id ( grep $_, @DeleteScrip, map /^DeleteScrip-(\d+)/, keys %ARGS ) {
- my $scrip = RT::Scrip->new($session{'CurrentUser'});
- $scrip->Load( $id );
- my $a = $scrip->FirstAttribute('Immutable');
- if ( defined($a) and $a->Content ) {
- # then disable the scrip instead of deleting it
- my ($retval, $msg) = $scrip->SetStage('Disabled');
- if ( $retval ) {
- push @actions, loc("Scrip disabled (cannot delete system scrips)");
- } else {
- push @actions, $msg;
- push @not_deleted, $id;
- }
- } else { # not an immutable scrip
- my ($retval, $msg) = $scrip->Delete;
- if ($retval) {
- push @actions, loc("Scrip deleted");
- }
- else {
- push @actions, $msg;
- push @not_deleted, $id;
- }
+if ( $MoveScripDown ) {
+ my $scrip = RT::ObjectScrip->new( $session{'CurrentUser'} );
+ $scrip->LoadByCols( Scrip => $MoveScripDown, ObjectId => $id );
+ if ( $scrip->id ) {
+ my ($status, $msg) = $scrip->MoveDown;
+ push @actions, $msg;
}
}
-$DECODED_ARGS->{DeleteScrip} = \@not_deleted;
+
</%init>
<%ARGS>
$id => undef
$title => undef
$Format => undef
-@DeleteScrip => ()
+
+@RemoveScrip => ()
+$RemoveScrips => undef
+
+@AddScrip => ()
+$AddScrips => undef
+$Stage => 'TransactionCreate'
+
+$MoveScripUp => undef
+$MoveScripDown => undef
+
</%ARGS>
diff --git a/rt/share/html/Admin/Elements/EditTemplates b/rt/share/html/Admin/Elements/EditTemplates
index 1c86a4e..a5b64e1 100755
--- a/rt/share/html/Admin/Elements/EditTemplates
+++ b/rt/share/html/Admin/Elements/EditTemplates
@@ -58,6 +58,7 @@
<& /Elements/CollectionList,
OrderBy => 'id',
Order => 'ASC',
+ Rows => $Rows,
%ARGS,
DisplayFormat => '__CheckBox.{DeleteTemplates}__,'. $Format,
Format => $Format,
@@ -74,6 +75,7 @@
<%INIT>
$Format ||= RT->Config->Get('AdminSearchResultFormat')->{'Templates'};
+my $Rows = RT->Config->Get('AdminSearchResultRows')->{'Templates'} || 50;
my $QueueObj = RT::Queue->new( $session{'CurrentUser'} );
$QueueObj->Load( $id ) if $id;
diff --git a/rt/share/html/Admin/Elements/ListGlobalCustomFields b/rt/share/html/Admin/Elements/ListGlobalCustomFields
deleted file mode 100755
index 39caa42..0000000
--- a/rt/share/html/Admin/Elements/ListGlobalCustomFields
+++ /dev/null
@@ -1,61 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-% my $count = 0;
-% while (my $CustomFieldObj = $CustomFields->Next) {
-% $count++;
-<font size="-1"><%$CustomFieldObj->id%>/<% loc($CustomFieldObj->Type) %>/<%$CustomFieldObj->Name%>: <%$CustomFieldObj->Description%></font>
-<br />
-% }
-% if (!$count) {
-<font size="-1"><&|/l&>(No custom fields)</&></font>
-% }
-
-<%init>
-my $CustomFields = RT::CustomFields->new ($session{'CurrentUser'});
-$CustomFields->LimitToGlobal();
-</%INIT>
diff --git a/rt/share/html/NoAuth/js/history-folding.js b/rt/share/html/Admin/Elements/LoggingSummary
index b81b932..a1b8299 100644
--- a/rt/share/html/NoAuth/js/history-folding.js
+++ b/rt/share/html/Admin/Elements/LoggingSummary
@@ -45,29 +45,48 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-function fold_message_stanza(e,showmsg, hidemsg) {
- var box = jQuery(e).next("br").next('.message-stanza');
- if ( box.hasClass('closed') ) {
- jQuery([e, box[0]]).removeClass('closed').addClass('open');
- jQuery(e).text( hidemsg);
+<%init>
+my @summary;
+
+if (my $level = RT->Config->Get("LogToSTDERR")) {
+ push @summary, loc("Logging [_1] level messages and higher to STDERR, which will usually end up in your webserver's error logs.", $level);
+}
+
+if (my $level = RT->Config->Get("LogToFile") and
+ my $logger = RT->Logger->output("file")) {
+ # Using the Log::Dispatch::File object let's us avoid duplicating
+ # filename logic from RT::InitLogging()
+ push @summary, loc("Logging [_1] level messages and higher to [_2]", $level, $logger->{filename});
+}
+
+if (my $level = RT->Config->Get("LogToSyslog")) {
+ my %conf = RT->Config->Get("LogToSyslogConf");
+ my $conf = join ", ", map { "$_=$conf{$_}" } keys %conf;
+ if ($conf) {
+ push @summary, loc("Logging [_1] level messages and higher to syslog with the following configuration: [_2]", $level, $conf);
} else {
- jQuery([e, box[0]]).addClass('closed').removeClass('open');
- jQuery(e).text( showmsg);
+ push @summary, loc("Logging [_1] level messages and higher to syslog.", $level);
}
}
-function toggle_all_folds(e, showmsg, hidemsg) {
- var link = jQuery(e);
- var history = link.closest(".history");
- var dir = link.attr('data-direction');
+if (my $level = RT->Config->Get("LogStackTraces")) {
+ push @summary, loc("Stack traces are added to message levels [_1] and higher.", $level);
+} else {
+ push @summary, loc("Stack traces are not logged.");
+}
- if (dir == 'open') {
- history.find(".message-stanza-folder.closed").click();
- link.attr('data-direction', 'closed').text(hidemsg);
- }
- else if (dir == 'closed') {
- history.find(".message-stanza-folder.open").click();
- link.attr('data-direction', 'open').text(showmsg);
- }
- return false;
+if (my $level = RT->Config->Get("StatementLog")) {
+ my $url = RT->Config->Get("WebPath") . "/Admin/Tools/Queries.html";
+ push @summary, \loc("SQL queries are logged at the [_1] level and also available in the [_2]query tool[_3].", $m->interp->apply_escapes($level, 'h'), qq[<strong><a href="$url">], '</a></strong>');
+} else {
+ push @summary, loc("SQL queries are not logged.");
}
+</%init>
+<p>
+<&|/l&>RT's logging configuration is summarized below:</&>
+<ul>
+% for my $msg (@summary) {
+ <li><% ref($msg) ? $$msg : $m->interp->apply_escapes($msg, 'h') |n %></li>
+% }
+</ul>
+</p>
diff --git a/rt/share/html/Admin/Elements/MembershipsPage b/rt/share/html/Admin/Elements/MembershipsPage
new file mode 100644
index 0000000..e637e76
--- /dev/null
+++ b/rt/share/html/Admin/Elements/MembershipsPage
@@ -0,0 +1,152 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<& /Admin/Elements/Header, Title => $title &>
+<& /Elements/Tabs &>
+<& /Elements/ListActions &>
+
+<form method="post" action="">
+<input type="hidden" id="<% $id %>" />
+
+<h2><&|/l&>Groups the principal is member of (check box to delete)</&></h2>
+
+<& /Elements/CollectionList,
+ OrderBy => 'Name',
+ Order => 'ASC',
+ %ARGS,
+ Rows => $Rows,
+ DisplayFormat => "__CheckBox.{Delete}__,$Format",
+ Format => $Format,
+ Collection => $is_member,
+ AllowSorting => 1,
+ PassArguments => [qw(Format Rows Page Order OrderBy id)],
+&>
+
+<h2><&|/l&>Groups the principal is not member of (check box to add)</&></h2>
+
+<& /Elements/CollectionList,
+ OrderBy => 'Name',
+ Order => 'ASC',
+ Rows => $Rows,
+ %ARGS,
+ DisplayFormat => "__CheckBox.{Add}__,'__HasMemberRecursively.{$id}__/TITLE:Recursive member',$Format",
+ Format => $Format,
+ Collection => $is_not_member,
+ AllowSorting => 1,
+ PassArguments => [qw(Format Rows Page Order OrderBy id)],
+&>
+
+<& /Elements/Submit, Label => loc('Update'), Name => 'Update' &>
+
+</form>
+
+<%INIT>
+my $principal = RT::Principal->new( $session{'CurrentUser'} );
+$principal->Load( $id ) || Abort(loc("Couldn't load principal #[_1]", $id));
+
+my $object = $principal->Object;
+$id = $object->id;
+
+if ( $Update ) {
+ my @results;
+ foreach my $gid( @Add ) {
+ my $group = RT::Group->new( $session{'CurrentUser'} );
+ $group->LoadUserDefinedGroup( $gid );
+ unless ( $group->id ) {
+ push @results, loc( "Couldn't load group #[_1]", $gid );
+ next;
+ }
+ my ($status, $msg) = $group->AddMember( $id );
+ push @results, $msg;
+ }
+ foreach my $gid( @Delete ) {
+ my $group = RT::Group->new( $session{'CurrentUser'} );
+ $group->LoadUserDefinedGroup( $gid );
+ unless ( $group->id ) {
+ push @results, loc( "Couldn't load group #[_1]", $gid );
+ next;
+ }
+ my ($status, $msg) = $group->DeleteMember( $id );
+ push @results, $msg;
+ }
+ MaybeRedirectForResults(
+ Arguments => { id => $id },
+ Actions => \@results,
+ );
+}
+
+my $is_member = RT::Groups->new( $session{'CurrentUser'} );
+$is_member->LimitToUserDefinedGroups;
+$is_member->WithMember( PrincipalId => $id );
+
+my $is_not_member = RT::Groups->new( $session{'CurrentUser'} );
+$is_not_member->LimitToUserDefinedGroups;
+$is_not_member->WithoutMember( PrincipalId => $id );
+$is_not_member->Limit( FIELD => 'id', OPERATOR => '!=', VALUE => $id );
+
+$Format ||= RT->Config->Get('AdminSearchResultFormat')->{'Groups'};
+my $Rows = RT->Config->Get('AdminSearchResultRows')->{'Groups'} || 50;
+
+my $title;
+if ( $principal->IsUser ) {
+ $title = loc("Memberships of the user [_1]", $object->Name);
+} elsif ( $principal->IsGroup ) {
+ $title = loc("Memberships of the group [_1]", $object->Name);
+} else {
+ $title = loc("Memberships of the principal #[_1]", $id);
+}
+
+</%INIT>
+<%ARGS>
+$id => undef
+
+$Update => 0,
+@Add => (),
+@Delete => (),
+
+$Format => undef
+</%ARGS>
diff --git a/rt/share/html/Admin/Elements/ModifyTemplate b/rt/share/html/Admin/Elements/ModifyTemplate
index a30ae05..7d738eb 100755
--- a/rt/share/html/Admin/Elements/ModifyTemplate
+++ b/rt/share/html/Admin/Elements/ModifyTemplate
@@ -48,7 +48,7 @@
<table>
<tr>
<td class="label"><&|/l&>Name</&>:</td>
-<td class="value"><input name="Name" value="<%$Name||''%>" size="20" /></td>
+<td class="value"><input name="Name" value="<%$Name||''%>" size="80" /></td>
</tr>
<tr>
<td class="label"><&|/l&>Description</&>:</td>
@@ -57,8 +57,13 @@
<tr>
<td class="label"><&|/l&>Type</&>:</td>
<td class="value">
-<input type="radio" name="Type" value="Perl" <% $Type eq "Perl" ? 'checked="checked"' : "" |n %>><&|/l&>Perl</&></input><br />
-<input type="radio" name="Type" value="Simple" <% $Type eq "Simple" ? 'checked="checked"' : "" |n %>><&|/l&>Simple</&></input><br />
+
+<input type="radio" name="Type" id="Type-Perl" value="Perl" <% $Type eq "Perl" ? 'checked="checked"' : "" |n %>></input>
+<label for="Type-Perl"><&|/l&>Perl</&></label><br />
+
+<input type="radio" name="Type" id="Type-Simple" value="Simple" <% $Type eq "Simple" ? 'checked="checked"' : "" |n %>>
+<label for="Type-Simple"><&|/l&>Simple</&></label><br />
+
</td>
</tr>
<tr>
diff --git a/rt/share/html/Admin/Elements/PickCustomFields b/rt/share/html/Admin/Elements/PickCustomFields
deleted file mode 100644
index 5a90d13..0000000
--- a/rt/share/html/Admin/Elements/PickCustomFields
+++ /dev/null
@@ -1,98 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-% if (@CustomFields == 0) {
-<p><i><&|/l&>(None)</&></i></p>
-% } else {
-<table cellspacing="0" cellpadding="2">
-% my $count;
-% foreach my $CustomFieldObj (@CustomFields) {
-<tr>
-% if (!$ReadOnly) {
- <td valign="top">
-<input type="checkbox" class="checkbox" name="Object-<%$id%>-CF-<%$CustomFieldObj->Id%>" value="1" <% $Checked ? 'checked="checked"' : '' %>
-/>
- </td>
-% }
- <td valign="top">
- <a href="<% RT->Config->Get('WebPath') %>/Admin/CustomFields/Modify.html?id=<%$CustomFieldObj->id()%>">
-% if ($CustomFieldObj->Name) {
-<b><%$CustomFieldObj->Name%></b>
-% } else {
-<i>(<&|/l&>no name</&>)</i>
-% }
-</a><br />
- <%$CustomFieldObj->Description%>
- </td>
- <td valign="top">
- <i><% $CustomFieldObj->FriendlyTypeComposite %></i>
- </td>
-% # show 'move up' unless it's the first item
-% if ($count++ and $Checked) {
- <td valign="top">
- [<a href="<%RT->Config->Get('WebPath')%><% $m->request_comp->path |n %>?id=<%$id%>&SubType=<%$SubType%>&CustomField=<%$CustomFieldObj->id%>&Move=-1"><&|/l&>Move up</&></a>]
-% } else {
- <td valign="top" align="right">
-% }
-
-% # show 'move down' unless it's the last item
-% if ($count != @CustomFields and $Checked) {
-% $m->print(' | ') if $count > 1;
- [<a href="<%RT->Config->Get('WebPath')%><% $m->request_comp->path |n %>?id=<%$id%>&SubType=<%$SubType%>&CustomField=<%$CustomFieldObj->id%>&Move=1"><&|/l&>Move down</&></a>]
-% }
- </td>
-</tr>
-% }
-</table>
-% }
-<%ARGS>
-@CustomFields
-$id
-$ReadOnly => 0
-$Checked => 0
-$SubType
-</%ARGS>
diff --git a/rt/share/html/Admin/Elements/Portal b/rt/share/html/Admin/Elements/Portal
index 9207e1e..3028524 100644
--- a/rt/share/html/Admin/Elements/Portal
+++ b/rt/share/html/Admin/Elements/Portal
@@ -46,7 +46,7 @@
%#
%# END BPS TAGGED BLOCK }}}
<div id="rt-portal">
-<&| /Widgets/TitleBox, title => 'RT Portal' &>
+<&| /Widgets/TitleBox, title => loc('RT Portal') &>
<iframe src="https://bestpractical.com/rt/integration/news?utm_source=rt&utm_medium=iframe&utm_campaign=<%$RT::VERSION%>"></iframe>
</&>
</div>
diff --git a/rt/share/html/Admin/Elements/SelectGroups b/rt/share/html/Admin/Elements/SelectGroups
index f45dca0..491a2fa 100755
--- a/rt/share/html/Admin/Elements/SelectGroups
+++ b/rt/share/html/Admin/Elements/SelectGroups
@@ -53,7 +53,7 @@
<%INIT>
my $groups = RT::Groups->new($session{'CurrentUser'});
-$groups->Limit(FIELD => 'Domain', OPERATOR => '=', VALUE => $Domain);
+$groups->Limit(FIELD => 'Domain', OPERATOR => '=', VALUE => $Domain, CASESENSITIVE => 0 );
</%INIT>
<%ARGS>
diff --git a/rt/share/html/Admin/Elements/SelectModifyQueue b/rt/share/html/Admin/Elements/SelectModifyQueue
deleted file mode 100755
index 81acc9e..0000000
--- a/rt/share/html/Admin/Elements/SelectModifyQueue
+++ /dev/null
@@ -1,57 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-%while ( $queue = $queues->Next) {
-<a href="Modify.html?id=<%$queue->id%>"><%$queue->id%>: <%$queue->Name%></a><br />
-%}
-<%INIT>
-my ($queue);
-my $queues = RT::Queues->new($session{'CurrentUser'});
-$queues->UnLimit;
-</%INIT>
-<%ARGS>
-</%ARGS>
diff --git a/rt/share/html/Admin/Elements/SelectNewGroupMembers b/rt/share/html/Admin/Elements/SelectNewGroupMembers
index 8cdda89..07418b5 100755
--- a/rt/share/html/Admin/Elements/SelectNewGroupMembers
+++ b/rt/share/html/Admin/Elements/SelectNewGroupMembers
@@ -45,39 +45,43 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
+<table>
% if ( $Show ne 'Groups' ) {
-<label for="<% $Name %>Users"><&|/l&>Add user</&>:</label>
-<input type="text" value="" name="<% $Name %>Users" id="<% $Name %>Users" /><br />
+<tr>
+<td class="label"><label for="<% $Name %>Users"><&|/l&>Add user</&>:</label></td>
+<td>
+<input type="text" value="" name="<% $Name %>Users" id="<% $Name %>Users" data-autocomplete="Users" data-autocomplete-return="Name" data-autocomplete-privileged="1" data-autocomplete-exclude="<% $user_ids |n %>" />
<script type="text/javascript">
jQuery(function(){
- jQuery("#"+<% $Name |n,j%>+"Users").autocomplete({
- source: <% RT->Config->Get('WebPath') |n,j%>+"/Helpers/Autocomplete/Users?return=Name;privileged=1;exclude="+<% $user_ids |n,u,j %>,
- // Auto-submit once a user is chosen
- select: function( event, ui ) {
- jQuery(event.target).val(ui.item.value);
- jQuery(event.target).closest("form").submit();
- }
- }).addClass("autocompletes-user");
+ // Auto-submit once a user is chosen
+ jQuery("#"+<% $Name |n,j%>+"Users").on("autocompleteselect", function( event, ui ) {
+ jQuery(event.target).val(ui.item.value);
+ jQuery(event.target).closest("form").submit();
+ });
});
</script>
+</td>
+</tr>
% }
% if ( $Show ne 'Users' ) {
-<label for="<% $Name %>Groups"><&|/l&>Add group</&>:</label>
-<input type="text" value="" name="<% $Name %>Groups" id="<% $Name %>Groups" /><br />
+<tr>
+<td class="label"><label for="<% $Name %>Groups"><&|/l&>Add group</&>:</label></td>
+<td>
+<input type="text" value="" name="<% $Name %>Groups" id="<% $Name %>Groups" data-autocomplete="Groups" data-autocomplete-exclude="<% $group_ids |n %>" />
<script type="text/javascript">
jQuery(function(){
- jQuery("#"+<% $Name |n,j%>+"Groups").autocomplete({
- source: <% RT->Config->Get('WebPath') |n,j%>+"/Helpers/Autocomplete/Groups?exclude="+<% $group_ids |n,u,j %>,
- // Auto-submit once a user is chosen
- select: function( event, ui ) {
- jQuery(event.target).val(ui.item.value);
- jQuery(event.target).closest("form").submit();
- }
+ // Auto-submit once a group is chosen
+ jQuery("#"+<% $Name |n,j%>+"Groups").on("autocompleteselect", function( event, ui ) {
+ jQuery(event.target).val(ui.item.value);
+ jQuery(event.target).closest("form").submit();
});
});
</script>
+</td>
+</tr>
% }
+</table>
<%INIT>
my $user_ids = join(',', grep { $SkipUsers->{$_} } keys %$SkipUsers);
my $group_ids = join(',', grep { $SkipGroups->{$_} } keys %$SkipGroups);
diff --git a/rt/share/html/Admin/Elements/SelectRights b/rt/share/html/Admin/Elements/SelectRights
deleted file mode 100755
index df1f724..0000000
--- a/rt/share/html/Admin/Elements/SelectRights
+++ /dev/null
@@ -1,120 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<input type="hidden" class="hidden" name="CheckACL" value="<%$ACLDesc%>" />
- <table border="0">
-<tr>
-<td valign="top" width="180" align="left">
-<%PERL>
-my %current_rights;
-my @pairs;
-while ( my $ace = $ACLObj->Next ) {
- my $right = $ace->RightName;
- $current_rights{ $right } = 1;
- push @pairs, [$right, loc($right)];
-}
-@pairs = sort { $a->[1] cmp $b->[1] } @pairs;
-</%PERL>
-<h3><&|/l&>Current rights</&></h3>
-% unless ( @pairs ) {
-<i><&|/l&>No rights granted.</&></i> <br />
-% } else {
-<i>(<&|/l&>Check box to revoke right</&>)</i><br />
-% foreach my $pair ( @pairs ) {
-<input type="checkbox" class="checkbox" value="<% $pair->[0] %>" name="RevokeRight-<% $ACLDesc %>" />&nbsp;<% $pair->[1] %><br />
-% } }
-</td>
-<td valign="top">
-<h3><&|/l&>New rights</&></h3>
-<select size="5" multiple="multiple" name="GrantRight-<%$ACLDesc%>">
-% foreach my $pair (sort { $a->[1] cmp $b->[1] } map [$_, loc($_)], grep !$current_rights{$_}, keys %Rights) {
- <option value="<% $pair->[0] %>" title="<% loc($Rights{$pair->[0]}) %>"><% $pair->[1] %></option>
-% }
-<option value="" selected="selected"><&|/l&>(no value)</&></option>
-</select>
-</td>
-</tr>
-</table>
-<%INIT>
- my ($ACLDesc, $AppliesTo, %Rights);
-
- # if the principal id points to a user, we really want to point
- # to their ACL equivalence group. The machinations we're going through
- # lead me to start to suspect that we really want users and groups
- # to just be the same table. or _maybe_ that we want an object db.
- my $princ = RT::Principal->new($RT::SystemUser);
- $princ->Load($PrincipalId);
- if ($princ->PrincipalType eq 'User') {
- my $group = RT::Group->new($RT::SystemUser);
- $group->LoadACLEquivalenceGroup($princ);
- $PrincipalId = $group->PrincipalId;
- }
-
-
- my $ACLObj = RT::ACL->new($session{'CurrentUser'});
- my $ACE = RT::ACE->new($session{'CurrentUser'});
-
-
- $ACLObj->LimitToObject( $Object);
- $ACLObj->LimitToPrincipal( Id => $PrincipalId);
- $ACLObj->OrderBy(FIELD=>'RightName');
-
- eval {
- %Rights = %{$Object->AvailableRights};
- };
- if ($@) {
- %Rights = ( loc('System Error') => loc("No rights found") );
- }
-
- $ACLDesc = "$PrincipalId-".ref($Object)."-".$Object->Id;
-</%INIT>
-
-<%ARGS>
-$PrincipalType => undef
-$PrincipalId => undef
-$Object =>undef
-</%ARGS>
diff --git a/rt/share/html/Admin/Elements/SelectStage b/rt/share/html/Admin/Elements/SelectStage
index 32d39c7..03260b1 100644
--- a/rt/share/html/Admin/Elements/SelectStage
+++ b/rt/share/html/Admin/Elements/SelectStage
@@ -46,28 +46,20 @@
%#
%# END BPS TAGGED BLOCK }}}
<select name="<%$Name%>">
-% foreach my $stage (@stages) {
-
-%# allow [stage, display] in place of a scalar stage name
-% my ($value, $display) = ref($stage) ? @$stage : ($stage, $stage);
-
+% foreach my $value (@stages) {
<option value="<%$value%>"
<% ($value eq $Default) && qq[ selected="selected"] |n %>
-><% loc($display) %>
+<% ($value eq 'TransactionBatch' and not RT->Config->Get('UseTransactionBatch')) && qq[ disabled ] %>
+><% loc( RT::Scrip->FriendlyStage($value) ) %>
</option>
% }
+</select>
<%INIT>
if ( !defined $Default || $Default eq '') {
$Default = 'TransactionCreate';
}
-my @stages = 'TransactionCreate';
-
-push @stages, RT->Config->Get('UseTransactionBatch')
- ? 'TransactionBatch'
- : ['TransactionBatch', 'TransactionBatch (DISABLED)'];
-
-push @stages, 'Disabled';
+my @stages = ('TransactionCreate', 'TransactionBatch');
</%INIT>
<%ARGS>
$Default => 'TransactionCreate'
diff --git a/rt/share/html/Admin/Elements/SelectStageForAdded b/rt/share/html/Admin/Elements/SelectStageForAdded
new file mode 100644
index 0000000..7d87470
--- /dev/null
+++ b/rt/share/html/Admin/Elements/SelectStageForAdded
@@ -0,0 +1,54 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<div style="text-align:right">
+<% $Label %>
+<& SelectStage, %ARGS &>
+</div>
+<%args>
+$Label => loc('Select scrip stage for newly added queues:')
+</%args>
diff --git a/rt/share/html/Admin/Elements/ShowKeyInfo b/rt/share/html/Admin/Elements/ShowKeyInfo
index 0a7ef0f..0351259 100644
--- a/rt/share/html/Admin/Elements/ShowKeyInfo
+++ b/rt/share/html/Admin/Elements/ShowKeyInfo
@@ -45,18 +45,29 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<&| /Widgets/TitleBox, title => $title &>
-% if ( $res{'exit_code'} || !keys %{ $res{'info'} } ) {
-<% loc('No keys for this address') %>
+<&| /Widgets/TitleBox, title => $title &><table>
+% while ( my $protocol = shift @protocols ) {
+% my %res = RT::Crypt->GetKeyInfo(
+% Protocol => $protocol,
+% Key => $EmailAddress,
+% Type => $Type,
+% );
+% if ( $res{'exit_code'} ) {
+<tr><th colspan="2"><% loc("Couldn't get [_1] keys information", $protocol) %></th></tr>
+% } elsif ( !keys %{ $res{'info'} } ) {
+<tr><th colspan="2"><% loc('No [_1] keys for this address', $protocol) %></th></tr>
% } else {
-<table>
-% unless ( $Type eq 'private' ) {
+<tr><th colspan="2"><% loc("[_1] key '[_2]'", $protocol, $res{'info'}{'Formatted'} ) %></th></tr>
+
+% if ( $Type ne 'private' && $res{'info'}{'Trust'} ) {
<tr><th class="label"><% loc('Trust') %>:</th> <td><% loc( $res{'info'}{'Trust'} ) %></td></tr>
% }
<tr><th class="label"><% loc('Fingerprint') %>:</th>
<td><% $res{'info'}{'Fingerprint'} %></td></tr>
+
+% $_->CurrentUser( $session{CurrentUser} ) for grep {$_} (@{$res{'info'}}{qw|Created Expire|});
<tr><th class="label"><% loc('Created') %>:</th>
<td><% $res{'info'}{'Created'}? $res{'info'}{'Created'}->AsString( Time => 0 ): loc('never') %></td></tr>
@@ -64,30 +75,38 @@
<td><% $res{'info'}{'Expire'}? $res{'info'}{'Expire'}->AsString( Time => 0 ): loc('never') %></td></tr>
% foreach my $uinfo( @{ $res{'info'}{'User'} } ) {
+% if ($uinfo->{'Created'} or $uinfo->{'Expire'}) {
+% $_->CurrentUser( $session{CurrentUser} ) for grep {$_} ($uinfo->{'Created'}, $uinfo->{'Expire'});
<tr><th class="label"><% loc('User (created - expire)') %>:</th>
-<td><% $uinfo->{'String'} %>\
+<td><% $uinfo->{'String'} %> \
(<% $uinfo->{'Created'}? $uinfo->{'Created'}->AsString( Time => 0 ): loc('never') %> - \
-<% $uinfo->{'Expire'}? $uinfo->{'Expire'}->AsString( Time => 0 ): loc('never') %>)
-</td></tr>
+<% $uinfo->{'Expire'}? $uinfo->{'Expire'}->AsString( Time => 0 ): loc('never') %>)</td></tr>
+% } else {
+<tr><th class="label"><% loc('User') %>:</th>
+<td><% $uinfo->{'String'} %></td></tr>
+% }
% }
-</table>
% }
-</&>
+
+% if ( @protocols ) {
+<tr><th colspan="2">&nbsp;</th></tr>
+% }
+
+% }
+</table></&>
<%ARGS>
$EmailAddress
$Type => 'public'
</%ARGS>
<%INIT>
-require RT::Crypt::GnuPG;
-my %res = RT::Crypt::GnuPG::GetKeyInfo( $EmailAddress, $Type );
+my @protocols = RT::Crypt->EnabledProtocols;
my $title;
unless ( $Type eq 'private' ) {
- $title = loc('GnuPG public key(s) for [_1]', $EmailAddress);
+ $title = loc('Public key(s) for [_1]', $EmailAddress);
} else {
- $title = loc('GnuPG private key(s) for [_1]', $EmailAddress);
+ $title = loc('Private key(s) for [_1]', $EmailAddress);
}
-
</%INIT>
diff --git a/rt/share/html/Articles/Article/Elements/ShowHistory b/rt/share/html/Admin/Elements/UpgradeHistory
index 136640e..ccdc8f5 100644
--- a/rt/share/html/Articles/Article/Elements/ShowHistory
+++ b/rt/share/html/Admin/Elements/UpgradeHistory
@@ -45,32 +45,27 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<table width="100%" cellspacing="0" cellpadding="2">
-% my $i;
-% while (my $transaction = $transactions->Next) {
-<tr class="<% ($i++)%2 ? 'oddline' : 'evenline'%>" >
-<td width="20%"><small><%$transaction->CreatedObj->AsString%></small></td>
-<td><%$transaction->CreatorObj->Name%></td>
-<td><%$transaction->Description%></td>
-</tr>
+% for my $package (@packages) {
+% my ($version_status, @lines) = RT->System->ParsedUpgradeHistory($package);
+<h4><% $package %> (<% $version_status %>)</h4>
+<table border="0" cellspacing="0" cellpadding="5" width="100%" class="collection upgrade-history">
+<thead>
+<tr class="collection-as-table">
+<th class="collection-as-table">&nbsp;</th>
+<th class="collection-as-table"><&|/l&>Action</&></th>
+<th class="collection-as-table"><&|/l&>Date</&></th>
+<th class="collection-as-table"><&|/l&>Elapsed</&></th>
+<th class="collection-as-table"><&|/l, $package &>[_1] Version</&></th>
+</tr></thead>
+
+% my $i = 0;
+% for my $upgrade (@lines) {
+<& UpgradeHistoryRow, i => \$i, row => $upgrade &>
% }
</table>
-<%init>
-
-my $article = RT::Article->new($session{'CurrentUser'});
-
-$article->Load($id);
-unless ($article->Id) {
- $m->comp("/Elements/Error", Why => loc("Article not found"));
-}
-
-unless ($article->ClassObj->CurrentUserHasRight('ShowArticle')) {
- $m->comp("/Elements/Error", Why => loc("Permission Denied"));
-}
-
-my $transactions = $article->Transactions();
+% }
+<%init>
+my $upgrade_history = RT->System->UpgradeHistory;
+my @packages = ('RT', sort grep { $_ ne 'RT' } keys %$upgrade_history);
</%init>
-<%args>
-$id => undef
-</%args>
diff --git a/rt/share/html/Admin/Elements/UpgradeHistoryRow b/rt/share/html/Admin/Elements/UpgradeHistoryRow
new file mode 100644
index 0000000..dc53741
--- /dev/null
+++ b/rt/share/html/Admin/Elements/UpgradeHistoryRow
@@ -0,0 +1,98 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<tr class="<% join ' ', map {CSSClass($_)} @classes %>">
+ <td class="upgrade-history-parent" id="parent-upgrade-history-<% $row->{individual_id} %>">
+% if ($top) {
+ <span class="widget"><a href="#" onclick="toggle_upgrade_history(this, '.upgrade-history-' + <% $row->{full_id} | n,j %>); return false";"></a></span>
+% }
+ </td>
+ <td class="collection-as-table" style="padding-left: <% $indent * 3%>em">
+% if ($row->{'action'} eq 'upgrade') { # type is more specific for upgrades
+<&|/l, $row->{'from'}, $row->{'to'} &>Upgrade from [_1] to [_2]</&>
+% } elsif ( $row->{'action'} eq 'insert' ) {
+<&|/l, $row->{filename} &>Insert from [_1]</&>
+% } elsif ( $row->{'action'} eq 'schema' ) {
+<&|/l, $row->{filename} &>Schema updates from [_1]</&>
+% } elsif ( $row->{'action'} eq 'acl' ) {
+<&|/l, $row->{filename} &>ACL updates from [_1]</&>
+% } elsif ( $row->{'action'} eq 'indexes' ) {
+<&|/l, $row->{filename} &>Index updates from [_1]</&>
+% } else {
+<% ucfirst($row->{action}) %>
+% }
+% if (not $complete) {
+ <&|/l&>(Incomplete)</&>
+% }
+ </td>
+ <td class="collection-as-table"><% $timestamp->AsString %></td>
+ <td class="collection-as-table"><% $duration %></td>
+ <td class="collection-as-table"><% $row->{ext_version} || $row->{rt_version} %></td>
+</tr>
+% for (@{$kids || []}) {
+<& UpgradeHistoryRow, row => $_, indent => $indent+1, i => $i &>
+% }
+<%args>
+$indent => 0
+$i
+$row
+</%args>
+<%init>
+my $complete = $row->{return_value} ? $row->{return_value}[0] : $row->{end};
+my $kids = $row->{sub_events};
+my $top = $row->{full_id} eq $row->{individual_id};
+
+my @classes;
+push @classes, $complete ? 'complete' : 'incomplete';
+push @classes, $$i++ % 2 ? 'oddline' : 'evenline';
+push @classes, 'upgrade-history-'.$row->{full_id} unless $top;
+
+my $timestamp = RT::Date->new($session{CurrentUser});
+$timestamp->Set(Value => $row->{timestamp});
+
+my $duration = $row->{end} ? $timestamp->DurationAsString($row->{end} - $row->{timestamp}) : '';
+</%init>
diff --git a/rt/share/html/Admin/Global/DashboardsInMenu.html b/rt/share/html/Admin/Global/DashboardsInMenu.html
new file mode 100644
index 0000000..1422e76
--- /dev/null
+++ b/rt/share/html/Admin/Global/DashboardsInMenu.html
@@ -0,0 +1,113 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<& /Admin/Elements/Header, Title => loc("Dashboards in menu") &>
+<& /Elements/Tabs &>
+
+<& /Elements/ListActions, actions => \@actions &>
+<br />
+% for my $pane (@panes) {
+<&|/Widgets/TitleBox, title => loc('Dashboards in menu'), bodyclass => "" &>
+<& /Widgets/SelectionBox:show, self => $pane &></&>
+<br />
+% }
+<%init>
+my @actions;
+my $sys = RT::System->new( $session{'CurrentUser'} );
+
+my $has_right = $session{'CurrentUser'}->HasRight( Object=> $RT::System, Right => 'SuperUser');
+
+my ($dashboard_attr) = $sys->Attributes->Named('DashboardsInMenu');
+my $default_dashboards_in_menu =
+ $dashboard_attr && $dashboard_attr->Content->{dashboards}
+ ? $dashboard_attr->Content->{dashboards}
+ : [];
+
+use RT::Dashboards;
+my $dashboards = RT::Dashboards->new( $RT::SystemUser );
+$dashboards->LimitToPrivacy('RT::System-' . $sys->id);
+
+my @dashboards;
+while ( my $dashboard = $dashboards->Next ) {
+ push @dashboards, [$dashboard->id, $dashboard->Name];
+}
+
+my @panes = $m->comp(
+ '/Admin/Elements/ConfigureDashboardsInMenu',
+ Action => 'DashboardsInMenu.html',
+ panes => ['dashboards_in_menu'],
+ ReadOnly => !$has_right,
+ items => \@dashboards,
+ current_portlets => $default_dashboards_in_menu,
+ OnSave => sub {
+ my ( $conf ) = @_;
+ my ( $status, $msg );
+
+ if (!$has_right) {
+ push @actions, loc( 'Permission Denied' );
+ }
+ elsif ( $dashboard_attr ) {
+ ($status, $msg) = $dashboard_attr->SetContent($conf);
+ }
+ else {
+ $dashboard_attr = RT::Attribute->new($RT::SystemUser);
+ ( $status, $msg ) = $dashboard_attr->Create(
+ Name => 'DashboardsInMenu',
+ Object => $sys,
+ Content => $conf,
+ );
+ }
+ push @actions, $status ? loc('Global dashboards in menu saved.') : $msg;
+ }
+);
+
+$m->comp( '/Widgets/SelectionBox:process', %ARGS, self => $_ )
+ for @panes;
+
+
+</%init>
+
diff --git a/rt/share/html/Admin/Global/MyRT.html b/rt/share/html/Admin/Global/MyRT.html
index d903553..0a62d23 100644
--- a/rt/share/html/Admin/Global/MyRT.html
+++ b/rt/share/html/Admin/Global/MyRT.html
@@ -48,13 +48,11 @@
<& /Admin/Elements/Header, Title => loc("RT at a glance") &>
<& /Elements/Tabs &>
-<& /Widgets/SelectionBox:header, nojs => 1 &>
-
<& /Elements/ListActions, actions => \@actions &>
<br />
% for my $pane (@panes) {
<&|/Widgets/TitleBox, title => loc('RT at a glance').': '.loc($pane->{Name}), bodyclass => "" &>
-<& /Widgets/SelectionBox:show, self => $pane, nojs => 1 &></&>
+<& /Widgets/SelectionBox:show, self => $pane &></&>
<br />
% }
<%init>
@@ -86,7 +84,7 @@ my @panes = $m->comp(
'/Admin/Elements/ConfigureMyRT',
panes => [
'body', #loc
- 'summary', #loc
+ 'sidebar', #loc
],
Action => 'MyRT.html',
items => \@items,
@@ -95,7 +93,7 @@ my @panes = $m->comp(
OnSave => sub {
my ( $conf, $pane ) = @_;
if (!$has_right) {
- push @actions, loc( 'Permission denied' );
+ push @actions, loc( 'Permission Denied' );
}
else {
$default_portlets->SetContent( $conf );
@@ -104,7 +102,7 @@ my @panes = $m->comp(
}
);
-$m->comp( '/Widgets/SelectionBox:process', %ARGS, self => $_, nojs => 1 )
+$m->comp( '/Widgets/SelectionBox:process', %ARGS, self => $_ )
for @panes;
diff --git a/rt/share/html/Admin/Global/Template.html b/rt/share/html/Admin/Global/Template.html
index c88d26c..c2a802d 100755
--- a/rt/share/html/Admin/Global/Template.html
+++ b/rt/share/html/Admin/Global/Template.html
@@ -59,10 +59,10 @@
%# hang onto the queue id
<input type="hidden" class="hidden" name="Queue" value="<%$Queue%>" />
<& /Admin/Elements/ModifyTemplate,
- Name => $TemplateObj->Name,
- Description => $TemplateObj->Description,
- Content => $TemplateObj->Content,
- Type => $TemplateObj->Type
+ Name => $TemplateObj->Name // $ARGS{Name},
+ Description => $TemplateObj->Description // $ARGS{Description},
+ Content => $TemplateObj->Content // $ARGS{Content},
+ Type => $TemplateObj->Type // $ARGS{Type},
&>
<& /Elements/Submit, Label => $SubmitLabel, Reset => 1 &>
</form>
@@ -73,35 +73,37 @@
my $TemplateObj = RT::Template->new($session{'CurrentUser'});
my ($title, @results, $SubmitLabel);
-if ($Create) {
- $title = loc("Create a template");
- $SubmitLabel = loc('Create');
-}
-
-else {
- if (defined ($Template) && $Template eq 'new') {
- my ($val, $msg) = $TemplateObj->Create(Queue => $Queue, Name => $Name, Type => $Type);
- Abort(loc("Could not create template: [_1]", $msg)) unless ($val);
- push @results, $msg;
+if (!$Create) {
+ if (defined ($Template) && $Template eq 'new') {
+ my ($val, $msg) = $TemplateObj->Create(Queue => $Queue, Name => $Name, Type => $Type);
+ push @results, $msg;
+ } else {
+ $TemplateObj->Load($Template) || Abort(loc('No Template'));
}
- else {
- $TemplateObj->Load($Template) || Abort(loc('No Template'));
- }
- $title = loc('Modify template [_1]', loc($TemplateObj->Name()));
- $SubmitLabel = loc('Save Changes');
-
}
+
if ($TemplateObj->Id()) {
- my @attribs = qw( Name Description Queue Type Content );
- my @aresults = UpdateRecordObject( AttributesRef => \@attribs,
- Object => $TemplateObj,
- ARGSRef => \%ARGS);
- push @results, @aresults;
+ my @attribs = qw( Name Description Queue Type Content );
+ my @aresults = UpdateRecordObject( AttributesRef => \@attribs,
+ Object => $TemplateObj,
+ ARGSRef => \%ARGS);
+ push @results, @aresults;
- my ($ok, $msg) = $TemplateObj->CompileCheck;
- push @results, $msg if !$ok;
+ my ($ok, $msg) = $TemplateObj->CompileCheck;
+ push @results, $msg if !$ok;
+} else {
+ $Create = 1;
}
+if ($Create) {
+ $title = loc("Create a template");
+ $SubmitLabel = loc('Create');
+} else {
+ $title = loc('Modify template [_1]', loc($TemplateObj->Name()));
+ $SubmitLabel = loc('Save Changes');
+}
+
+
</%INIT>
<%ARGS>
$Queue => ''
diff --git a/rt/share/html/Admin/Global/index.html b/rt/share/html/Admin/Global/index.html
index cdac7d9..223ecd0 100755
--- a/rt/share/html/Admin/Global/index.html
+++ b/rt/share/html/Admin/Global/index.html
@@ -47,4 +47,4 @@
%# END BPS TAGGED BLOCK }}}
<& /Admin/Elements/Header, Title => loc('Admin/Global configuration') &>
<& /Elements/Tabs &>
-<& /Elements/ListMenu, menu => Menu()->child('tools')->child('config')->child('global') &>
+<& /Elements/ListMenu, menu => Menu()->child('admin')->child('global') &>
diff --git a/rt/share/html/Admin/Groups/History.html b/rt/share/html/Admin/Groups/History.html
index bc3ff95..45df069 100644
--- a/rt/share/html/Admin/Groups/History.html
+++ b/rt/share/html/Admin/Groups/History.html
@@ -48,9 +48,10 @@
<& /Admin/Elements/Header, Title => $title &>
<& /Elements/Tabs &>
-<& /Ticket/Elements/ShowHistory,
- Ticket => $GroupObj,
+<& /Elements/ShowHistory,
+ Object => $GroupObj,
ShowDisplayModes => 0,
+ DisplayPath => 'History.html',
&>
<%INIT>
diff --git a/rt/share/html/Elements/BevelBoxRaisedEnd b/rt/share/html/Admin/Groups/Memberships.html
index e51efe2..1910ff5 100755..100644
--- a/rt/share/html/Elements/BevelBoxRaisedEnd
+++ b/rt/share/html/Admin/Groups/Memberships.html
@@ -45,6 +45,4 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
- </td>
-</tr>
-</table>
+<& /Admin/Elements/MembershipsPage, %ARGS &>
diff --git a/rt/share/html/Admin/Groups/Modify.html b/rt/share/html/Admin/Groups/Modify.html
index eb10d14..6c65ea0 100755
--- a/rt/share/html/Admin/Groups/Modify.html
+++ b/rt/share/html/Admin/Groups/Modify.html
@@ -72,18 +72,17 @@
% my $CFs = $Group->CustomFields;
% while (my $CF = $CFs->Next) {
<tr valign="top"><td align="right">
-<% loc($CF->Name) %>:
+<% $CF->Name %>:
</td><td>
<& /Elements/EditCustomField, CustomField => $CF,
- Object => $Group,
- ($Create ? (NamePrefix => 'Object-RT::Group--CustomField-')
- : () )&>
+ Object => $Group, &>
</td></tr>
% }
<tr>
<td colspan="2">
<input type="hidden" class="hidden" name="SetEnabled" value="1" />
-<input type="checkbox" class="checkbox" name="Enabled" value="1" <%$EnabledChecked%> /> <&|/l&>Enabled (Unchecking this box disables this group)</&><br />
+<input type="checkbox" class="checkbox" id="Enabled" name="Enabled" value="1" <%$EnabledChecked%> />
+<label for="Enabled"><&|/l&>Enabled (Unchecking this box disables this group)</&></label><br />
</td>
</tr>
% $m->callback( %ARGS, GroupObj => $Group, results => \@results );
@@ -104,7 +103,7 @@ if ($Create) {
$title = loc("Create a new group");
} else {
if ($id eq 'new' ) {
- my ($create_id, $create_msg) = $Group->CreateUserDefinedGroup(Name => $Name );
+ my ($create_id, $create_msg) = $Group->CreateUserDefinedGroup(Name => $Name );
if ($create_id) {
$id = $Group->Id;
push @results, $create_msg;
@@ -112,32 +111,32 @@ if ($Create) {
push @results, loc("Group could not be created: [_1]", $create_msg);
}
} else {
- $Group->Load($id) || Abort('Could not load group');
+ $Group->Load($id) || Abort('Could not load group');
}
if ($Group->Id) {
- $title = loc("Modify the group [_1]", $Group->Name);
+ $title = loc("Modify the group [_1]", $Group->Name);
}
# If the create failed
else {
- $title = loc("Create a new group");
- $Create = 1;
+ $title = loc("Create a new group");
+ $Create = 1;
}
}
if ($Group->Id) {
my @fields = qw(Description Name );
my @fieldresults = UpdateRecordObject ( AttributesRef => \@fields,
- Object => $Group,
- ARGSRef => \%ARGS );
+ Object => $Group,
+ ARGSRef => \%ARGS );
push (@results,@fieldresults);
push @results, ProcessObjectCustomFieldUpdates( ARGSRef => \%ARGS, Object => $Group );
# Warn about duplicate groups
my $dupcheck = RT::Groups->new(RT->SystemUser);
$dupcheck->LimitToUserDefinedGroups();
- $dupcheck->Limit( FIELD => 'Name', VALUE => $Group->Name );
+ $dupcheck->Limit( FIELD => 'Name', VALUE => $Group->Name, CASESENSITIVE => 0 );
if ($dupcheck->Count > 1) {
push @warnings, loc("There is more than one group with the name '[_1]'. This may cause inconsistency in parts of the admin interface, and therefore it's recommended you rename the conflicting groups.", $Group->Name);
}
diff --git a/rt/share/html/Admin/Groups/index.html b/rt/share/html/Admin/Groups/index.html
index 43a1c67..7298f28 100755
--- a/rt/share/html/Admin/Groups/index.html
+++ b/rt/share/html/Admin/Groups/index.html
@@ -53,18 +53,12 @@
<input type="hidden" name="GroupField" value="Name" />
<input type="hidden" name="GroupOp" value="LIKE" />
<&|/l&>Go to group</&>
-<input type="text" name="GroupString" value="" id="autocomplete-GroupString" />
+<input type="text" name="GroupString" value="" data-autocomplete="Groups" id="autocomplete-GroupString" />
<script type="text/javascript">
jQuery(function(){
- jQuery("#autocomplete-GroupString").autocomplete({
- source: <% RT->Config->Get('WebPath') |n,j%>+"/Helpers/Autocomplete/Groups",
- // Auto-submit once a group is chosen
- select: function( event, ui ) {
- jQuery(event.target).val(ui.item.value);
- var form = jQuery(event.target).closest('form');
- form.find('input[name=GroupOp]').val('=');
- form.submit();
- }
+ // Jump directly to the page if a group is chosen
+ jQuery("#autocomplete-GroupString").on("autocompleteselect", function( event, ui ) {
+ document.location = RT.Config.WebPath + "/Admin/Groups/Modify.html?id=" + ui.item.id;
});
});
</script>
@@ -72,7 +66,8 @@ jQuery(function(){
<form method="post" action="<% RT->Config->Get('WebPath') %>/Admin/Groups/index.html">
<&|/l&>Find groups whose</&> <& /Elements/SelectGroups &><br />
-<input type="checkbox" class="checkbox" name="FindDisabledGroups" value="1" <% $FindDisabledGroups? 'checked="checked"': '' |n %> /> <&|/l&>Include disabled groups in listing.</&><br />
+<input type="checkbox" class="checkbox" id="FindDisabledGroups" name="FindDisabledGroups" value="1" <% $FindDisabledGroups? 'checked="checked"': '' |n %> />
+<label for="FindDisabledGroups"><&|/l&>Include disabled groups in listing.</&></label><br />
<div align="right"><input type="submit" class="button" value="<&|/l&>Go!</&>" /></div>
</form>
@@ -84,7 +79,7 @@ jQuery(function(){
<& /Elements/CollectionList,
OrderBy => 'Name',
Order => 'ASC',
- Rows => 100,
+ Rows => $Rows,
%ARGS,
Format => $Format,
Collection => $Groups,
@@ -106,18 +101,18 @@ if ($FindDisabledGroups) {
if (length $GroupString) {
$caption = loc("Groups matching search criteria");
if ($GroupField =~ /^CustomField-(\d+)/) {
- $Groups->LimitCustomField(
- CUSTOMFIELD => $1,
- OPERATOR => $GroupOp,
- VALUE => $GroupString,
- );
+ $Groups->LimitCustomField(
+ CUSTOMFIELD => $1,
+ OPERATOR => $GroupOp,
+ VALUE => $GroupString,
+ );
}
else {
- $Groups->Limit(
- FIELD => $GroupField,
- OPERATOR => $GroupOp,
- VALUE => $GroupString,
- );
+ $Groups->Limit(
+ FIELD => $GroupField,
+ OPERATOR => $GroupOp,
+ VALUE => $GroupString,
+ );
}
RT::Interface::Web::Redirect(RT->Config->Get('WebURL')."Admin/Groups/Modify.html?id=".$Groups->First->id)
if $Groups->Count == 1 and $Groups->First;
@@ -127,6 +122,7 @@ else {
}
$Format ||= RT->Config->Get('AdminSearchResultFormat')->{'Groups'};
+my $Rows = RT->Config->Get('AdminSearchResultRows')->{'Groups'} || 50;
</%INIT>
<%ARGS>
diff --git a/rt/share/html/Admin/Queues/History.html b/rt/share/html/Admin/Queues/History.html
index 1b4a1ab..8b74a47 100644
--- a/rt/share/html/Admin/Queues/History.html
+++ b/rt/share/html/Admin/Queues/History.html
@@ -48,9 +48,10 @@
<& /Admin/Elements/Header, Title => $title &>
<& /Elements/Tabs &>
-<& /Ticket/Elements/ShowHistory,
- Ticket => $QueueObj,
+<& /Elements/ShowHistory,
+ Object => $QueueObj,
ShowDisplayModes => 0,
+ DisplayPath => 'History.html',
&>
<%INIT>
diff --git a/rt/share/html/Admin/Queues/Modify.html b/rt/share/html/Admin/Queues/Modify.html
index e9afc7e..9610b25 100755
--- a/rt/share/html/Admin/Queues/Modify.html
+++ b/rt/share/html/Admin/Queues/Modify.html
@@ -52,26 +52,33 @@
<form action="<%RT->Config->Get('WebPath')%>/Admin/Queues/Modify.html" name="ModifyQueue" method="post" enctype="multipart/form-data">
-<input type="hidden" class="hidden" name="SetEnabled" value="1" />
<input type="hidden" class="hidden" name="id" value="<% $Create? 'new': $QueueObj->Id %>" />
<table>
-<tr><td align="right"><&|/l&>Queue Name</&>:</td>
-<td colspan="3"><input name="Name" value="<% $Create ? "" : $QueueObj->Name || $Name %>" /></td>
-</tr>
+<tr><td align="right"><&|/l&>Queue Name</&>:</td><td colspan="3">
+% if ($InternalQueue) {
+<% $QueueObj->Name %>
+% } else {
+<input name="Name" value="<% $Create ? "" : $QueueObj->Name || $Name %>" />
+% }
+</td></tr>
<tr><td align="right"><&|/l&>Description</&>:</td>
<td colspan="3"><input name="Description" value="<% $Create ? "" : $QueueObj->Description || $Description || '' %>" size="60" /></td>
</tr>
-<tr><td align="right"><&|/l&>Lifecycle</&>:</td>
-<td colspan="3"><& /Widgets/Form/Select:InputOnly,
+<tr><td align="right"><&|/l&>Lifecycle</&>:</td><td colspan="3">
+% if ($InternalQueue) {
+<% $QueueObj->Lifecycle %>
+% } else {
+<& /Widgets/Form/Select:InputOnly,
Name => 'Lifecycle',
Values => [ sort { loc($a) cmp loc($b) } RT::Lifecycle->List ],
CurrentValue => $Create ? "default" : $QueueObj->Lifecycle || $ARGS{'Lifecycle'},
Default => 0,
-&></td>
-</tr>
+&>
+% }
+</td></tr>
<tr><td align="right"><&|/l&>Subject Tag</&>:</td>
<td colspan="3"><input name="SubjectTag" value="<% $ARGS{'SubjectTag'} || ($Create ? "" : $QueueObj->SubjectTag || '' ) %>" size="60" /></td>
@@ -104,38 +111,40 @@
% my $CFs = $QueueObj->CustomFields;
% while (my $CF = $CFs->Next) {
<tr valign="top"><td align="right">
-<% loc($CF->Name) %>:
+<% $CF->Name %>:
</td><td>
-<& /Elements/EditCustomField, CustomField => $CF,
- Object => $QueueObj,
- ($Create ? (NamePrefix => 'Object-RT::Queue--CustomField-')
- : () )&>
+<& /Elements/EditCustomField, CustomField => $CF,
+ Object => $QueueObj, &>
</td></tr>
% }
-% if ( RT->Config->Get('GnuPG')->{'Enable'} ) {
-<tr><td align="right"><input type="checkbox" class="checkbox" name="Sign" value="1" <% $QueueObj->Sign? 'checked="checked"': '' |n%> /></td>
-<td><&|/l&>Sign by default</&></td>
-<td align="right"><input type="checkbox" class="checkbox" name="Encrypt" value="1" <% $QueueObj->Encrypt? 'checked="checked"': '' |n%> /></td>
-<td><&|/l&>Encrypt by default</&></td>
+% if ( RT->Config->Get('Crypt')->{'Enable'} ) {
+<tr><td align="right"><input type="checkbox" class="checkbox" id="Sign" name="Sign" value="1" <% $QueueObj->Sign? 'checked="checked"': '' |n%> /></td>
+<td><label for="Sign"><&|/l&>Sign by default</&></label></td>
+<td align="right"><input type="checkbox" class="checkbox" id="Encrypt" name="Encrypt" value="1" <% $QueueObj->Encrypt? 'checked="checked"': '' |n%> /></td>
+<td><label for="Encrypt"><&|/l&>Encrypt by default</&></label></td>
</tr>
-<tr><td align="right"><input type="checkbox" class="checkbox" name="SignAuto" value="1" <% $QueueObj->SignAuto? 'checked="checked"': '' |n%> /></td>
-<td colspan="3"><&|/l_unsafe, "<b>","</b>","<i>","</i>"&>Sign all auto-generated mail. [_1]Caution[_2]: Enabling this option alters the signature from providing [_3]authentication[_4] to providing [_3]integrity[_4].</&></td></tr>
+<tr><td align="right"><input type="checkbox" class="checkbox" id="SignAuto" name="SignAuto" value="1" <% $QueueObj->SignAuto? 'checked="checked"': '' |n%> /></td>
+<td colspan="3"><label for="SignAuto"><&|/l_unsafe, "<b>","</b>","<i>","</i>"&>Sign all auto-generated mail. [_1]Caution[_2]: Enabling this option alters the signature from providing [_3]authentication[_4] to providing [_3]integrity[_4].</&></label></td></tr>
% }
-<tr><td align="right"><input type="checkbox" class="checkbox" name="Enabled" value="1" <%$EnabledChecked|n%> /></td>
-<td colspan="3"><&|/l&>Enabled (Unchecking this box disables this queue)</&><br />
+% unless ($InternalQueue) {
+<tr><td align="right"><input type="checkbox" class="checkbox" id="Enabled" name="Enabled" value="1" <%$EnabledChecked|n%> /></td>
+<td colspan="3"><label for="Enabled"><&|/l&>Enabled (Unchecking this box disables this queue)</&></label><br />
+<input type="hidden" class="hidden" name="SetEnabled" value="1" />
% $m->callback( %ARGS, QueueObj => $QueueObj, results => \@results );
</td></tr>
+% }
-% if ( RT->Config->Get('GnuPG')->{'Enable'} ) {
+% if ( RT->Config->Get('Crypt')->{'Enable'} ) {
<tr><td colspan="4">
+<input type="hidden" class="hidden" name="SetCrypt" value="1" />
% if ( my $email = $QueueObj->CorrespondAddress || RT->Config->Get('CorrespondAddress') ) {
<& /Admin/Elements/ShowKeyInfo, Type => 'private', EmailAddress => $email &>
% } else {
-<&|/Widgets/TitleBox, title => loc( 'GnuPG private keys') &>
-<i><&|/l&>You have enabled GnuPG support but have not set a correspondence address for this queue.</&>
-<&|/l&>You must set a correspondence address for this queue in order to configure a GnuPG private key.</&></i>
+<&|/Widgets/TitleBox, title => loc( 'Private keys') &>
+<i><&|/l&>You have enabled encryption support but have not set a correspondence address for this queue.</&>
+<&|/l&>You must set a correspondence address for this queue in order to configure a private key.</&></i>
</&>
% }
</td></tr>
@@ -143,9 +152,9 @@
% if ( my $email = $QueueObj->CommentAddress || RT->Config->Get('CommentAddress') ) {
<& /Admin/Elements/ShowKeyInfo, Type => 'private', EmailAddress => $email &>
% } else {
-<&|/Widgets/TitleBox, title => loc( 'GnuPG private keys') &>
-<i><&|/l&>You have enabled GnuPG support but have not set a comment address for this queue.</&>
-<&|/l&>You must set a comment address for this queue in order to configure a GnuPG private key.</&></i>
+<&|/Widgets/TitleBox, title => loc( 'Private keys') &>
+<i><&|/l&>You have enabled encryption support but have not set a comment address for this queue.</&>
+<&|/l&>You must set a comment address for this queue in order to configure a private key.</&></i>
</&>
%}
</td></tr>
@@ -188,8 +197,10 @@ if ( $QueueObj->Id ) {
# we're asking about enabled on the web page but really care about disabled
if ( $SetEnabled ) {
$Disabled = $ARGS{'Disabled'} = $Enabled? 0: 1;
+ }
+ if ( $SetCrypt ) {
$ARGS{$_} = 0 foreach grep !defined $ARGS{$_} || !length $ARGS{$_},
- qw(Sign SignAuto Encrypt Disabled);
+ qw(Sign SignAuto Encrypt);
}
$m->callback(
@@ -229,6 +240,8 @@ if ( $QueueObj->Id ) {
$title = loc("Create a queue");
}
+my $InternalQueue = ($QueueObj->Id and $QueueObj->Disabled == 2);
+
# This code does automatic redirection if any updates happen.
MaybeRedirectForResults(
Actions => \@results,
@@ -251,5 +264,6 @@ $InitialPriority => undef
$FinalPriority => undef
$DefaultDueIn => undef
$SetEnabled => undef
+$SetCrypt => undef
$Enabled => undef
</%ARGS>
diff --git a/rt/share/html/Admin/Queues/People.html b/rt/share/html/Admin/Queues/People.html
index 8a226e8..2d0bb91 100755
--- a/rt/share/html/Admin/Queues/People.html
+++ b/rt/share/html/Admin/Queues/People.html
@@ -174,10 +174,7 @@ if ( $ARGS{'UserString'} ) {
if ( $ARGS{'GroupString'} ) {
$Groups = RT::Groups->new( $session{'CurrentUser'} );
- $Groups->Limit( FIELD => 'Domain',
- OPERATOR => '=',
- VALUE => 'UserDefined'
- );
+ $Groups->LimitToUserDefinedGroups;
$Groups->Limit( FIELD => $ARGS{'GroupField'},
VALUE => $ARGS{'GroupString'},
OPERATOR => $ARGS{'GroupOp'}
diff --git a/rt/share/html/Admin/Queues/Scrips.html b/rt/share/html/Admin/Queues/Scrips.html
index 02d91a0..e179cce 100755
--- a/rt/share/html/Admin/Queues/Scrips.html
+++ b/rt/share/html/Admin/Queues/Scrips.html
@@ -47,24 +47,13 @@
%# END BPS TAGGED BLOCK }}}
<& /Admin/Elements/Header, Title => $title &>
<& /Elements/Tabs &>
-
-% unless ( $QueueObj->Disabled ) { # Global scrips does not apply to disabled queues
-<h2><&|/l&>Scrips which apply to all queues</&></h2>
-<& /Admin/Elements/ListGlobalScrips &>
-<br />
-% }
<& /Admin/Elements/EditScrips, title => $title, %ARGS &>
<%init>
my $QueueObj = RT::Queue->new($session{'CurrentUser'});
$QueueObj->Load($id);
+Abort(loc("Queue [_1] not found",$id)) unless $QueueObj->id;
-my $title;
-
-if ($QueueObj->id) {
- $title = loc("Modify scrips for queue [_1]", $QueueObj->Name);
-} else {
- Abort(loc("Queue [_1] not found",$id));
-}
+my $title = loc("Modify scrips for queue [_1]", $QueueObj->Name);
</%init>
<%ARGS>
diff --git a/rt/share/html/Admin/Queues/Template.html b/rt/share/html/Admin/Queues/Template.html
index 8e4cd23..7e58ec7 100755
--- a/rt/share/html/Admin/Queues/Template.html
+++ b/rt/share/html/Admin/Queues/Template.html
@@ -59,10 +59,10 @@
%# hang onto the queue id
<input type="hidden" class="hidden" name="Queue" value="<%$Queue%>" />
<& /Admin/Elements/ModifyTemplate,
- Name => $TemplateObj->Name,
- Description => $TemplateObj->Description,
- Content => $TemplateObj->Content,
- Type => $TemplateObj->Type
+ Name => $TemplateObj->Name // $ARGS{Name},
+ Description => $TemplateObj->Description // $ARGS{Description},
+ Content => $TemplateObj->Content // $ARGS{Content},
+ Type => $TemplateObj->Type // $ARGS{Type},
&>
<& /Elements/Submit, Label => $SubmitLabel, Reset => 1 &>
</form>
@@ -80,7 +80,6 @@ if ( !$Create ) {
if ( $Template eq 'new' ) {
my ( $val, $msg )
= $TemplateObj->Create( Queue => $Queue, Name => $Name, Type => $Type );
- Abort( loc( "Could not create template: [_1]", $msg ) ) unless ($val);
push @results, $msg;
} else {
$TemplateObj->Load($Template) || Abort( loc('No Template') );
@@ -102,6 +101,7 @@ if ( $TemplateObj->Id() ) {
my ( $ok, $msg ) = $TemplateObj->CompileCheck;
push @results, $msg if !$ok;
} else {
+ $Create = 1;
$QueueObj = RT::Queue->new( $session{'CurrentUser'} );
$QueueObj->Load($Queue);
}
diff --git a/rt/share/html/Admin/Queues/index.html b/rt/share/html/Admin/Queues/index.html
index 672b4fa..4b01825 100755
--- a/rt/share/html/Admin/Queues/index.html
+++ b/rt/share/html/Admin/Queues/index.html
@@ -48,9 +48,28 @@
<& /Admin/Elements/Header, Title => loc("Admin queues") &>
<& /Elements/Tabs &>
+<h1><%$caption%></h1>
+<form method="post" action="<% RT->Config->Get('WebPath') %>/Admin/Queues/index.html">
+% foreach my $field( qw(Format Rows Page Order OrderBy) ) {
+% next unless defined $ARGS{ $field } && length $ARGS{ $field };
+<input type="hidden" name="<% $field %>" value="<% $ARGS{ $field } %>" />
+% }
+
+<select name="QueueField">
+% foreach my $col (qw(Name Description CorrespondAddress CommentAddress InitialPriority FinalPriority DefaultDueIn Lifecycle SubjectTag)) {
+<option <% $QueueField eq $col ? 'selected="selected"' : '' |n %> value="<% $col %>"><% loc($col) %></option>
+% }
+</select>
+<& /Elements/SelectMatch, Name => 'QueueOp', Default => $QueueOp &>
+<input size="8" name="QueueString" value="<% $QueueString %>" />
+<br />
+
+<input type="checkbox" class="checkbox" id="FindDisabledQueues" name="FindDisabledQueues" value="1" <% $FindDisabledQueues? 'checked="checked"': '' |n%> />
+<label for="FindDisabledQueues"><&|/l&>Include disabled queues in listing.</&></label>
+<div align="right"><input type="submit" class="button" value="<&|/l&>Go!</&>" /></div>
+</form>
-<h1><%$caption%></h1>
<p><&|/l&>Select a queue</&>:</p>
% unless ( $queues->Count ) {
<em><&|/l&>No queues matching search criteria found.</&></em>
@@ -58,7 +77,7 @@
<& /Elements/CollectionList,
OrderBy => 'Name',
Order => 'ASC',
- Rows => 50,
+ Rows => $Rows,
%ARGS,
Format => $Format,
Collection => $queues,
@@ -69,25 +88,6 @@
)],
&>
% }
-<form method="post" action="<% RT->Config->Get('WebPath') %>/Admin/Queues/index.html">
-% foreach my $field( qw(Format Rows Page Order OrderBy) ) {
-% next unless defined $ARGS{ $field } && length $ARGS{ $field };
-<input type="hidden" name="<% $field %>" value="<% $ARGS{ $field } %>" />
-% }
-
-<select name="QueueField">
-% foreach my $col (qw(Name Description CorrespondAddress CommentAddress InitialPriority FinalPriority DefaultDueIn)) {
-<option <% $QueueField eq $col ? 'selected="selected"' : '' |n %> value="<% $col %>"><% loc($col) %></option>
-% }
-</select>
-<& /Elements/SelectMatch, Name => 'QueueOp', Default => $QueueOp &>
-<input size="8" name="QueueString" value="<% $QueueString %>" />
-<br />
-
-<input type="checkbox" class="checkbox" name="FindDisabledQueues" value="1" <% $FindDisabledQueues? 'checked="checked"': '' |n%> />
-<&|/l&>Include disabled queues in listing.</&>
-<div align="right"><input type="submit" class="button" value="<&|/l&>Go!</&>" /></div>
-</form>
<%INIT>
my $queues = RT::Queues->new($session{'CurrentUser'});
@@ -113,6 +113,7 @@ if ( defined $QueueString && length $QueueString ) {
}
$Format ||= RT->Config->Get('AdminSearchResultFormat')->{'Queues'};
+my $Rows = RT->Config->Get('AdminSearchResultRows')->{'Queues'} || 50;
</%INIT>
<%ARGS>
@@ -120,6 +121,6 @@ $FindDisabledQueues => 0
$Format => undef
$QueueField => 'Name'
-$QueueOp => '='
+$QueueOp => 'LIKE'
$QueueString => ''
</%ARGS>
diff --git a/rt/share/html/Admin/Scrips/Create.html b/rt/share/html/Admin/Scrips/Create.html
new file mode 100644
index 0000000..7716ea8
--- /dev/null
+++ b/rt/share/html/Admin/Scrips/Create.html
@@ -0,0 +1,147 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<& /Admin/Elements/Header, Title => $title &>
+<& /Elements/Tabs &>
+<& /Elements/ListActions, actions => \@results &>
+
+<form method="post" action="Create.html" id="CreateScrip" name="CreateScrip">
+<input type="hidden" class="hidden" name="Queue" value="<% $Queue %>" />
+<input type="hidden" class="hidden" name="Global" value="<% $Global || q{} %>" />
+
+<&| /Widgets/TitleBox, title => loc('Basics') &>
+<table>
+
+<& Elements/EditBasics, %ARGS, Scrip => $scrip, Queue => $queue_obj &>
+
+<tr><td class="label"><&|/l&>Stage</&>:</td><td class="value">\
+<& /Admin/Elements/SelectStage, Default => $ARGS{"Stage"} &></td></tr>
+
+<tr><td class="label">&nbsp;</td><td>
+<input type="hidden" class="hidden" name="SetEnabled" value="1" />
+<input type="checkbox" class="checkbox" name="Enabled" value="1" <% $ARGS{'Enabled'}? 'checked="checked"': '' |n%> />
+<label for="Enabled"><&|/l&>Enabled (Unchecking this box disables this scrip)</&></label>
+</td></tr>
+
+</table>
+</&>
+
+<& /Elements/Submit,
+ Label => loc('Create'),
+ Name => 'Create',
+&>
+
+% if ($session{CurrentUser}->HasRight(Object => $RT::System, Right => 'ExecuteCode')) {
+<& Elements/EditCustomCode, %ARGS, Scrip => $scrip &>
+<& /Elements/Submit,
+ Label => loc('Create'),
+ Name => 'Create',
+&>
+% }
+
+</form>
+<%ARGS>
+$Queue => 0
+$Create => undef
+$Global => undef
+</%ARGS>
+<%INIT>
+my @results;
+
+$ARGS{'Enabled'} = 1 unless $ARGS{'SetEnabled'};
+
+my $queue_obj;
+if ( $Queue ) {
+ $queue_obj = RT::Queue->new( $session{'CurrentUser'} );
+ $queue_obj->Load( $Queue );
+ Abort( loc("Couldn't load queue [_1]", $Queue) )
+ unless $queue_obj->id;
+}
+
+my $title;
+if ( $queue_obj ) {
+ $title = loc('Create a scrip and add to queue [_1]', $queue_obj->Name );
+} else {
+ $title = loc('Create a global scrip');
+}
+
+my $scrip = RT::Scrip->new( $session{'CurrentUser'} );
+if ( $Create ) {
+ my ($status, $msg) = $scrip->Create(
+ Description => $ARGS{"Description"},
+
+ Queue => $Queue || 0,
+ Stage => $ARGS{"Stage"},
+ Disabled => $ARGS{"Disabled"},
+
+ ScripAction => $ARGS{"ScripAction"},
+ ScripCondition => $ARGS{"ScripCondition"},
+ Template => $ARGS{"Template"},
+
+ CustomPrepareCode => $ARGS{"CustomPrepareCode"},
+ CustomCommitCode => $ARGS{"CustomCommitCode"},
+ CustomIsApplicableCode => $ARGS{"CustomIsApplicableCode"},
+ );
+
+ MaybeRedirectForResults(
+ Force => 1,
+ Actions => [ $msg ],
+ Path => 'Admin/Scrips/Modify.html',
+ Arguments => {
+ id => $scrip->id,
+ $Queue ? (
+ From => $Queue,
+ ) : $Global ? (
+ From => 'Global',
+ ) : ()
+ },
+ ) if $status;
+
+ push @results, $msg;
+}
+
+</%INIT>
diff --git a/rt/share/html/Admin/Elements/SelectScrip b/rt/share/html/Admin/Scrips/Elements/EditBasics
index e55804a..ed7a800 100755..100644
--- a/rt/share/html/Admin/Elements/SelectScrip
+++ b/rt/share/html/Admin/Scrips/Elements/EditBasics
@@ -45,28 +45,30 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>">
-<option value=""
-<% $Default eq undef && qq[ selected="selected"] |n %>
->-</option>
-%while (my $Scrip = $Scrips->Next) {
-<option value="<% $Scrip->Id %>"
-<% $Scrip->Id == $Default && qq[ selected="selected"] |n %>
-><% loc($Scrip->Name) %>
-</option>
-%}
-</select>
+<tr><td class="label"><&|/l&>Description</&>:</td><td class="value">\
+<input name="Description" \
+ size="60" \
+ value="<% $ARGS{"Description"} || $Scrip->Description || '' %>" />
+</td></tr>
-<%INIT>
-my $Scrips = RT::Scrips->new($session{'CurrentUser'});
-$Scrips->UnLimit;
+<tr><td class="label"><&|/l&>Condition</&>:</td><td class="value">\
+<& /Admin/Elements/SelectScripCondition,
+ Default => $ARGS{"ScripCondition"} || $Scrip->ConditionObj->Id,
+&></td></tr>
+<tr><td class="label"><&|/l&>Action</&>:</td><td class="value">\
+<& /Admin/Elements/SelectScripAction,
+ Default => $ARGS{"ScripAction"} || $Scrip->ActionObj->Id,
+&></td></tr>
+<tr><td class="label"><&|/l&>Template</&>:</td><td class="value">\
+<& SelectTemplate,
+ Default => $ARGS{"Template"}, Scrip => $Scrip, Queue => $Queue,
+&></td></tr>
-</%INIT>
<%ARGS>
-
-$Default => undef
-$Name => 'Scrip'
-
+$Scrip
+$Queue => undef
</%ARGS>
+<%INIT>
+</%INIT>
diff --git a/rt/share/html/Ticket/Elements/ShowMembers b/rt/share/html/Admin/Scrips/Elements/EditCustomCode
index 25011ef..dfd0fdb 100755..100644
--- a/rt/share/html/Ticket/Elements/ShowMembers
+++ b/rt/share/html/Admin/Scrips/Elements/EditCustomCode
@@ -45,30 +45,33 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<ul>
-% while (my $link = $members->Next) {
-<li><& /Elements/ShowLink, URI => $link->BaseURI &><br />
-% next if $link->BaseObj and $checked->{$link->BaseObj->id};
-% if ($depth < 8) {
-<& /Ticket/Elements/ShowMembers, Ticket => $link->BaseObj, depth => ($depth+1), checked => $checked &>
-% }
-</li>
-% }
-</ul>
-
-<%INIT>
-
-return unless $Ticket;
-my $members = $Ticket->Members;
-return unless $members->Count;
+<&| /Widgets/TitleBox, title => loc('User Defined conditions and results') &>
-return if $checked->{$Ticket->id};
+<table>
+<tr><td colspan="2" class="comment">
+<i><&|/l&>(Use these fields when you choose 'User Defined' for a condition or action)</&></i>
+</td></tr>
-$checked->{$Ticket->id} = 1;
-</%INIT>
+% while ( my ($method, $desc) = splice @list, 0, 2 ) {
+<tr><td class="labeltop"><% $desc %>:</td><td class="value">
+% my $code = $ARGS{ $method } || $Scrip->$method() || '';
+% my $lines = @{[ $code =~ /\n/gs ]} + 3;
+% $lines = $min_lines if $lines < $min_lines;
+<textarea cols="80" rows="<% $lines %>" name="<% $method %>"><% $code %></textarea>
+</td></tr>
+% }
+</table>
+</&>
<%ARGS>
-$Ticket => undef
-$depth => 1
-$checked => {}
+$Scrip
</%ARGS>
+<%INIT>
+my @list = (
+ CustomIsApplicableCode => loc('Custom condition'),
+ CustomPrepareCode => loc('Custom action preparation code'),
+ CustomCommitCode => loc('Custom action commit code'),
+);
+
+my $min_lines = 10;
+</%INIT>
diff --git a/rt/share/html/Admin/Elements/SelectTemplate b/rt/share/html/Admin/Scrips/Elements/SelectTemplate
index 02b7840..ee7e96b 100755..100644
--- a/rt/share/html/Admin/Elements/SelectTemplate
+++ b/rt/share/html/Admin/Scrips/Elements/SelectTemplate
@@ -45,33 +45,64 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>">
-<option value=""
-<% defined($Default) && $Default eq 'none' && qq[ selected="selected"] |n %>>-</option>
-%while (my $Template = $PrimaryTemplates->Next) {
-<option value="<%$Template->Id%>" <% ($Template->Id == $Default) && qq[ selected="selected"] |n %>><% loc($Template->Name) %></option>
-%}
-%while (my $Template = $OtherTemplates->Next) {
-<option value="<%$Template->Id%>" <% defined($Default) && ($Template->Id == $Default) && qq[ selected="selected"] |n %>><&|/l, loc($Template->Name) &>Global template: [_1]</&></option>
-%}
+<select name="<% $Name %>">
+<option value=""><% $current || '-' %></option>
+% foreach my $name ( @list ) {
+<option value="<% $name %>" \
+ <% lc($Default||'') eq lc $name ? 'selected="selected"' : '' |n %>
+><% loc($name) %></option>
+% }
</select>
-
+<%ARGS>
+$Name => 'Template'
+$Queue => undef
+$Scrip => undef
+$Default => undef
+</%ARGS>
<%INIT>
+my $current;
+$current = $Scrip->Template if $Scrip;
+
+my @list;
+if ( $Scrip && $Scrip->id && !$Scrip->IsAddedToAny ) {
+ my $templates = RT::Templates->new($session{'CurrentUser'});
+ $templates->UnLimit;
+ @list = $templates->DistinctFieldValues('Name');
+} else {
+ my $global = RT::Templates->new($session{'CurrentUser'});
+ $global->LimitToGlobal;
+
+ my %global;
-my $PrimaryTemplates = RT::Templates->new($session{'CurrentUser'});
-if ($Queue != 0) {
-$PrimaryTemplates->LimitToQueue($Queue);
-$PrimaryTemplates->OrderBy(FIELD => 'Name');
+ while (my $t = $global->Next) {
+ $global{ lc $t->Name } = $t->Name
+ }
+
+ my @queues;
+ push @queues, @{ $Scrip->AddedTo->ItemsArrayRef } if $Scrip && $Scrip->id;
+ push @queues, $Queue if $Queue && $Queue->id;
+
+ my (%names, %counters);
+ foreach my $queue ( @queues ) {
+ my $templates = RT::Templates->new($session{'CurrentUser'});
+ $templates->LimitToQueue( $queue->id );
+ foreach my $name ( map $_->Name, @{ $templates->ItemsArrayRef } ) {
+ next if $global{ lc $name };
+ $counters{ lc $name }++;
+ $names{lc $name} = $name;
+ }
+ }
+ delete $counters{ $_ }
+ foreach grep $counters{$_} != @queues,
+ keys %counters;
+
+ @list =
+ map $global{$_} || $names{$_},
+ keys %global, keys %counters;
}
-my $OtherTemplates = RT::Templates->new($session{'CurrentUser'});
-$OtherTemplates->LimitToGlobal;
-$OtherTemplates->OrderBy(FIELD => 'Name');
+@list = sort { lc loc($a) cmp lc loc($b) } @list
+ if @list;
</%INIT>
-<%ARGS>
-$Queue => undef
-$Default => 'none'
-$Name => 'Template'
-</%ARGS>
diff --git a/rt/share/html/Admin/Scrips/Modify.html b/rt/share/html/Admin/Scrips/Modify.html
new file mode 100644
index 0000000..b6315ad
--- /dev/null
+++ b/rt/share/html/Admin/Scrips/Modify.html
@@ -0,0 +1,141 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<& /Admin/Elements/Header, Title => loc("Modify scrip #[_1]", $id) &>
+<& /Elements/Tabs &>
+<& /Elements/ListActions, actions => \@results &>
+
+<form method="post" action="Modify.html" id="ModifyScrip" name="ModifyScrip">
+<input type="hidden" class="hidden" name="id" value="<% $id %>" />
+<input type="hidden" class="hidden" name="From" value="<% $From || q{} %>" />
+
+<&| /Widgets/TitleBox, title => loc('Basics') &>
+<table>
+
+<& Elements/EditBasics, %ARGS, Scrip => $scrip &>
+
+% if ( not $disabled ) {
+<tr><td class="label"><a href="Objects.html?id=<% $id %>"><&|/l&>Applies to</&></a>:</td>
+<td class="value">\
+% if ( $scrip->IsGlobal ) {
+<a href="<% RT->Config->Get('WebPath') %>/Admin/Global/Scrips.html"><% loc('Global') %></a>
+% } else {
+% my $added_to = $scrip->AddedTo;
+% my $found = 0;
+% while ( my $queue = $added_to->Next ) {
+% $m->out(', ') if $found++;
+<a href="<% RT->Config->Get('WebPath') %>/Admin/Queues/Scrips.html?id=<% $queue->id %>">\
+<% $queue->Name %></a>\
+% last if $found == 10;
+% }
+% $m->out(', ...') if $found == 10;
+% }
+<td></tr>
+% }
+
+<tr><td class="label">&nbsp;</td><td>
+<input type="hidden" class="hidden" name="SetEnabled" value="1" />
+<input type="checkbox" class="checkbox" name="Enabled" id="Enabled" value="1" <% $EnabledChecked |n%> />
+<label for="Enabled"><&|/l&>Enabled (Unchecking this box disables this scrip)</&></label>
+</td></tr>
+
+</table>
+</&>
+
+<& /Elements/Submit, Label => loc('Save Changes'), Name => 'Update', Reset => 1 &>
+
+% if ($session{CurrentUser}->HasRight(Object => $RT::System, Right => 'ExecuteCode')) {
+<& Elements/EditCustomCode, %ARGS, Scrip => $scrip &>
+<& /Elements/Submit, Label => loc('Save Changes'), Name => 'Update', Reset => 1 &>
+% }
+
+</form>
+<%ARGS>
+$id => undef
+$Update => undef
+$From => undef
+</%ARGS>
+<%INIT>
+my $scrip = RT::Scrip->new( $session{'CurrentUser'} );
+$scrip->Load( $id );
+Abort(loc("Couldn't load scrip #[_1]", $id))
+ unless $scrip->id;
+
+my $disabled = $scrip->Disabled;
+
+if ( $Update ) {
+ my @attribs = qw(
+ Description
+ ScripAction ScripCondition
+ CustomPrepareCode CustomCommitCode CustomIsApplicableCode
+ );
+ push @attribs, "Template" if defined $ARGS{Template} and length $ARGS{Template};
+ if ($ARGS{"SetEnabled"}) {
+ push @attribs, "Disabled";
+ $ARGS{"Disabled"} = not $ARGS{"Enabled"};
+ }
+ my @results = UpdateRecordObject(
+ AttributesRef => \@attribs,
+ Object => $scrip,
+ ARGSRef => \%ARGS
+ );
+ MaybeRedirectForResults(
+ Actions => \@results,
+ Arguments => {
+ id => $scrip->id,
+ From => $From,
+ },
+ );
+}
+
+my $EnabledChecked = qq[checked="checked"];
+$EnabledChecked = '' if $disabled;
+
+my @results;
+my ($ok, $msg) = $scrip->CompileCheck;
+push @results, $msg if !$ok;
+</%INIT>
diff --git a/rt/share/html/Admin/Scrips/Objects.html b/rt/share/html/Admin/Scrips/Objects.html
new file mode 100644
index 0000000..58ca59c
--- /dev/null
+++ b/rt/share/html/Admin/Scrips/Objects.html
@@ -0,0 +1,172 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<& /Admin/Elements/Header, Title => $title &>
+<& /Elements/Tabs &>
+<& /Elements/ListActions &>
+
+<form action="Objects.html" method="post" name="AddRemoveScrip">
+<input type="hidden" class="hidden" name="id" value="<% $id %>" />
+<input type="hidden" class="hidden" name="From" value="<% $From || q{} %>" />
+
+% if ( $global ) {
+<h2><&|/l&>Applies to all objects</&></h2>
+<label>
+<input type="checkbox" name="RemoveScrip-<% $id %>" value="0" />
+<&|/l&>check this box to remove this scrip from all objects and be able to choose specific objects.</&>
+</label>
+
+<& /Admin/Elements/SelectStageForAdded,
+ Default => $Stage || $global->Stage,
+ Label => loc("Select global scrip stage:")
+ &>
+% } else {
+<h2><&|/l&>Apply globally</&></h2>
+
+<label>
+<input type="checkbox" name="AddScrip-<% $id %>" value="0" />
+<&|/l&>check this box to apply this scrip to all objects.</&>
+</label>
+
+<h2><&|/l&>Selected objects</&></h2>
+<& /Elements/CollectionList,
+ OrderBy => 'id',
+ Order => 'ASC',
+ %ARGS,
+ Collection => $added,
+ Rows => 0,
+ Page => 1,
+ Format => $format,
+ DisplayFormat => "'__CheckBox.{RemoveScrip-$id}__','__ScripStage.{$id}__',". $format,
+ AllowSorting => 0,
+ ShowEmpty => 0,
+ PassArguments => [
+ qw(id Stage Format Rows Page Order OrderBy),
+ ],
+&>
+
+<h2><&|/l&>Unselected objects</&></h2>
+<& /Elements/CollectionList,
+ OrderBy => 'Name',
+ Order => 'ASC',
+ %ARGS,
+ Collection => $not_added,
+ Rows => $rows,
+ Format => $format,
+ DisplayFormat => "'__CheckBox.{AddScrip-". $id ."}__',". $format,
+ AllowSorting => 1,
+ ShowEmpty => 0,
+ PassArguments => [
+ qw(id Stage Format Rows Page Order OrderBy),
+ ],
+&>
+
+<& /Admin/Elements/SelectStageForAdded, Default => $Stage &>
+<div style="text-align:right">
+<% loc('You can change template if needed') %>:
+<& Elements/SelectTemplate, Scrip => $scrip, Default => $Template &>
+</div>
+
+% }
+
+<& /Elements/Submit, Name => 'Update' &>
+</form>
+
+<%ARGS>
+$id => undef
+$Stage => undef
+$Template => ''
+$Update => 0
+$From => undef
+</%ARGS>
+<%INIT>
+my $scrip = RT::Scrip->new( $session{'CurrentUser'} );
+$scrip->Load($id) or Abort(loc("Could not load scrip #[_1]", $id));
+$id = $scrip->id;
+
+my $global = $scrip->IsGlobal;
+
+if ( $Update ) {
+ my (@results);
+ if ( $Template ) {
+ my ($status, $msg) = $scrip->SetTemplate( $Template );
+ push @results, loc('Template: [_1]', $msg);
+ }
+ if ( defined (my $del = $ARGS{"RemoveScrip-$id"}) ) {
+ foreach my $id ( ref $del? (@$del) : ($del) ) {
+ my ($status, $msg) = $scrip->RemoveFromObject( $id );
+ push @results, $msg;
+ }
+ }
+ if ( defined (my $add = $ARGS{"AddScrip-$id"}) ) {
+ foreach my $id ( ref $add? (@$add) : ($add) ) {
+ my ($status, $msg) = $scrip->AddToObject( $id, Stage => $Stage );
+ push @results, $msg;
+ }
+ }
+ if ($global and $global->Stage ne $Stage) {
+ my ($status, $msg) = $global->SetStage($Stage);
+ push @results, $msg;
+ }
+ MaybeRedirectForResults(
+ Actions => \@results,
+ Arguments => {
+ id => $id,
+ From => $From,
+ },
+ );
+}
+
+my $added = $scrip->AddedTo;
+my $not_added = $scrip->NotAddedTo;
+
+my $format = RT->Config->Get('AdminSearchResultFormat')->{'Queues'};
+my $rows = RT->Config->Get('AdminSearchResultRows')->{'Queues'} || 50;
+
+my $title = loc('Modify associated objects for scrip #[_1]', $id);
+
+</%INIT>
diff --git a/rt/share/html/Admin/Elements/ListGlobalScrips b/rt/share/html/Admin/Scrips/index.html
index 3f97dbd..7c54dcf 100755..100644
--- a/rt/share/html/Admin/Elements/ListGlobalScrips
+++ b/rt/share/html/Admin/Scrips/index.html
@@ -45,24 +45,28 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-% unless ( $Scrips->Count ) {
-<p><i><&|/l&>(No scrips)</&></i></p>
-% } else {
+<& /Admin/Elements/Header, Title => loc('Select a Scrip') &>
+<& /Elements/Tabs &>
<& /Elements/CollectionList,
- OrderBy => 'Description',
- Order => 'ASC',
- Rows => 0,
+ OrderBy => 'Description',
+ Order => 'ASC',
+ Rows => $Rows,
%ARGS,
- Format => $Format,
- Collection => $Scrips,
+ Collection => $scrips,
+ Format => $Format,
+ AllowSorting => 1,
&>
+<%args>
+$Format => undef
+</%args>
+<%INIT>
+my $scrips = RT::Scrips->new( $session{'CurrentUser'} );
+$scrips->FindAllRows;
+$scrips->UnLimit;
-% }
+$m->callback(CallbackName => 'Massage', Scrips => $scrips);
-<%init>
-my $Format = RT->Config->Get('AdminSearchResultFormat')->{'GlobalScrips'};
-
-my $Scrips = RT::Scrips->new( $session{'CurrentUser'} );
-$Scrips->LimitToGlobal;
+$Format ||= RT->Config->Get('AdminSearchResultFormat')->{'Scrips'};
+my $Rows = RT->Config->Get('AdminSearchResultRows')->{'Scrips'} || 50;
</%INIT>
diff --git a/rt/share/html/Admin/Tools/Configuration.html b/rt/share/html/Admin/Tools/Configuration.html
index f60cdba..fea3a5f 100644
--- a/rt/share/html/Admin/Tools/Configuration.html
+++ b/rt/share/html/Admin/Tools/Configuration.html
@@ -87,7 +87,7 @@ foreach my $key ( RT->Config->Options( Overridable => undef, Sorted => 0 ) ) {
<tr class="<% $index_conf%2 ? 'oddline' : 'evenline'%>">
<td class="collection-as-table"><% $key %></td>
<td class="collection-as-table">
-% if ( $key =~ /Password(?!Length)/i ) {
+% if ( $key =~ /Password/i and $key !~ /MinimumPasswordLength|AllowLoginPasswordAutoComplete/ ) {
<em><% loc('Password not printed' ) %></em>\
% } else {
<% stringify($val) |n %>\
@@ -150,6 +150,7 @@ for my $type (qw/Tickets Queues Transactions Groups PrivilegedUsers Unprivileged
$class =~ s/Privileged|Unprivileged//;
my $collection = $class->new(RT->SystemUser);
$collection->UnLimit;
+ $collection->FindAllRows; # find disabled
if ($type =~ /PrivilegedUsers/) {
$user_count = $collection->CountAll;
$collection->LimitToPrivileged;
@@ -179,6 +180,15 @@ for my $type (qw/Tickets Queues Transactions Groups PrivilegedUsers Unprivileged
</ol>
</&>
+<&|/Widgets/TitleBox, title => loc("Static file search order") &>
+<ol>
+% foreach my $path ( (map {$_->{root}} RT->Config->Get('StaticRoots')),
+% RT::Interface::Web->StaticRoots ) {
+<li><% $path %></li>
+% }
+</ol>
+</&>
+
<&|/Widgets/TitleBox, title => loc("Perl library search order") &>
<ol>
% foreach my $inc (@INC) {
@@ -187,6 +197,22 @@ for my $type (qw/Tickets Queues Transactions Groups PrivilegedUsers Unprivileged
</ol>
</&>
+<&|/Widgets/TitleBox, title=> loc("Loaded config files") &>
+<ol>
+% foreach my $config (RT->Config->LoadedConfigs) {
+% if ($config->{site}) {
+<li><strong><% $config->{filename} %></strong></li>
+% } else {
+<li><% $config->{filename} %></li>
+% }
+% }
+</ol>
+</&>
+
+<&|/Widgets/TitleBox, title=> loc("Logging summary") &>
+ <& /Admin/Elements/LoggingSummary &>
+</&>
+
</td>
</table>
@@ -199,6 +225,7 @@ for my $type (qw/Tickets Queues Transactions Groups PrivilegedUsers Unprivileged
% my $attrs = $RT::System->Attributes;
% my $index_size = 0;
% while ( my $attr = $attrs->Next ) {
+% next if $attr->Name eq 'UpgradeHistory';
<tr class="<% $index_size%2 ? 'oddline' : 'evenline'%>">
% if ($attr->Name eq 'UserLogo') {
% my $content = $attr->Content;
@@ -249,6 +276,10 @@ if ($item =~ /^\s*(.*?)\s*v(\S+);/) {
</table>
</&>
+<&|/Widgets/TitleBox, title => loc("RT upgrade history")&>
+<& /Admin/Elements/UpgradeHistory &>
+</&>
+
<&|/Widgets/TitleBox, title => loc("Perl configuration") &>
% require Config;
<pre>
@@ -256,6 +287,66 @@ if ($item =~ /^\s*(.*?)\s*v(\S+);/) {
</pre>
</&>
+<&|/Widgets/TitleBox, title=> loc("Environment variables") &>
+<table border="0" cellspacing="0" cellpadding="5" width="100%" class="collection">
+<tr class="collection-as-table">
+<th class="collection-as-table"><&|/l&>Variable</&></th>
+<th class="collection-as-table"><&|/l&>Value</&></th>
+</tr>
+% my $row = 0;
+% for my $key (sort keys %ENV) {
+<tr class="collection-as-table <% $row++ %2 ? 'oddline' : 'evenline'%>">
+<td class="collection-as-table"><% $key %></td>
+<td class="collection-as-table"><% $ENV{$key} %></td>
+</tr>
+% }
+</table>
+</&>
+
+<&|/Widgets/TitleBox, title => loc("Operating System") &>
+<table border="0" cellspacing="0" cellpadding="5" width="100%" class="collection">
+<tr class="collection-as-table evenline">
+<td class="collection-as-table">Deployment type</td>
+<td class="collection-as-table"><%
+ $INC{'mod_perl.pm'} ? "mod_perl" :
+ $INC{'FCGI.pm'} ? "fastcgi" :
+ "standalone" %>
+</td>
+</tr>
+<%perl>
+my @os = (
+ "Distribution" => 'lsb_release --all',
+ "uname -a" => 'uname -a',
+ "SELinux status" => 'getenforce',
+ "Apache" => [map { "$_ -V" } qw(apache2ctl apachectl httpdctl)],
+ "nginx" => 'nginx -V 2>&1',
+ "lighttpd" => 'lighttpd -V',
+);
+my @os_info;
+
+while (my ($name, $cmd) = splice @os, 0, 2) {
+ $cmd = [$cmd] unless ref $cmd eq 'ARRAY';
+ for my $run (@$cmd) {
+ $run .= " </dev/null";
+ $run .= " 2>/dev/null" unless $run =~ /2>/;
+ my $result = `$run`;
+ if (defined $result and $result =~ /\S/) {
+ push @os_info, $name => $result;
+ last;
+ }
+ }
+}
+my $row = 1;
+</%perl>
+% while (my ($name, $output) = splice @os_info, 0, 2) {
+<tr class="collection-as-table <% $row++ % 2 ? "oddline" : "evenline" %>">
+<td class="collection-as-table"><% $name %></td>
+<td class="collection-as-table" style="white-space: pre-wrap; font-family: monospace"><% $output %></td>
+</tr>
+% }
+</table>
+</&>
+
<%INIT>
use Data::Dumper;
local $Data::Dumper::Terse = 1;
@@ -264,7 +355,7 @@ local $Data::Dumper::Indent = 2;
sub stringify {
my $value = shift;
my $output = Dumper $value;
- RT::Interface::Web::EscapeUTF8(\$output);
+ RT::Interface::Web::EscapeHTML(\$output);
$output =~ s/ /&nbsp;/g;
$output =~ s!\n!<br />!g;
return $output;
diff --git a/rt/share/html/Admin/Tools/Queries.html b/rt/share/html/Admin/Tools/Queries.html
index 23025ec..66427de 100644
--- a/rt/share/html/Admin/Tools/Queries.html
+++ b/rt/share/html/Admin/Tools/Queries.html
@@ -53,7 +53,7 @@ unless ($session{'CurrentUser'}->HasRight( Object=> $RT::System, Right => 'Super
</%init>
<& /Admin/Elements/Header, Title => $title &>
<& /Elements/Tabs &>
-<script type="text/javascript" src="<%RT->Config->Get('WebPath')%>/NoAuth/js/jquery.tablesorter.min.js"></script>
+<script type="text/javascript" src="<%RT->Config->Get('WebPath')%>/static/js/jquery.tablesorter.min.js"></script>
<&|/Widgets/TitleBox, title => loc('SQL Queries') &>
% my $history = $RT::Handle->QueryHistory;
diff --git a/rt/share/html/Admin/Tools/Shredder/Elements/ObjectCheckBox b/rt/share/html/Admin/Tools/Shredder/Elements/ObjectCheckBox
index 757e106..e333d07 100644
--- a/rt/share/html/Admin/Tools/Shredder/Elements/ObjectCheckBox
+++ b/rt/share/html/Admin/Tools/Shredder/Elements/ObjectCheckBox
@@ -48,12 +48,12 @@
<%ARGS>
$Object => undef
</%ARGS>
-<input type="checkbox" name="WipeoutObject" value="<% $Object->_AsString %>" />
+<input type="checkbox" name="WipeoutObject" value="<% $Object->UID %>" />
<span>
% if( $m->comp_exists( $path ) ) {
% $m->comp( $path, Object => $Object );
% } else {
-<% $Object->_AsString %>
+<% $Object->UID %>
% }
</span><br />
<%ONCE>
diff --git a/rt/share/html/Admin/Tools/Shredder/Elements/PluginHelp b/rt/share/html/Admin/Tools/Shredder/Elements/PluginHelp
index bf37a89..cc08276 100644
--- a/rt/share/html/Admin/Tools/Shredder/Elements/PluginHelp
+++ b/rt/share/html/Admin/Tools/Shredder/Elements/PluginHelp
@@ -59,8 +59,8 @@ my %plugins = $plugin_obj->List;
<%INIT>
my $file = $plugins{ $Plugin };
unless( $file ) {
- $RT::Logger->error( "Couldn't find plugin '$Plugin'" );
- return;
+ $RT::Logger->error( "Couldn't find plugin '$Plugin'" );
+ return;
}
use RT::Shredder::POD qw();
diff --git a/rt/share/html/Admin/Tools/Shredder/autohandler b/rt/share/html/Admin/Tools/Shredder/autohandler
index 62909b0..9a5ecd1 100644
--- a/rt/share/html/Admin/Tools/Shredder/autohandler
+++ b/rt/share/html/Admin/Tools/Shredder/autohandler
@@ -47,13 +47,13 @@
%# END BPS TAGGED BLOCK }}}
<%INIT>
unless( $session{'CurrentUser'}->HasRight( Right => 'SuperUser', Object => $RT::System ) ) {
- return $m->comp( 'Elements/Error/NoRights' );
+ return $m->comp( 'Elements/Error/NoRights' );
}
use RT::Shredder ();
my $path = RT::Shredder->StoragePath;
unless( -d $path && -w _ ) {
- return $m->comp( 'Elements/Error/NoStorage', Path => $path );
+ return $m->comp( 'Elements/Error/NoStorage', Path => $path );
}
$m->call_next(%ARGS);
diff --git a/rt/share/html/Admin/Tools/Theme.html b/rt/share/html/Admin/Tools/Theme.html
index 83f88a9..3a0c71b 100644
--- a/rt/share/html/Admin/Tools/Theme.html
+++ b/rt/share/html/Admin/Tools/Theme.html
@@ -51,7 +51,7 @@
<& /Elements/Tabs &>
<& /Elements/ListActions, actions => \@results &>
-<script type="text/javascript" src="<%RT->Config->Get('WebPath')%>/NoAuth/js/farbtastic.js"></script>
+<script type="text/javascript" src="<%RT->Config->Get('WebPath')%>/static/js/farbtastic.js"></script>
<div id="simple-customize">
<div id="upload-logo">
@@ -61,26 +61,31 @@
<label for="logo-upload"><&|/l&>Upload a new logo</&>:</label>
<input type="file" name="logo-upload" id="logo-upload" /><br />
<div class="gd-support">
-% if (%gd_can) {
+% if ($valid_image_types) {
<&|/l, $valid_image_types &>Your system supports automatic color suggestions for: [_1]</&>
% } else {
<&|/l&>GD is disabled or not installed. You can upload an image, but you won't get automatic color suggestions.</&>
% }
</div>
- <input name="reset_logo" value="Reset to default RT Logo" type="submit" />
- <input type="submit" value="Upload" />
+ <input name="reset_logo" value="<&|/l&>Reset to default RT Logo</&>" type="submit" />
+ <input type="submit" value="<&|/l&>Upload</&>" />
</form>
</div>
<div id="customize-theme">
- <h2>Customize the RT theme</h2>
+ <h2><&|/l&>Customize the RT theme</&></h2>
<ol>
<li>
<label for="section"><&|/l&>Select a section</&>:</label>
<select id="section"></select>
</li>
<li>
- <div class="description"><&|/l&>Select a color for the section</&>:</div>
+ <div class="description">
+ <&|/l&>Select a color for the section</&>:
+ <div id="logo-picker-hint" style="display: none;">
+ <&|/l&>You can also click on the logo above to get colors!</&>
+ </div>
+ </div>
% if ($colors) {
<div class="primary-colors">
% for (@$colors) {
@@ -93,27 +98,29 @@
</div>
% }
<div id="color-picker"></div>
+ <canvas id="logo-color-picker" title="<&|/l&>Click to choose a color</&>"></canvas>
</li>
</ol>
</div>
</div>
<div id="custom-css">
- <h2>Custom CSS (Advanced)</h2>
-
+ <h2><&|/l&>Custom CSS (Advanced)</&></h2>
+
<form method="POST">
<textarea rows=20 id="user_css" name="user_css" wrap="off"><% $user_css %></textarea><br />
- <input id="try" type="button" class="button" value="Try" />
- <input id="reset" type="reset" value="Reset" type="submit" />
- <input name="reset_css" value="Reset to default RT Theme" type="submit" />
- <input value="Save" type="submit" />
+ <input id="try" type="button" class="button" value="<&|/l&>Try</&>" />
+ <input id="reset" type="reset" value="<&|/l&>Reset</&>" type="submit" />
+ <input name="reset_css" value="<&|/l&>Reset to default RT Theme</&>" type="submit" />
+ <input value="<&|/l&>Save</&>" type="submit" />
</form>
</div>
<%ONCE>
my @sections = (
- ['Page' => ['body']],
- ['Header' => ['div#quickbar', 'body.aileron #main-navigation #app-nav > li, body.aileron #main-navigation #app-nav > li > a, #prefs-menu > li, #prefs-menu > li > a, #logo .rtname']],
+ ['Page' => ['body', 'div#body']],
+ ['Menu bar' => ['div#quickbar', '#main-navigation #app-nav.sf-shadow > li, #main-navigation #app-nav.sf-shadow > li > a, #prefs-menu > li, #prefs-menu > li > a, #logo .rtname']],
+ ['Title bar' => ['div#header']],
['Page title' => ['div#header h1']],
['Page content' => ['div#body']],
['Buttons' => ['input[type="reset"], input[type="submit"], input[class="button"]']],
@@ -173,7 +180,7 @@ jQuery(function($) {
newcss += "; border: none;"
/* Page title's text color is the selected color */
- if (applying[name].match(/#header/))
+ if (applying[name].match(/h1/))
newcss = "color: " + bg;
/* Nav doesn't need a background, but it wants text color */
@@ -193,7 +200,35 @@ jQuery(function($) {
change_color($(this).css('background-color'), $(this).css('color'));
});
-
+ // Setup the canvas color picker
+ $("#logo-theme-editor img").load(function() {
+ var logo = $(this);
+ var canvas = $("#logo-color-picker");
+ var el_canvas = canvas.get(0);
+
+ if (!el_canvas.getContext) return;
+
+ var context = el_canvas.getContext("2d");
+ el_canvas.width = logo.width();
+ el_canvas.height = logo.height();
+ context.drawImage(logo.get(0), 0, 0);
+
+ logo.hide().after(canvas);
+ canvas.show().click(function(ev) {
+ ev.preventDefault();
+ var R = 0,
+ G = 1,
+ B = 2,
+ A = 3;
+ var pixel = this.getContext("2d").getImageData(ev.offsetX, ev.offsetY, 1, 1).data;
+ // Farbtastic expects values in the range of 0..1
+ var rgba = $.makeArray(pixel).map(function(v,i) { return v / 255 });
+ var wheel = $.farbtastic("#color-picker");
+ wheel.setHSL( wheel.RGBToHSL( rgba.slice(R,A) ) );
+ // XXX TODO factor in the alpha channel too
+ });
+ $('#logo-picker-hint').show();
+ });
});
</script>
<%INIT>
@@ -207,14 +242,82 @@ my $text_threshold = 0.6;
my @results;
my $imgdata;
+my $colors;
+my $valid_image_types;
+if (not RT->Config->Get('DisableGD') and Convert::Color->require) {
+ require GD;
+
+ # Always find out what GD can read...
+ my %gd_can;
+ for my $type (qw(Png Jpeg Gif)) {
+ $gd_can{$type}++ if GD::Image->can("newFrom${type}Data");
+ }
+ $valid_image_types = join(", ", map { uc } sort { lc $a cmp lc $b } keys %gd_can);
+}
+
+my $analyze_img = sub {
+ return undef unless $valid_image_types;
+
+ my $imgdata = shift;
+ return undef unless $imgdata;
+
+ # ...but only analyze the image if we have data
+ my $img = GD::Image->new($imgdata);
+ unless ($img) {
+ # This has to be one damn long line because the loc() needs to be
+ # source parsed correctly.
+ push @results, loc("Automatically suggested theme colors aren't available for your image. This might be because you uploaded an image type that your installed version of GD doesn't support. Supported types are: [_1]. You can recompile libgd and GD.pm to include support for other image types.", $valid_image_types);
+ return undef;
+ }
+
+ my %colors;
+
+ my @wsamples;
+ my @hsamples;
+ if ($img->width > 200) {
+ @wsamples = map { int($img->width*($_/200)) } (0..199);
+ } else {
+ @wsamples = ( 0 .. $img->width - 1 );
+ }
+ if ($img->height > 200) {
+ @hsamples = map { int($img->height*($_/200)) } (0..199);
+ } else {
+ @hsamples = ( 0 .. $img->height - 1 );
+ }
+ for my $i (@wsamples) {
+ for my $j (@hsamples) {
+ my @color = $img->rgb( $img->getPixel($i,$j) );
+ my $hsl = Convert::Color->new('rgb:'.join(',',map { $_ / 255 } @color))->convert_to('hsl');
+ my $c = join(',',@color);
+ next if $hsl->lightness < 0.1;
+ $colors{$c} ||= { h => $hsl->hue, s => $hsl->saturation, l => $hsl->lightness, cnt => 0, c => $c};
+ $colors{$c}->{cnt}++;
+ }
+ }
+
+ for (values %colors) {
+ $_->{rank} = $_->{s} * $_->{cnt};
+ }
+ my @top5 = grep { defined and $_->{'l'} and $_->{'c'} }
+ (sort { $b->{rank} <=> $a->{rank} } values %colors)[0..5];
+ return \@top5;
+};
+
if (my $file_hash = _UploadedFile( 'logo-upload' )) {
- my ($id, $msg) = RT->System->SetAttribute( Name => "UserLogo",
- Description => "User-provided logo",
- Content => {
- type => $file_hash->{ContentType},
- data => $file_hash->{LargeContent},
- hash => md5_hex($file_hash->{LargeContent}),
- } );
+ $colors = $analyze_img->($file_hash->{LargeContent});
+
+ my $my_system = RT::System->new( $session{CurrentUser} );
+ my ( $id, $msg ) = $my_system->SetAttribute(
+ Name => "UserLogo",
+ Description => "User-provided logo",
+ Content => {
+ type => $file_hash->{ContentType},
+ data => $file_hash->{LargeContent},
+ hash => md5_hex($file_hash->{LargeContent}),
+ colors => $colors,
+ },
+ );
+
push @results, loc("Unable to set UserLogo: [_1]", $msg) unless $id;
$imgdata = $file_hash->{LargeContent};
@@ -227,6 +330,19 @@ else {
my $content = $attr->Content;
if (ref($content) eq 'HASH') {
$imgdata = $content->{data};
+ $colors = $content->{colors};
+ unless ($colors) {
+ # No colors cached; attempt to generate them
+ $colors = $content->{colors} = $analyze_img->($content->{data});
+ if ($content->{colors}) {
+ # Found colors; update the attribute
+ RT->System->SetAttribute(
+ Name => "UserLogo",
+ Description => "User-provided logo",
+ Content => $content,
+ );
+ }
+ }
}
else {
RT->System->DeleteAttribute('UserLogo');
@@ -256,63 +372,6 @@ if (!$user_css) {
} @sections
);
}
-
-# XXX: move this to some other modules
-
-use List::MoreUtils qw(uniq);
-
-my $has_color_analyzer = eval { require Convert::Color; 1 };
-my $colors;
-my %gd_can;
-my $valid_image_types;
-
-if (not RT->Config->Get('DisableGD') and $has_color_analyzer) {
- require GD;
-
- # Always find out what GD can read...
- for my $type (qw(Png Jpeg Gif)) {
- $gd_can{$type}++ if GD::Image->can("newFrom${type}Data");
- }
- $valid_image_types = join(", ", map { uc } sort { lc $a cmp lc $b } keys %gd_can);
-
- # ...but only analyze the image if we have data
- if ($imgdata) {
- if ( my $img = GD::Image->new($imgdata) ) {
- $colors = analyze_img($img);
- }
- else {
- # This has to be one damn long line because the loc() needs to be
- # source parsed correctly.
- push @results, loc("Automatically suggested theme colors aren't available for your image. This might be because you uploaded an image type that your installed version of GD doesn't support. Supported types are: [_1]. You can recompile libgd and GD.pm to include support for other image types.", $valid_image_types);
- }
- }
-}
-
-sub analyze_img {
- my $img = shift;
- my $color;
-
- for my $i (0..$img->width-1) {
- for my $j (0..$img->height-1) {
- my @color = $img->rgb( $img->getPixel($i,$j) );
- my $hsl = Convert::Color->new('rgb:'.join(',',map { $_ / 255 } @color))->convert_to('hsl');
- my $c = join(',',@color);
- next if $hsl->lightness < 0.1;
- $color->{$c} ||= { h => $hsl->hue, s => $hsl->saturation, l => $hsl->lightness, cnt => 0, c => $c};
- $color->{$c}->{cnt}++;
- }
- }
-
- for (values %$color) {
- $_->{rank} = $_->{s} * $_->{cnt};
- }
- my @top5 = grep { defined and $_->{'l'} and $_->{'c'} }
- (sort { $b->{rank} <=> $a->{rank} } values %$color)[0..5];
- if ((scalar uniq map {$_->{rank}} @top5) == 1) {
- $RT::Logger->info("Only one color found in logo image");
- }
- return \@top5;
-}
</%INIT>
<%ARGS>
$user_css => ''
diff --git a/rt/share/html/Admin/Tools/index.html b/rt/share/html/Admin/Tools/index.html
index 891fe00..b80ed0a 100644
--- a/rt/share/html/Admin/Tools/index.html
+++ b/rt/share/html/Admin/Tools/index.html
@@ -47,4 +47,4 @@
%# END BPS TAGGED BLOCK }}}
<& /Admin/Elements/Header, Title => loc('System Tools') &>
<& /Elements/Tabs &>
-<& /Elements/ListMenu, menu => Menu()->child('tools')->child('config')->child('tools') &>
+<& /Elements/ListMenu, menu => Menu()->child('admin')->child('tools') &>
diff --git a/rt/share/html/Admin/Users/DashboardsInMenu.html b/rt/share/html/Admin/Users/DashboardsInMenu.html
new file mode 100644
index 0000000..bdbcc98
--- /dev/null
+++ b/rt/share/html/Admin/Users/DashboardsInMenu.html
@@ -0,0 +1,118 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<& /Admin/Elements/Header, Title => $title &>
+<& /Elements/Tabs &>
+
+<& /Elements/ListActions, actions => \@actions &>
+
+<form method="post" action="DashboardsInMenu.html">
+<input type="hidden" name="id" value="<% $id %>" />
+<input type="hidden" name="Reset" value="1" />
+<input type="submit" class="button" value="<%loc('Reset to default')%>">
+</form>
+
+<br />
+
+% for my $pane (@panes) {
+<&|/Widgets/TitleBox, title => loc('Dashboards in menu'), bodyclass => "" &>
+<& /Widgets/SelectionBox:show, self => $pane &></&>
+<br />
+% }
+
+<%init>
+my @actions;
+my $UserObj = RT::User->new($session{'CurrentUser'});
+$UserObj->Load($id) || Abort("Couldn't load user '" . ($id || '') . "'");
+my $title = loc("Dashboards in menu for the user [_1]", $UserObj->Name);
+
+if ($ARGS{Reset}) {
+ my ($ok, $msg) = $UserObj->SetPreferences('DashboardsInMenu', {});
+ push @actions, $ok ? loc('Preferences saved for user [_1].', $UserObj->Name) : $msg;
+}
+
+my ($default_dashboards) =
+RT::System->new($session{'CurrentUser'})->Attributes->Named('DashboardsInMenu');
+
+my $user = RT::CurrentUser->new( $session{CurrentUser} );
+$user->Load( $UserObj->id );
+my @dashboards =
+ map { [ $_->id, $_->Name ] }
+ $m->comp( "/Dashboards/Elements/ListOfDashboards", User => $user, IncludeSuperuserGroups => 0 );
+
+
+my $current_pref =
+ $UserObj->Preferences( 'DashboardsInMenu',
+ $default_dashboards ? $default_dashboards->Content : () );
+my $current_portlets =
+ $current_pref && $current_pref->{dashboards}
+ ? $current_pref->{dashboards}
+ : [];
+
+my @panes = $m->comp(
+ '/Admin/Elements/ConfigureDashboardsInMenu',
+ Action => "DashboardsInMenu.html?id=$id",
+ panes => ['dashboards_in_menu'],
+ items => \@dashboards,
+ current_portlets => $current_portlets,
+ OnSave => sub {
+ my ($conf) = @_;
+ my ( $ok, $msg ) =
+ $UserObj->SetPreferences( 'DashboardsInMenu', $conf );
+ push @actions,
+ $ok ? loc('Preferences saved for dashboards in menu.') : $msg;
+ }
+);
+
+
+$m->comp( '/Widgets/SelectionBox:process', %ARGS, self => $_ )
+ for @panes;
+
+</%init>
+<%ARGS>
+$id => undef
+</%ARGS>
diff --git a/rt/share/html/Admin/Users/History.html b/rt/share/html/Admin/Users/History.html
index 752b20f..cda3f73 100644
--- a/rt/share/html/Admin/Users/History.html
+++ b/rt/share/html/Admin/Users/History.html
@@ -48,9 +48,10 @@
<& /Admin/Elements/Header, Title => $title &>
<& /Elements/Tabs &>
-<& /Ticket/Elements/ShowHistory,
- Ticket => $UserObj,
+<& /Elements/ShowHistory,
+ Object => $UserObj,
ShowDisplayModes => 0,
+ DisplayPath => 'History.html',
&>
<%INIT>
diff --git a/rt/share/html/Admin/Users/GnuPG.html b/rt/share/html/Admin/Users/Keys.html
index 3ca593a..6990759 100644
--- a/rt/share/html/Admin/Users/GnuPG.html
+++ b/rt/share/html/Admin/Users/Keys.html
@@ -45,7 +45,7 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<& /Admin/Elements/Header, Title => $title &>
+<& /Admin/Elements/Header, Title => loc("[_1]'s encryption keys",$UserObj->Name) &>
<& /Elements/Tabs &>
<& /Elements/ListActions, actions => \@results &>
@@ -56,11 +56,11 @@
<h2><% loc("User has empty email address") %></h2>
% }
-
-<form action="<%RT->Config->Get('WebPath')%>/Admin/Users/GnuPG.html" method="post" enctype="multipart/form-data">
+<form action="<%RT->Config->Get('WebPath')%>/Admin/Users/Keys.html" method="post" enctype="multipart/form-data">
<input type="hidden" class="hidden" name="id" value="<% $UserObj->Id %>" />
-<&|/Widgets/TitleBox, title => 'GnuPG private key'&>
+% if (RT::Crypt->UseForOutgoing eq 'GnuPG') {
+<&|/Widgets/TitleBox, title => loc('GnuPG private key') &>
<& /Widgets/Form/Select,
Name => 'PrivateKey',
Description => loc('Private Key'),
@@ -69,17 +69,23 @@
DefaultLabel => loc('No private key'),
&>
</&>
+% }
+
+% if (RT::Crypt->UseForOutgoing eq 'SMIME') {
+<&|/Widgets/TitleBox, title => loc('SMIME Certificate') &>
+<textarea name="SMIMECertificate"><% $UserObj->SMIMECertificate || '' %></textarea>
+</&>
+% }
<& /Elements/Submit, Name => 'Update', Label => loc('Save Changes') &>
</form>
+
<%ARGS>
$id => undef
$Update => undef
</%ARGS>
<%INIT>
-return unless RT->Config->Get('GnuPG')->{'Enable'};
-
-require RT::Crypt::GnuPG;
+return unless RT->Config->Get('Crypt')->{'Enable'};
my @results;
@@ -90,27 +96,36 @@ unless ( $UserObj->id ) {
}
$id = $ARGS{'id'} = $UserObj->id;
+my @potential_keys;
my $email = $UserObj->EmailAddress;
-my %keys_meta = RT::Crypt::GnuPG::GetKeysForSigning( $email );
-my @potential_keys = map $_->{'Key'}, @{ $keys_meta{'info'} || [] };
-$ARGS{'PrivateKey'} = $m->comp('/Widgets/Form/Select:Process',
- Name => 'PrivateKey',
- Arguments => \%ARGS,
- Default => 1,
-);
+if (RT::Crypt->UseForOutgoing eq 'GnuPG') {
+ my %keys_meta = RT::Crypt->GetKeysForSigning( Signer => $email, Protocol => 'GnuPG' );
+ @potential_keys = map $_->{'Key'}, @{ $keys_meta{'info'} || [] };
+
+ $ARGS{'PrivateKey'} = $m->comp('/Widgets/Form/Select:Process',
+ Name => 'PrivateKey',
+ Arguments => \%ARGS,
+ Default => 1,
+ );
-if ( $Update ) {
- if (not $ARGS{'PrivateKey'} or grep {$_ eq $ARGS{'PrivateKey'}} @potential_keys) {
- if (($ARGS{'PrivateKey'}||'') ne ($UserObj->PrivateKey||'')) {
- my ($status, $msg) = $UserObj->SetPrivateKey( $ARGS{'PrivateKey'} );
- push @results, $msg;
+ if ( $Update ) {
+ if (not $ARGS{'PrivateKey'} or grep {$_ eq $ARGS{'PrivateKey'}} @potential_keys) {
+ if (($ARGS{'PrivateKey'}||'') ne ($UserObj->PrivateKey||'')) {
+ my ($status, $msg) = $UserObj->SetPrivateKey( $ARGS{'PrivateKey'} );
+ push @results, $msg;
+ }
+ } else {
+ push @results, loc("Invalid key [_1] for address '[_2]'", $ARGS{'PrivateKey'}, $email);
}
- } else {
- push @results, loc("Invalid key [_1] for address '[_2]'", $ARGS{'PrivateKey'}, $email);
}
}
-my $title = loc("[_1]'s GnuPG keys",$UserObj->Name);
+if (RT::Crypt->UseForOutgoing eq 'SMIME') {
+ if ( $Update and ($ARGS{'SMIMECertificate'}||'') ne ($UserObj->SMIMECertificate||'') ) {
+ my ($status, $msg) = $UserObj->SetSMIMECertificate( $ARGS{'SMIMECertificate'} );
+ push @results, $msg;
+ }
+}
</%INIT>
diff --git a/rt/share/html/Admin/Users/Memberships.html b/rt/share/html/Admin/Users/Memberships.html
index 74f10b8..1910ff5 100644
--- a/rt/share/html/Admin/Users/Memberships.html
+++ b/rt/share/html/Admin/Users/Memberships.html
@@ -45,92 +45,4 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<& /Admin/Elements/Header, Title => $title &>
-<& /Elements/Tabs &>
-
-<& /Elements/ListActions, actions => \@results &>
-
-<form method="post" action="">
-<input type="hidden" id="<% $id %>" />
-
-<h2><&|/l&>Groups the user is member of (check box to delete)</&></h2>
-
-<& /Elements/CollectionList,
- OrderBy => 'Name',
- Order => 'ASC',
- %ARGS,
- Rows => 20,
- DisplayFormat => "__CheckBox.{Delete}__,$Format",
- Format => $Format,
- Collection => $is_member,
- AllowSorting => 1,
- PassArguments => [qw(Format Rows Page Order OrderBy id)],
-&>
-
-<h2><&|/l&>Groups the user is not member of (check box to add)</&></h2>
-
-<& /Elements/CollectionList,
- OrderBy => 'Name',
- Order => 'ASC',
- Rows => 20,
- %ARGS,
- DisplayFormat => "__CheckBox.{Add}__,'__HasMemberRecursively.{$id}__/TITLE:Recursive',$Format",
- Format => $Format,
- Collection => $is_not_member,
- AllowSorting => 1,
- PassArguments => [qw(Format Rows Page Order OrderBy id)],
-&>
-
-<& /Elements/Submit, Label => loc('Update'), Name => 'Update' &>
-
-</form>
-
-<%INIT>
-my $UserObj = RT::User->new($session{'CurrentUser'});
-$UserObj->Load( $id ) || Abort("Couldn't load user '$id'");
-
-my $title = loc("Memberships of the user [_1]", $UserObj->Name);
-
-my @results;
-if ( $Update ) {
- foreach my $gid( @Add ) {
- my $group = RT::Group->new( $session{'CurrentUser'} );
- $group->LoadUserDefinedGroup( $gid );
- unless ( $group->id ) {
- push @results, loc( "Couldn't load group #[_1]", $gid );
- next;
- }
- my ($status, $msg) = $group->AddMember( $id );
- push @results, $msg;
- }
- foreach my $gid( @Delete ) {
- my $group = RT::Group->new( $session{'CurrentUser'} );
- $group->LoadUserDefinedGroup( $gid );
- unless ( $group->id ) {
- push @results, loc( "Couldn't load group #[_1]", $gid );
- next;
- }
- my ($status, $msg) = $group->DeleteMember( $id );
- push @results, $msg;
- }
-}
-
-my $is_member = RT::Groups->new( $session{'CurrentUser'} );
-$is_member->LimitToUserDefinedGroups;
-$is_member->WithMember( PrincipalId => $UserObj->Id );
-
-my $is_not_member = RT::Groups->new( $session{'CurrentUser'} );
-$is_not_member->LimitToUserDefinedGroups;
-$is_not_member->WithoutMember( PrincipalId => $UserObj->Id );
-
-$Format ||= RT->Config->Get('AdminSearchResultFormat')->{'Groups'};
-</%INIT>
-<%ARGS>
-$id => undef
-
-$Update => 0,
-@Add => (),
-@Delete => (),
-
-$Format => undef
-</%ARGS>
+<& /Admin/Elements/MembershipsPage, %ARGS &>
diff --git a/rt/share/html/Admin/Users/Modify.html b/rt/share/html/Admin/Users/Modify.html
index 62d828c..fc944dc 100755
--- a/rt/share/html/Admin/Users/Modify.html
+++ b/rt/share/html/Admin/Users/Modify.html
@@ -50,7 +50,7 @@
<& /Elements/ListActions, actions => \@results &>
-<form action="<%RT->Config->Get('WebPath')%>/Admin/Users/Modify.html" method="post" enctype="multipart/form-data">
+<form action="<%RT->Config->Get('WebPath')%>/Admin/Users/Modify.html" method="post" enctype="multipart/form-data" name="<% $Create ? 'UserCreate': 'UserModify' %>">
%if ($Create) {
<input type="hidden" class="hidden" name="id" value="new" />
% } else {
@@ -60,46 +60,48 @@
<tr>
<td valign="top" class="boxcontainer">
-<&| /Widgets/TitleBox, title => loc('Identity') &>
+<&| /Widgets/TitleBox, title => loc('Identity'), class => 'user-info-identity' &>
<table>
<tr><td align="right">
<&|/l&>Username</&>:
</td><td>
-<input name="Name" value="<%$UserObj->Name||$Name||''%>" /> <strong><&|/l&>(required)</&></strong>
+<input name="Name" value="<%$UserObj->Name//$ARGS{Name}//''%>" /> <strong><&|/l&>(required)</&></strong>
</td></tr>
<tr><td align="right">
<&|/l&>Email</&>:
</td><td>
-<input name="EmailAddress" value="<%$UserObj->EmailAddress||$EmailAddress||''%>" />
+<input name="EmailAddress" value="<%$UserObj->EmailAddress//$ARGS{EmailAddress}//''%>" />
</td></tr>
<tr><td align="right">
-<&|/l&>Real Name</&>:
+<&|/l&>Real Name</&>:
</td><td>
-<input name="RealName" value="<%$UserObj->RealName||$RealName||''%>" />
+<input name="RealName" value="<%$UserObj->RealName//$ARGS{RealName}//''%>" />
</td></tr>
<tr><td align="right">
-<&|/l&>Nickname</&>:
+<&|/l&>Nickname</&>:
</td><td>
-<input name="NickName" value="<%$UserObj->NickName||$NickName||''%>" />
+<input name="NickName" value="<%$UserObj->NickName//$ARGS{NickName}//''%>" />
</td></tr>
<tr><td align="right">
-<&|/l&>Unix login</&>:
+<&|/l&>Unix login</&>:
</td><td>
-<input name="Gecos" value="<%$UserObj->Gecos||$Gecos||''%>" />
+<input name="Gecos" value="<%$UserObj->Gecos//$ARGS{Gecos}//''%>" />
</td></tr>
<tr><td align="right">
-<&|/l&>Language</&>:
+<&|/l&>Language</&>:
</td><td>
-<& /Elements/SelectLang, Name => 'Lang', Default => $UserObj->Lang||$Lang &>
+<& /Elements/SelectLang, Name => 'Lang', Default => $UserObj->Lang//$ARGS{Lang} &>
</td></tr>
<tr><td align="right">
-<&|/l&>Extra info</&>:
+<&|/l&>Extra info</&>:
</td><td>
-<textarea name="FreeformContactInfo" cols="20" rows="5"><%$UserObj->FreeformContactInfo||$FreeformContactInfo||''%></textarea>
+<textarea name="FreeformContactInfo" cols="20" rows="5"><%$UserObj->FreeformContactInfo//$ARGS{FreeformContactInfo}//''%></textarea>
</td></tr>
+<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Identity', InTable => 1 &>
</table>
</&>
+
<br />
<&| /Widgets/TitleBox, title => loc('Customers') &>
@@ -107,119 +109,117 @@
</&>
<br />
-<&| /Widgets/TitleBox, title => loc('Access control') &>
+<&| /Widgets/TitleBox, title => loc('Access control'), class => 'user-info-access-control' &>
<input type="hidden" class="hidden" name="SetEnabled" value="1" />
-<input type="checkbox" class="checkbox" name="Enabled" value="1" <%$EnabledChecked||''%> />
-<&|/l&>Let this user access RT</&><br />
+<input type="checkbox" class="checkbox" id="Enabled" name="Enabled" value="1" <% ($UserObj->Id && $UserObj->Disabled) ? '' : 'checked="checked"' |n%> />
+<label for="Enabled"><&|/l&>Let this user access RT</&></label><br />
+% my $PrivilegedChecked = ((!$Create && $UserObj->Privileged()) or (!$UserObj->Id and $ARGS{Privileged})) ? 'checked="checked"' : '';
<input type="hidden" class="hidden" name="SetPrivileged" value="1" />
-<input type="checkbox" class="checkbox" name="Privileged" value="1" <%$PrivilegedChecked||''%> /> <&|/l&>Let this user be granted rights</&> (<&|/l&>Privileged</&>)<br />
+<input type="checkbox" class="checkbox" id="Privileged" name="Privileged" value="1" <%$PrivilegedChecked|n%> />
+<label for="Privileged"><&|/l&>Let this user be granted rights</&> (<&|/l&>Privileged</&>)</label><br />
<& /Elements/EditPassword,
User => $UserObj,
Name => [qw(CurrentPass Pass1 Pass2)],
&>
+
+<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Access control' &>
+
</&>
% $m->callback( %ARGS, CallbackName => 'LeftColumnBottom', UserObj => $UserObj );
</td>
<td valign="top" class="boxcontainer">
-<&| /Widgets/TitleBox, title => loc('Location') &>
+<&| /Widgets/TitleBox, title => loc('Location'), class => 'user-info-location' &>
<table>
<tr><td align="right">
-<&|/l&>Organization</&>:
+<&|/l&>Organization</&>:
</td><td>
-<input name="Organization" value="<%$UserObj->Organization||$Organization||''%>" />
+<input name="Organization" value="<%$UserObj->Organization//$ARGS{Organization}//''%>" />
</td></tr>
<tr><td align="right">
-<&|/l&>Address1</&>:
+<&|/l&>Address1</&>:
</td><td>
-<input name="Address1" value="<%$UserObj->Address1||$Address1||''%>" />
+<input name="Address1" value="<%$UserObj->Address1//$ARGS{Address1}//''%>" />
</td></tr>
<tr><td align="right">
-<&|/l&>Address2</&>:
+<&|/l&>Address2</&>:
</td><td>
-<input name="Address2" value="<%$UserObj->Address2||$Address2||''%>" />
+<input name="Address2" value="<%$UserObj->Address2//$ARGS{Address2}//''%>" />
</td></tr>
<tr><td align="right">
-<&|/l&>City</&>:
+<&|/l&>City</&>:
</td><td>
-<input name="City" value="<%$UserObj->City||$City||''%>" size="14" />
+<input name="City" value="<%$UserObj->City//$ARGS{City}//''%>" size="14" />
</td></tr>
<tr><td align="right">
-<&|/l&>State</&>:
+<&|/l&>State</&>:
</td><td>
-<input name="State" value="<%$UserObj->State||$State||''%>" size="3" />
+<input name="State" value="<%$UserObj->State//$ARGS{State}//''%>" size="3" />
</td></tr>
<tr><td align="right">
-<&|/l&>Zip</&>:
+<&|/l&>Zip</&>:
</td><td>
-<input name="Zip" value="<%$UserObj->Zip||$Zip||''%>" size="9" />
+<input name="Zip" value="<%$UserObj->Zip//$ARGS{Zip}//''%>" size="9" />
</td></tr>
<tr><td align="right">
-<&|/l&>Country</&>:
+<&|/l&>Country</&>:
</td><td>
-<input name="Country" value="<%$UserObj->Country||$Country||''%>" />
+<input name="Country" value="<%$UserObj->Country//$ARGS{Country}//''%>" />
</td></tr>
+
+<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Location', InTable => 1 &>
+
</table>
</&>
<br />
-<&| /Widgets/TitleBox, title => loc('Phone numbers') &>
+<&| /Widgets/TitleBox, title => loc('Phone numbers'), class => 'user-info-phones' &>
<table>
<tr><td align="right">
-<&|/l&>Residence</&>:
+<&|/l&>Residence</&>:
</td><td>
-<input name="HomePhone" value="<%$UserObj->HomePhone||$HomePhone||''%>" size="13" /><br />
+<input name="HomePhone" value="<%$UserObj->HomePhone//$ARGS{HomePhone}//''%>" size="13" /><br />
</td></tr>
<tr><td align="right">
-<&|/l&>Work</&>:
+<&|/l&>Work</&>:
</td><td>
-<input name="WorkPhone" value="<%$UserObj->WorkPhone||$WorkPhone||''%>" size="13" /><br />
+<input name="WorkPhone" value="<%$UserObj->WorkPhone//$ARGS{WorkPhone}//''%>" size="13" /><br />
</td></tr>
<tr><td align="right">
-<&|/l&>Mobile</&>:
+<&|/l&>Mobile</&>:
</td><td>
-<input name="MobilePhone" value="<%$UserObj->MobilePhone||$MobilePhone||''%>" size="13" /><br />
+<input name="MobilePhone" value="<%$UserObj->MobilePhone//$ARGS{MobilePhone}//''%>" size="13" /><br />
</td></tr>
<tr><td align="right">
-<&|/l&>Pager</&>:
+<&|/l&>Pager</&>:
</td><td>
-<input name="PagerPhone" value="<%$UserObj->PagerPhone||$PagerPhone||''%>" size="13" /><br />
+<input name="PagerPhone" value="<%$UserObj->PagerPhone//$ARGS{PagerPhone}//''%>" size="13" /><br />
</td>
</tr>
+
+<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Phones', InTable => 1 &>
+
</table>
</&>
<br />
-<&| /Widgets/TitleBox, title => loc('Custom Fields') &>
-<table>
-% my $CFs = $UserObj->CustomFields;
-% while (my $CF = $CFs->Next) {
-<tr valign="top"><td align="right">
-<% loc($CF->Name) %>:
-</td><td>
-% if ($UserObj->id) {
-<& /Elements/EditCustomField, %ARGS, Object => $UserObj, CustomField => $CF &>
-% } else {
-<& /Elements/EditCustomField, %ARGS, NamePrefix => 'Object-RT::User--CustomField-', CustomField => $CF &>
-% }
-</td></tr>
-% }
-</table>
-</&>
+
+<& /Elements/EditCustomFieldCustomGroupings, Object => $UserObj &>
+
% $m->callback( %ARGS, CallbackName => 'RightColumnBottom', UserObj => $UserObj );
</td></tr>
<tr>
<td colspan="2">
-<&| /Widgets/TitleBox, title => loc('Comments about this user') &>
-<textarea class="comments" name="Comments" cols="80" rows="5" wrap="virtual"><%$UserObj->Comments||$Comments||''%></textarea>
+<&| /Widgets/TitleBox, title => loc('Comments about this user'), class => 'user-info-comments' &>
+<textarea class="comments" name="Comments" cols="80" rows="5" wrap="virtual"><%$UserObj->Comments//$ARGS{Comments}//''%></textarea>
</&>
%if (!$Create && $UserObj->Privileged) {
<br />
-<&| /Widgets/TitleBox, title => loc('Signature') &>
-<textarea class="signature" cols="80" rows="5" name="Signature" wrap="hard"><%$UserObj->Signature||$Signature||''%></textarea>
+<&| /Widgets/TitleBox, title => loc('Signature'), class => 'user-info-signature' &>
+<textarea class="signature" cols="80" rows="5" name="Signature" wrap="hard"><%$UserObj->Signature//$ARGS{Signature}//''%></textarea>
</&>
% }
@@ -237,114 +237,69 @@
<%INIT>
my $UserObj = RT::User->new($session{'CurrentUser'});
-my ($title, $PrivilegedChecked, $EnabledChecked, $Disabled, $result, @results);
++my ($title, @results);
my ($val, $msg);
+$ARGS{Privileged} = $ARGS{Privileged} ? 1 : 0;
+delete $ARGS{Privileged} unless $ARGS{SetPrivileged};
+
+$ARGS{Disabled} = $ARGS{Enabled} ? 0 : 1;
+delete $ARGS{Disabled} unless $ARGS{SetEnabled};
+
+my @fields = qw(Name Comments Signature EmailAddress FreeformContactInfo
+ Organization RealName NickName Lang EmailEncoding WebEncoding
+ ExternalContactInfoId ContactInfoSystem Gecos ExternalAuthId
+ AuthSystem HomePhone WorkPhone MobilePhone PagerPhone Address1
+ Address2 City State Zip Country
+ );
+
if ($Create) {
$title = loc("Create a new user");
-}
-else {
-
- if ( defined $id && $id eq 'new') {
- ( $val, $msg ) = $UserObj->Create(
- Name => $Name,
- EmailAddress => $ARGS{'EmailAddress'},
- Name => $ARGS{'Name'},
- Comments => $ARGS{'Comments'},
- Signature => $ARGS{'Signature'},
- EmailAddress => $ARGS{'EmailAddress'},
- FreeformContactInfo => $ARGS{'FreeformContactInfo'},
- Organization => $ARGS{'Organization'},
- RealName => $ARGS{'RealName'},
- NickName => $ARGS{'NickName'},
- Lang => $ARGS{'Lang'},
- EmailEncoding => $ARGS{'EmailEncoding'},
- WebEncoding => $ARGS{'WebEncoding'},
- ExternalContactInfoId => $ARGS{'ExternalContactInfoId'},
- ContactInfoSystem => $ARGS{'ContactInfoSystem'},
- Gecos => $ARGS{'Gecos'},
- ExternalAuthId => $ARGS{'ExternalAuthId'},
- AuthSystem => $ARGS{'AuthSystem'},
- HomePhone => $ARGS{'HomePhone'},
- WorkPhone => $ARGS{'WorkPhone'},
- MobilePhone => $ARGS{'MobilePhone'},
- PagerPhone => $ARGS{'PagerPhone'},
- Address1 => $ARGS{'Address1'},
- Address2 => $ARGS{'Address2'},
- City => $ARGS{'City'},
- State => $ARGS{'State'},
- Zip => $ARGS{'Zip'},
- Country => $ARGS{'Country'},
- Privileged => $ARGS{'Privileged'},
- Disabled => ($ARGS{'Enabled'} ? 0 : 1)
- );
-
- if ($val) {
- push @results, $msg;
- push @results, ProcessObjectCustomFieldUpdates( ARGSRef => \%ARGS, Object => $UserObj );
- } else {
- push @results, loc('User could not be created: [_1]', $msg);
- }
- } else {
- $UserObj->Load($id) || $UserObj->Load($Name)
- || Abort("Couldn't load user '" . ( $Name || '') . "'");
- $val = $UserObj->Id();
- }
+} elsif ( defined $id && $id eq 'new') {
+ ( $val, $msg ) = $UserObj->Create(
+ (map {($_ => $ARGS{$_})} @fields),
+ Privileged => $ARGS{'Privileged'},
+ Disabled => $ARGS{'Disabled'},
+ );
if ($val) {
- $title = loc("Modify the user [_1]", $UserObj->Name);
- }
-
- # If the create failed
- else {
- $title = loc("Create a new user");
- $Create = 1;
+ push @results, $msg;
+ push @results, ProcessObjectCustomFieldUpdates( ARGSRef => \%ARGS, Object => $UserObj );
+ $title = loc("Modify the user [_1]", $UserObj->Name);
+ } else {
+ push @results, loc('User could not be created: [_1]', $msg);
+ $title = loc("Create a new user");
+ $Create = 1;
}
-}
-
-
-$m->callback( %ARGS, CallbackName => 'BeforeUpdate', User => $UserObj, ARGSRef => \%ARGS, Results => \@results );
+} else {
+ $UserObj->Load($id) || $UserObj->Load($ARGS{Name})
+ || Abort("Couldn't load user '" . ( $ARGS{Name} || '') . "'");
+ $title = loc("Modify the user [_1]", $UserObj->Name);
-# If we have a user to modify, lets try.
-if ($UserObj->Id && $id ne 'new') {
-
- my @fields = qw(Name Comments Signature EmailAddress FreeformContactInfo
- Organization RealName NickName Lang EmailEncoding WebEncoding
- ExternalContactInfoId ContactInfoSystem Gecos ExternalAuthId
- AuthSystem HomePhone WorkPhone MobilePhone PagerPhone Address1
- Address2 City State Zip Country
- );
+ $m->callback( %ARGS, CallbackName => 'BeforeUpdate', User => $UserObj, ARGSRef => \%ARGS, Results => \@results );
my @fieldresults = UpdateRecordObject ( AttributesRef => \@fields,
- Object => $UserObj,
- ARGSRef => \%ARGS );
+ Object => $UserObj,
+ ARGSRef => \%ARGS );
push (@results,@fieldresults);
push @results, ProcessObjectCustomFieldUpdates( ARGSRef => \%ARGS, Object => $UserObj );
#deal with freeside customer links
push @results, ProcessObjectCustomers( ARGSRef => \%ARGS, Object => $UserObj );
- # {{{ Deal with special fields: Privileged, Enabled
- if ( $SetPrivileged and $Privileged != $UserObj->Privileged ) {
- my ($code, $msg) = $UserObj->SetPrivileged($Privileged);
- push @results, loc('Privileged status: [_1]', loc_fuzzy($msg));
+ if ( defined $ARGS{Privileged} and $ARGS{Privileged} != ($UserObj->Privileged || 0) ) {
+ my ($code, $msg) = $UserObj->SetPrivileged($ARGS{Privileged});
+ push @results, loc('Privileged status: [_1]', loc_fuzzy($msg));
}
- #we're asking about enabled on the web page but really care about disabled.
- $Disabled = $Enabled ? 0 : 1;
-
- if ( ($SetEnabled) and ( $Disabled != $UserObj->Disabled) ) {
- my ($code, $msg) = $UserObj->SetDisabled($Disabled);
+ if ( defined $ARGS{Disabled} and $ARGS{Disabled} != $UserObj->Disabled ) {
+ my ($code, $msg) = $UserObj->SetDisabled($ARGS{Disabled});
push @results, $msg;
}
-
-
}
-
-my %password_cond = $UserObj->CurrentUserRequireToSetPassword;
if ( $UserObj->Id ) {
# Deal with Password field
my ($status, $msg) = $UserObj->SafeSetPassword(
@@ -359,16 +314,6 @@ if ( $UserObj->Id ) {
}
}
-
-# Do some setup for the ui
-unless ( $UserObj->id && $UserObj->Disabled ) {
- $EnabledChecked = 'checked="checked"';
-}
-
-if ((!$Create && $UserObj->Privileged()) or (!$UserObj->Id and $Privileged)) {
- $PrivilegedChecked = 'checked="checked"';
-}
-
# This code does automatic redirection if any updates happen.
MaybeRedirectForResults(
Actions => \@results,
@@ -380,36 +325,6 @@ MaybeRedirectForResults(
<%ARGS>
$id => undef
-$Name => undef
-$Comments => undef
-$Signature => undef
-$EmailAddress => undef
-$FreeformContactInfo => undef
-$Organization => undef
-$RealName => undef
-$NickName => undef
-$Privileged => undef
-$SetPrivileged => undef
-$Enabled => undef
-$SetEnabled => undef
-$Lang => undef
-$EmailEncoding => undef
-$WebEncoding => undef
-$ExternalContactInfoId => undef
-$ContactInfoSystem => undef
-$Gecos => undef
-$ExternalAuthId => undef
-$AuthSystem => undef
-$HomePhone => undef
-$WorkPhone => undef
-$MobilePhone => undef
-$PagerPhone => undef
-$Address1 => undef
-$Address2 => undef
-$City => undef
-$State => undef
-$Zip => undef
-$Country => undef
$CurrentPass => undef
$Pass1 => undef
$Pass2 => undef
diff --git a/rt/share/html/Admin/Users/MyRT.html b/rt/share/html/Admin/Users/MyRT.html
index c9a193a..37d4b3b 100644
--- a/rt/share/html/Admin/Users/MyRT.html
+++ b/rt/share/html/Admin/Users/MyRT.html
@@ -48,8 +48,6 @@
<& /Admin/Elements/Header, Title => $title &>
<& /Elements/Tabs &>
-<& /Widgets/SelectionBox:header, nojs => 1 &>
-
<& /Elements/ListActions, actions => \@actions &>
<form method="post" action="MyRT.html">
@@ -62,7 +60,7 @@
% for my $pane (@panes) {
<&|/Widgets/TitleBox, title => loc('RT at a glance').': '.loc($pane->{Name}), bodyclass => "" &>
-<& /Widgets/SelectionBox:show, self => $pane, nojs => 1 &></&>
+<& /Widgets/SelectionBox:show, self => $pane &></&>
<br />
% }
@@ -100,7 +98,8 @@ for my $object (@objs) {
else {
my $oid = ref($object).'-'.$object->Id.'-SavedSearch-'.$search->Id;
my $type = ($SearchType eq 'Ticket')
- ? 'Saved Search' : $SearchType; # loc
+ ? 'Saved Search' # loc
+ : $SearchType;
push @items, ["saved-$oid", loc($type).": $loc_desc"];
}
}
@@ -108,7 +107,7 @@ for my $object (@objs) {
my @panes = $m->comp(
'/Admin/Elements/ConfigureMyRT',
- panes => ['body', 'summary'],
+ panes => ['body', 'sidebar'],
Action => "MyRT.html?id=$id",
items => \@items,
current_portlets => $portlets,
@@ -119,7 +118,7 @@ my @panes = $m->comp(
}
);
-$m->comp( '/Widgets/SelectionBox:process', %ARGS, self => $_, nojs => 1 )
+$m->comp( '/Widgets/SelectionBox:process', %ARGS, self => $_ )
for @panes;
</%init>
diff --git a/rt/share/html/Admin/Users/index.html b/rt/share/html/Admin/Users/index.html
index ec3368b..94d0fa5 100755
--- a/rt/share/html/Admin/Users/index.html
+++ b/rt/share/html/Admin/Users/index.html
@@ -58,19 +58,13 @@
<input type="hidden" name="UserField" value="Name" />
<input type="hidden" name="UserOp" value="LIKE" />
<&|/l&>Go to user</&>
-<input type="text" name="UserString" value="" id="autocomplete-UserString" />
+<input type="text" name="UserString" value="" data-autocomplete="Users" data-autocomplete-return="Name" id="autocomplete-UserString" />
<script type="text/javascript">
jQuery(function(){
- jQuery("#autocomplete-UserString").autocomplete({
- source: <% RT->Config->Get('WebPath') |n,j%>+"/Helpers/Autocomplete/Users?return=Name",
- // Auto-submit once a user is chosen
- select: function( event, ui ) {
- jQuery(event.target).val(ui.item.value);
- var form = jQuery(event.target).closest('form');
- form.find('input[name=UserOp]').val('=');
- form.submit();
- }
- }).addClass("autocompletes-user");
+ // Jump directly to the page if a user is chosen
+ jQuery("#autocomplete-UserString").on("autocompleteselect", function( event, ui ) {
+ document.location = RT.Config.WebPath + "/Admin/Users/Modify.html?id=" + ui.item.id;
+ });
});
</script>
</form>
@@ -81,8 +75,8 @@ jQuery(function(){
<input type="hidden" name="<% $field %>" value="<% $ARGS{ $field } %>" />
% }
<&|/l&>Find all users whose</&> <& /Elements/SelectUsers, %ARGS, Fields => \@fields &><br />
-<input type="checkbox" class="checkbox" name="FindDisabledUsers" value="1" <% $FindDisabledUsers? 'checked="checked"': '' %> />
-<&|/l&>Include disabled users in search.</&>
+<input type="checkbox" class="checkbox" id="FindDisabledUsers" name="FindDisabledUsers" value="1" <% $FindDisabledUsers? 'checked="checked"': '' %> />
+<label for="FindDisabledUsers"><&|/l&>Include disabled users in search.</&></label>
<br />
<div align="right"><input type="submit" class="button" value="<&|/l&>Go!</&>" /></div>
</form>
@@ -95,7 +89,7 @@ jQuery(function(){
<& /Elements/CollectionList,
OrderBy => 'Name',
Order => 'ASC',
- Rows => 100,
+ Rows => $Rows,
%ARGS,
Format => $Format,
Collection => $users,
@@ -135,13 +129,14 @@ else {
}
$Format ||= RT->Config->Get('AdminSearchResultFormat')->{'Users'};
+my $Rows = RT->Config->Get('AdminSearchResultRows')->{'Users'} || 50;
# Build up the list of fields to display for searching
my $i = 0;
my %sorted = map { $_ => $i++ } qw(
Name EmailAddress RealName Organization NickName WorkPhone HomePhone
MobilePhone PagerPhone Address1 Address2 City State Zip Country
- Timezone Lang Gecos Comments
+ Timezone Lang Gecos SMIMECertificate Comments
);
my @attrs = sort { $sorted{$a} <=> $sorted{$b} }
diff --git a/rt/share/html/Admin/index.html b/rt/share/html/Admin/index.html
index 17e93fa..b9768e6 100755
--- a/rt/share/html/Admin/index.html
+++ b/rt/share/html/Admin/index.html
@@ -47,7 +47,7 @@
%# END BPS TAGGED BLOCK }}}
<& /Admin/Elements/Header, Title => loc('RT Administration') &>
<& /Elements/Tabs &>
-<& /Elements/ListMenu, menu => Menu()->child('tools')->child('config') &>
+<& /Elements/ListMenu, menu => Menu()->child('admin') &>
% if (RT->Config->Get('ShowRTPortal')) {
<& /Admin/Elements/Portal &>
% }
diff --git a/rt/share/html/Approvals/Display.html b/rt/share/html/Approvals/Display.html
index 1864b20..fc8d2f5 100755
--- a/rt/share/html/Approvals/Display.html
+++ b/rt/share/html/Approvals/Display.html
@@ -50,7 +50,7 @@
<form method="post" action="<%RT->Config->Get('WebPath')%>/Approvals/index.html">
<&| /Widgets/TitleBox, title => $title &>
-<& /Ticket/Elements/ShowHistory , Ticket => $Ticket, Collapsed => 0, ShowTitle => 0, ShowHeaders => 0, ShowDisplayModes => 0, ShowTitleBarCommands => 0 &>
+<& /Elements/ShowHistory , Object => $Ticket, ShowTitle => 0, ShowHeaders => 0, ShowDisplayModes => 0, ShowActions => 0, PathPrefix => RT->Config->Get('WebPath')."/Ticket/" &>
<hr />
<& Elements/Approve, ticket => $Ticket, ShowApproving => 0 &>
</&>
diff --git a/rt/share/html/Approvals/Elements/Approve b/rt/share/html/Approvals/Elements/Approve
index 55e40ad..6abeb73 100755
--- a/rt/share/html/Approvals/Elements/Approve
+++ b/rt/share/html/Approvals/Elements/Approve
@@ -58,7 +58,7 @@
<& /Ticket/Elements/ShowCustomFields, Ticket => $approving &>
% }
% if ($ShowHistory) {
- <& /Ticket/Elements/ShowHistory, Ticket => $approving, Collapsed => 0, ShowTitle => 0, ShowHeaders => 0, ShowDisplayModes => 0, ShowTitleBarCommands => 0 &>
+ <& /Elements/ShowHistory, Object => $approving, ShowTitle => 0, ShowHeaders => 0, ShowDisplayModes => 0, ShowActions => 0, PathPrefix => RT->Config->Get('WebPath')."/Ticket/" &>
% }
</div>
</div>
@@ -106,5 +106,5 @@ $ticket => undef
</%ARGS>
<%INIT>
my $status = $ticket->Status;
-my $inactive = $ticket->QueueObj->Lifecycle->IsInactive( $status );
+my $inactive = $ticket->LifecycleObj->IsInactive( $status );
</%INIT>
diff --git a/rt/share/html/Approvals/Elements/PendingMyApproval b/rt/share/html/Approvals/Elements/PendingMyApproval
index 8a5f67b..7beabbe 100755
--- a/rt/share/html/Approvals/Elements/PendingMyApproval
+++ b/rt/share/html/Approvals/Elements/PendingMyApproval
@@ -55,17 +55,24 @@
% }
<&| /Widgets/TitleBox, title => loc("Search for approvals") &>
-<input type="checkbox" class="checkbox" value="1" name="ShowPending"
+<input type="checkbox" class="checkbox" value="1" id="ShowPending" name="ShowPending"
<%((!$ARGS{'ShowRejected'} && !$ARGS{'ShowResolved'}) ||
$ARGS{'ShowPending'})
- && qq[checked="checked"] |n%> /> <&|/l&>Show pending requests</&><br />
-<input type="checkbox" class="checkbox" value="1" name="ShowResolved" <% defined($ARGS{'ShowResolved'}) && $ARGS{'ShowResolved'} && qq[checked="checked"] |n%> /> <&|/l&>Show approved requests</&><br />
-<input type="checkbox" class="checkbox" value="1" name="ShowRejected" <% defined($ARGS{'ShowRejected'}) && $ARGS{'ShowRejected'} && qq[checked="checked"] |n%> /> <&|/l&>Show denied requests</&><br />
-<input type="checkbox" class="checkbox" value="1" name="ShowDependent" <% defined($ARGS{'ShowDependent'}) && $ARGS{'ShowDependent'} && qq[checked="checked"] |n%> /> <&|/l&>Show requests awaiting other approvals</&><br />
+ && qq[checked="checked"] |n%> />
+<label for="ShowPending"><&|/l&>Show pending requests</&></label><br />
-<&|/l_unsafe, qq{<input size='15' class="ui-datepicker" value='}.($created_before->Unix > 0 &&$created_before->ISO(Timezone => 'user'))."' name='CreatedBefore' id='CreatedBefore' />"&>Only show approvals for requests created before [_1]</&><br />
+<input type="checkbox" class="checkbox" value="1" id="ShowResolved" name="ShowResolved" <% defined($ARGS{'ShowResolved'}) && $ARGS{'ShowResolved'} && qq[checked="checked"] |n%> />
+<label for="ShowResolved"><&|/l&>Show approved requests</&></label><br />
-<&|/l_unsafe, qq{<input size='15' class="ui-datepicker" value='}.( $created_after->Unix >0 && $created_after->ISO(Timezone => 'user'))."' name='CreatedAfter' id='CreatedAfter' />"&>Only show approvals for requests created after [_1]</&>
+<input type="checkbox" class="checkbox" value="1" id="ShowRejected" name="ShowRejected" <% defined($ARGS{'ShowRejected'}) && $ARGS{'ShowRejected'} && qq[checked="checked"] |n%> />
+<label for="ShowRejected"><&|/l&>Show denied requests</&></label><br />
+
+<input type="checkbox" class="checkbox" value="1" id="ShowDependent" name="ShowDependent" <% defined($ARGS{'ShowDependent'}) && $ARGS{'ShowDependent'} && qq[checked="checked"] |n%> />
+<label for="ShowDependent"><&|/l&>Show requests awaiting other approvals</&></label><br />
+
+<&|/l_unsafe, qq{<input size='15' class="datepicker" value='}.($created_before->IsSet &&$created_before->ISO(Timezone => 'user'))."' name='CreatedBefore' id='CreatedBefore' />"&>Only show approvals for requests created before [_1]</&><br />
+
+<&|/l_unsafe, qq{<input size='15' class="datepicker" value='}.( $created_after->IsSet && $created_after->ISO(Timezone => 'user'))."' name='CreatedAfter' id='CreatedAfter' />"&>Only show approvals for requests created after [_1]</&>
</&>
<%init>
@@ -80,27 +87,27 @@ my $created_before = RT::Date->new( $session{'CurrentUser'} );
my $created_after = RT::Date->new( $session{'CurrentUser'} );
foreach ($tickets, $group_tickets) {
- $_->Limit( FIELD => 'Type', VALUE => 'approval' );
+ $_->LimitType( VALUE => 'approval' );
if ( $ARGS{'ShowResolved'} ) {
- $_->LimitStatus( VALUE => 'resolved' );
+ $_->LimitStatus( VALUE => 'resolved' );
}
if ( $ARGS{'ShowRejected'} ) {
- $_->LimitStatus( VALUE => 'rejected' );
+ $_->LimitStatus( VALUE => 'rejected' );
}
if ( $ARGS{'ShowPending'} || ( !$ARGS{'ShowRejected'} && !$ARGS{'Resolved'} ) ) {
- $_->LimitStatus( VALUE => 'open' );
- $_->LimitStatus( VALUE => 'new' );
- $_->LimitStatus( VALUE => 'stalled' );
+ $_->LimitStatus( VALUE => 'open' );
+ $_->LimitStatus( VALUE => 'new' );
+ $_->LimitStatus( VALUE => 'stalled' );
}
if ( $ARGS{'CreatedBefore'} ) {
- $created_before->Set( Format => 'unknown', Value => $ARGS{'CreatedBefore'} );
- $_->LimitCreated( OPERATOR => "<=", VALUE => $created_before->ISO );
+ $created_before->Set( Format => 'unknown', Value => $ARGS{'CreatedBefore'} );
+ $_->LimitCreated( OPERATOR => "<=", VALUE => $created_before->ISO );
}
if ( $ARGS{'CreatedAfter'} ) {
- $created_after->Set( Format => 'unknown', Value => $ARGS{'CreatedAfter'} );
- $_->LimitCreated( OPERATOR => ">=", VALUE => $created_after->ISO );
+ $created_after->Set( Format => 'unknown', Value => $ARGS{'CreatedAfter'} );
+ $_->LimitCreated( OPERATOR => ">=", VALUE => $created_after->ISO );
}
$_->OrderBy( FIELD => 'id' );
}
diff --git a/rt/share/html/Approvals/Elements/ShowDependency b/rt/share/html/Approvals/Elements/ShowDependency
index f6f8074..89ad00b 100755
--- a/rt/share/html/Approvals/Elements/ShowDependency
+++ b/rt/share/html/Approvals/Elements/ShowDependency
@@ -62,35 +62,35 @@ while (my $link = $approving->Next()) {
my $dep = $m->scomp('ShowDependency', Ticket => $link->BaseObj, _seen => $_seen);
if ($type eq 'approval') {
- $head .= $m->scomp('/Widgets/TitleBoxStart', title => loc("Approval #[_1]: [_2]", $link->BaseObj->Id, $link->BaseObj->Subject));
- $text .= $head;
- $text .= $m->scomp('/Ticket/Elements/ShowCustomFields', Ticket => $link->BaseObj);
+ $head .= $m->scomp('/Widgets/TitleBoxStart', title => loc("Approval #[_1]: [_2]", $link->BaseObj->Id, $link->BaseObj->Subject));
+ $text .= $head;
+ $text .= $m->scomp('/Ticket/Elements/ShowCustomFields', Ticket => $link->BaseObj);
} elsif ($type eq 'ticket') {
- $head .= $m->scomp('/Widgets/TitleBoxStart', title => loc("Ticket #[_1]: [_2]", $link->BaseObj->Id, $link->BaseObj->Subject));
- $text .= $head;
- $text .= $m->scomp('/Ticket/Elements/ShowSummary', Ticket => $link->BaseObj);
+ $head .= $m->scomp('/Widgets/TitleBoxStart', title => loc("Ticket #[_1]: [_2]", $link->BaseObj->Id, $link->BaseObj->Subject));
+ $text .= $head;
+ $text .= $m->scomp('/Ticket/Elements/ShowSummary', Ticket => $link->BaseObj);
} else {
- $head .= $m->scomp('/Widgets/TitleBoxStart', title => loc("#[_1]: [_2]", $link->BaseObj->Id, $link->BaseObj->Subject));
- $text .= $head;
+ $head .= $m->scomp('/Widgets/TitleBoxStart', title => loc("#[_1]: [_2]", $link->BaseObj->Id, $link->BaseObj->Subject));
+ $text .= $head;
}
- $text .= $m->scomp('/Ticket/Elements/ShowHistory' , Ticket => $link->BaseObj, Collapsed => ($type ne 'ticket'), ShowTitle => 0, ShowHeaders => 0, ShowDisplayModes => 0, ShowTitleBarCommands => 0);
+ $text .= $m->scomp('/Elements/ShowHistory' , Object => $link->BaseObj, ShowTitle => 0, ShowHeaders => 0, ShowDisplayModes => 0, ShowActions => 0, PathPrefix => RT->Config->Get('WebPath')."/Ticket/");
$head .= $m->scomp('/Widgets/TitleBoxEnd');
$text .= $m->scomp('/Widgets/TitleBoxEnd');
$text .= $dep;
$text .= '</a>';
$show{$link->BaseObj->Id} = {
- text => $text,
- head => $head,
+ text => $text,
+ head => $head,
};
}
my $refer;
foreach my $id (sort keys %show) {
if ($_seen->{$id}++) {
- $refer .= "<a href='#txn-$id'>" . $show{$id}{head} . "</a>";
- next;
+ $refer .= "<a href='#txn-$id'>" . $show{$id}{head} . "</a>";
+ next;
}
$m->print($show{$id}{text});
diff --git a/rt/share/html/Articles/Article/Edit.html b/rt/share/html/Articles/Article/Edit.html
index 075b28b..a6e5e12 100644
--- a/rt/share/html/Articles/Article/Edit.html
+++ b/rt/share/html/Articles/Article/Edit.html
@@ -115,6 +115,12 @@ my $title;
my $Entries = {};
my $ArticleObj = RT::Article->new( $session{'CurrentUser'} );
my $ClassObj = RT::Class->new( $session{'CurrentUser'} );
+
+if ($Class) {
+ $ClassObj->Load($Class);
+ Abort(loc("'[_1]' isn't a valid class", $Class)) unless $ClassObj->Id;
+}
+
my %create_args;
my %CFContent;
my $EditClass = 1;
@@ -129,11 +135,6 @@ if ( !$id ) {
}
}
- $ClassObj->Load($Class);
- unless ( $ClassObj->Id ) {
- $m->comp( "/Elements/Error",
- Why => loc( "'[_1]' isn't a valid class identifier", $Class ) );
- }
$EditClass = 0;
$id = 'new';
}
@@ -149,48 +150,10 @@ elsif ( $id eq 'new' ) {
split( /\s+/, $ARGS{'new-RefersTo'} );
}
-
- foreach my $arg (keys %ARGS) {
- next if $arg =~ /-(?:Magic|Category)$/;
- # Object-RT::Article--CustomField-3-Values
- if ( $arg =~ /^Object-RT::Article--CustomField-(\d+)(.*?)$/ ) {
- my $cfid = $1;
-
- my $cf = RT::CustomField->new( $session{'CurrentUser'} );
- $cf->SetContextObject( $ArticleObj );
- $cf->Load( $cfid );
- unless ( $cf->id ) {
- $RT::Logger->error( "Couldn't load custom field #". $cfid );
- next;
- }
-
- if ( $arg =~ /-Upload$/ ) {
- $create_args{"CustomField-$cfid"} = _UploadedFile( $arg );
- next;
- }
-
- my $type = $cf->Type;
-
- my @values = ();
- if ( ref $ARGS{ $arg } eq 'ARRAY' ) {
- @values = @{ $ARGS{ $arg } };
- } elsif ( $type =~ /text/i ) {
- @values = ($ARGS{ $arg });
- } else {
- @values = split /\r*\n/, $ARGS{ $arg } || '';
- }
- @values = grep $_ ne '',
- map {
- s/\r+\n/\n/g;
- s/^\s+//;
- s/\s+$//;
- $_;
- }
- grep defined, @values;
-
- $create_args{"CustomField-$cfid"} = \@values;
- }
- }
+ my %cfs = ProcessObjectCustomFieldUpdatesForCreate(
+ ARGSRef => \%ARGS,
+ ContextObject => $ClassObj,
+ );
my $msg;
( $id, $msg ) = $ArticleObj->Create(
@@ -198,7 +161,8 @@ elsif ( $id eq 'new' ) {
Name => $ARGS{'Name'},
Class => $ARGS{'Class'},
Topics => $ARGS{'Topics'},
- %create_args
+ %create_args,
+ %cfs
);
push( @results, $msg );
if ($id) {
@@ -219,12 +183,7 @@ elsif ( $id eq 'new' ) {
);
}
}
- if (!$id) {
- $ClassObj->Load($Class);
- unless ( $ClassObj->Id ) {
- $m->comp( "/Elements/Error",
- Why => loc( "'[_1]' isn't a valid class identifier", $Class ) );
- }
+ else {
$ArticleObj = RT::Article->new( $session{'CurrentUser'} );
$id = 'new';
$EditClass = 0;
diff --git a/rt/share/html/Articles/Article/Elements/EditCustomFields b/rt/share/html/Articles/Article/Elements/EditCustomFields
index 8af2992..3865295 100644
--- a/rt/share/html/Articles/Article/Elements/EditCustomFields
+++ b/rt/share/html/Articles/Article/Elements/EditCustomFields
@@ -51,12 +51,7 @@
<td class="entry"><& /Elements/EditCustomField,
Object => $ArticleObj,
CustomField => $CustomField,
- NamePrefix => $NamePrefix,
- Default =>
- ($CFContent->{$CustomField->Id} ||
- $ARGS{$NamePrefix .$CustomField->id .'-Values'} ||
- $ARGS{$NamePrefix .$CustomField->id .'-Value'})
- ,
+ Default => $CFContent->{$CustomField->Id},
Rows => 15,
Cols => 70
&></td>
@@ -64,15 +59,12 @@
% }
<%INIT>
my $CustomFields;
-my $NamePrefix;
if ($ArticleObj->id && $ArticleObj->ClassObj->id) {
$CustomFields = $ArticleObj->CustomFields();
- $NamePrefix = "Object-RT::Article-".$ArticleObj->Id."-CustomField-";
}
else {
$CustomFields = $ClassObj->ArticleCustomFields();
- $NamePrefix = "Object-RT::Article--CustomField-";
}
</%INIT>
<%ARGS>
diff --git a/rt/share/html/Articles/Article/Elements/EditLinks b/rt/share/html/Articles/Article/Elements/EditLinks
index 9e8567e..325e580 100644
--- a/rt/share/html/Articles/Article/Elements/EditLinks
+++ b/rt/share/html/Articles/Article/Elements/EditLinks
@@ -63,9 +63,9 @@
% while (my $link = $refersto->Next) {
% my $member = $link->TargetURI;
<li>
-<input type="CHECKBOX" name="DeleteLink--<%$link->Type%>-<%$link->Target%>" />
+<input type="checkbox" name="DeleteLink--<%$link->Type%>-<%$link->Target%>" />
% if ($link->TargetURI->IsLocal) {
-<a href="<%$member->Resolver->HREF%>"><% loc($member->Object->ObjectTypeStr) %> <%$member->Object->Id%></a>:
+<a href="<%$member->AsHREF%>"><% loc($member->Object->RecordType) %> <%$member->Object->Id%></a>:
% if (UNIVERSAL::isa($member->Object, "RT::Article") or UNIVERSAL::can($member->Object, 'Name')) {
<%$member->Object->Name%>
% } elsif (UNIVERSAL::isa($member->Object, "RT::Ticket") or UNIVERSAL::can($member->Object, 'Subject')) {
@@ -73,7 +73,7 @@
% }
</a>
% } else {
-<a href="<%$member->Resolver->HREF%>"><%$link->Target%></a>
+<a href="<%$member->AsHREF%>"><%$link->Target%></a>
% }
% }
% }
@@ -90,9 +90,9 @@
% while (my $link = $referredtoby->Next) {
% my $member = $link->BaseURI;
<li>
-<input type="CHECKBOX" name="DeleteLink-<%$link->Base%>-<%$link->Type%>-" />
+<input type="checkbox" name="DeleteLink-<%$link->Base%>-<%$link->Type%>-" />
% if ($link->BaseURI->IsLocal) {
-<a href="<%$member->Resolver->HREF%>"><% loc($member->Object->ObjectTypeStr) %> <%$member->Object->Id%>:
+<a href="<%$member->AsHREF%>"><% loc($member->Object->RecordType) %> <%$member->Object->Id%>:
% if (UNIVERSAL::isa($member->Object, "RT::Article") or UNIVERSAL::can($member->Object, 'Name')) {
<%$member->Object->Name%>
% } elsif (UNIVERSAL::isa($member->Object, "RT::Ticket") or UNIVERSAL::can($member->Object, 'Subject')) {
@@ -100,7 +100,7 @@
% }
</a>
% } else {
-<a href="<%$member->Resolver->HREF%>"><%$link->Base%></a>
+<a href="<%$member->AsHREF%>"><%$link->Base%></a>
% }
% }
% }
diff --git a/rt/share/html/Articles/Article/Elements/Preformatted b/rt/share/html/Articles/Article/Elements/Preformatted
index 7e3ab7c..acfe633 100644
--- a/rt/share/html/Articles/Article/Elements/Preformatted
+++ b/rt/share/html/Articles/Article/Elements/Preformatted
@@ -89,19 +89,6 @@ my $cfs = $class->ArticleCustomFields;
$include{"CF-Title-".$_->Id} = $include{"CF-Value-".$_->Id} = 1 while $_ = $cfs->Next;
$include{$_} = not $class->FirstAttribute("Skip-$_") for keys %include;
-my $de_htmlify = sub {
- my $content = shift;
- require HTML::TreeBuilder;
- my $tree = HTML::TreeBuilder->new;
- $tree->parse($content);
- $tree->eof();
-
- require HTML::FormatText;
- my $formatter = HTML::FormatText->new(leftmargin => 0, rightmargin => 50);
- $content = $formatter->format($tree);
- return $content;
-};
-
my $get_content = sub {
my $value = shift;
return '' unless $value;
@@ -116,7 +103,7 @@ my $get_content = sub {
);
if ( $content =~ /<.{1,5}>/ ) {
- $content = $de_htmlify->( $content );
+ $content = RT::Interface::Email::ConvertHTMLToText( $content );
}
return $content;
};
diff --git a/rt/share/html/Articles/Article/Elements/ShowLinks b/rt/share/html/Articles/Article/Elements/ShowLinks
index 50a971a..80b00e3 100644
--- a/rt/share/html/Articles/Article/Elements/ShowLinks
+++ b/rt/share/html/Articles/Article/Elements/ShowLinks
@@ -53,7 +53,7 @@
% my $member = $link->TargetURI;
<li>
% if ($link->TargetURI->IsLocal) {
-<a href="<%$member->Resolver->HREF%>"><% loc($member->Object->ObjectTypeStr) %> <%$member->Object->Id%>:
+<a href="<%$member->AsHREF%>"><% loc($member->Object->RecordType) %> <%$member->Object->Id%>:
% if (UNIVERSAL::isa($member->Object, "RT::Article") or UNIVERSAL::can($member->Object, 'Name')) {
<%$member->Object->Name%>
% } elsif (UNIVERSAL::isa($member->Object, "RT::Ticket") or UNIVERSAL::can($member->Object, 'Subject')) {
@@ -61,7 +61,7 @@
% }
</a>
% } else {
-<a href="<%$member->Resolver->HREF%>"><%$link->Target%></a>
+<a href="<%$member->AsHREF%>"><%$link->Target%></a>
% }
</li>
% }
@@ -74,7 +74,7 @@
% my $member = $link->BaseURI;
<li>
% if ($member->IsLocal) {
-<a href="<%$member->Resolver->HREF%>"><% loc($member->Object->ObjectTypeStr) %> <%$member->Object->Id%>:
+<a href="<%$member->AsHREF%>"><% loc($member->Object->RecordType) %> <%$member->Object->Id%>:
% if (UNIVERSAL::isa($member->Object, "RT::Article") or UNIVERSAL::can($member->Object, 'Name')) {
<%$member->Object->Name%>
% } elsif (UNIVERSAL::isa($member->Object, "RT::Ticket") or UNIVERSAL::can($member->Object, 'Subject')) {
@@ -82,7 +82,7 @@
% }
</a>
% } else {
-<a href="<%$member->Resolver->HREF%>"><%$link->Base%></a>
+<a href="<%$member->AsHREF%>"><%$link->Base%></a>
% }
</li>
% }
diff --git a/rt/share/html/Articles/Article/Elements/ShowSavedSearches b/rt/share/html/Articles/Article/Elements/ShowSavedSearches
index 03396c5..e06b79f 100644
--- a/rt/share/html/Articles/Article/Elements/ShowSavedSearches
+++ b/rt/share/html/Articles/Article/Elements/ShowSavedSearches
@@ -45,7 +45,7 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<& /Elements/TitleBoxStart, title => loc('Saved searches') &>
+<& /Widgets/TitleBoxStart, title => loc('Saved searches') &>
%# Keep track of what our current search ID is.
<input type="hidden" name="CurrentSearch" value="<% $CurrentSearch ? $CurrentSearch : 'new' %>">
%# Hide all the save functionality if the user shouldn't see it.
@@ -53,8 +53,7 @@
% Object=> $RT::System )) {
<h2><&|/l&>Save this search</&></h2>
<&|/l&>Name:</&> <input name="NewSearchName" value="<%$Name||''%>">
-<&|/l&>Privacy:</&> <& SelectSearchPrivacy, Name => 'SearchPrivacy',
- Default => $Privacy &><br />
+<&|/l&>Privacy:</&> <& SelectSearchPrivacy, Name => 'SearchPrivacy', Default => $Privacy &><br />
% if ($CurrentSearch && $CurrentSearch ne 'new') {
<input value="<%loc('Update')%>" name="Update" type="submit" />&nbsp;
<input value="<%loc('Save new')%>" name="Save" type="submit" />&nbsp;
@@ -68,7 +67,7 @@
<h2><&|/l&>Load a saved search</&></h2>
<& SelectSavedSearches, Name => 'LoadSavedSearch', Default => $CurrentSearch &>
<input value="<%loc('Load')%>" name="Load" type="submit">
-<& /Elements/TitleBoxEnd &>
+<& /Widgets/TitleBoxEnd &>
<%INIT>
unless ($session{'CurrentUser'}->HasRight( Right => 'LoadSavedSearch',
diff --git a/rt/share/html/Articles/Article/Elements/ShowSearchCriteria b/rt/share/html/Articles/Article/Elements/ShowSearchCriteria
index ad464f8..b4dec87 100644
--- a/rt/share/html/Articles/Article/Elements/ShowSearchCriteria
+++ b/rt/share/html/Articles/Article/Elements/ShowSearchCriteria
@@ -46,9 +46,9 @@
%#
%# END BPS TAGGED BLOCK }}}
% if ($ARGS{'HideOptions'}) {
-<& /Elements/TitleBoxStart, title => loc('Advanced search'), class => "rolled-up", bodyclass => "hidden" &>
+<& /Widgets/TitleBoxStart, title => loc('Advanced search'), class => "rolled-up", bodyclass => "hidden" &>
% } else {
-<& /Elements/TitleBoxStart, title => loc('Advanced search') &>
+<& /Widgets/TitleBoxStart, title => loc('Advanced search') &>
% }
<table>
<tr>
@@ -136,13 +136,13 @@
<td>
<& /Articles/Article/Elements/EditTopics, %ARGS, Classes => \@Classes, OnlyThisClass => 1 &>
<br />
-<input type="checkbox" name="ExpandTopics" <% $ARGS{'ExpandTopics'} ? 'checked="checked"' : "" %> />
-<&|/l&>Include subtopics</&>
+<input type="checkbox" id="ExpandTopics" name="ExpandTopics" <% $ARGS{'ExpandTopics'} ? 'checked="checked"' : "" %> />
+<label for="ExpandTopics"><&|/l&>Include subtopics</&></label>
</td>
</tr>
</table>
<& /Elements/Submit, Label => loc('Search') &>
-<&/Elements/TitleBoxEnd&>
+<& /Widgets/TitleBoxEnd &>
<%init>
my @Classes =
( ref $ARGS{'Class'} eq 'ARRAY' )
diff --git a/rt/share/html/Articles/Article/History.html b/rt/share/html/Articles/Article/History.html
index 2ac3520..07437cc 100644
--- a/rt/share/html/Articles/Article/History.html
+++ b/rt/share/html/Articles/Article/History.html
@@ -45,13 +45,25 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<& /Elements/Header, Title => $title &>
+<& /Elements/Header, Title => loc('History for article #[_1]', $id) &>
<& /Elements/Tabs &>
-<& Elements/ShowHistory, id => $id &>
+<& /Elements/ShowHistory,
+ Object => $article,
+ ShowHeaders => 0,
+ ShowDisplayModes => 0,
+ ShowActions => 0,
+ DisplayPath => 'History.html',
+ &>
<%init>
-my $title =loc('History for article #[_1]',$id);
-</%init>
+my $article = RT::Article->new($session{'CurrentUser'});
+$article->Load($id);
+
+Abort(loc("Article #[_1] not found", $id))
+ unless $article->Id;
+Abort(loc("Permission Denied"))
+ unless $article->CurrentUserHasRight('ShowArticle');
+</%init>
<%args>
$id => undef
</%args>
diff --git a/rt/share/html/Articles/Article/PreCreate.html b/rt/share/html/Articles/Article/PreCreate.html
index 7a8c05e..6daa232 100644
--- a/rt/share/html/Articles/Article/PreCreate.html
+++ b/rt/share/html/Articles/Article/PreCreate.html
@@ -47,17 +47,37 @@
%# END BPS TAGGED BLOCK }}}
<& /Elements/Header, Title => loc('Create an article in class...') &>
<& /Elements/Tabs &>
+
+% if (not $classes_configured) {
+<& /Articles/Elements/NeedsSetup &>
+% } elsif (not @classes) {
+<i><&|/l&>You don't have permission to create Articles in any Class</&></i>
+% } else {
<ul>
-% my $Classes = RT::Classes->new($session{'CurrentUser'});
-% $Classes->LimitToEnabled();
-% my $have_classes = 0;
-% while (my $Class = $Classes->Next) {
-% $have_classes++;
+% for my $Class (@classes) {
% my $qs = $m->comp("/Elements/QueryString", %ARGS, Class=> $Class->Id);
<li><a href="Edit.html?<% $qs|n %>"><&|/l, $Class->Name &>in class [_1]</&></a></li>
% }
</ul>
-% unless ( $have_classes ) {
-<span><&|/l&>Permission Denied</&></span>
-<p><span><&|/l&>To create an Article, you must first create a Class and have access to that Class.</&></span></p>
% }
+<%init>
+my $Classes = RT::Classes->new($session{'CurrentUser'});
+$Classes->LimitToEnabled();
+
+# This is a COUNT(), which doesn't apply ACLs; as such, we don't display
+# the warning if there are classes, but the user can't see them.
+my $classes_configured = $Classes->Count;
+
+# ->Next applies SeeClass, but we also want to check CreateArticle
+my @classes;
+while (my $class = $Classes->Next) {
+ push @classes, $class if $class->CurrentUserHasRight("CreateArticle");
+}
+
+# If there is only one, redirect to it
+MaybeRedirectForResults(
+ Path => "/Articles/Article/Edit.html",
+ Force => 1,
+ Arguments => { Class => $classes[0]->id },
+) if @classes == 1;
+</%init>
diff --git a/rt/share/html/Articles/Article/Search.html b/rt/share/html/Articles/Article/Search.html
index ad5eba9..4b8745a 100644
--- a/rt/share/html/Articles/Article/Search.html
+++ b/rt/share/html/Articles/Article/Search.html
@@ -49,24 +49,28 @@
<& /Elements/Tabs &>
% unless ( keys %ARGS ) {
-% my $Classes = RT::Classes->new($session{'CurrentUser'});
-% $Classes->LimitToEnabled();
<table width="100%" border="0">
<tr>
<td valign="top" width="50%">
+% if (not $classes_configured) {
+<& /Articles/Elements/NeedsSetup &>
+% } elsif (not @classes) {
+<i><&|/l&>You don't have permission to view Articles in any Class</&></i>
+% } else {
<ul>
-% while (my $class = $Classes->Next) {
+% for my $class (@classes) {
<li><a href="<%RT->Config->Get('WebPath')%>/Articles/Article/Search.html?<% $m->comp('/Elements/QueryString', %filtered, Class => $class->id) %>"><&|/l, $class->Name&>in class [_1]</&></a></li>
-% }
+% }
</ul>
+% }
</td>
<td valign="top" width="50%">
<form action="Search.html" method="get">
-<& /Elements/TitleBoxStart, title => loc('Saved searches') &>
+<& /Widgets/TitleBoxStart, title => loc('Saved searches') &>
<&|/l&>Load saved search:</&><br />
<& Elements/SelectSavedSearches, Name => 'LoadSavedSearch', Default => $CurrentSearch &>
<input value="<%loc('Load')%>" name="Load" type="submit" />
-<& /Elements/TitleBoxEnd &>
+<& /Widgets/TitleBoxEnd &>
</form>
</td>
</tr>
@@ -107,6 +111,15 @@
<a href="<%RT->Config->Get('WebPath')%>/Articles/Article/Search.html<%$QueryString%>"><&|/l&>Bookmarkable link for this search</&></a><br />
</div>
<%init>
+my $Classes = RT::Classes->new($session{'CurrentUser'});
+$Classes->LimitToEnabled();
+
+# This is a COUNT(), which doesn't apply ACLs; as such, we don't display
+# the warning if there are classes, but the user can't see them.
+my $classes_configured = $Classes->Count;
+my @classes = @{ $Classes->ItemsArrayRef };
+$ARGS{Class} = $classes[0]->id if @classes == 1;
+
use RT::SavedSearch;
my @results;
my $articles = RT::Articles->new( $session{'CurrentUser'} );
@@ -146,26 +159,26 @@ if ($CurrentSearch =~ /^(.*-\d+)-SavedSearch-(\d+)$/) {
if ($ARGS{'Load'}) {
if ($ARGS{'LoadSavedSearch'} =~ /^(.*-\d+)-SavedSearch-(\d+)$/ ) {
- my $privacy = $1;
- my $search_id = $2;
-
- $search = RT::SavedSearch->new($session{'CurrentUser'});
- my ($ret, $msg) = $search->Load($privacy, $search_id);
- if ($ret) {
- my $searchargs = $search->GetParameter('args');
- # Clean out ARGS and fill it in with the saved args from the
- # loaded search.
- foreach my $key (@metakeys) {
- $searchargs->{$key} = $ARGS{$key};
- }
- %ARGS = %{$searchargs};
- $CurrentSearch = "$privacy-SavedSearch-$search_id";
- } else {
- push(@results, loc("Error: could not load saved search [_1]: [_2]",
- $ARGS{'LoadSavedSearch'}, $msg));
- }
+ my $privacy = $1;
+ my $search_id = $2;
+
+ $search = RT::SavedSearch->new($session{'CurrentUser'});
+ my ($ret, $msg) = $search->Load($privacy, $search_id);
+ if ($ret) {
+ my $searchargs = $search->GetParameter('args');
+ # Clean out ARGS and fill it in with the saved args from the
+ # loaded search.
+ foreach my $key (@metakeys) {
+ $searchargs->{$key} = $ARGS{$key};
+ }
+ %ARGS = %{$searchargs};
+ $CurrentSearch = "$privacy-SavedSearch-$search_id";
+ } else {
+ push(@results, loc("Error: could not load saved search [_1]: [_2]",
+ $ARGS{'LoadSavedSearch'}, $msg));
+ }
} else {
- push(@results, loc("Invalid [_1] argument", 'LoadSavedSearch'));
+ push(@results, loc("Invalid [_1] argument", 'LoadSavedSearch'));
}
}
@@ -174,67 +187,67 @@ if ($ARGS{'Load'}) {
if ($ARGS{'Save'}) {
my %searchargs = %ARGS;
foreach my $key (@metakeys) {
- delete $searchargs{$key};
+ delete $searchargs{$key};
}
$search = RT::SavedSearch->new($session{'CurrentUser'});
unless ($ARGS{'SearchPrivacy'} =~ /^(.*)-(\d+)$/) {
- # This shouldn't really happen, but hey.
- push(@results, loc("WARNING: Saving search to user-level privacy"));
- $ARGS{'SearchPrivacy'} = 'RT::User-'.$session{'CurrentUser'}->Id;
+ # This shouldn't really happen, but hey.
+ push(@results, loc("WARNING: Saving search to user-level privacy"));
+ $ARGS{'SearchPrivacy'} = 'RT::User-'.$session{'CurrentUser'}->Id;
}
- my ($ret, $msg) = $search->Save(Privacy => $ARGS{'SearchPrivacy'},
- Type => 'Article',
- Name => $ARGS{'NewSearchName'},
- SearchParams => {'args' => \%searchargs});
+ my ($ret, $msg) = $search->Save(Privacy => $ARGS{'SearchPrivacy'},
+ Type => 'Article',
+ Name => $ARGS{'NewSearchName'},
+ SearchParams => {'args' => \%searchargs});
if ($ret) {
- $CurrentSearch = $ARGS{'SearchPrivacy'} . "-SavedSearch-" .
- $search->Id;
- push(@results, loc("Created search [_1]", $search->Name));
+ $CurrentSearch = $ARGS{'SearchPrivacy'} . "-SavedSearch-" .
+ $search->Id;
+ push(@results, loc("Created search [_1]", $search->Name));
} else {
undef $search; # if we bomb out creating a search
# we don't want to have the empty object hang around
- push(@results, loc("Could not create search: [_1]", $msg));
+ push(@results, loc("Could not create search: [_1]", $msg));
}
} elsif ($ARGS{'Update'}) {
if ($ARGS{'SearchPrivacy'} != $search->Privacy) {
- push(@results,
- loc("Error: cannot change privacy value of existing search"));
+ push(@results,
+ loc("Error: cannot change privacy value of existing search"));
} else {
- my %searchargs = %ARGS;
- foreach my $key (@metakeys) {
- delete $searchargs{$key};
- }
-
- # We already have a search loaded, because CurrentSearch is set,
- # or else we would not have gotten here.
- my ($ret, $msg) = $search->Update(Name => $ARGS{'NewSearchName'},
- SearchParams => \%searchargs);
- if ($ret) {
- push(@results, loc("Search [_1] updated", $search->Name));
- } else {
- push(@results, loc("Error: search [_1] not updated: [_2]",
- $search->Name, $msg));
- }
+ my %searchargs = %ARGS;
+ foreach my $key (@metakeys) {
+ delete $searchargs{$key};
+ }
+
+ # We already have a search loaded, because CurrentSearch is set,
+ # or else we would not have gotten here.
+ my ($ret, $msg) = $search->Update(Name => $ARGS{'NewSearchName'},
+ SearchParams => \%searchargs);
+ if ($ret) {
+ push(@results, loc("Search [_1] updated", $search->Name));
+ } else {
+ push(@results, loc("Error: search [_1] not updated: [_2]",
+ $search->Name, $msg));
+ }
}
} elsif ($ARGS{'Delete'}) {
# Keep track of this, as we are about to delete the search.
my $searchname = $search->Name;
my ($ret, $msg) = $search->Delete;
if ($ret) {
- $ARGS{'CurrentSearch'} = undef;
- push(@results, loc("Deleted search [_1]", $searchname));
- # Get rid of all the state.
- foreach my $key (keys %ARGS) {
- delete $ARGS{$key};
- }
- $CurrentSearch = 'new';
- $search = undef;
- $RefersTo = undef;
- $ReferredToBy = undef;
+ $ARGS{'CurrentSearch'} = undef;
+ push(@results, loc("Deleted search [_1]", $searchname));
+ # Get rid of all the state.
+ foreach my $key (keys %ARGS) {
+ delete $ARGS{$key};
+ }
+ $CurrentSearch = 'new';
+ $search = undef;
+ $RefersTo = undef;
+ $ReferredToBy = undef;
} else {
- push(@results, loc("Could not delete search [_1]: [_2]",
- $searchname, $msg));
+ push(@results, loc("Could not delete search [_1]: [_2]",
+ $searchname, $msg));
}
}
diff --git a/rt/share/html/Articles/Elements/CreateArticle b/rt/share/html/Articles/Elements/CreateArticle
index 3fb549f..7121b0c 100644
--- a/rt/share/html/Articles/Elements/CreateArticle
+++ b/rt/share/html/Articles/Elements/CreateArticle
@@ -45,13 +45,13 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<& /Elements/TitleBoxStart, title => loc('Create an article') &>
+<& /Widgets/TitleBoxStart, title => loc('Create an article') &>
<ul>
% while (my $Class = $Classes->Next) {
<li><a href="Article/Edit.html?Class=<%$Class->Id%>"><%$Class->Name%></a></li>
% }
</ul>
-<& /Elements/TitleBoxEnd &>
+<& /Widgets/TitleBoxEnd &>
<%init>
my $Classes = RT::Classes->new($session{'CurrentUser'});
$Classes->LimitToEnabled;
diff --git a/rt/share/html/NoAuth/css/aileron/base.css b/rt/share/html/Articles/Elements/MaybeNeedsSetup
index 2ed341e..40f1d48 100644
--- a/rt/share/html/NoAuth/css/aileron/base.css
+++ b/rt/share/html/Articles/Elements/MaybeNeedsSetup
@@ -45,18 +45,11 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-a {
- color: #000;
- text-decoration: none;
-}
-
-
-a:visited {
- color: #666;
-}
-
-a:hover {
- text-decoration: underline;
-}
-
-textarea:focus, input:focus { background-color: #ffd; }
+<%init>
+my $Classes = RT::Classes->new( $session{'CurrentUser'} );
+$Classes->LimitToEnabled();
+# This is a COUNT(), which doesn't apply ACLs; as such, we don't display
+# the warning if there are classes, but the user can't see them.
+return if $Classes->Count;
+</%init>
+<& NeedsSetup &>
diff --git a/rt/share/html/SelfService/Error.html b/rt/share/html/Articles/Elements/NeedsSetup
index 14c5ad5..d2722f3 100755..100644
--- a/rt/share/html/SelfService/Error.html
+++ b/rt/share/html/Articles/Elements/NeedsSetup
@@ -45,27 +45,8 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<& /SelfService/Elements/Header, Title => loc('Error') &>
-<h2 class="title"><%loc('Error')%></h2>
-<&| /Widgets/TitleBox, title => $Title &>
-<%$Why%>
-<br />
-<font size="-1">
-<%$Details%>
-</font>
+%# Stupidly long lines because our extract-message-catalog doesn't handle multiple lines!
+<&|/Widgets/TitleBox, id => "articles-needs-setup", class => "error-titlebox", title => loc("Setup needed") &>
+<p><&|/l_unsafe, qq[<a href="@{[RT->Config->Get("WebPath")]}/Admin/Articles/">], '</a>' &>Before Articles can be used, your RT administrator must [_1]create Classes[_2], apply Article custom fields to them, and grant users rights on the classes and CFs.</&></p>
+<p><&|/l_unsafe, qq[<a href="http://bestpractical.com/rt/docs/$RT::MAJOR_VERSION.$RT::MINOR_VERSION/customizing/articles_introduction.html">], qq[<a href="http://bestpractical.com/rt/docs/$RT::MAJOR_VERSION.$RT::MINOR_VERSION/">], '</a>' &>An [_1]introduction to getting started with articles[_3] is available from [_2]Best Practical's online documentation[_3].</&></p>
</&>
-</body>
-</html>
-
-
-<%args>
-$Code => undef
-$Details => undef
-$Title => loc("RT Error")
-$Why => loc("the calling component did not specify why")
-</%args>
-
-<%INIT>
-$Details ||= loc("No details");
-$RT::Logger->error("WebRT: $Why ($Details)");
-</%INIT>
diff --git a/rt/share/html/Articles/Elements/NewestArticles b/rt/share/html/Articles/Elements/NewestArticles
index 8ceedec..02cd389 100644
--- a/rt/share/html/Articles/Elements/NewestArticles
+++ b/rt/share/html/Articles/Elements/NewestArticles
@@ -45,7 +45,7 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<& /Elements/TitleBoxStart, title => loc("[_1] newest articles", $rows), bodyclass=> '' &>
+<& /Widgets/TitleBoxStart, title => loc("[_1] newest articles", $rows), bodyclass=> '' &>
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<th align="right"><&|/l&>#</&></th>
@@ -67,7 +67,7 @@
</tr>
% }
</table>
-<& /Elements/TitleBoxEnd &>
+<& /Widgets/TitleBoxEnd &>
<%INIT>
my $rows = 10;
my $i;
diff --git a/rt/share/html/Articles/Elements/QuickSearch b/rt/share/html/Articles/Elements/QuickSearch
index da5d824..858fad3 100644
--- a/rt/share/html/Articles/Elements/QuickSearch
+++ b/rt/share/html/Articles/Elements/QuickSearch
@@ -45,13 +45,13 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<& /Elements/TitleBoxStart, title => loc('Quick search') &>
+<& /Widgets/TitleBoxStart, title => loc('Quick search') &>
<ul>
% while (my $class = $classes->Next) {
<li><a href="<%RT->Config->Get('WebPath')%>/Articles/Article/Search.html?Class=<%$class->Name%>&Parent=0&HideOptions=1"><%$class->Name%></a></li>
% }
</ul>
-<& /Elements/TitleBoxEnd &>
+<& /Widgets/TitleBoxEnd &>
<%init>
my $classes = RT::Classes->new($session{'CurrentUser'});
$classes->LimitToEnabled;
diff --git a/rt/share/html/Articles/Elements/ShowTopicLink b/rt/share/html/Articles/Elements/ShowTopicLink
index 147e5c9..cf54a64 100644
--- a/rt/share/html/Articles/Elements/ShowTopicLink
+++ b/rt/share/html/Articles/Elements/ShowTopicLink
@@ -58,7 +58,7 @@ $Class => 0
% }
% if ( $Articles->Count ) {
- (<&|/l, $Articles->Count &>[quant,_1,article]</&>)
+ (<&|/l, $Articles->Count &>[quant,_1,article,articles]</&>)
% }
% if ($Link) {
diff --git a/rt/share/html/Articles/Elements/SubjectOverride b/rt/share/html/Articles/Elements/SubjectOverride
new file mode 100644
index 0000000..eb10fbb
--- /dev/null
+++ b/rt/share/html/Articles/Elements/SubjectOverride
@@ -0,0 +1,92 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<%INIT>
+foreach my $arg ( keys %$ARGSRef) {
+
+ my $Queue = $QueueObj || RT::Queue->new($session{CurrentUser});
+ if (!$Queue->Id && $Ticket && $Ticket->Id) {
+ $Queue = $Ticket->QueueObj;
+ }
+
+ my $article = RT::Article->new($session{'CurrentUser'});
+ $article->LoadByInclude(
+ Field => $arg,
+ Value => $ARGSRef->{$arg},
+ Queue => $Queue->Id,
+ );
+ next unless $article && $article->id;
+
+ my $class = $article->ClassObj;
+
+ next unless $class->SubjectOverride;
+
+ my $cfs = $class->ArticleCustomFields;
+ $cfs->Limit( FIELD => 'id', VALUE => $class->SubjectOverride );
+
+ my $subjectCF = $cfs->First;
+ next unless $subjectCF;
+
+ my $subject = $article->CustomFieldValuesAsString($subjectCF->Id);
+
+ $m->callback( CallbackName => 'ProcessContent', Ticket => $Ticket, Article => $article, content => \$subject);
+
+ if ( exists $ARGSRef->{UpdateSubject} ) {
+ $ARGSRef->{UpdateSubject} = $subject;
+ } else {
+ $ARGSRef->{Subject} = $subject;
+ }
+}
+return;
+</%INIT>
+<%ARGS>
+$Ticket => undef
+$ARGSRef => undef
+$results => undef
+$QueueObj => undef
+</%ARGS>
+
diff --git a/rt/share/html/Articles/Elements/UpdatedArticles b/rt/share/html/Articles/Elements/UpdatedArticles
index c2e1ff8..1a1ec52 100644
--- a/rt/share/html/Articles/Elements/UpdatedArticles
+++ b/rt/share/html/Articles/Elements/UpdatedArticles
@@ -45,7 +45,7 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<& /Elements/TitleBoxStart, title => loc("[_1] most recently updated articles", $rows), bodyclass=> '' &>
+<& /Widgets/TitleBoxStart, title => loc("[_1] most recently updated articles", $rows), bodyclass=> '' &>
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<th align="right"><&|/l&>#</&></th>
@@ -68,7 +68,7 @@
</tr>
% }
</table>
-<& /Elements/TitleBoxEnd &>
+<& /Widgets/TitleBoxEnd &>
<%INIT>
my $rows = 10;
my $i;
diff --git a/rt/share/html/Articles/index.html b/rt/share/html/Articles/index.html
index bfe4a1f..4143f1d 100644
--- a/rt/share/html/Articles/index.html
+++ b/rt/share/html/Articles/index.html
@@ -47,6 +47,7 @@
%# END BPS TAGGED BLOCK }}}
<& /Elements/Header, Title => loc('Articles') &>
<& /Elements/Tabs &>
+<& /Articles/Elements/MaybeNeedsSetup &>
<table width="100%">
<tr>
<td valign="top" width="70%">
diff --git a/rt/share/html/Dashboards/Elements/DashboardsForObject b/rt/share/html/Dashboards/Elements/DashboardsForObject
index 4c9df63..3de0216 100644
--- a/rt/share/html/Dashboards/Elements/DashboardsForObject
+++ b/rt/share/html/Dashboards/Elements/DashboardsForObject
@@ -57,7 +57,7 @@ my $privacy = RT::Dashboard->_build_privacy($Object);
while (my $attr = $Object->Attributes->Next) {
if ($attr->Name =~ /^Dashboard\b/) {
- my $dashboard = RT::Dashboard->new($session{'CurrentUser'});
+ my $dashboard = RT::Dashboard->new($User);
my ($ok, $msg) = $dashboard->Load($privacy, $attr->id);
if (!$ok) {
@@ -79,3 +79,7 @@ while (my $attr = $Object->Attributes->Next) {
return \%dashboards;
</%init>
+<%args>
+$User => $session{'CurrentUser'}
+</%args>
+
diff --git a/rt/share/html/Dashboards/Elements/ListOfDashboards b/rt/share/html/Dashboards/Elements/ListOfDashboards
index d6f5bcc..cc47c48 100644
--- a/rt/share/html/Dashboards/Elements/ListOfDashboards
+++ b/rt/share/html/Dashboards/Elements/ListOfDashboards
@@ -48,15 +48,15 @@
<%init>
# put the list of dashboards into the navigation
use RT::Dashboard;
-
-my @objs = RT::Dashboard->new($session{CurrentUser})->ObjectsForLoading(
+my @objs = RT::Dashboard->new($User)->ObjectsForLoading(
IncludeSuperuserGroups => $IncludeSuperuserGroups
);
my %dashboard_map;
for my $object (@objs) {
- my $new_dashboards = $m->comp("/Dashboards/Elements/DashboardsForObject", Object => $object);
+ my $new_dashboards = $m->comp("/Dashboards/Elements/DashboardsForObject",
+ Object => $object, User => $User );
push @{ $dashboard_map{$_} }, @{ $new_dashboards->{$_} || [] }
for qw/personal system/;
@@ -78,5 +78,6 @@ $m->callback(%ARGS, dashboards => \@dashboards, CallbackName => 'ModifyDashboard
return @dashboards;
</%init>
<%args>
+$User => $session{CurrentUser}
$IncludeSuperuserGroups => 1
</%args>
diff --git a/rt/share/html/Dashboards/Elements/SelectPrivacy b/rt/share/html/Dashboards/Elements/SelectPrivacy
index 5628d75..9eb276a 100644
--- a/rt/share/html/Dashboards/Elements/SelectPrivacy
+++ b/rt/share/html/Dashboards/Elements/SelectPrivacy
@@ -60,11 +60,11 @@ foreach my $object (@Objects) {
if (ref($object) eq 'RT::User') {
$label = $object->id == $session{'CurrentUser'}->Id
? loc("My dashboards")
- : loc("[_1]'s dashboards", $m->scomp('/Elements/ShowUser', User => $object));
+ : loc("[_1]'s dashboards", $object->Format);
} else {
- $label = loc("[_1]'s dashboards", $m->interp->apply_escapes($object->Name, 'h'));
+ $label = loc("[_1]'s dashboards", $object->Name);
}
</%perl>
-<option <%$selected|n%> value="<%$privacy%>"><% $label |n %></option>
+<option <%$selected|n%> value="<%$privacy%>"><% $label %></option>
% }
</select>
diff --git a/rt/share/html/Dashboards/Elements/ShowDashboards b/rt/share/html/Dashboards/Elements/ShowDashboards
index 5cf73a7..b57867b 100644
--- a/rt/share/html/Dashboards/Elements/ShowDashboards
+++ b/rt/share/html/Dashboards/Elements/ShowDashboards
@@ -54,6 +54,7 @@
% } else {
% $title = loc("[_1]'s dashboards",$Object->Name);
% }
+% $title =~ s/([\\'])/\\$1/g;
% $title = $m->interp->apply_escapes($title, 'h');
<& /Elements/CollectionList,
%ARGS,
diff --git a/rt/share/html/Dashboards/Elements/ShowPortlet/component b/rt/share/html/Dashboards/Elements/ShowPortlet/component
index 5218843..3b54da2 100644
--- a/rt/share/html/Dashboards/Elements/ShowPortlet/component
+++ b/rt/share/html/Dashboards/Elements/ShowPortlet/component
@@ -51,4 +51,14 @@ $Portlet
$Rows => 20
$Preview => 0
</%args>
-% $m->comp($Portlet->{path});
+<%init>
+my $full_path = $Portlet->{path};
+(my $path = $full_path) =~ s{^/Elements/}{};
+
+my $allowed = grep { $_ eq $path } @{RT->Config->Get('HomepageComponents')};
+</%init>
+% if (!$allowed) {
+% $m->out( $m->interp->apply_escapes( loc("Invalid portlet [_1]", $path), "h" ) );
+% } else {
+% $m->comp($full_path);
+% }
diff --git a/rt/share/html/Dashboards/Elements/ShowPortlet/dashboard b/rt/share/html/Dashboards/Elements/ShowPortlet/dashboard
index d2ae85d..3c35ea8 100644
--- a/rt/share/html/Dashboards/Elements/ShowPortlet/dashboard
+++ b/rt/share/html/Dashboards/Elements/ShowPortlet/dashboard
@@ -56,7 +56,6 @@ $Depth => 0
<%init>
my $current_dashboard;
-use Scalar::Util 'blessed';
if (blessed($Portlet) && $Portlet->isa('RT::Dashboard')) {
$current_dashboard = $Portlet;
}
diff --git a/rt/share/html/Dashboards/Modify.html b/rt/share/html/Dashboards/Modify.html
index 322b030..4b797f4 100755
--- a/rt/share/html/Dashboards/Modify.html
+++ b/rt/share/html/Dashboards/Modify.html
@@ -92,7 +92,7 @@ my $Dashboard = RT::Dashboard->new($session{'CurrentUser'});
my $method = $Create ? 'ObjectsForCreating' : 'ObjectsForModifying';
my @privacies = $Dashboard->$method;
-Abort(loc("Permission denied")) if @privacies == 0;
+Abort(loc("Permission Denied")) if @privacies == 0;
if ($Create) {
$title = loc("Create a new dashboard");
@@ -124,7 +124,7 @@ else {
if ($id) {
$title = loc("Modify the dashboard [_1]", $Dashboard->Name);
- }
+ }
# If the create failed
else {
$Create = 1;
@@ -137,10 +137,10 @@ if (!$Create && !$tried_create && $id && $ARGS{'Save'}) {
Name => $ARGS{'Name'});
if ($ok) {
- push @results, loc("Dashboard updated");
+ push @results, loc("Dashboard [_1] updated", $Dashboard->Name);
}
else {
- push @results, loc("Dashboard could not be updated: [_1]", $msg);
+ push @results, loc("Dashboard [_1] could not be updated: [_2]", $Dashboard->Name, $msg);
}
}
diff --git a/rt/share/html/Dashboards/Queries.html b/rt/share/html/Dashboards/Queries.html
index c3a4ca5..24c56c5 100644
--- a/rt/share/html/Dashboards/Queries.html
+++ b/rt/share/html/Dashboards/Queries.html
@@ -48,8 +48,6 @@
<& /Elements/Header, Title => $title &>
<& /Elements/Tabs &>
-<& /Widgets/SelectionBox:header, nojs => 1 &>
-
<& /Elements/ListActions, actions => \@results &>
<& Elements/Deleted, searches => \@deleted, Dashboard => $Dashboard &>
@@ -65,7 +63,7 @@
<&| /Widgets/TitleBox, title => $pane->{DisplayName} &>
% my ( $pane_name ) = $pane->{Name} =~ /Searches-(.+)/;
- <& /Widgets/SelectionBox:show, self => $pane, nojs => 1, grep( {
+ <& /Widgets/SelectionBox:show, self => $pane, grep( {
$_->{pane} eq $pane_name} @deleted ) ? ( ShowUpdate => 1 ) : () &>
</&>
</form>
@@ -268,7 +266,7 @@ for my $pane (sort keys %pane_name) {
push @panes, $sel;
}
-$m->comp('/Widgets/SelectionBox:process', %ARGS, self => $_, nojs => 1)
+$m->comp('/Widgets/SelectionBox:process', %ARGS, self => $_ )
for @panes;
my @hidden_searches = $Dashboard->PossibleHiddenSearches;
diff --git a/rt/share/html/Dashboards/Render.html b/rt/share/html/Dashboards/Render.html
index 30b476b..0306077 100644
--- a/rt/share/html/Dashboards/Render.html
+++ b/rt/share/html/Dashboards/Render.html
@@ -47,7 +47,6 @@
%# END BPS TAGGED BLOCK }}}
<& /Elements/Header,
Title => $title,
- JavaScript => $Preview,
ShowBar => $Preview,
Refresh => $Refresh,
&>
diff --git a/rt/share/html/Dashboards/Subscription.html b/rt/share/html/Dashboards/Subscription.html
index b1eaf64..3bf39d0 100644
--- a/rt/share/html/Dashboards/Subscription.html
+++ b/rt/share/html/Dashboards/Subscription.html
@@ -92,16 +92,17 @@
<&|/l&>Frequency</&>:
</td><td class="value">
-<input type="radio" name="Frequency" value="daily" <% $fields{'Frequency'} eq 'daily' ? 'checked="checked"' : "" |n %>>
- <&|/l&>daily</&>
-</input><br />
+<input type="radio" id="Frequency-daily" name="Frequency" value="daily" <% $fields{'Frequency'} eq 'daily' ? 'checked="checked"' : "" |n %>></input>
+<label for="Frequency-daily"><&|/l&>daily</&></label>
+<br />
-<input type="radio" name="Frequency" value="m-f" <% $fields{'Frequency'} eq 'm-f' ? 'checked="checked"' : "" |n %>>
- <&|/l&>Monday through Friday</&>
-</input><br />
+<input type="radio" id="Frequency-m-f" name="Frequency" value="m-f" <% $fields{'Frequency'} eq 'm-f' ? 'checked="checked"' : "" |n %>></input>
+<label for="Frequency-m-f"><&|/l&>Monday through Friday</&></label>
+<br />
-<input type="radio" name="Frequency" value="weekly"<% $fields{'Frequency'} eq 'weekly' ? 'checked="checked"' : "" |n %>>
-<&|/l&>weekly</&></input>, <&|/l&>on</&>
+<input type="radio" id="Frequency-weekly" name="Frequency" value="weekly"<% $fields{'Frequency'} eq 'weekly' ? 'checked="checked"' : "" |n %>></input>
+<label for="Frequency-weekly">
+<&|/l&>weekly</&>, <&|/l&>on</&>
<select name="Dow">
<option value="Monday" <% $fields{'Dow'} eq 'Monday' ? 'selected="selected"' : '' |n %>><&|/l&>Monday</&></option>
<option value="Tuesday" <% $fields{'Dow'} eq 'Tuesday' ? 'selected="selected"' : '' |n %>><&|/l&>Tuesday</&></option>
@@ -118,20 +119,22 @@
% }
</select>
<&|/l&>weeks</&>
+</label>
<br />
-<input type="radio" name="Frequency" value="monthly"<% $fields{'Frequency'} eq 'monthly' ? 'checked="checked"' : "" |n %>>
-<&|/l&>monthly</&></input> , <&|/l&>on day</&>
+<input type="radio" id="Frequency-monthly" name="Frequency" value="monthly"<% $fields{'Frequency'} eq 'monthly' ? 'checked="checked"' : "" |n %>></input>
+<label for="Frequency-monthly">
+<&|/l&>monthly</&>, <&|/l&>on day</&>
<select name="Dom">
% for my $dom (1..31) {
<option value="<% $dom %>" <% $fields{'Dom'} == $dom ? 'selected="selected"' : '' |n %>><% loc($dom) %></option>
% }
</select>
+</label>
<br />
-<input type="radio" name="Frequency" value="never" <% $fields{'Frequency'} eq 'never' ? 'checked="checked"' : "" |n %>>
- <&|/l&>never</&>
-</input>
+<input type="radio" id="Frequency-never" name="Frequency" value="never" <% $fields{'Frequency'} eq 'never' ? 'checked="checked"' : "" |n %>></input>
+<label for="Frequency-never"><&|/l&>never</&></label>
</td></tr>
<tr><td class="label">
@@ -248,16 +251,12 @@ if (defined $ARGS{Save}) {
($ok, $msg) = $SubscriptionObj->SetSubValues(%fields);
$fields{'DashboardId'} = $id;
- # not so good to spew base64-encoded data at the user :)
- if ($msg =~ /^Content changed from/) {
- $msg = "Subscription updated.";
- }
-
+ $msg = loc("Subscription updated") if $ok;
push @results, $msg;
}
# create
else {
- Abort(loc("Unable to subscribe to dashboard [_1]: Permission denied", $id))
+ Abort(loc("Unable to subscribe to dashboard [_1]: Permission Denied", $id))
unless $Dashboard->CurrentUserCanSubscribe;
$SubscriptionObj = RT::Attribute->new($session{CurrentUser});
diff --git a/rt/share/html/Download/CustomFieldValue/dhandler b/rt/share/html/Download/CustomFieldValue/dhandler
index 4515716..aba6004 100644
--- a/rt/share/html/Download/CustomFieldValue/dhandler
+++ b/rt/share/html/Download/CustomFieldValue/dhandler
@@ -61,13 +61,13 @@ unless ($OCFV->id) {
Abort("Bad OCFV id. Couldn't find OCFV '$id'\n");
}
-my $content_type = $OCFV->ContentType || 'text/plain';
+my $content_type = $OCFV->ContentType || 'text/plain; charset=utf-8';
if (RT->Config->Get('AlwaysDownloadAttachments')) {
$r->headers_out->{'Content-Disposition'} = "attachment";
}
elsif (!RT->Config->Get('TrustHTMLAttachments')) {
- $content_type = 'text/plain' if ($content_type =~ /^text\/html/i);
+ $content_type = 'text/plain; charset=utf-8' if ($content_type =~ /^text\/html/i);
}
$r->content_type( $content_type );
diff --git a/rt/share/html/Elements/AddLinks b/rt/share/html/Elements/AddLinks
new file mode 100644
index 0000000..3e34237
--- /dev/null
+++ b/rt/share/html/Elements/AddLinks
@@ -0,0 +1,106 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<%args>
+$Object => undef
+$CustomFields => undef
+$ARGSRef => $DECODED_ARGS
+</%args>
+<%init>
+my $id = ($Object and $Object->id)
+ ? $Object->id
+ : "new";
+
+my $exclude = qq| data-autocomplete="Tickets" data-autocomplete-multiple="1"|;
+$exclude .= qq| data-autocomplete-exclude="$id"| if $Object->id;
+</%init>
+% if (ref($Object) eq 'RT::Ticket') {
+<i><&|/l&>Enter tickets or URIs to link tickets to. Separate multiple entries with spaces.</&>
+<br /><&|/l&>You may enter links to Articles as "a:###", where ### represents the number of the Article.</&>
+% $m->callback( CallbackName => 'ExtraLinkInstructions' );
+</i><br />
+% } elsif (ref($Object) eq 'RT::Queue') {
+<i><&|/l&>Enter queues or URIs to link queues to. Separate multiple entries with spaces.</&>
+</i><br />
+% } else {
+<i><&|/l&>Enter objects or URIs to link objects to. Separate multiple entries with spaces.</&></i><br />
+% }
+<table>
+ <tr>
+ <td class="label"><& ShowRelationLabel, Object => $Object, Label => loc('Depends on').':', Relation => 'DependsOn' &></td>
+ <td class="entry"><input name="<%$id%>-DependsOn" value="<% $ARGSRef->{"$id-DependsOn"} || '' %>" <% $exclude |n%>/></td>
+ </tr>
+ <tr>
+ <td class="label"><& ShowRelationLabel, Object => $Object, Label => loc('Depended on by').':', Relation => 'DependedOnBy' &></td>
+ <td class="entry"><input name="DependsOn-<%$id%>" value="<% $ARGSRef->{"DependsOn-$id"} || '' %>" <% $exclude |n%>/></td>
+ </tr>
+ <tr>
+ <td class="label"><& ShowRelationLabel, Object => $Object, Label => loc('Parents').':', Relation => 'Parents' &></td>
+ <td class="entry"><input name="<%$id%>-MemberOf" value="<% $ARGSRef->{"$id-MemberOf"} || '' %>" <% $exclude |n%>/></td>
+ </tr>
+ <tr>
+ <td class="label"><& ShowRelationLabel, Object => $Object, Label => loc('Children').':', Relation => 'Children' &></td>
+ <td class="entry"> <input name="MemberOf-<%$id%>" value="<% $ARGSRef->{"MemberOf-$id"} || '' %>" <% $exclude |n%>/></td>
+ </tr>
+ <tr>
+ <td class="label"><& ShowRelationLabel, Object => $Object, Label => loc('Refers to').':', Relation => 'RefersTo' &></td>
+ <td class="entry"><input name="<%$id%>-RefersTo" value="<% $ARGSRef->{"$id-RefersTo"} || '' %>" <% $exclude |n%>/></td>
+ </tr>
+ <tr>
+ <td class="label"><& ShowRelationLabel, Object => $Object, Label => loc('Referred to by').':', Relation => 'ReferredToBy' &></td>
+ <td class="entry"> <input name="RefersTo-<%$id%>" value="<% $ARGSRef->{"RefersTo-$id"} || '' %>" <% $exclude |n%>/></td>
+ </tr>
+ <& /Elements/EditCustomFields,
+ Object => $Object,
+ Grouping => 'Links',
+ InTable => 1,
+ ($CustomFields
+ ? (CustomFields => $CustomFields)
+ : ()),
+ &>
+% $m->callback( CallbackName => 'NewLink' );
+</table>
diff --git a/rt/share/html/Elements/BulkCustomFields b/rt/share/html/Elements/BulkCustomFields
new file mode 100644
index 0000000..871e306
--- /dev/null
+++ b/rt/share/html/Elements/BulkCustomFields
@@ -0,0 +1,105 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<table class="bulk-edit-custom-fields">
+
+<tr>
+<th><&|/l&>Name</&></th>
+<th><&|/l&>Add values</&></th>
+<th><&|/l&>Delete values</&></th>
+</tr>
+% my $i = 0;
+% while (my $cf = $CustomFields->Next) {
+<tr class="<% ++$i%2 ? 'oddline': 'evenline' %>">
+<td class="label"><% $cf->Name %><br />
+<em>(<% $cf->FriendlyType %>)</em></td>
+% my $rows = 5;
+% my $cf_id = $cf->id;
+% my @add = (NamePrefix => 'Bulk-Add-CustomField-', CustomField => $cf, Rows => $rows,
+% Multiple => ($cf->MaxValues ==1 ? 0 : 1) , Cols => 25,
+% Default => $ARGS{"Bulk-Add-CustomField-$cf_id-Values"} || $ARGS{"Bulk-Add-CustomField-$cf_id-Value"}, );
+% my @del = (NamePrefix => 'Bulk-Delete-CustomField-', CustomField => $cf,
+% Rows => $rows, Multiple => 1, Cols => 25,
+% Default => $ARGS{"Bulk-Delete-CustomField-$cf_id-Values"} || $ARGS{"Bulk-Delete-CustomField-$cf_id-Value"}, );
+% if ($cf->Type eq 'Select') {
+<td><& /Elements/EditCustomFieldSelect, @add &></td>
+<td><& /Elements/EditCustomFieldSelect, @del &><br />
+% } elsif ($cf->Type eq 'Combobox') {
+<td><& /Elements/EditCustomFieldCombobox, @add &></td>
+<td><& /Elements/EditCustomFieldCombobox, @del &><br />
+% } elsif ($cf->Type eq 'Freeform') {
+<td><& /Elements/EditCustomFieldFreeform, @add &></td>
+<td><& /Elements/EditCustomFieldFreeform, @del &><br />
+% } elsif ($cf->Type eq 'Text') {
+<td><& /Elements/EditCustomFieldText, @add &></td>
+<td>
+% } elsif ($cf->Type eq 'Wikitext') {
+<td><& /Elements/EditCustomFieldWikitext, @add &></td>
+<td>
+% } elsif ($cf->Type eq 'Date') {
+<td><& /Elements/EditCustomFieldDate, @add, Default => undef &></td>
+<td><& /Elements/EditCustomFieldDate, @del, Default => undef &><br />
+% } elsif ($cf->Type eq 'DateTime') {
+% # Pass datemanip format to prevent another tz date conversion
+<td><& /Elements/EditCustomFieldDateTime, @add, Default => undef, Format => 'datemanip' &></td>
+<td><& /Elements/EditCustomFieldDateTime, @del, Default => undef, Format => 'datemanip' &><br />
+% } else {
+% $RT::Logger->crit("Unknown CustomField type: " . $cf->Type);
+% next
+% }
+ <label><input type="checkbox" name="Bulk-Delete-CustomField-<% $cf_id %>-AllValues" value="1">
+ <em><&|/l&>(Check to delete all values)</&></em></label>
+</td>
+</tr>
+% }
+</table>
+<%ARGS>
+$CustomFields
+</%ARGS>
+<%INIT>
+return unless $CustomFields->Count;
+</%INIT>
diff --git a/rt/share/html/Elements/BulkLinks b/rt/share/html/Elements/BulkLinks
new file mode 100644
index 0000000..473e843
--- /dev/null
+++ b/rt/share/html/Elements/BulkLinks
@@ -0,0 +1,197 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<table width="100%">
+ <tr>
+ <td valign="top" width="50%">
+ <h3><&|/l&>Current Links</&></h3>
+<table>
+ <tr>
+ <td class="labeltop"><&|/l&>Depends on</&>:</td>
+ <td class="value">
+% if ( $hash{DependsOn} ) {
+% for my $link ( values %{$hash{DependsOn}} ) {
+ <input type="checkbox" class="checkbox" id="DeleteLink--<%$link->Type%>-<%$link->Target%>" name="DeleteLink--<%$link->Type%>-<%$link->Target%>" value="1" />
+ <label for="DeleteLink--<%$link->Type%>-<%$link->Target%>"><& /Elements/ShowLink, URI => $link->TargetURI &></label><br />
+% } }
+ </td>
+ </tr>
+ <tr>
+ <td class="labeltop"><&|/l&>Depended on by</&>:</td>
+ <td class="value">
+% if ( $hash{DependedOnBy} ) {
+% for my $link ( values %{$hash{DependedOnBy}} ) {
+ <input type="checkbox" class="checkbox" id="DeleteLink-<%$link->Base%>-<%$link->Type%>-" name="DeleteLink-<%$link->Base%>-<%$link->Type%>-" value="1" />
+ <label for="DeleteLink-<%$link->Base%>-<%$link->Type%>-"><& /Elements/ShowLink, URI => $link->BaseURI &></label><br />
+% } }
+ </td>
+ </tr>
+ <tr>
+ <td class="labeltop"><&|/l&>Parents</&>:</td>
+ <td class="value">
+% if ( $hash{MemberOf} ) {
+% for my $link ( values %{$hash{MemberOf}} ) {
+ <input type="checkbox" class="checkbox" id="DeleteLink--<%$link->Type%>-<%$link->Target%>" name="DeleteLink--<%$link->Type%>-<%$link->Target%>" value="1" />
+ <label for="DeleteLink--<%$link->Type%>-<%$link->Target%>"><& /Elements/ShowLink, URI => $link->TargetURI &></label><br />
+% } }
+ </td>
+ </tr>
+ <tr>
+ <td class="labeltop"><&|/l&>Children</&>:</td>
+ <td class="value">
+% if ( $hash{Members} ) {
+% for my $link ( values %{$hash{Members}} ) {
+ <input type="checkbox" class="checkbox" id="DeleteLink-<%$link->Base%>-<%$link->Type%>-" name="DeleteLink-<%$link->Base%>-<%$link->Type%>-" value="1" />
+ <label for="DeleteLink-<%$link->Base%>-<%$link->Type%>-"><& /Elements/ShowLink, URI => $link->BaseURI &></label><br />
+% } }
+ </td>
+ </tr>
+ <tr>
+ <td class="labeltop"><&|/l&>Refers to</&>:</td>
+ <td class="value">
+% if ( $hash{RefersTo} ) {
+% for my $link ( values %{$hash{RefersTo}} ) {
+ <input type="checkbox" class="checkbox" id="DeleteLink--<%$link->Type%>-<%$link->Target%>" name="DeleteLink--<%$link->Type%>-<%$link->Target%>" value="1" />
+ <label for="DeleteLink--<%$link->Type%>-<%$link->Target%>"><& /Elements/ShowLink, URI => $link->TargetURI &></label><br />
+% } }
+ </td>
+ </tr>
+ <tr>
+ <td class="labeltop"><&|/l&>Referred to by</&>:</td>
+ <td class="value">
+% if ( $hash{ReferredToBy} ) {
+% for my $link ( values %{$hash{ReferredToBy}} ) {
+% # Skip reminders
+% next if (UNIVERSAL::isa($link->BaseObj, 'RT::Ticket') && $link->BaseObj->Type eq 'reminder');
+ <input type="checkbox" class="checkbox" id="DeleteLink-<%$link->Base%>-<%$link->Type%>-" name="DeleteLink-<%$link->Base%>-<%$link->Type%>-" value="1" />
+ <label for="DeleteLink-<%$link->Base%>-<%$link->Type%>-"><& /Elements/ShowLink, URI => $link->BaseURI &></label><br />
+% } }
+ </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td><i><&|/l&>(Check box to delete)</&></i></td>
+ </tr>
+</table>
+</td>
+<td valign="top">
+<h3><&|/l&>New Links</&></h3>
+<em><&|/l&>Enter tickets or URIs to link to. Separate multiple entries with spaces.</&>
+</em><br />
+<table>
+ <tr>
+ <td class="label"><&|/l&>Depends on</&>:</td>
+ <td class="entry"><input name="<% $record_type %>-DependsOn" data-autocomplete="Tickets" data-autocomplete-multiple="1" value="<% $ARGS{ $record_type .'-DependsOn' } || '' %>" /></td>
+ </tr>
+ <tr>
+ <td class="label"><&|/l&>Depended on by</&>:</td>
+ <td class="entry"><input name="DependsOn-<% $record_type %>" data-autocomplete="Tickets" data-autocomplete-multiple="1" value="<% $ARGS{ 'DependsOn-'. $record_type } || '' %>" /></td>
+ </tr>
+ <tr>
+ <td class="label"><&|/l&>Parents</&>:</td>
+ <td class="entry"><input name="<% $record_type %>-MemberOf" data-autocomplete="Tickets" data-autocomplete-multiple="1" value="<% $ARGS{ $record_type .'-MemberOf'} || '' %>" /></td>
+ </tr>
+ <tr>
+ <td class="label"><&|/l&>Children</&>:</td>
+ <td class="entry"> <input name="MemberOf-<% $record_type %>" data-autocomplete="Tickets" data-autocomplete-multiple="1" value="<% $ARGS{ 'MemberOf-'. $record_type } || '' %>" /></td>
+ </tr>
+ <tr>
+ <td class="label"><&|/l&>Refers to</&>:</td>
+ <td class="entry"><input name="<% $record_type %>-RefersTo" data-autocomplete="Tickets" data-autocomplete-multiple="1" value="<% $ARGS{ $record_type .'-RefersTo'} || '' %>" /></td>
+ </tr>
+ <tr>
+ <td class="label"><&|/l&>Referred to by</&>:</td>
+ <td class="entry"> <input name="RefersTo-<% $record_type %>" data-autocomplete="Tickets" data-autocomplete-multiple="1" value="<% $ARGS{ 'RefersTo-'. $record_type } || '' %>" /></td>
+ </tr>
+</table>
+</td>
+</tr>
+</table>
+
+<%ARGS>
+$Collection
+</%ARGS>
+
+<%INIT>
+
+my @types = qw/DependsOn DependedOnBy Members MemberOf RefersTo ReferredToBy/;
+
+my $record_type = $Collection->RecordClass;
+$record_type =~ s/^RT:://; $record_type =~ s/::/-/g;
+
+my %hash;
+if ( $Collection->Count ) {
+ my $first_record = $Collection->Next;
+ # we only show current links that exist on all the records
+ for my $type ( @types ) {
+ my $target_or_base =
+ $type =~ /DependsOn|MemberOf|RefersTo/ ? 'Target' : 'Base';
+ my $links = $first_record->$type;
+ while ( my $link = $links->Next ) {
+ $hash{$type}{$link->$target_or_base} = $link;
+ }
+ }
+
+ while ( my $record = $Collection->Next ) {
+ for my $type ( @types ) {
+ my $target_or_base =
+ $type =~ /DependsOn|MemberOf|RefersTo/ ? 'Target' : 'Base';
+ # if $hash{$type} is empty, no need to check any more
+ next unless $hash{$type} && keys %{$hash{$type}};
+
+ my %exists;
+ while ( my $link = $record->$type->Next ) {
+ $exists{$link->$target_or_base}++;
+ }
+
+ for ( keys %{$hash{$type}} ) {
+ delete $hash{$type}{$_} unless $exists{$_};
+ }
+ }
+ }
+}
+</%INIT>
diff --git a/rt/share/html/Elements/Callback b/rt/share/html/Elements/Callback
index 119853a..d472e14 100755
--- a/rt/share/html/Elements/Callback
+++ b/rt/share/html/Elements/Callback
@@ -48,6 +48,9 @@
<%INIT>
$ARGS{'CallbackPage'} = delete $ARGS{'Page'} || $m->callers(1)->path;
$ARGS{'CallbackName'} = delete $ARGS{'_CallbackName'};
-$RT::Logger->debug("$ARGS{'CallbackPage'} calls old style callback, use \$m->callback");
+RT->Deprecated(
+ Instead => '$m->callback',
+ Remove => "4.4",
+);
return $m->callback( %ARGS );
</%INIT>
diff --git a/rt/share/html/Elements/CollectionAsTable/Header b/rt/share/html/Elements/CollectionAsTable/Header
index ea3fafd..a1c5c48 100644
--- a/rt/share/html/Elements/CollectionAsTable/Header
+++ b/rt/share/html/Elements/CollectionAsTable/Header
@@ -71,6 +71,8 @@ $generic_query_args->{'Format'} = $FormatString if grep $_ eq 'Format', @PassArg
my $item = 0;
foreach my $col ( @Format ) {
+ my $attr = $col->{'attribute'} || $col->{'last_attribute'};
+
my $title = $col->{'title'} || '';
if ( $title eq 'NEWLINE' ) {
while ( $item < $maxitems ) {
@@ -93,12 +95,22 @@ foreach my $col ( @Format ) {
$m->out('<th class="collection-as-table"');
$m->out(' colspan="' . $m->interp->apply_escapes($span => 'h') . '"')
if $span;
+
+ my $align = $col->{'align'} || do {
+ my $tmp_columnmap = $m->comp( '/Elements/ColumnMap',
+ Class => $Class,
+ Name => $attr,
+ Attr => 'align',
+ );
+ ProcessColumnMapValue( $tmp_columnmap, Arguments => [ $attr ] );
+ };
+ $m->out(qq{ style="text-align: $align"}) if $align;
$m->out('>');
+ my $loc_title;
# if title is not defined then use defined attribute or last
# one we saw in the format
unless ( defined $col->{'title'} ) {
- my $attr = $col->{'attribute'} || $col->{'last_attribute'};
my $tmp = $m->comp( '/Elements/ColumnMap',
Class => $Class,
Name => $attr,
@@ -109,8 +121,9 @@ foreach my $col ( @Format ) {
# in case title is not defined in ColumnMap
# the following regex changes $attr like from "ReferredToBy" to "Referred To By"
$title = join ' ', split /(?<=[a-z])(?=[A-Z])/, $attr unless defined $title;
+ $loc_title = $attr =~ /^(?:CustomField|CF)\./ ? $title : loc($title);
} else {
- $title = $m->comp('/Elements/ScrubHTML', Content => $title);
+ $loc_title = loc($m->comp('/Elements/ScrubHTML', Content => $title));
}
if ( $AllowSorting and $col->{'attribute'}
@@ -134,11 +147,11 @@ foreach my $col ( @Format ) {
%$generic_query_args,
OrderBy => $attr, Order => $new_order
), 'h')
- . '">'. loc($title) .'</a>'
+ . '">'. $loc_title .'</a>'
);
}
else {
- $m->out( loc($title) );
+ $m->out( $loc_title );
}
$m->out('</th>');
}
diff --git a/rt/share/html/Elements/CollectionAsTable/Row b/rt/share/html/Elements/CollectionAsTable/Row
index b83943a..deaa312 100644
--- a/rt/share/html/Elements/CollectionAsTable/Row
+++ b/rt/share/html/Elements/CollectionAsTable/Row
@@ -130,7 +130,6 @@ foreach my $column (@Format) {
Arguments => [$record, $i],
);
}
- s/\n/<br \/>/gs for grep defined $_, @out;
$m->out( $_ .'="'. $m->interp->apply_escapes( $attrs{$_} => 'h' ) .'"' )
foreach grep $attrs{$_}, qw(align style colspan);
diff --git a/rt/share/html/Elements/CollectionList b/rt/share/html/Elements/CollectionList
index d76cf01..fc678f4 100644
--- a/rt/share/html/Elements/CollectionList
+++ b/rt/share/html/Elements/CollectionList
@@ -113,23 +113,24 @@ if ($Class =~ /::/) { # older passed in value
}
$m->out('<table cellspacing="0" class="' .
- ($Collection->isa('RT::Tickets') ? 'ticket-list' : 'collection') . ' collection-as-table">');
+ ($Collection->isa('RT::Tickets') ? 'ticket-list' : 'collection') . ' collection-as-table">');
if ( $ShowHeader ) {
- $m->comp('/Elements/CollectionAsTable/Header',
- %ARGS,
- Class => $Class,
- Format => \@Format,
- FormatString => $Format,
- Order => \@Order,
- OrderBy => \@OrderBy,
- Rows => $Rows,
- Page => $Page,
- AllowSorting => $AllowSorting,
- BaseURL => $BaseURL,
- GenericQueryArgs => $GenericQueryArgs,
- maxitems => $maxitems,
- );
+ $m->comp('/Elements/CollectionAsTable/Header',
+ %ARGS,
+ Class => $Class,
+ Format => \@Format,
+ FormatString => $Format,
+ Order => \@Order,
+ OrderBy => \@OrderBy,
+ Rows => $Rows,
+ Page => $Page,
+ AllowSorting => $AllowSorting,
+ BaseURL => $BaseURL,
+ GenericQueryArgs => $GenericQueryArgs,
+ maxitems => $maxitems,
+ PassArguments => \@PassArguments,
+ );
}
my ($i, $column_map) = (0, {});
diff --git a/rt/share/html/Elements/CollectionListPaging b/rt/share/html/Elements/CollectionListPaging
index 8bfa4f6..a7f2aee 100644
--- a/rt/share/html/Elements/CollectionListPaging
+++ b/rt/share/html/Elements/CollectionListPaging
@@ -64,15 +64,15 @@ if ($Pages == 1) {
else{
$m->out(loc('Page') . ' ');
my $prev = $m->interp->apply_escapes($m->comp(
- '/Elements/QueryString',
- %$URLParams,
- Page => ( $CurrentPage - 1 )
- ), 'h');
+ '/Elements/QueryString',
+ %$URLParams,
+ Page => ( $CurrentPage - 1 )
+ ), 'h');
my $next = $m->interp->apply_escapes($m->comp(
- '/Elements/QueryString',
- %$URLParams,
- Page => ( $CurrentPage + 1 )
- ), 'h');
+ '/Elements/QueryString',
+ %$URLParams,
+ Page => ( $CurrentPage + 1 )
+ ), 'h');
my %show;
$show{1} = 1;
$show{$_} = 1 for (($CurrentPage - 2)..($CurrentPage + 2));
@@ -84,7 +84,7 @@ for my $number ( 1 .. $Pages ) {
$dots = undef;
my $qs =
$m->interp->apply_escapes($m->comp( '/Elements/QueryString', %$URLParams, Page => $number ), 'h');
- $m->out(qq{<span class="pagenum">});
+ $m->out(qq{<span class="pagenum">});
if ( $number == $CurrentPage ) {
$m->out(qq{<span class="currentpage">$number</span> });
}
@@ -96,7 +96,7 @@ for my $number ( 1 .. $Pages ) {
$dots = 1;
$m->out(qq{<span class="dots">...</span>});
}
- $m->out(qq{</span>});
+ $m->out(qq{</span>});
}
if ($CurrentPage > 1) {
diff --git a/rt/share/html/Elements/ColumnMap b/rt/share/html/Elements/ColumnMap
index 3ae10ea..9c65825 100644
--- a/rt/share/html/Elements/ColumnMap
+++ b/rt/share/html/Elements/ColumnMap
@@ -52,11 +52,14 @@ $Attr => undef
</%ARGS>
<%ONCE>
+use Scalar::Util;
+
# This is scary and should totally be refactored -- jesse
-my $COLUMN_MAP = {
+my ($COLUMN_MAP, $WCOLUMN_MAP);
+$WCOLUMN_MAP = $COLUMN_MAP = {
id => {
attribute => 'id',
- title => 'id', # loc
+ title => '#', # loc
align => 'right',
value => sub { return $_[0]->id }
},
@@ -96,6 +99,12 @@ my $COLUMN_MAP = {
attribute => sub { return shift @_ },
title => sub { return pop @_ },
value => sub {
+ my $self = $WCOLUMN_MAP->{CustomField};
+ my $cf = $self->{load}->(@_);
+ return unless $cf->Id;
+ return $self->{render}->( $cf, $cf->ValuesForObject($_[0])->ItemsArrayRef );
+ },
+ load => sub {
# Cache the CF object on a per-request basis, to avoid
# having to load it for every row
my $key = join("-","CF",
@@ -106,36 +115,31 @@ my $COLUMN_MAP = {
my $cf = $m->notes($key);
unless ($cf) {
$cf = $_[0]->LoadCustomFieldByIdentifier($_[-1]);
+ RT->Logger->notice("Unable to load $_[-1] for ".$_[0]->CustomFieldLookupType." ".$_[0]->CustomFieldLookupId)
+ unless $cf->Id;
$m->notes($key, $cf);
}
- # Display custom field contents, separated by newlines.
- # For Image custom fields we also show a thumbnail here.
- my $values = $cf->ValuesForObject( $_[0] );
- return if $values->Count == 0;
-
- my @values;
- # it is guaranteed to be the same type for all fields, right?
- my $v = $values->First;
- my $cftype = $v->CustomFieldObj->Type;
-
- do {
- if ($cftype eq 'Image') {
- push @values,
- \($m->scomp( '/Elements/ShowCustomFieldImage',
- Object => $v ));
- } elsif ( $cftype eq 'Date' or $cftype eq 'DateTime' ) {
- # then actually return the date object;
- # ProcessColumnMapValue will stringify it
- my $DateObj = RT::Date->new( $session{'CurrentUser'} );
- $DateObj->Set(Format => 'unknown', Value => $v->Content);
- push @values, $DateObj;
- } else {
- push @values, $v->Content;
+ return $cf;
+ },
+ render => sub {
+ my ($cf, $ocfvs) = @_;
+ my $comp = $m->comp_exists("/Elements/ShowCustomField".$cf->Type)
+ ? "/Elements/ShowCustomField".$cf->Type
+ : undef;
+
+ my @values = map {
+ $comp
+ ? \($m->scomp( $comp, Object => $_ ))
+ : $_->Content
+ } @$ocfvs;
+
+ if (@values > 1) {
+ for my $value (splice @values) {
+ push @values, \"<li>", $value, \"</li> \n";
}
- push @values, \'<br />'; # this is deeply silly
- } while ($v = $values->Next);
- pop @values; # Remove that last <br />
+ @values = (\"<ul class='cf-values'>", @values, \"</ul>");
+ }
return @values;
},
},
@@ -146,9 +150,9 @@ my $COLUMN_MAP = {
my $checked = $DECODED_ARGS->{ $name .'All' }? 'checked="checked"': '';
return \qq{<input type="checkbox" name="}, $name, \qq{All" value="1" $checked
- onclick="setCheckbox(this.form, },
+ onclick="setCheckbox(this, },
$m->interp->apply_escapes($name,'j'),
- \qq{, this.checked)" />};
+ \qq{)" />};
},
value => sub {
my $id = $_[0]->id;
@@ -187,20 +191,60 @@ my $COLUMN_MAP = {
} qw(WebPath WebBaseURL WebURL)),
WebRequestPath => { value => sub { substr( $m->request_path, 1 ) } },
WebRequestPathDir => { value => sub { substr( $m->request_comp->dir_path, 1 ) } },
+ WebHomePath => {
+ value => sub {
+ my $path = RT->Config->Get("WebPath");
+ if (not $session{CurrentUser}->Privileged) {
+ $path .= "/SelfService";
+ }
+ return \$path;
+ },
+ },
+ CurrentUser => { value => sub { $session{CurrentUser}->id } },
+ CurrentUserName => { value => sub { $session{CurrentUser}->Name } },
};
$COLUMN_MAP->{'CF'} = $COLUMN_MAP->{'CustomField'};
+Scalar::Util::weaken($WCOLUMN_MAP);
+
+my $ROLE_MAP = {};
+
</%ONCE>
<%INIT>
$m->callback( COLUMN_MAP => $COLUMN_MAP, CallbackName => 'Once', CallbackOnce => 1 );
-$m->callback( COLUMN_MAP => $COLUMN_MAP );
+
+my $generic_with_roles;
+
+# Add in roles
+my $RecordClass = $Class;
+$RecordClass =~ s/_/:/g;
+if ($RecordClass->DOES("RT::Record::Role::Roles")) {
+ unless ($ROLE_MAP->{$RecordClass}) {
+ for my $role ($RecordClass->Roles) {
+ my $attrs = $RecordClass->Role($role);
+ $ROLE_MAP->{$RecordClass}{$role} = {
+ title => $role,
+ attribute => $attrs->{Column} || "$role.EmailAddress",
+ value => sub { return \($m->scomp("/Elements/ShowPrincipal", Object => $_[0]->RoleGroup($role) ) ) },
+ };
+ $ROLE_MAP->{$RecordClass}{$role . "s"} = $ROLE_MAP->{$RecordClass}{$role}
+ unless $attrs->{Single};
+ }
+ }
+ $generic_with_roles = { %{$COLUMN_MAP}, %{$ROLE_MAP->{$RecordClass}} };
+} else {
+ $generic_with_roles = { %{$COLUMN_MAP} };
+}
+
+$m->callback( COLUMN_MAP => $generic_with_roles );
# first deal with class specific things
if (RT::Interface::Web->ComponentPathIsSafe($Class) and $m->comp_exists("/Elements/$Class/ColumnMap")) {
- my $class_map = $m->comp("/Elements/$Class/ColumnMap", Attr => $Attr, Name => $Name );
+ my $class_map = $m->comp("/Elements/$Class/ColumnMap", Attr => $Attr, Name => $Name, GenericMap => $generic_with_roles );
return $class_map if defined $class_map;
}
-return GetColumnMapEntry( Map => $COLUMN_MAP, Name => $Name, Attribute => $Attr );
+
+return GetColumnMapEntry( Map => $generic_with_roles, Name => $Name, Attribute => $Attr );
</%INIT>
diff --git a/rt/share/html/Elements/GnuPG/KeyIssues b/rt/share/html/Elements/Crypt/KeyIssues
index a7ef7c4..35c1264 100644
--- a/rt/share/html/Elements/GnuPG/KeyIssues
+++ b/rt/share/html/Elements/Crypt/KeyIssues
@@ -46,7 +46,8 @@
%#
%# END BPS TAGGED BLOCK }}}
% if ( @$Issues || @$SignAddresses ) {
-<&| /Widgets/TitleBox, title => loc('GnuPG issues') &>
+<div class="results">
+<&| /Widgets/TitleBox, title => loc('[_1] issues', RT->Config->Get('Crypt')->{'Outgoing'}) &>
% if ( @$SignAddresses ) {
<% loc("The system is unable to sign outgoing email messages. This usually indicates that the passphrase was mis-set, or that GPG Agent is down. Please alert your system administrator immediately. The problem addresses are:") %>
@@ -58,9 +59,9 @@
% }
% if (@$Issues == 1) {
-<% loc("You are going to encrypt outgoing email messages, but there is a problem with a recipient's public key. You have to fix the problem with the key, disable sending a message to that recipient, or disable encryption.") %>
+<% loc("You are going to encrypt outgoing email messages, but there is a problem with a recipient's public key/certificate. You have to fix the problem with the key/certificate, disable sending a message to that recipient, or disable encryption.") %>
% } elsif (@$Issues > 1) {
-<% loc("You are going to encrypt outgoing email messages, but there are problems with recipients' public keys. You have to fix the problems with the keys, disable sending a message to the recipients with key problems, or disable encryption.") %>
+<% loc("You are going to encrypt outgoing email messages, but there are problems with recipients' public keys/certificates. You have to fix the problems with the keys/certificates, disable sending a message to the recipients with problems, or disable encryption.") %>
% }
<ul>
@@ -69,12 +70,12 @@
% if ( $issue->{'User'} ) {
User <a href="<% RT->Config->Get('WebPath') %>/Admin/Users/Modify.html?id=<% $issue->{'User'}->id %>"><&/Elements/ShowUser, User => $issue->{'User'} &></a> has a problem.
% } else {
-There is a problem with key(s) for address <% $issue->{'EmailAddress'} %>, but there is no user in the DB for this address.
+There is a problem with key/certificate(s) for address <% $issue->{'EmailAddress'} %>, but there is no user in the DB for this address.
% }
<% $issue->{'Message'} %>
<br />
-Select a key you want to use for encryption:
-<& /Elements/GnuPG/SelectKeyForEncryption,
+Select a key/certificate you want to use for encryption:
+<& /Elements/Crypt/SelectKeyForEncryption,
Name => 'UseKey-'. $issue->{'EmailAddress'},
EmailAddress => $issue->{'EmailAddress'},
Default => ( $issue->{'User'}? $issue->{'User'}->PreferredKey : undef ),
@@ -83,6 +84,7 @@ Select a key you want to use for encryption:
% }
</ul>
</&>
+</div>
% }
<%ARGS>
diff --git a/rt/share/html/Elements/GnuPG/SelectKeyForEncryption b/rt/share/html/Elements/Crypt/SelectKeyForEncryption
index 54aa3c6..2bf79bc 100644
--- a/rt/share/html/Elements/GnuPG/SelectKeyForEncryption
+++ b/rt/share/html/Elements/Crypt/SelectKeyForEncryption
@@ -50,16 +50,15 @@
% } else {
<select name="<% $Name %>">
% foreach my $key (@keys) {
-<option value="<% $key->{'Fingerprint'} %>"><% $key->{'Fingerprint'} %> <% loc("(trust: [_1])", $key->{'TrustTerse'}) %></option>
+<option value="<% $key->{'Fingerprint'} %>"><% $key->{'Formatted'} %> <% loc("(trust: [_1])", $key->{'TrustTerse'}) %></option>
% }
</select>
% }
<%INIT>
-require RT::Crypt::GnuPG;
my $d;
-my %res = RT::Crypt::GnuPG::GetKeysForEncryption($EmailAddress);
+my %res = RT::Crypt->GetKeysForEncryption($EmailAddress);
# move the preferred key to the top of the list
my @keys = map {
$_->{'Fingerprint'} eq ( $Default || '' )
diff --git a/rt/share/html/Elements/GnuPG/SelectKeyForSigning b/rt/share/html/Elements/Crypt/SelectKeyForSigning
index 047d558..bbd9bda 100644
--- a/rt/share/html/Elements/GnuPG/SelectKeyForSigning
+++ b/rt/share/html/Elements/Crypt/SelectKeyForSigning
@@ -58,7 +58,10 @@ $Name => 'SignUsing',
$User => undef,
</%ARGS>
<%INIT>
-return unless RT->Config->Get('GnuPG')->{'Enable'};
+return unless RT->Config->Get('Crypt')->{'Enable'};
-my $user_key = $User->PrivateKey;
+# XXX: Only GnuPG at this moment supports user's private keys
+my $user_key;
+$user_key = $User->PrivateKey
+ if RT->Config->Get('Crypt')->{'Outgoing'} eq 'GnuPG';
</%INIT>
diff --git a/rt/share/html/Elements/GnuPG/SignEncryptWidget b/rt/share/html/Elements/Crypt/SignEncryptWidget
index c1b5b25..33136f9 100644
--- a/rt/share/html/Elements/GnuPG/SignEncryptWidget
+++ b/rt/share/html/Elements/Crypt/SignEncryptWidget
@@ -47,6 +47,7 @@
%# END BPS TAGGED BLOCK }}}
<table><tr>
% my $columnsplit = "</td><td>";
+% if ( RT->Config->Get('Crypt')->{'Outgoing'} eq 'GnuPG' ) {
<td><% loc( 'Sign[_1][_2] using [_3]',
$columnsplit,
$m->scomp('/Widgets/Form/Boolean:InputOnly',
@@ -54,6 +55,14 @@
),
$m->scomp('SelectKeyForSigning', User => $session{'CurrentUser'}->UserObj ),
) |n %></td>
+% } else {
+<td><% loc( 'Sign[_1][_2]',
+ $columnsplit,
+ $m->scomp('/Widgets/Form/Boolean:InputOnly',
+ Name => 'Sign', CurrentValue => $self->{'Sign'}
+ ),
+) |n %></td>
+% }
<td><% loc('Encrypt')%></td>
<td><& /Widgets/Form/Boolean:InputOnly, Name => 'Encrypt', CurrentValue => $self->{'Encrypt'} &></td>
@@ -70,9 +79,7 @@ return unless $self;
$Arguments => {}
</%ARGS>
<%INIT>
-return undef unless RT->Config->Get('GnuPG')->{'Enable'};
-
-require RT::Crypt::GnuPG;
+return undef unless RT->Config->Get('Crypt')->{'Enable'};
return { %$Arguments };
</%INIT>
</%METHOD>
@@ -84,7 +91,7 @@ $self => undef,
<%INIT>
return unless $self;
-return $m->comp( '/Elements/GnuPG/KeyIssues',
+return $m->comp( '/Elements/Crypt/KeyIssues',
Issues => $self->{'GnuPGRecipientsKeyIssues'} || [],
SignAddresses => $self->{'GnuPGCanNotSignAs'} || [],
);
@@ -138,11 +145,11 @@ if ( $self->{'Sign'} ) {
if ($address ne $private and $address ne $queue) {
push @{ $self->{'GnuPGCanNotSignAs'} ||= [] }, $address;
$checks_failure = 1;
- } elsif ( not RT::Crypt::GnuPG::DrySign( $address ) ) {
+ } elsif ( not RT::Crypt->DrySign( Signer => $address ) ) {
push @{ $self->{'GnuPGCanNotSignAs'} ||= [] }, $address;
$checks_failure = 1;
} else {
- RT::Crypt::GnuPG::UseKeyForSigning( $self->{'SignUsing'} )
+ RT::Crypt->UseKeyForSigning( $self->{'SignUsing'} )
if $self->{'SignUsing'};
}
}
@@ -165,13 +172,13 @@ if ( $self->{'Encrypt'} ) {
my %seen;
@recipients = grep !$seen{ lc $_ }++, @recipients;
- RT::Crypt::GnuPG::UseKeyForEncryption(
+ RT::Crypt->UseKeyForEncryption(
map { (/^UseKey-(.*)$/)[0] => $self->{ $_ } }
grep $self->{ $_ } && /^UseKey-/,
keys %$self
);
- my ($status, @issues) = RT::Crypt::GnuPG::CheckRecipients( @recipients );
+ my ($status, @issues) = RT::Crypt->CheckRecipients( @recipients );
push @{ $self->{'GnuPGRecipientsKeyIssues'} ||= [] }, @issues;
$checks_failure = 1 unless $status;
}
diff --git a/rt/share/html/Ticket/Elements/ShowGnuPGStatus b/rt/share/html/Elements/CryptStatus
index efaf663..b022b10 100644
--- a/rt/share/html/Ticket/Elements/ShowGnuPGStatus
+++ b/rt/share/html/Elements/CryptStatus
@@ -45,16 +45,8 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<table class="crypt-runs">
-<tr><td align="right" class="labeltop" rowspan="<% scalar @messages %>">GnuPG:</td>
-<td><% shift @messages %></td></tr>
-
-% foreach my $msg( @messages ) {
-<tr><td><% $msg %></td></tr>
-% }
-</table>
<%ARGS>
-$Attachment
+$Message
$WarnUnsigned => undef
$Reverify => 1
</%ARGS>
@@ -62,10 +54,12 @@ $Reverify => 1
my @runs;
my $needs_unsigned_warning = $WarnUnsigned;
-foreach ( $Attachment->SplitHeaders ) {
- if ( s/^X-RT-GnuPG-Status:\s*//i ) {
- require RT::Crypt::GnuPG;
- push @runs, [ RT::Crypt::GnuPG::ParseStatus( $_ ) ];
+my @protocols = RT::Crypt->EnabledProtocols;
+my $re_protocols = join '|', map "\Q$_\E", @protocols;
+
+foreach ( $Message->SplitHeaders ) {
+ if ( s/^X-RT-($re_protocols)-Status:\s*//io ) {
+ push @runs, [ $1, RT::Crypt->ParseStatus( Protocol => "$1", Status => $_ ) ];
}
$needs_unsigned_warning = 0 if /^X-RT-Incoming-Signature:/;
@@ -103,26 +97,25 @@ my $reverify_cb = sub {
return (0, "Couldn't parse content of attachment #". $original->id);
}
- use RT::Interface::Email::Auth::GnuPG;
- my ($status, @res) = RT::Interface::Email::Auth::GnuPG::VerifyDecrypt( Entity => $entity );
- if ( $status && !@res ) {
- # imposible in this situation
- return (0, "Content of attachment #". $original->id ." is not signed and/or encrypted");
- }
- elsif ( @res ) {
- require RT::Crypt::GnuPG;
-
- $top->DelHeader('X-RT-GnuPG-Status');
- $top->AddHeader(map { ('X-RT-GnuPG-Status' => $_->{'status'} ) } @res);
- $top->SetHeader('X-RT-Privacy' => 'PGP' );
- $top->DelHeader('X-RT-Incoming-Signature');
-
- my @status = RT::Crypt::GnuPG::ParseStatus( $res[0]->{'status'} );
- for ( @status ) {
- if ( $_->{'Operation'} eq 'Verify' && $_->{'Status'} eq 'DONE' ) {
- $top->AddHeader( 'X-RT-Incoming-Signature' => $_->{'UserString'} );
- $needs_unsigned_warning = 0;
- }
+ my @res = RT::Crypt->VerifyDecrypt( Entity => $entity );
+ return (0, "Content of attachment #". $original->id ." is not signed and/or encrypted")
+ unless @res;
+
+ $top->DelHeader("X-RT-$_-Status") for RT::Crypt->Protocols;
+ $top->AddHeader(map { ("X-RT-". $_->{Protocol} ."-Status" => $_->{'status'} ) } @res);
+ $top->DelHeader("X-RT-Privacy");
+ my %protocols; $protocols{$_->{Protocol}}++ for @res;
+ $top->AddHeader('X-RT-Privacy' => $_ ) for sort keys %protocols;
+
+ $top->DelHeader('X-RT-Incoming-Signature');
+ my @status = RT::Crypt->ParseStatus(
+ Protocol => $res[0]{'Protocol'},
+ Status => $res[0]{'status'},
+ );
+ for ( @status ) {
+ if ( $_->{'Operation'} eq 'Verify' && $_->{'Status'} eq 'DONE' ) {
+ $top->AddHeader( 'X-RT-Incoming-Signature' => $_->{'UserString'} );
+ $needs_unsigned_warning = 0;
}
}
return (1, "Reverified original message");
@@ -130,6 +123,8 @@ my $reverify_cb = sub {
my @messages;
foreach my $run ( @runs ) {
+ my $protocol = shift @$run;
+ $protocol = $RT::Crypt::PROTOCOLS{lc $protocol};
foreach my $line ( @$run ) {
if ( $line->{'Operation'} eq 'KeyCheck' ) {
next unless $Reverify;
@@ -137,9 +132,11 @@ foreach my $run ( @runs ) {
next unless $line->{'KeyType'} eq 'public' && $line->{'Status'} eq 'MISSING';
# but only if we have key
- my %key = RT::Crypt::GnuPG::GetPublicKeyInfo( $line->{'Key'} );
+ my %key = RT::Crypt->GetPublicKeyInfo(
+ Protocol => $protocol, Key => $line->{'Key'}
+ );
if ( $key{'info'} ) {
- my ($status, $msg) = $reverify_cb->($Attachment);
+ my ($status, $msg) = $reverify_cb->($Message);
unless ($status) {
$RT::Logger->error($msg);
} else {
@@ -147,31 +144,52 @@ foreach my $run ( @runs ) {
}
}
else {
- push @messages, loc( "Public key '0x[_1]' is required to verify signature", $line->{'Key'} );
+ push @messages, {
+ Tag => $protocol,
+ Classes => [qw/keycheck bad/],
+ Value => loc( "Public key '0x[_1]' is required to verify signature", $line->{'Key'} ),
+ };
}
}
elsif ( $line->{'Operation'} eq 'PassphraseCheck' ) {
next if $line->{'Status'} eq 'DONE';
- push @messages, loc( $line->{'Message'} );
+ push @messages, {
+ Tag => $protocol,
+ Classes => ['passphrasecheck', lc $line->{Status}],
+ Value => loc( $line->{'Message'} ),
+ };
}
elsif ( $line->{'Operation'} eq 'Decrypt' ) {
- push @messages, loc( $line->{'Message'} );
+ push @messages, {
+ Tag => $protocol,
+ Classes => ['decrypt', lc $line->{Status}],
+ Value => loc( $line->{'Message'} ),
+ };
}
elsif ( $line->{'Operation'} eq 'Verify' ) {
- push @messages, loc( $line->{'Message'} );
+ push @messages, {
+ Tag => $protocol,
+ Classes => ['verify', lc $line->{Status}, 'trust-'.($line->{Trust} || 'UNKNOWN')],
+ Value => loc( $line->{'Message'} ),
+ };
}
else {
next if $line->{'Status'} eq 'DONE';
- push @messages, loc( $line->{'Message'} );
+ push @messages, {
+ Tag => $protocol,
+ Classes => [lc $line->{Operation}, lc $line->{Status}],
+ Value => loc( $line->{'Message'} ),
+ }
}
}
}
-push @messages, loc('Warning! This is NOT signed!')
+push @messages, { Tag => "Signing", Classes => ['verify', 'bad'], Value => loc('Warning! This is NOT signed!') }
if $needs_unsigned_warning;
return unless @messages;
my %seen;
-@messages = grep !$seen{$_}++, @messages;
+@messages = grep !$seen{$_->{Value}}++, @messages;
+return @messages;
</%INIT>
diff --git a/rt/share/html/Elements/EditCustomField b/rt/share/html/Elements/EditCustomField
index d0928dc..db6d181 100644
--- a/rt/share/html/Elements/EditCustomField
+++ b/rt/share/html/Elements/EditCustomField
@@ -55,25 +55,39 @@ unless ( $Type ) {
}
my $Values;
-if ( $Object && $Object->id ) {
- $NamePrefix ||= join '-',
- 'Object', ref($Object), $Object->Id, 'CustomField', '';
+if ( $Object ) {
+ $Grouping =~ s/\W//g if $Grouping;
- $Values = $Object->CustomFieldValues( $CustomField->id );
- $Values->Columns(
- qw( id CustomField ObjectType ObjectId Disabled Content
- ContentType ContentEncoding SortOrder Creator Created
- LastUpdatedBy LastUpdated )
- );
- # Don't take care of $Values if there isn't values inside
- undef ( $Values ) unless ( $Values->Count );
+ if ( $Object->Id ) {
+ $Values = $Object->CustomFieldValues( $CustomField->id );
+ $Values->Columns(
+ qw( id CustomField ObjectType ObjectId Disabled Content
+ ContentType ContentEncoding SortOrder Creator Created
+ LastUpdatedBy LastUpdated )
+ );
+ # Don't take care of $Values if there isn't values inside
+ undef ( $Values ) unless ( $Values->Count );
+ }
+}
+
+my $Name;
+if ( !$NamePrefix ) {
+ $Name = GetCustomFieldInputName(Object => $Object, CustomField => $CustomField, Grouping => $Grouping );
}
# Always fill $Default with submited values if it's empty
if ( ( !defined $Default || !length $Default ) && $DefaultsFromTopArguments ) {
my %TOP = %$DECODED_ARGS;
- $Default = $TOP{ $NamePrefix .$CustomField->Id . '-Values' }
- || $TOP{ $NamePrefix .$CustomField->Id . '-Value' };
+ $Default = $TOP{ $Name } if $Name;
+ # check both -Values and -Value for back compatibility
+ if ( $NamePrefix ) {
+ $Default //= $TOP{ $NamePrefix . $CustomField->Id . '-Values' }
+ // $TOP{ $NamePrefix . $CustomField->Id . '-Value' };
+ }
+ else {
+ my $prefix = GetCustomFieldInputNamePrefix(Object => $Object, CustomField => $CustomField, Grouping => $Grouping );
+ $Default //= $TOP{ $prefix . 'Values' } // $TOP{ $prefix . 'Value' };
+ }
}
my $MaxValues = $CustomField->MaxValues;
@@ -85,10 +99,13 @@ if ($MaxValues == 1 && $Values) {
}
# The "Magic" hidden input causes RT to know that we were trying to edit the field, even if
# we don't see a value later, since browsers aren't compelled to submit empty form fields
-$m->out("\n".'<input type="hidden" class="hidden" name="'.$m->interp->apply_escapes($NamePrefix, 'h').$CustomField->Id.'-Values-Magic" value="1" />'."\n");
+$m->out("\n".'<input type="hidden" class="hidden" name="'
+ . ($Name ? $m->interp->apply_escapes($Name, 'h') : $m->interp->apply_escapes($NamePrefix, 'h').$CustomField->Id.'-Values')
+ . '-Magic" value="1" />'."\n");
+
my $EditComponent = "EditCustomField$Type";
-$m->callback( %ARGS, CallbackName => 'EditComponentName', Name => \$EditComponent, CustomField => $CustomField, Object => $Object );
+$m->callback( %ARGS, CallbackName => 'EditComponentName', Name => \$EditComponent, CustomField => $CustomField, Object => $Object, Rows => \$Rows, Cols => \$Cols);
$EditComponent = "EditCustomField$Type" unless $m->comp_exists($EditComponent);
return $m->comp(
@@ -103,9 +120,12 @@ return $m->comp(
Multiple => ($MaxValues != 1),
NamePrefix => $NamePrefix,
CustomField => $CustomField,
+ Name => $Name,
+ $CustomField->BasedOn && $Name ? ( BasedOnName => GetCustomFieldInputName(Object => $Object, CustomField => $CustomField->BasedOnObj, Grouping => $Grouping) ) : (),
);
</%INIT>
<%ARGS>
+$Grouping => undef
$Object => undef
$CustomField => undef
$NamePrefix => undef
diff --git a/rt/share/html/Elements/EditCustomFieldAutocomplete b/rt/share/html/Elements/EditCustomFieldAutocomplete
index 1dd4b62..092f835 100644
--- a/rt/share/html/Elements/EditCustomFieldAutocomplete
+++ b/rt/share/html/Elements/EditCustomFieldAutocomplete
@@ -53,13 +53,13 @@ cols="<% $Cols %>" \
% if ( defined $Rows ) {
rows="<% $Rows %>" \
% }
-name="<% $name %>-Values" id="<% $name %>-Values" class="CF-<%$CustomField->id%>-Edit"><% $Default || '' %></textarea>
+name="<% $name %>" id="<% $name %>" class="CF-<%$CustomField->id%>-Edit"><% $Default || '' %></textarea>
<script type="text/javascript">
-var id = <% "$name-Values" |n,j%>;
+var id = <% "$name" |n,j%>;
id = id.replace(/:/g,'\\:');
jQuery('#'+id).autocomplete( {
- source: <%RT->Config->Get('WebPath') |n,j%>+"/Helpers/Autocomplete/CustomFieldValues?"+<% $Context |n,j %>+<% "$name-Values" |n,u,j%>,
+ source: RT.Config.WebHomePath + "/Helpers/Autocomplete/CustomFieldValues?"+<% $Context |n,j %>+<% $name |n,u,j%>,
focus: function () {
// prevent value inserted on focus
return false;
@@ -78,18 +78,18 @@ jQuery('#'+id).autocomplete( {
}
);
% } else {
-<input type="text" id="<% $name %>-Value" name="<% $name %>-Value" class="CF-<%$CustomField->id%>-Edit" value="<% $Default || '' %>"/>
+<input type="text" id="<% $name %>" name="<% $name %>" class="CF-<%$CustomField->id%>-Edit" value="<% $Default || '' %>"/>
<script type="text/javascript">
-var id = <% "$name-Value" |n,j%>;
+var id = <% $name |n,j%>;
id = id.replace(/:/g,'\\:');
jQuery('#'+id).autocomplete( {
- source: <%RT->Config->Get('WebPath')|n,j%>+"/Helpers/Autocomplete/CustomFieldValues?"+<% $Context |n,j %>+<% "$name-Value" |n,u,j%>
+ source: RT.Config.WebHomePath + "/Helpers/Autocomplete/CustomFieldValues?"+<% $Context |n,j %>+<% $name |n,u,j%>
}
);
% }
</script>
<%INIT>
-my $name = $NamePrefix . $CustomField->Id;
+my $name = $Name || $NamePrefix . $CustomField->Id . ( $Multiple ? '-Values' : '-Value' );
if ( $Default && !$Multiple ) {
$Default =~ s/\s*\r*\n\s*/ /g;
}
@@ -108,6 +108,7 @@ if ($CustomField->ContextObject) {
<%ARGS>
$CustomField => undef
$NamePrefix => undef
+$Name => undef
$Default => undef
$Values => undef
$Multiple => undef
diff --git a/rt/share/html/Elements/EditCustomFieldBinary b/rt/share/html/Elements/EditCustomFieldBinary
index 7a2de49..fc6ee3f 100644
--- a/rt/share/html/Elements/EditCustomFieldBinary
+++ b/rt/share/html/Elements/EditCustomFieldBinary
@@ -47,15 +47,26 @@
%# END BPS TAGGED BLOCK }}}
% while ( $Values and my $value = $Values->Next ) {
%# XXX - let user download the file(s) here?
-<input type="checkbox" name="<%$NamePrefix%><%$CustomField->Id%>-DeleteValueIds" class="checkbox CF-<%$CustomField->id%>-Edit" value="<% $value->Id %>" /><a href="<%RT->Config->Get('WebPath')%>/Download/CustomFieldValue/<% $value->Id %>/<% $value->Content |un %>"><% $value->Content %></a><br />
+<input type="checkbox" name="<%$delete_name%>" class="checkbox CF-<%$CustomField->id%>-Edit" value="<% $value->Id %>" /><a href="<%RT->Config->Get('WebPath')%>/Download/CustomFieldValue/<% $value->Id %>/<% $value->Content |un %>"><% $value->Content %></a><br />
% }
-% if (!$MaxValues || !$Values || $Values->Count < $MaxValues) {
-<input type="file" name="<% $NamePrefix %><% $CustomField->Id %>-Upload" class="CF-<%$CustomField->id%>-Edit" />
+% if ($MaxValues && $Values && $Values->Count >= $MaxValues ) {
+<div class="hints">
+<&|/l&>Reached maximum number, so new values will override old ones.</&>
+</div>
% }
+<input type="file" name="<% $name %>" class="CF-<%$CustomField->id%>-Edit" />
+
+<%INIT>
+my $name = $Name || $NamePrefix . $CustomField->Id . '-Upload';
+my $delete_name = $name;
+$delete_name =~ s!-Upload$!-DeleteValueIds!;
+</%INIT>
+
<%ARGS>
$Object => undef
$CustomField => undef
$NamePrefix => undef
+$Name => undef
$Default => undef
$Values => undef
$MaxValues => undef
diff --git a/rt/share/html/Elements/EditCustomFieldCombobox b/rt/share/html/Elements/EditCustomFieldCombobox
index 718ff30..28fc2a1 100644
--- a/rt/share/html/Elements/EditCustomFieldCombobox
+++ b/rt/share/html/Elements/EditCustomFieldCombobox
@@ -46,17 +46,25 @@
%#
%# END BPS TAGGED BLOCK }}}
% while ($Values and my $value = $Values->Next and $Multiple) {
-<input type="checkbox" class="checkbox CF-<%$CustomField->id%>-Edit" name="<%$NamePrefix%><%$CustomField->Id%>-DeleteValueIds" class="CF-<%$CustomField->id%>-Edit" value="<% $value->Id %>" /><% $value->Content %>
+<input type="checkbox" id="<%$delete_name%>" class="checkbox CF-<%$CustomField->id%>-Edit" name="<%$delete_name%>" class="CF-<%$CustomField->id%>-Edit" value="<% $value->Id %>" />
+<label for="<%$delete_name%>"><% $value->Content %></label>
<br />
% }
% (!$Multiple or !$MaxValues or !$Values or $Values->Count < $MaxValues) or return;
<& /Widgets/ComboBox,
- Name => $NamePrefix . $CustomField->Id . "-Value",
+ Name => $name,
Default => $Default,
Rows => $Rows,
Class => "CF-".$CustomField->id."-Edit",
Values => [map {$_->Name} @{$CustomField->Values->ItemsArrayRef}],
&>
+
+<%INIT>
+my $name = $Name || $NamePrefix . $CustomField->Id . '-Value';
+my $delete_name = $name;
+$delete_name =~ s!-Value$!-DeleteValueIds!;
+</%INIT>
+
<%ARGS>
$Object => undef
$CustomField => undef
@@ -66,4 +74,5 @@ $Values => undef
$Multiple => 0
$Rows => undef
$MaxValues => undef
+$Name => undef
</%ARGS>
diff --git a/rt/share/html/Elements/SelectSortOrder b/rt/share/html/Elements/EditCustomFieldCustomGroupings
index 0075df6..0287b18 100755..100644
--- a/rt/share/html/Elements/SelectSortOrder
+++ b/rt/share/html/Elements/EditCustomFieldCustomGroupings
@@ -45,21 +45,29 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>">
-%foreach my $order (@orders) {
-<option value="<%$order%>"<%$order eq $Default && qq[ selected="selected"] |n %>>
-<% shift @order_names %>
-</option>
+% foreach my $group ( @Groupings ) {
+<&| /Widgets/TitleBox,
+ title => $group? loc($group) : loc('Custom Fields'),
+ class => $css_class .' '. ($group? CSSClass("$css_class-$group") : ''),
+ id => ($group ? CSSClass("$css_class-$group") : $css_class),
+ hide_empty => 1,
+ %$TitleBoxARGS,
+&>
+% $ARGS{CustomFields} = $CustomFieldGenerator->() if $CustomFieldGenerator;
+<& EditCustomFields, %ARGS, Object => $Object, Grouping => $group &>
+</&>
% }
-</select>
-
+<%ARGS>
+$Object
+$CustomFieldGenerator => undef,
+@Groupings => (RT::CustomField->CustomGroupings( $Object ), '')
+</%ARGS>
<%INIT>
-my @orders = qw (ASC DESC);
-my @order_names = (loc('Ascending'), loc('Descending'));
+my $css_class = lc(ref($Object)||$Object);
+$css_class =~ s/^rt:://;
+$css_class =~ s/::/-/g;
+$css_class = CSSClass($css_class);
+$css_class .= '-info-cfs';
+my $TitleBoxARGS = delete $ARGS{TitleBoxARGS} || {};
</%INIT>
-
-<%ARGS>
-$Name => 'SortOrder'
-$Default => 'ASC'
-</%ARGS>
diff --git a/rt/share/html/Elements/EditCustomFieldDate b/rt/share/html/Elements/EditCustomFieldDate
index 25e01f4..6568d34 100644
--- a/rt/share/html/Elements/EditCustomFieldDate
+++ b/rt/share/html/Elements/EditCustomFieldDate
@@ -45,7 +45,7 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-% my $name = $NamePrefix.$CustomField->Id.'-Values';
+% my $name = $Name || $NamePrefix.$CustomField->Id.'-Values';
<& /Elements/SelectDate, Name => "$name", current => 0, ShowTime => 0, $KeepValue && $Default ? (Default => $Default) : () &> (<%$DateObj->AsString(Time => 0, Timezone => 'utc')%>)
<%INIT>
@@ -59,5 +59,6 @@ $NamePrefix => undef
$Default => undef
$Values => undef
$MaxValues => 1
+$Name => undef
$KeepValue => undef
</%ARGS>
diff --git a/rt/share/html/Elements/EditCustomFieldDateTime b/rt/share/html/Elements/EditCustomFieldDateTime
index 28fecd3..0ca7bb2 100644
--- a/rt/share/html/Elements/EditCustomFieldDateTime
+++ b/rt/share/html/Elements/EditCustomFieldDateTime
@@ -45,7 +45,7 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-% my $name = $NamePrefix.$CustomField->Id.'-Values';
+% my $name = $Name || $NamePrefix.$CustomField->Id.'-Values';
<& /Elements/SelectDate, Name => "$name", current => 0, $KeepValue && $Default ? (Default => $Default) : () &> (<%$DateObj->AsString($KeepValue ? ( Timezone => 'utc' ) : () )%>)
<%INIT>
@@ -59,6 +59,7 @@ $NamePrefix => undef
$Default => undef
$Values => undef
$MaxValues => 1
+$Name => undef
$Format => 'ISO'
$KeepValue => undef
</%ARGS>
diff --git a/rt/share/html/Elements/EditCustomFieldFreeform b/rt/share/html/Elements/EditCustomFieldFreeform
index 3514b1d..3c2847c 100644
--- a/rt/share/html/Elements/EditCustomFieldFreeform
+++ b/rt/share/html/Elements/EditCustomFieldFreeform
@@ -45,7 +45,7 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-% my $name = $NamePrefix . $CustomField->Id . '-Value';
+% my $name = $Name || $NamePrefix . $CustomField->Id . ( $Multiple ? '-Values' : '-Value' );
% if ($Multiple) {
<textarea \
% if ( defined $Cols ) {
@@ -54,7 +54,7 @@ cols="<% $Cols %>" \
% if ( defined $Rows ) {
rows="<% $Rows %>" \
% }
-name="<%$name%>s" id="<%$name%>s" wrap="off" class="CF-<%$CustomField->id%>-Edit"><% defined($Default) ? $Default : '' %></textarea>
+name="<%$name%>" id="<%$name%>" wrap="off" class="CF-<%$CustomField->id%>-Edit"><% defined($Default) ? $Default : '' %></textarea>
% } else {
<input type="text" name="<%$name%>" id="<%$name%>" \
% if ( defined $Cols ) {
@@ -74,6 +74,7 @@ unless ( $Multiple ) {
$Object => undef
$CustomField => undef
$NamePrefix => undef
+$Name => undef
$Default => undef
$Values => undef
$Multiple => undef
diff --git a/rt/share/html/Elements/EditCustomFieldImage b/rt/share/html/Elements/EditCustomFieldImage
index 96e0ac6..0b2340a 100644
--- a/rt/share/html/Elements/EditCustomFieldImage
+++ b/rt/share/html/Elements/EditCustomFieldImage
@@ -46,16 +46,27 @@
%#
%# END BPS TAGGED BLOCK }}}
% while ($Values and my $value = $Values->Next ) {
-<input type="checkbox" class="checkbox" name="<%$NamePrefix%><%$CustomField->Id%>-DeleteValueIds" class="CF-<%$CustomField->id%>-Edit" value="<% $value->Id %>" /><& ShowCustomFieldImage, Object => $value &>
+<input type="checkbox" class="checkbox" name="<%$delete_name%>" class="CF-<%$CustomField->id%>-Edit" value="<% $value->Id %>" /><& ShowCustomFieldImage, Object => $value &>
<br />
% }
-% if (!$MaxValues or !$Values or $Values->Count < $MaxValues) {
-<input type="file" name="<%$NamePrefix%><%$CustomField->Id%>-Upload" class="CF-<%$CustomField->id%>-Edit" />
+% if ($MaxValues && $Values && $Values->Count >= $MaxValues ) {
+<div class="hints">
+<&|/l&>Reached maximum number, so new values will override old ones.</&>
+</div>
% }
+<input type="file" name="<%$name%>" class="CF-<%$CustomField->id%>-Edit" />
+
+<%INIT>
+my $name = $Name || $NamePrefix . $CustomField->Id . '-Upload';
+my $delete_name = $name;
+$delete_name =~ s!-Upload$!-DeleteValueIds!;
+</%INIT>
+
<%ARGS>
$Object => undef
$CustomField => undef
$NamePrefix => undef
+$Name => undef
$Default => undef
$Values => undef
$MaxValues => undef
diff --git a/rt/share/html/Elements/EditCustomFieldSelect b/rt/share/html/Elements/EditCustomFieldSelect
index 662c188..9fcebfb 100644
--- a/rt/share/html/Elements/EditCustomFieldSelect
+++ b/rt/share/html/Elements/EditCustomFieldSelect
@@ -50,12 +50,10 @@
%# (perhaps by tweaking the .display style?)
% my $selected = 0;
% my @category;
-% my $id = $NamePrefix . $CustomField->Id;
% my $out = $m->scomp('SELF:options', %ARGS, SelectedRef => \$selected, CategoryRef => \@category);
% if (!$HideCategory and @category and not $CustomField->BasedOnObj->id) {
- <script type="text/javascript" src="<%RT->Config->Get('WebPath')%>/NoAuth/js/cascaded.js"></script>
%# XXX - Hide this select from w3m?
- <select onchange="filter_cascade(<% "$id-Values" |n,j%>, this.value)" name="<% $id %>-Category" class="CF-<%$CustomField->id%>-Edit">
+ <select onchange="filter_cascade_by_id(<% $name |n,j %>, this.value)" name="<% $name %>-Category" class="CF-<%$CustomField->id%>-Edit">
<option value=""<% !$selected && qq[ selected="selected"] |n %>><&|/l&>-</&></option>
% foreach my $cat (@category) {
% my ($depth, $name) = @$cat;
@@ -63,10 +61,10 @@
% }
</select><br />
% } elsif ($CustomField->BasedOnObj->id) {
-<script type="text/javascript" src="<%RT->Config->Get('WebPath')%>/NoAuth/js/cascaded.js"></script>
+
<script type="text/javascript"><!--
jQuery( function () {
- var basedon = jQuery('[name^=<% $NamePrefix . $CustomField->BasedOnObj->id %>-Value][type!=hidden]:input:not(.hidden)');
+ var basedon = jQuery('[name^="'+<% $BasedOnName || $NamePrefix . $CustomField->BasedOnObj->id . '-Value' |n,j %>+'"][type!="hidden"]:input:not(.hidden)');
basedon.each( function() {
var oldchange = jQuery(this).onchange;
jQuery(this).change( function () {
@@ -82,10 +80,10 @@ jQuery( function () {
}
});
}
- filter_cascade(
- <% "$id-Values" |n,j%>,
+ filter_cascade_by_id(
+ <% $name |n,j%>,
vals,
- 1
+ true
);
if (oldchange != null)
oldchange();
@@ -104,7 +102,7 @@ jQuery( function () {
% if ( $RenderType eq 'List' ) {
<fieldset class="cfedit">
-<div data-name="<%$id%>-Values" id="<%$id%>-Values">
+<div data-name="<%$name%>" id="<%$name%>">
% if ( $checktype eq 'radio' ) {
<div class="none">
<input class="none" type="<% $checktype %>" name="<% $name %>" id="<% $name %>-none" value="" <% keys %default ? '' : ' checked="checked"' |n%> />
@@ -125,14 +123,14 @@ jQuery( function () {
% } else {
% if (@category) {
%# this hidden select is to supply a full list of values,
-%# see filter_cascade() in js/cascaded.js
- <select name="<%$id%>-Values-Complete" id="<%$id%>-Values-Complete" class="hidden" disabled="disabled">
+%# see filter_cascade_select() in js/cascaded.js
+ <select name="<%$name%>-Complete" id="<%$name%>-Complete" class="hidden" disabled="disabled">
<option value=""<% !$selected && qq[ selected="selected"] |n %>><&|/l&>(no value)</&></option>
% $m->out($out);
</select>
% }
<select
- name="<%$id%>-Values" id="<%$id%>-Values" class="CF-<%$CustomField->id%>-Edit"
+ name="<%$name%>" id="<%$name%>" class="CF-<%$CustomField->id%>-Edit"
% if ( $Rows && ( $Multiple || !@category || $RenderType eq 'Select box') ) {
size="<% $Rows %>"
% }
@@ -149,12 +147,11 @@ if ( $RenderType eq 'Dropdown' ) {
$Rows = 0;
}
-# The following is for rendering checkboxes / radio buttons only
my ($checktype, $name);
-if ( $MaxValues == 1 ) {
- ($checktype, $name) = ('radio', $NamePrefix . $CustomField->Id . '-Value');
+if ( $MaxValues == 1 and $RenderType eq 'List' ) {
+ ($checktype, $name) = ('radio', $Name || $NamePrefix . $CustomField->Id . '-Value');
} else {
- ($checktype, $name) = ('checkbox', $NamePrefix . $CustomField->Id . '-Values');
+ ($checktype, $name) = ('checkbox', $Name || $NamePrefix . $CustomField->Id . '-Values');
}
@Default = grep defined && length, @Default;
@@ -167,6 +164,8 @@ my %default = map {lc $_ => 1} @Default;
$Object => undef
$CustomField => undef
$NamePrefix => undef
+$Name => undef
+$BasedOnName => undef
@Default => ()
$Values => undef
$Multiple => 0
diff --git a/rt/share/html/Elements/EditCustomFieldText b/rt/share/html/Elements/EditCustomFieldText
index a5c043b..35be970 100644
--- a/rt/share/html/Elements/EditCustomFieldText
+++ b/rt/share/html/Elements/EditCustomFieldText
@@ -53,7 +53,7 @@ cols="<% $Cols %>" \
% if ( defined $Rows ) {
rows="<% $Rows %>" \
% }
-name="<%$NamePrefix%><%$CustomField->Id%>-Values" class="CF-<%$CustomField->id%>-Edit"><% $value->Content %></textarea><br />
+name="<%$name%>" class="CF-<%$CustomField->id%>-Edit"><% $value->Content %></textarea><br />
% }
% if (!$MaxValues or !$Values or $Values->Count < $MaxValues) {
<textarea \
@@ -63,16 +63,18 @@ cols="<% $Cols %>" \
% if ( defined $Rows ) {
rows="<% $Rows %>" \
% }
-name="<%$NamePrefix%><%$CustomField->Id%>-Values" class="CF-<%$CustomField->id%>-Edit"><% defined($Default) ? $Default : '' %></textarea>
+name="<%$name%>" class="CF-<%$CustomField->id%>-Edit"><% defined($Default) ? $Default : '' %></textarea>
% }
<%INIT>
# XXX - MultiValue textarea is for now outlawed.
$MaxValues = 1;
+my $name = $Name || $NamePrefix . $CustomField->Id . '-Values';
</%INIT>
<%ARGS>
$Object => undef
$CustomField => undef
$NamePrefix => ''
+$Name => undef
$Default => undef
$Values => undef
$MaxValues => undef
diff --git a/rt/share/html/Elements/EditCustomFieldWikitext b/rt/share/html/Elements/EditCustomFieldWikitext
index b75fc99..7acad37 100644
--- a/rt/share/html/Elements/EditCustomFieldWikitext
+++ b/rt/share/html/Elements/EditCustomFieldWikitext
@@ -53,7 +53,7 @@ cols="<% $Cols %>" \
% if ( defined $Rows ) {
rows="<% $Rows %>" \
% }
-name="<%$NamePrefix%><%$CustomField->Id%>-Values" class="CF-<%$CustomField->id%>-Edit"><% $value->Content %></textarea><br />
+name="<%$name%>" class="CF-<%$CustomField->id%>-Edit"><% $value->Content %></textarea><br />
% }
% if (!$MaxValues or !$Values or $Values->Count < $MaxValues) {
<textarea \
@@ -63,16 +63,18 @@ cols="<% $Cols %>" \
% if ( defined $Rows ) {
rows="<% $Rows %>" \
% }
-name="<%$NamePrefix%><%$CustomField->Id%>-Values" class="CF-<%$CustomField->id%>-Edit"><% $Default %></textarea>
+name="<%$name%>" class="CF-<%$CustomField->id%>-Edit"><% $Default %></textarea>
% }
<%INIT>
# XXX - MultiValue textarea is for now outlawed.
$MaxValues = 1;
+my $name = $Name || $NamePrefix . $CustomField->Id . '-Values';
</%INIT>
<%ARGS>
$Object => undef
$CustomField => undef
$NamePrefix => undef
+$Name => undef
$Default => undef
$Values => undef
$MaxValues => undef
diff --git a/rt/share/html/Elements/EditCustomFields b/rt/share/html/Elements/EditCustomFields
new file mode 100644
index 0000000..3a38299
--- /dev/null
+++ b/rt/share/html/Elements/EditCustomFields
@@ -0,0 +1,119 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+% $m->callback( CallbackName => 'BeforeCustomFields', Object => $Object,
+% Grouping => $Grouping, ARGSRef => \%ARGS, CustomFields => $CustomFields);
+% if ( $WRAP ) {
+<<% $WRAP %> class="edit-custom-fields">
+% }
+% while ( my $CustomField = $CustomFields->Next ) {
+% next unless $CustomField->CurrentUserHasRight('ModifyCustomField');
+% my $Type = $CustomField->Type || 'Unknown';
+
+ <<% $FIELD %> class="edit-custom-field cftype-<% $Type %>">
+ <<% $CELL %> class="cflabel">
+ <span class="name"><% $CustomField->Name %>:</span><br />
+ <span class="type"><% $CustomField->FriendlyType %></span>
+ </<% $CELL %>>
+ <<% $CELL %> class="entry">
+% my $default = $m->notes('Field-' . $CustomField->Id);
+% $default ||= $ARGS{"CustomField-". $CustomField->Id };
+ <& /Elements/EditCustomField,
+ %ARGS,
+ CustomField => $CustomField,
+ Default => $default,
+ Object => $Object,
+ &>
+% if (my $msg = $m->notes('InvalidField-' . $CustomField->Id)) {
+ <br />
+ <span class="cfinvalidfield"><% $msg %></span>
+% } elsif ($ShowHints and $CustomField->FriendlyPattern) {
+ <br>
+ <span class="cfhints">
+ <&|/l, $CustomField->FriendlyPattern &>Input must match [_1]</&>
+ </span>
+% }
+ </<% $CELL %>>
+% $m->callback( CallbackName => 'AfterCustomFieldValue', CustomField => $CustomField, Object => $Object, Grouping => $Grouping );
+ </<% $FIELD %>>
+% }
+
+% if ( $WRAP ) {
+</<% $WRAP %>>
+% }
+% $m->callback( CallbackName => 'AfterCustomFields', Object => $Object,
+% Grouping => $Grouping, ARGSRef => \%ARGS );
+<%INIT>
+$CustomFields ||= $Object->CustomFields;
+
+$CustomFields->LimitToGrouping( $Object => $Grouping ) if defined $Grouping;
+
+$m->callback( %ARGS, CallbackName => 'MassageCustomFields', CustomFields => $CustomFields );
+
+# don't print anything if there is no custom fields
+return unless $CustomFields->First;
+$CustomFields->GotoFirstItem;
+
+$AsTable ||= $InTable;
+my $FIELD = $AsTable ? 'tr' : 'div';
+my $CELL = $AsTable ? 'td' : 'div';
+my $WRAP = '';
+if ( $AsTable ) {
+ $WRAP = 'table' unless $InTable;
+} else {
+ $WRAP = 'div';
+}
+
+</%INIT>
+<%ARGS>
+$Object
+$CustomFields => undef
+$Grouping => undef
+$AsTable => 1
+$InTable => 0
+$ShowHints => 1
+</%ARGS>
diff --git a/rt/share/html/Elements/EditLinks b/rt/share/html/Elements/EditLinks
index e167d11..2e75936 100755
--- a/rt/share/html/Elements/EditLinks
+++ b/rt/share/html/Elements/EditLinks
@@ -52,59 +52,59 @@
<table>
<tr>
- <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Depends on'), Relation => 'DependsOn' &>:</td>
+ <td class="labeltop"><& ShowRelationLabel, Object => $Object, Label => loc('Depends on'), Relation => 'DependsOn' &>:</td>
<td class="value">
% while (my $link = $Object->DependsOn->Next) {
- <input type="checkbox" class="checkbox" name="DeleteLink--<%$link->Type%>-<%$link->Target%>" value="1" />
- <& ShowLink, URI => $link->TargetURI &><br />
+ <input type="checkbox" class="checkbox" id="DeleteLink--<%$link->Type%>-<%$link->Target%>" name="DeleteLink--<%$link->Type%>-<%$link->Target%>" value="1" />
+ <label for="DeleteLink--<%$link->Type%>-<%$link->Target%>"><& ShowLink, URI => $link->TargetURI &></label><br />
% }
</td>
</tr>
<tr>
- <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Depended on by'), Relation => 'DependedOnBy' &>:</td>
+ <td class="labeltop"><& ShowRelationLabel, Object => $Object, Label => loc('Depended on by'), Relation => 'DependedOnBy' &>:</td>
<td class="value">
% while (my $link = $Object->DependedOnBy->Next) {
- <input type="checkbox" class="checkbox" name="DeleteLink-<%$link->Base%>-<%$link->Type%>-" value="1" />
- <& ShowLink, URI => $link->BaseURI &><br />
+ <input type="checkbox" class="checkbox" id="DeleteLink-<%$link->Base%>-<%$link->Type%>-" name="DeleteLink-<%$link->Base%>-<%$link->Type%>-" value="1" />
+ <label for="DeleteLink-<%$link->Base%>-<%$link->Type%>-"><& ShowLink, URI => $link->BaseURI &></label><br />
% }
</td>
</tr>
<tr>
- <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Parents'), Relation => 'Parents' &>:</td>
+ <td class="labeltop"><& ShowRelationLabel, Object => $Object, Label => loc('Parents'), Relation => 'Parents' &>:</td>
<td class="value">
% while (my $link = $Object->MemberOf->Next) {
% next if $link->Target and $link->Target =~ m(^freeside://);
- <input type="checkbox" class="checkbox" name="DeleteLink--<%$link->Type%>-<%$link->Target%>" value="1" />
- <& ShowLink, URI => $link->TargetURI &><br />
+ <input type="checkbox" class="checkbox" id="DeleteLink--<%$link->Type%>-<%$link->Target%>" name="DeleteLink--<%$link->Type%>-<%$link->Target%>" value="1" />
+ <label for="DeleteLink--<%$link->Type%>-<%$link->Target%>"><& ShowLink, URI => $link->TargetURI &></label><br />
% }
</td>
</tr>
<tr>
- <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Children'), Relation => 'Children' &>:</td>
+ <td class="labeltop"><& ShowRelationLabel, Object => $Object, Label => loc('Children'), Relation => 'Children' &>:</td>
<td class="value">
% while (my $link = $Object->Members->Next) {
- <input type="checkbox" class="checkbox" name="DeleteLink-<%$link->Base%>-<%$link->Type%>-" value="1" />
- <& ShowLink, URI => $link->BaseURI &><br />
+ <input type="checkbox" class="checkbox" id="DeleteLink-<%$link->Base%>-<%$link->Type%>-" name="DeleteLink-<%$link->Base%>-<%$link->Type%>-" value="1" />
+ <label for="DeleteLink-<%$link->Base%>-<%$link->Type%>-"><& ShowLink, URI => $link->BaseURI &></label><br />
% }
</td>
</tr>
<tr>
- <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Refers to'), Relation => 'RefersTo' &>:</td>
+ <td class="labeltop"><& ShowRelationLabel, Object => $Object, Label => loc('Refers to'), Relation => 'RefersTo' &>:</td>
<td class="value">
% while (my $link = $Object->RefersTo->Next) {
- <input type="checkbox" class="checkbox" name="DeleteLink--<%$link->Type%>-<%$link->Target%>" value="1" />
- <& ShowLink, URI => $link->TargetURI &><br />
+ <input type="checkbox" class="checkbox" id="DeleteLink--<%$link->Type%>-<%$link->Target%>" name="DeleteLink--<%$link->Type%>-<%$link->Target%>" value="1" />
+ <label for="DeleteLink--<%$link->Type%>-<%$link->Target%>"><& ShowLink, URI => $link->TargetURI &></label><br />
%}
</td>
</tr>
<tr>
- <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Referred to by'), Relation => 'ReferredToBy' &>:</td>
+ <td class="labeltop"><& ShowRelationLabel, Object => $Object, Label => loc('Referred to by'), Relation => 'ReferredToBy' &>:</td>
<td class="value">
% while (my $link = $Object->ReferredToBy->Next) {
% # Skip reminders
% next if (UNIVERSAL::isa($link->BaseObj, 'RT::Ticket') && $link->BaseObj->Type eq 'reminder');
- <input type="checkbox" class="checkbox" name="DeleteLink-<%$link->Base%>-<%$link->Type%>-" value="1" />
- <& ShowLink, URI => $link->BaseURI &><br />
+ <input type="checkbox" class="checkbox" id="DeleteLink-<%$link->Base%>-<%$link->Type%>-" name="DeleteLink-<%$link->Base%>-<%$link->Type%>-" value="1" />
+ <label for="DeleteLink-<%$link->Base%>-<%$link->Type%>-"><& ShowLink, URI => $link->BaseURI &></label><br />
% }
</td>
</tr>
@@ -113,68 +113,14 @@
<td><i><&|/l&>(Check box to delete)</&></i></td>
</tr>
</table>
-
+
</td>
<td valign="top">
<h3><&|/l&>New Links</&></h3>
-% if (ref($Object) eq 'RT::Ticket') {
-<i><&|/l&>Enter tickets or URIs to link tickets to. Separate multiple entries with spaces.</&>
-<br /><&|/l&>You may enter links to Articles as "a:###", where ### represents the number of the Article.</&>
-% $m->callback( CallbackName => 'ExtraLinkInstructions' );
-</i><br />
-% } elsif (ref($Object) eq 'RT::Queue') {
-<i><&|/l&>Enter queues or URIs to link queues to. Separate multiple entries with spaces.</&>
-</i><br />
-% } else {
-<i><&|/l&>Enter objects or URIs to link objects to. Separate multiple entries with spaces.</&></i><br />
-% }
-<table>
-% if ($Merge) {
- <tr>
- <td class="label"><&|/l&>Merge into</&>:</td>
- <td class="entry"><input name="<%$id%>-MergeInto" /> <i><&|/l&>(only one ticket)</&></i></td>
- </tr>
-% }
- <tr>
- <td class="label"><& ShowRelationLabel, id => $id, Label => loc('Depends on'), Relation => 'DependsOn' &>:</td>
- <td class="entry"><input name="<%$id%>-DependsOn" /></td>
- </tr>
- <tr>
- <td class="label"><& ShowRelationLabel, id => $id, Label => loc('Depended on by'), Relation => 'DependedOnBy' &>:</td>
- <td class="entry"><input name="DependsOn-<%$id%>" /></td>
- </tr>
- <tr>
- <td class="label"><& ShowRelationLabel, id => $id, Label => loc('Parents'), Relation => 'Parents' &>:</td>
- <td class="entry"><input name="<%$id%>-MemberOf" /></td>
- </tr>
- <tr>
- <td class="label"><& ShowRelationLabel, id => $id, Label => loc('Children'), Relation => 'Children' &>:</td>
- <td class="entry"> <input name="MemberOf-<%$id%>" /></td>
- </tr>
- <tr>
- <td class="label"><& ShowRelationLabel, id => $id, Label => loc('Refers to'), Relation => 'RefersTo' &>:</td>
- <td class="entry"><input name="<%$id%>-RefersTo" /></td>
- </tr>
- <tr>
- <td class="label"><& ShowRelationLabel, id => $id, Label => loc('Referred to by'), Relation => 'ReferredToBy' &>:</td>
- <td class="entry"> <input name="RefersTo-<%$id%>" /></td>
- </tr>
-% $m->callback( CallbackName => 'NewLink' );
-</table>
+<& AddLinks, %ARGS &>
</td>
</tr>
</table>
-
-<%INIT>
-my $id;
-if ($Object && $Object->Id) {
- $id = $Object->Id;
-} else {
- $id = 'new';
-}
-</%INIT>
-
<%ARGS>
$Object => undef
-$Merge => 0
</%ARGS>
diff --git a/rt/share/html/Elements/EditTimeValue b/rt/share/html/Elements/EditTimeValue
index ac27665..e422c0b 100644
--- a/rt/share/html/Elements/EditTimeValue
+++ b/rt/share/html/Elements/EditTimeValue
@@ -46,20 +46,22 @@
%#
%# END BPS TAGGED BLOCK }}}
<input name="<% $ValueName %>" value="<% $Default || '' %>" size="5" />
-<& /Elements/SelectTimeUnits, Name => $UnitName &>
+<& /Elements/SelectTimeUnits, Name => $UnitName, Default => $InUnits &>
<%ARGS>
$Default => ''
$Name => ''
$ValueName => ''
$UnitName => ''
-$InputUnits => 'minutes'
+$InUnits => ''
</%ARGS>
<%INIT>
$ValueName ||= $Name;
$UnitName ||= ($Name||$ValueName) . '-TimeUnits';
+$InUnits ||= $m->request_args->{ $UnitName };
+$InUnits ||= RT->Config->Get('DefaultTimeUnitsToHours', $session{'CurrentUser'}) ? 'hours' : 'minutes';
-if ($InputUnits eq 'minutes' && RT->Config->Get('DefaultTimeUnitsToHours', $session{'CurrentUser'})) {
- $Default = sprintf '%.3f', $Default / 60
- unless $Default eq '';
+if ($Default && $InUnits eq 'hours') {
+ # 0+ here is to remove the ending 0s
+ $Default = 0 + sprintf '%.3f', $Default / 60;
}
</%INIT>
diff --git a/rt/share/html/Elements/EmailInput b/rt/share/html/Elements/EmailInput
index 2ae0ddb..e894a14 100644
--- a/rt/share/html/Elements/EmailInput
+++ b/rt/share/html/Elements/EmailInput
@@ -45,9 +45,11 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<input type="text" id="<% $Name %>" name="<% $Name %>" <% defined $Size ? qq{size="$Size"} : '' |n %> value="<% $Default || '' %>" />
+<input type="text" id="<% $Name %>" name="<% $Name %>" <% defined $Size ? qq{size="$Size"} : '' |n %> value="<% $Default || '' %>" <% $Autocomplete ? q{data-autocomplete="Users"} : '' |n%> <% $AutocompleteMultiple ? q{data-autocomplete-multiple} : '' |n%> />
<%ARGS>
$Name
$Size => 40
$Default => ''
+$Autocomplete => 1
+$AutocompleteMultiple => 0
</%ARGS>
diff --git a/rt/share/html/Elements/Error b/rt/share/html/Elements/Error
index 5ca1838..72bea69 100755
--- a/rt/share/html/Elements/Error
+++ b/rt/share/html/Elements/Error
@@ -48,7 +48,7 @@
% $m->callback( %ARGS, error => $error );
% unless ($SuppressHeader) {
-<& /Elements/Header, Code => $Code, Why => $Why, Title => $Title &>
+<& /Elements/Header, Title => $Title &>
<& /Elements/Tabs &>
% }
@@ -60,14 +60,11 @@
<%$Details%>
</div>
-<%cleanup>
-$m->comp('/Elements/Footer');
-$m->abort();
-</%cleanup>
+<& /Elements/Footer &>
+% $m->abort;
<%args>
$Actions => []
-$Code => undef
$Details => ''
$Title => loc("RT Error")
$Why => loc("the calling component did not specify why"),
@@ -75,13 +72,13 @@ $SuppressHeader => 0,
</%args>
<%INIT>
-my $error = "WebRT: $Why";
+my $error = $Why;
$error .= " ($Details)" if defined $Details && length $Details;
$RT::Logger->error( $error );
if ( $session{'REST'} ) {
- $r->content_type('text/plain');
+ $r->content_type('text/plain; charset=utf-8');
$m->out( "Error: " . $Why . "\n" );
$m->out( $Details . "\n" ) if defined $Details && length $Details;
$m->abort();
diff --git a/rt/share/html/NoAuth/css/aileron/login.css b/rt/share/html/Elements/FindUser
index 3ab9fe8..6a28582 100644
--- a/rt/share/html/NoAuth/css/aileron/login.css
+++ b/rt/share/html/Elements/FindUser
@@ -45,6 +45,6 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-#login-box .titlebox-title .left {
- padding-left: 0.75em;
-}
+<&|/Widgets/TitleBox, title => loc('Find a user')&>
+<& /Elements/GotoUser &>
+</&>
diff --git a/rt/share/html/Ticket/Elements/FoldStanzaJS b/rt/share/html/Elements/FoldStanzaJS
index 806bce9..b2cf0a5 100644
--- a/rt/share/html/Ticket/Elements/FoldStanzaJS
+++ b/rt/share/html/Elements/FoldStanzaJS
@@ -45,6 +45,6 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<span
+<div
class="message-stanza-folder closed"
- onclick="fold_message_stanza(this, <%loc('Show quoted text') |n,j%>, <%loc('Hide quoted text') |n,j%>);"><%loc('Show quoted text')%></span><br />\
+ onclick="fold_message_stanza(this, <%loc('Show quoted text') |n,j%>, <%loc('Hide quoted text') |n,j%>);"><%loc('Show quoted text')%></div>
diff --git a/rt/share/html/Elements/SelectLinkType b/rt/share/html/Elements/GotoUser
index 5d70f04..214d232 100755..100644
--- a/rt/share/html/Elements/SelectLinkType
+++ b/rt/share/html/Elements/GotoUser
@@ -45,13 +45,18 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>">
-<option <% ($Default eq 'MemberOf') ? 'selected="selected"' : '' %> value="MemberOf"><&|/l&>Member of</&></option>
-<option <% ($Default eq 'DependsOn') ? 'selected="selected"' : '' %> value="DependsOn"><&|/l&>Depends on</&></option>
-<option <% ($Default eq 'RefersTo') ? 'selected="selected"' : '' %> value="RefersTo"><&|/l&>Refers to</&></option>
-</select>
-
+<form name="UserSearch" method="post" action="<% RT->Config->Get('WebPath') %>/User/Search.html">
+<input type="text" name="UserString" value="<% $Default %>" data-autocomplete="Users" data-autocomplete-return="Name" id="autocomplete-UserString" />
+<script type="text/javascript">
+jQuery(function(){
+ // Jump directly to the page if a user is chosen
+ jQuery("#autocomplete-UserString").on("autocompleteselect", function( event, ui ) {
+ document.location = RT.Config.WebPath + "/User/Summary.html?id=" + ui.item.id;
+ });
+});
+</script>
+<input type="submit" name="UserSearch" value="<&|/l&>Search</&>" class="button" />
+</form>
<%ARGS>
-$Name => "LinkType"
$Default => ''
</%ARGS>
diff --git a/rt/share/html/Elements/Header b/rt/share/html/Elements/Header
index 1f6035d..6c0f425 100755
--- a/rt/share/html/Elements/Header
+++ b/rt/share/html/Elements/Header
@@ -55,8 +55,6 @@
&>
<%INIT>
#for "Site CSS from theme editor" below
-#use Scalar::Util qw(blessed);
-
$r->headers_out->{'Pragma'} = 'no-cache';
$r->headers_out->{'Cache-control'} = 'no-cache';
@@ -74,17 +72,23 @@ my $style = $session{'CurrentUser'}
my @css_files;
if ( RT->Config->Get('DevelMode') ) {
- @css_files = ( "$style/main.css", RT->Config->Get('CSSFiles' ) );
+ @css_files = map { "/static/css/$_" } "$style/main.css", RT->Config->Get('CSSFiles');
}
else {
my $key =
RT::Interface::Web::SquishedCSS( $style )->Key;
- @css_files = "$style-squished-$key.css";
+ @css_files = "/NoAuth/css/$style/squished-$key.css";
}
-my $head = '';
+# We use BodyClass in its $ARGS form so that callbacks have a chance to
+# massage it
+push @{$ARGS{'BodyClass'}}, lc $style;
-#XXX $head .= <& /Elements/Framekiller &>;
+if (RT->Config->Get("UseSideBySideLayout", $session{'CurrentUser'})) {
+ push @{$ARGS{'BodyClass'}}, 'sidebyside';
+}
+
+my $head = '';
if ($Refresh && $Refresh =~ /^(\d+)/ && $1 > 0) {
my $URL = $m->notes->{RefreshURL}; $URL = $URL ? ";URL=$URL" : "";
@@ -95,43 +99,37 @@ my $WebPath = RT->Config->Get('WebPath');
my $WebImagesURL = RT->Config->Get('WebImagesURL');
my $squished = RT->Config->Get('DevelMode') ? '' : '-squished';
-$head .= qq(<link rel="shortcut icon" href="${WebImagesURL}favicon.png" type="image/png" />\n);
-for my $cssfile ( @css_files ) {
- $head .= qq(<link rel="stylesheet" href="$WebPath/NoAuth/css/$cssfile" type="text/css" media="all" />\n);
+if ( $JavaScript ) {
+ $head .= $m->scomp('JavascriptConfig');
}
-$head .= qq(<link rel="stylesheet" href="$WebPath/NoAuth/css/print.css" type="text/css" media="print" />\n);
+
+for my $cssfile ( @css_files ) {
+ $head .= qq(<link rel="stylesheet" href="$WebPath$cssfile" type="text/css" media="all" />\n);
for (keys %{$LinkRel || {}}) {
$head .= qq(<link rel="$_" href="$WebPath) . $LinkRel->{$_} . '" />';
}
+$head .= qq(<link rel="shortcut icon" href="${WebImagesURL}favicon.png" type="image/png" />\n);
if ( $RSSAutoDiscovery ) {
$head .= qq(<link rel="alternate" href="$RSSAutoDiscovery" type="application/rss+xml" title="RSS RT Search" />);
}
-if ($JavaScript) {
- $head .= $m->scomp('HeaderJavascript', focus => $Focus, onload => $onload, RichText => $RichText );
-}
-
my $stylesheet_plugin = "/NoAuth/css/$style/InHeader";
if ($m->comp_exists($stylesheet_plugin) ) {
$head .= $m->scomp($stylesheet_plugin);
}
-#<!-- Site CSS from theme editor -->
-#<style type="text/css" media="all" id="sitecss">
-#%# Header is used when there isn't a database (such as in the Installer) which means there is no
-#%# RT::System object, nor are there attributes.
-#% if (blessed(RT->System) and my $attr = RT->System->FirstAttribute('UserCSS')) {
-#<% $attr->Content |n %>
-#% }
-#</style>
-
# $m->callback( %ARGS, CallbackName => 'Head' );
$head .= $m->scomp( '/Elements/Callback', _CallbackName => 'Head', %ARGS );
-my $sbs = RT->Config->Get("UseSideBySideLayout", $session{'CurrentUser'}) ? ' sidebyside' : '';
-my $etc = qq[ class="\L$style$sbs" ];
+if ($JavaScript) {
+ $head .= $m->scomp('HeaderJavascript', focus => $Focus, onload => $onload, RichText => $RichText );
+}
+
+#XXX $head .= <& /Elements/Framekiller &>;
+
+my $etc = ' class="'. join( '',@{$ARGS{'BodyClass'}}). '" ';
$etc .= qq[ id="comp-$id"] if $id;
</%INIT>
@@ -140,15 +138,13 @@ $etc .= qq[ id="comp-$id"] if $id;
#$Focus => 'focus'
$Focus => ''
$Title => 'RT'
-$Code => undef
$Refresh => 0
-$Why => undef
$ShowBar => 1
$URL => undef
$RSSAutoDiscovery => undef
$onload => undef
$LinkRel => undef
-$JavaScript => 1
$SkipDoctype => 0
$RichText => 1
+$BodyClass => undef
</%ARGS>
diff --git a/rt/share/html/Elements/HeaderJavascript b/rt/share/html/Elements/HeaderJavascript
index 4bba559..79ee74e 100644
--- a/rt/share/html/Elements/HeaderJavascript
+++ b/rt/share/html/Elements/HeaderJavascript
@@ -51,37 +51,27 @@ $onload => undef
</%args>
% for my $jsfile ( @js_files ) {
-<script type="text/javascript" src="<%RT->Config->Get('WebPath')%>/NoAuth/js/<% $jsfile %>"></script>
+<script type="text/javascript" src="<%RT->Config->Get('WebPath')%><% $jsfile %>"></script>
% }
-% if ( $RichText and RT->Config->Get('MessageBoxRichText', $session{'CurrentUser'}) ) {
-<script type="text/javascript" src="<%RT->Config->Get('WebPath')%>/NoAuth/RichText/ckeditor.js"></script>
-% }
<script type="text/javascript"><!--
- jQuery( loadTitleBoxStates );
+jQuery( loadTitleBoxStates );
% if ( $focus ) {
- jQuery(function () { focusElementById(<% $focus |n,j%>) });
+ jQuery(function () { jQuery(<% $focus |n,j%>).focus() });
% }
% if ( $onload ) {
jQuery( <% $onload |n %> );
% }
-
-% if ( $RichText and RT->Config->Get('MessageBoxRichText', $session{'CurrentUser'})) {
- jQuery().ready(function () { ReplaceAllTextareas() });
-% }
--></script>
-<%ARGS>
-$RichText => 1
-</%ARGS>
<%INIT>
my @js_files;
if ( RT->Config->Get('DevelMode') ) {
- @js_files = RT->Config->Get('JSFiles' );
+ @js_files = map { $_ =~ m{^/} ? $_ : "/static/js/$_" } RT::Interface::Web->JSFiles();
}
else {
my $key = RT::Interface::Web::SquishedJS()->Key;
- @js_files = "squished-$key.js";
+ @js_files = "/NoAuth/js/squished-$key.js";
}
</%INIT>
diff --git a/rt/share/html/Elements/JavascriptConfig b/rt/share/html/Elements/JavascriptConfig
new file mode 100644
index 0000000..9437567
--- /dev/null
+++ b/rt/share/html/Elements/JavascriptConfig
@@ -0,0 +1,84 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<%init>
+my $Config = {};
+$Config->{$_} = RT->Config->Get( $_, $session{CurrentUser} )
+ for qw(rtname WebPath MessageBoxRichTextHeight);
+
+my $CurrentUser = {};
+if ($session{CurrentUser} and $session{CurrentUser}->id) {
+ $CurrentUser->{$_} = $session{CurrentUser}->$_
+ for qw(id Name EmailAddress RealName);
+
+ $CurrentUser->{Privileged} = $session{CurrentUser}->Privileged
+ ? JSON::true : JSON::false;
+
+ $Config->{WebHomePath} = RT->Config->Get("WebPath")
+ . (!$session{CurrentUser}->Privileged ? "/SelfService" : "");
+}
+
+my $Catalog = {
+ quote_in_filename => "Filenames with double quotes can not be uploaded.", #loc
+};
+$_ = loc($_) for values %$Catalog;
+
+$m->callback(
+ CallbackName => "Data",
+ CurrentUser => $CurrentUser,
+ Config => $Config,
+ Catalog => $Catalog,
+);
+</%init>
+<script>
+window.RT = {};
+RT.CurrentUser = <% JSON( $CurrentUser ) |n%>;
+RT.Config = <% JSON( $Config ) |n%>;
+
+RT.I18N = {};
+RT.I18N.Catalog = <% JSON( $Catalog ) |n %>;
+</script>
diff --git a/rt/share/html/Elements/ListActions b/rt/share/html/Elements/ListActions
index 2b74c38..29bcf6b 100755
--- a/rt/share/html/Elements/ListActions
+++ b/rt/share/html/Elements/ListActions
@@ -45,15 +45,18 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
+% $m->out($$_) for grep {ref $_} @actions;
+% if (grep {not ref $_} @actions) {
<div class="results">
<&| /Widgets/TitleBox, title => loc('Results'), %{$titlebox || {}} &>
<ul class="action-results">
-% foreach my $action (@actions) {
+% foreach my $action (grep {not ref $_} @actions) {
<li><%$action%></li>
% }
</ul>
</&>
</div>
+% }
<%init>
# backward compatibility, don't use array in new code, but use keyed hash
diff --git a/rt/share/html/Elements/ListMenu b/rt/share/html/Elements/ListMenu
index 45949c6..5c2a3d5 100644
--- a/rt/share/html/Elements/ListMenu
+++ b/rt/share/html/Elements/ListMenu
@@ -47,6 +47,7 @@
%# END BPS TAGGED BLOCK }}}
<%args>
$menu
+$show_children => undef
</%args>
<ul class="list-menu">
% for my $child ($menu->children) {
@@ -55,6 +56,9 @@ $menu
<span class="description"><% $description %></span>\
% }
</li>
+% if ($show_children && $child->children) {
+<& /Elements/ListMenu, menu => $child &>
+% }
% }
</ul>
diff --git a/rt/share/html/Elements/Login b/rt/share/html/Elements/Login
index 2c48294..cd38b29 100755
--- a/rt/share/html/Elements/Login
+++ b/rt/share/html/Elements/Login
@@ -46,7 +46,7 @@
%#
%# END BPS TAGGED BLOCK }}}
% $m->callback( %ARGS, CallbackName => 'Header' );
-<& /Elements/Header, Title => loc('Login'), Focus => 'user', RichText => 0 &>
+<& /Elements/Header, Title => loc('Login'), Focus => '#user', RichText => 0 &>
<div id="body" class="login-body">
@@ -63,7 +63,7 @@
<& LoginRedirectWarning, %ARGS &>
-% unless (RT->Config->Get('WebExternalAuth') and !RT->Config->Get('WebFallbackToInternalAuth')) {
+% unless (RT->Config->Get('WebRemoteUserAuth') and !RT->Config->Get('WebFallbackToRTLogin')) {
<form id="login" name="login" method="post" action="<% RT->Config->Get('WebPath') %>/NoAuth/Login.html">
<div class="input-row">
@@ -73,7 +73,7 @@
<div class="input-row">
<span class="label"><&|/l&>Password</&>:</span>
- <span class="input"><input type="password" name="pass" autocomplete="off" /></span>
+ <span class="input"><input type="password" name="pass" <% RT->Config->Get('AllowLoginPasswordAutoComplete') ? '' : 'autocomplete="off"' | n %> /></span>
</div>
<input type="hidden" name="next" value="<% $next %>" />
@@ -97,6 +97,7 @@ jQuery(function(){
</form>
% }
</&>
+<& /Elements/LoginHelp &>
</div><!-- #login-box -->
% $m->callback( %ARGS, CallbackName => 'AfterForm' );
</div><!-- #login-body -->
diff --git a/rt/share/html/m/style.css b/rt/share/html/Elements/LoginHelp
index 9ccc3ef..fbb4c0c 100644
--- a/rt/share/html/m/style.css
+++ b/rt/share/html/Elements/LoginHelp
@@ -45,8 +45,10 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
+<div class="login-help">
+<&|/l, RT->Config->Get('OwnerEmail')&>For local help, please contact [_1]</&>
+</div>
<%init>
- $HTML::Mason::Commands::r->content_type('text/css');
- $m->comp('/m/_elements/raw_style');
- $m->abort();
+my $source = RT->Config->Meta('OwnerEmail')->{Source};
+return unless $source->{SiteConfig} or $source->{Extension};
</%init>
diff --git a/rt/share/html/Elements/Logo b/rt/share/html/Elements/Logo
index 23c73e8..80e8697 100644
--- a/rt/share/html/Elements/Logo
+++ b/rt/share/html/Elements/Logo
@@ -53,9 +53,7 @@
% } else {
<a href="<%$ARGS{'LogoLinkURL'}||RT->Config->Get('LogoLinkURL')%>"><img
src="<%$ARGS{'LogoURL'}||RT->Config->Get('LogoURL')%>"
- alt="<%loc($ARGS{'LogoAltText'}||RT->Config->Get('LogoAltText'))%>"
- width="<%$ARGS{'LogoImageWidth'}||RT->Config->Get('LogoImageWidth')%>"
- height="<%$ARGS{'LogoImageHeight'}||RT->Config->Get('LogoImageHeight')%>" /></a>
+ alt="<%loc($ARGS{'LogoAltText'}||RT->Config->Get('LogoAltText'))%>" /></a>
% }
% if ( $ShowName ) {
<span class="rtname"><% $Name || loc("RT for [_1]", RT->Config->Get('rtname')) %></span>
@@ -67,7 +65,6 @@ if ( exists $ARGS{'show_name'} ) {
$ShowName = delete $ARGS{'show_name'};
}
-use Scalar::Util qw(blessed);
my $user_logo = blessed $RT::System ? $RT::System->FirstAttribute('UserLogo') : undef;
# If we have the attribute, but no content, we don't really have a user logo
diff --git a/rt/share/html/Elements/MakeClicky b/rt/share/html/Elements/MakeClicky
index 4607ba0..4d28771 100644
--- a/rt/share/html/Elements/MakeClicky
+++ b/rt/share/html/Elements/MakeClicky
@@ -50,7 +50,7 @@ use Regexp::Common qw(URI);
my $escaper = sub {
my $content = shift;
- RT::Interface::Web::EscapeUTF8( \$content );
+ RT::Interface::Web::EscapeHTML( \$content );
return $content;
};
@@ -61,15 +61,19 @@ my %actions = (
},
url => sub {
my %args = @_;
+ my $post = "";
+ $post = ")" if $args{value} !~ /\(/ and $args{value} =~ s/\)$//;
$args{value} = $escaper->($args{value});
- my $result = qq{[<a target="new" href="$args{value}">}. loc('Open URL') .qq{</a>]};
- return $args{value} . qq{ <span class="clickylink">$result</span>};
+ my $result = qq{[<a target="_blank" href="$args{value}">}. loc('Open URL') .qq{</a>]};
+ return $args{value} . qq{ <span class="clickylink">$result</span>$post};
},
url_overwrite => sub {
my %args = @_;
+ my $post = "";
+ $post = ")" if $args{value} !~ /\(/ and $args{value} =~ s/\)$//;
$args{value} = $escaper->($args{value});
- my $result = qq{<a target="new" href="$args{value}">$args{value}</a>};
- return qq{<span class="clickylink">$result</span>};
+ my $result = qq{<a target="_blank" href="$args{value}">$args{value}</a>};
+ return qq{<span class="clickylink">$result</span>$post};
},
);
@@ -144,14 +148,14 @@ if ( defined $cache ) {
}
unless ( $regexp ) {
- RT::Interface::Web::EscapeUTF8( $content ) unless $html;
+ RT::Interface::Web::EscapeHTML( $content ) unless $html;
return;
}
my $pos = 0;
while ( $$content =~ /($regexp)/gsio ) {
my $match = $1;
- next if $` =~ /href=(?:&quot;|")$/;
+ next if $` =~ /\w+=(?:&quot;|")$/;
my $skipped_len = pos($$content) - $pos - length($match);
if ( $skipped_len > 0 ) {
my $plain;
diff --git a/rt/share/html/Elements/Menu b/rt/share/html/Elements/Menu
index 16535c8..fb109a9 100755
--- a/rt/share/html/Elements/Menu
+++ b/rt/share/html/Elements/Menu
@@ -45,36 +45,6 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-% return unless ($menu);
-<%" " x $depth%><ul<%$id ? ' id="'.$id.'"' : '' |n%><% $toplevel? ' class="toplevel"' : '' |n %>>
-% for my $child ($menu->children) {
-% my $item_id = lc(($parent_id? $parent_id."-" : "") .$child->key);
-% $item_id =~ s/\s/-/g;
-% my @classes;
-% push @classes, 'has-children' if $child->has_children;
-% push @classes, 'active' if $child->active;
-<%" " x ($depth+1)%><li id="li-<%$item_id%>"\
-% if (@classes) {
- class="<% join ' ', @classes %>"\
-% }
->\
-% if ($child->raw_html) {
-<% $child->raw_html |n %>
-% } else {
-% my $url = $m->interp->apply_escapes((not $child->path or $child->path =~ m{^\w+:/}) ? $child->path : RT->Config->Get('WebPath').$child->path, 'h');
-<a id="<%$item_id%>" class="menu-item <% $child->class || '' %>"<% $child->path ? ' href="'.$url.'"' : '' |n%><% $child->target ? ' target="'.$m->interp->apply_escapes($child->target, 'h').'"' : '' |n %>>\
-<% $child->escape_title ? $m->interp->apply_escapes($child->title, 'h') : $child->title |n %>\
-</a>\
-% }
-% if ($child->has_children) {
-
-<& Menu, menu => $child, toplevel => 0, parent_id => ($parent_id? $parent_id."-": '').$child->key, depth=> ($depth+1) &>
-<%" " x ($depth+1)%></li>
-% } else {
-</li>
-% }
-% }
-<%" " x $depth%></ul>\
<%ARGS>
$menu
$id => undef
@@ -82,6 +52,6 @@ $toplevel => 1
$parent_id => ''
$depth => 0
</%ARGS>
-<%init>
-$id = $m->interp->apply_escapes($id, 'h');
-</%init>
+<%INIT>
+RenderMenu( %ARGS );
+</%INIT>
diff --git a/rt/share/html/Elements/MessageBox b/rt/share/html/Elements/MessageBox
index c4a2de9..bcc64d4 100755
--- a/rt/share/html/Elements/MessageBox
+++ b/rt/share/html/Elements/MessageBox
@@ -45,13 +45,13 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<textarea autocomplete="off" class="messagebox" <% $width_attr %>="<% $Width %>" rows="<% $Height %>" <% $wrap_type |n %> name="<% $Name %>" id="<% $Name %>">\
+<textarea autocomplete="off" class="messagebox <% $Type eq 'text/html' ? 'richtext' : '' %>" <% $width_attr %>="<% $Width %>" rows="<% $Height %>" <% $wrap_type |n %> name="<% $Name %>" id="<% $Name %>">\
% $m->comp('/Articles/Elements/IncludeArticle', %ARGS) if $IncludeArticle;
% $m->callback( %ARGS, SignatureRef => \$signature );
<% $Default || '' %><% $message %><% $signature %></textarea>
% $m->callback( %ARGS, CallbackName => 'AfterTextArea' );
-% if (RT->Config->Get('MessageBoxRichText', $session{'CurrentUser'})) {
-<input type="text" style="display:none" name="<% $Name %>Type" id="<% $Name %>Type" value="<% $m->request_args->{$Name."Type"}||'' %>" />
+% if ($Type eq 'text/html') {
+<input type="text" style="display:none" name="<% $Name %>Type" id="<% $Name %>Type" value="<% $m->request_args->{$Name."Type"}||$Type %>" />
% }
<%INIT>
@@ -60,19 +60,25 @@ my $message = '';
if ( $QuoteTransaction ) {
my $transaction = RT::Transaction->new( $session{'CurrentUser'} );
$transaction->Load( $QuoteTransaction );
- $message = $transaction->Content( Quote => 1 );
+ $message = $transaction->Content( Quote => 1, Type => $Type );
}
my $signature = '';
if ( $IncludeSignature and my $text = $session{'CurrentUser'}->UserObj->Signature ) {
- $signature = "-- \n". $text;
+ $signature = "-- \n". $text;
+ if ($Type eq 'text/html') {
+ $signature =~ s/&/&amp;/g;
+ $signature =~ s/</&lt;/g;
+ $signature =~ s/>/&gt;/g;
+ $signature =~ s/"/&quot;/g; # "//;
+ $signature =~ s/'/&#39;/g; # '//;
+ $signature =~ s{\n}{<br />}g;
+ $signature = "<p>$signature</p>";
+ }
}
# wrap="something" seems to really break IE + richtext
-my $wrap_type = '';
-if ( not RT->Config->Get('MessageBoxRichText', $session{'CurrentUser'}) ) {
- $wrap_type = 'wrap="' . $m->interp->apply_escapes($Wrap, 'h') . '"';
-}
+my $wrap_type = $Type eq 'text/html' ? '' : 'wrap="soft"';
# If there's no cols specified, we want to set the width to 100% in CSS
my $width_attr;
@@ -90,7 +96,7 @@ $Name => 'Content'
$Default => ''
$Width => RT->Config->Get('MessageBoxWidth', $session{'CurrentUser'} )
$Height => RT->Config->Get('MessageBoxHeight', $session{'CurrentUser'} ) || 15
-$Wrap => RT->Config->Get('MessageBoxWrap', $session{'CurrentUser'} ) || 'SOFT'
$IncludeSignature => RT->Config->Get('MessageBoxIncludeSignature');
$IncludeArticle => 1;
+$Type => RT->Config->Get('MessageBoxRichText', $session{'CurrentUser'}) ? 'text/html' : 'text/plain';
</%ARGS>
diff --git a/rt/share/html/Elements/MyRT b/rt/share/html/Elements/MyRT
index e8b0846..0d07eaa 100644
--- a/rt/share/html/Elements/MyRT
+++ b/rt/share/html/Elements/MyRT
@@ -53,9 +53,9 @@
% $show_cb->($_) foreach @$body;
</td>
-% if ( $summary ) {
+% if ( $sidebar ) {
<td class="boxcontainer">
-% $show_cb->($_) foreach @$summary;
+% $show_cb->($_) foreach @$sidebar;
</td>
% }
@@ -63,24 +63,24 @@
% $m->callback( ARGSRef => \%ARGS, CallbackName => 'AfterTable' );
<%INIT>
-# XXX: we don't use this, but should.
my %allowed_components = map {$_ => 1} @{RT->Config->Get('HomepageComponents')};
my $user = $session{'CurrentUser'}->UserObj;
-$Portlets ||= $user->Preferences('HomepageSettings');
unless ( $Portlets ) {
my ($defaults) = RT::System->new($session{'CurrentUser'})->Attributes->Named('HomepageSettings');
- $Portlets = $defaults ? $defaults->Content : {};
+ $Portlets = $user->Preferences(
+ HomepageSettings => $defaults ? $defaults->Content : {}
+ );
}
$m->callback( CallbackName => 'MassagePortlets', Portlets => $Portlets );
-my ($body, $summary) = @{$Portlets}{qw(body summary)};
+my ($body, $sidebar) = @{$Portlets}{qw(body sidebar)};
unless( $body && @$body ) {
- $body = $summary || [];
- $summary = undef;
+ $body = $sidebar || [];
+ $sidebar = undef;
}
-$summary = undef unless $summary && @$summary;
+$sidebar = undef unless $sidebar && @$sidebar;
my $Rows = $user->Preferences( 'SummaryRows', ( RT->Config->Get('DefaultSummaryRows') || 10 ) );
@@ -89,12 +89,16 @@ my $show_cb = sub {
my $type = $entry->{type};
my $name = $entry->{'name'};
if ( $type eq 'component' ) {
- # XXX: security check etc.
- $m->comp( $name, %{ $entry->{arguments} || {} } );
+ if (!$allowed_components{$name}) {
+ $m->out( $m->interp->apply_escapes( loc("Invalid portlet [_1]", $name), "h" ) );
+ }
+ else {
+ $m->comp( $name, %{ $entry->{arguments} || {} } );
+ }
} elsif ( $type eq 'system' ) {
$m->comp( '/Elements/ShowSearch', Name => $name, Override => { Rows => $Rows } );
} elsif ( $type eq 'saved' ) {
- $m->comp( '/Elements/ShowSearch', SavedSearch => $name, Override => { Rows => $Rows }, IgnoreMissing => 1 );
+ $m->comp( '/Elements/ShowSearch', SavedSearch => $name, Override => { Rows => $Rows } );
} else {
$RT::Logger->error("unknown portlet type '$type'");
}
diff --git a/rt/share/html/Elements/MyReminders b/rt/share/html/Elements/MyReminders
index 7619808..f4fbf5d 100755
--- a/rt/share/html/Elements/MyReminders
+++ b/rt/share/html/Elements/MyReminders
@@ -45,7 +45,6 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-%# DEPRECATED
<&|/Widgets/TitleBox,
class => 'reminders',
title => loc("My reminders"),
diff --git a/rt/share/html/Elements/PageLayout b/rt/share/html/Elements/PageLayout
index 9e8aecb..edd71d1 100755
--- a/rt/share/html/Elements/PageLayout
+++ b/rt/share/html/Elements/PageLayout
@@ -55,6 +55,11 @@
% if (0) { ## new ticket via customer, and we already have a ticket search box
<div id="topactions"><& /Elements/WidgetBar, menu => PageWidgets() &></div>
% }
+
+% if ($m->comp_exists($stylesheet_plugin) ) {
+<& $stylesheet_plugin &>
+% }
+
<div id="body">
% $m->callback( %ARGS, CallbackName => 'BeforeBody' );
% $m->flush_buffer(); # we've got the page laid out, let's flush the buffer;
@@ -62,3 +67,9 @@
$title => $m->callers(-1)->path
$show_menu => 1
</%ARGS>
+<%init>
+my $style = $session{'CurrentUser'}
+ ? $session{'CurrentUser'}->Stylesheet
+ : RT->Config->Get('WebDefaultStylesheet');
+my $stylesheet_plugin = "/NoAuth/css/".$style."/AfterMenus";
+</%init>
diff --git a/rt/share/html/Elements/QueryString b/rt/share/html/Elements/QueryString
index 8bff988..447cc5d 100644
--- a/rt/share/html/Elements/QueryString
+++ b/rt/share/html/Elements/QueryString
@@ -54,11 +54,12 @@ for my $key (sort keys %ARGS) {
if( UNIVERSAL::isa( $value, 'ARRAY' ) ) {
push @params,
map $key ."=". $m->interp->apply_escapes( $_, 'u' ),
+ map defined $_? $_ : '',
@$value;
} else {
push @params, $key ."=". $m->interp->apply_escapes($value, 'u');
}
}
-return join '&', sort(@params);
+return join '&', @params;
</%INIT>
diff --git a/rt/share/html/Elements/QueueSummaryByLifecycle b/rt/share/html/Elements/QueueSummaryByLifecycle
index da31ebb..f21cb20 100644
--- a/rt/share/html/Elements/QueueSummaryByLifecycle
+++ b/rt/share/html/Elements/QueueSummaryByLifecycle
@@ -94,11 +94,14 @@ my $build_search_link = sub {
my $link_all = sub {
my ($queue, $all_statuses) = @_;
- return $build_search_link->($queue->{Name}, "(".join(" OR ", map "Status = '$_'", @$all_statuses).")");
+ my @escaped = @{$all_statuses};
+ s{(['\\])}{\\$1}g for @escaped;
+ return $build_search_link->($queue->{Name}, "(".join(" OR ", map "Status = '$_'", @escaped).")");
};
my $link_status = sub {
my ($queue, $status) = @_;
+ $status =~ s{(['\\])}{\\$1}g;
return $build_search_link->($queue->{Name}, "Status = '$status'");
};
@@ -120,14 +123,14 @@ $m->callback( CallbackName => 'Filter', Queues => \@queues );
{ id => $_->Id,
Name => $_->Name,
Description => $_->Description || '',
- Lifecycle => $_->Lifecycle->Name,
+ Lifecycle => $_->Lifecycle,
}
} grep $_, @queues;
my %lifecycle;
for my $queue (@queues) {
- my $cycle = RT::Lifecycle->Load( $queue->{'Lifecycle'} );
+ my $cycle = RT::Lifecycle->Load( Name => $queue->{'Lifecycle'} );
$lifecycle{ lc $cycle->Name } = $cycle;
}
@@ -145,9 +148,11 @@ my $statuses = {};
use RT::Report::Tickets;
my $report = RT::Report::Tickets->new( RT->SystemUser );
+my @escaped = @statuses;
+s{(['\\])}{\\$1}g for @escaped;
my $query =
"(".
- join(" OR ", map {s{(['\\])}{\\$1}g; "Status = '$_'"} @statuses) #'
+ join(" OR ", map {"Status = '$_'"} @escaped) #'
.") AND (".
join(' OR ', map "Queue = ".$_->{id}, @queues)
.")";
diff --git a/rt/share/html/Elements/QueueSummaryByStatus b/rt/share/html/Elements/QueueSummaryByStatus
index 3acf9c9..704bca6 100644
--- a/rt/share/html/Elements/QueueSummaryByStatus
+++ b/rt/share/html/Elements/QueueSummaryByStatus
@@ -119,14 +119,14 @@ $m->callback( CallbackName => 'Filter', Queues => \@queues );
{ id => $_->Id,
Name => $_->Name,
Description => $_->Description || '',
- Lifecycle => $_->Lifecycle->Name,
+ Lifecycle => $_->Lifecycle,
}
} grep $_, @queues;
my %lifecycle;
for my $queue (@queues) {
- my $cycle = RT::Lifecycle->Load( $queue->{'Lifecycle'} );
+ my $cycle = RT::Lifecycle->Load( Name => $queue->{'Lifecycle'} );
$lifecycle{ lc $cycle->Name } = $cycle;
}
diff --git a/rt/share/html/Elements/QuickCreate b/rt/share/html/Elements/QuickCreate
index fa03f20..b016314 100644
--- a/rt/share/html/Elements/QuickCreate
+++ b/rt/share/html/Elements/QuickCreate
@@ -69,7 +69,7 @@
</tr>
<tr class="input-row">
<td class="label"><&|/l&>Requestors</&>:</td>
- <td colspan="3" class="value"><& /Elements/EmailInput, Name => 'Requestors', Size => '40', Default => $args->{Requestors} || $session{CurrentUser}->EmailAddress &></td>
+ <td colspan="3" class="value"><& /Elements/EmailInput, Name => 'Requestors', Size => '40', Default => $args->{Requestors} || $session{CurrentUser}->EmailAddress, AutocompleteMultiple => 1 &></td>
</tr>
<tr class="input-row">
<td class="labeltop"><&|/l&>Content</&>:</td>
diff --git a/rt/share/html/Elements/RT__Article/ColumnMap b/rt/share/html/Elements/RT__Article/ColumnMap
index 4abb068..5c90427 100644
--- a/rt/share/html/Elements/RT__Article/ColumnMap
+++ b/rt/share/html/Elements/RT__Article/ColumnMap
@@ -48,6 +48,7 @@
<%ARGS>
$Name => undef
$Attr => undef
+$GenericMap => {}
</%ARGS>
@@ -75,16 +76,6 @@ $COLUMN_MAP = {
title => 'Class', # loc
value => sub { $_[0]->ClassObj->Name },
},
- CreatedRelative => {
- attribute => 'Created',
- title => 'Created', # loc
- value => sub { $_[0]->CreatedObj->AgeAsString },
- },
- LastUpdatedRelative => {
- attribute => 'LastUpdated',
- title => 'LastUpdated', # loc
- value => sub { $_[0]->LastUpdatedObj->AgeAsString },
- },
Topics => {
title => 'Topics', # loc
value => sub {
@@ -102,6 +93,6 @@ $COLUMN_MAP = {
</%ONCE>
<%init>
-$m->callback( COLUMN_MAP => $COLUMN_MAP, CallbackName => 'Once', CallbackOnce => 1 );
+$m->callback( GenericMap => $GenericMap, COLUMN_MAP => $COLUMN_MAP, CallbackName => 'Once', CallbackOnce => 1 );
return GetColumnMapEntry( Map => $COLUMN_MAP, Name => $Name, Attribute => $Attr );
</%init>
diff --git a/rt/share/html/Elements/RT__Class/ColumnMap b/rt/share/html/Elements/RT__Class/ColumnMap
index 0916065..8bc8e4a 100644
--- a/rt/share/html/Elements/RT__Class/ColumnMap
+++ b/rt/share/html/Elements/RT__Class/ColumnMap
@@ -48,14 +48,10 @@
<%ARGS>
$Name
$Attr => undef
+$GenericMap => {}
</%ARGS>
<%ONCE>
my $COLUMN_MAP = {
- id => {
- title => '#', # loc
- attribute => 'id',
- value => sub { return $_[0]->id },
- },
Name => {
title => 'Name', # loc
attribute => 'Name',
@@ -66,11 +62,16 @@ my $COLUMN_MAP = {
attribute => 'Description',
value => sub { return $_[0]->Description() },
},
+ Disabled => {
+ title => 'Status', # loc
+ attribute => 'Disabled',
+ value => sub { return $_[0]->Disabled? $_[0]->loc('Disabled'): $_[0]->loc('Enabled') },
+ },
};
</%ONCE>
<%INIT>
-$m->callback( COLUMN_MAP => $COLUMN_MAP, CallbackName => 'ColumnMap', CallbackOnce => 1 );
+$m->callback( GenericMap => $GenericMap, COLUMN_MAP => $COLUMN_MAP, CallbackName => 'ColumnMap', CallbackOnce => 1 );
return GetColumnMapEntry( Map => $COLUMN_MAP, Name => $Name, Attribute => $Attr );
</%INIT>
diff --git a/rt/share/html/Elements/RT__CustomField/ColumnMap b/rt/share/html/Elements/RT__CustomField/ColumnMap
index 765be29..764eaca 100644
--- a/rt/share/html/Elements/RT__CustomField/ColumnMap
+++ b/rt/share/html/Elements/RT__CustomField/ColumnMap
@@ -48,17 +48,12 @@
<%ARGS>
$Name => undef
$Attr => undef
+$GenericMap => {}
</%ARGS>
<%ONCE>
my $COLUMN_MAP = {
- id => {
- title => '#', # loc
- attribute => 'id',
- align => 'right',
- value => sub { return $_[0]->id },
- },
Disabled => {
- title => \'&nbsp;',
+ title => 'Status', # loc
attribute => 'Disabled',
value => sub { return $_[0]->Disabled? $_[0]->loc('Disabled'): $_[0]->loc('Enabled') },
},
@@ -66,7 +61,7 @@ my $COLUMN_MAP = {
map(
{ my $c = $_; $c => {
title => $c, attribute => $c,
- value => sub { return $_[0]->$c() },
+ value => sub { return $_[0]->$c() },
} }
qw(Name Description Type LookupType Pattern)
),
@@ -74,26 +69,26 @@ my $COLUMN_MAP = {
{ my $c = $_; my $short = $c; $short =~ s/^Friendly//;
$c => {
title => $short, attribute => $short,
- value => sub { return $_[0]->$c() },
+ value => sub { return $_[0]->$c() },
} }
qw(FriendlyLookupType FriendlyType FriendlyPattern)
),
MaxValues => {
title => 'MaxValues', # loc
- attribute => 'MaxValues',
- value => sub {
+ attribute => 'MaxValues',
+ value => sub {
my $v = $_[0]->MaxValues;
return !$v ? $_[0]->loc('unlimited') : $v == 0 ? $_[0]->loc('one') : $v;
},
},
- AppliedTo => {
- title => 'Applied', # loc
- value => sub {
- if ( $_[0]->IsApplied ) {
+ AddedTo => {
+ title => 'Added', # loc
+ value => sub {
+ if ( $_[0]->IsGlobal ) {
return $_[0]->loc('Global');
}
- my $collection = $_[0]->AppliedTo;
+ my $collection = $_[0]->AddedTo;
return '' unless $collection;
$collection->RowsPerPage(10);
@@ -121,13 +116,13 @@ my $COLUMN_MAP = {
my $checked = $DECODED_ARGS->{ $name .'All' }? 'checked="checked"': '';
return \qq{<input type="checkbox" name="}, $name, \qq{All" value="1" $checked
- onclick="setCheckbox(this.form, },
+ onclick="setCheckbox(this, },
$m->interp->apply_escapes($name,'j'),
- \qq{, this.checked)" />};
+ \qq{)" />};
},
value => sub {
my $id = $_[0]->id;
- return '' if $_[0]->IsApplied;
+ return '' if $_[0]->IsGlobal;
my $name = 'RemoveCustomField';
my $arg = $DECODED_ARGS->{ $name };
@@ -148,7 +143,7 @@ my $COLUMN_MAP = {
my $id = $_[0]->id;
my $context = $_[2] || 0;
- return '' unless $_[0]->IsApplied( $context );
+ return '' unless $_[0]->IsAdded( $context );
my $name = 'MoveCustomField';
my $args = $m->caller_args( 1 );
@@ -173,8 +168,10 @@ my $COLUMN_MAP = {
},
};
+$COLUMN_MAP->{'AppliedTo'} = $COLUMN_MAP->{'AddedTo'};
+
</%ONCE>
<%INIT>
-$m->callback( COLUMN_MAP => $COLUMN_MAP, CallbackName => 'ColumnMap', CallbackOnce => 1 );
+$m->callback( GenericMap => $GenericMap, COLUMN_MAP => $COLUMN_MAP, CallbackName => 'ColumnMap', CallbackOnce => 1 );
return GetColumnMapEntry( Map => $COLUMN_MAP, Name => $Name, Attribute => $Attr );
</%INIT>
diff --git a/rt/share/html/Elements/RT__Dashboard/ColumnMap b/rt/share/html/Elements/RT__Dashboard/ColumnMap
index 3cc7c20..e9509a2 100644
--- a/rt/share/html/Elements/RT__Dashboard/ColumnMap
+++ b/rt/share/html/Elements/RT__Dashboard/ColumnMap
@@ -48,15 +48,10 @@
<%ARGS>
$Name
$Attr => undef
+$GenericMap => {}
</%ARGS>
<%ONCE>
my $COLUMN_MAP = {
- id => {
- title => '#', # loc
- attribute => 'id',
- align => 'right',
- value => sub { return $_[0]->Id },
- },
Name => {
title => 'Name', # loc
attribute => 'Name',
@@ -129,6 +124,6 @@ my $COLUMN_MAP = {
</%ONCE>
<%INIT>
-$m->callback( COLUMN_MAP => $COLUMN_MAP, CallbackName => 'ColumnMap', CallbackOnce => 1 );
+$m->callback( GenericMap => $GenericMap, COLUMN_MAP => $COLUMN_MAP, CallbackName => 'ColumnMap', CallbackOnce => 1 );
return GetColumnMapEntry( Map => $COLUMN_MAP, Name => $Name, Attribute => $Attr );
</%INIT>
diff --git a/rt/share/html/Elements/RT__Group/ColumnMap b/rt/share/html/Elements/RT__Group/ColumnMap
index e336f77..a1d2558 100644
--- a/rt/share/html/Elements/RT__Group/ColumnMap
+++ b/rt/share/html/Elements/RT__Group/ColumnMap
@@ -48,15 +48,10 @@
<%ARGS>
$Name
$Attr => undef
+$GenericMap => {}
</%ARGS>
<%ONCE>
my $COLUMN_MAP = {
- id => {
- title => '#', # loc
- attribute => 'id',
- align => 'right',
- value => sub { return $_[0]->id },
- },
HasMember => {
title => 'Member', # loc
value => sub {
@@ -75,18 +70,22 @@ my $COLUMN_MAP = {
},
Name => {
title => 'Name', # loc
- attribute => 'Name',
- value => sub { return $_[0]->Name() },
+ attribute => 'Name',
+ value => sub { return $_[0]->Name() },
},
Description => {
title => 'Description', # loc
- attribute => 'Description',
- value => sub { return $_[0]->Description() },
+ attribute => 'Description',
+ value => sub { return $_[0]->Description() },
+ },
+ Disabled => {
+ title => 'Status', # loc
+ value => sub { return $_[0]->Disabled? $_[0]->loc('Disabled'): $_[0]->loc('Enabled') },
},
};
</%ONCE>
<%INIT>
-$m->callback( COLUMN_MAP => $COLUMN_MAP, CallbackName => 'ColumnMap', CallbackOnce => 1 );
+$m->callback( GenericMap => $GenericMap, COLUMN_MAP => $COLUMN_MAP, CallbackName => 'ColumnMap', CallbackOnce => 1 );
return GetColumnMapEntry( Map => $COLUMN_MAP, Name => $Name, Attribute => $Attr );
</%INIT>
diff --git a/rt/share/html/Elements/RT__Queue/ColumnMap b/rt/share/html/Elements/RT__Queue/ColumnMap
index 8bc3331..1878abe 100644
--- a/rt/share/html/Elements/RT__Queue/ColumnMap
+++ b/rt/share/html/Elements/RT__Queue/ColumnMap
@@ -48,17 +48,12 @@
<%ARGS>
$Name => undef
$Attr => undef
+$GenericMap => {}
</%ARGS>
<%ONCE>
my $COLUMN_MAP = {
- id => {
- title => '#', # loc
- attribute => 'id',
- align => 'right',
- value => sub { return $_[0]->id },
- },
Disabled => {
- title => \'&nbsp;',
+ title => 'Status', # loc
attribute => 'Disabled',
value => sub { return $_[0]->Disabled? $_[0]->loc('Disabled'): $_[0]->loc('Enabled') },
},
@@ -88,7 +83,15 @@ my $COLUMN_MAP = {
Lifecycle => {
title => 'Lifecycle',
attribute => 'Lifecycle',
- value => sub { return $_[0]->Lifecycle->Name },
+ value => sub { return $_[0]->Lifecycle },
+ },
+ ScripStage => {
+ title => 'Stage', # loc
+ value => sub {
+ my $os = RT::ObjectScrip->new( $_[0]->CurrentUser );
+ $os->LoadByCols( Scrip => $_[-1], ObjectId => $_[0]->id );
+ return $_[0]->loc( $os->FriendlyStage );
+ },
},
};
@@ -105,7 +108,7 @@ foreach my $field (qw(
</%ONCE>
<%INIT>
-$m->callback( COLUMN_MAP => $COLUMN_MAP, CallbackName => 'ColumnMap', CallbackOnce => 1 );
+$m->callback( GenericMap => $GenericMap, COLUMN_MAP => $COLUMN_MAP, CallbackName => 'ColumnMap', CallbackOnce => 1 );
return GetColumnMapEntry( Map => $COLUMN_MAP, Name => $Name, Attribute => $Attr );
</%INIT>
diff --git a/rt/share/html/Elements/RT__SavedSearch/ColumnMap b/rt/share/html/Elements/RT__SavedSearch/ColumnMap
index dd02cbc..12a7081 100644
--- a/rt/share/html/Elements/RT__SavedSearch/ColumnMap
+++ b/rt/share/html/Elements/RT__SavedSearch/ColumnMap
@@ -48,15 +48,10 @@
<%ARGS>
$Name
$Attr => undef
+$GenericMap => {}
</%ARGS>
<%ONCE>
my $COLUMN_MAP = {
- id => {
- title => '#', # loc
- attribute => 'id',
- align => 'right',
- value => sub { return $_[0]->Id },
- },
Name => {
title => 'Name', # loc
attribute => 'Name',
@@ -80,6 +75,6 @@ my $COLUMN_MAP = {
</%ONCE>
<%INIT>
-$m->callback( COLUMN_MAP => $COLUMN_MAP, CallbackName => 'ColumnMap', CallbackOnce => 1 );
+$m->callback( GenericMap => $GenericMap, COLUMN_MAP => $COLUMN_MAP, CallbackName => 'ColumnMap', CallbackOnce => 1 );
return GetColumnMapEntry( Map => $COLUMN_MAP, Name => $Name, Attribute => $Attr );
</%INIT>
diff --git a/rt/share/html/Elements/RT__Scrip/ColumnMap b/rt/share/html/Elements/RT__Scrip/ColumnMap
index eb2f065..e51d938 100644
--- a/rt/share/html/Elements/RT__Scrip/ColumnMap
+++ b/rt/share/html/Elements/RT__Scrip/ColumnMap
@@ -48,25 +48,38 @@
<%ARGS>
$Name
$Attr => undef
+$GenericMap => {}
</%ARGS>
<%ONCE>
my $COLUMN_MAP = {
- id => {
- title => '#', # loc
- attribute => 'id',
- align => 'right',
- value => sub { return $_[0]->id },
- },
Queue => {
title => 'Queue', # loc
value => sub {
- return $_[0]->QueueObj->Name if $_[0]->Queue;
- return $_[0]->loc('Global');
+ return $_[0]->loc('Global') if $_[0]->IsGlobal;
+ return join(", ", map {$_->Name} @{$_[0]->AddedTo->ItemsArrayRef});
},
},
QueueId => {
title => 'Queue', # loc
- value => sub { $_[0]->Queue },
+ value => sub {
+ return 0 if $_[0]->IsGlobal;
+ return join(", ", map {$_->Id} @{$_[0]->AddedTo->ItemsArrayRef});
+ },
+ },
+ From => {
+ title => 'Queue',
+ value => sub {
+ my $request_path = $HTML::Mason::Commands::r->path_info;
+ my $queue_id = $m->request_args->{'id'};
+ if ( $request_path =~ m{/Admin/Queues/Scrips\.html} and $queue_id ) {
+ return '&From=' . $queue_id;
+ } elsif ( $request_path =~ m{/Admin/Global/Scrips\.html} ) {
+ return '&From=Global';
+ }
+ else {
+ return q{};
+ }
+ },
},
Condition => {
title => 'Condition', # loc
@@ -78,30 +91,93 @@ my $COLUMN_MAP = {
},
Template => {
title => 'Template', # loc
- value => sub { return $_[0]->loc( $_[0]->TemplateObj->Name ) },
+ value => sub { return $_[0]->loc( $_[0]->Template ) },
},
AutoDescription => {
title => 'Condition, Action and Template', # loc
value => sub { return $_[0]->loc( "[_1] [_2] with template [_3]",
$_[0]->loc($_[0]->ConditionObj->Name),
$_[0]->loc($_[0]->ActionObj->Name),
- $_[0]->loc($_[0]->TemplateObj->Name),
+ $_[0]->loc($_[0]->Template),
) },
},
Description => {
title => 'Description', # loc
- attribute => 'Description',
- value => sub { return $_[0]->Description() },
+ attribute => 'Description',
+ value => sub { return $_[0]->Description() },
+ },
+ Disabled => {
+ title => 'Status', # loc
+ attribute => 'Disabled',
+ value => sub { return $_[0]->Disabled? $_[0]->loc('Disabled'): $_[0]->loc('Enabled') },
+ },
+ RemoveCheckBox => {
+ title => sub {
+ my $name = 'RemoveScrip';
+ my $checked = $m->request_args->{ $name .'All' }? 'checked="checked"': '';
+
+ return \qq{<input type="checkbox" name="${name}All" value="1" $checked
+ onclick="setCheckbox(this, '$name')" />};
+ },
+ value => sub {
+ my $id = $_[0]->id;
+ return '' if $_[0]->IsGlobal;
+
+ my $name = 'RemoveScrip';
+ my $arg = $m->request_args->{ $name };
+
+ my $checked = '';
+ if ( $arg && ref $arg ) {
+ $checked = 'checked="checked"' if grep $_ == $id, @$arg;
+ }
+ elsif ( $arg ) {
+ $checked = 'checked="checked"' if $arg == $id;
+ }
+ return \qq{<input type="checkbox" name="$name" value="$id" $checked />}
+ },
+ },
+ Move => {
+ title => 'Move', # loc
+ value => sub {
+ my $id = $_[0]->id;
+
+ my $context = $_[2] || 0;
+ return '' unless $_[0]->IsAdded( $context );
+
+ my $name = 'MoveScrip';
+ my $args = $m->caller_args( 1 );
+ my @pass = ref $args->{'PassArguments'}
+ ? @{$args->{'PassArguments'}}
+ : ($args->{'PassArguments'});
+ my %pass = map { $_ => $args->{$_} } grep exists $args->{$_}, @pass;
+
+ my $uri = RT->Config->Get('WebPath') . $m->request_path;
+
+ my @res = (
+ \'<a href="',
+ $uri .'?'. $m->comp("/Elements/QueryString", %pass, MoveScripUp => $id ),
+ \'">', loc('[Up]'), \'</a>',
+ \' <a href="',
+ $uri .'?'. $m->comp("/Elements/QueryString", %pass, MoveScripDown => $id ),
+ \'">', loc('[Down]'), \'</a>'
+ );
+
+ return @res;
+ },
},
Stage => {
- title => 'Stage', # loc
- attribute => 'Stage',
- value => sub { return $_[0]->Stage() },
+ title => 'Stage', # loc
+ value => sub {
+ my $os = RT::ObjectScrip->new( $_[0]->CurrentUser );
+ my $id = $_[0]->IsGlobal ? 0 : $_[-1];
+ $os->LoadByCols( Scrip => $_[0]->id, ObjectId => $id );
+ return $_[0]->loc( $os->FriendlyStage );
+ },
},
};
</%ONCE>
<%INIT>
-$m->callback( COLUMN_MAP => $COLUMN_MAP, CallbackName => 'ColumnMap', CallbackOnce => 1 );
+$m->callback( GenericMap => $GenericMap, COLUMN_MAP => $COLUMN_MAP, CallbackName => 'ColumnMap', CallbackOnce => 1 );
return GetColumnMapEntry( Map => $COLUMN_MAP, Name => $Name, Attribute => $Attr );
</%INIT>
diff --git a/rt/share/html/Elements/RT__Template/ColumnMap b/rt/share/html/Elements/RT__Template/ColumnMap
index da712c2..142b695 100644
--- a/rt/share/html/Elements/RT__Template/ColumnMap
+++ b/rt/share/html/Elements/RT__Template/ColumnMap
@@ -48,24 +48,19 @@
<%ARGS>
$Name
$Attr => undef
+$GenericMap => {}
</%ARGS>
<%ONCE>
my $COLUMN_MAP = {
- id => {
- title => '#', # loc
- attribute => 'id',
- align => 'right',
- value => sub { return $_[0]->id },
- },
Name => {
title => 'Name', # loc
- attribute => 'Name',
- value => sub { return $_[0]->Name() },
+ attribute => 'Name',
+ value => sub { return $_[0]->Name() },
},
Description => {
title => 'Description', # loc
- attribute => 'Description',
- value => sub { return $_[0]->Description() },
+ attribute => 'Description',
+ value => sub { return $_[0]->Description() },
},
Queue => {
title => 'Queue', # loc
@@ -78,10 +73,28 @@ my $COLUMN_MAP = {
title => 'Queue', # loc
value => sub { $_[0]->Queue },
},
+ IsEmpty => {
+ title => 'Empty', # loc
+ value => sub { $_[0]->IsEmpty? $_[0]->loc('Yes') : $_[0]->loc('No') },
+ },
+ UsedBy => {
+ title => 'Used by scrips', # loc
+ value => sub {
+ my @res;
+ my $scrips = $_[0]->UsedBy;
+ while ( my $scrip = $scrips->Next ) {
+ push @res, ', ' if @res;
+ push @res, \'<a href="', RT->Config->Get('WebPath'), '/Admin/Scrips/Modify.html';
+ push @res, '?id='. $scrip->id;
+ push @res, \'" title="', $scrip->Description, \'">', $scrip->id, \'</a>';
+ }
+ return @res;
+ },
+ },
};
</%ONCE>
<%INIT>
-$m->callback( COLUMN_MAP => $COLUMN_MAP, CallbackName => 'ColumnMap', CallbackOnce => 1 );
+$m->callback( GenericMap => $GenericMap, COLUMN_MAP => $COLUMN_MAP, CallbackName => 'ColumnMap', CallbackOnce => 1 );
return GetColumnMapEntry( Map => $COLUMN_MAP, Name => $Name, Attribute => $Attr );
</%INIT>
diff --git a/rt/share/html/Elements/RT__Ticket/ColumnMap b/rt/share/html/Elements/RT__Ticket/ColumnMap
index 1668d32..cde8d59 100644
--- a/rt/share/html/Elements/RT__Ticket/ColumnMap
+++ b/rt/share/html/Elements/RT__Ticket/ColumnMap
@@ -48,6 +48,7 @@
<%ARGS>
$Name => undef
$Attr => undef
+$GenericMap => {}
</%ARGS>
@@ -57,20 +58,36 @@ my $COLUMN_MAP;
my $LinkCallback = sub {
my $method = shift;
- my $mode = $RT::Ticket::LINKTYPEMAP{$method}{Mode};
- my $type = $RT::Ticket::LINKTYPEMAP{$method}{Type};
+ my $mode = $RT::Link::TYPEMAP{$method}{Mode};
+ my $type = $RT::Link::TYPEMAP{$method}{Type};
my $other_mode = ($mode eq "Target" ? "Base" : "Target");
my $mode_uri = $mode.'URI';
- my $local_type = 'Local'.$mode;
return sub {
+ my $ObjectType = $_[2]||'';
map {
\'<a href="',
- $_->$mode_uri->Resolver->HREF,
+ $_->$mode_uri->AsHREF,
\'">',
- ( $_->$mode_uri->IsLocal && $_->$local_type ? $_->$local_type : $_->$mode_uri->Resolver->AsString ),
+ ( $_->$mode_uri->AsString ),
\'</a><br />',
- } @{ $_[0]->Links($other_mode,$type)->ItemsArrayRef }
+ } # if someone says __RefersTo.{Ticket}__ filter for only local links that are tickets
+ grep { $ObjectType
+ ? ( $_->$mode_uri->IsLocal
+ && ( $_->$mode_uri->Object->RecordType eq $ObjectType ))
+ : 1
+ }
+ @{ $_[0]->Links($other_mode,$type)->ItemsArrayRef }
+ }
+};
+
+my $trustSub = sub {
+ my $user = shift;
+ my %key = RT::Crypt->GetKeyInfo( Key => $user->EmailAddress );
+ if (!defined $key{'info'}) {
+ return $m->interp->apply_escapes(' ' . loc("(no pubkey!)"), "h");
+ } elsif ($key{'info'}{'TrustLevel'} == 0) {
+ return $m->interp->apply_escapes(' ' . loc("(untrusted!)"), "h");
}
};
@@ -118,7 +135,7 @@ $COLUMN_MAP = {
my $SearchURL = RT->Config->Get('WebPath') . '/Search/Results.html?' . $m->comp('/Elements/QueryString', Query => $Query);
- return \'<a href="',$SearchURL,\'">', loc('(pending [quant,_1,other ticket])',$count), \'</a>';
+ return \'<a href="',$SearchURL,\'">', loc('(pending [quant,_1,other ticket,other tickets])',$count), \'</a>';
}
}
else {
@@ -169,21 +186,6 @@ $COLUMN_MAP = {
title => 'Time Estimated', # loc
value => sub { return $_[0]->TimeEstimated }
},
- Requestors => {
- title => 'Requestors', # loc
- attribute => 'Requestor.EmailAddress',
- value => sub { return $_[0]->Requestors->MemberEmailAddressesAsString }
- },
- Cc => {
- title => 'Cc', # loc
- attribute => 'Cc.EmailAddress',
- value => sub { return $_[0]->Cc->MemberEmailAddressesAsString }
- },
- AdminCc => {
- title => 'AdminCc', # loc
- attribute => 'AdminCc.EmailAddress',
- value => sub { return $_[0]->AdminCc->MemberEmailAddressesAsString }
- },
StartsRelative => {
title => 'Starts', # loc
attribute => 'Starts',
@@ -205,7 +207,7 @@ $COLUMN_MAP = {
value => sub {
my $date = $_[0]->DueObj;
# Highlight the date if it was due in the past, and it's still active
- if ( $date && $date->Unix > 0 && $date->Diff < 0 && $_[0]->QueueObj->IsActiveStatus($_[0]->Status)) {
+ if ( $date && $date->IsSet && $date->Diff < 0 && $_[0]->QueueObj->IsActiveStatus($_[0]->Status)) {
return (\'<span class="overdue">' , $date->AgeAsString , \'</span>');
} else {
return $date->AgeAsString;
@@ -264,21 +266,7 @@ $COLUMN_MAP = {
KeyRequestors => {
title => 'Requestors', # loc
attribute => 'Requestor.EmailAddress',
- value => sub {
- my $t = shift;
- my @requestors = $t->Requestors->MemberEmailAddresses;
- for my $email (@requestors)
- {
- my %key = RT::Crypt::GnuPG::GetKeyInfo($email);
- if (!defined $key{'info'}) {
- $email .= ' ' . loc("(no pubkey!)");
- }
- elsif ($key{'info'}{'TrustLevel'} == 0) {
- $email .= ' ' . loc("(untrusted!)");
- }
- }
- return join ', ', @requestors;
- }
+ value => sub { return \($m->scomp("/Elements/ShowPrincipal", Object => $_[0]->Requestor, PostUser => $trustSub ) ) }
},
KeyOwnerName => {
title => 'Owner', # loc
@@ -286,7 +274,7 @@ $COLUMN_MAP = {
value => sub {
my $t = shift;
my $name = $t->OwnerObj->Name;
- my %key = RT::Crypt::GnuPG::GetKeyInfo($t->OwnerObj->EmailAddress);
+ my %key = RT::Crypt->GetKeyInfo( Key => $t->OwnerObj->EmailAddress );
if (!defined $key{'info'}) {
$name .= ' '. loc("(no pubkey!)");
}
@@ -297,11 +285,16 @@ $COLUMN_MAP = {
return $name;
}
},
+ KeyOwner => {
+ title => 'Owner', # loc
+ attribute => 'Owner',
+ value => sub { return \($m->scomp("/Elements/ShowPrincipal", Object => $_[0]->OwnerObj, PostUser => $trustSub ) ) }
+ },
# Everything from LINKTYPEMAP
(map {
$_ => { value => $LinkCallback->( $_ ) }
- } keys %RT::Ticket::LINKTYPEMAP),
+ } keys %RT::Link::TYPEMAP),
'_CLASS' => {
value => sub { return $_[1] % 2 ? 'oddline' : 'evenline' }
@@ -328,20 +321,15 @@ $COLUMN_MAP = {
$m->comp('/Elements/CustomerFields', 'ColumnMap'),
$m->comp('/Elements/ServiceFields', 'ColumnMap'),
};
-
-# if no GPG support, then KeyOwnerName and KeyRequestors fall back to the regular
-# versions
-if (RT->Config->Get('GnuPG')->{'Enable'}) {
- require RT::Crypt::GnuPG;
-}
-else {
- $COLUMN_MAP->{KeyOwnerName} = $COLUMN_MAP->{OwnerName};
- $COLUMN_MAP->{KeyRequestors} = $COLUMN_MAP->{Requestors};
-}
</%ONCE>
<%init>
-$m->callback( COLUMN_MAP => $COLUMN_MAP, CallbackName => 'Once', CallbackOnce => 1 );
-# backward compatibility
-$m->callback( COLUMN_MAP => $COLUMN_MAP, CallbackName => 'ColumnMap' );
+# if no encryption support, then KeyOwnerName and KeyRequestors fall back to the regular
+# versions
+unless (RT->Config->Get('Crypt')->{'Enable'}) {
+ $COLUMN_MAP->{KeyOwnerName} = $COLUMN_MAP->{OwnerName};
+ $COLUMN_MAP->{KeyRequestors} = $GenericMap->{Requestors};
+}
+
+$m->callback( GenericMap => $GenericMap, COLUMN_MAP => $COLUMN_MAP, CallbackName => 'Once', CallbackOnce => 1 );
return GetColumnMapEntry( Map => $COLUMN_MAP, Name => $Name, Attribute => $Attr );
</%init>
diff --git a/rt/share/html/Elements/RT__User/ColumnMap b/rt/share/html/Elements/RT__User/ColumnMap
index 9c3aa27..3b9877c 100644
--- a/rt/share/html/Elements/RT__User/ColumnMap
+++ b/rt/share/html/Elements/RT__User/ColumnMap
@@ -48,15 +48,10 @@
<%ARGS>
$Name
$Attr => undef
+$GenericMap => {}
</%ARGS>
<%ONCE>
my $COLUMN_MAP = {
- id => {
- title => '#', # loc
- attribute => 'id',
- align => 'right',
- value => sub { return $_[0]->id },
- },
Name => {
title => 'Name', # loc
attribute => 'Name',
@@ -147,10 +142,14 @@ my $COLUMN_MAP = {
attribute => 'FreeformContactInfo',
value => sub { return $_[0]->FreeformContactInfo() },
},
+ Disabled => {
+ title => 'Status', # loc
+ value => sub { return $_[0]->Disabled? $_[0]->loc('Disabled'): $_[0]->loc('Enabled') },
+ },
};
</%ONCE>
<%INIT>
-$m->callback( COLUMN_MAP => $COLUMN_MAP, CallbackName => 'ColumnMap', CallbackOnce => 1 );
+$m->callback( GenericMap => $GenericMap, COLUMN_MAP => $COLUMN_MAP, CallbackName => 'ColumnMap', CallbackOnce => 1 );
return GetColumnMapEntry( Map => $COLUMN_MAP, Name => $Name, Attribute => $Attr );
</%INIT>
diff --git a/rt/share/html/Elements/Refresh b/rt/share/html/Elements/Refresh
index 9a44481..655d1b8 100755
--- a/rt/share/html/Elements/Refresh
+++ b/rt/share/html/Elements/Refresh
@@ -56,7 +56,7 @@
% if ( $Default && ($value == $Default)) {
selected="selected"
% }
-><&|/l, $value/60 &>Refresh this page every [_1] minutes.</&></option>
+><&|/l, $value/60 &>Refresh this page every [quant,_1,minute,minutes].</&></option>
%}
</select>
diff --git a/rt/share/html/Elements/SelectBoolean b/rt/share/html/Elements/SelectBoolean
index 79283da..02b49e7 100755
--- a/rt/share/html/Elements/SelectBoolean
+++ b/rt/share/html/Elements/SelectBoolean
@@ -63,9 +63,9 @@ $False => loc("isn't")
my $TrueDefault = '';
my $FalseDefault = '';
if ($Default && $Default !~ /true/i) {
- $FalseDefault = 'selected="selected"';
+ $FalseDefault = 'selected="selected"';
}
else {
- $TrueDefault = 'selected="selected"';
+ $TrueDefault = 'selected="selected"';
}
</%INIT>
diff --git a/rt/share/html/Elements/SelectCustomFieldValue b/rt/share/html/Elements/SelectCustomFieldValue
index 38f0f62..02a95c2 100755
--- a/rt/share/html/Elements/SelectCustomFieldValue
+++ b/rt/share/html/Elements/SelectCustomFieldValue
@@ -45,19 +45,21 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-% $m->callback( Name => $Name, CustomField => $CustomField );
+% $m->callback( Name => $Name, CustomField => $CustomField, Default => \$Default );
+% $Default = "" unless defined $Default;
% if ($CustomField->Type =~ /Select/i) {
% my $values = $CustomField->Values;
<select name="<%$Name%>">
<option value="" selected="selected">-</option>
<option value="NULL"><&|/l&>(no value)</&></option>
% while (my $value = $values->Next) {
-<option value="<%$value->Name%>"><%$value->Name%></option>
+<option value="<%$value->Name%>"<% ($value->Name eq $Default) ? q[ selected="selected"] : ''%>><%$value->Name%></option>
% }
</select>
-% }
-% elsif ( $CustomField->Type eq 'Autocomplete' ) {
-<input type="text" id="CF-<% $CustomField->id %>" name="<% $Name %>" size="20" />
+% } elsif ($CustomField->Type =~ /^Date(Time)?$/) {
+<& /Elements/SelectDate, ShowTime => ($1 ? 1 : 0), Name => $Name, Value => $Default &>
+% } elsif ( $CustomField->Type eq 'Autocomplete' ) {
+<input type="text" id="CF-<% $CustomField->id %>" name="<% $Name %>" size="20" value="<% $Default %>" />
<script type="text/javascript">
% my @options;
% my $values = $CustomField->Values;
@@ -70,9 +72,10 @@
jQuery('#'+'CF-' + <% $CustomField->id %>).autocomplete({ source: <% JSON::to_json(\@options) |n %> });
</script>
% } else {
-<input name="<%$Name%>" size="20" />
+<input name="<%$Name%>" size="20" value="<% $Default %>" type="text" />
% }
<%args>
$Name => undef
-$CustomField =>undef
+$CustomField => undef
+$Default => undef
</%args>
diff --git a/rt/share/html/Elements/SelectDate b/rt/share/html/Elements/SelectDate
index 1483527..1fd1968 100755
--- a/rt/share/html/Elements/SelectDate
+++ b/rt/share/html/Elements/SelectDate
@@ -47,7 +47,7 @@
%# END BPS TAGGED BLOCK }}}
%# in PageLayout instead, once <% include('/elements/init_calendar.html') |n %>
% $m->callback( %ARGS, Name => $Name, CallbackName => 'BeforeDateInput' );
-<input type="text" class="ui-datepicker<% $ShowTime ? ' withtime' : '' %>" id="<% $Name %>" name="<% $Name %>" value="<% $Value %>" size="<% $Size %>" />
+<input type="text" class="datepicker<% $ShowTime ? ' withtime' : '' %>" id="<% $Name %>" name="<% $Name %>" value="<% $Value %>" size="<% $Size %>" />
<IMG SRC="<%$fsurl%>images/calendar.png" ID="<% $Name %>_date_button" STYLE="cursor: pointer" TITLE="Select date">
% $m->callback( %ARGS, Name => $Name, CallbackName => 'AfterDateInput' );
<script type="text/javascript">
@@ -63,23 +63,21 @@ Calendar.setup({
});
</script>
<%init>
-unless ((defined $Default) or
- ($current <= 0)) {
- my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
- localtime($current);
- $Default = sprintf("%04d-%02d-%02d %02d:%02d",
- $year+1900,$mon+1,$mday,
- $hour,$min);
+unless ((defined $Default) or ($current <= 0)) {
+ my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
+ localtime($current);
+ $Default = sprintf("%04d-%02d-%02d %02d:%02d",
+ $year+1900,$mon+1,$mday,
+ $hour,$min);
}
$Value = $Value || $Default;
unless ($Name) {
- $Name = $menu_prefix. "_Date";
+ $Name = $menu_prefix. "_Date";
}
</%init>
<%args>
-
$ShowTime => 1
$menu_prefix=>''
$current=>time
diff --git a/rt/share/html/Elements/SelectDateRelation b/rt/share/html/Elements/SelectDateRelation
index 6c662fa..74ae9a1 100755
--- a/rt/share/html/Elements/SelectDateRelation
+++ b/rt/share/html/Elements/SelectDateRelation
@@ -55,6 +55,6 @@
$Name => undef
$Default => undef
$Before => loc('before')
-$On => loc('on')
+$On => loc('on')
$After => loc('after')
</%ARGS>
diff --git a/rt/share/html/Elements/SelectLang b/rt/share/html/Elements/SelectLang
index 9ba09f8..cf4d297 100755
--- a/rt/share/html/Elements/SelectLang
+++ b/rt/share/html/Elements/SelectLang
@@ -59,11 +59,9 @@
</select>
<%ARGS>
$ShowNullOption => 1
-$ShowAllQueues => 1
$Name => undef
$Verbose => undef
$Default => 0
-$Lite => 0
</%ARGS>
<%ONCE>
diff --git a/rt/share/html/Elements/SelectMatch b/rt/share/html/Elements/SelectMatch
index 65e108d..d76cfbb 100755
--- a/rt/share/html/Elements/SelectMatch
+++ b/rt/share/html/Elements/SelectMatch
@@ -68,15 +68,15 @@ my $LikeDefault='';
my $NotLikeDefault ='';
if ($Default && $Default =~ /false|!=/i) {
- $FalseDefault = qq[ selected="selected"];
+ $FalseDefault = qq[ selected="selected"];
}
elsif ($Default && $Default =~ /true|=/i) {
- $TrueDefault = qq[ selected="selected"];
-}
+ $TrueDefault = qq[ selected="selected"];
+}
elsif ($Default && $Default =~ /notlike|NOT LIKE/i) {
- $NotLikeDefault = qq[ selected="selected"];
+ $NotLikeDefault = qq[ selected="selected"];
}
else {
- $LikeDefault = qq[ selected="selected"];
+ $LikeDefault = qq[ selected="selected"];
}
</%INIT>
diff --git a/rt/share/html/Elements/SelectObject b/rt/share/html/Elements/SelectObject
new file mode 100644
index 0000000..5952ce2
--- /dev/null
+++ b/rt/share/html/Elements/SelectObject
@@ -0,0 +1,141 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+% if ($Lite) {
+% my $d = $ObjectType->new($session{'CurrentUser'});
+% $d->Load($Default);
+<input name="<%$Name%>" size="25" value="<%$d->Name%>" class="<%$Class%>" />
+% }
+% else {
+<select name="<%$Name%>" <% ($Multiple) ? qq{multiple="multiple" size="$Size"} : '' |n%> <% ($OnChange) ? 'onchange="'.$OnChange.'"' : '' |n %> class="<%$Class%>">
+% if ($ShowNullOption) {
+ <option value=""><% $DefaultLabel %></option>
+% }
+% for my $object (@{$session{$cache_key}{objects}}) {
+ <option value="<% ($NamedValues ? $object->{Name} : $object->{Id}) %>"\
+% if ($object->{Id} eq ($Default||'') || $object->{Name} eq ($Default||'')) {
+ selected="selected"\
+% }
+><%$object->{Name}%>\
+% if ($Verbose and $object->{Description}) {
+ (<%$object->{Description}%>)\
+% }
+</option>
+% }
+</select>
+% }
+<%args>
+$ObjectType
+$CheckRight => undef
+$ShowNullOption => 1
+$ShowAll => 1
+$Name => undef
+$Verbose => undef
+$NamedValues => 0
+$DefaultLabel => "-"
+$Default => 0
+$Lite => 0
+$OnChange => undef
+$Multiple => 0
+$Size => 6
+$Class => ""
+$CacheNeedsUpdate => undef
+</%args>
+<%init>
+$ObjectType = "RT::$ObjectType" unless $ObjectType =~ /::/;
+$Class ||= "select-" . CSSClass("\L$1") if $ObjectType =~ /RT::(.+)$/;
+
+my $cache_key = join "---", "SelectObject", $ObjectType,
+ $session{'CurrentUser'}->Id, $CheckRight || "", $ShowAll;
+
+if ( defined $session{$cache_key} && ref $session{$cache_key} eq 'ARRAY') {
+ delete $session{$cache_key};
+}
+if ( defined $session{$cache_key} && defined $CacheNeedsUpdate &&
+ $session{$cache_key}{lastupdated} <= $CacheNeedsUpdate ) {
+ delete $session{$cache_key};
+}
+
+if ( not defined $session{$cache_key} and not $Lite ) {
+ my $collection = "${ObjectType}s"->new($session{'CurrentUser'});
+ $collection->UnLimit;
+
+ $m->callback( CallbackName => 'ModifyCollection', ARGSRef => \%ARGS,
+ Collection => $collection, ObjectType => $ObjectType );
+
+ if ( $Default ) {
+ my $object = $ObjectType->new($session{'CurrentUser'});
+ $object->Load( $Default );
+ unless ( $ShowAll
+ or not $CheckRight
+ or $session{CurrentUser}->HasRight( Object => $object, Right => $CheckRight ) )
+ {
+ if ( $object->id ) {
+ push @{$session{$cache_key}{objects}}, {
+ Id => $object->id,
+ Name => '#' . $object->id,
+ Description => '#' . $object->id,
+ };
+ }
+ }
+ }
+
+ while (my $object = $collection->Next) {
+ if ($ShowAll
+ or not $CheckRight
+ or $session{CurrentUser}->HasRight( Object => $object, Right => $CheckRight ))
+ {
+ push @{$session{$cache_key}{objects}}, {
+ Id => $object->Id,
+ Name => $object->Name,
+ Description => $object->_Accessible("Description" => "read") ? $object->Description : undef,
+ };
+ }
+ }
+ $session{$cache_key}{lastupdated} = time();
+}
+</%init>
diff --git a/rt/share/html/Elements/SelectOwnerAutocomplete b/rt/share/html/Elements/SelectOwnerAutocomplete
index d54bce3..95c0f2c 100644
--- a/rt/share/html/Elements/SelectOwnerAutocomplete
+++ b/rt/share/html/Elements/SelectOwnerAutocomplete
@@ -86,7 +86,7 @@ my $query = $m->comp('/Elements/QueryString',
}
else {
jQuery.ajax({
- url: <% RT->Config->Get('WebPath')|n,j%>+"/Helpers/Autocomplete/Owners?"+<% $query|n,j %>,
+ url: RT.Config.WebPath + "/Helpers/Autocomplete/Owners?"+<% $query|n,j %>,
dataType: "json",
data: request,
success: function( data ) {
diff --git a/rt/share/html/Elements/SelectOwnerDropdown b/rt/share/html/Elements/SelectOwnerDropdown
index acd8bc9..60e9cde 100644
--- a/rt/share/html/Elements/SelectOwnerDropdown
+++ b/rt/share/html/Elements/SelectOwnerDropdown
@@ -49,10 +49,6 @@
%if ($DefaultValue) {
<option value=""<% !$Default ? qq[ selected="selected"] : '' |n %>><%$DefaultLabel |n%></option>
%}
-% $Default = 0 unless defined $Default && $Default =~ /^\d+$/;
-% my @formatednames = sort {lc $a->[1] cmp lc $b->[1]} map {[$_, $m->scomp('/Elements/ShowUser', User => $_)]} grep { $_->id != RT->Nobody->id } @users;
-% my $nobody = [RT->Nobody, $m->scomp('/Elements/ShowUser', User => RT->Nobody)];
-% unshift @formatednames, $nobody;
%foreach my $UserRef ( @formatednames) {
%my $User = $UserRef->[0];
<option <% ( $User->Id == $Default) ? qq[ selected="selected"] : '' |n %>
@@ -61,7 +57,7 @@
%} elsif ($ValueAttribute eq 'Name') {
value="<%$User->Name%>"
%}
-><% $UserRef->[1] |n %></option>
+><% $UserRef->[1] %></option>
%}
</select>
<%INIT>
@@ -71,6 +67,7 @@ my $isSU = $session{CurrentUser}
->HasRight( Right => 'SuperUser', Object => $RT::System );
foreach my $object (@$Objects) {
my $Users = RT::Users->new( $session{CurrentUser} );
+ $Users->LimitToPrivileged;
$Users->WhoHaveRight(
Right => 'OwnTicket',
Object => $object,
@@ -81,12 +78,35 @@ foreach my $object (@$Objects) {
$user_uniq_hash{ $User->Id() } = $User;
}
}
+
+my $dropdown_limit = 50;
+$m->callback( CallbackName => 'ModifyDropdownLimit', DropdownLimit => \$dropdown_limit );
+
+if (keys(%user_uniq_hash) > $dropdown_limit ) {
+ if ($Objects->[0]->id) {
+ my $desc = $Objects->[0]->RecordType." ".$Objects->[0]->id;
+ RT->Logger->notice("More than $dropdown_limit possible Owners found for $desc; switching to autocompleter. See the \$AutocompleteOwners configuration option");
+ }
+ $m->comp("/Elements/SelectOwnerAutocomplete", %ARGS);
+ return;
+}
+
if ($Default && $Default != RT->Nobody->id && !$user_uniq_hash{$Default}) {
$user_uniq_hash{$Default} = RT::User->new($session{CurrentUser});
$user_uniq_hash{$Default}->Load($Default);
}
+$Default = 0 unless defined $Default && $Default =~ /^\d+$/;
+
+my @formatednames = sort {lc $a->[1] cmp lc $b->[1]}
+ map {[$_, $_->Format]}
+ grep { $_->id != RT->Nobody->id }
+ values %user_uniq_hash;
+
+my $nobody_user = RT::User->new( $session{CurrentUser} );
+$nobody_user->Load( RT->Nobody->id );
+my $nobody = [$nobody_user, $nobody_user->Format];
+unshift @formatednames, $nobody;
-my @users = values %user_uniq_hash;
</%INIT>
<%ARGS>
diff --git a/rt/share/html/Elements/SelectQueue b/rt/share/html/Elements/SelectQueue
index 76440d1..ae645a7 100755
--- a/rt/share/html/Elements/SelectQueue
+++ b/rt/share/html/Elements/SelectQueue
@@ -45,92 +45,14 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-% if ($Lite) {
-% my $d = RT::Queue->new($session{'CurrentUser'});
-% $d->Load($Default);
-<input name="<%$Name%>" size="25" value="<%$d->Name%>" class="<%$Class%>" />
-% }
-% else {
-<select name="<%$Name%>" <% ($Multiple) ? qq{multiple="multiple" size="$Size"} : '' |n%> <% ($OnChange) ? 'onchange="'.$OnChange.'"' : '' |n %> class="<%$Class%>">
-% if ($ShowNullOption) {
- <option value=""><% $DefaultLabel %></option>
-% }
-% for my $queue (@{$session{$cache_key}{queues}}) {
- <option value="<% ($NamedValues ? $queue->{Name} : $queue->{Id}) %>"\
-% if ($queue->{Id} eq ($Default||'') || $queue->{Name} eq ($Default||'')) {
- selected="selected"\
-% }
-><%$queue->{Name}%>\
-% if ($Verbose and $queue->{Description}) {
- (<%$queue->{Description}%>)\
-% }
-</option>
-% }
-</select>
-% }
+<& SelectObject,
+ %ARGS,
+ ObjectType => "Queue",
+ CheckRight => $CheckQueueRight,
+ ShowAll => $ShowAllQueues,
+ CacheNeedsUpdate => RT->System->QueueCacheNeedsUpdate,
+ &>
<%args>
$CheckQueueRight => 'CreateTicket'
-$ShowNullOption => 1
$ShowAllQueues => 1
-$Name => undef
-$Verbose => undef
-$NamedValues => 0
-$DefaultLabel => "-"
-$Default => 0
-$Lite => 0
-$OnChange => undef
-$Multiple => 0
-$Size => 6
-$Class => 'select-queue'
</%args>
-<%init>
-my $cache_key = "SelectQueue---"
- . $session{'CurrentUser'}->Id
- . "---$CheckQueueRight---$ShowAllQueues";
-
-if ( defined $session{$cache_key} && ref $session{$cache_key} eq 'ARRAY') {
- delete $session{$cache_key};
-}
-if ( defined $session{$cache_key} &&
- $session{$cache_key}{lastupdated} <= RT->System->QueueCacheNeedsUpdate ) {
- delete $session{$cache_key};
-}
-
-if ( defined $session{$cache_key} && ref $session{$cache_key} eq 'ARRAY') {
- delete $session{$cache_key};
-}
-if ( defined $session{$cache_key} &&
- $session{$cache_key}{lastupdated} <= RT->System->QueueCacheNeedsUpdate ) {
- delete $session{$cache_key};
-}
-
-if ( not defined $session{$cache_key} and not $Lite ) {
- my $q = RT::Queues->new($session{'CurrentUser'});
- $q->UnLimit;
-
- if ( $Default ) {
- my $d = RT::Queue->new($session{'CurrentUser'});
- $d->Load($Default);
- unless ( $d->CurrentUserHasRight('SeeQueue') ) {
- if ( $d->id ) {
- push @{$session{$cache_key}{queues}}, {
- Id => $d->id,
- Name => '#' . $d->id,
- Description => '#' . $d->id,
- };
- }
- }
- }
-
- while (my $queue = $q->Next) {
- if ($ShowAllQueues || $queue->CurrentUserHasRight($CheckQueueRight)) {
- push @{$session{$cache_key}{queues}}, {
- Id => $queue->Id,
- Name => $queue->Name,
- Description => $queue->Description,
- };
- }
- }
- $session{$cache_key}{lastupdated} = time();
-}
-</%init>
diff --git a/rt/share/html/Elements/SelectStatus b/rt/share/html/Elements/SelectStatus
index 3c833d8..faae3dc 100755
--- a/rt/share/html/Elements/SelectStatus
+++ b/rt/share/html/Elements/SelectStatus
@@ -70,39 +70,35 @@
my %statuses_by_lifecycle;
if ( @Statuses ) {
$statuses_by_lifecycle{''} = \@Statuses;
-}
-elsif ( $TicketObj ) {
- my @status;
- my $current = $TicketObj->Status;
- push @status, $current;
-
- my $lifecycle = $TicketObj->QueueObj->Lifecycle;
+} else {
+ if ( $Object ) {
+ my $lifecycle = $Object->LifecycleObj;
+ if ($Object->_Accessible("Status", "read")) {
+ my $current = $Object->Status;
+ my @status;
+ push @status, $current;
- my %has = ();
- foreach my $next ( $lifecycle->Transitions( $current ) ) {
- my $check = $lifecycle->CheckRight( $current => $next );
- $has{ $check } = $TicketObj->CurrentUserHasRight( $check )
- unless exists $has{ $check };
- push @status, $next if $has{ $check };
+ my %has = ();
+ foreach my $next ( $lifecycle->Transitions( $current ) ) {
+ my $check = $lifecycle->CheckRight( $current => $next );
+ $has{ $check } = $Object->CurrentUserHasRight( $check )
+ unless exists $has{ $check };
+ push @status, $next if $has{ $check };
+ }
+ $statuses_by_lifecycle{$lifecycle->Name} = \@status;
+ } else {
+ $statuses_by_lifecycle{$lifecycle->Name} = [ $lifecycle->Transitions('') ];
+ }
}
- $statuses_by_lifecycle{$lifecycle->Name} = \@status;
-}
-elsif ( $QueueObj ) {
- my $lifecycle = $QueueObj->Lifecycle;
- $statuses_by_lifecycle{$lifecycle->Name} = [ $lifecycle->Transitions('') ];
-} elsif ( %Queues ) {
- for my $id (keys %Queues) {
- my $queue = RT::Queue->new($session{'CurrentUser'});
- $queue->Load($id);
- if ($queue->id) {
- my $lifecycle = $queue->Lifecycle;
+ for my $lifecycle ( @Lifecycles ) {
+ $statuses_by_lifecycle{$lifecycle->Name} ||= [ $lifecycle->Valid ];
+ }
+
+ if (not keys %statuses_by_lifecycle) {
+ for my $lifecycle (map { RT::Lifecycle->Load($_) } RT::Lifecycle->List($Type)) {
$statuses_by_lifecycle{$lifecycle->Name} = [ $lifecycle->Valid ];
}
}
-} else {
- for my $lifecycle (map { RT::Lifecycle->Load($_) } RT::Lifecycle->List) {
- $statuses_by_lifecycle{$lifecycle->Name} = [ $lifecycle->Valid ];
- }
}
if (keys %statuses_by_lifecycle) {
@@ -132,11 +128,11 @@ my $group_by_lifecycle = keys %statuses_by_lifecycle > 1;
</%INIT>
<%ARGS>
$Name => undef
+$Type => undef,
@Statuses => ()
-$TicketObj => undef
-$QueueObj => undef
-%Queues => ()
+$Object => undef,
+@Lifecycles => (),
$Default => ''
$SkipDeleted => 0
diff --git a/rt/share/html/Elements/SelectTimeUnits b/rt/share/html/Elements/SelectTimeUnits
index 660e5c7..da5376b 100755
--- a/rt/share/html/Elements/SelectTimeUnits
+++ b/rt/share/html/Elements/SelectTimeUnits
@@ -46,17 +46,17 @@
%#
%# END BPS TAGGED BLOCK }}}
<select class="TimeUnits" id="<% $Name %>" name="<% $Name %>">
-<option value="minutes" <% $HoursDefault ? '' : 'selected="selected"' |n%>>
+<option value="minutes" <% $Default eq 'minutes' ? 'selected="selected"' : '' |n%>>
<% loc('Minutes') %>
</option>
-<option value="hours" <% $HoursDefault ? 'selected="selected"' : '' |n%>>
+<option value="hours" <% $Default eq 'hours' ? 'selected="selected"' : '' |n%>>
<% loc('Hours') %>
</option>
</select>
<%INIT>
$Name .= '-TimeUnits' unless $Name =~ /-TimeUnits$/io;
-my $HoursDefault = RT->Config->Get('DefaultTimeUnitsToHours', $session{'CurrentUser'});
</%INIT>
<%ARGS>
$Name => ''
+$Default => RT->Config->Get('DefaultTimeUnitsToHours', $session{'CurrentUser'}) ? 'hours' : 'minutes'
</%ARGS>
diff --git a/rt/share/html/Elements/ShowCustomFieldCustomGroupings b/rt/share/html/Elements/ShowCustomFieldCustomGroupings
new file mode 100644
index 0000000..dfce725
--- /dev/null
+++ b/rt/share/html/Elements/ShowCustomFieldCustomGroupings
@@ -0,0 +1,78 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<%perl>
+for my $group ( @Groupings ) {
+ my %grouping_args = (
+ title => $group? loc($group) : loc('Custom Fields'),
+ class => $css_class .' '. ($group? CSSClass("$css_class-$group") : ''),
+ hide_empty => 1,
+ title_href => $title_href ? "$title_href?id=".$Object->id.($group?";Grouping=".$m->interp->apply_escapes($group,'u')."#".CSSClass("$css_class-$group") : "#".$css_class) : undef,
+ %$TitleBoxARGS,
+ );
+ $m->callback( CallbackName => 'TitleBox', Object => $Object, Grouping => $group, ARGSRef => \%grouping_args );
+</%perl>
+<&| /Widgets/TitleBox, %grouping_args &>
+<& ShowCustomFields, %ARGS, Object => $Object, Grouping => $group &>
+</&>
+% }
+<%ARGS>
+$Object
+$title_href => ""
+@Groupings => ()
+</%ARGS>
+<%INIT>
+my $css_class = lc(ref($Object)||$Object);
+$css_class =~ s/^rt:://;
+$css_class =~ s/::/-/g;
+$css_class = CSSClass($css_class);
+$css_class .= '-info-cfs';
+
+my $TitleBoxARGS = delete $ARGS{TitleBoxARGS} || {};
+
+@Groupings = (RT::CustomField->CustomGroupings( $Object ), '') unless @Groupings;
+</%INIT>
diff --git a/rt/share/html/Elements/ShowCustomFieldImage b/rt/share/html/Elements/ShowCustomFieldImage
index 6df80cc..f5a1886 100644
--- a/rt/share/html/Elements/ShowCustomFieldImage
+++ b/rt/share/html/Elements/ShowCustomFieldImage
@@ -46,7 +46,7 @@
%#
%# END BPS TAGGED BLOCK }}}
% my $url = RT->Config->Get('WebPath') . "/Download/CustomFieldValue/".$Object->Id.'/'.$m->interp->apply_escapes($Object->Content, 'u');
-<a href="<% $url %>"><% $Object->Content %></a>
+<a href="<% $url %>"><% $Object->Content %></a><br>
<img type="<% $Object->ContentType %>" height="64" src="<% $url %>" align="middle" />
<%ARGS>
$Object
diff --git a/rt/share/html/Elements/ShowCustomFields b/rt/share/html/Elements/ShowCustomFields
index 75e302b..d8e6acf 100644
--- a/rt/share/html/Elements/ShowCustomFields
+++ b/rt/share/html/Elements/ShowCustomFields
@@ -45,7 +45,8 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-% $m->callback( CallbackName => 'BeforeCustomFields' );
+% $m->callback( CallbackName => 'BeforeCustomFields', Object => $Object,
+% Grouping => $Grouping, ARGSRef => \%ARGS, CustomFields => $CustomFields, Table => $Table );
% if ($Table) {
<table>
% }
@@ -54,6 +55,7 @@
% while ( my $CustomField = $set->Next ) {
% my $Values = $Object->CustomFieldValues( $CustomField->Id );
% my $count = $Values->Count;
+% next if $HideEmpty and not $count;
% next if $count == 0 and $CustomField->Disabled;
<tr id="CF-<%$CustomField->id%>-ShowRow">
<td class="label"><% $CustomField->Name %>:</td>
@@ -72,19 +74,23 @@
</ul>
% }
</td>
+% $m->callback( CallbackName => 'AfterCustomFieldValue', CustomField => $CustomField,
+% Object => $Object, Grouping => $Grouping, Table => $Table );
</tr>
% }
% }
% if ($Table) {
</table>
% }
-% $m->callback( CallbackName => 'AfterCustomFields', Object => $Object );
+% $m->callback( CallbackName => 'AfterCustomFields', Object => $Object,
+% Grouping => $Grouping, ARGSRef => \%ARGS, Table => $Table );
<%INIT>
$m->callback(
%ARGS,
CallbackName => 'MassageCustomFields',
- Object => $Object,
+ Object => $Object,
CustomFields => $CustomFields,
+ Table => $Table,
);
# kludge to allow "Support time" to be displayed even though it's been
@@ -94,6 +100,8 @@ $HiddenCustomFields->LimitToChildType(ref $Object);
$HiddenCustomFields->Limit( FIELD => 'Type', VALUE => 'TimeValue' );
$HiddenCustomFields->LimitToDeleted;
+$CustomFields->LimitToGrouping( $Object => $Grouping ) if defined $Grouping;
+
# don't print anything if there is no custom fields
return unless $CustomFields->Count > 0 or $HiddenCustomFields->Count > 0;
@@ -102,7 +110,7 @@ my $print_value = sub {
my $linked = $value->LinkValueTo;
if ( defined $linked && length $linked ) {
my $linked = $m->interp->apply_escapes( $linked, 'h' );
- $m->out('<a href="'. $linked .'" target="_new">');
+ $m->out('<a href="'. $linked .'" target="_blank">');
}
my $comp = "ShowCustomField". $cf->Type;
$m->callback(
@@ -110,6 +118,7 @@ my $print_value = sub {
Name => \$comp,
CustomField => $cf,
Object => $Object,
+ Table => $Table,
);
if ( $m->comp_exists( $comp ) ) {
$m->comp( $comp, Object => $value );
@@ -137,6 +146,7 @@ my $print_value = sub {
<%ARGS>
$Object => undef
$CustomFields => $Object->CustomFields
-
+$Grouping => undef
$Table => 1
+$HideEmpty => 0
</%ARGS>
diff --git a/rt/share/html/Elements/ShowHistory b/rt/share/html/Elements/ShowHistory
new file mode 100644
index 0000000..d585453
--- /dev/null
+++ b/rt/share/html/Elements/ShowHistory
@@ -0,0 +1,191 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<div class="history <% lc $record_type %>" id="<% $histid %>">
+<%perl>
+if ( $ShowDisplayModes or $ShowTitle ) {
+ my $title = $ShowTitle
+ ? loc('History')
+ : '&nbsp;';
+
+ my $titleright = '';
+ if ( $ShowDisplayModes ) {
+ if ( RT->Config->Get( 'QuoteFolding', $session{CurrentUser} ) ) {
+ my $open_all = $m->interp->apply_escapes( loc("Show all quoted text"), 'j' );
+ my $open_html = $m->interp->apply_escapes( loc("Show all quoted text"), 'h' );
+ my $close_all = $m->interp->apply_escapes( loc("Hide all quoted text"), 'j' );
+ $titleright .= '<a href="#" data-direction="open" '
+ . qq{onclick="return toggle_all_folds(this, $open_all, $close_all);"}
+ . ">$open_html</a> &mdash; ";
+ }
+
+ if ($ShowHeaders) {
+ $titleright .= qq{<a href="?ForceShowHistory=1;id=} .
+ $Object->id.qq{#$histid">} .
+ loc("Show brief headers") .
+ qq{</a>};
+ } else {
+ $titleright .= qq{<a href="?ForceShowHistory=1;ShowHeaders=1;id=} .
+ $Object->id.qq{#$histid">} .
+ loc("Show full headers") .
+ qq{</a>};
+ }
+ }
+</%perl>
+<& /Widgets/TitleBoxStart, title => $title, titleright_raw => $titleright &>
+% }
+
+<div class="history-container">
+<%perl>
+$m->callback( %ARGS, Object => $Object, CallbackName => 'BeforeTransactions' );
+my $i = 1;
+while ( my $Transaction = $Transactions->Next ) {
+ my $skip = 0;
+
+ # Skip display of SetWatcher transactions for ticket Owner groups. Owner
+ # was a single member role group and denormalized into a column well before
+ # the generic role group handling and transactions came about. For
+ # tickets, we rely on rendering ownership changes using the Set-Owner
+ # transaction. For all other record types, or even potential ticket single
+ # role groups which aren't Owner, we use SetWatcher to render history and
+ # skip the Set transactions. This complication is necessary to avoid
+ # creating backdated transactions on upgrade which normalize to one type or
+ # another.
+ #
+ # These conditions assumes ticket Owner is a single-member denormalized
+ # role group, which is safe since that is unlikely to ever change in the
+ # future.
+ if ($Object->isa("RT::Ticket") and ($Transaction->Field || '') eq "Owner") {
+ $skip = 1 if $Transaction->Type eq "SetWatcher";
+ } else {
+ $skip = 1 if $Transaction->Type eq "Set"
+ and $Transaction->Field
+ and $Object->DOES("RT::Record::Role::Roles")
+ and $Object->HasRole( $Transaction->Field )
+ and $Object->RoleGroup( $Transaction->Field )->SingleMemberRoleGroupColumn;
+ }
+
+ $m->callback(
+ %ARGS,
+ Transaction => $Transaction,
+ skip => \$skip,
+ CallbackName => 'SkipTransaction',
+ );
+ next if $skip;
+
+ # ARGS is first because we're clobbering the "Attachments" parameter
+ $m->comp( 'ShowTransaction',
+ %ARGS,
+ Object => $Object,
+ Transaction => $Transaction,
+ ShowHeaders => $ShowHeaders,
+ RowNum => $i,
+ Attachments => $trans_attachments->{$Transaction->id} || {},
+ AttachmentContent => $trans_content,
+ HasTxnCFs => $HasTxnCFs,
+ );
+
+ # manually flush the content buffer after each txn,
+ # so the user sees some update
+ $m->flush_buffer;
+
+ $i++;
+}
+
+</%perl>
+</div>
+% if ($ShowDisplayModes or $ShowTitle) {
+<& /Widgets/TitleBoxEnd &>
+% }
+</div>
+<%INIT>
+my $trans_content = {};
+my $trans_attachments = {};
+
+for my $content (@{$AttachmentContent->ItemsArrayRef()}) {
+ $trans_content->{$content->TransactionId}->{$content->Id} = $content;
+}
+
+for my $attachment (@{$Attachments->ItemsArrayRef()}) {
+ my $tmp = $trans_attachments->{ $attachment->TransactionId } ||= {};
+ push @{ $tmp->{ $attachment->Parent || 0 } ||= [] }, $attachment;
+}
+
+{
+ my %tmp = (
+ DisplayPath => 'Display.html',
+ AttachmentPath => 'Attachment',
+ UpdatePath => 'Update.html',
+ ForwardPath => 'Forward.html',
+ EmailRecordPath => 'ShowEmailRecord.html',
+ EncryptionPath => 'Crypt.html',
+ );
+
+ my $prefix = $ARGS{PathPrefix}||'';
+ while ( my ($arg, $path) = each %tmp ) {
+ next if defined $ARGS{ $arg };
+ $ARGS{ $arg } = $prefix.$path;
+ }
+}
+
+my $record_type = $Object->RecordType;
+my $histid = "\L$record_type\E-" . $Object->id . "-history";
+
+my $HasTxnCFs = ($Object->can("TransactionCustomFields") and $Object->TransactionCustomFields->Count);
+</%INIT>
+<%ARGS>
+$Object
+$Transactions => $Object->SortedTransactions
+$Attachments => $Object->Attachments( WithHeaders => 1 )
+$AttachmentContent => $Object->TextAttachments
+
+$ShowHeaders => 0
+$ShowTitle => 1
+$ShowDisplayModes => 1
+
+$PathPrefix => ''
+</%ARGS>
diff --git a/rt/share/html/Elements/ShowLink b/rt/share/html/Elements/ShowLink
index b533c83..d1629b1 100644
--- a/rt/share/html/Elements/ShowLink
+++ b/rt/share/html/Elements/ShowLink
@@ -45,33 +45,26 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<a href="<% $href %>">
-% if ($URI->IsLocal) {
% my $member = $URI->Object;
-% my $has_name = UNIVERSAL::can($member, 'Name') || (UNIVERSAL::can($member, '_Accessible') && $member->_Accessible('Name', 'read'));
-% if (UNIVERSAL::isa($member, "RT::Ticket") and $member->CurrentUserHasRight('ShowTicket')) {
-% my $inactive = $member->QueueObj->IsInactiveStatus($member->Status);
+% if (blessed($member) and $member->isa("RT::Ticket") and $member->CurrentUserHasRight('ShowTicket')) {
+% my $class = $member->QueueObj->IsInactiveStatus($member->Status)
+% ? 'ticket-inactive'
+% : 'ticket-active';
+% $class .= ' '.CSSClass($member->Status);
-<span class="<% $inactive ? 'ticket-inactive' : '' %>">
-
-<%$member->Id%>: (<& /Elements/ShowUser, User => $member->OwnerObj &>) <%$member->Subject || ''%> [<% loc($member->Status) %>]
+<span class="<% $class %>">
+<a href="<% $href %>"><%$member->Id%>: <%$member->Subject || ''%> [<% loc($member->Status) %>]</a> (<& /Elements/ShowUser, User => $member->OwnerObj &>)
</span>
-% } elsif ($has_name) {
-<%$URI->Resolver->AsString%>: <%$member->Name%>
-% } else {
-<%$URI->Resolver->AsString%>
-% }
% } else {
-<%$URI->Resolver->AsString%>
+<a href="<% $href %>"><%$URI->AsString%></a>
% }
-</a>
<%ARGS>
$URI => undef
</%ARGS>
<%INIT>
-my $href = $URI->Resolver->HREF;
+my $href = $URI->AsHREF;
if ( $URI->IsLocal ) {
my $base = RT->Config->Get('WebBaseURL');
# URI->rel doesn't contain the leading '/'
diff --git a/rt/share/html/Elements/ShowLinks b/rt/share/html/Elements/ShowLinks
index 8880224..30dff00 100755
--- a/rt/share/html/Elements/ShowLinks
+++ b/rt/share/html/Elements/ShowLinks
@@ -46,134 +46,63 @@
%#
%# END BPS TAGGED BLOCK }}}
<table>
+% for my $type (@display) {
<tr>
- <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Depends on'), Relation => 'DependsOn' &>:\
-% if ($can_create) {
- <span class="create">(<a href="<%$clone->{'DependsOn-new'}%>"><% loc('Create') %></a>)</span>
-% }
- </td>
- <td class="value">
-<%PERL>
-my ( $depends_on, @active, @inactive, @not_tickets );
-$depends_on = $Ticket->DependsOn;
-
-while ( my $link = $depends_on->Next ) {
- my $target = $link->TargetObj;
- if ( $target && $target->isa('RT::Ticket') ) {
- if ( $target->QueueObj->IsInactiveStatus( $target->Status ) ) {
- push( @inactive, $link->TargetURI );
- }
- else {
- push( @active, $link->TargetURI );
- }
- }
- else {
- push( @not_tickets, $link->TargetURI );
- }
-}
-</%PERL>
-<ul>
-% for my $Link (@not_tickets, @active, @inactive) {
-<li><& ShowLink, URI => $Link &></li>
-% }
-</ul>
- </td>
- </tr>
- <tr>
- <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Depended on by'), Relation => 'DependedOnBy' &>:\
-% if ($can_create) {
- <span class="create">(<a href="<%$clone->{'new-DependsOn'}%>"><% loc('Create') %></a>)</span>
-% }
- </td>
- <td class="value">
-<ul>
-% while (my $Link = $Ticket->DependedOnBy->Next) {
-<li><& ShowLink, URI => $Link->BaseURI &></li>
-% }
-</ul>
- </td>
- </tr>
- <tr>
- <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Parents'), Relation => 'Parents' &>:\
-% if ($can_create) {
- <span class="create">(<a href="<%$clone->{'MemberOf-new'}%>"><% loc('Create') %></a>)</span>
-% }
- </td>
- <td class="value"><& /Ticket/Elements/ShowParents, Ticket => $Ticket &></td>
- </tr>
- <tr>
- <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Children'), Relation => 'Children' &>:\
-% if ($can_create) {
- <span class="create">(<a href="<%$clone->{'new-MemberOf'}%>"><% loc('Create') %></a>)</span>
-% }
- </td>
- <td class="value"><& /Ticket/Elements/ShowMembers, Ticket => $Ticket &></td>
- </tr>
- <tr>
- <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Refers to'), Relation => 'RefersTo' &>:\
-% if ($can_create) {
- <span class="create">(<a href="<%$clone->{'RefersTo-new'}%>"><% loc('Create') %></a>)</span>
-% }
+ <td class="labeltop">
+ <& ShowRelationLabel, Object => $Object, Label => $labels{$type}.':', Relation => $type &>
+% if ($clone{$type}) {
+ <span class="create">(<a href="<% $clone{$type} %>"><% loc('Create') %></a>)</span>
+% }
</td>
<td class="value">
-<ul>
-% while (my $Link = $Ticket->RefersTo->Next) {
-<li><& ShowLink, URI => $Link->TargetURI &></li>
-% }
-</ul>
+ <& ShowLinksOfType, Object => $Object, Type => $type, Recurse => ($type eq 'Members') &>
</td>
</tr>
- <tr>
- <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Referred to by'), Relation => 'ReferredToBy' &>:\
-% if ($can_create) {
- <span class="create">(<a href="<%$clone->{'new-RefersTo'}%>"><% loc('Create') %></a>)</span>
% }
- </td>
- <td class="value">
- <ul>
-% while (my $Link = $Ticket->ReferredToBy->Next) {
-% next if (UNIVERSAL::isa($Link->BaseObj, 'RT::Ticket') && $Link->BaseObj->Type eq 'reminder');
-<li><& ShowLink, URI => $Link->BaseURI &></li>
-% }
-</ul>
- </td>
- </tr>
% # Allow people to add more rows to the table
% $m->callback( %ARGS );
+ <& /Elements/ShowCustomFields, Object => $Object, Grouping => 'Links', Table => 0 &>
</table>
<%INIT>
+my @display = qw(DependsOn DependedOnBy MemberOf Members RefersTo ReferredToBy);
+$m->callback( %ARGS, CallbackName => 'ChangeDisplay', display => \@display );
+my %labels = (
+ DependsOn => loc('Depends on'),
+ DependedOnBy => loc('Depended on by'),
+ MemberOf => loc('Parents'),
+ Members => loc('Children'),
+ RefersTo => loc('Refers to'),
+ ReferredToBy => loc('Referred to by'),
+);
+my %clone;
-my $id = $Ticket->id;
+if ( $Object->isa("RT::Ticket")
+ and $Object->QueueObj->CurrentUserHasRight('CreateTicket'))
+{
+ my $id = $Object->id;
+ my $path
+ = RT->Config->Get('WebPath')
+ . '/Ticket/Create.html?Queue='
+ . $Object->Queue
+ . '&CloneTicket='
+ . $id;
-my $clone = {};
-my $path
- = RT->Config->Get('WebPath')
- . '/Ticket/Create.html?Queue='
- . $Ticket->Queue
- . '&CloneTicket='
- . $id;
-my $can_create = $Ticket->QueueObj->CurrentUserHasRight('CreateTicket');
+ for my $relation (@display) {
+ my $mode = $RT::Link::TYPEMAP{$relation}->{Mode};
+ my $type = $RT::Link::TYPEMAP{$relation}->{Type};
+ my $field = $mode eq 'Base' ? 'new-' . $type : $type . '-new';
+ my @copy = ($id);
-for my $relation (
- qw(RefersTo ReferredToBy)) {
- my $mode = $RT::Ticket::LINKTYPEMAP{$relation}->{Mode};
- my $type = $RT::Ticket::LINKTYPEMAP{$relation}->{Type};
- my $other = "Local" . $mode;
- my $field = $mode eq 'Base' ? 'new-' . $type : $type . '-new';
- $clone->{$field}
- = $path . "&$field="
- . join( '%20',
- ( map { $_->$other() } @{ $Ticket->$relation->ItemsArrayRef } ), $id );
-}
+ # Canonicalized type captures both directions
+ if ($type eq "RefersTo") {
+ my $other = "Local" . $mode;
+ push @copy, map { $_->$other() } @{ $Object->$relation->ItemsArrayRef };
+ }
-for my $relation ( qw(MemberOf Members DependsOn DependedOnBy)) {
- my $mode = $RT::Ticket::LINKTYPEMAP{$relation}->{Mode};
- my $type = $RT::Ticket::LINKTYPEMAP{$relation}->{Type};
- my $field = $mode eq 'Base' ? 'new-' . $type : $type . '-new';
- $clone->{$field} = $path . "&$field=$id";
+ $clone{$relation} = "$path&$field=" . join('%20', grep { $_ } @copy);
+ }
}
-
</%INIT>
<%ARGS>
-$Ticket => undef
+$Object
</%ARGS>
diff --git a/rt/share/html/Elements/ShowLinksOfType b/rt/share/html/Elements/ShowLinksOfType
new file mode 100644
index 0000000..1bb485e
--- /dev/null
+++ b/rt/share/html/Elements/ShowLinksOfType
@@ -0,0 +1,127 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<ul>
+% for my $link (@not_tickets, @active, @inactive) {
+<li><& ShowLink, URI => $link->$ModeURI &>
+<%perl>
+ next unless $Recurse;
+
+ my $ToObj = $link->$ModeObj;
+ next if $ToObj and $checked->{$ToObj->id};
+
+ if ($depth <= $MaxDepth) {
+</%perl>
+<& ShowLinksOfType, %ARGS, Object => $ToObj, depth => ($depth + 1), checked => $checked &>
+% }
+</li>
+% }
+</ul>
+<%INIT>
+return unless $Object;
+
+unless ($RT::Link::TYPEMAP{$Type}) {
+ RT->Logger->error("Unknown link Type '$ARGS{Type}'");
+ return;
+}
+
+unless ($Object->can($Type)) {
+ RT->Logger->error("Don't know how to fetch links of '$Type' for object '$Object'");
+ return;
+}
+
+my $links = $Object->$Type;
+return unless $links->Count;
+
+return if $checked->{$Object->id};
+
+$checked->{$Object->id} = 1;
+
+my $mode = $RT::Link::TYPEMAP{$Type}->{'Mode'};
+my $ModeURI = "${mode}URI";
+my $ModeObj = "${mode}Obj";
+
+# Filter and bucket
+my (@active, @inactive, @not_tickets);
+while (my $link = $links->Next) {
+ my $ToObj = $link->$ModeObj;
+ if ($ToObj and $ToObj->isa('RT::Ticket')) {
+ next if $Type eq "ReferredToBy"
+ and $ToObj->Type eq 'reminder';
+
+ if ( $ToObj->QueueObj->IsInactiveStatus( $ToObj->Status ) ) {
+ push @inactive, $link;
+ }
+ else {
+ push @active, $link;
+ }
+ }
+ else {
+ push @not_tickets, $link;
+ }
+}
+
+$m->callback(
+ CallbackName => "Init",
+ ARGSRef => \%ARGS,
+ Object => $Object,
+ $Type => $Type,
+ $Recurse => \$Recurse,
+ $MaxDepth => \$MaxDepth,
+ active => \@active,
+ inactive => \@inactive,
+ not_tickets => \@not_tickets,
+);
+</%INIT>
+<%ARGS>
+$Object => undef
+$Type
+$Recurse => 0
+$MaxDepth => 7
+$depth => 1
+$checked => {}
+</%ARGS>
diff --git a/rt/share/html/Elements/ShowMemberships b/rt/share/html/Elements/ShowMemberships
index 453beea..7633d68 100644
--- a/rt/share/html/Elements/ShowMemberships
+++ b/rt/share/html/Elements/ShowMemberships
@@ -52,7 +52,7 @@
% if ($Group->Domain eq 'UserDefined') {
<li><a href="<%RT->Config->Get('WebPath')%>/Admin/Groups/Modify.html?id=<% $Group->Id %>"><% $Group->Name %></a></li>
% } elsif ($Group->Domain eq 'SystemInternal') {
-<li><em><% loc($Group->Type) %></em></li>
+<li><em><% loc($Group->Name) %></em></li>
% }
% }
</ul>
@@ -71,12 +71,14 @@ $GroupMembers->Limit(
FIELD => 'Domain',
OPERATOR => '=',
VALUE => 'SystemInternal',
+ CASESENSITIVE => 0,
);
$GroupMembers->Limit(
ALIAS => $alias,
FIELD => 'Domain',
OPERATOR => '=',
VALUE => 'UserDefined',
+ CASESENSITIVE => 0,
);
$GroupMembers->OrderByCols(
{ ALIAS => $alias, FIELD => 'Domain' },
diff --git a/rt/share/html/Ticket/Elements/ShowMessageHeaders b/rt/share/html/Elements/ShowMessageHeaders
index 225218d..27c67bd 100755..100644
--- a/rt/share/html/Ticket/Elements/ShowMessageHeaders
+++ b/rt/share/html/Elements/ShowMessageHeaders
@@ -50,10 +50,12 @@
% foreach my $header (@headers) {
<tr>
<td align="right" class="message-header-key"><% $header->{'Tag'} %>:</td>
- <td class="message-header-value"><% $header->{'Value'} | n %></td>
+ <td class="message-header-value <% join(' ', map {CSSClass($_)} @{$header->{Classes} || []}) %>">
+ <% $header->{'Value'} | n %></td>
</tr>
% }
</table>
+% $m->callback( CallbackName => 'AfterHeaders', message => $Message );
% }
<%INIT>
my @headers;
@@ -75,11 +77,13 @@ unless ( $display_headers{'_all'} ) {
@headers = grep $display_headers{ lc $_->{'Tag'} }, @headers;
}
-my $ticket = $Message->TransactionObj->TicketObj;
+my $object = $Message->TransactionObj->Object;
foreach my $f (@headers) {
- $m->comp('/Elements/MakeClicky', content => \$f->{'Value'}, ticket => $ticket, %ARGS);
+ $m->comp('/Elements/MakeClicky', content => \$f->{'Value'}, object => $object, %ARGS);
}
+unshift @headers, $m->comp( 'CryptStatus', Message => $Message, WarnUnsigned => $WarnUnsigned );
+
$m->callback(
CallbackName => 'BeforeLocalization',
headers => \@headers,
@@ -90,6 +94,7 @@ if ( $Localize ) {
}
</%INIT>
<%ARGS>
+$WarnUnsigned => 0
$Message => undef
$Localize => 1
@DisplayHeaders => ('_all')
diff --git a/rt/share/html/Ticket/Elements/ShowMessageStanza b/rt/share/html/Elements/ShowMessageStanza
index 99f80c5..f98cb3a 100755..100644
--- a/rt/share/html/Ticket/Elements/ShowMessageStanza
+++ b/rt/share/html/Elements/ShowMessageStanza
@@ -46,13 +46,11 @@
%#
%# END BPS TAGGED BLOCK }}}
<%INIT>
-my $plain_text_pre
- = RT->Config->Get( 'PlainTextPre', $session{'CurrentUser'} );
my $plain_text_mono
= RT->Config->Get( 'PlainTextMono', $session{'CurrentUser'} );
my $Depth = 0;
-my $ticket = $Transaction ? $Transaction->TicketObj : undef;
+my $object = $Transaction ? $Transaction->Object : undef;
my $print_content = sub {
my $ref = shift;
@@ -62,11 +60,11 @@ my $print_content = sub {
if ( $ContentType eq 'text/plain' ) {
$m->comp( '/Elements/MakeClicky',
content => $ref,
- ticket => $ticket,
+ object => $object,
%ARGS
);
- if ( defined $$ref && !$plain_text_pre && !$plain_text_mono ) {
+ if ( defined $$ref && !$plain_text_mono ) {
$$ref =~ s{(\r?\n)}{<br />}g;
}
} else {
@@ -77,11 +75,6 @@ my $print_content = sub {
$m->out($$ref);
};
-$m->out('<pre>')
- if ( $ContentType eq 'text/plain'
- && $plain_text_pre
- && !$Depth
- && !$plain_text_mono );
$m->out( '<div class="message-stanza'
. ( ($ContentType eq 'text/plain' && $plain_text_mono) ? ' plain-text-white-space' : '' ) . '"'
. '>' );
@@ -175,11 +168,6 @@ AGAIN: foreach ( ; $i < @$Message; $i++ ) {
}
$m->out('</div>');
-$m->out('</pre>')
- if ( $ContentType eq 'text/plain'
- && $plain_text_pre
- && !$Depth
- && !$plain_text_mono );
</%INIT>
<%ARGS>
$Message => undef
diff --git a/rt/share/html/Elements/ShowUserVerbose b/rt/share/html/Elements/ShowPrincipal
index fd26007..81c8e62 100644
--- a/rt/share/html/Elements/ShowUserVerbose
+++ b/rt/share/html/Elements/ShowPrincipal
@@ -46,27 +46,27 @@
%#
%# END BPS TAGGED BLOCK }}}
%# Released under the terms of version 2 of the GNU Public License
-<% $display |n %>\
-<%INIT>
-my $phrase = '';
-my $address = '';
-my $comment = '';
+<%args>
+$Object
+$PostUser => undef
+$Separator => ", "
+$Link => 1
+</%args>
+<%init>
+if ($Object->isa("RT::Group")) {
+ # Link the users (non-recursively)
+ my @ret = map {$m->scomp("ShowPrincipal", Object => $_->[1], PostUser => $PostUser, Link => $Link)}
+ sort {$a->[0] cmp $b->[0]}
+ map {+[($_->EmailAddress||''), $_]}
+ @{ $Object->UserMembersObj( Recursively => 0 )->ItemsArrayRef };
-if ($User) {
- $address = $User->EmailAddress;
- $phrase = $User->RealName
- if $User->RealName && ( !$address || lc $User->RealName ne lc $address );
- $comment = $User->Name if !$address || lc $User->Name ne lc $address;
+ # But don't link the groups
+ push @ret, sort map {$m->interp->apply_escapes( loc("Group: [_1]", $_->Name), 'h' )}
+ @{ $Object->GroupMembersObj( Recursively => 0)->ItemsArrayRef };
+
+ $m->out( join($Separator, @ret) );
} else {
- $address = $Address;
+ $m->comp("/Elements/ShowUser", User => $Object, Link => $Link);
+ $m->out( $PostUser->($Object) ) if $PostUser;
}
-
-my $display = ($phrase || $comment || '' ) . ($address ? ' <'.$address.'>' : '');
-
-$display = $m->interp->apply_escapes( $display, 'h' )
- unless $ARGS{'NoEscape'};
-</%INIT>
-<%ARGS>
-$User => undef
-$Address => undef
-</%ARGS>
+</%init>
diff --git a/rt/share/html/NoAuth/js/titlebox-state.js b/rt/share/html/Elements/ShowRecord
index 1156b4e..3acff13 100644
--- a/rt/share/html/NoAuth/js/titlebox-state.js
+++ b/rt/share/html/Elements/ShowRecord
@@ -45,39 +45,56 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-function createCookie(name,value,days) {
- var path = <%RT->Config->Get('WebPath')|n,j%> ? <%RT->Config->Get('WebPath')|n,j%> : "/";
+<%args>
+$Object
+$Format
+$TrustFormat => 0
+$Class => ""
+</%args>
+<%init>
+$Format = ScrubHTML($Format) unless $TrustFormat;
- if (days) {
- var date = new Date();
- date.setTime(date.getTime()+(days*24*60*60*1000));
- var expires = "; expires="+date.toGMTString();
- }
- else
- expires = "";
-
- document.cookie = name+"="+value+expires+"; path="+path;
-}
+my @columns = $m->comp('/Elements/CollectionAsTable/ParseFormat', Format => $Format);
-function loadTitleBoxStates() {
- var cookies = document.cookie.split(/;\s*/);
- var len = cookies.length;
+my $fetch_columnmap = sub {
+ my ($name, $attr, $arguments, $no_escape) = @_;
+ my $tmp = $m->comp(
+ '/Elements/ColumnMap',
+ Class => $Object->ColumnMapClassName,
+ Name => $name,
+ Attr => $attr,
+ );
+ return ProcessColumnMapValue( $tmp, Arguments => $arguments, Escape => !$no_escape );
+};
+</%init>
+<div class="record <% CSSClass($Class) %> <% CSSClass(blessed($Object)) %>">
+<%perl>
+for my $column (@columns) {
+ my $title = $m->interp->apply_escapes($column->{title} || '', 'h');
+ my $attr = $column->{'attribute'} || $column->{'last_attribute'};
- for (var i = 0; i < len; i++) {
- var c = cookies[i].split('=');
-
- if (c[0].match(/^TitleBox--/)) {
- var e = document.getElementById(c[0]);
- if (e) {
- var e2 = e.parentNode;
-
- if (c[1] != 0) {
- set_rollup_state(e,e2,'shown');
- }
- else {
- set_rollup_state(e,e2,'hidden');
- }
- }
+ unless (defined $column->{title}) {
+ # No format-supplied title, so use the one from the column map as-is. It's
+ # trustworthy.
+ $title = $fetch_columnmap->($attr,'title',[$attr]);
+ }
+</%perl>
+<div class="record-field <% $Class ? CSSClass("$Class-field") : "" %> <% CSSClass($fetch_columnmap->($attr,'attribute',[$attr],'no_escape')) %>">
+<span class="label"><% loc($title) |n %></span>
+<%perl>
+ my @out;
+ foreach my $subcol ( @{ $column->{output} } ) {
+ my ($col) = ($subcol =~ /^__(.*?)__$/);
+ unless ( $col ) {
+ push @out, $subcol;
+ next;
}
+ push @out, $fetch_columnmap->($col, 'value', [$Object]);
}
-}
+ @out = grep { defined $_ and length $_ } @out;
+</%perl>
+<span class="value"><% join('',@out) |n %></span>
+% $m->callback(CallbackName => 'AfterValue', Object => $Object, attribute => $attr, column => $column );
+</div>
+% }
+</div>
diff --git a/rt/share/html/Elements/ShowRelationLabel b/rt/share/html/Elements/ShowRelationLabel
index 92d8fec..e1c684f 100644
--- a/rt/share/html/Elements/ShowRelationLabel
+++ b/rt/share/html/Elements/ShowRelationLabel
@@ -45,18 +45,36 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<a href="<%$SearchURL |n %>"><%$Label%></a>
+% if ($SearchURL) {
+<a href="<% $SearchURL %>"><% $Label %></a>
+% } else {
+<% $Label %>
+% }
<%INIT>
-my $typemap = RT::Ticket->LINKTYPEMAP->{$Relation};
+my $typemap = $RT::Link::TYPEMAP{$Relation};
my $search_mode = $typemap->{Mode};
my $search_type = $typemap->{Type};
-my $search_relation = RT::Ticket->LINKDIRMAP->{$search_type}{$search_mode};
+my $search_relation = $RT::Link::DIRMAP{$search_type}->{$search_mode};
+my $SearchURL;
-my $Query = $search_relation . ' = ' . $id;
-my $SearchURL = RT->Config->Get('WebPath') . '/Search/Results.html?' . $m->comp('/Elements/QueryString', Query => $Query);
+if ($Object and $Object->id) {
+ my $id = $Object->id;
+
+ if ($Object->isa("RT::Ticket")) {
+ $SearchURL = RT->Config->Get('WebPath')
+ . '/Search/Results.html?'
+ . $m->comp('/Elements/QueryString', Query => "$search_relation = $id");
+ }
+}
+
+$m->callback(
+ CallbackName => "ModifySearchURL",
+ SearchURL => \$SearchURL,
+ ARGSRef => \%ARGS,
+);
</%INIT>
<%ARGS>
-$id
+$Object => undef
$Label
$Relation
</%ARGS>
diff --git a/rt/share/html/Elements/ShowReminders b/rt/share/html/Elements/ShowReminders
index 6b5ad39..61d8040 100644
--- a/rt/share/html/Elements/ShowReminders
+++ b/rt/share/html/Elements/ShowReminders
@@ -57,7 +57,7 @@ my $i =0;
while ( my $reminder = $reminders->Next ) {
$i++;
my $dueobj = $reminder->DueObj;
-my $overdue = $dueobj->Unix > 0 && $dueobj->Diff < 0 ? 1 : 0;
+my $overdue = $dueobj->IsSet && $dueobj->Diff < 0 ? 1 : 0;
my $targets = RT::Tickets->new($session{'CurrentUser'});
$targets->{'allow_deleted_search'} = 1;
@@ -67,7 +67,7 @@ if ( my $ticket= $targets->First ) {
</%PERL>
<tr class="<% $i%2 ? 'oddline' : 'evenline' %>">
<td class="collection-as-table">
-<a href="<% RT->Config->Get('WebPath') %>/Ticket/Reminders.html?id=<% $ticket->id %>"><% $reminder->Subject %></a>
+<a href="<% RT->Config->Get('WebPath') %>/Ticket/Reminders.html?id=<% $ticket->id %>#reminder-<% $reminder->id %>"><% $reminder->Subject %></a>
</td>
<td class="collection-as-table">
<% $overdue ? '<span class="overdue">' : '' |n %><% $dueobj->AgeAsString || loc('Not set') %><% $overdue ? '</span>' : '' |n %>
@@ -76,7 +76,7 @@ if ( my $ticket= $targets->First ) {
<a href="<% RT->Config->Get( 'WebPath' ) %>/Ticket/Display.html?id=<% $ticket->id %>">#<% $ticket->Id %>: <% $ticket->Subject %></a>
</td>
% } else {
-<td colspan="3" class="collection-as-table>
+<td colspan="3" class="collection-as-table">
<div class="error"><div class="error">Couldn't find Ticket for reminder <% $reminder->id %>. Please contact administrator.</div></div>
</td>
% }
@@ -91,7 +91,7 @@ my $tsql = 'Type = "reminder"' .
' AND ( Owner = "Nobody" OR Owner ="' . $session{'CurrentUser'}->id . '")' .
' AND ( Status = "new" OR Status = "open" )';
-$tsql .= ' AND Due < "now"' if $OnlyOverdue;
+$tsql .= ' AND ( Due < "now" OR Due IS NULL )' if $OnlyOverdue;
$reminders->FromSQL($tsql);
$reminders->OrderBy( FIELD => 'Due', ORDER => 'ASC' );
diff --git a/rt/share/html/Elements/ShowSearch b/rt/share/html/Elements/ShowSearch
index 20ce55b..b53238f 100644
--- a/rt/share/html/Elements/ShowSearch
+++ b/rt/share/html/Elements/ShowSearch
@@ -67,9 +67,10 @@ if ($SavedSearch) {
$m->out(loc("Either you have no rights to view saved search [_1] or identifier is incorrect", $m->interp->apply_escapes($SavedSearch, 'h')));
return;
}
- $search = $container_object->Attributes->WithId($search_id);
+ $search = RT::Attribute->new( $session{'CurrentUser'} );
+ $search->Load($search_id);
unless ( $search->Id && ref( $SearchArg = $search->Content ) eq 'HASH' ) {
- $m->out(loc("Saved Search [_1] not found", $m->interp->apply_escapes($SavedSearch, 'h'))) unless $IgnoreMissing;
+ $m->out(loc("Saved search [_1] not found", $m->interp->apply_escapes($SavedSearch, 'h'))) unless $IgnoreMissing;
return;
}
$SearchArg->{'SavedSearchId'} ||= $SavedSearch;
@@ -122,17 +123,21 @@ foreach ( $SearchArg, $ProcessedSearchArg ) {
$_->{'Format'} ||= '';
$_->{'Query'} ||= '';
- $_->{'Format'} =~ s/__(Web(?:Path|Base|BaseURL))__/scalar RT->Config->Get($1)/ge;
# extract-message-catalog would "$1", so we avoid quotes for loc calls
$_->{'Format'} =~ s/__loc\(["']?(\w+)["']?\)__/my $f = "$1"; loc($f)/ge;
if ( $_->{'Query'} =~ /__Bookmarks__/ ) {
$_->{'Rows'} = 999;
- # DEPRECATED: will be here for a while up to 3.10/4.0
- my $bookmarks = $session{'CurrentUser'}->UserObj->FirstAttribute('Bookmarks');
- $bookmarks = $bookmarks->Content if $bookmarks;
- $bookmarks ||= {};
- my $query = join(" OR ", map " id = '$_' ", grep $bookmarks->{ $_ }, keys %$bookmarks ) || 'id=0';
+ # DEPRECATED: will be here for a while up to 4.4
+ RT->Deprecated(
+ Remove => "4.4",
+ Instead => "id = '__Bookmarked__'",
+ Message => "The __Bookmarks__ query syntax is deprecated",
+ Object => $search,
+ );
+
+ my @bookmarks = $session{'CurrentUser'}->UserObj->Bookmarks;
+ my $query = join(" OR ", map " id = '$_' ", @bookmarks ) || 'id=0';
$_->{'Query'} =~ s/__Bookmarks__/( $query )/g;
}
}
diff --git a/rt/share/html/Elements/ShowTransaction b/rt/share/html/Elements/ShowTransaction
new file mode 100644
index 0000000..1018ec6
--- /dev/null
+++ b/rt/share/html/Elements/ShowTransaction
@@ -0,0 +1,265 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<div class="<% join ' ', @classes %>">
+ <div class="metadata">
+ <span class="type">
+ <a name="txn-<% $Transaction->id %>" \
+% if ( $DisplayPath ) {
+ href="<% $DisplayPath %>?id=<% $Object->id %>#txn-<% $Transaction->id %>" \
+% }
+ >#</a>
+ </span>
+% $m->callback( %ARGS, Transaction => $Transaction, CallbackName => 'AfterAnchor' );
+ <span class="date"><% $date |n %></span>
+ <span class="description">
+ <& /Elements/ShowUser, User => $Transaction->CreatorObj &> - <% $desc |n %>
+% $m->callback( %ARGS, Transaction => $Transaction, CallbackName => 'AfterDescription' );
+ </span>
+ <span class="time-taken"><% $time %></span>
+% if ( $actions ) {
+ <span class="actions"><% $actions |n %></span>
+% }
+ </div>
+
+ <div class="content">
+<%PERL>
+$m->comp('/Elements/ShowCustomFields', Object => $Transaction, HideEmpty => 1 ) if $HasTxnCFs;
+$m->comp(
+ 'ShowTransactionAttachments',
+ %ARGS,
+ Parent => 0
+) if $ShowBody;
+</%PERL>
+ </div>
+% $m->callback( %ARGS, Transaction => $Transaction, CallbackName => 'AfterContent' );
+</div>
+
+<%ARGS>
+$Transaction
+$Object => $Transaction->Object
+
+$Attachments => undef
+$AttachmentContent => undef
+$HasTxnCFs => 1
+
+$ShowBody => 1
+$ShowActions => 1
+$RowNum => 1
+
+$DisplayPath => undef
+$AttachmentPath => undef
+$UpdatePath => undef
+$ForwardPath => undef
+$EncryptionPath => undef
+$EmailRecordPath => undef
+</%ARGS>
+
+<%ONCE>
+
+</%ONCE>
+<%INIT>
+my $record_type = $Object->RecordType;
+my $type_class = $Object->ClassifyTransaction( $Transaction );
+
+$m->callback(
+ CallbackName => 'MassageTypeClass',
+ Transaction => $Transaction,
+ TypeClassRef => \$type_class,
+ ARGSRef => \%ARGS,
+);
+
+my @classes = (
+ "transaction",
+ "$record_type-transaction",
+ $type_class,
+ ($RowNum % 2 ? 'odd' : 'even')
+);
+
+my $desc = $Transaction->BriefDescriptionAsHTML;
+if ( $Object->id != $Transaction->ObjectId ) {
+ # merged objects
+ $desc = join " - ",
+ $m->interp->apply_escapes(
+ loc("[_1] #[_2]:", loc($record_type), $Transaction->ObjectId), 'h'),
+ $desc;
+}
+
+my $date = $Transaction->CreatedAsString;
+
+my $time = '';
+$time = loc('[quant,_1,minute,minutes]', $Transaction->TimeTaken)
+ if $Transaction->TimeTaken;
+
+if ( $ShowBody && !$Attachments ) {
+ $ARGS{'Attachments'} = $Attachments = {};
+
+ my $attachments = $Transaction->Attachments( WithHeaders => 1 );
+ push @{ $Attachments->{ $_->Parent || 0 } ||= [] }, $_
+ foreach @{ $attachments->ItemsArrayRef };
+}
+
+my @actions = ();
+my $txn_type = $Transaction->Type;
+if ( $txn_type =~ /EmailRecord$/ ) {
+ push @actions, {
+ title => loc('Show'),
+ target => '_blank',
+ path => $EmailRecordPath
+ .'?id='. $Object->id
+ .'&Transaction='. $Transaction->id
+ .'&Attachment='. ( $Attachments->{0}[0] && $Attachments->{0}[0]->id ),
+ } if $EmailRecordPath;
+
+ $ShowBody = 0;
+}
+
+# If the transaction has anything attached to it at all
+elsif ( %$Attachments && $ShowActions ) {
+ my %has_right = map {
+ $_ => RT::ACE->CanonicalizeRightName( $_ . $record_type )
+ } qw(Modify CommentOn ReplyTo);
+ $has_right{'Forward'} = RT::ACE->CanonicalizeRightName('ForwardMessage');
+
+ my $can_modify = $has_right{'Modify'}
+ && $Object->CurrentUserHasRight( $has_right{'Modify'} );
+
+ if ( $UpdatePath && $has_right{'ReplyTo'}
+ && ( $can_modify
+ || $Object->CurrentUserHasRight( $has_right{'ReplyTo'} )
+ )
+ ) {
+ push @actions, {
+ class => "reply-link",
+ title => loc('Reply'),
+ path => $UpdatePath
+ .'?id='. $Object->id
+ .'&QuoteTransaction='. $Transaction->id
+ .'&Action=Respond'
+ ,
+ };
+ }
+ if ( $UpdatePath && $has_right{'CommentOn'}
+ && ( $can_modify
+ || $Object->CurrentUserHasRight( $has_right{'CommentOn'} )
+ )
+ ) {
+ push @actions, {
+ class => "comment-link",
+ title => loc('Comment'),
+ path => $UpdatePath
+ .'?id='. $Object->id
+ .'&QuoteTransaction='. $Transaction->id
+ .'&Action=Comment'
+ ,
+ };
+ }
+ if ( $ForwardPath && $has_right{'Forward'}
+ && $Object->CurrentUserHasRight( $has_right{'Forward'} )
+ ) {
+ push @actions, {
+ class => "forward-link",
+ title => loc('Forward'),
+ path => $ForwardPath
+ .'?id='. $Object->id
+ .'&QuoteTransaction='. $Transaction->id
+ ,
+ };
+ }
+ if ( $EncryptionPath && $can_modify
+ && RT->Config->Get('Crypt')->{'Enable'}
+ && RT->Config->Get('Crypt')->{'AllowEncryptDataInDB'}
+ ) {
+ push @actions, {
+ class => "encryption-link",
+ title => loc('Encrypt/Decrypt'),
+ path => $EncryptionPath
+ .'?id='. $Transaction->id
+ .'&QuoteTransaction='. $Transaction->id
+ ,
+ };
+ }
+}
+
+$m->callback(
+ %ARGS,
+ Transaction => $Transaction,
+ Object => $Object,
+
+ Classes => \@classes,
+ Actions => \@actions,
+ Created => \$date,
+ TimeTaken => \$time,
+ Description => \$desc,
+ ShowBody => \$ShowBody,
+);
+
+my $actions = '';
+if ( @actions ) {
+ my $i = $m->interp;
+
+ foreach my $a ( @actions ) {
+ $a = '<a'
+ .' href="'. $i->apply_escapes( $a->{'path'}, 'h' ) .'"'
+ . ($a->{'target'}
+ ? ' target="'. $i->apply_escapes( $a->{'target'}, 'h' ) .'"'
+ : ''
+ )
+ . ($a->{'class'}
+ ? ' class="'. $i->apply_escapes( $a->{'class'}, 'h' ) .'"'
+ : ''
+ )
+ .'>'. $i->apply_escapes( $a->{'title'}, 'h' ) .'</a>'
+ ;
+ }
+ $actions = join '&nbsp;', map "[$_]", @actions;
+}
+
+# make date unbreakable
+$date = $m->interp->apply_escapes( $date, 'h' );
+$date =~ s/\s/&nbsp;/g;
+</%INIT>
diff --git a/rt/share/html/Ticket/Elements/ShowTransactionAttachments b/rt/share/html/Elements/ShowTransactionAttachments
index 477a81a..7aeded6 100644
--- a/rt/share/html/Ticket/Elements/ShowTransactionAttachments
+++ b/rt/share/html/Elements/ShowTransactionAttachments
@@ -48,33 +48,28 @@
<%PERL>
# Find all the attachments which have parent $Parent
# For each of these attachments
-foreach my $message ( grep $_->__Value('Parent') == $Parent, @$Attachments ) {
-
- if (RT->Config->Get('GnuPG')->{'Enable'}) {
- $m->comp( 'ShowGnuPGStatus', Attachment => $message, WarnUnsigned => $WarnUnsigned );
- }
-
+foreach my $message ( @{ $Attachments->{ $Parent || 0 } || [] } ) {
$m->comp( 'ShowMessageHeaders',
+ WarnUnsigned => $WarnUnsigned,
Message => $message,
DisplayHeaders => \@DisplayHeaders,
);
- my $size = $message->ContentLength;
my $name = defined $message->Filename && length $message->Filename ? $message->Filename : '';
- if ( $size ) {
+ if ( $message->ContentLength or $name ) {
</%PERL>
<div class="downloadattachment">
-<a href="<% $AttachPath %>/<% $Transaction->Id %>/<% $message->Id %>/<% $name | u%>"><&|/l&>Download</&> <% length $name ? $name : loc('(untitled)') %></a>\
+<a href="<% $AttachmentPath %>/<% $Transaction->Id %>/<% $message->Id %>/<% $name | u%>"><&|/l&>Download</&> <% length $name ? $name : loc('(untitled)') %></a>\
% if ( $DownloadableHeaders && ! length $name && $message->ContentType =~ /text/ ) {
- / <a href="<% $AttachPath %>/WithHeaders/<% $message->Id %>"><% loc('with headers') %></a>
+ / <a href="<% $AttachmentPath %>/WithHeaders/<% $message->Id %>"><% loc('with headers') %></a>
% }
-% $m->callback(CallbackName => 'AfterDownloadLinks', ARGSRef => \%ARGS, Ticket => $Ticket, Transaction => $Transaction, Attachment => $message);
+% $m->callback(CallbackName => 'AfterDownloadLinks', ARGSRef => \%ARGS, Object => $Object, Transaction => $Transaction, Attachment => $message);
<br />
-<span class="downloadcontenttype"><% $message->ContentType %> <% $size_to_str->( $size ) %></span>
+<span class="downloadcontenttype"><% $message->ContentType %> <% $message->FriendlyContentLength %></span>
</div>
% }
%# If there is sub-messages, open a dedicated div
-% if ( scalar ( grep $_->__Value('Parent') == $message->id, @$Attachments ) ) {
+% if ( $Attachments->{ $message->id } ) {
<div class="messageattachments">
% } else {
<div class="messagebody">
@@ -87,29 +82,28 @@ $m->comp(
$m->current_comp,
%ARGS,
Parent => $message->id,
- ParentObj => $message
+ ParentObj => $message,
+
+ displayed_inline => $displayed_inline,
);
</%PERL>
</div>
% }
<%ARGS>
-$Ticket => undef
-$Transaction => undef
+$Transaction
+$Object => $Transaction->Object
$ShowHeaders => 0
-$Collapsed => undef
$DownloadableHeaders => 1
-$ShowTitleBarCommands => 1
-$RowNum => 1
-$AttachPath => RT->Config->Get('WebPath')."/Ticket/Attachment"
-$UpdatePath => RT->Config->Get('WebPath')."/Ticket/Update.html"
-$EmailRecordPath => RT->Config->Get('WebPath')."/Ticket/ShowEmailRecord.html"
-$Attachments => undef
+$AttachmentPath => undef
+$Attachments => {}
$AttachmentContent => {}
-$ShowBody => 1
$Parent => 0
$ParentObj => undef
$WarnUnsigned => 0
+
+# Keep track of CID images we display inline
+$displayed_inline => {}
</%ARGS>
<%INIT>
my @DisplayHeaders=qw(_all);
@@ -123,22 +117,7 @@ elsif (!$ShowHeaders) {
push @DisplayHeaders, 'RT-Send-Bcc' if RT->Config->Get('ShowBccHeader');
}
-$m->callback(CallbackName => 'MassageDisplayHeaders', DisplayHeaders => \@DisplayHeaders, Transaction => $Transaction);
-
-my $size_to_str = sub {
- my $size = shift;
- # show a download link
- if ( $size > 1024*1024 ) {
- $size = loc( "[_1]m", int( $size / 1024 / 102.4 ) / 10 );
- }
- elsif ( $size > 1024 ) {
- $size = loc( "[_1]k", int( $size / 102.4 ) / 10 );
- }
- else {
- $size = loc( "[_1]b", $size );
- }
- return $size;
-};
+$m->callback(CallbackName => 'MassageDisplayHeaders', DisplayHeaders => \@DisplayHeaders, Transaction => $Transaction, ShowHeaders => $ShowHeaders);
my $render_attachment = sub {
my $message = shift;
@@ -182,10 +161,10 @@ my $render_attachment = sub {
# or it's of our prefered alterative type
|| (
(
- RT->Config->Get('PreferRichText')
+ RT->Config->Get('PreferRichText', $session{CurrentUser})
&& ( $content_type =~ m{^text/(?:html|enriched)$} )
)
- || ( !RT->Config->Get('PreferRichText')
+ || ( !RT->Config->Get('PreferRichText', $session{CurrentUser})
&& ( $content_type !~ m{^text/(?:html|enriched)$} )
)
)
@@ -209,14 +188,27 @@ my $render_attachment = sub {
if ( $content_type eq 'text/html' ) {
$content = $m->comp( '/Elements/ScrubHTML', Content => $content );
+ if (RT->Config->Get('ShowTransactionImages')) {
+ my @rewritten = RT::Interface::Web::RewriteInlineImages(
+ Content => \$content,
+ Attachment => $message,
+ # Not technically correct to search all parts of the
+ # MIME structure, but it saves having to go to the
+ # database again and is unlikely to break display.
+ Related => [ map { @$_ } values %$Attachments ],
+ AttachmentPath => $AttachmentPath,
+ );
+ $displayed_inline->{$_}++ for @rewritten;
+ }
+
$m->comp(
'/Elements/MakeClicky',
content => \$content,
html => 1,
- ticket => $Ticket,
+ object => $Object,
);
- unless (length $name) {
+ if ( !length $name && RT->Config->Get( 'QuoteFolding', $session{CurrentUser} ) ) {
eval {
require HTML::Quoted;
$content = HTML::Quoted->extract($content)
@@ -243,12 +235,10 @@ my $render_attachment = sub {
# It's a text type we don't have special handling for
else {
- unless ( length $name ) {
+ if ( !length $name && RT->Config->Get( 'QuoteFolding', $session{CurrentUser} ) ) {
eval {
require Text::Quoted;
- # XXX: Deprecate ->can check in 4.2 and simply bump version requirement.
- Text::Quoted::set_quote_characters(undef) # only use >
- if Text::Quoted->can("set_quote_characters");
+ Text::Quoted::set_quote_characters(undef);
$content = Text::Quoted::extract($content);
};
if ($@) {
@@ -269,26 +259,28 @@ my $render_attachment = sub {
}
# if it's an image, show it as an image
- elsif ( RT->Config->Get('ShowTransactionImages') and $content_type =~ m{^image/} ) {
- if ( $disposition ne 'inline' ) {
- $m->out('<p>'. loc( 'Message body is not shown because sender requested not to inline it.' ) .'</p>');
+ elsif ( $content_type =~ m{^image/} ) {
+ if (not RT->Config->Get('ShowTransactionImages')) {
+ $m->out('<p><i>'. loc( 'Image not shown because display is disabled in system configuration.' ) .'</i></p>');
+ return;
+ }
+ elsif ( $displayed_inline->{$message->Id} ) {
+ $m->out('<p><i>'. loc( 'Image displayed inline above' ) .'</i></p>');
+ return;
+ }
+ elsif ( $disposition ne 'inline' ) {
+ $m->out('<p>'. loc( 'Image not shown because sender requested not to inline it.' ) .'</p>');
return;
}
- my $filename = length $name ? $name : loc('(untitled)');
+ my $filename = length $name ? $name : loc('(untitled)');
my $efilename = $m->interp->apply_escapes( $filename, 'h' );
- $m->out('<img'
- . ' alt="'
- . $efilename
- . '"'
- . ' title="'
- . $efilename
- . '"'
- . ' src="'
- . $AttachPath . '/'
- . $Transaction->Id . '/'
- . $message->Id
- . '/" />' );
+ $m->out(
+ qq{<img alt="$efilename" title="$efilename"}
+ . ' src="'. $AttachmentPath .'/'. $Transaction->Id .'/'. $message->Id .'/'
+ . $m->interp->apply_escapes( $filename, 'u', 'h' )
+ . '" />'
+ );
}
elsif ( $message->ContentLength && $message->ContentLength > 0 ) {
$m->out( '<p>' .
diff --git a/rt/share/html/Elements/ShowUser b/rt/share/html/Elements/ShowUser
index c58d33b..dd487a8 100644
--- a/rt/share/html/Elements/ShowUser
+++ b/rt/share/html/Elements/ShowUser
@@ -45,28 +45,51 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-%# Released under the terms of version 2 of the GNU Public License
<%INIT>
# $User is an RT::User object
# $Address is Email::Address object
-my $comp = '/Elements/ShowUser'. ucfirst lc $style;
-unless ( RT::Interface::Web->ComponentPathIsSafe($comp) and $m->comp_exists( $comp ) ) {
- $RT::Logger->error(
- 'Either system config or user #'
- . $session{'CurrentUser'}->id
- . ' picked UsernameFormat '. $style
- . ', but '. $comp . "doesn't exist"
- );
- return $m->comp('/Elements/ShowUserConcise',
- User => $User, Address => $Address, NoEscape => $NoEscape
- );
+my $display = RT::User->Format(
+ User => $User,
+ Address => $Address,
+ CurrentUser => $session{CurrentUser},
+ Format => $style,
+);
+
+# RT::User->Format does this itself, but we want to make sure we have a $User
+# if at all possible for the rest of our code below.
+if ($Address and not $User) {
+ $User = RT::User->new( $session{CurrentUser} );
+ $User->LoadByEmail( $Address->address );
+ undef $User unless $User->id;
}
-return $m->comp( $comp, User => $User, Address => $Address, NoEscape => $NoEscape );
+
+my %system_user = (
+ RT->Nobody->id => 1,
+ RT->SystemUser->id => 1,
+);
+
+$m->callback(
+ ARGSRef => \%ARGS,
+ User => $User,
+ Address => $Address,
+ display => \$display,
+ system_user => \%system_user,
+ CallbackName => 'Modify',
+);
</%INIT>
<%ARGS>
$User => undef
$Address => undef
-$NoEscape => 0
-$style => RT->Config->Get('UsernameFormat', $session{'CurrentUser'})
+$style => undef
+$Link => 1
</%ARGS>
+<span class="user" <% $User && $User->id ? 'data-user-id="'.$User->id.'"' : "" |n %>>\
+% if ($Link and $User and $User->id and not $system_user{$User->id} and $session{CurrentUser}->Privileged) {
+<a href="<% RT->Config->Get("WebPath") %>/User/Summary.html?id=<% $User->id %>">\
+<% $display %>\
+</a>\
+% } else {
+<% $display %>\
+% }
+</span>\
diff --git a/rt/share/html/Elements/SimpleSearch b/rt/share/html/Elements/SimpleSearch
index d6287f1..7db2aca 100755
--- a/rt/share/html/Elements/SimpleSearch
+++ b/rt/share/html/Elements/SimpleSearch
@@ -46,8 +46,11 @@
%#
%# END BPS TAGGED BLOCK }}}
<form action="<% RT->Config->Get('WebPath') %><% $SendTo %>" id="simple-search">
- <input size="12" name="q" autocomplete="off" accesskey="0" class="field" value="<% $Placeholder %>..." onfocus="if (this.value==(<% $Placeholder, |n,j %>+'...')) this.value=''" />
+ <input size="12" name="q" accesskey="0" class="field" value="<% $value %>" placeholder="<% $Placeholder %>..." />
</form>
+<%init>
+my $value = defined $DECODED_ARGS->{q} ? $DECODED_ARGS->{q} : '';
+</%init>
<%ARGS>
$SendTo => '/Search/Simple.html'
$Placeholder => loc('Search')
diff --git a/rt/share/html/Elements/Submit b/rt/share/html/Elements/Submit
index c26c468..a5dcdf7 100755
--- a/rt/share/html/Elements/Submit
+++ b/rt/share/html/Elements/Submit
@@ -52,10 +52,10 @@ id="<%$id%>"
>
<div class="extra-buttons">
% if ($CheckAll) {
- <input type="button" value="<%$CheckAllLabel%>" onclick="setCheckbox(this.form, <% $match %>, true);return false;" class="button" />
+ <input type="button" value="<%$CheckAllLabel%>" onclick="setCheckbox(this, <% $match %>, true);return false;" class="button" />
% }
% if ($ClearAll) {
- <input type="button" value="<%$ClearAllLabel%>" onclick="setCheckbox(this.form, <% $match %>, false);return false;" class="button" />
+ <input type="button" value="<%$ClearAllLabel%>" onclick="setCheckbox(this, <% $match %>, false);return false;" class="button" />
% }
% if ($Reset) {
<input type="reset" value="<%$ResetLabel%>" class="button" />
diff --git a/rt/share/html/Elements/TSVExport b/rt/share/html/Elements/TSVExport
new file mode 100644
index 0000000..0c466c4
--- /dev/null
+++ b/rt/share/html/Elements/TSVExport
@@ -0,0 +1,131 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<%ARGS>
+$Class => undef
+$Collection
+$Format
+$PreserveNewLines => 0
+</%ARGS>
+<%ONCE>
+my $no_html = HTML::Scrubber->new( deny => '*' );
+</%ONCE>
+<%INIT>
+require HTML::Entities;
+$Class ||= $Collection->ColumnMapClassName;
+
+#no, it isn't# $r->content_type('application/vnd.ms-excel');
+$r->content_type('text/tab-separated-values');
+
+my $DisplayFormat = $m->comp('/Elements/ScrubHTML', Content => $Format);
+
+my @Format = $m->comp('/Elements/CollectionAsTable/ParseFormat', Format => $DisplayFormat);
+
+my @columns;
+
+my $should_loc = { map { $_ => 1 } qw(Status) };
+
+my $col_entry = sub {
+ my $col = shift;
+ # in tsv output, "#" is often a comment character but we use it for "id"
+ delete $col->{title}
+ if $col->{title} and $col->{title} =~ /^\s*#\s*$/;
+ return {
+ header => loc($col->{title} || $col->{attribute}),
+ map => $m->comp(
+ "/Elements/ColumnMap",
+ Name => $col->{attribute},
+ Attr => 'value',
+ Class => $Class,
+ ),
+ should_loc => $should_loc->{$col->{attribute}},
+ }
+};
+
+if ($PreserveNewLines) {
+ my $col = [];
+ push @columns, $col;
+ for (@Format) {
+ if ($_->{title} eq 'NEWLINE') {
+ $col = [];
+ push @columns, $col;
+ }
+ else {
+ push @$col, $col_entry->($_);
+ }
+ }
+}
+else {
+ push @columns, [map { $_->{attribute}
+ ? $col_entry->($_)
+ : () } @Format];
+}
+
+for (@columns) {
+ $m->out(join("\t", map { $_->{header} } @$_)."\n");
+}
+
+my $i = 0;
+my $ii = 0;
+while (my $row = $Collection->Next) {
+ for my $col (@columns) {
+ $m->out(join("\t", map {
+ my $val = ProcessColumnMapValue($_->{map}, Arguments => [$row, $ii++], Escape => 0);
+ $val = loc($val) if $_->{should_loc};
+ # remove tabs from all field values, they screw up the tsv
+ $val = '' unless defined $val;
+ $val =~ s/(?:\n|\r)+/ /g; $val =~ s{\t}{ }g;
+ $val = $no_html->scrub($val);
+ $val = HTML::Entities::decode_entities($val);
+ $val;
+ } @$col)."\n");
+ }
+ $m->flush_buffer unless ++$i % 10;
+}
+$m->abort();
+
+</%INIT>
diff --git a/rt/share/html/Elements/Tabs b/rt/share/html/Elements/Tabs
index 3e28e25..46d2bd8 100755
--- a/rt/share/html/Elements/Tabs
+++ b/rt/share/html/Elements/Tabs
@@ -62,7 +62,7 @@ my $query_string = sub {
my $build_admin_menu = sub {
my $top = shift;
- my $admin = $top->child( config => title => loc('Configuration'), path => '/Admin/', sort_order => 99 );
+ my $admin = $top->child( admin => title => loc('Admin'), path => '/Admin/' );
if ( $session{'CurrentUser'}->HasRight( Object => RT->System, Right => 'AdminUsers' ) ) {
my $users = $admin->child( users =>
title => loc('Users'),
@@ -98,6 +98,16 @@ my $build_admin_menu = sub {
$cfs->child( create => title => loc('Create'), path => "/Admin/CustomFields/Modify.html?Create=1" );
}
+ if ( $session{'CurrentUser'}->HasRight( Object => RT->System, Right => 'ModifyScrips' ) ) {
+ my $scrips = $admin->child( 'scrips' =>
+ title => loc('Scrips'),
+ description => loc('Manage scrips'),
+ path => '/Admin/Scrips/',
+ );
+ $scrips->child( select => title => loc('Select'), path => "/Admin/Scrips/" );
+ $scrips->child( create => title => loc('Create'), path => "/Admin/Scrips/Create.html" );
+ }
+
my $admin_global = $admin->child( global =>
title => loc('Global'),
description => loc('Manage properties and configuration which apply to all queues'),
@@ -110,7 +120,7 @@ my $build_admin_menu = sub {
path => '/Admin/Global/Scrips.html',
);
$scrips->child( select => title => loc('Select'), path => "/Admin/Global/Scrips.html" );
- $scrips->child( create => title => loc('Create'), path => "/Admin/Global/Scrip.html?Create=1" );
+ $scrips->child( create => title => loc('Create'), path => "/Admin/Scrips/Create.html?Global=1" );
my $templates = $admin_global->child( templates =>
title => loc('Templates'),
@@ -172,11 +182,11 @@ my $build_admin_menu = sub {
my $cfs = $article_admin->child( 'custom-fields' =>
title => loc('Custom Fields'),
- path => '/Admin/CustomFields/index.html?'.$m->comp('/Elements/QueryString', type => 'RT::Class-RT::Article'),
+ path => '/Admin/CustomFields/index.html?'.$m->comp('/Elements/QueryString', Type => 'RT::Class-RT::Article'),
);
$cfs->child( select =>
title => loc('Select'),
- path => '/Admin/CustomFields/index.html?'.$m->comp('/Elements/QueryString', type => 'RT::Class-RT::Article'),
+ path => '/Admin/CustomFields/index.html?'.$m->comp('/Elements/QueryString', Type => 'RT::Class-RT::Article'),
);
$cfs->child( create =>
title => loc('Create'),
@@ -198,6 +208,11 @@ my $build_admin_menu = sub {
description => loc('Modify the default "RT at a glance" view'),
path => '/Admin/Global/MyRT.html',
);
+ $admin_global->child( 'dashboards-in-menu' =>
+ title => loc('Dashboards in menu'),
+ description => loc('Customize dashboards in menu'),
+ path => '/Admin/Global/DashboardsInMenu.html',
+ );
$admin_global->child( 'topics' =>
title => loc('Topics'),
description => loc('Modify global article topics'),
@@ -281,12 +296,13 @@ my $build_admin_menu = sub {
my $scrips = $queue->child( scrips => title => loc('Scrips'), path => "/Admin/Queues/Scrips.html?id=" . $id);
$scrips->child( select => title => loc('Select'), path => "/Admin/Queues/Scrips.html?id=" . $id );
- $scrips->child( create => title => loc('Create'), path => "/Admin/Queues/Scrip.html?Create=1;Queue=" . $id);
+ $scrips->child( create => title => loc('Create'), path => "/Admin/Scrips/Create.html?Queue=" . $id);
- my $ticket_cfs = $queue->child( 'ticket-custom-fields' => title => loc('Ticket Custom Fields'),
+ my $cfs = $queue->child( 'custom-fields' => title => loc('Custom Fields') );
+ my $ticket_cfs = $cfs->child( 'tickets' => title => loc('Tickets'),
path => '/Admin/Queues/CustomFields.html?SubType=RT::Ticket&id=' . $id );
- my $txn_cfs = $queue->child( 'transaction-custom-fields' => title => loc('Transaction Custom Fields'),
+ my $txn_cfs = $cfs->child( 'transactions' => title => loc('Transactions'),
path => '/Admin/Queues/CustomFields.html?SubType=RT::Ticket-RT::Transaction&id='.$id );
$queue->child( 'group-rights' => title => loc('Group Rights'), path => "/Admin/Queues/GroupRights.html?id=".$id );
@@ -297,7 +313,7 @@ my $build_admin_menu = sub {
}
}
}
- if ( $request_path =~ m{^/Admin/Users} ) {
+ if ( $request_path =~ m{^(/Admin/Users|/User/(Summary|History)\.html)} and $admin->child("users") ) {
if ( $DECODED_ARGS->{'id'} && $DECODED_ARGS->{'id'} =~ /^\d+$/ ) {
my $id = $DECODED_ARGS->{'id'};
my $obj = RT::User->new( $session{'CurrentUser'} );
@@ -309,9 +325,14 @@ my $build_admin_menu = sub {
$tabs->child( memberships => title => loc('Memberships'), path => "/Admin/Users/Memberships.html?id=" . $id );
$tabs->child( history => title => loc('History'), path => "/Admin/Users/History.html?id=" . $id );
$tabs->child( 'my-rt' => title => loc('RT at a glance'), path => "/Admin/Users/MyRT.html?id=" . $id );
- if ( RT->Config->Get('GnuPG')->{'Enable'} ) {
- $tabs->child( pgp => title => loc('GnuPG'), path => "/Admin/Users/GnuPG.html?id=" . $id );
+ $tabs->child( 'dashboards-in-menu' =>
+ title => loc('Dashboards in menu'),
+ path => '/Admin/Users/DashboardsInMenu.html?id=' . $id,
+ );
+ if ( RT->Config->Get('Crypt')->{'Enable'} ) {
+ $tabs->child( keys => title => loc('Private keys'), path => "/Admin/Users/Keys.html?id=" . $id );
}
+ $tabs->child( 'summary' => title => loc('User Summary'), path => "/User/Summary.html?id=" . $id );
}
}
@@ -323,10 +344,11 @@ my $build_admin_menu = sub {
my $obj = RT::Group->new( $session{'CurrentUser'} );
$obj->Load($id);
- if ( $obj and $obj->id ) {
+ if ( $obj and $obj->id ) {
my $tabs = PageMenu();
$tabs->child( basics => title => loc('Basics'), path => "/Admin/Groups/Modify.html?id=" . $obj->id );
$tabs->child( members => title => loc('Members'), path => "/Admin/Groups/Members.html?id=" . $obj->id );
+ $tabs->child( memberships => title => loc('Memberships'), path => "/Admin/Groups/Memberships.html?id=" . $obj->id );
$tabs->child( 'group-rights' => title => loc('Group Rights'), path => "/Admin/Groups/GroupRights.html?id=" . $obj->id );
$tabs->child( 'user-rights' => title => loc('User Rights'), path => "/Admin/Groups/UserRights.html?id=" . $obj->id );
$tabs->child( history => title => loc('History'), path => "/Admin/Groups/History.html?id=" . $obj->id );
@@ -342,23 +364,78 @@ my $build_admin_menu = sub {
if ( $obj and $obj->id ) {
my $tabs = PageMenu();
- $tabs->child( basics => title => loc('Basics'), path => "/Admin/CustomFields/Modify.html?id=".$id );
- $tabs->child( 'group-rights' => title => loc('Group Rights'), path => "/Admin/CustomFields/GroupRights.html?id=" . $id );
- $tabs->child( 'user-rights' => title => loc('User Rights'), path => "/Admin/CustomFields/UserRights.html?id=" . $id );
- $tabs->child( 'applies-to' => title => loc('Applies to'), path => "/Admin/CustomFields/Objects.html?id=" . $id );
+ $tabs->child( basics => title => loc('Basics'), path => "/Admin/CustomFields/Modify.html?id=".$id );
+ $tabs->child( 'group-rights' => title => loc('Group Rights'), path => "/Admin/CustomFields/GroupRights.html?id=" . $id );
+ $tabs->child( 'user-rights' => title => loc('User Rights'), path => "/Admin/CustomFields/UserRights.html?id=" . $id );
+ unless ( $obj->IsOnlyGlobal ) {
+ $tabs->child( 'applies-to' => title => loc('Applies to'), path => "/Admin/CustomFields/Objects.html?id=" . $id );
+ }
}
}
}
- if ( $request_path =~ m{^/Admin/Global/(Scrip|Template)s?\.html} ) {
- my $type = $1;
- my $tabs = PageMenu();
+ if ( $request_path =~ m{^/Admin/Scrips/} ) {
+ if ( $m->request_args->{'id'} && $m->request_args->{'id'} =~ /^\d+$/ ) {
+ my $id = $m->request_args->{'id'};
+ my $obj = RT::Scrip->new( $session{'CurrentUser'} );
+ $obj->Load($id);
+
+ my $tabs = PageMenu();
+
+ my ( $admin_cat, $create_path_arg, $from_query_param );
+ my $from_arg = $DECODED_ARGS->{'From'} || q{};
+ my ($from_queue) = $from_arg =~ /^(\d+)$/;
+ if ( $from_queue ) {
+ $admin_cat = "Queues/Scrips.html?id=$from_queue";
+ $create_path_arg = "?Queue=$from_queue";
+ $from_query_param = "&From=$from_queue";
+ }
+ elsif ( $from_arg eq 'Global' ) {
+ $admin_cat = 'Global/Scrips.html';
+ $create_path_arg = '?Global=1';
+ $from_query_param = '&From=Global';
+ }
+ else {
+ $admin_cat = 'Scrips';
+ $from_query_param = $create_path_arg = q{};
+ }
+ my $scrips = $tabs->child( scrips => title => loc('Scrips'), path => "/Admin/${admin_cat}" );
+ $scrips->child( select => title => loc('Select'), path => "/Admin/${admin_cat}" );
+ $scrips->child( create => title => loc('Create'), path => "/Admin/Scrips/Create.html${create_path_arg}" );
- # With only two elements, swapping between dropdown and menu is kinda dumb
- # In the glorious future this should be cleaner.
+ $tabs->child( basics => title => loc('Basics') => path => "/Admin/Scrips/Modify.html?id=" . $id . $from_query_param );
+ $tabs->child( 'applies-to' => title => loc('Applies to'), path => "/Admin/Scrips/Objects.html?id=" . $id . $from_query_param );
+ }
+ elsif ( $request_path =~ m{^/Admin/Scrips/(index\.html)?$} ) {
+ PageMenu->child( select => title => loc('Select') => path => "/Admin/Scrips/" );
+ PageMenu->child( create => title => loc('Create') => path => "/Admin/Scrips/Create.html" );
+ }
+ elsif ( $request_path =~ m{^/Admin/Scrips/Create\.html$} ) {
+ my ($queue) = $DECODED_ARGS->{'Queue'} && $DECODED_ARGS->{'Queue'} =~ /^(\d+)$/;
+ my $global_arg = $DECODED_ARGS->{'Global'};
+ if ($queue) {
+ PageMenu->child( select => title => loc('Select') => path => "/Admin/Queues/Scrips.html?id=$queue" );
+ PageMenu->child( create => title => loc('Create') => path => "/Admin/Scrips/Create.html?Queue=$queue" );
+ } elsif ($global_arg) {
+ PageMenu->child( select => title => loc('Select') => path => "/Admin/Global/Scrips.html" );
+ PageMenu->child( create => title => loc('Create') => path => "/Admin/Scrips/Create.html?Global=1" );
+ } else {
+ PageMenu->child( select => title => loc('Select') => path => "/Admin/Scrips" );
+ PageMenu->child( create => title => loc('Create') => path => "/Admin/Scrips/Create.html" );
+ }
+ }
+ }
+
+ if ( $request_path =~ m{^/Admin/Global/Scrips\.html} ) {
+ my $tabs = PageMenu();
+ $tabs->child( select => title => loc('Select'), path => "/Admin/Global/Scrips.html" );
+ $tabs->child( create => title => loc('Create'), path => "/Admin/Scrips/Create.html?Global=1" );
+ }
- $tabs->child( select => title => loc('Select'), path => "/Admin/Global/${type}s.html" );
- $tabs->child( create => title => loc('Create'), path => "/Admin/Global/${type}.html?Create=1" );
+ if ( $request_path =~ m{^/Admin/Global/Templates?\.html} ) {
+ my $tabs = PageMenu();
+ $tabs->child( select => title => loc('Select'), path => "/Admin/Global/Templates.html" );
+ $tabs->child( create => title => loc('Create'), path => "/Admin/Global/Template.html?Create=1" );
}
if ( $request_path =~ m{^/Admin/Articles/Classes/} ) {
@@ -386,24 +463,40 @@ my $build_admin_menu = sub {
}
};
-
my $build_main_nav = sub {
PageWidgets()->child( simple_search => raw_html => $m->scomp('SimpleSearch') );
PageWidgets()->child( create_ticket => raw_html => $m->scomp('CreateTicket') );
my $home = Menu->child( home => title => loc('Homepage'), path => '/' );
- # We explicitly exclude superusers; otherwise the dashboards for
- # groups you're not in (but can see the dashboards of by dint of
- # being a superuser) would push the useful ones from the groups
- # you're actually in off of the stack.
- my @dashboards = $m->comp("/Dashboards/Elements/ListOfDashboards", IncludeSuperuserGroups => 0);
- my $limit = 7;
+ unless ($session{'dashboards_in_menu'}) {
+ my $dashboards_in_menu = $session{CurrentUser}->UserObj->Preferences(
+ 'DashboardsInMenu',
+ {},
+ );
+
+ unless ($dashboards_in_menu->{dashboards}) {
+ my ($default_dashboards) =
+ RT::System->new( $session{'CurrentUser'} )
+ ->Attributes
+ ->Named('DashboardsInMenu');
+ if ($default_dashboards) {
+ $dashboards_in_menu = $default_dashboards->Content;
+ }
+ }
- my $more = 0;
- if ( @dashboards > $limit ) {
- $more = 1;
- splice @dashboards, $limit;
+ $session{'dashboards_in_menu'} = $dashboards_in_menu->{dashboards} || [];
+ }
+
+ my @dashboards;
+ for my $id ( @{$session{'dashboards_in_menu'}} ) {
+ my $dash = RT::Dashboard->new( $session{CurrentUser} );
+ my ( $status, $msg ) = $dash->LoadById($id);
+ if ( $status ) {
+ push @dashboards, $dash;
+ } else {
+ $RT::Logger->warning( "Failed to load dashboard $id: $msg" );
+ }
}
my $dashes = Menu()->child('home');
@@ -414,24 +507,34 @@ my $build_main_nav = sub {
path => '/Dashboards/' . $dash->id . '/' . $dash->Name
);
}
-
- $dashes->child( more => title => loc('All Dashboards'), path => 'Dashboards/index.html' );
}
+ $dashes->child( edit => title => loc('Update This Menu'), path => 'Prefs/DashboardsInMenu.html' );
+ $dashes->child( more => title => loc('All Dashboards'), path => 'Dashboards/index.html' );
my $dashboard = RT::Dashboard->new( $session{CurrentUser} );
if ( $dashboard->CurrentUserCanCreateAny ) {
$dashes->child('dashboard_create' => title => loc('New Dashboard'), path => "/Dashboards/Modify.html?Create=1" );
}
- my $tickets = Menu->child( search => title => loc('Tickets'), path => '/Search/Build.html' );
+ my $search = Menu->child( search => title => loc('Search'), path => '/Search/Simple.html' );
+
+ my $tickets = $search->child( tickets => title => loc('Tickets'), path => '/Search/Build.html' );
$tickets->child( simple => title => loc('Simple Search'), path => "/Search/Simple.html" );
$tickets->child( new => title => loc('New Search'), path => "/Search/Build.html?NewQuery=1" );
+ $search->child( articles => title => loc('Articles'), path => "/Articles/Article/Search.html" )
+ if $session{CurrentUser}->HasRight( Right => 'ShowArticlesMenu', Object => RT->System );
+
+ $search->child( users => title => loc('Users'), path => "/User/Search.html" );
+
+ if ($session{CurrentUser}->HasRight( Right => 'ShowArticlesMenu', Object => RT->System )) {
+ my $articles = Menu->child( articles => title => loc('Articles'), path => "/Articles/index.html");
+ $articles->child( articles => title => loc('Overview'), path => "/Articles/index.html" );
+ $articles->child( topics => title => loc('Topics'), path => "/Articles/Topics.html" );
+ $articles->child( create => title => loc('Create'), path => "/Articles/Article/PreCreate.html" );
+ $articles->child( search => title => loc('Search'), path => "/Articles/Article/Search.html" );
+ }
my $tools = Menu->child( tools => title => loc('Tools'), path => '/Tools/index.html' );
- my $articles = $tools->child( articles => title => loc('Articles'), path => "/Articles/index.html");
- $articles->child( articles => title => loc('Overview'), path => "/Articles/index.html" );
- $articles->child( search => title => loc('Search'), path => "/Articles/Article/Search.html" );
- $articles->child( topics => title => loc('Topics'), path => "/Articles/Topics.html" );
$tools->child( my_day =>
title => loc('My Day'),
@@ -447,12 +550,6 @@ my $build_main_nav = sub {
);
}
- $tools->child( offline =>
- title => loc('Offline'),
- description => loc('Create tickets offline'),
- path => '/Tools/Offline.html',
- );
-
if ( $session{'CurrentUser'}->HasRight( Right => 'ShowApprovalsTab', Object => RT->System ) ) {
$tools->child( approval =>
title => loc('Approval'),
@@ -463,7 +560,7 @@ my $build_main_nav = sub {
if ( $session{'CurrentUser'}->HasRight( Right => 'ShowConfigTab', Object => RT->System ) )
{
- $build_admin_menu->($tools);
+ $build_admin_menu->(Menu());
}
my $username = '<span class="current-user">'
@@ -472,6 +569,7 @@ my $build_main_nav = sub {
my $about_me = Menu->child( 'preferences' =>
title => loc('Logged in as [_1]', $username),
escape_title => 0,
+ path => '/User/Summary.html?id=' . $session{CurrentUser}->id,
sort_order => 99,
);
@@ -479,10 +577,14 @@ my $build_main_nav = sub {
if ( $session{'CurrentUser'}->UserObj
&& $session{'CurrentUser'}->HasRight( Right => 'ModifySelf', Object => RT->System )) {
my $settings = $about_me->child( settings => title => loc('Settings'), path => '/Prefs/Other.html' );
- $settings->child( options => title => loc('Options'), path => '/Prefs/Other.html' );
+ $settings->child( options => title => loc('Preferences'), path => '/Prefs/Other.html' );
$settings->child( about_me => title => loc('About me'), path => '/User/Prefs.html' );
$settings->child( search_options => title => loc('Search options'), path => '/Prefs/SearchOptions.html' );
$settings->child( myrt => title => loc('RT at a glance'), path => '/Prefs/MyRT.html' );
+ $settings->child( dashboards_in_menu =>
+ title => loc('Dashboards in menu'),
+ path => '/Prefs/DashboardsInMenu.html',
+ );
$settings->child( quicksearch => title => loc('Quick search'), path => '/Prefs/Quicksearch.html' );
my $search_menu = $settings->child( 'saved-searches' => title => loc('Saved Searches') );
@@ -500,8 +602,8 @@ my $build_main_nav = sub {
}
}
if ( $session{'CurrentUser'}->Name
- && ( !RT->Config->Get('WebExternalAuth')
- || RT->Config->Get('WebFallbackToInternalAuth') )) {
+ && ( !RT->Config->Get('WebRemoteUserAuth')
+ || RT->Config->Get('WebFallbackToRTLogin') )) {
$about_me->child( logout => title => loc('Logout'), path => '/NoAuth/Logout.html' );
}
if ( $request_path =~ m{^/Dashboards/(\d+)?}) {
@@ -539,7 +641,7 @@ my $build_main_nav = sub {
$tabs->child( history => title => loc('History'), path => "/Ticket/History.html?id=" . $id );
my %can = %{ $obj->CurrentUser->PrincipalObj->HasRights( Object => $obj ) };
- $can{'_ModifyOwner'} = $can{'OwnTicket'} || $can{'TakeTicket'} || $can{'StealTicket'};
+ $can{'_ModifyOwner'} = $obj->CurrentUserCanSetOwner();
my $can = sub {
unless ($_[0] eq 'ExecuteCode') {
return $can{$_[0]} || $can{'SuperUser'};
@@ -591,7 +693,7 @@ my $build_main_nav = sub {
&& $obj->HasUnresolvedDependencies;
my $current = $obj->Status;
- my $lifecycle = $obj->QueueObj->Lifecycle;
+ my $lifecycle = $obj->LifecycleObj;
my $i = 1;
foreach my $info ( $lifecycle->Actions($current) ) {
my $next = $info->{'to'};
@@ -606,42 +708,31 @@ my $build_main_nav = sub {
my $action = $info->{'update'} || '';
my $url = '/Ticket/';
- if ($action) {
- $url .= "Update.html?"
- . $query_string->(
- Action => $action,
- DefaultStatus => $next,
- id => $id,
- );
- } else {
- $url .= "Display.html?"
- . $query_string->(
- Status => $next,
- id => $id,
- );
- }
+ $url .= "Update.html?". $query_string->(
+ $action
+ ? (Action => $action)
+ : (SubmitTicket => 1, Status => $next),
+ DefaultStatus => $next,
+ id => $id,
+ );
my $key = $info->{'label'} || ucfirst($next);
$actions->child( $key => title => loc( $key ), path => $url);
}
- if ( $can->('OwnTicket') ) {
- if ( $obj->OwnerObj->Id == RT->Nobody->id
- && ( $can->('ModifyTicket') or $can->('TakeTicket') ) ) {
- $actions->child( take => title => loc('Take'), path => "/Ticket/Display.html?Action=Take;id=" . $id );
- }
-
- elsif ( $obj->OwnerObj->id != RT->Nobody->id
- && $obj->OwnerObj->id != $session{CurrentUser}->id
- && ( $can->('ModifyTicket') or $can->('StealTicket') ) ) {
- $actions->child( steal => title => loc('Steal'), path => "/Ticket/Display.html?Action=Steal;id=" . $id );
- }
+ my ($can_take, $tmsg) = $obj->CurrentUserCanSetOwner( Type => 'Take' );
+ my ($can_steal, $smsg) = $obj->CurrentUserCanSetOwner( Type => 'Steal' );
+ if ( $can_take ){
+ $actions->child( take => title => loc('Take'), path => "/Ticket/Display.html?Action=Take;id=" . $id );
+ }
+ elsif ( $can_steal ){
+ $actions->child( steal => title => loc('Steal'), path => "/Ticket/Display.html?Action=Steal;id=" . $id );
}
# TODO needs a "Can extract article into a class applied to this queue" check
$actions->child( 'extract-article' =>
title => loc('Extract Article'),
path => "/Articles/Article/ExtractIntoClass.html?Ticket=".$obj->id,
- );
+ ) if $session{CurrentUser}->HasRight( Right => 'ShowArticlesMenu', Object => RT->System );
if ( defined $session{"tickets"} ) {
# we have to update session data if we get new ItemMap
@@ -653,7 +744,7 @@ my $build_main_nav = sub {
$session{"tickets"}->PrepForSerialization();
}
- my $search = Menu()->child('search');
+ my $search = Menu()->child('search')->child('tickets');
# Don't display prev links if we're on the first ticket
if ( $item_map->{$id}->{prev} ) {
$search->child( first =>
@@ -684,7 +775,7 @@ my $build_main_nav = sub {
&& $DECODED_ARGS->{'q'} )
)
{
- my $search = Menu()->child('search');
+ my $search = Menu()->child('search')->child('tickets');
my $args = '';
my $has_query = '';
my $current_search = $session{"CurrentSearchHash"} || {};
@@ -844,11 +935,22 @@ my $build_main_nav = sub {
}
+ if ( $request_path =~ m{^/User/(Summary|History)\.html} ) {
+ if (PageMenu()->child('summary')) {
+ # Already set up from having AdminUser and ShowConfigTab;
+ # but rename "Basics" to "Edit" in this context
+ PageMenu()->child( 'basics' )->title( loc('Edit') );
+ } elsif ( $session{'CurrentUser'}->HasRight( Object => $RT::System, Right => 'ShowUserHistory' ) ) {
+ PageMenu()->child( display => title => loc('Summary'), path => '/User/Summary.html?id=' . $DECODED_ARGS->{'id'} );
+ PageMenu()->child( history => title => loc('History'), path => '/User/History.html?id=' . $DECODED_ARGS->{'id'} );
+ }
+ }
+
if ( $request_path =~ /^\/(?:index.html|$)/ ) {
PageMenu()->child( edit => title => loc('Edit'), path => '/Prefs/MyRT.html' );
}
- $m->callback( CallbackName => 'Privileged' );
+ $m->callback( CallbackName => 'Privileged', Path => $request_path );
};
my $build_selfservice_nav = sub {
@@ -890,8 +992,8 @@ my $build_selfservice_nav = sub {
}
if ( $session{'CurrentUser'}->Name
- && ( !RT->Config->Get('WebExternalAuth')
- || RT->Config->Get('WebFallbackToInternalAuth') )) {
+ && ( !RT->Config->Get('WebRemoteUserAuth')
+ || RT->Config->Get('WebFallbackToRTLogin') )) {
$about_me->child( logout => title => loc('Logout'), path => '/NoAuth/Logout.html' );
}
@@ -901,7 +1003,7 @@ my $build_selfservice_nav = sub {
PageWidgets->child( goto => raw_html => $m->scomp('/SelfService/Elements/GotoTicket') );
- $m->callback( CallbackName => 'SelfService' );
+ $m->callback( CallbackName => 'SelfService', Path => $request_path );
};
diff --git a/rt/share/html/Elements/TicketList b/rt/share/html/Elements/TicketList
index 4bade49..b252af6 100644
--- a/rt/share/html/Elements/TicketList
+++ b/rt/share/html/Elements/TicketList
@@ -46,11 +46,15 @@
%#
%# END BPS TAGGED BLOCK }}}
<%INIT>
+RT->Deprecated(
+ Remove => "4.4",
+ Instead => "/Elements/CollectionList",
+);
$m->comp(
- '/Elements/CollectionList',
- %ARGS,
- Class => 'RT::Tickets'
- );
+ '/Elements/CollectionList',
+ %ARGS,
+ Class => 'RT::Tickets'
+ );
</%INIT>
<%ARGS>
$Collection => undef
diff --git a/rt/share/html/Elements/TitleBox b/rt/share/html/Elements/TitleBox
index 3bb0d03..8d80146 100644
--- a/rt/share/html/Elements/TitleBox
+++ b/rt/share/html/Elements/TitleBox
@@ -48,5 +48,6 @@
<&| /Widgets/TitleBox, %ARGS &><% $m->content |n%></&>
<%init>
# For compatibility with 3.4
+RT->Deprecated( Remove => 4.4, Instead => "/Widgets/TitleBox" );
# $m->comp('/Widgets/TitleBox', %ARGS ); Doesn't actually work
</%init>
diff --git a/rt/share/html/Elements/TitleBoxEnd b/rt/share/html/Elements/TitleBoxEnd
index bf5ef42..8b52b07 100644
--- a/rt/share/html/Elements/TitleBoxEnd
+++ b/rt/share/html/Elements/TitleBoxEnd
@@ -47,5 +47,6 @@
%# END BPS TAGGED BLOCK }}}
<%init>
# For compatibility with 3.4
+RT->Deprecated( Remove => 4.4, Instead => "/Widgets/TitleBoxEnd" );
$m->comp('/Widgets/TitleBoxEnd', %ARGS );
</%init>
diff --git a/rt/share/html/Elements/TitleBoxStart b/rt/share/html/Elements/TitleBoxStart
index 15671aa..c639d19 100644
--- a/rt/share/html/Elements/TitleBoxStart
+++ b/rt/share/html/Elements/TitleBoxStart
@@ -47,5 +47,6 @@
%# END BPS TAGGED BLOCK }}}
<%init>
# For compatibility with 3.4
+RT->Deprecated( Remove => 4.4, Instead => "/Widgets/TitleBoxStart" );
$m->comp('/Widgets/TitleBoxStart', %ARGS );
</%init>
diff --git a/rt/share/html/Elements/ValidateCustomFields b/rt/share/html/Elements/ValidateCustomFields
index 55c1fce..7c8edde 100644
--- a/rt/share/html/Elements/ValidateCustomFields
+++ b/rt/share/html/Elements/ValidateCustomFields
@@ -48,38 +48,50 @@
<%INIT>
my ($valid, @res) = (1, ());
$CustomFields->GotoFirstItem;
+
+my $CFArgs = _ParseObjectCustomFieldArgs( $ARGSRef )->{ref($Object)}{$Object->Id || 0} || {};
+
while ( my $CF = $CustomFields->Next ) {
- my $field = $NamePrefix . $CF->Id . "-Value";
+ my $submitted = $CFArgs->{$CF->Id};
+ # Pick the first grouping
+ $submitted = $submitted ? $submitted->{(keys %$submitted)[0]} : {};
- my $value;
- if ($ARGSRef->{"${field}s-Magic"} and exists $ARGSRef->{"${field}s"}) {
- $value = $ARGSRef->{"${field}s"};
+ # If we don't have a value and we don't see the Magic, then we're not
+ # submitting a field.
+ next if not $ValidateUnsubmitted
+ and not exists $submitted->{"Value"}
+ and not exists $submitted->{"Upload"}
+ and not exists $submitted->{"Values"}
+ and not $submitted->{"Values-Magic"};
- # We only validate Single Combos -- multis can never be user input
- next if ref $value;
- }
- else {
- $value = $ARGSRef->{$field};
- }
- $m->notes(('Field-' . $CF->Id) => $value);
+ # We only validate Single Combos -- multis can never be user input
+ next if $submitted->{"Values-Magic"} and exists $submitted->{"Values"}
+ and ref $submitted->{"Values"};
- my @values = ();
- if ( ref $value eq 'ARRAY' ) {
- @values = @$value;
- } elsif ( $CF->Type =~ /text/i ) {
- @values = ($value);
- } else {
- @values = split /\r*\n/, ( defined $value ? $value : '');
- }
- @values = grep $_ ne '',
- map {
- s/\r+\n/\n/g;
- s/^\s+//;
- s/\s+$//;
- $_;
+ $m->notes(('Field-' . $CF->Id) => $submitted->{Values} // $submitted->{Value});
+
+ my @values = _NormalizeObjectCustomFieldValue(
+ CustomField => $CF,
+ Value => ($submitted->{Values} // $submitted->{Value} // $submitted->{Upload}),
+ );
+ if ($CF->Type =~ /^Date(?:Time)?$/) {
+ if (not @values) {
+ my $values = $Object->CustomFieldValues($CF->Id);
+ while (my $ocfv = $values->Next) {
+ push @values, $ocfv->Content;
+ }
}
- grep defined, @values;
- @values = ('') unless @values;
+ @values = grep {
+ my $DateObj = RT::Date->new ( $session{'CurrentUser'} );
+ $DateObj->Set(
+ Format => 'unknown',
+ Value => $_,
+ ($CF->Type eq "Date" ? (Timezone => 'utc') : ())
+ );
+ $DateObj->IsSet
+ } @values;
+ }
+ push @values, '' unless @values;
for my $value( @values ) {
if ($value) {
@@ -87,7 +99,7 @@ while ( my $CF = $CustomFields->Next ) {
my ($ok, $msg) = $CF->_CanonicalizeValue( $ref );
unless ($ok) {
$m->notes( ( 'InvalidField-' . $CF->Id ) => $msg );
- push @res, $msg;
+ push @res, $CF->Name .': '. $msg;
$valid = 0;
}
}
@@ -96,7 +108,7 @@ while ( my $CF = $CustomFields->Next ) {
my $msg = loc("Input must match [_1]", $CF->FriendlyPattern);
$m->notes( ('InvalidField-' . $CF->Id) => $msg );
- push @res, $msg;
+ push @res, $CF->Name .': '. $msg;
$valid = 0;
}
}
@@ -104,7 +116,8 @@ $m->notes('ValidFields', $valid);
return wantarray? ($valid, @res): $valid;
</%INIT>
<%ARGS>
+$Object => RT::Ticket->new( $session{'CurrentUser'})
$CustomFields
$ARGSRef
-$NamePrefix => "Object-RT::Ticket--CustomField-"
+$ValidateUnsubmitted => 0
</%ARGS>
diff --git a/rt/share/html/Admin/Elements/CreateUserCalled b/rt/share/html/Errors/WebRemoteUser/Deauthorized
index fb15893..bf4edfa 100755..100644
--- a/rt/share/html/Admin/Elements/CreateUserCalled
+++ b/rt/share/html/Errors/WebRemoteUser/Deauthorized
@@ -45,6 +45,6 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<form method="get" action="<% RT->Config->Get('WebPath') %>/Admin/Users/Create.html">
-<&|/l&>New user called</&> <input name="Name" size="10" /><input type="submit" class="button" value="<&|/l&>Create</&>" />
-</form>
+<&| Wrapper, %ARGS, Title => loc("No longer authorized") &>
+<p><&|/l&>You were logged out of RT by your authentication system. This may be a temporary hiccup, in which case refreshing this page may help.</&></p>
+</&>
diff --git a/rt/share/html/Elements/BevelBoxRaisedStart b/rt/share/html/Errors/WebRemoteUser/NoInternalUser
index 9c9b410..de88fea 100755..100644
--- a/rt/share/html/Elements/BevelBoxRaisedStart
+++ b/rt/share/html/Errors/WebRemoteUser/NoInternalUser
@@ -45,6 +45,6 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<table cellspacing="0" cellpadding="0" width="100%" height="100%">
- <tr>
- <td width="100%" height="100%">
+<&| Wrapper, %ARGS, Title => loc("Unauthorized") &>
+<p><&|/l, $ARGS{User} &>You ([_1]) are not authorized to use RT.</&></p>
+</&>
diff --git a/rt/share/html/NoAuth/Reminder.html b/rt/share/html/Errors/WebRemoteUser/NoRemoteUser
index 6ef95d4..c975073 100755..100644
--- a/rt/share/html/NoAuth/Reminder.html
+++ b/rt/share/html/Errors/WebRemoteUser/NoRemoteUser
@@ -45,6 +45,6 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<& /Elements/Header, title => loc('Password Reminder') &>
-
-<&|/l&>Not yet implemented.</&>
+<&| Wrapper, %ARGS, Title => loc("Unauthorized") &>
+<p><&|/l&>You are not authorized to use RT.</&></p>
+</&>
diff --git a/rt/share/html/Errors/WebRemoteUser/UserAutocreateDefaultsOnLogin b/rt/share/html/Errors/WebRemoteUser/UserAutocreateDefaultsOnLogin
new file mode 100644
index 0000000..a0dd8fd
--- /dev/null
+++ b/rt/share/html/Errors/WebRemoteUser/UserAutocreateDefaultsOnLogin
@@ -0,0 +1,50 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<&| Wrapper, %ARGS, Title => loc("Automatic account setup failed") &>
+<p><&|/l&>Unfortunately, RT couldn't automatically setup an account for you. Your RT administator will find more information in the logs.</&></p>
+</&>
diff --git a/rt/share/html/Errors/WebRemoteUser/Wrapper b/rt/share/html/Errors/WebRemoteUser/Wrapper
new file mode 100644
index 0000000..9bcc31c
--- /dev/null
+++ b/rt/share/html/Errors/WebRemoteUser/Wrapper
@@ -0,0 +1,80 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<%args>
+$Title => loc("An error occurred")
+$Error => ''
+</%args>
+<%init>
+my $login_url = $m->interp->apply_escapes(RT::Interface::Web::TangentForLoginURL(\%ARGS), 'h');
+</%init>
+<html>
+ <head>
+ <title><% $Title %></title>
+ </head>
+ <body>
+ <h1><% $Title %></h1>
+ <!-- WebRemoteUserAuth error: <% $Error %> -->
+ <% $m->content |n%>
+
+ <p id="contact-admin">
+% if (my $owner = RT->Config->Get('OwnerEmail')) {
+% $owner = $m->interp->apply_escapes($owner, 'h');
+ <&|/l_unsafe, qq[<a href="mailto:$owner">], $owner, '</a>' &>Contact your RT administrator via [_1]email to [_2][_3].</&>
+% } else {
+ <&|/l&>Contact your RT administrator.</&>
+% }
+ </p>
+
+% if (RT->Config->Get('WebRemoteUserAuth') and RT->Config->Get('WebFallbackToRTLogin')) {
+ <p id="internal-auth">
+ <&|/l_unsafe, qq[<a href="$login_url">], '</a>' &>If you have an internal RT login, you may [_1]try it instead[_2].</&>
+ </p>
+% }
+ </p>
+ </body>
+</html>
diff --git a/rt/share/html/Helpers/Autocomplete/CustomFieldValues b/rt/share/html/Helpers/Autocomplete/CustomFieldValues
index 0694e9d..7e14067 100644
--- a/rt/share/html/Helpers/Autocomplete/CustomFieldValues
+++ b/rt/share/html/Helpers/Autocomplete/CustomFieldValues
@@ -45,7 +45,7 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-% $r->content_type('application/json');
+% $r->content_type('application/json; charset=utf-8');
<% JSON( \@suggestions ) |n %>
% $m->abort;
<%INIT>
@@ -53,8 +53,8 @@
my $term = (split /\n/, $ARGS{term} || '')[-1];
my $abort = sub {
- $r->content_type('application/json');
- $m->out(JSON::to_json( [] ));
+ $r->content_type('application/json; charset=utf-8');
+ $m->out(JSON( [] ));
$m->abort;
};
@@ -63,11 +63,17 @@ unless ( exists $ARGS{ContextType} and exists $ARGS{ContextId} ) {
$abort->();
}
+# Use _ParseObjectCustomFieldArgs to avoid duplicating the regex.
+# See the docs for _ParseObjectCustomFieldArgs for details on the data
+# structure returned. There will be only one CF, so drill down 2 layers
+# to get the cf id, if one is there.
+
+my %custom_fields = _ParseObjectCustomFieldArgs(\%ARGS);
my $CustomField;
-for my $k ( keys %ARGS ) {
- next unless $k =~ /^Object-.*?-\d*-CustomField-(\d+)-Values?$/;
- $CustomField = $1;
- last;
+foreach my $class ( keys %custom_fields ){
+ foreach my $id ( keys %{$custom_fields{$class}} ){
+ ($CustomField) = keys %{$custom_fields{$class}{$id}};
+ }
}
unless ( $CustomField ) {
@@ -119,6 +125,13 @@ $values->Limit(
SUBCLAUSE => 'autocomplete',
CASESENSITIVE => 0,
);
+$m->callback(
+ CallbackName => 'ModifyMaxResults',
+ max => \$ARGS{max},
+ term => $term,
+ CustomField => $CustomFieldObj,
+);
+$values->RowsPerPage( $ARGS{max} // 10 );
my @suggestions;
diff --git a/rt/share/html/Helpers/Autocomplete/Groups b/rt/share/html/Helpers/Autocomplete/Groups
index 1f4043f..7e69484 100644
--- a/rt/share/html/Helpers/Autocomplete/Groups
+++ b/rt/share/html/Helpers/Autocomplete/Groups
@@ -45,12 +45,12 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-% $r->content_type('application/json');
+% $r->content_type('application/json; charset=utf-8');
<% JSON( \@suggestions ) |n %>
% $m->abort;
<%ARGS>
$term => undef
-$max => 10
+$max => undef
$exclude => ''
$op => 'LIKE'
</%ARGS>
@@ -66,6 +66,9 @@ $m->abort unless $CurrentUser->Privileged;
# Sanity check the operator
$op = 'LIKE' unless $op =~ /^(?:LIKE|(?:START|END)SWITH|=|!=)$/i;
+$m->callback( CallbackName => 'ModifyMaxResults', max => \$max );
+$max //= 10;
+
my $groups = RT::Groups->new( $CurrentUser );
$groups->RowsPerPage( $max );
$groups->LimitToUserDefinedGroups();
@@ -73,6 +76,7 @@ $groups->Limit(
FIELD => 'Name',
OPERATOR => $op,
VALUE => $term,
+ CASESENSITIVE => 0,
);
# Exclude groups we don't want
@@ -83,6 +87,8 @@ foreach (split /\s*,\s*/, $exclude) {
my @suggestions;
while ( my $group = $groups->Next ) {
- push @suggestions, { label => $group->Name, value => $group->Name, id => $group->id };
+ my $suggestion = { id => $group->Id, label => $group->Name, value => $group->Name };
+ $m->callback( CallbackName => "ModifySuggestion", suggestion => $suggestion, group => $group );
+ push @suggestions, $suggestion;
}
</%INIT>
diff --git a/rt/share/html/Helpers/Autocomplete/Owners b/rt/share/html/Helpers/Autocomplete/Owners
index be4a856..123ba6b 100644
--- a/rt/share/html/Helpers/Autocomplete/Owners
+++ b/rt/share/html/Helpers/Autocomplete/Owners
@@ -45,14 +45,14 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-% $r->content_type('application/json');
+% $r->content_type('application/json; charset=utf-8');
<% JSON( \@suggestions ) |n %>
% $m->abort;
<%ARGS>
$return => 'Name'
$limit => undef
$term => undef
-$max => 10
+$max => undef
</%ARGS>
<%INIT>
# Only allow certain return fields
@@ -65,13 +65,13 @@ $m->abort unless defined $return
my $CurrentUser = $session{'CurrentUser'};
-my %fields = %{ RT->Config->Get('UserAutocompleteFields')
- || { EmailAddress => 1, Name => 1, RealName => 'LIKE' } };
-
my %user_uniq_hash;
my $isSU = $session{CurrentUser}
->HasRight( Right => 'SuperUser', Object => $RT::System );
+$m->callback( CallbackName => 'ModifyMaxResults', max => \$max );
+$max //= 10;
+
# Turn RT::Ticket-1|RT::Queue-2 into ['RT::Ticket', 1], ['RT::Queue', 2]
foreach my $spec (map { [split /\-/, $_, 2] } split /\|/, $limit) {
next unless $spec->[0] =~ /^RT::(Ticket|Queue)$/;
@@ -89,22 +89,13 @@ foreach my $spec (map { [split /\-/, $_, 2] } split /\|/, $limit) {
}
my $Users = RT::Users->new( $session{CurrentUser} );
- $Users->RowsPerPage( $max );
-
# Limit by our autocomplete term BEFORE we limit to OwnTicket because that
# does a funky union hack
- while (my ($name, $op) = each %fields) {
- $op = 'STARTSWITH'
- unless $op =~ /^(?:LIKE|(?:START|END)SWITH)$/i;
-
- $Users->Limit(
- FIELD => $name,
- OPERATOR => $op,
- VALUE => $term,
- ENTRYAGGREGATOR => 'OR',
- SUBCLAUSE => 'autocomplete',
- );
- }
+ $Users->SimpleSearch(
+ Max => $max,
+ Term => $term,
+ Return => $return,
+ );
$Users->WhoHaveRight(
Right => 'OwnTicket',
@@ -117,7 +108,7 @@ foreach my $spec (map { [split /\-/, $_, 2] } split /\|/, $limit) {
next if $user_uniq_hash{ $User->Id };
$user_uniq_hash{ $User->Id() } = [
$User,
- $m->scomp('/Elements/ShowUser', User => $User, NoEscape => 1)
+ $User->Format,
];
}
}
@@ -127,7 +118,7 @@ my $nobody = qr/^n(?:o(?:b(?:o(?:d(?:y)?)?)?)?)?$/i;
if ( not $user_uniq_hash{RT->Nobody->id} and $term =~ $nobody ) {
$user_uniq_hash{RT->Nobody->id} = [
RT->Nobody,
- $m->scomp('/Elements/ShowUser', User => RT->Nobody, NoEscape => 1)
+ RT->Nobody->Format,
];
}
diff --git a/rt/share/html/NoAuth/css/base/history-folding.css b/rt/share/html/Helpers/Autocomplete/Tickets
index 5bb1667..0b8a832 100644
--- a/rt/share/html/NoAuth/css/base/history-folding.css
+++ b/rt/share/html/Helpers/Autocomplete/Tickets
@@ -45,47 +45,65 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-.message-stanza-folder {
- color: #500050;
- font-size: 0.9em;
- padding: 0.2em;
- cursor: pointer;
-}
+% $r->content_type('application/json; charset=utf-8');
+<% JSON( \@suggestions ) |n %>
+% $m->abort;
+<%ARGS>
+$return => ''
+$term => undef
+$max => undef
+$exclude => ''
+</%ARGS>
+<%INIT>
+# Only allow certain return fields
+$return = 'id'
+ unless $return =~ /^(?:id|Subject)$/;
-.message-stanza-folder.open {
- color: #ccc;
-}
+$m->abort unless defined $return
+ and defined $term
+ and length $term;
-.message-stanza-folder:before, .message-stanza-folder:after {
- content: " - ";
-}
+my $CurrentUser = $session{'CurrentUser'};
-.message-stanza.closed {
- display: none;
-}
+# Require privileged users
+$m->abort unless $CurrentUser->Privileged;
-/* Message quoting */
+my @excludes;
-.message-stanza {
- color: #000;
-}
+(my $prev, $term) = $term =~ /^((?:\d+\s+)*)(.*)/;
+@excludes = split ' ', $prev if $prev;
+push @excludes, split ' ', $exclude if $exclude;
-.message-stanza .message-stanza{
- color: #500050;
-}
+$m->abort unless $term;
-.message-stanza .message-stanza .message-stanza{
- color: #1a1aa6;
-}
+my %fields = %{ RT->Config->Get('TicketAutocompleteFields')
+ || { id => 'STARTSWITH', Subject => 'LIKE' } };
-.message-stanza .message-stanza .message-stanza .message-stanza {
- color: #006633;
-}
+my $tickets = RT::Tickets->new( $CurrentUser );
-.message-stanza .message-stanza .message-stanza .message-stanza .message-stanza {
- color: #003366;
+my @clauses;
+$term =~ s/(['\\])/\\$1/g; #'
+while (my ($name, $op) = each %fields) {
+ $op = 'STARTSWITH'
+ unless $op =~ /^(?:LIKE|(?:START|END)SWITH|=|!=)$/i;
+ push @clauses, qq{$name $op '$term'};
+}
+my $sql = join ' OR ', @clauses;
+if ( @excludes ) { # exclude ids already these
+ $sql = join ' AND ', "($sql)", map { qq{id != '$_'} } @excludes;
}
-.message-stanza .message-stanza .message-stanza .message-stanza .message-stanza .message-stanza {
- color: #993366;
+$m->callback( CallbackName => 'ModifyMaxResults', max => \$max );
+$max //= 10;
+
+$tickets->FromSQL($sql);
+$tickets->RowsPerPage( $max );
+
+my @suggestions;
+
+while ( my $ticket = $tickets->Next ) {
+ my $formatted = loc("#[_1]: [_2]", $ticket->Id, $ticket->Subject);
+ push @suggestions, { label => $formatted, value => $ticket->$return };
}
+
+</%INIT>
diff --git a/rt/share/html/Helpers/Autocomplete/Users b/rt/share/html/Helpers/Autocomplete/Users
index e5b7624..a8df1c4 100644
--- a/rt/share/html/Helpers/Autocomplete/Users
+++ b/rt/share/html/Helpers/Autocomplete/Users
@@ -45,14 +45,14 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-% $r->content_type('application/json');
+% $r->content_type('application/json; charset=utf-8');
<% JSON( \@suggestions ) |n %>
% $m->abort;
<%ARGS>
$return => ''
$term => undef
$delim => undef
-$max => 10
+$max => undef
$privileged => undef
$exclude => ''
$op => undef
@@ -84,62 +84,27 @@ my $CurrentUser = $session{'CurrentUser'};
$m->abort unless $CurrentUser->Privileged
or RT->Config->Get('AllowUserAutocompleteForUnprivileged');
-my %fields = %{ RT->Config->Get('UserAutocompleteFields')
- || { EmailAddress => 1, Name => 1, RealName => 'LIKE' } };
+# the API wants a list of ids
+my @exclude = split /\s*,\s*/, $exclude;
+push @exclude, RT->SystemUser->id, RT->Nobody->id;
-# If an operator is provided, check against only the returned field
-# using that operator
-%fields = ( $return => $op ) if $op;
+$m->callback( CallbackName => 'ModifyMaxResults', max => \$max );
+$max //= 10;
-my $users = RT::Users->new( $CurrentUser );
-$users->RowsPerPage( $max );
-
-$users->LimitToPrivileged() if $privileged;
-
-while (my ($name, $op) = each %fields) {
- $op = 'STARTSWITH'
- unless $op =~ /^(?:LIKE|(?:START|END)SWITH|=|!=)$/i;
-
- $users->Limit(
- FIELD => $name,
- OPERATOR => $op,
- VALUE => $term,
- ENTRYAGGREGATOR => 'OR',
- SUBCLAUSE => 'autocomplete',
- );
-}
-
-# Exclude users we don't want
-foreach (split /\s*,\s*/, $exclude) {
- $users->Limit(FIELD => 'id', VALUE => $_, OPERATOR => '!=', ENTRYAGGREGATOR => 'AND');
-}
+my $users = RT::Users->new($CurrentUser);
+$users->SimpleSearch( Privileged => $privileged,
+ Return => $return,
+ Term => $term,
+ Max => $max,
+ Exclude => \@exclude,
+ # If an operator is provided, check against only
+ # the returned field using that operator
+ $op ? ( Fields => { $return => $op } ) : (),
+ );
my @suggestions;
-
-if ( RT->Config->Get('DatabaseType') eq 'Oracle' ) {
- $users->Limit(
- FIELD => $return,
- OPERATOR => 'IS NOT',
- VALUE => 'NULL',
- );
-}
-else {
- $users->Limit( FIELD => $return, OPERATOR => '!=', VALUE => '' );
- $users->Limit(
- FIELD => $return,
- OPERATOR => 'IS NOT',
- VALUE => 'NULL',
- ENTRYAGGREGATOR => 'AND'
- );
-}
-
while ( my $user = $users->Next ) {
- next if $user->id == RT->SystemUser->id
- or $user->id == RT->Nobody->id;
-
- my $formatted = $m->scomp('/Elements/ShowUser', User => $user, NoEscape => 1);
- $formatted =~ s/\n//g;
- my $suggestion = { label => $formatted, value => $user->$return, id => $user->id };
+ my $suggestion = { id => $user->id, label => $user->Format, value => $user->$return };
$m->callback( CallbackName => "ModifySuggestion", suggestion => $suggestion, user => $user );
push @suggestions, $suggestion;
}
diff --git a/rt/share/html/Helpers/TicketHistory b/rt/share/html/Helpers/TicketHistory
index 91c975c..433508d 100644
--- a/rt/share/html/Helpers/TicketHistory
+++ b/rt/share/html/Helpers/TicketHistory
@@ -52,16 +52,17 @@ $id
my $TicketObj = RT::Ticket->new($session{'CurrentUser'});
$TicketObj->Load($id);
-my $attachments = $m->comp('/Ticket/Elements/FindAttachments', Ticket => $TicketObj);
-my $attachment_content = $m->comp('/Ticket/Elements/LoadTextAttachments', Ticket => $TicketObj);
-
-$m->comp('/Ticket/Elements/ShowHistory',
- Ticket => $TicketObj,
- Collapsed => $ARGS{'Collapsed'},
+my $attachments = $TicketObj->Attachments;
+my $attachment_content = $TicketObj->TextAttachments;
+my %extra_args;
+$m->callback( CallbackName => 'ExtraShowHistoryArguments', Ticket => $TicketObj, ExtraArgs => \%extra_args );
+</%INIT>
+<& /Elements/ShowHistory,
+ Object => $TicketObj,
ShowHeaders => $ARGS{'ShowHeaders'},
Attachments => $attachments,
- AttachmentContent => $attachment_content
-);
-
-$m->abort();
-</%INIT>
+ AttachmentContent => $attachment_content,
+ %extra_args,
+ &>
+<script type="text/javascript">ReplaceUserReferences()</script>
+% $m->abort();
diff --git a/rt/share/html/Admin/Queues/Scrip.html b/rt/share/html/Helpers/UserInfo
index d4f3499..3350954 100755..100644
--- a/rt/share/html/Admin/Queues/Scrip.html
+++ b/rt/share/html/Helpers/UserInfo
@@ -45,33 +45,33 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<& /Admin/Elements/Header, Title => $title &>
-<& /Elements/Tabs &>
-
-<& /Elements/ListActions, actions => \@results &>
-<& /Admin/Elements/EditScrip, title => $title, %ARGS, id => $id &>
-
+<%args>
+$id
+</%args>
<%init>
-my $QueueObj = RT::Queue->new( $session{'CurrentUser'} );
-$QueueObj->Load( $Queue );
-unless( $QueueObj->id ) {
- Abort(loc("Queue [_1] not found", $id));
-}
+my %users;
-my ($title);
+$id = [$id] unless ref($id) eq 'ARRAY';
-($id, my @results) = $m->comp( '/Admin/Elements/EditScrip:Process', %ARGS );
+for my $uid (@$id) {
+ next if exists $users{$uid};
-if ( $id ) {
- $title = loc("Modify a scrip for queue [_1]", $QueueObj->Name);
-} else {
- $title = loc("Create a scrip for queue [_1]", $QueueObj->Name);
-}
+ my $user = RT::User->new($session{'CurrentUser'});
+ $user->Load($uid);
+ unless ($user->id) {
+ $users{$uid} = undef;
+ next;
+ }
+ my %user = map { $_ => $user->$_ }
+ qw(id Name EmailAddress RealName);
+ $user{Privileged} = $user->Privileged ? JSON::true : JSON::false;
+ $user{_formatted} = $user->Format;
+ $user{_html} = $m->scomp('/Elements/ShowUser', User => $user);
+ $users{$uid} = \%user;
+}
+$r->content_type('application/json; charset=utf-8');
+$m->out( JSON(\%users) );
+$m->abort;
</%init>
-
-<%ARGS>
-$id => undef
-$Queue => undef
-</%ARGS>
diff --git a/rt/share/html/Install/DatabaseDetails.html b/rt/share/html/Install/DatabaseDetails.html
index b79793e..b64cc5a 100644
--- a/rt/share/html/Install/DatabaseDetails.html
+++ b/rt/share/html/Install/DatabaseDetails.html
@@ -105,9 +105,6 @@ unless ( $db_type eq 'SQLite' ) {
push @Types, 'DatabaseHost', 'DatabasePort', 'DatabaseAdmin',
'DatabaseAdminPassword', 'DatabaseUser', 'DatabasePassword';
}
-if ( $db_type eq 'Pg' ) {
- push @Types, 'DatabaseRequireSSL';
-}
if ( $Run ) {
@@ -129,7 +126,6 @@ if ( $Run ) {
my ( $status, $msg ) = RT::Installer->SaveConfig;
if ( $status ) {
- delete $INC{'RT_SiteConfig.pm'};
RT->LoadConfig;
RT::Handle->FinalizeDatabaseType();
# dba connect systemdsn
diff --git a/rt/share/html/Install/DatabaseType.html b/rt/share/html/Install/DatabaseType.html
index 40616a9..09d31d6 100644
--- a/rt/share/html/Install/DatabaseType.html
+++ b/rt/share/html/Install/DatabaseType.html
@@ -58,7 +58,7 @@
<&|/l&>SQLite is a database that doesn't need a server or any configuration whatsoever. RT's authors recommend it for testing, demoing and development, but it's not quite right for a high-volume production RT server.</&>
</b></p>
<p>
-<&|/l_unsafe, '<a href="http://search.cpan.org" target="_new">CPAN</a>' &>If your preferred database isn't listed in the dropdown below, that means RT couldn't find a <i>database driver</i> for it installed locally. You may be able to remedy this by using [_1] to download and install DBD::MySQL, DBD::Oracle or DBD::Pg.</&>
+<&|/l_unsafe, '<a href="http://search.cpan.org" target="_blank">CPAN</a>' &>If your preferred database isn't listed in the dropdown below, that means RT couldn't find a <i>database driver</i> for it installed locally. You may be able to remedy this by using [_1] to download and install DBD::MySQL, DBD::Oracle or DBD::Pg.</&>
</p>
</div>
diff --git a/rt/share/html/Install/Finish.html b/rt/share/html/Install/Finish.html
index 28307ba..8f9ef47 100644
--- a/rt/share/html/Install/Finish.html
+++ b/rt/share/html/Install/Finish.html
@@ -79,9 +79,11 @@ if ( $Run ) {
RT->InitClasses();
RT->InitPlugins();
- system( 'chmod -w ' . RT::Installer->ConfigFile ) &&
+ my $ret = chmod 0440, RT::Installer->ConfigFile;
+ if ( !$ret ) {
$RT::Logger->error(
'failed to make ' . RT::Installer->ConfigFile . ' readonly' );
+ }
my $root = RT::User->new( RT->SystemUser );
$root->Load('root');
my ($ok, $val) = $root->SetPassword( $RT::Installer->{InstallConfig}{Password} );
diff --git a/rt/share/html/Install/Global.html b/rt/share/html/Install/Global.html
index 593efdc..8105890 100644
--- a/rt/share/html/Install/Global.html
+++ b/rt/share/html/Install/Global.html
@@ -94,7 +94,6 @@ if ( $Run ) {
my ( $status, $msg ) = RT::Installer->SaveConfig;
if ( $status ) {
- delete $INC{'RT_SiteConfig.pm'};
RT->LoadConfig;
if ( $RT::Installer->{DatabaseAction} ne 'none' ) {
diff --git a/rt/share/html/Install/Initialize.html b/rt/share/html/Install/Initialize.html
index 8dbefcc..2c22509 100644
--- a/rt/share/html/Install/Initialize.html
+++ b/rt/share/html/Install/Initialize.html
@@ -119,6 +119,7 @@ if ( $Run ) {
$RT::Handle->dbh( undef );
RT::ConnectToDatabase();
RT::InitLogging();
+ RT::InitClasses();
($status, $msg) = $RT::Handle->InsertInitialData;
}
elsif ( $action eq 'insert' ) {
diff --git a/rt/share/html/Install/index.html b/rt/share/html/Install/index.html
index 21fb3eb..f4d9518 100644
--- a/rt/share/html/Install/index.html
+++ b/rt/share/html/Install/index.html
@@ -110,7 +110,7 @@ elsif ( $Run ) {
$RT::Installer->{InstallConfig} ||= {};
for my $field (
qw/DatabaseType DatabaseName DatabaseHost DatabasePort
- DatabaseUser DatabaseRequireSSL rtname
+ DatabaseUser rtname
Organization CommentAddress CorrespondAddress
SendmailPath WebDomain WebPort/
) {
diff --git a/rt/share/html/NoAuth/Logout.html b/rt/share/html/NoAuth/Logout.html
index c5dc23c..41abf1b 100755
--- a/rt/share/html/NoAuth/Logout.html
+++ b/rt/share/html/NoAuth/Logout.html
@@ -71,7 +71,7 @@ my $URL = RT->Config->Get('WebPath')."/";
# Allow a callback to modify the URL we redirect to, which is useful for
# external webauth systems
-$m->callback( %ARGS, URL => \$URL );
+$m->callback( %ARGS, CallbackName => 'ModifyLoginRedirect', URL => \$URL );
$m->callback( %ARGS, CallbackName => 'BeforeSessionDelete' );
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/LICENSE.html b/rt/share/html/NoAuth/RichText/ckeditor/LICENSE.html
deleted file mode 100644
index 649ca3d..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/LICENSE.html
+++ /dev/null
@@ -1,1327 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--
-== BEGIN TEXT ONLY VERSION ==
-
-Software License Agreement
-==========================
-
-CKEditor - The text editor for Internet - http://ckeditor.com
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-
-Licensed under the terms of any of the following licenses at your
-choice:
-
- - GNU General Public License Version 2 or later (the "GPL")
- http://www.gnu.org/licenses/gpl.html
- (See Appendix A)
-
- - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
- http://www.gnu.org/licenses/lgpl.html
- (See Appendix B)
-
- - Mozilla Public License Version 1.1 or later (the "MPL")
- http://www.mozilla.org/MPL/MPL-1.1.html
- (See Appendix C)
-
-You are not required to, but if you want to explicitly declare the
-license you have chosen to be bound to when using, reproducing,
-modifying and distributing this software, just include a text file
-titled "legal.txt" in your version of this software, indicating your
-license choice.
-
-Sources of Intellectual Property Included in CKEditor
-=====================================================
-
-Where not otherwise indicated, all CKEditor content is authored by
-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.
-
-Trademarks
-==========
-
-CKEditor is a trademark of CKSource - Frederico Knabben. All other brand
-and product names are trademarks, registered trademarks or service
-marks of their respective holders.
-
-Appendix A: The GPL License
-===========================
-
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software-to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-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
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software-to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages-typically libraries-of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded. In such case, this License incorporates the limitation as if
-written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-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
-
- ===============
-
-1. Definitions.
-
- 1.0.1. "Commercial Use" means distribution or otherwise making the
- Covered Code available to a third party.
-
- 1.1. "Contributor" means each entity that creates or contributes to
- the creation of Modifications.
-
- 1.2. "Contributor Version" means the combination of the Original
- Code, prior Modifications used by a Contributor, and the Modifications
- made by that particular Contributor.
-
- 1.3. "Covered Code" means the Original Code or Modifications or the
- combination of the Original Code and Modifications, in each case
- including portions thereof.
-
- 1.4. "Electronic Distribution Mechanism" means a mechanism generally
- accepted in the software development community for the electronic
- transfer of data.
-
- 1.5. "Executable" means Covered Code in any form other than Source
- Code.
-
- 1.6. "Initial Developer" means the individual or entity identified
- as the Initial Developer in the Source Code notice required by Exhibit
- A.
-
- 1.7. "Larger Work" means a work which combines Covered Code or
- portions thereof with code not governed by the terms of this License.
-
- 1.8. "License" means this document.
-
- 1.8.1. "Licensable" means having the right to grant, to the maximum
- extent possible, whether at the time of the initial grant or
- subsequently acquired, any and all of the rights conveyed herein.
-
- 1.9. "Modifications" means any addition to or deletion from the
- substance or structure of either the Original Code or any previous
- Modifications. When Covered Code is released as a series of files, a
- Modification is:
- A. Any addition to or deletion from the contents of a file
- containing Original Code or previous Modifications.
-
- B. Any new file that contains any part of the Original Code or
- previous Modifications.
-
- 1.10. "Original Code" means Source Code of computer software code
- which is described in the Source Code notice required by Exhibit A as
- Original Code, and which, at the time of its release under this
- License is not already Covered Code governed by this License.
-
- 1.10.1. "Patent Claims" means any patent claim(s), now owned or
- hereafter acquired, including without limitation, method, process,
- and apparatus claims, in any patent Licensable by grantor.
-
- 1.11. "Source Code" means the preferred form of the Covered Code for
- making modifications to it, including all modules it contains, plus
- any associated interface definition files, scripts used to control
- compilation and installation of an Executable, or source code
- differential comparisons against either the Original Code or another
- well known, available Covered Code of the Contributor's choice. The
- Source Code can be in a compressed or archival form, provided the
- appropriate decompression or de-archiving software is widely available
- for no charge.
-
- 1.12. "You" (or "Your") means an individual or a legal entity
- exercising rights under, and complying with all of the terms of, this
- License or a future version of this License issued under Section 6.1.
- For legal entities, "You" includes any entity which controls, is
- controlled by, or is under common control with You. For purposes of
- this definition, "control" means (a) the power, direct or indirect,
- to cause the direction or management of such entity, whether by
- contract or otherwise, or (b) ownership of more than fifty percent
- (50%) of the outstanding shares or beneficial ownership of such
- entity.
-
-2. Source Code License.
-
- 2.1. The Initial Developer Grant.
- The Initial Developer hereby grants You a world-wide, royalty-free,
- non-exclusive license, subject to third party intellectual property
- claims:
- (a) under intellectual property rights (other than patent or
- trademark) Licensable by Initial Developer to use, reproduce,
- modify, display, perform, sublicense and distribute the Original
- Code (or portions thereof) with or without Modifications, and/or
- as part of a Larger Work; and
-
- (b) under Patents Claims infringed by the making, using or
- selling of Original Code, to make, have made, use, practice,
- sell, and offer for sale, and/or otherwise dispose of the
- Original Code (or portions thereof).
-
- (c) the licenses granted in this Section 2.1(a) and (b) are
- effective on the date Initial Developer first distributes
- Original Code under the terms of this License.
-
- (d) Notwithstanding Section 2.1(b) above, no patent license is
- granted: 1) for code that You delete from the Original Code; 2)
- separate from the Original Code; or 3) for infringements caused
- by: i) the modification of the Original Code or ii) the
- combination of the Original Code with other software or devices.
-
- 2.2. Contributor Grant.
- Subject to third party intellectual property claims, each Contributor
- hereby grants You a world-wide, royalty-free, non-exclusive license
-
- (a) under intellectual property rights (other than patent or
- trademark) Licensable by Contributor, to use, reproduce, modify,
- display, perform, sublicense and distribute the Modifications
- created by such Contributor (or portions thereof) either on an
- unmodified basis, with other Modifications, as Covered Code
- and/or as part of a Larger Work; and
-
- (b) under Patent Claims infringed by the making, using, or
- selling of Modifications made by that Contributor either alone
- and/or in combination with its Contributor Version (or portions
- of such combination), to make, use, sell, offer for sale, have
- made, and/or otherwise dispose of: 1) Modifications made by that
- Contributor (or portions thereof); and 2) the combination of
- Modifications made by that Contributor with its Contributor
- Version (or portions of such combination).
-
- (c) the licenses granted in Sections 2.2(a) and 2.2(b) are
- effective on the date Contributor first makes Commercial Use of
- the Covered Code.
-
- (d) Notwithstanding Section 2.2(b) above, no patent license is
- granted: 1) for any code that Contributor has deleted from the
- Contributor Version; 2) separate from the Contributor Version;
- 3) for infringements caused by: i) third party modifications of
- Contributor Version or ii) the combination of Modifications made
- by that Contributor with other software (except as part of the
- Contributor Version) or other devices; or 4) under Patent Claims
- infringed by Covered Code in the absence of Modifications made by
- that Contributor.
-
-3. Distribution Obligations.
-
- 3.1. Application of License.
- The Modifications which You create or to which You contribute are
- governed by the terms of this License, including without limitation
- Section 2.2. The Source Code version of Covered Code may be
- distributed only under the terms of this License or a future version
- of this License released under Section 6.1, and You must include a
- copy of this License with every copy of the Source Code You
- distribute. You may not offer or impose any terms on any Source Code
- version that alters or restricts the applicable version of this
- License or the recipients' rights hereunder. However, You may include
- an additional document offering the additional rights described in
- Section 3.5.
-
- 3.2. Availability of Source Code.
- Any Modification which You create or to which You contribute must be
- made available in Source Code form under the terms of this License
- either on the same media as an Executable version or via an accepted
- Electronic Distribution Mechanism to anyone to whom you made an
- Executable version available; and if made available via Electronic
- Distribution Mechanism, must remain available for at least twelve (12)
- months after the date it initially became available, or at least six
- (6) months after a subsequent version of that particular Modification
- has been made available to such recipients. You are responsible for
- ensuring that the Source Code version remains available even if the
- Electronic Distribution Mechanism is maintained by a third party.
-
- 3.3. Description of Modifications.
- You must cause all Covered Code to which You contribute to contain a
- file documenting the changes You made to create that Covered Code and
- the date of any change. You must include a prominent statement that
- the Modification is derived, directly or indirectly, from Original
- Code provided by the Initial Developer and including the name of the
- Initial Developer in (a) the Source Code, and (b) in any notice in an
- Executable version or related documentation in which You describe the
- origin or ownership of the Covered Code.
-
- 3.4. Intellectual Property Matters
- (a) Third Party Claims.
- If Contributor has knowledge that a license under a third party's
- intellectual property rights is required to exercise the rights
- granted by such Contributor under Sections 2.1 or 2.2,
- Contributor must include a text file with the Source Code
- distribution titled "LEGAL" which describes the claim and the
- party making the claim in sufficient detail that a recipient will
- know whom to contact. If Contributor obtains such knowledge after
- the Modification is made available as described in Section 3.2,
- Contributor shall promptly modify the LEGAL file in all copies
- Contributor makes available thereafter and shall take other steps
- (such as notifying appropriate mailing lists or newsgroups)
- reasonably calculated to inform those who received the Covered
- Code that new knowledge has been obtained.
-
- (b) Contributor APIs.
- If Contributor's Modifications include an application programming
- interface and Contributor has knowledge of patent licenses which
- are reasonably necessary to implement that API, Contributor must
- also include this information in the LEGAL file.
-
- (c) Representations.
- Contributor represents that, except as disclosed pursuant to
- Section 3.4(a) above, Contributor believes that Contributor's
- Modifications are Contributor's original creation(s) and/or
- Contributor has sufficient rights to grant the rights conveyed by
- this License.
-
- 3.5. Required Notices.
- You must duplicate the notice in Exhibit A in each file of the Source
- Code. If it is not possible to put such notice in a particular Source
- Code file due to its structure, then You must include such notice in a
- location (such as a relevant directory) where a user would be likely
- to look for such a notice. If You created one or more Modification(s)
- You may add your name as a Contributor to the notice described in
- Exhibit A. You must also duplicate this License in any documentation
- for the Source Code where You describe recipients' rights or ownership
- rights relating to Covered Code. You may choose to offer, and to
- charge a fee for, warranty, support, indemnity or liability
- obligations to one or more recipients of Covered Code. However, You
- may do so only on Your own behalf, and not on behalf of the Initial
- Developer or any Contributor. You must make it absolutely clear than
- any such warranty, support, indemnity or liability obligation is
- offered by You alone, and You hereby agree to indemnify the Initial
- Developer and every Contributor for any liability incurred by the
- Initial Developer or such Contributor as a result of warranty,
- support, indemnity or liability terms You offer.
-
- 3.6. Distribution of Executable Versions.
- You may distribute Covered Code in Executable form only if the
- requirements of Section 3.1-3.5 have been met for that Covered Code,
- and if You include a notice stating that the Source Code version of
- the Covered Code is available under the terms of this License,
- including a description of how and where You have fulfilled the
- obligations of Section 3.2. The notice must be conspicuously included
- in any notice in an Executable version, related documentation or
- collateral in which You describe recipients' rights relating to the
- Covered Code. You may distribute the Executable version of Covered
- Code or ownership rights under a license of Your choice, which may
- contain terms different from this License, provided that You are in
- compliance with the terms of this License and that the license for the
- Executable version does not attempt to limit or alter the recipient's
- rights in the Source Code version from the rights set forth in this
- License. If You distribute the Executable version under a different
- license You must make it absolutely clear that any terms which differ
- from this License are offered by You alone, not by the Initial
- Developer or any Contributor. You hereby agree to indemnify the
- Initial Developer and every Contributor for any liability incurred by
- the Initial Developer or such Contributor as a result of any such
- terms You offer.
-
- 3.7. Larger Works.
- You may create a Larger Work by combining Covered Code with other code
- not governed by the terms of this License and distribute the Larger
- Work as a single product. In such a case, You must make sure the
- requirements of this License are fulfilled for the Covered Code.
-
-4. Inability to Comply Due to Statute or Regulation.
-
- If it is impossible for You to comply with any of the terms of this
- License with respect to some or all of the Covered Code due to
- statute, judicial order, or regulation then You must: (a) comply with
- the terms of this License to the maximum extent possible; and (b)
- describe the limitations and the code they affect. Such description
- must be included in the LEGAL file described in Section 3.4 and must
- be included with all distributions of the Source Code. Except to the
- extent prohibited by statute or regulation, such description must be
- sufficiently detailed for a recipient of ordinary skill to be able to
- understand it.
-
-5. Application of this License.
-
- This License applies to code to which the Initial Developer has
- attached the notice in Exhibit A and to related Covered Code.
-
-6. Versions of the License.
-
- 6.1. New Versions.
- Netscape Communications Corporation ("Netscape") may publish revised
- and/or new versions of the License from time to time. Each version
- will be given a distinguishing version number.
-
- 6.2. Effect of New Versions.
- Once Covered Code has been published under a particular version of the
- License, You may always continue to use it under the terms of that
- version. You may also choose to use such Covered Code under the terms
- of any subsequent version of the License published by Netscape. No one
- other than Netscape has the right to modify the terms applicable to
- Covered Code created under this License.
-
- 6.3. Derivative Works.
- If You create or use a modified version of this License (which you may
- only do in order to apply it to code which is not already Covered Code
- governed by this License), You must (a) rename Your license so that
- the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape",
- "MPL", "NPL" or any confusingly similar phrase do not appear in your
- license (except to note that your license differs from this License)
- and (b) otherwise make it clear that Your version of the license
- contains terms which differ from the Mozilla Public License and
- Netscape Public License. (Filling in the name of the Initial
- Developer, Original Code or Contributor in the notice described in
- Exhibit A shall not of themselves be deemed to be modifications of
- this License.)
-
-7. DISCLAIMER OF WARRANTY.
-
- COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
- WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
- DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
- THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
- IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
- YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
- COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
- OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
- ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-
-8. TERMINATION.
-
- 8.1. This License and the rights granted hereunder will terminate
- automatically if You fail to comply with terms herein and fail to cure
- such breach within 30 days of becoming aware of the breach. All
- sublicenses to the Covered Code which are properly granted shall
- survive any termination of this License. Provisions which, by their
- nature, must remain in effect beyond the termination of this License
- shall survive.
-
- 8.2. If You initiate litigation by asserting a patent infringement
- claim (excluding declatory judgment actions) against Initial Developer
- or a Contributor (the Initial Developer or Contributor against whom
- You file such action is referred to as "Participant") alleging that:
-
- (a) such Participant's Contributor Version directly or indirectly
- infringes any patent, then any and all rights granted by such
- Participant to You under Sections 2.1 and/or 2.2 of this License
- shall, upon 60 days notice from Participant terminate prospectively,
- unless if within 60 days after receipt of notice You either: (i)
- agree in writing to pay Participant a mutually agreeable reasonable
- royalty for Your past and future use of Modifications made by such
- Participant, or (ii) withdraw Your litigation claim with respect to
- the Contributor Version against such Participant. If within 60 days
- of notice, a reasonable royalty and payment arrangement are not
- mutually agreed upon in writing by the parties or the litigation claim
- is not withdrawn, the rights granted by Participant to You under
- Sections 2.1 and/or 2.2 automatically terminate at the expiration of
- the 60 day notice period specified above.
-
- (b) any software, hardware, or device, other than such Participant's
- Contributor Version, directly or indirectly infringes any patent, then
- any rights granted to You by such Participant under Sections 2.1(b)
- and 2.2(b) are revoked effective as of the date You first made, used,
- sold, distributed, or had made, Modifications made by that
- Participant.
-
- 8.3. If You assert a patent infringement claim against Participant
- alleging that such Participant's Contributor Version directly or
- indirectly infringes any patent where such claim is resolved (such as
- by license or settlement) prior to the initiation of patent
- infringement litigation, then the reasonable value of the licenses
- granted by such Participant under Sections 2.1 or 2.2 shall be taken
- into account in determining the amount or value of any payment or
- license.
-
- 8.4. In the event of termination under Sections 8.1 or 8.2 above,
- all end user license agreements (excluding distributors and resellers)
- which have been validly granted by You or any distributor hereunder
- prior to termination shall survive termination.
-
-9. LIMITATION OF LIABILITY.
-
- UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
- (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
- DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
- OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR
- ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
- CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
- WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
- COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
- INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
- LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
- RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
- PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
- EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
- THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
-
-10. U.S. GOVERNMENT END USERS.
-
- The Covered Code is a "commercial item," as that term is defined in
- 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
- software" and "commercial computer software documentation," as such
- terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
- C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
- all U.S. Government End Users acquire Covered Code with only those
- rights set forth herein.
-
-11. MISCELLANEOUS.
-
- This License represents the complete agreement concerning subject
- matter hereof. If any provision of this License is held to be
- unenforceable, such provision shall be reformed only to the extent
- necessary to make it enforceable. This License shall be governed by
- California law provisions (except to the extent applicable law, if
- any, provides otherwise), excluding its conflict-of-law provisions.
- With respect to disputes in which at least one party is a citizen of,
- or an entity chartered or registered to do business in the United
- States of America, any litigation relating to this License shall be
- subject to the jurisdiction of the Federal Courts of the Northern
- District of California, with venue lying in Santa Clara County,
- California, with the losing party responsible for costs, including
- without limitation, court costs and reasonable attorneys' fees and
- expenses. The application of the United Nations Convention on
- Contracts for the International Sale of Goods is expressly excluded.
- Any law or regulation which provides that the language of a contract
- shall be construed against the drafter shall not apply to this
- License.
-
-12. RESPONSIBILITY FOR CLAIMS.
-
- As between Initial Developer and the Contributors, each party is
- responsible for claims and damages arising, directly or indirectly,
- out of its utilization of rights under this License and You agree to
- work with Initial Developer and Contributors to distribute such
- responsibility on an equitable basis. Nothing herein is intended or
- shall be deemed to constitute any admission of liability.
-
-13. MULTIPLE-LICENSED CODE.
-
- Initial Developer may designate portions of the Covered Code as
- "Multiple-Licensed". "Multiple-Licensed" means that the Initial
- Developer permits you to utilize portions of the Covered Code under
- Your choice of the NPL or the alternative licenses, if any, specified
- by the Initial Developer in the file described in Exhibit A.
-
-EXHIBIT A -Mozilla Public License.
-
- ``The contents of this file are subject to the Mozilla Public License
- Version 1.1 (the "License"); you may not use this file except in
- compliance with the License. You may obtain a copy of the License at
- http://www.mozilla.org/MPL/
-
- Software distributed under the License is distributed on an "AS IS"
- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
- License for the specific language governing rights and limitations
- under the License.
-
- The Original Code is ______________________________________.
-
- The Initial Developer of the Original Code is ________________________.
- Portions created by ______________________ are Copyright (C) ______
- _______________________. All Rights Reserved.
-
- Contributor(s): ______________________________________.
-
- Alternatively, the contents of this file may be used under the terms
- of the _____ license (the "[___] License"), in which case the
- provisions of [______] License are applicable instead of those
- above. If you wish to allow use of your version of this file only
- under the terms of the [____] License and not to allow others to use
- your version of this file under the MPL, indicate your decision by
- deleting the provisions above and replace them with the notice and
- other provisions required by the [___] License. If you do not delete
- the provisions above, a recipient may use your version of this file
- under either the MPL or the [___] License."
-
- [NOTE: The text of this Exhibit A may differ slightly from the text of
- 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.]
-
-== END TEXT ONLY VERSION ==
--->
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>License - CKEditor</title>
-</head>
-<body>
- <h1>
- Software License Agreement
- </h1>
- <p>
- <strong>CKEditor&trade;</strong> - The text editor for Internet&trade; - <a href="http://ckeditor.com">
- http://ckeditor.com</a><br />
- Copyright &copy; 2003-2013, <a href="http://cksource.com/">CKSource</a> - Frederico Knabben. All rights reserved.
- </p>
- <p>
- Licensed under the terms of any of the following licenses at your choice:
- </p>
- <ul>
- <li><a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a> Version
- 2 or later (the "GPL");</li>
- <li><a href="http://www.gnu.org/licenses/lgpl.html">GNU Lesser General Public License</a>
- Version 2.1 or later (the "LGPL");</li>
- <li><a href="http://www.mozilla.org/MPL/MPL-1.1.html">Mozilla Public License</a> Version
- 1.1 or later (the "MPL").</li>
- </ul>
- <p>
- You are not required to, but if you want to explicitly declare the license you have
- chosen to be bound to when using, reproducing, modifying and distributing this software,
- just include a text file titled "LEGAL" in your version of this software, indicating
- your license choice. In any case, your choice will not restrict any recipient of
- your version of this software to use, reproduce, modify and distribute this software
- under any of the above licenses.
- </p>
- <h2>
- Sources of Intellectual Property Included in CKEditor
- </h2>
- <p>
- Where not otherwise indicated, all CKEditor content is authored by 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.
- </p>
- <p>
- <a href="http://developer.yahoo.com/yui/yuitest/">YUI Test</a>: At _source/tests/yuitest.js
- can be found part of the source code of YUI, which is licensed under the terms of
- the <a href="http://developer.yahoo.com/yui/license.txt">BSD License</a>. YUI is
- Copyright &copy; 2008, Yahoo! Inc.
- </p>
- <h2>
- Trademarks
- </h2>
- <p>
- CKEditor is a trademark of CKSource - Frederico Knabben. All other brand and product
- names are trademarks, registered trademarks or service marks of their respective
- holders.
- </p>
-</body>
-</html>
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/adapters/jquery.js b/rt/share/html/NoAuth/RichText/ckeditor/adapters/jquery.js
deleted file mode 100644
index ae923ec..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/adapters/jquery.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-(function(){CKEDITOR.config.jqueryOverrideVal=typeof CKEDITOR.config.jqueryOverrideVal=='undefined'?true:CKEDITOR.config.jqueryOverrideVal;var a=window.jQuery;if(typeof a=='undefined')return;a.extend(a.fn,{ckeditorGet:function(){var b=this.eq(0).data('ckeditorInstance');if(!b)throw 'CKEditor not yet initialized, use ckeditor() with callback.';return b;},ckeditor:function(b,c){if(!CKEDITOR.env.isCompatible)return this;if(!a.isFunction(b)){var d=c;c=b;b=d;}c=c||{};this.filter('textarea, div, p').each(function(){var e=a(this),f=e.data('ckeditorInstance'),g=e.data('_ckeditorInstanceLock'),h=this;if(f&&!g){if(b)b.apply(f,[this]);}else if(!g){if(c.autoUpdateElement||typeof c.autoUpdateElement=='undefined'&&CKEDITOR.config.autoUpdateElement)c.autoUpdateElementJquery=true;c.autoUpdateElement=false;e.data('_ckeditorInstanceLock',true);f=CKEDITOR.replace(h,c);e.data('ckeditorInstance',f);f.on('instanceReady',function(i){var j=i.editor;setTimeout(function(){if(!j.element){setTimeout(arguments.callee,100);return;}i.removeListener('instanceReady',this.callee);j.on('dataReady',function(){e.trigger('setData.ckeditor',[j]);});j.on('getData',function(l){e.trigger('getData.ckeditor',[j,l.data]);},999);j.on('destroy',function(){e.trigger('destroy.ckeditor',[j]);});if(j.config.autoUpdateElementJquery&&e.is('textarea')&&e.parents('form').length){var k=function(){e.ckeditor(function(){j.updateElement();});};e.parents('form').submit(k);e.parents('form').bind('form-pre-serialize',k);e.bind('destroy.ckeditor',function(){e.parents('form').unbind('submit',k);e.parents('form').unbind('form-pre-serialize',k);});}j.on('destroy',function(){e.data('ckeditorInstance',null);});e.data('_ckeditorInstanceLock',null);e.trigger('instanceReady.ckeditor',[j]);if(b)b.apply(j,[h]);},0);},null,null,9999);}else CKEDITOR.on('instanceReady',function(i){var j=i.editor;setTimeout(function(){if(!j.element){setTimeout(arguments.callee,100);return;}if(j.element.$==h)if(b)b.apply(j,[h]);},0);},null,null,9999);});return this;}});if(CKEDITOR.config.jqueryOverrideVal)a.fn.val=CKEDITOR.tools.override(a.fn.val,function(b){return function(c,d){var e=typeof c!='undefined',f;this.each(function(){var g=a(this),h=g.data('ckeditorInstance');if(!d&&g.is('textarea')&&h){if(e)h.setData(c);else{f=h.getData();return null;}}else if(e)b.call(g,c);else{f=b.call(g);return null;}return true;});return e?this:f;};});})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/ckeditor.js b/rt/share/html/NoAuth/RichText/ckeditor/ckeditor.js
deleted file mode 100644
index cd0359b..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/ckeditor.js
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-(function(){if(window.CKEDITOR&&window.CKEDITOR.dom)return;if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'D03G5XL',version:'3.6.6.1',revision:'7696',rnd:Math.floor(Math.random()*900)+100,_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f<e.length;f++){var g=e[f].src.match(/(^|.*[\\\/])ckeditor(?:_basic)?(?:_source)?.js(?:\?.*)?$/i);if(g){d=g[1];break;}}}if(d.indexOf(':/')==-1)if(d.indexOf('/')===0)d=location.href.match(/^.*?:\/\/[^\/]*/)[0]+d;else d=location.href.match(/^[^\?]*\/(?:)/)[0]+d;if(!d)throw 'The CKEditor installation path could not be automatically detected. Please set the global variable "CKEDITOR_BASEPATH" before creating editor instances.';return d;})(),getUrl:function(d){if(d.indexOf(':/')==-1&&d.indexOf('/')!==0)d=this.basePath+d;if(this.timestamp&&d.charAt(d.length-1)!='/'&&!/[&?]t=/.test(d))d+=(d.indexOf('?')>=0?'&':'?')+'t='+this.timestamp;return d;}},b=window.CKEDITOR_GETURL;if(b){var c=a.getUrl;a.getUrl=function(d){return b.call(a,d)||c.call(a,d);};}return a;})();var a=CKEDITOR;if(!a.event){a.event=function(){};a.event.implementOn=function(b){var c=a.event.prototype;for(var d in c){if(b[d]==undefined)b[d]=c[d];}};a.event.prototype=(function(){var b=function(d){var e=d.getPrivate&&d.getPrivate()||d._||(d._={});return e.events||(e.events={});},c=function(d){this.name=d;this.listeners=[];};c.prototype={getListenerIndex:function(d){for(var e=0,f=this.listeners;e<f.length;e++){if(f[e].fn==d)return e;}return-1;}};return{on:function(d,e,f,g,h){var i=b(this),j=i[d]||(i[d]=new c(d));if(j.getListenerIndex(e)<0){var k=j.listeners;if(!f)f=this;if(isNaN(h))h=10;var l=this,m=function(o,p,q,r){var s={name:d,sender:this,editor:o,data:p,listenerData:g,stop:q,cancel:r,removeListener:function(){l.removeListener(d,e);}};e.call(f,s);return s.data;};m.fn=e;m.priority=h;for(var n=k.length-1;n>=0;n--){if(k[n].priority<=h){k.splice(n+1,0,m);return;}}k.unshift(m);}},fire:(function(){var d=false,e=function(){d=true;},f=false,g=function(){f=true;};return function(h,i,j){var k=b(this)[h],l=d,m=f;d=f=false;if(k){var n=k.listeners;if(n.length){n=n.slice(0);for(var o=0;o<n.length;o++){var p=n[o].call(this,j,i,e,g);if(typeof p!='undefined')i=p;if(d||f)break;}}}var q=f||(typeof i=='undefined'?false:i);d=l;f=m;return q;};})(),fireOnce:function(d,e,f){var g=this.fire(d,e,f);delete b(this)[d];return g;},removeListener:function(d,e){var f=b(this)[d];if(f){var g=f.getListenerIndex(e);
-if(g>=0)f.listeners.splice(g,1);}},hasListeners:function(d){var e=b(this)[d];return e&&e.listeners.length>0;}};})();}if(!a.editor){a.ELEMENT_MODE_NONE=0;a.ELEMENT_MODE_REPLACE=1;a.ELEMENT_MODE_APPENDTO=2;a.editor=function(b,c,d,e){var f=this;f._={instanceConfig:b,element:c,data:e};f.elementMode=d||0;a.event.call(f);f._init();};a.editor.replace=function(b,c){var d=b;if(typeof d!='object'){d=document.getElementById(b);if(d&&d.tagName.toLowerCase() in {style:1,script:1,base:1,link:1,meta:1,title:1})d=null;if(!d){var e=0,f=document.getElementsByName(b);while((d=f[e++])&&d.tagName.toLowerCase()!='textarea'){}}if(!d)throw '[CKEDITOR.editor.replace] The element with id or name "'+b+'" was not found.';}d.style.visibility='hidden';return new a.editor(c,d,1);};a.editor.appendTo=function(b,c,d){var e=b;if(typeof e!='object'){e=document.getElementById(b);if(!e)throw '[CKEDITOR.editor.appendTo] The element with id "'+b+'" was not found.';}return new a.editor(c,e,2,d);};a.editor.prototype={_init:function(){var b=a.editor._pending||(a.editor._pending=[]);b.push(this);},fire:function(b,c){return a.event.prototype.fire.call(this,b,c,this);},fireOnce:function(b,c){return a.event.prototype.fireOnce.call(this,b,c,this);}};a.event.implementOn(a.editor.prototype,true);}if(!a.env)a.env=(function(){var b=navigator.userAgent.toLowerCase(),c=window.opera,d={ie:/*@cc_on!@*/false,opera:!!c&&c.version,webkit:b.indexOf(' applewebkit/')>-1,air:b.indexOf(' adobeair/')>-1,mac:b.indexOf('macintosh')>-1,quirks:document.compatMode=='BackCompat',mobile:b.indexOf('mobile')>-1,iOS:/(ipad|iphone|ipod)/.test(b),isCustomDomain:function(){if(!this.ie)return false;var g=document.domain,h=window.location.hostname;return g!=h&&g!='['+h+']';},secure:location.protocol=='https:'};d.gecko=navigator.product=='Gecko'&&!d.webkit&&!d.opera;var e=0;if(d.ie){e=parseFloat(b.match(/msie (\d+)/)[1]);d.ie8=!!document.documentMode;d.ie8Compat=document.documentMode==8;d.ie9Compat=document.documentMode==9;d.ie7Compat=e==7&&!document.documentMode||document.documentMode==7;d.ie6Compat=e<7||d.quirks;}if(d.gecko){var f=b.match(/rv:([\d\.]+)/);if(f){f=f[1].split('.');e=f[0]*10000+(f[1]||0)*100+ +(f[2]||0);}}if(d.opera)e=parseFloat(c.version());if(d.air)e=parseFloat(b.match(/ adobeair\/(\d+)/)[1]);if(d.webkit)e=parseFloat(b.match(/ applewebkit\/(\d+)/)[1]);d.version=e;d.isCompatible=d.iOS&&e>=534||!d.mobile&&(d.ie&&e>=6||d.gecko&&e>=10801||d.opera&&e>=9.5||d.air&&e>=1||d.webkit&&e>=522||false);d.cssClass='cke_browser_'+(d.ie?'ie':d.gecko?'gecko':d.opera?'opera':d.webkit?'webkit':'unknown');
-if(d.quirks)d.cssClass+=' cke_browser_quirks';if(d.ie){d.cssClass+=' cke_browser_ie'+(d.version<7?'6':d.version>=8?document.documentMode:'7');if(d.quirks)d.cssClass+=' cke_browser_iequirks';if(document.documentMode&&document.documentMode>=9)d.cssClass+=' cke_browser_ie9plus';}if(d.gecko&&e<10900)d.cssClass+=' cke_browser_gecko18';if(d.air)d.cssClass+=' cke_browser_air';return d;})();var b=a.env;var c=b.ie;if(a.status=='unloaded')(function(){a.event.implementOn(a);a.loadFullCore=function(){if(a.status!='basic_ready'){a.loadFullCore._load=1;return;}delete a.loadFullCore;var e=document.createElement('script');e.type='text/javascript';e.src=a.basePath+'ckeditor.js';document.getElementsByTagName('head')[0].appendChild(e);};a.loadFullCoreTimeout=0;a.replaceClass='ckeditor';a.replaceByClassEnabled=1;var d=function(e,f,g,h){if(b.isCompatible){if(a.loadFullCore)a.loadFullCore();var i=g(e,f,h);a.add(i);return i;}return null;};a.replace=function(e,f){return d(e,f,a.editor.replace);};a.appendTo=function(e,f,g){return d(e,f,a.editor.appendTo,g);};a.add=function(e){var f=this._.pending||(this._.pending=[]);f.push(e);};a.replaceAll=function(){var e=document.getElementsByTagName('textarea');for(var f=0;f<e.length;f++){var g=null,h=e[f];if(!h.name&&!h.id)continue;if(typeof arguments[0]=='string'){var i=new RegExp('(?:^|\\s)'+arguments[0]+'(?:$|\\s)');if(!i.test(h.className))continue;}else if(typeof arguments[0]=='function'){g={};if(arguments[0](h,g)===false)continue;}this.replace(h,g);}};(function(){var e=function(){var f=a.loadFullCore,g=a.loadFullCoreTimeout;if(a.replaceByClassEnabled)a.replaceAll(a.replaceClass);a.status='basic_ready';if(f&&f._load)f();else if(g)setTimeout(function(){if(a.loadFullCore)a.loadFullCore();},g*1000);};if(window.addEventListener)window.addEventListener('load',e,false);else if(window.attachEvent)window.attachEvent('onload',e);})();a.status='basic_loaded';})();a.dom={};var d=a.dom;(function(){var e=[];a.on('reset',function(){e=[];});a.tools={arrayCompare:function(f,g){if(!f&&!g)return true;if(!f||!g||f.length!=g.length)return false;for(var h=0;h<f.length;h++){if(f[h]!=g[h])return false;}return true;},clone:function(f){var g;if(f&&f instanceof Array){g=[];for(var h=0;h<f.length;h++)g[h]=this.clone(f[h]);return g;}if(f===null||typeof f!='object'||f instanceof String||f instanceof Number||f instanceof Boolean||f instanceof Date||f instanceof RegExp)return f;g=new f.constructor();for(var i in f){var j=f[i];g[i]=this.clone(j);}return g;},capitalize:function(f){return f.charAt(0).toUpperCase()+f.substring(1).toLowerCase();
-},extend:function(f){var g=arguments.length,h,i;if(typeof (h=arguments[g-1])=='boolean')g--;else if(typeof (h=arguments[g-2])=='boolean'){i=arguments[g-1];g-=2;}for(var j=1;j<g;j++){var k=arguments[j];for(var l in k){if(h===true||f[l]==undefined)if(!i||l in i)f[l]=k[l];}}return f;},prototypedCopy:function(f){var g=function(){};g.prototype=f;return new g();},isArray:function(f){return!!f&&f instanceof Array;},isEmpty:function(f){for(var g in f){if(f.hasOwnProperty(g))return false;}return true;},cssStyleToDomStyle:(function(){var f=document.createElement('div').style,g=typeof f.cssFloat!='undefined'?'cssFloat':typeof f.styleFloat!='undefined'?'styleFloat':'float';return function(h){if(h=='float')return g;else return h.replace(/-./g,function(i){return i.substr(1).toUpperCase();});};})(),buildStyleHtml:function(f){f=[].concat(f);var g,h=[];for(var i=0;i<f.length;i++){g=f[i];if(/@import|[{}]/.test(g))h.push('<style>'+g+'</style>');else h.push('<link type="text/css" rel=stylesheet href="'+g+'">');}return h.join('');},htmlEncode:function(f){var g=function(k){var l=new d.element('span');l.setText(k);return l.getHtml();},h=g('\n').toLowerCase()=='<br>'?function(k){return g(k).replace(/<br>/gi,'\n');}:g,i=g('>')=='>'?function(k){return h(k).replace(/>/g,'&gt;');}:h,j=g(' ')=='&nbsp; '?function(k){return i(k).replace(/&nbsp;/g,' ');}:i;this.htmlEncode=j;return this.htmlEncode(f);},htmlEncodeAttr:function(f){return f.replace(/"/g,'&quot;').replace(/</g,'&lt;').replace(/>/g,'&gt;');},getNextNumber:(function(){var f=0;return function(){return++f;};})(),getNextId:function(){return 'cke_'+this.getNextNumber();},override:function(f,g){return g(f);},setTimeout:function(f,g,h,i,j){if(!j)j=window;if(!h)h=j;return j.setTimeout(function(){if(i)f.apply(h,[].concat(i));else f.apply(h);},g||0);},trim:(function(){var f=/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g;return function(g){return g.replace(f,'');};})(),ltrim:(function(){var f=/^[ \t\n\r]+/g;return function(g){return g.replace(f,'');};})(),rtrim:(function(){var f=/[ \t\n\r]+$/g;return function(g){return g.replace(f,'');};})(),indexOf:Array.prototype.indexOf?function(f,g){return f.indexOf(g);}:function(f,g){for(var h=0,i=f.length;h<i;h++){if(f[h]===g)return h;}return-1;},bind:function(f,g){return function(){return f.apply(g,arguments);};},createClass:function(f){var g=f.$,h=f.base,i=f.privates||f._,j=f.proto,k=f.statics;if(i){var l=g;g=function(){var p=this;var m=p._||(p._={});for(var n in i){var o=i[n];m[n]=typeof o=='function'?a.tools.bind(o,p):o;
-}l.apply(p,arguments);};}if(h){g.prototype=this.prototypedCopy(h.prototype);g.prototype['constructor']=g;g.prototype.base=function(){this.base=h.prototype.base;h.apply(this,arguments);this.base=arguments.callee;};}if(j)this.extend(g.prototype,j,true);if(k)this.extend(g,k,true);return g;},addFunction:function(f,g){return e.push(function(){return f.apply(g||this,arguments);})-1;},removeFunction:function(f){e[f]=null;},callFunction:function(f){var g=e[f];return g&&g.apply(window,Array.prototype.slice.call(arguments,1));},cssLength:(function(){return function(f){return f+(!f||isNaN(Number(f))?'':'px');};})(),convertToPx:(function(){var f;return function(g){if(!f){f=d.element.createFromHtml('<div style="position:absolute;left:-9999px;top:-9999px;margin:0px;padding:0px;border:0px;"></div>',a.document);a.document.getBody().append(f);}if(!/%$/.test(g)){f.setStyle('width',g);return f.$.clientWidth;}return g;};})(),repeat:function(f,g){return new Array(g+1).join(f);},tryThese:function(){var f;for(var g=0,h=arguments.length;g<h;g++){var i=arguments[g];try{f=i();break;}catch(j){}}return f;},genKey:function(){return Array.prototype.slice.call(arguments).join('-');},normalizeCssText:function(f,g){var h=[],i,j=a.tools.parseCssText(f,true,g);for(i in j)h.push(i+':'+j[i]);h.sort();return h.length?h.join(';')+';':'';},convertRgbToHex:function(f){return f.replace(/(?:rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\))/gi,function(g,h,i,j){var k=[h,i,j];for(var l=0;l<3;l++)k[l]=('0'+parseInt(k[l],10).toString(16)).slice(-2);return '#'+k.join('');});},parseCssText:function(f,g,h){var i={};if(h){var j=new d.element('span');j.setAttribute('style',f);f=a.tools.convertRgbToHex(j.getAttribute('style')||'');}if(!f||f==';')return i;f.replace(/&quot;/g,'"').replace(/\s*([^:;\s]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(k,l,m){if(g){l=l.toLowerCase();if(l=='font-family')m=m.toLowerCase().replace(/["']/g,'').replace(/\s*,\s*/g,',');m=a.tools.trim(m);}i[l]=m;});return i;}};})();var e=a.tools;a.dtd=(function(){var f=e.extend,g={isindex:1,fieldset:1},h={input:1,button:1,select:1,textarea:1,label:1},i=f({a:1},h),j=f({iframe:1},i),k={hr:1,ul:1,menu:1,div:1,section:1,header:1,footer:1,nav:1,article:1,aside:1,figure:1,dialog:1,hgroup:1,mark:1,time:1,meter:1,command:1,keygen:1,output:1,progress:1,audio:1,video:1,details:1,datagrid:1,datalist:1,blockquote:1,noscript:1,table:1,center:1,address:1,dir:1,pre:1,h5:1,dl:1,h4:1,noframes:1,h6:1,ol:1,h1:1,h3:1,h2:1},l={ins:1,del:1,script:1,style:1},m=f({b:1,acronym:1,bdo:1,'var':1,'#':1,abbr:1,code:1,br:1,i:1,cite:1,kbd:1,u:1,strike:1,s:1,tt:1,strong:1,q:1,samp:1,em:1,dfn:1,span:1,wbr:1},l),n=f({sub:1,img:1,object:1,sup:1,basefont:1,map:1,applet:1,font:1,big:1,small:1,mark:1},m),o=f({p:1},n),p=f({iframe:1},n,h),q={img:1,noscript:1,br:1,kbd:1,center:1,button:1,basefont:1,h5:1,h4:1,samp:1,h6:1,ol:1,h1:1,h3:1,h2:1,form:1,font:1,'#':1,select:1,menu:1,ins:1,abbr:1,label:1,code:1,table:1,script:1,cite:1,input:1,iframe:1,strong:1,textarea:1,noframes:1,big:1,small:1,span:1,hr:1,sub:1,bdo:1,'var':1,div:1,section:1,header:1,footer:1,nav:1,article:1,aside:1,figure:1,dialog:1,hgroup:1,mark:1,time:1,meter:1,menu:1,command:1,keygen:1,output:1,progress:1,audio:1,video:1,details:1,datagrid:1,datalist:1,object:1,sup:1,strike:1,dir:1,map:1,dl:1,applet:1,del:1,isindex:1,fieldset:1,ul:1,b:1,acronym:1,a:1,blockquote:1,i:1,u:1,s:1,tt:1,address:1,q:1,pre:1,p:1,em:1,dfn:1},r=f({a:1},p),s={tr:1},t={'#':1},u=f({param:1},q),v=f({form:1},g,j,k,o),w={li:1},x={style:1,script:1},y={base:1,link:1,meta:1,title:1},z=f(y,x),A={head:1,body:1},B={html:1},C={address:1,blockquote:1,center:1,dir:1,div:1,section:1,header:1,footer:1,nav:1,article:1,aside:1,figure:1,dialog:1,hgroup:1,time:1,meter:1,menu:1,command:1,keygen:1,output:1,progress:1,audio:1,video:1,details:1,datagrid:1,datalist:1,dl:1,fieldset:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,isindex:1,noframes:1,ol:1,p:1,pre:1,table:1,ul:1};
-return{$nonBodyContent:f(B,A,y),$block:C,$blockLimit:{body:1,div:1,section:1,header:1,footer:1,nav:1,article:1,aside:1,figure:1,dialog:1,hgroup:1,time:1,meter:1,menu:1,command:1,keygen:1,output:1,progress:1,audio:1,video:1,details:1,datagrid:1,datalist:1,td:1,th:1,caption:1,form:1},$inline:r,$body:f({script:1,style:1},C),$cdata:{script:1,style:1},$empty:{area:1,base:1,br:1,col:1,hr:1,img:1,input:1,link:1,meta:1,param:1,wbr:1},$listItem:{dd:1,dt:1,li:1},$list:{ul:1,ol:1,dl:1},$nonEditable:{applet:1,button:1,embed:1,iframe:1,map:1,object:1,option:1,script:1,textarea:1,param:1,audio:1,video:1},$captionBlock:{caption:1,legend:1},$removeEmpty:{abbr:1,acronym:1,address:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,s:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1,mark:1},$tabIndex:{a:1,area:1,button:1,input:1,object:1,select:1,textarea:1},$tableContent:{caption:1,col:1,colgroup:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1},html:A,head:z,style:t,script:t,body:v,base:{},link:{},meta:{},title:t,col:{},tr:{td:1,th:1},img:{},colgroup:{col:1},noscript:v,td:v,br:{},wbr:{},th:v,center:v,kbd:r,button:f(o,k),basefont:{},h5:r,h4:r,samp:r,h6:r,ol:w,h1:r,h3:r,option:t,h2:r,form:f(g,j,k,o),select:{optgroup:1,option:1},font:r,ins:r,menu:w,abbr:r,label:r,table:{thead:1,col:1,tbody:1,tr:1,colgroup:1,caption:1,tfoot:1},code:r,tfoot:s,cite:r,li:v,input:{},iframe:v,strong:r,textarea:t,noframes:v,big:r,small:r,span:r,hr:{},dt:r,sub:r,optgroup:{option:1},param:{},bdo:r,'var':r,div:v,object:u,sup:r,dd:v,strike:r,area:{},dir:w,map:f({area:1,form:1,p:1},g,l,k),applet:u,dl:{dt:1,dd:1},del:r,isindex:{},fieldset:f({legend:1},q),thead:s,ul:w,acronym:r,b:r,a:p,blockquote:v,caption:r,i:r,u:r,tbody:s,s:r,address:f(j,o),tt:r,legend:r,q:r,pre:f(m,i),p:r,em:r,dfn:r,section:v,header:v,footer:v,nav:v,article:v,aside:v,figure:v,dialog:v,hgroup:v,mark:r,time:r,meter:r,menu:r,command:r,keygen:r,output:r,progress:u,audio:u,video:u,details:u,datagrid:u,datalist:u};})();var f=a.dtd;d.event=function(g){this.$=g;};d.event.prototype={getKey:function(){return this.$.keyCode||this.$.which;},getKeystroke:function(){var h=this;var g=h.getKey();if(h.$.ctrlKey||h.$.metaKey)g+=1114112;if(h.$.shiftKey)g+=2228224;if(h.$.altKey)g+=4456448;return g;},preventDefault:function(g){var h=this.$;if(h.preventDefault)h.preventDefault();else h.returnValue=false;if(g)this.stopPropagation();},stopPropagation:function(){var g=this.$;if(g.stopPropagation)g.stopPropagation();else g.cancelBubble=true;
-},getTarget:function(){var g=this.$.target||this.$.srcElement;return g?new d.node(g):null;},getPageOffset:function(){var j=this;var g=j.getTarget().getDocument().$,h=j.$.pageX||j.$.clientX+(g.documentElement.scrollLeft||g.body.scrollLeft),i=j.$.pageY||j.$.clientY+(g.documentElement.scrollTop||g.body.scrollTop);return{x:h,y:i};}};a.CTRL=1114112;a.SHIFT=2228224;a.ALT=4456448;d.domObject=function(g){if(g)this.$=g;};d.domObject.prototype=(function(){var g=function(h,i){return function(j){if(typeof a!='undefined')h.fire(i,new d.event(j));};};return{getPrivate:function(){var h;if(!(h=this.getCustomData('_')))this.setCustomData('_',h={});return h;},on:function(h){var k=this;var i=k.getCustomData('_cke_nativeListeners');if(!i){i={};k.setCustomData('_cke_nativeListeners',i);}if(!i[h]){var j=i[h]=g(k,h);if(k.$.addEventListener)k.$.addEventListener(h,j,!!a.event.useCapture);else if(k.$.attachEvent)k.$.attachEvent('on'+h,j);}return a.event.prototype.on.apply(k,arguments);},removeListener:function(h){var k=this;a.event.prototype.removeListener.apply(k,arguments);if(!k.hasListeners(h)){var i=k.getCustomData('_cke_nativeListeners'),j=i&&i[h];if(j){if(k.$.removeEventListener)k.$.removeEventListener(h,j,false);else if(k.$.detachEvent)k.$.detachEvent('on'+h,j);delete i[h];}}},removeAllListeners:function(){var k=this;var h=k.getCustomData('_cke_nativeListeners');for(var i in h){var j=h[i];if(k.$.detachEvent)k.$.detachEvent('on'+i,j);else if(k.$.removeEventListener)k.$.removeEventListener(i,j,false);delete h[i];}}};})();(function(g){var h={};a.on('reset',function(){h={};});g.equals=function(i){return i&&i.$===this.$;};g.setCustomData=function(i,j){var k=this.getUniqueId(),l=h[k]||(h[k]={});l[i]=j;return this;};g.getCustomData=function(i){var j=this.$['data-cke-expando'],k=j&&h[j];return k&&k[i];};g.removeCustomData=function(i){var j=this.$['data-cke-expando'],k=j&&h[j],l=k&&k[i];if(typeof l!='undefined')delete k[i];return l||null;};g.clearCustomData=function(){this.removeAllListeners();var i=this.$['data-cke-expando'];i&&delete h[i];};g.getUniqueId=function(){return this.$['data-cke-expando']||(this.$['data-cke-expando']=e.getNextNumber());};a.event.implementOn(g);})(d.domObject.prototype);d.window=function(g){d.domObject.call(this,g);};d.window.prototype=new d.domObject();e.extend(d.window.prototype,{focus:function(){if(b.webkit&&this.$.parent)this.$.parent.focus();this.$.focus();},getViewPaneSize:function(){var g=this.$.document,h=g.compatMode=='CSS1Compat';return{width:(h?g.documentElement.clientWidth:g.body.clientWidth)||0,height:(h?g.documentElement.clientHeight:g.body.clientHeight)||0};
-},getScrollPosition:function(){var g=this.$;if('pageXOffset' in g)return{x:g.pageXOffset||0,y:g.pageYOffset||0};else{var h=g.document;return{x:h.documentElement.scrollLeft||h.body.scrollLeft||0,y:h.documentElement.scrollTop||h.body.scrollTop||0};}}});d.document=function(g){d.domObject.call(this,g);};var g=d.document;g.prototype=new d.domObject();e.extend(g.prototype,{appendStyleSheet:function(h){if(this.$.createStyleSheet)this.$.createStyleSheet(h);else{var i=new d.element('link');i.setAttributes({rel:'stylesheet',type:'text/css',href:h});this.getHead().append(i);}},appendStyleText:function(h){var k=this;if(k.$.createStyleSheet){var i=k.$.createStyleSheet('');i.cssText=h;}else{var j=new d.element('style',k);j.append(new d.text(h,k));k.getHead().append(j);}},createElement:function(h,i){var j=new d.element(h,this);if(i){if(i.attributes)j.setAttributes(i.attributes);if(i.styles)j.setStyles(i.styles);}return j;},createText:function(h){return new d.text(h,this);},focus:function(){this.getWindow().focus();},getById:function(h){var i=this.$.getElementById(h);return i?new d.element(i):null;},getByAddress:function(h,i){var j=this.$.documentElement;for(var k=0;j&&k<h.length;k++){var l=h[k];if(!i){j=j.childNodes[l];continue;}var m=-1;for(var n=0;n<j.childNodes.length;n++){var o=j.childNodes[n];if(i===true&&o.nodeType==3&&o.previousSibling&&o.previousSibling.nodeType==3)continue;m++;if(m==l){j=o;break;}}}return j?new d.node(j):null;},getElementsByTag:function(h,i){if(!(c&&!(document.documentMode>8))&&i)h=i+':'+h;return new d.nodeList(this.$.getElementsByTagName(h));},getHead:function(){var h=this.$.getElementsByTagName('head')[0];if(!h)h=this.getDocumentElement().append(new d.element('head'),true);else h=new d.element(h);return(this.getHead=function(){return h;})();},getBody:function(){var h=new d.element(this.$.body);return(this.getBody=function(){return h;})();},getDocumentElement:function(){var h=new d.element(this.$.documentElement);return(this.getDocumentElement=function(){return h;})();},getWindow:function(){var h=new d.window(this.$.parentWindow||this.$.defaultView);return(this.getWindow=function(){return h;})();},write:function(h){var i=this;i.$.open('text/html','replace');b.isCustomDomain()&&(i.$.domain=document.domain);i.$.write(h);i.$.close();}});d.node=function(h){if(h){var i=h.nodeType==9?'document':h.nodeType==1?'element':h.nodeType==3?'text':h.nodeType==8?'comment':'domObject';return new d[i](h);}return this;};d.node.prototype=new d.domObject();a.NODE_ELEMENT=1;
-a.NODE_DOCUMENT=9;a.NODE_TEXT=3;a.NODE_COMMENT=8;a.NODE_DOCUMENT_FRAGMENT=11;a.POSITION_IDENTICAL=0;a.POSITION_DISCONNECTED=1;a.POSITION_FOLLOWING=2;a.POSITION_PRECEDING=4;a.POSITION_IS_CONTAINED=8;a.POSITION_CONTAINS=16;e.extend(d.node.prototype,{appendTo:function(h,i){h.append(this,i);return h;},clone:function(h,i){var j=this.$.cloneNode(h),k=function(l){if(l.nodeType!=1)return;if(!i)l.removeAttribute('id',false);l['data-cke-expando']=undefined;if(h){var m=l.childNodes;for(var n=0;n<m.length;n++)k(m[n]);}};k(j);return new d.node(j);},hasPrevious:function(){return!!this.$.previousSibling;},hasNext:function(){return!!this.$.nextSibling;},insertAfter:function(h){h.$.parentNode.insertBefore(this.$,h.$.nextSibling);return h;},insertBefore:function(h){h.$.parentNode.insertBefore(this.$,h.$);return h;},insertBeforeMe:function(h){this.$.parentNode.insertBefore(h.$,this.$);return h;},getAddress:function(h){var i=[],j=this.getDocument().$.documentElement,k=this.$;while(k&&k!=j){var l=k.parentNode;if(l)i.unshift(this.getIndex.call({$:k},h));k=l;}return i;},getDocument:function(){return new g(this.$.ownerDocument||this.$.parentNode.ownerDocument);},getIndex:function(h){var i=this.$,j=0;while(i=i.previousSibling){if(h&&i.nodeType==3&&(!i.nodeValue.length||i.previousSibling&&i.previousSibling.nodeType==3))continue;j++;}return j;},getNextSourceNode:function(h,i,j){if(j&&!j.call){var k=j;j=function(n){return!n.equals(k);};}var l=!h&&this.getFirst&&this.getFirst(),m;if(!l){if(this.type==1&&j&&j(this,true)===false)return null;l=this.getNext();}while(!l&&(m=(m||this).getParent())){if(j&&j(m,true)===false)return null;l=m.getNext();}if(!l)return null;if(j&&j(l)===false)return null;if(i&&i!=l.type)return l.getNextSourceNode(false,i,j);return l;},getPreviousSourceNode:function(h,i,j){if(j&&!j.call){var k=j;j=function(n){return!n.equals(k);};}var l=!h&&this.getLast&&this.getLast(),m;if(!l){if(this.type==1&&j&&j(this,true)===false)return null;l=this.getPrevious();}while(!l&&(m=(m||this).getParent())){if(j&&j(m,true)===false)return null;l=m.getPrevious();}if(!l)return null;if(j&&j(l)===false)return null;if(i&&l.type!=i)return l.getPreviousSourceNode(false,i,j);return l;},getPrevious:function(h){var i=this.$,j;do{i=i.previousSibling;j=i&&i.nodeType!=10&&new d.node(i);}while(j&&h&&!h(j));return j;},getNext:function(h){var i=this.$,j;do{i=i.nextSibling;j=i&&new d.node(i);}while(j&&h&&!h(j));return j;},getParent:function(){var h=this.$.parentNode;return h&&h.nodeType==1?new d.node(h):null;
-},getParents:function(h){var i=this,j=[];do j[h?'push':'unshift'](i);while(i=i.getParent());return j;},getCommonAncestor:function(h){var j=this;if(h.equals(j))return j;if(h.contains&&h.contains(j))return h;var i=j.contains?j:j.getParent();do{if(i.contains(h))return i;}while(i=i.getParent());return null;},getPosition:function(h){var i=this.$,j=h.$;if(i.compareDocumentPosition)return i.compareDocumentPosition(j);if(i==j)return 0;if(this.type==1&&h.type==1){if(i.contains){if(i.contains(j))return 16+4;if(j.contains(i))return 8+2;}if('sourceIndex' in i)return i.sourceIndex<0||j.sourceIndex<0?1:i.sourceIndex<j.sourceIndex?4:2;}var k=this.getAddress(),l=h.getAddress(),m=Math.min(k.length,l.length);for(var n=0;n<=m-1;n++){if(k[n]!=l[n]){if(n<m)return k[n]<l[n]?4:2;break;}}return k.length<l.length?16+4:8+2;},getAscendant:function(h,i){var j=this.$,k;if(!i)j=j.parentNode;while(j){if(j.nodeName&&(k=j.nodeName.toLowerCase(),typeof h=='string'?k==h:k in h))return new d.node(j);j=j.parentNode;}return null;},hasAscendant:function(h,i){var j=this.$;if(!i)j=j.parentNode;while(j){if(j.nodeName&&j.nodeName.toLowerCase()==h)return true;j=j.parentNode;}return false;},move:function(h,i){h.append(this.remove(),i);},remove:function(h){var i=this.$,j=i.parentNode;if(j){if(h)for(var k;k=i.firstChild;)j.insertBefore(i.removeChild(k),i);j.removeChild(i);}return this;},replace:function(h){this.insertBefore(h);h.remove();},trim:function(){this.ltrim();this.rtrim();},ltrim:function(){var k=this;var h;while(k.getFirst&&(h=k.getFirst())){if(h.type==3){var i=e.ltrim(h.getText()),j=h.getLength();if(!i){h.remove();continue;}else if(i.length<j){h.split(j-i.length);k.$.removeChild(k.$.firstChild);}}break;}},rtrim:function(){var k=this;var h;while(k.getLast&&(h=k.getLast())){if(h.type==3){var i=e.rtrim(h.getText()),j=h.getLength();if(!i){h.remove();continue;}else if(i.length<j){h.split(i.length);k.$.lastChild.parentNode.removeChild(k.$.lastChild);}}break;}if(!c&&!b.opera){h=k.$.lastChild;if(h&&h.type==1&&h.nodeName.toLowerCase()=='br')h.parentNode.removeChild(h);}},isReadOnly:function(){var h=this;if(this.type!=1)h=this.getParent();if(h&&typeof h.$.isContentEditable!='undefined')return!(h.$.isContentEditable||h.data('cke-editable'));else{var i=h;while(i){if(i.is('body')||!!i.data('cke-editable'))break;if(i.getAttribute('contentEditable')=='false')return true;else if(i.getAttribute('contentEditable')=='true')break;i=i.getParent();}return false;}}});d.nodeList=function(h){this.$=h;};d.nodeList.prototype={count:function(){return this.$.length;
-},getItem:function(h){var i=this.$[h];return i?new d.node(i):null;}};d.element=function(h,i){if(typeof h=='string')h=(i?i.$:document).createElement(h);d.domObject.call(this,h);};var h=d.element;h.get=function(i){return i&&(i.$?i:new h(i));};h.prototype=new d.node();h.createFromHtml=function(i,j){var k=new h('div',j);k.setHtml(i);return k.getFirst().remove();};h.setMarker=function(i,j,k,l){var m=j.getCustomData('list_marker_id')||j.setCustomData('list_marker_id',e.getNextNumber()).getCustomData('list_marker_id'),n=j.getCustomData('list_marker_names')||j.setCustomData('list_marker_names',{}).getCustomData('list_marker_names');i[m]=j;n[k]=1;return j.setCustomData(k,l);};h.clearAllMarkers=function(i){for(var j in i)h.clearMarkers(i,i[j],1);};h.clearMarkers=function(i,j,k){var l=j.getCustomData('list_marker_names'),m=j.getCustomData('list_marker_id');for(var n in l)j.removeCustomData(n);j.removeCustomData('list_marker_names');if(k){j.removeCustomData('list_marker_id');delete i[m];}};(function(){e.extend(h.prototype,{type:1,addClass:function(l){var m=this.$.className;if(m){var n=new RegExp('(?:^|\\s)'+l+'(?:\\s|$)','');if(!n.test(m))m+=' '+l;}this.$.className=m||l;},removeClass:function(l){var m=this.getAttribute('class');if(m){var n=new RegExp('(?:^|\\s+)'+l+'(?=\\s|$)','i');if(n.test(m)){m=m.replace(n,'').replace(/^\s+/,'');if(m)this.setAttribute('class',m);else this.removeAttribute('class');}}},hasClass:function(l){var m=new RegExp('(?:^|\\s+)'+l+'(?=\\s|$)','');return m.test(this.getAttribute('class'));},append:function(l,m){var n=this;if(typeof l=='string')l=n.getDocument().createElement(l);if(m)n.$.insertBefore(l.$,n.$.firstChild);else n.$.appendChild(l.$);return l;},appendHtml:function(l){var n=this;if(!n.$.childNodes.length)n.setHtml(l);else{var m=new h('div',n.getDocument());m.setHtml(l);m.moveChildren(n);}},appendText:function(l){if(this.$.text!=undefined)this.$.text+=l;else this.append(new d.text(l));},appendBogus:function(){var n=this;var l=n.getLast();while(l&&l.type==3&&!e.rtrim(l.getText()))l=l.getPrevious();if(!l||!l.is||!l.is('br')){var m=b.opera?n.getDocument().createText(''):n.getDocument().createElement('br');b.gecko&&m.setAttribute('type','_moz');n.append(m);}},breakParent:function(l){var o=this;var m=new d.range(o.getDocument());m.setStartAfter(o);m.setEndAfter(l);var n=m.extractContents();m.insertNode(o.remove());n.insertAfterNode(o);},contains:c||b.webkit?function(l){var m=this.$;return l.type!=1?m.contains(l.getParent().$):m!=l.$&&m.contains(l.$);
-}:function(l){return!!(this.$.compareDocumentPosition(l.$)&16);},focus:(function(){function l(){try{this.$.focus();}catch(m){}};return function(m){if(m)e.setTimeout(l,100,this);else l.call(this);};})(),getHtml:function(){var l=this.$.innerHTML;return c?l.replace(/<\?[^>]*>/g,''):l;},getOuterHtml:function(){var m=this;if(m.$.outerHTML)return m.$.outerHTML.replace(/<\?[^>]*>/,'');var l=m.$.ownerDocument.createElement('div');l.appendChild(m.$.cloneNode(true));return l.innerHTML;},setHtml:function(l){return this.$.innerHTML=l;},setText:function(l){h.prototype.setText=this.$.innerText!=undefined?function(m){return this.$.innerText=m;}:function(m){return this.$.textContent=m;};return this.setText(l);},getAttribute:(function(){var l=function(m){return this.$.getAttribute(m,2);};if(c&&(b.ie7Compat||b.ie6Compat))return function(m){var q=this;switch(m){case 'class':m='className';break;case 'http-equiv':m='httpEquiv';break;case 'name':return q.$.name;case 'tabindex':var n=l.call(q,m);if(n!==0&&q.$.tabIndex===0)n=null;return n;break;case 'checked':var o=q.$.attributes.getNamedItem(m),p=o.specified?o.nodeValue:q.$.checked;return p?'checked':null;case 'hspace':case 'value':return q.$[m];case 'style':return q.$.style.cssText;case 'contenteditable':case 'contentEditable':return q.$.attributes.getNamedItem('contentEditable').specified?q.$.getAttribute('contentEditable'):null;}return l.call(q,m);};else return l;})(),getChildren:function(){return new d.nodeList(this.$.childNodes);},getComputedStyle:c?function(l){return this.$.currentStyle[e.cssStyleToDomStyle(l)];}:function(l){var m=this.getWindow().$.getComputedStyle(this.$,null);return m?m.getPropertyValue(l):'';},getDtd:function(){var l=f[this.getName()];this.getDtd=function(){return l;};return l;},getElementsByTag:g.prototype.getElementsByTag,getTabIndex:c?function(){var l=this.$.tabIndex;if(l===0&&!f.$tabIndex[this.getName()]&&parseInt(this.getAttribute('tabindex'),10)!==0)l=-1;return l;}:b.webkit?function(){var l=this.$.tabIndex;if(l==undefined){l=parseInt(this.getAttribute('tabindex'),10);if(isNaN(l))l=-1;}return l;}:function(){return this.$.tabIndex;},getText:function(){return this.$.textContent||this.$.innerText||'';},getWindow:function(){return this.getDocument().getWindow();},getId:function(){return this.$.id||null;},getNameAtt:function(){return this.$.name||null;},getName:function(){var l=this.$.nodeName.toLowerCase();if(c&&!(document.documentMode>8)){var m=this.$.scopeName;if(m!='HTML')l=m.toLowerCase()+':'+l;}return(this.getName=function(){return l;
-})();},getValue:function(){return this.$.value;},getFirst:function(l){var m=this.$.firstChild,n=m&&new d.node(m);if(n&&l&&!l(n))n=n.getNext(l);return n;},getLast:function(l){var m=this.$.lastChild,n=m&&new d.node(m);if(n&&l&&!l(n))n=n.getPrevious(l);return n;},getStyle:function(l){return this.$.style[e.cssStyleToDomStyle(l)];},is:function(){var l=this.getName();for(var m=0;m<arguments.length;m++){if(arguments[m]==l)return true;}return false;},isEditable:function(l){var o=this;var m=o.getName();if(o.isReadOnly()||o.getComputedStyle('display')=='none'||o.getComputedStyle('visibility')=='hidden'||o.is('a')&&o.data('cke-saved-name')&&!o.getChildCount()||f.$nonEditable[m]||f.$empty[m])return false;if(l!==false){var n=f[m]||f.span;return n&&n['#'];}return true;},isIdentical:function(l){if(this.getName()!=l.getName())return false;var m=this.$.attributes,n=l.$.attributes,o=m.length,p=n.length;for(var q=0;q<o;q++){var r=m[q];if(r.nodeName=='_moz_dirty')continue;if((!c||r.specified&&r.nodeName!='data-cke-expando')&&r.nodeValue!=l.getAttribute(r.nodeName))return false;}if(c)for(q=0;q<p;q++){r=n[q];if(r.specified&&r.nodeName!='data-cke-expando'&&r.nodeValue!=this.getAttribute(r.nodeName))return false;}return true;},isVisible:function(){var o=this;var l=(o.$.offsetHeight||o.$.offsetWidth)&&o.getComputedStyle('visibility')!='hidden',m,n;if(l&&(b.webkit||b.opera)){m=o.getWindow();if(!m.equals(a.document.getWindow())&&(n=m.$.frameElement))l=new h(n).isVisible();}return!!l;},isEmptyInlineRemoveable:function(){if(!f.$removeEmpty[this.getName()])return false;var l=this.getChildren();for(var m=0,n=l.count();m<n;m++){var o=l.getItem(m);if(o.type==1&&o.data('cke-bookmark'))continue;if(o.type==1&&!o.isEmptyInlineRemoveable()||o.type==3&&e.trim(o.getText()))return false;}return true;},hasAttributes:c&&(b.ie7Compat||b.ie6Compat)?function(){var l=this.$.attributes;for(var m=0;m<l.length;m++){var n=l[m];switch(n.nodeName){case 'class':if(this.getAttribute('class'))return true;case 'data-cke-expando':continue;default:if(n.specified)return true;}}return false;}:function(){var l=this.$.attributes,m=l.length,n={'data-cke-expando':1,_moz_dirty:1};return m>0&&(m>2||!n[l[0].nodeName]||m==2&&!n[l[1].nodeName]);},hasAttribute:(function(){function l(m){var n=this.$.attributes.getNamedItem(m);return!!(n&&n.specified);};return c&&b.version<8?function(m){if(m=='name')return!!this.$.name;return l.call(this,m);}:l;})(),hide:function(){this.setStyle('display','none');},moveChildren:function(l,m){var n=this.$;
-l=l.$;if(n==l)return;var o;if(m)while(o=n.lastChild)l.insertBefore(n.removeChild(o),l.firstChild);else while(o=n.firstChild)l.appendChild(n.removeChild(o));},mergeSiblings:(function(){function l(m,n,o){if(n&&n.type==1){var p=[];while(n.data('cke-bookmark')||n.isEmptyInlineRemoveable()){p.push(n);n=o?n.getNext():n.getPrevious();if(!n||n.type!=1)return;}if(m.isIdentical(n)){var q=o?m.getLast():m.getFirst();while(p.length)p.shift().move(m,!o);n.moveChildren(m,!o);n.remove();if(q&&q.type==1)q.mergeSiblings();}}};return function(m){var n=this;if(!(m===false||f.$removeEmpty[n.getName()]||n.is('a')))return;l(n,n.getNext(),true);l(n,n.getPrevious());};})(),show:function(){this.setStyles({display:'',visibility:''});},setAttribute:(function(){var l=function(m,n){this.$.setAttribute(m,n);return this;};if(c&&(b.ie7Compat||b.ie6Compat))return function(m,n){var o=this;if(m=='class')o.$.className=n;else if(m=='style')o.$.style.cssText=n;else if(m=='tabindex')o.$.tabIndex=n;else if(m=='checked')o.$.checked=n;else if(m=='contenteditable')l.call(o,'contentEditable',n);else l.apply(o,arguments);return o;};else if(b.ie8Compat&&b.secure)return function(m,n){if(m=='src'&&n.match(/^http:\/\//))try{l.apply(this,arguments);}catch(o){}else l.apply(this,arguments);return this;};else return l;})(),setAttributes:function(l){for(var m in l)this.setAttribute(m,l[m]);return this;},setValue:function(l){this.$.value=l;return this;},removeAttribute:(function(){var l=function(m){this.$.removeAttribute(m);};if(c&&(b.ie7Compat||b.ie6Compat))return function(m){if(m=='class')m='className';else if(m=='tabindex')m='tabIndex';else if(m=='contenteditable')m='contentEditable';l.call(this,m);};else return l;})(),removeAttributes:function(l){if(e.isArray(l))for(var m=0;m<l.length;m++)this.removeAttribute(l[m]);else for(var n in l)l.hasOwnProperty(n)&&this.removeAttribute(n);},removeStyle:function(l){var p=this;var m=p.$.style;if(!m.removeProperty&&(l=='border'||l=='margin'||l=='padding')){var n=j(l);for(var o=0;o<n.length;o++)p.removeStyle(n[o]);return;}m.removeProperty?m.removeProperty(l):m.removeAttribute(e.cssStyleToDomStyle(l));if(!p.$.style.cssText)p.removeAttribute('style');},setStyle:function(l,m){this.$.style[e.cssStyleToDomStyle(l)]=m;return this;},setStyles:function(l){for(var m in l)this.setStyle(m,l[m]);return this;},setOpacity:function(l){if(c&&b.version<9){l=Math.round(l*100);this.setStyle('filter',l>=100?'':'progid:DXImageTransform.Microsoft.Alpha(opacity='+l+')');}else this.setStyle('opacity',l);
-},unselectable:b.gecko?function(){this.$.style.MozUserSelect='none';this.on('dragstart',function(l){l.data.preventDefault();});}:b.webkit?function(){this.$.style.KhtmlUserSelect='none';this.on('dragstart',function(l){l.data.preventDefault();});}:function(){if(c||b.opera){var l=this.$,m=l.getElementsByTagName('*'),n,o=0;l.unselectable='on';while(n=m[o++])switch(n.tagName.toLowerCase()){case 'iframe':case 'textarea':case 'input':case 'select':break;default:n.unselectable='on';}}},getPositionedAncestor:function(){var l=this;while(l.getName()!='html'){if(l.getComputedStyle('position')!='static')return l;l=l.getParent();}return null;},getDocumentPosition:function(l){var G=this;var m=0,n=0,o=G.getDocument(),p=o.getBody(),q=o.$.compatMode=='BackCompat';if(document.documentElement.getBoundingClientRect){var r=G.$.getBoundingClientRect(),s=o.$,t=s.documentElement,u=t.clientTop||p.$.clientTop||0,v=t.clientLeft||p.$.clientLeft||0,w=true;if(c){var x=o.getDocumentElement().contains(G),y=o.getBody().contains(G);w=q&&y||!q&&x;}if(w){m=r.left+(!q&&t.scrollLeft||p.$.scrollLeft);m-=v;n=r.top+(!q&&t.scrollTop||p.$.scrollTop);n-=u;}}else{var z=G,A=null,B;while(z&&!(z.getName()=='body'||z.getName()=='html')){m+=z.$.offsetLeft-z.$.scrollLeft;n+=z.$.offsetTop-z.$.scrollTop;if(!z.equals(G)){m+=z.$.clientLeft||0;n+=z.$.clientTop||0;}var C=A;while(C&&!C.equals(z)){m-=C.$.scrollLeft;n-=C.$.scrollTop;C=C.getParent();}A=z;z=(B=z.$.offsetParent)?new h(B):null;}}if(l){var D=G.getWindow(),E=l.getWindow();if(!D.equals(E)&&D.$.frameElement){var F=new h(D.$.frameElement).getDocumentPosition(l);m+=F.x;n+=F.y;}}if(!document.documentElement.getBoundingClientRect)if(b.gecko&&!q){m+=G.$.clientLeft?1:0;n+=G.$.clientTop?1:0;}return{x:m,y:n};},scrollIntoView:function(l){var m=this.getParent();if(!m)return;do{var n=m.$.clientWidth&&m.$.clientWidth<m.$.scrollWidth||m.$.clientHeight&&m.$.clientHeight<m.$.scrollHeight;if(n)this.scrollIntoParent(m,l,1);if(m.is('html')){var o=m.getWindow();try{var p=o.$.frameElement;p&&(m=new h(p));}catch(q){}}}while(m=m.getParent());},scrollIntoParent:function(l,m,n){!l&&(l=this.getWindow());var o=l.getDocument(),p=o.$.compatMode=='BackCompat';if(l instanceof d.window)l=p?o.getBody():o.getDocumentElement();function q(C,D){if(/body|html/.test(l.getName()))l.getWindow().$.scrollBy(C,D);else{l.$.scrollLeft+=C;l.$.scrollTop+=D;}};function r(C,D){var E={x:0,y:0};if(!C.is(p?'body':'html')){var F=C.$.getBoundingClientRect();E.x=F.left,E.y=F.top;}var G=C.getWindow();if(!G.equals(D)){var H=r(h.get(G.$.frameElement),D);
-E.x+=H.x,E.y+=H.y;}return E;};function s(C,D){return parseInt(C.getComputedStyle('margin-'+D)||0,10)||0;};var t=l.getWindow(),u=r(this,t),v=r(l,t),w=this.$.offsetHeight,x=this.$.offsetWidth,y=l.$.clientHeight,z=l.$.clientWidth,A,B;A={x:u.x-s(this,'left')-v.x||0,y:u.y-s(this,'top')-v.y||0};B={x:u.x+x+s(this,'right')-(v.x+z)||0,y:u.y+w+s(this,'bottom')-(v.y+y)||0};if(A.y<0||B.y>0)q(0,m===true?A.y:m===false?B.y:A.y<0?A.y:B.y);if(n&&(A.x<0||B.x>0))q(A.x<0?A.x:B.x,0);},setState:function(l){var m=this;switch(l){case 1:m.addClass('cke_on');m.removeClass('cke_off');m.removeClass('cke_disabled');break;case 0:m.addClass('cke_disabled');m.removeClass('cke_off');m.removeClass('cke_on');break;default:m.addClass('cke_off');m.removeClass('cke_on');m.removeClass('cke_disabled');break;}},getFrameDocument:function(){var l=this.$;try{l.contentWindow.document;}catch(m){l.src=l.src;if(c&&b.version<7)window.showModalDialog('javascript:document.write("<script>window.setTimeout(function(){window.close();},50);</script>")');}return l&&new g(l.contentWindow.document);},copyAttributes:function(l,m){var s=this;var n=s.$.attributes;m=m||{};for(var o=0;o<n.length;o++){var p=n[o],q=p.nodeName.toLowerCase(),r;if(q in m)continue;if(q=='checked'&&(r=s.getAttribute(q)))l.setAttribute(q,r);else if(p.specified||c&&p.nodeValue&&q=='value'){r=s.getAttribute(q);if(r===null)r=p.nodeValue;l.setAttribute(q,r);}}if(s.$.style.cssText!=='')l.$.style.cssText=s.$.style.cssText;},renameNode:function(l){var o=this;if(o.getName()==l)return;var m=o.getDocument(),n=new h(l,m);o.copyAttributes(n);o.moveChildren(n);o.getParent()&&o.$.parentNode.replaceChild(n.$,o.$);n.$['data-cke-expando']=o.$['data-cke-expando'];o.$=n.$;},getChild:function(l){var m=this.$;if(!l.slice)m=m.childNodes[l];else while(l.length>0&&m)m=m.childNodes[l.shift()];return m?new d.node(m):null;},getChildCount:function(){return this.$.childNodes.length;},disableContextMenu:function(){this.on('contextmenu',function(l){if(!l.data.getTarget().hasClass('cke_enable_context_menu'))l.data.preventDefault();});},getDirection:function(l){var m=this;return l?m.getComputedStyle('direction')||m.getDirection()||m.getDocument().$.dir||m.getDocument().getBody().getDirection(1):m.getStyle('direction')||m.getAttribute('dir');},data:function(l,m){l='data-'+l;if(m===undefined)return this.getAttribute(l);else if(m===false)this.removeAttribute(l);else this.setAttribute(l,m);return null;}});var i={width:['border-left-width','border-right-width','padding-left','padding-right'],height:['border-top-width','border-bottom-width','padding-top','padding-bottom']};
-function j(l){var m=['top','left','right','bottom'],n;if(l=='border')n=['color','style','width'];var o=[];for(var p=0;p<m.length;p++){if(n)for(var q=0;q<n.length;q++)o.push([l,m[p],n[q]].join('-'));else o.push([l,m[p]].join('-'));}return o;};function k(l){var m=0;for(var n=0,o=i[l].length;n<o;n++)m+=parseInt(this.getComputedStyle(i[l][n])||0,10)||0;return m;};h.prototype.setSize=function(l,m,n){if(typeof m=='number'){if(n&&!(c&&b.quirks))m-=k.call(this,l);this.setStyle(l,m+'px');}};h.prototype.getSize=function(l,m){var n=Math.max(this.$['offset'+e.capitalize(l)],this.$['client'+e.capitalize(l)])||0;if(m)n-=k.call(this,l);return n;};})();a.command=function(i,j){this.uiItems=[];this.exec=function(k){var l=this;if(l.state==0)return false;if(l.editorFocus)i.focus();if(l.fire('exec')===true)return true;return j.exec.call(l,i,k)!==false;};this.refresh=function(){if(this.fire('refresh')===true)return true;return j.refresh&&j.refresh.apply(this,arguments)!==false;};e.extend(this,j,{modes:{wysiwyg:1},editorFocus:1,state:2});a.event.call(this);};a.command.prototype={enable:function(){var i=this;if(i.state==0)i.setState(!i.preserveState||typeof i.previousState=='undefined'?2:i.previousState);},disable:function(){this.setState(0);},setState:function(i){var j=this;if(j.state==i)return false;j.previousState=j.state;j.state=i;j.fire('state');return true;},toggleState:function(){var i=this;if(i.state==2)i.setState(1);else if(i.state==1)i.setState(2);}};a.event.implementOn(a.command.prototype,true);a.ENTER_P=1;a.ENTER_BR=2;a.ENTER_DIV=3;a.config={customConfig:'config.js',autoUpdateElement:true,baseHref:'',contentsCss:a.basePath+'contents.css',contentsLangDirection:'ui',contentsLanguage:'',language:'',defaultLanguage:'en',enterMode:1,forceEnterMode:false,shiftEnterMode:2,corePlugins:'',docType:'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',bodyId:'',bodyClass:'',fullPage:false,height:200,plugins:'about,a11yhelp,basicstyles,bidi,blockquote,button,clipboard,colorbutton,colordialog,contextmenu,dialogadvtab,div,elementspath,enterkey,entities,filebrowser,find,flash,font,format,forms,horizontalrule,htmldataprocessor,iframe,image,indent,justify,keystrokes,link,list,liststyle,maximize,newpage,pagebreak,pastefromword,pastetext,popup,preview,print,removeformat,resize,save,scayt,showblocks,showborders,smiley,sourcearea,specialchar,stylescombo,tab,table,tabletools,templates,toolbar,undo,wsc,wysiwygarea',extraPlugins:'',removePlugins:'',protectedSource:[],tabIndex:0,theme:'default',skin:'kama',width:'',baseFloatZIndex:10000};
-var i=a.config;a.focusManager=function(j){if(j.focusManager)return j.focusManager;this.hasFocus=false;this._={editor:j};return this;};a.focusManager.prototype={focus:function(){var k=this;if(k._.timer)clearTimeout(k._.timer);if(!k.hasFocus){if(a.currentInstance)a.currentInstance.focusManager.forceBlur();var j=k._.editor;j.container.getChild(1).addClass('cke_focus');k.hasFocus=true;j.fire('focus');}},blur:function(){var j=this;if(j._.timer)clearTimeout(j._.timer);j._.timer=setTimeout(function(){delete j._.timer;j.forceBlur();},100);},forceBlur:function(){if(this.hasFocus){var j=this._.editor;j.container.getChild(1).removeClass('cke_focus');this.hasFocus=false;j.fire('blur');}}};(function(){var j={};a.lang={languages:{af:1,ar:1,bg:1,bn:1,bs:1,ca:1,cs:1,cy:1,da:1,de:1,el:1,'en-au':1,'en-ca':1,'en-gb':1,en:1,eo:1,es:1,et:1,eu:1,fa:1,fi:1,fo:1,'fr-ca':1,fr:1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,is:1,it:1,ja:1,ka:1,km:1,ko:1,ku:1,lt:1,lv:1,mn:1,ms:1,nb:1,nl:1,no:1,pl:1,'pt-br':1,pt:1,ro:1,ru:1,sk:1,sl:1,'sr-latn':1,sr:1,sv:1,th:1,tr:1,ug:1,uk:1,vi:1,'zh-cn':1,zh:1},load:function(k,l,m){if(!k||!a.lang.languages[k])k=this.detect(l,k);if(!this[k])a.scriptLoader.load(a.getUrl('lang/'+k+'.js'),function(){m(k,this[k]);},this);else m(k,this[k]);},detect:function(k,l){var m=this.languages;l=l||navigator.userLanguage||navigator.language||k;var n=l.toLowerCase().match(/([a-z]+)(?:-([a-z]+))?/),o=n[1],p=n[2];if(m[o+'-'+p])o=o+'-'+p;else if(!m[o])o=null;a.lang.detect=o?function(){return o;}:function(q){return q;};return o||k;}};})();a.scriptLoader=(function(){var j={},k={};return{load:function(l,m,n,o){var p=typeof l=='string';if(p)l=[l];if(!n)n=a;var q=l.length,r=[],s=[],t=function(y){if(m)if(p)m.call(n,y);else m.call(n,r,s);};if(q===0){t(true);return;}var u=function(y,z){(z?r:s).push(y);if(--q<=0){o&&a.document.getDocumentElement().removeStyle('cursor');t(z);}},v=function(y,z){j[y]=1;var A=k[y];delete k[y];for(var B=0;B<A.length;B++)A[B](y,z);},w=function(y){if(j[y]){u(y,true);return;}var z=k[y]||(k[y]=[]);z.push(u);if(z.length>1)return;var A=new h('script');A.setAttributes({type:'text/javascript',src:y});if(m)if(c)A.$.onreadystatechange=function(){if(A.$.readyState=='loaded'||A.$.readyState=='complete'){A.$.onreadystatechange=null;v(y,true);}};else{A.$.onload=function(){setTimeout(function(){v(y,true);},0);};A.$.onerror=function(){v(y,false);};}A.appendTo(a.document.getHead());};o&&a.document.getDocumentElement().setStyle('cursor','wait');for(var x=0;x<q;x++)w(l[x]);}};})();a.resourceManager=function(j,k){var l=this;
-l.basePath=j;l.fileName=k;l.registered={};l.loaded={};l.externals={};l._={waitingList:{}};};a.resourceManager.prototype={add:function(j,k){if(this.registered[j])throw '[CKEDITOR.resourceManager.add] The resource name "'+j+'" is already registered.';a.fire(j+e.capitalize(this.fileName)+'Ready',this.registered[j]=k||{});},get:function(j){return this.registered[j]||null;},getPath:function(j){var k=this.externals[j];return a.getUrl(k&&k.dir||this.basePath+j+'/');},getFilePath:function(j){var k=this.externals[j];return a.getUrl(this.getPath(j)+(k&&typeof k.file=='string'?k.file:this.fileName+'.js'));},addExternal:function(j,k,l){j=j.split(',');for(var m=0;m<j.length;m++){var n=j[m];this.externals[n]={dir:k,file:l};}},load:function(j,k,l){if(!e.isArray(j))j=j?[j]:[];var m=this.loaded,n=this.registered,o=[],p={},q={};for(var r=0;r<j.length;r++){var s=j[r];if(!s)continue;if(!m[s]&&!n[s]){var t=this.getFilePath(s);o.push(t);if(!(t in p))p[t]=[];p[t].push(s);}else q[s]=this.get(s);}a.scriptLoader.load(o,function(u,v){if(v.length)throw '[CKEDITOR.resourceManager.load] Resource name "'+p[v[0]].join(',')+'" was not found at "'+v[0]+'".';for(var w=0;w<u.length;w++){var x=p[u[w]];for(var y=0;y<x.length;y++){var z=x[y];q[z]=this.get(z);m[z]=1;}}k.call(l,q);},this);}};a.plugins=new a.resourceManager('plugins/','plugin');var j=a.plugins;j.load=e.override(j.load,function(k){return function(l,m,n){var o={},p=function(q){k.call(this,q,function(r){e.extend(o,r);var s=[];for(var t in r){var u=r[t],v=u&&u.requires;if(v)for(var w=0;w<v.length;w++){if(!o[v[w]])s.push(v[w]);}}if(s.length)p.call(this,s);else{for(t in o){u=o[t];if(u.onLoad&&!u.onLoad._called){u.onLoad();u.onLoad._called=1;}}if(m)m.call(n||window,o);}},this);};p.call(this,l);};});j.setLang=function(k,l,m){var n=this.get(k),o=n.langEntries||(n.langEntries={}),p=n.lang||(n.lang=[]);if(e.indexOf(p,l)==-1)p.push(l);o[l]=m;};a.skins=(function(){var k={},l={},m=function(n,o,p,q){var r=k[o];if(!n.skin){n.skin=r;if(r.init)r.init(n);}var s=function(B){for(var C=0;C<B.length;C++)B[C]=a.getUrl(l[o]+B[C]);};function t(B,C){return B.replace(/url\s*\(([\s'"]*)(.*?)([\s"']*)\)/g,function(D,E,F,G){if(/^\/|^\w?:/.test(F))return D;else return 'url('+C+E+F+G+')';});};p=r[p];var u=!p||!!p._isLoaded;if(u)q&&q();else{var v=p._pending||(p._pending=[]);v.push(q);if(v.length>1)return;var w=!p.css||!p.css.length,x=!p.js||!p.js.length,y=function(){if(w&&x){p._isLoaded=1;for(var B=0;B<v.length;B++){if(v[B])v[B]();}}};if(!w){var z=p.css;if(e.isArray(z)){s(z);
-for(var A=0;A<z.length;A++)a.document.appendStyleSheet(z[A]);}else{z=t(z,a.getUrl(l[o]));a.document.appendStyleText(z);}p.css=z;w=1;}if(!x){s(p.js);a.scriptLoader.load(p.js,function(){x=1;y();});}y();}};return{add:function(n,o){k[n]=o;o.skinPath=l[n]||(l[n]=a.getUrl('skins/'+n+'/'));},load:function(n,o,p){var q=n.skinName,r=n.skinPath;if(k[q])m(n,q,o,p);else{l[q]=r;a.scriptLoader.load(a.getUrl(r+'skin.js'),function(){m(n,q,o,p);});}}};})();a.themes=new a.resourceManager('themes/','theme');a.ui=function(k){if(k.ui)return k.ui;this._={handlers:{},items:{},editor:k};return this;};var k=a.ui;k.prototype={add:function(l,m,n){this._.items[l]={type:m,command:n.command||null,args:Array.prototype.slice.call(arguments,2)};},create:function(l){var q=this;var m=q._.items[l],n=m&&q._.handlers[m.type],o=m&&m.command&&q._.editor.getCommand(m.command),p=n&&n.create.apply(q,m.args);m&&(p=e.extend(p,q._.editor.skin[m.type],true));if(o)o.uiItems.push(p);return p;},addHandler:function(l,m){this._.handlers[l]=m;}};a.event.implementOn(k);(function(){var l=0,m=function(){var x='editor'+ ++l;return a.instances&&a.instances[x]?m():x;},n={},o=function(x){var y=x.config.customConfig;if(!y)return false;y=a.getUrl(y);var z=n[y]||(n[y]={});if(z.fn){z.fn.call(x,x.config);if(a.getUrl(x.config.customConfig)==y||!o(x))x.fireOnce('customConfigLoaded');}else a.scriptLoader.load(y,function(){if(a.editorConfig)z.fn=a.editorConfig;else z.fn=function(){};o(x);});return true;},p=function(x,y){x.on('customConfigLoaded',function(){if(y){if(y.on)for(var z in y.on)x.on(z,y.on[z]);e.extend(x.config,y,true);delete x.config.on;}q(x);});if(y&&y.customConfig!=undefined)x.config.customConfig=y.customConfig;if(!o(x))x.fireOnce('customConfigLoaded');},q=function(x){var y=x.config.skin.split(','),z=y[0],A=a.getUrl(y[1]||'skins/'+z+'/');x.skinName=z;x.skinPath=A;x.skinClass='cke_skin_'+z;x.tabIndex=x.config.tabIndex||x.element.getAttribute('tabindex')||0;x.readOnly=!!(x.config.readOnly||x.element.getAttribute('disabled'));x.fireOnce('configLoaded');t(x);},r=function(x){a.lang.load(x.config.language,x.config.defaultLanguage,function(y,z){x.langCode=y;x.lang=e.prototypedCopy(z);if(b.gecko&&b.version<10900&&x.lang.dir=='rtl')x.lang.dir='ltr';x.fire('langLoaded');var A=x.config;A.contentsLangDirection=='ui'&&(A.contentsLangDirection=x.lang.dir);s(x);});},s=function(x){var y=x.config,z=y.plugins,A=y.extraPlugins,B=y.removePlugins;if(A){var C=new RegExp('(?:^|,)(?:'+A.replace(/\s*,\s*/g,'|')+')(?=,|$)','g');z=z.replace(C,'');
-z+=','+A;}if(B){C=new RegExp('(?:^|,)(?:'+B.replace(/\s*,\s*/g,'|')+')(?=,|$)','g');z=z.replace(C,'');}b.air&&(z+=',adobeair');j.load(z.split(','),function(D){var E=[],F=[],G=[];x.plugins=D;for(var H in D){var I=D[H],J=I.lang,K=j.getPath(H),L=null;I.path=K;if(J){L=e.indexOf(J,x.langCode)>=0?x.langCode:J[0];if(!I.langEntries||!I.langEntries[L])G.push(a.getUrl(K+'lang/'+L+'.js'));else{e.extend(x.lang,I.langEntries[L]);L=null;}}F.push(L);E.push(I);}a.scriptLoader.load(G,function(){var M=['beforeInit','init','afterInit'];for(var N=0;N<M.length;N++)for(var O=0;O<E.length;O++){var P=E[O];if(N===0&&F[O]&&P.lang)e.extend(x.lang,P.langEntries[F[O]]);if(P[M[N]])P[M[N]](x);}x.fire('pluginsLoaded');u(x);});});},t=function(x){a.skins.load(x,'editor',function(){r(x);});},u=function(x){var y=x.config.theme;a.themes.load(y,function(){var z=x.theme=a.themes.get(y);z.path=a.themes.getPath(y);z.build(x);if(x.config.autoUpdateElement)v(x);});},v=function(x){var y=x.element;if(x.elementMode==1&&y.is('textarea')){var z=y.$.form&&new h(y.$.form);if(z){function A(){x.updateElement();};z.on('submit',A);if(!z.$.submit.nodeName&&!z.$.submit.length)z.$.submit=e.override(z.$.submit,function(B){return function(){x.updateElement();if(B.apply)B.apply(this,arguments);else B();};});x.on('destroy',function(){z.removeListener('submit',A);});}}};function w(){var x,y=this._.commands,z=this.mode;if(!z)return;for(var A in y){x=y[A];x[x.startDisabled?'disable':this.readOnly&&!x.readOnly?'disable':x.modes[z]?'enable':'disable']();}};a.editor.prototype._init=function(){var z=this;var x=h.get(z._.element),y=z._.instanceConfig;delete z._.element;delete z._.instanceConfig;z._.commands={};z._.styles=[];z.element=x;z.name=x&&z.elementMode==1&&(x.getId()||x.getNameAtt())||m();if(z.name in a.instances)throw '[CKEDITOR.editor] The instance "'+z.name+'" already exists.';z.id=e.getNextId();z.config=e.prototypedCopy(i);z.ui=new k(z);z.focusManager=new a.focusManager(z);a.fire('instanceCreated',null,z);z.on('mode',w,null,null,1);z.on('readOnly',w,null,null,1);p(z,y);};})();e.extend(a.editor.prototype,{addCommand:function(l,m){return this._.commands[l]=new a.command(this,m);},addCss:function(l){this._.styles.push(l);},destroy:function(l){var m=this;if(!l)m.updateElement();m.fire('destroy');m.theme&&m.theme.destroy(m);a.remove(m);a.fire('instanceDestroyed',null,m);},execCommand:function(l,m){var n=this.getCommand(l),o={name:l,commandData:m,command:n};if(n&&n.state!=0)if(this.fire('beforeCommandExec',o)!==true){o.returnValue=n.exec(o.commandData);
-if(!n.async&&this.fire('afterCommandExec',o)!==true)return o.returnValue;}return false;},getCommand:function(l){return this._.commands[l];},getData:function(){var n=this;n.fire('beforeGetData');var l=n._.data;if(typeof l!='string'){var m=n.element;if(m&&n.elementMode==1)l=m.is('textarea')?m.getValue():m.getHtml();else l='';}l={dataValue:l};n.fire('getData',l);return l.dataValue;},getSnapshot:function(){var l=this.fire('getSnapshot');if(typeof l!='string'){var m=this.element;if(m&&this.elementMode==1)l=m.is('textarea')?m.getValue():m.getHtml();}return l;},loadSnapshot:function(l){this.fire('loadSnapshot',l);},setData:function(l,m,n){if(m)this.on('dataReady',function(p){p.removeListener();m.call(p.editor);});var o={dataValue:l};!n&&this.fire('setData',o);this._.data=o.dataValue;!n&&this.fire('afterSetData',o);},setReadOnly:function(l){l=l==undefined||l;if(this.readOnly!=l){this.readOnly=l;this.fire('readOnly');}},insertHtml:function(l){this.fire('insertHtml',l);},insertText:function(l){this.fire('insertText',l);},insertElement:function(l){this.fire('insertElement',l);},checkDirty:function(){return this.mayBeDirty&&this._.previousValue!==this.getSnapshot();},resetDirty:function(){if(this.mayBeDirty)this._.previousValue=this.getSnapshot();},updateElement:function(){var n=this;var l=n.element;if(l&&n.elementMode==1){var m=n.getData();if(n.config.htmlEncodeOutput)m=e.htmlEncode(m);if(l.is('textarea'))l.setValue(m);else l.setHtml(m);}}});a.on('loaded',function(){var l=a.editor._pending;if(l){delete a.editor._pending;for(var m=0;m<l.length;m++)l[m]._init();}});a.htmlParser=function(){this._={htmlPartsRegex:new RegExp("<(?:(?:\\/([^>]+)>)|(?:!--([\\S|\\s]*?)-->)|(?:([^\\s>]+)\\s*((?:(?:\"[^\"]*\")|(?:'[^']*')|[^\"'>])*)\\/?>))",'g')};};(function(){var l=/([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g,m={checked:1,compact:1,declare:1,defer:1,disabled:1,ismap:1,multiple:1,nohref:1,noresize:1,noshade:1,nowrap:1,readonly:1,selected:1};a.htmlParser.prototype={onTagOpen:function(){},onTagClose:function(){},onText:function(){},onCDATA:function(){},onComment:function(){},parse:function(n){var A=this;var o,p,q=0,r;while(o=A._.htmlPartsRegex.exec(n)){var s=o.index;if(s>q){var t=n.substring(q,s);if(r)r.push(t);else A.onText(t);}q=A._.htmlPartsRegex.lastIndex;if(p=o[1]){p=p.toLowerCase();if(r&&f.$cdata[p]){A.onCDATA(r.join(''));r=null;}if(!r){A.onTagClose(p);continue;}}if(r){r.push(o[0]);continue;}if(p=o[3]){p=p.toLowerCase();if(/="/.test(p))continue;
-var u={},v,w=o[4],x=!!(w&&w.charAt(w.length-1)=='/');if(w)while(v=l.exec(w)){var y=v[1].toLowerCase(),z=v[2]||v[3]||v[4]||'';if(!z&&m[y])u[y]=y;else u[y]=z;}A.onTagOpen(p,u,x);if(!r&&f.$cdata[p])r=[];continue;}if(p=o[2])A.onComment(p);}if(n.length>q)A.onText(n.substring(q,n.length));}};})();a.htmlParser.comment=function(l){this.value=l;this._={isBlockLike:false};};a.htmlParser.comment.prototype={type:8,writeHtml:function(l,m){var n=this.value;if(m){if(!(n=m.onComment(n,this)))return;if(typeof n!='string'){n.parent=this.parent;n.writeHtml(l,m);return;}}l.comment(n);}};(function(){a.htmlParser.text=function(l){this.value=l;this._={isBlockLike:false};};a.htmlParser.text.prototype={type:3,writeHtml:function(l,m){var n=this.value;if(m&&!(n=m.onText(n,this)))return;l.text(n);}};})();(function(){a.htmlParser.cdata=function(l){this.value=l;};a.htmlParser.cdata.prototype={type:3,writeHtml:function(l){l.write(this.value);}};})();a.htmlParser.fragment=function(){this.children=[];this.parent=null;this._={isBlockLike:true,hasInlineStarted:false};};(function(){var l=e.extend({table:1,ul:1,ol:1,dl:1},f.table,f.ul,f.ol,f.dl),m=c&&b.version<8?{dd:1,dt:1}:{},n={ol:1,ul:1},o=e.extend({},{html:1},f.html,f.body,f.head,{style:1,script:1});function p(q){return q.name=='a'&&q.attributes.href||f.$removeEmpty[q.name];};a.htmlParser.fragment.fromHtml=function(q,r,s){var t=new a.htmlParser(),u=s||new a.htmlParser.fragment(),v=[],w=[],x=u,y=false,z=false;function A(D){var E;if(v.length>0)for(var F=0;F<v.length;F++){var G=v[F],H=G.name,I=f[H],J=x.name&&f[x.name];if((!J||J[H])&&(!D||!I||I[D]||!f[D])){if(!E){B();E=1;}G=G.clone();G.parent=x;x=G;v.splice(F,1);F--;}else if(H==x.name)C(x,x.parent,1),F--;}};function B(){while(w.length)x.add(w.shift());};function C(D,E,F){if(D.previous!==undefined)return;E=E||x||u;var G=x;if(r&&(!E.type||E.name=='body')){var H,I;if(D.attributes&&(I=D.attributes['data-cke-real-element-type']))H=I;else H=D.name;if(H&&!(H in f.$body||H=='body'||D.isOrphan)){x=E;t.onTagOpen(r,{});D.returnPoint=E=x;}}if(D._.isBlockLike&&D.name!='pre'&&D.name!='textarea'){var J=D.children.length,K=D.children[J-1],L;if(K&&K.type==3)if(!(L=e.rtrim(K.value)))D.children.length=J-1;else K.value=L;}E.add(D);if(D.name=='pre')z=false;if(D.name=='textarea')y=false;if(D.returnPoint){x=D.returnPoint;delete D.returnPoint;}else x=F?E:G;};t.onTagOpen=function(D,E,F,G){var H=new a.htmlParser.element(D,E);if(H.isUnknown&&F)H.isEmpty=true;H.isOptionalClose=D in m||G;if(p(H)){v.push(H);return;}else if(D=='pre')z=true;
-else if(D=='br'&&z){x.add(new a.htmlParser.text('\n'));return;}else if(D=='textarea')y=true;if(D=='br'){w.push(H);return;}while(1){var I=x.name,J=I?f[I]||(x._.isBlockLike?f.div:f.span):o;if(!H.isUnknown&&!x.isUnknown&&!J[D]){if(x.isOptionalClose)t.onTagClose(I);else if(D in n&&I in n){var K=x.children,L=K[K.length-1];if(!(L&&L.name=='li'))C(L=new a.htmlParser.element('li'),x);!H.returnPoint&&(H.returnPoint=x);x=L;}else if(D in f.$listItem&&I!=D)t.onTagOpen(D=='li'?'ul':'dl',{},0,1);else if(I in l&&I!=D){!H.returnPoint&&(H.returnPoint=x);x=x.parent;}else{if(I in f.$inline)v.unshift(x);if(x.parent)C(x,x.parent,1);else{H.isOrphan=1;break;}}}else break;}A(D);B();H.parent=x;if(H.isEmpty)C(H);else x=H;};t.onTagClose=function(D){for(var E=v.length-1;E>=0;E--){if(D==v[E].name){v.splice(E,1);return;}}var F=[],G=[],H=x;while(H!=u&&H.name!=D){if(!H._.isBlockLike)G.unshift(H);F.push(H);H=H.returnPoint||H.parent;}if(H!=u){for(E=0;E<F.length;E++){var I=F[E];C(I,I.parent);}x=H;if(H._.isBlockLike)B();C(H,H.parent);if(H==x)x=x.parent;v=v.concat(G);}if(D=='body')r=false;};t.onText=function(D){if((!x._.hasInlineStarted||w.length)&&!z&&!y){D=e.ltrim(D);if(D.length===0)return;}var E=x.name,F=E?f[E]||(x._.isBlockLike?f.div:f.span):o;if(!y&&!F['#']&&E in l){t.onTagOpen(E in n?'li':E=='dl'?'dd':E=='table'?'tr':E=='tr'?'td':'');t.onText(D);return;}B();A();if(r&&(!x.type||x.name=='body')&&e.trim(D))this.onTagOpen(r,{},0,1);if(!z&&!y)D=D.replace(/[\t\r\n ]{2,}|[\t\r\n]/g,' ');x.add(new a.htmlParser.text(D));};t.onCDATA=function(D){x.add(new a.htmlParser.cdata(D));};t.onComment=function(D){B();A();x.add(new a.htmlParser.comment(D));};t.parse(q);B(!c&&1);while(x!=u)C(x,x.parent,1);return u;};a.htmlParser.fragment.prototype={add:function(q,r){var t=this;isNaN(r)&&(r=t.children.length);var s=r>0?t.children[r-1]:null;if(s){if(q._.isBlockLike&&s.type==3){s.value=e.rtrim(s.value);if(s.value.length===0){t.children.pop();t.add(q);return;}}s.next=q;}q.previous=s;q.parent=t;t.children.splice(r,0,q);t._.hasInlineStarted=q.type==3||q.type==1&&!q._.isBlockLike;},writeHtml:function(q,r){var s;this.filterChildren=function(){var t=new a.htmlParser.basicWriter();this.writeChildrenHtml.call(this,t,r,true);var u=t.getHtml();this.children=new a.htmlParser.fragment.fromHtml(u).children;s=1;};!this.name&&r&&r.onFragment(this);this.writeChildrenHtml(q,s?null:r);},writeChildrenHtml:function(q,r){for(var s=0;s<this.children.length;s++)this.children[s].writeHtml(q,r);}};})();a.htmlParser.element=function(l,m){var q=this;
-q.name=l;q.attributes=m||{};q.children=[];var n=l||'',o=n.match(/^cke:(.*)/);o&&(n=o[1]);var p=!!(f.$nonBodyContent[n]||f.$block[n]||f.$listItem[n]||f.$tableContent[n]||f.$nonEditable[n]||n=='br');q.isEmpty=!!f.$empty[l];q.isUnknown=!f[l];q._={isBlockLike:p,hasInlineStarted:q.isEmpty||!p};};a.htmlParser.cssStyle=function(){var l,m=arguments[0],n={};l=m instanceof a.htmlParser.element?m.attributes.style:m;(l||'').replace(/&quot;/g,'"').replace(/\s*([^ :;]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(o,p,q){p=='font-family'&&(q=q.replace(/["']/g,''));n[p.toLowerCase()]=q;});return{rules:n,populate:function(o){var p=this.toString();if(p)o instanceof h?o.setAttribute('style',p):o instanceof a.htmlParser.element?o.attributes.style=p:o.style=p;},'toString':function(){var o=[];for(var p in n)n[p]&&o.push(p,':',n[p],';');return o.join('');}};};(function(){var l=function(m,n){m=m[0];n=n[0];return m<n?-1:m>n?1:0;};a.htmlParser.element.prototype={type:1,add:a.htmlParser.fragment.prototype.add,clone:function(){return new a.htmlParser.element(this.name,this.attributes);},writeHtml:function(m,n){var o=this.attributes,p=this,q=p.name,r,s,t,u;p.filterChildren=function(){if(!u){var B=new a.htmlParser.basicWriter();a.htmlParser.fragment.prototype.writeChildrenHtml.call(p,B,n);p.children=new a.htmlParser.fragment.fromHtml(B.getHtml(),0,p.clone()).children;u=1;}};if(n){for(;;){if(!(q=n.onElementName(q)))return;p.name=q;if(!(p=n.onElement(p)))return;p.parent=this.parent;if(p.name==q)break;if(p.type!=1){p.writeHtml(m,n);return;}q=p.name;if(!q){for(var v=0,w=this.children.length;v<w;v++)this.children[v].parent=p.parent;this.writeChildrenHtml.call(p,m,u?null:n);return;}}o=p.attributes;}m.openTag(q,o);var x=[];for(var y=0;y<2;y++)for(r in o){s=r;t=o[r];if(y==1)x.push([r,t]);else if(n){for(;;){if(!(s=n.onAttributeName(r))){delete o[r];break;}else if(s!=r){delete o[r];r=s;continue;}else break;}if(s)if((t=n.onAttribute(p,s,t))===false)delete o[s];else o[s]=t;}}if(m.sortAttributes)x.sort(l);var z=x.length;for(y=0;y<z;y++){var A=x[y];m.attribute(A[0],A[1]);}m.openTagClose(q,p.isEmpty);if(!p.isEmpty){this.writeChildrenHtml.call(p,m,u?null:n);m.closeTag(q);}},writeChildrenHtml:function(m,n){a.htmlParser.fragment.prototype.writeChildrenHtml.apply(this,arguments);}};})();(function(){a.htmlParser.filter=e.createClass({$:function(q){this._={elementNames:[],attributeNames:[],elements:{$length:0},attributes:{$length:0}};if(q)this.addRules(q,10);},proto:{addRules:function(q,r){var s=this;if(typeof r!='number')r=10;
-m(s._.elementNames,q.elementNames,r);m(s._.attributeNames,q.attributeNames,r);n(s._.elements,q.elements,r);n(s._.attributes,q.attributes,r);s._.text=o(s._.text,q.text,r)||s._.text;s._.comment=o(s._.comment,q.comment,r)||s._.comment;s._.root=o(s._.root,q.root,r)||s._.root;},onElementName:function(q){return l(q,this._.elementNames);},onAttributeName:function(q){return l(q,this._.attributeNames);},onText:function(q){var r=this._.text;return r?r.filter(q):q;},onComment:function(q,r){var s=this._.comment;return s?s.filter(q,r):q;},onFragment:function(q){var r=this._.root;return r?r.filter(q):q;},onElement:function(q){var v=this;var r=[v._.elements['^'],v._.elements[q.name],v._.elements.$],s,t;for(var u=0;u<3;u++){s=r[u];if(s){t=s.filter(q,v);if(t===false)return null;if(t&&t!=q)return v.onNode(t);if(q.parent&&!q.name)break;}}return q;},onNode:function(q){var r=q.type;return r==1?this.onElement(q):r==3?new a.htmlParser.text(this.onText(q.value)):r==8?new a.htmlParser.comment(this.onComment(q.value)):null;},onAttribute:function(q,r,s){var t=this._.attributes[r];if(t){var u=t.filter(s,q,this);if(u===false)return false;if(typeof u!='undefined')return u;}return s;}}});function l(q,r){for(var s=0;q&&s<r.length;s++){var t=r[s];q=q.replace(t[0],t[1]);}return q;};function m(q,r,s){if(typeof r=='function')r=[r];var t,u,v=q.length,w=r&&r.length;if(w){for(t=0;t<v&&q[t].pri<s;t++){}for(u=w-1;u>=0;u--){var x=r[u];if(x){x.pri=s;q.splice(t,0,x);}}}};function n(q,r,s){if(r)for(var t in r){var u=q[t];q[t]=o(u,r[t],s);if(!u)q.$length++;}};function o(q,r,s){if(r){r.pri=s;if(q){if(!q.splice){if(q.pri>s)q=[r,q];else q=[q,r];q.filter=p;}else m(q,r,s);return q;}else{r.filter=r;return r;}}};function p(q){var r=q.type||q instanceof a.htmlParser.fragment;for(var s=0;s<this.length;s++){if(r)var t=q.type,u=q.name;var v=this[s],w=v.apply(window,arguments);if(w===false)return w;if(r){if(w&&(w.name!=u||w.type!=t))return w;}else if(typeof w!='string')return w;w!=undefined&&(q=w);}return q;};})();a.htmlParser.basicWriter=e.createClass({$:function(){this._={output:[]};},proto:{openTag:function(l,m){this._.output.push('<',l);},openTagClose:function(l,m){if(m)this._.output.push(' />');else this._.output.push('>');},attribute:function(l,m){if(typeof m=='string')m=e.htmlEncodeAttr(m);this._.output.push(' ',l,'="',m,'"');},closeTag:function(l){this._.output.push('</',l,'>');},text:function(l){this._.output.push(l);},comment:function(l){this._.output.push('<!--',l,'-->');},write:function(l){this._.output.push(l);
-},reset:function(){this._.output=[];this._.indent=false;},getHtml:function(l){var m=this._.output.join('');if(l)this.reset();return m;}}});delete a.loadFullCore;a.instances={};a.document=new g(document);a.add=function(l){a.instances[l.name]=l;l.on('focus',function(){if(a.currentInstance!=l){a.currentInstance=l;a.fire('currentInstance');}});l.on('blur',function(){if(a.currentInstance==l){a.currentInstance=null;a.fire('currentInstance');}});};a.remove=function(l){delete a.instances[l.name];};a.on('instanceDestroyed',function(){if(e.isEmpty(this.instances))a.fire('reset');});a.TRISTATE_ON=1;a.TRISTATE_OFF=2;a.TRISTATE_DISABLED=0;d.comment=function(l,m){if(typeof l=='string')l=(m?m.$:document).createComment(l);d.domObject.call(this,l);};d.comment.prototype=new d.node();e.extend(d.comment.prototype,{type:8,getOuterHtml:function(){return '<!--'+this.$.nodeValue+'-->';}});(function(){var l={address:1,blockquote:1,dl:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,li:1,dt:1,dd:1,legend:1,caption:1},m={body:1,div:1,table:1,tbody:1,tr:1,td:1,th:1,form:1,fieldset:1},n=function(o){var p=o.getChildren();for(var q=0,r=p.count();q<r;q++){var s=p.getItem(q);if(s.type==1&&f.$block[s.getName()])return true;}return false;};d.elementPath=function(o){var u=this;var p=null,q=null,r=[],s=o;while(s){if(s.type==1){if(!u.lastElement)u.lastElement=s;var t=s.getName();if(!q){if(!p&&l[t])p=s;if(m[t])if(!p&&t=='div'&&!n(s))p=s;else q=s;}r.push(s);if(t=='body')break;}s=s.getParent();}u.block=p;u.blockLimit=q;u.elements=r;};})();d.elementPath.prototype={compare:function(l){var m=this.elements,n=l&&l.elements;if(!n||m.length!=n.length)return false;for(var o=0;o<m.length;o++){if(!m[o].equals(n[o]))return false;}return true;},contains:function(l){var m=this.elements;for(var n=0;n<m.length;n++){if(m[n].getName() in l)return m[n];}return null;}};d.text=function(l,m){if(typeof l=='string')l=(m?m.$:document).createTextNode(l);this.$=l;};d.text.prototype=new d.node();e.extend(d.text.prototype,{type:3,getLength:function(){return this.$.nodeValue.length;},getText:function(){return this.$.nodeValue;},setText:function(l){this.$.nodeValue=l;},split:function(l){var q=this;if(c&&l==q.getLength()){var m=q.getDocument().createText('');m.insertAfter(q);return m;}var n=q.getDocument(),o=new d.text(q.$.splitText(l),n);if(b.ie8){var p=new d.text('',n);p.insertAfter(o);p.remove();}return o;},substring:function(l,m){if(typeof m!='number')return this.$.nodeValue.substr(l);else return this.$.nodeValue.substring(l,m);}});
-d.documentFragment=function(l){l=l||a.document;this.$=l.$.createDocumentFragment();};e.extend(d.documentFragment.prototype,h.prototype,{type:11,insertAfterNode:function(l){l=l.$;l.parentNode.insertBefore(this.$,l.nextSibling);}},true,{append:1,appendBogus:1,getFirst:1,getLast:1,appendTo:1,moveChildren:1,insertBefore:1,insertAfterNode:1,replace:1,trim:1,type:1,ltrim:1,rtrim:1,getDocument:1,getChildCount:1,getChild:1,getChildren:1});(function(){function l(s,t){var u=this.range;if(this._.end)return null;if(!this._.start){this._.start=1;if(u.collapsed){this.end();return null;}u.optimize();}var v,w=u.startContainer,x=u.endContainer,y=u.startOffset,z=u.endOffset,A,B=this.guard,C=this.type,D=s?'getPreviousSourceNode':'getNextSourceNode';if(!s&&!this._.guardLTR){var E=x.type==1?x:x.getParent(),F=x.type==1?x.getChild(z):x.getNext();this._.guardLTR=function(J,K){return(!K||!E.equals(J))&&(!F||!J.equals(F))&&(J.type!=1||!K||J.getName()!='body');};}if(s&&!this._.guardRTL){var G=w.type==1?w:w.getParent(),H=w.type==1?y?w.getChild(y-1):null:w.getPrevious();this._.guardRTL=function(J,K){return(!K||!G.equals(J))&&(!H||!J.equals(H))&&(J.type!=1||!K||J.getName()!='body');};}var I=s?this._.guardRTL:this._.guardLTR;if(B)A=function(J,K){if(I(J,K)===false)return false;return B(J,K);};else A=I;if(this.current)v=this.current[D](false,C,A);else{if(s){v=x;if(v.type==1)if(z>0)v=v.getChild(z-1);else v=A(v,true)===false?null:v.getPreviousSourceNode(true,C,A);}else{v=w;if(v.type==1)if(!(v=v.getChild(y)))v=A(w,true)===false?null:w.getNextSourceNode(true,C,A);}if(v&&A(v)===false)v=null;}while(v&&!this._.end){this.current=v;if(!this.evaluator||this.evaluator(v)!==false){if(!t)return v;}else if(t&&this.evaluator)return false;v=v[D](false,C,A);}this.end();return this.current=null;};function m(s){var t,u=null;while(t=l.call(this,s))u=t;return u;};d.walker=e.createClass({$:function(s){this.range=s;this._={};},proto:{end:function(){this._.end=1;},next:function(){return l.call(this);},previous:function(){return l.call(this,1);},checkForward:function(){return l.call(this,0,1)!==false;},checkBackward:function(){return l.call(this,1,1)!==false;},lastForward:function(){return m.call(this);},lastBackward:function(){return m.call(this,1);},reset:function(){delete this.current;this._={};}}});var n={block:1,'list-item':1,table:1,'table-row-group':1,'table-header-group':1,'table-footer-group':1,'table-row':1,'table-column-group':1,'table-column':1,'table-cell':1,'table-caption':1};h.prototype.isBlockBoundary=function(s){var t=s?e.extend({},f.$block,s||{}):f.$block;
-return this.getComputedStyle('float')=='none'&&n[this.getComputedStyle('display')]||t[this.getName()];};d.walker.blockBoundary=function(s){return function(t,u){return!(t.type==1&&t.isBlockBoundary(s));};};d.walker.listItemBoundary=function(){return this.blockBoundary({br:1});};d.walker.bookmark=function(s,t){function u(v){return v&&v.getName&&v.getName()=='span'&&v.data('cke-bookmark');};return function(v){var w,x;w=v&&!v.getName&&(x=v.getParent())&&u(x);w=s?w:w||u(v);return!!(t^w);};};d.walker.whitespaces=function(s){return function(t){var u;if(t&&t.type==3)u=!e.trim(t.getText())||b.webkit&&t.getText()=='​';return!!(s^u);};};d.walker.invisible=function(s){var t=d.walker.whitespaces();return function(u){var v;if(t(u))v=1;else{if(u.type==3)u=u.getParent();v=!u.$.offsetHeight;}return!!(s^v);};};d.walker.nodeType=function(s,t){return function(u){return!!(t^u.type==s);};};d.walker.bogus=function(s){function t(u){return!p(u)&&!q(u);};return function(u){var v=!c?u.is&&u.is('br'):u.getText&&o.test(u.getText());if(v){var w=u.getParent(),x=u.getNext(t);v=w.isBlockBoundary()&&(!x||x.type==1&&x.isBlockBoundary());}return!!(s^v);};};var o=/^[\t\r\n ]*(?:&nbsp;|\xa0)$/,p=d.walker.whitespaces(),q=d.walker.bookmark(),r=function(s){return q(s)||p(s)||s.type==1&&s.getName() in f.$inline&&!(s.getName() in f.$empty);};h.prototype.getBogus=function(){var s=this;do s=s.getPreviousSourceNode();while(r(s));if(s&&(!c?s.is&&s.is('br'):s.getText&&o.test(s.getText())))return s;return false;};})();d.range=function(l){var m=this;m.startContainer=null;m.startOffset=null;m.endContainer=null;m.endOffset=null;m.collapsed=true;m.document=l;};(function(){var l=function(v){v.collapsed=v.startContainer&&v.endContainer&&v.startContainer.equals(v.endContainer)&&v.startOffset==v.endOffset;},m=function(v,w,x,y){v.optimizeBookmark();var z=v.startContainer,A=v.endContainer,B=v.startOffset,C=v.endOffset,D,E;if(A.type==3)A=A.split(C);else if(A.getChildCount()>0)if(C>=A.getChildCount()){A=A.append(v.document.createText(''));E=true;}else A=A.getChild(C);if(z.type==3){z.split(B);if(z.equals(A))A=z.getNext();}else if(!B){z=z.getFirst().insertBeforeMe(v.document.createText(''));D=true;}else if(B>=z.getChildCount()){z=z.append(v.document.createText(''));D=true;}else z=z.getChild(B).getPrevious();var F=z.getParents(),G=A.getParents(),H,I,J;for(H=0;H<F.length;H++){I=F[H];J=G[H];if(!I.equals(J))break;}var K=x,L,M,N,O;for(var P=H;P<F.length;P++){L=F[P];if(K&&!L.equals(z))M=K.append(L.clone());N=L.getNext();while(N){if(N.equals(G[P])||N.equals(A))break;
-O=N.getNext();if(w==2)K.append(N.clone(true));else{N.remove();if(w==1)K.append(N);}N=O;}if(K)K=M;}K=x;for(var Q=H;Q<G.length;Q++){L=G[Q];if(w>0&&!L.equals(A))M=K.append(L.clone());if(!F[Q]||L.$.parentNode!=F[Q].$.parentNode){N=L.getPrevious();while(N){if(N.equals(F[Q])||N.equals(z))break;O=N.getPrevious();if(w==2)K.$.insertBefore(N.$.cloneNode(true),K.$.firstChild);else{N.remove();if(w==1)K.$.insertBefore(N.$,K.$.firstChild);}N=O;}}if(K)K=M;}if(w==2){var R=v.startContainer;if(R.type==3){R.$.data+=R.$.nextSibling.data;R.$.parentNode.removeChild(R.$.nextSibling);}var S=v.endContainer;if(S.type==3&&S.$.nextSibling){S.$.data+=S.$.nextSibling.data;S.$.parentNode.removeChild(S.$.nextSibling);}}else{if(I&&J&&(z.$.parentNode!=I.$.parentNode||A.$.parentNode!=J.$.parentNode)){var T=J.getIndex();if(D&&J.$.parentNode==z.$.parentNode)T--;if(y&&I.type==1){var U=h.createFromHtml('<span data-cke-bookmark="1" style="display:none">&nbsp;</span>',v.document);U.insertAfter(I);I.mergeSiblings(false);v.moveToBookmark({startNode:U});}else v.setStart(J.getParent(),T);}v.collapse(true);}if(D)z.remove();if(E&&A.$.parentNode)A.remove();},n={abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1};function o(){var v=false,w=d.walker.whitespaces(),x=d.walker.bookmark(true),y=d.walker.bogus();return function(z){if(x(z)||w(z))return true;if(y(z)&&!v){v=true;return true;}if(z.type==3&&(z.hasAscendant('pre')||e.trim(z.getText()).length))return false;if(z.type==1&&!n[z.getName()])return false;return true;};};var p=d.walker.bogus();function q(v){var w=d.walker.whitespaces(),x=d.walker.bookmark(1);return function(y){if(x(y)||w(y))return true;return!v&&p(y)||y.type==1&&y.getName() in f.$removeEmpty;};};var r=new d.walker.whitespaces(),s=new d.walker.bookmark(),t=/^[\t\r\n ]*(?:&nbsp;|\xa0)$/;function u(v){return!r(v)&&!s(v);};d.range.prototype={clone:function(){var w=this;var v=new d.range(w.document);v.startContainer=w.startContainer;v.startOffset=w.startOffset;v.endContainer=w.endContainer;v.endOffset=w.endOffset;v.collapsed=w.collapsed;return v;},collapse:function(v){var w=this;if(v){w.endContainer=w.startContainer;w.endOffset=w.startOffset;}else{w.startContainer=w.endContainer;w.startOffset=w.endOffset;}w.collapsed=true;},cloneContents:function(){var v=new d.documentFragment(this.document);if(!this.collapsed)m(this,2,v);return v;},deleteContents:function(v){if(this.collapsed)return;
-m(this,0,null,v);},extractContents:function(v){var w=new d.documentFragment(this.document);if(!this.collapsed)m(this,1,w,v);return w;},createBookmark:function(v){var B=this;var w,x,y,z,A=B.collapsed;w=B.document.createElement('span');w.data('cke-bookmark',1);w.setStyle('display','none');w.setHtml('&nbsp;');if(v){y='cke_bm_'+e.getNextNumber();w.setAttribute('id',y+(A?'C':'S'));}if(!A){x=w.clone();x.setHtml('&nbsp;');if(v)x.setAttribute('id',y+'E');z=B.clone();z.collapse();z.insertNode(x);}z=B.clone();z.collapse(true);z.insertNode(w);if(x){B.setStartAfter(w);B.setEndBefore(x);}else B.moveToPosition(w,4);return{startNode:v?y+(A?'C':'S'):w,endNode:v?y+'E':x,serializable:v,collapsed:A};},createBookmark2:function(v){var D=this;var w=D.startContainer,x=D.endContainer,y=D.startOffset,z=D.endOffset,A=D.collapsed,B,C;if(!w||!x)return{start:0,end:0};if(v){if(w.type==1){B=w.getChild(y);if(B&&B.type==3&&y>0&&B.getPrevious().type==3){w=B;y=0;}if(B&&B.type==1)y=B.getIndex(1);}while(w.type==3&&(C=w.getPrevious())&&C.type==3){w=C;y+=C.getLength();}if(!A){if(x.type==1){B=x.getChild(z);if(B&&B.type==3&&z>0&&B.getPrevious().type==3){x=B;z=0;}if(B&&B.type==1)z=B.getIndex(1);}while(x.type==3&&(C=x.getPrevious())&&C.type==3){x=C;z+=C.getLength();}}}return{start:w.getAddress(v),end:A?null:x.getAddress(v),startOffset:y,endOffset:z,normalized:v,collapsed:A,is2:true};},moveToBookmark:function(v){var D=this;if(v.is2){var w=D.document.getByAddress(v.start,v.normalized),x=v.startOffset,y=v.end&&D.document.getByAddress(v.end,v.normalized),z=v.endOffset;D.setStart(w,x);if(y)D.setEnd(y,z);else D.collapse(true);}else{var A=v.serializable,B=A?D.document.getById(v.startNode):v.startNode,C=A?D.document.getById(v.endNode):v.endNode;D.setStartBefore(B);B.remove();if(C){D.setEndBefore(C);C.remove();}else D.collapse(true);}},getBoundaryNodes:function(){var A=this;var v=A.startContainer,w=A.endContainer,x=A.startOffset,y=A.endOffset,z;if(v.type==1){z=v.getChildCount();if(z>x)v=v.getChild(x);else if(z<1)v=v.getPreviousSourceNode();else{v=v.$;while(v.lastChild)v=v.lastChild;v=new d.node(v);v=v.getNextSourceNode()||v;}}if(w.type==1){z=w.getChildCount();if(z>y)w=w.getChild(y).getPreviousSourceNode(true);else if(z<1)w=w.getPreviousSourceNode();else{w=w.$;while(w.lastChild)w=w.lastChild;w=new d.node(w);}}if(v.getPosition(w)&2)v=w;return{startNode:v,endNode:w};},getCommonAncestor:function(v,w){var A=this;var x=A.startContainer,y=A.endContainer,z;if(x.equals(y)){if(v&&x.type==1&&A.startOffset==A.endOffset-1)z=x.getChild(A.startOffset);
-else z=x;}else z=x.getCommonAncestor(y);return w&&!z.is?z.getParent():z;},optimize:function(){var x=this;var v=x.startContainer,w=x.startOffset;if(v.type!=1)if(!w)x.setStartBefore(v);else if(w>=v.getLength())x.setStartAfter(v);v=x.endContainer;w=x.endOffset;if(v.type!=1)if(!w)x.setEndBefore(v);else if(w>=v.getLength())x.setEndAfter(v);},optimizeBookmark:function(){var x=this;var v=x.startContainer,w=x.endContainer;if(v.is&&v.is('span')&&v.data('cke-bookmark'))x.setStartAt(v,3);if(w&&w.is&&w.is('span')&&w.data('cke-bookmark'))x.setEndAt(w,4);},trim:function(v,w){var D=this;var x=D.startContainer,y=D.startOffset,z=D.collapsed;if((!v||z)&&x&&x.type==3){if(!y){y=x.getIndex();x=x.getParent();}else if(y>=x.getLength()){y=x.getIndex()+1;x=x.getParent();}else{var A=x.split(y);y=x.getIndex()+1;x=x.getParent();if(D.startContainer.equals(D.endContainer))D.setEnd(A,D.endOffset-D.startOffset);else if(x.equals(D.endContainer))D.endOffset+=1;}D.setStart(x,y);if(z){D.collapse(true);return;}}var B=D.endContainer,C=D.endOffset;if(!(w||z)&&B&&B.type==3){if(!C){C=B.getIndex();B=B.getParent();}else if(C>=B.getLength()){C=B.getIndex()+1;B=B.getParent();}else{B.split(C);C=B.getIndex()+1;B=B.getParent();}D.setEnd(B,C);}},enlarge:function(v,w){switch(v){case 1:if(this.collapsed)return;var x=this.getCommonAncestor(),y=this.document.getBody(),z,A,B,C,D,E=false,F,G,H=this.startContainer,I=this.startOffset;if(H.type==3){if(I){H=!e.trim(H.substring(0,I)).length&&H;E=!!H;}if(H)if(!(C=H.getPrevious()))B=H.getParent();}else{if(I)C=H.getChild(I-1)||H.getLast();if(!C)B=H;}while(B||C){if(B&&!C){if(!D&&B.equals(x))D=true;if(!y.contains(B))break;if(!E||B.getComputedStyle('display')!='inline'){E=false;if(D)z=B;else this.setStartBefore(B);}C=B.getPrevious();}while(C){F=false;if(C.type==8){C=C.getPrevious();continue;}else if(C.type==3){G=C.getText();if(/[^\s\ufeff]/.test(G))C=null;F=/[\s\ufeff]$/.test(G);}else if((C.$.offsetWidth>0||w&&C.is('br'))&&!C.data('cke-bookmark'))if(E&&f.$removeEmpty[C.getName()]){G=C.getText();if(/[^\s\ufeff]/.test(G))C=null;else{var J=C.$.getElementsByTagName('*');for(var K=0,L;L=J[K++];){if(!f.$removeEmpty[L.nodeName.toLowerCase()]){C=null;break;}}}if(C)F=!!G.length;}else C=null;if(F)if(E){if(D)z=B;else if(B)this.setStartBefore(B);}else E=true;if(C){var M=C.getPrevious();if(!B&&!M){B=C;C=null;break;}C=M;}else B=null;}if(B)B=B.getParent();}H=this.endContainer;I=this.endOffset;B=C=null;D=E=false;if(H.type==3){H=!e.trim(H.substring(I)).length&&H;E=!(H&&H.getLength());if(H)if(!(C=H.getNext()))B=H.getParent();
-}else{C=H.getChild(I);if(!C)B=H;}while(B||C){if(B&&!C){if(!D&&B.equals(x))D=true;if(!y.contains(B))break;if(!E||B.getComputedStyle('display')!='inline'){E=false;if(D)A=B;else if(B)this.setEndAfter(B);}C=B.getNext();}while(C){F=false;if(C.type==3){G=C.getText();if(/[^\s\ufeff]/.test(G))C=null;F=/^[\s\ufeff]/.test(G);}else if(C.type==1){if((C.$.offsetWidth>0||w&&C.is('br'))&&!C.data('cke-bookmark'))if(E&&f.$removeEmpty[C.getName()]){G=C.getText();if(/[^\s\ufeff]/.test(G))C=null;else{J=C.$.getElementsByTagName('*');for(K=0;L=J[K++];){if(!f.$removeEmpty[L.nodeName.toLowerCase()]){C=null;break;}}}if(C)F=!!G.length;}else C=null;}else F=1;if(F)if(E)if(D)A=B;else this.setEndAfter(B);if(C){M=C.getNext();if(!B&&!M){B=C;C=null;break;}C=M;}else B=null;}if(B)B=B.getParent();}if(z&&A){x=z.contains(A)?A:z;this.setStartBefore(x);this.setEndAfter(x);}break;case 2:case 3:var N=new d.range(this.document);y=this.document.getBody();N.setStartAt(y,1);N.setEnd(this.startContainer,this.startOffset);var O=new d.walker(N),P,Q,R=d.walker.blockBoundary(v==3?{br:1}:null),S=function(Y){var Z=R(Y);if(!Z)P=Y;return Z;},T=function(Y){var Z=S(Y);if(!Z&&Y.is&&Y.is('br'))Q=Y;return Z;};O.guard=S;B=O.lastBackward();P=P||y;this.setStartAt(P,!P.is('br')&&(!B&&this.checkStartOfBlock()||B&&P.contains(B))?1:4);if(v==3){var U=this.clone();O=new d.walker(U);var V=d.walker.whitespaces(),W=d.walker.bookmark();O.evaluator=function(Y){return!V(Y)&&!W(Y);};var X=O.previous();if(X&&X.type==1&&X.is('br'))return;}N=this.clone();N.collapse();N.setEndAt(y,2);O=new d.walker(N);O.guard=v==3?T:S;P=null;B=O.lastForward();P=P||y;this.setEndAt(P,!B&&this.checkEndOfBlock()||B&&P.contains(B)?2:3);if(Q)this.setEndAfter(Q);}},shrink:function(v,w){if(!this.collapsed){v=v||2;var x=this.clone(),y=this.startContainer,z=this.endContainer,A=this.startOffset,B=this.endOffset,C=this.collapsed,D=1,E=1;if(y&&y.type==3)if(!A)x.setStartBefore(y);else if(A>=y.getLength())x.setStartAfter(y);else{x.setStartBefore(y);D=0;}if(z&&z.type==3)if(!B)x.setEndBefore(z);else if(B>=z.getLength())x.setEndAfter(z);else{x.setEndAfter(z);E=0;}var F=new d.walker(x),G=d.walker.bookmark();F.evaluator=function(K){return K.type==(v==1?1:3);};var H;F.guard=function(K,L){if(G(K))return true;if(v==1&&K.type==3)return false;if(L&&K.equals(H))return false;if(!L&&K.type==1)H=K;return true;};if(D){var I=F[v==1?'lastForward':'next']();I&&this.setStartAt(I,w?1:3);}if(E){F.reset();var J=F[v==1?'lastBackward':'previous']();J&&this.setEndAt(J,w?2:4);}return!!(D||E);
-}},insertNode:function(v){var z=this;z.optimizeBookmark();z.trim(false,true);var w=z.startContainer,x=z.startOffset,y=w.getChild(x);if(y)v.insertBefore(y);else w.append(v);if(v.getParent().equals(z.endContainer))z.endOffset++;z.setStartBefore(v);},moveToPosition:function(v,w){this.setStartAt(v,w);this.collapse(true);},selectNodeContents:function(v){this.setStart(v,0);this.setEnd(v,v.type==3?v.getLength():v.getChildCount());},setStart:function(v,w){var x=this;if(v.type==1&&f.$empty[v.getName()])w=v.getIndex(),v=v.getParent();x.startContainer=v;x.startOffset=w;if(!x.endContainer){x.endContainer=v;x.endOffset=w;}l(x);},setEnd:function(v,w){var x=this;if(v.type==1&&f.$empty[v.getName()])w=v.getIndex()+1,v=v.getParent();x.endContainer=v;x.endOffset=w;if(!x.startContainer){x.startContainer=v;x.startOffset=w;}l(x);},setStartAfter:function(v){this.setStart(v.getParent(),v.getIndex()+1);},setStartBefore:function(v){this.setStart(v.getParent(),v.getIndex());},setEndAfter:function(v){this.setEnd(v.getParent(),v.getIndex()+1);},setEndBefore:function(v){this.setEnd(v.getParent(),v.getIndex());},setStartAt:function(v,w){var x=this;switch(w){case 1:x.setStart(v,0);break;case 2:if(v.type==3)x.setStart(v,v.getLength());else x.setStart(v,v.getChildCount());break;case 3:x.setStartBefore(v);break;case 4:x.setStartAfter(v);}l(x);},setEndAt:function(v,w){var x=this;switch(w){case 1:x.setEnd(v,0);break;case 2:if(v.type==3)x.setEnd(v,v.getLength());else x.setEnd(v,v.getChildCount());break;case 3:x.setEndBefore(v);break;case 4:x.setEndAfter(v);}l(x);},fixBlock:function(v,w){var z=this;var x=z.createBookmark(),y=z.document.createElement(w);z.collapse(v);z.enlarge(2);z.extractContents().appendTo(y);y.trim();if(!c)y.appendBogus();z.insertNode(y);z.moveToBookmark(x);return y;},splitBlock:function(v){var F=this;var w=new d.elementPath(F.startContainer),x=new d.elementPath(F.endContainer),y=w.blockLimit,z=x.blockLimit,A=w.block,B=x.block,C=null;if(!y.equals(z))return null;if(v!='br'){if(!A){A=F.fixBlock(true,v);B=new d.elementPath(F.endContainer).block;}if(!B)B=F.fixBlock(false,v);}var D=A&&F.checkStartOfBlock(),E=B&&F.checkEndOfBlock();F.deleteContents();if(A&&A.equals(B))if(E){C=new d.elementPath(F.startContainer);F.moveToPosition(B,4);B=null;}else if(D){C=new d.elementPath(F.startContainer);F.moveToPosition(A,3);A=null;}else{B=F.splitElement(A);if(!c&&!A.is('ul','ol'))A.appendBogus();}return{previousBlock:A,nextBlock:B,wasStartOfBlock:D,wasEndOfBlock:E,elementPath:C};},splitElement:function(v){var y=this;
-if(!y.collapsed)return null;y.setEndAt(v,2);var w=y.extractContents(),x=v.clone(false);w.appendTo(x);x.insertAfter(v);y.moveToPosition(v,4);return x;},checkBoundaryOfElement:function(v,w){var x=w==1,y=this.clone();y.collapse(x);y[x?'setStartAt':'setEndAt'](v,x?1:2);var z=new d.walker(y);z.evaluator=q(x);return z[x?'checkBackward':'checkForward']();},checkStartOfBlock:function(){var B=this;var v=B.startContainer,w=B.startOffset;if(c&&w&&v.type==3){var x=e.ltrim(v.substring(0,w));if(t.test(x))B.trim(0,1);}var y=new d.elementPath(B.startContainer),z=B.clone();z.collapse(true);z.setStartAt(y.block||y.blockLimit,1);var A=new d.walker(z);A.evaluator=o();return A.checkBackward();},checkEndOfBlock:function(){var B=this;var v=B.endContainer,w=B.endOffset;if(c&&v.type==3){var x=e.rtrim(v.substring(w));if(t.test(x))B.trim(1,0);}var y=new d.elementPath(B.endContainer),z=B.clone();z.collapse(false);z.setEndAt(y.block||y.blockLimit,2);var A=new d.walker(z);A.evaluator=o();return A.checkForward();},getPreviousNode:function(v,w,x){var y=this.clone();y.collapse(1);y.setStartAt(x||this.document.getBody(),1);var z=new d.walker(y);z.evaluator=v;z.guard=w;return z.previous();},getNextNode:function(v,w,x){var y=this.clone();y.collapse();y.setEndAt(x||this.document.getBody(),2);var z=new d.walker(y);z.evaluator=v;z.guard=w;return z.next();},checkReadOnly:(function(){function v(w,x){while(w){if(w.type==1)if(w.getAttribute('contentEditable')=='false'&&!w.data('cke-editable'))return 0;else if(w.is('html')||w.getAttribute('contentEditable')=='true'&&(w.contains(x)||w.equals(x)))break;w=w.getParent();}return 1;};return function(){var w=this.startContainer,x=this.endContainer;return!(v(w,x)&&v(x,w));};})(),moveToElementEditablePosition:function(v,w){function x(z,A){var B;if(z.type==1&&z.isEditable(false))B=z[w?'getLast':'getFirst'](u);if(!A&&!B)B=z[w?'getPrevious':'getNext'](u);return B;};if(v.type==1&&!v.isEditable(false)){this.moveToPosition(v,w?4:3);return true;}var y=0;while(v){if(v.type==3){if(w&&this.checkEndOfBlock()&&t.test(v.getText()))this.moveToPosition(v,3);else this.moveToPosition(v,w?4:3);y=1;break;}if(v.type==1)if(v.isEditable()){this.moveToPosition(v,w?2:1);y=1;}else if(w&&v.is('br')&&this.checkEndOfBlock())this.moveToPosition(v,3);v=x(v,y);}return!!y;},moveToElementEditStart:function(v){return this.moveToElementEditablePosition(v);},moveToElementEditEnd:function(v){return this.moveToElementEditablePosition(v,true);},getEnclosedNode:function(){var v=this.clone();v.optimize();
-if(v.startContainer.type!=1||v.endContainer.type!=1)return null;var w=new d.walker(v),x=d.walker.bookmark(true),y=d.walker.whitespaces(true),z=function(B){return y(B)&&x(B);};v.evaluator=z;var A=w.next();w.reset();return A&&A.equals(w.previous())?A:null;},getTouchedStartNode:function(){var v=this.startContainer;if(this.collapsed||v.type!=1)return v;return v.getChild(this.startOffset)||v;},getTouchedEndNode:function(){var v=this.endContainer;if(this.collapsed||v.type!=1)return v;return v.getChild(this.endOffset-1)||v;}};})();a.POSITION_AFTER_START=1;a.POSITION_BEFORE_END=2;a.POSITION_BEFORE_START=3;a.POSITION_AFTER_END=4;a.ENLARGE_ELEMENT=1;a.ENLARGE_BLOCK_CONTENTS=2;a.ENLARGE_LIST_ITEM_CONTENTS=3;a.START=1;a.END=2;a.STARTEND=3;a.SHRINK_ELEMENT=1;a.SHRINK_TEXT=2;(function(){d.rangeList=function(n){if(n instanceof d.rangeList)return n;if(!n)n=[];else if(n instanceof d.range)n=[n];return e.extend(n,l);};var l={createIterator:function(){var n=this,o=d.walker.bookmark(),p=function(s){return!(s.is&&s.is('tr'));},q=[],r;return{getNextRange:function(s){r=r==undefined?0:r+1;var t=n[r];if(t&&n.length>1){if(!r)for(var u=n.length-1;u>=0;u--)q.unshift(n[u].createBookmark(true));if(s){var v=0;while(n[r+v+1]){var w=t.document,x=0,y=w.getById(q[v].endNode),z=w.getById(q[v+1].startNode),A;while(1){A=y.getNextSourceNode(false);if(!z.equals(A)){if(o(A)||A.type==1&&A.isBlockBoundary()){y=A;continue;}}else x=1;break;}if(!x)break;v++;}}t.moveToBookmark(q.shift());while(v--){A=n[++r];A.moveToBookmark(q.shift());t.setEnd(A.endContainer,A.endOffset);}}return t;}};},createBookmarks:function(n){var s=this;var o=[],p;for(var q=0;q<s.length;q++){o.push(p=s[q].createBookmark(n,true));for(var r=q+1;r<s.length;r++){s[r]=m(p,s[r]);s[r]=m(p,s[r],true);}}return o;},createBookmarks2:function(n){var o=[];for(var p=0;p<this.length;p++)o.push(this[p].createBookmark2(n));return o;},moveToBookmarks:function(n){for(var o=0;o<this.length;o++)this[o].moveToBookmark(n[o]);}};function m(n,o,p){var q=n.serializable,r=o[p?'endContainer':'startContainer'],s=p?'endOffset':'startOffset',t=q?o.document.getById(n.startNode):n.startNode,u=q?o.document.getById(n.endNode):n.endNode;if(r.equals(t.getPrevious())){o.startOffset=o.startOffset-r.getLength()-u.getPrevious().getLength();r=u.getNext();}else if(r.equals(u.getPrevious())){o.startOffset=o.startOffset-r.getLength();r=u.getNext();}r.equals(t.getParent())&&o[s]++;r.equals(u.getParent())&&o[s]++;o[p?'endContainer':'startContainer']=r;return o;};})();(function(){if(b.webkit){b.hc=false;
-return;}var l=h.createFromHtml('<div style="width:0px;height:0px;position:absolute;left:-10000px;border: 1px solid;border-color: red blue;"></div>',a.document);l.appendTo(a.document.getHead());try{b.hc=l.getComputedStyle('border-top-color')==l.getComputedStyle('border-right-color');}catch(m){b.hc=false;}if(b.hc)b.cssClass+=' cke_hc';l.remove();})();j.load(i.corePlugins.split(','),function(){a.status='loaded';a.fire('loaded');var l=a._.pending;if(l){delete a._.pending;for(var m=0;m<l.length;m++)a.add(l[m]);}});if(c)try{document.execCommand('BackgroundImageCache',false,true);}catch(l){}a.skins.add('kama',(function(){var m='cke_ui_color';return{editor:{css:['editor.css']},dialog:{css:['dialog.css']},richcombo:{canGroup:false},templates:{css:['templates.css']},margins:[0,0,0,0],init:function(n){if(n.config.width&&!isNaN(n.config.width))n.config.width-=12;var o=[],p=/\$color/g,q='/* UI Color Support */.cke_skin_kama .cke_menuitem .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuitem a:hover .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:focus .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:active .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuitem a:hover .cke_label,.cke_skin_kama .cke_menuitem a:focus .cke_label,.cke_skin_kama .cke_menuitem a:active .cke_label{\tbackground-color: $color !important;}.cke_skin_kama .cke_menuitem a.cke_disabled:hover .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:focus .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:active .cke_label{\tbackground-color: transparent !important;}.cke_skin_kama .cke_menuitem a.cke_disabled:hover .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a.cke_disabled:focus .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a.cke_disabled:active .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuitem a.cke_disabled .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuseparator{\tbackground-color: $color !important;}.cke_skin_kama .cke_menuitem a:hover,.cke_skin_kama .cke_menuitem a:focus,.cke_skin_kama .cke_menuitem a:active{\tbackground-color: $color !important;}';if(b.webkit){q=q.split('}').slice(0,-1);for(var r=0;r<q.length;r++)q[r]=q[r].split('{');}function s(v){var w=v.getById(m);if(!w){w=v.getHead().append('style');w.setAttribute('id',m);
-w.setAttribute('type','text/css');}return w;};function t(v,w,x){var y,z,A;for(var B=0;B<v.length;B++){if(b.webkit)for(z=0;z<w.length;z++){A=w[z][1];for(y=0;y<x.length;y++)A=A.replace(x[y][0],x[y][1]);v[B].$.sheet.addRule(w[z][0],A);}else{A=w;for(y=0;y<x.length;y++)A=A.replace(x[y][0],x[y][1]);if(c)v[B].$.styleSheet.cssText+=A;else v[B].$.innerHTML+=A;}}};var u=/\$color/g;e.extend(n,{uiColor:null,getUiColor:function(){return this.uiColor;},setUiColor:function(v){var w,x=s(a.document),y='.'+n.id,z=[y+' .cke_wrapper',y+'_dialog .cke_dialog_contents',y+'_dialog a.cke_dialog_tab',y+'_dialog .cke_dialog_footer'].join(','),A='background-color: $color !important;';if(b.webkit)w=[[z,A]];else w=z+'{'+A+'}';return(this.setUiColor=function(B){var C=[[u,B]];n.uiColor=B;t([x],w,C);t(o,q,C);})(v);}});n.on('menuShow',function(v){var w=v.data[0],x=w.element.getElementsByTag('iframe').getItem(0).getFrameDocument();if(!x.getById('cke_ui_color')){var y=s(x);o.push(y);var z=n.getUiColor();if(z)t([y],q,[[u,z]]);}});if(n.config.uiColor)n.setUiColor(n.config.uiColor);}};})());(function(){a.dialog?m():a.on('dialogPluginReady',m);function m(){a.dialog.on('resize',function(n){var o=n.data,p=o.width,q=o.height,r=o.dialog,s=r.parts.contents;if(o.skin!='kama')return;s.setStyles({width:p+'px',height:q+'px'});});};})();j.add('about',{requires:['dialog'],init:function(m){var n=m.addCommand('about',new a.dialogCommand('about'));n.modes={wysiwyg:1,source:1};n.canUndo=false;n.readOnly=1;m.ui.addButton('About',{label:m.lang.about.title,command:'about'});a.dialog.add('about',this.path+'dialogs/about.js');}});(function(){var m='a11yhelp',n='a11yHelp';j.add(m,{requires:['dialog'],availableLangs:{cs:1,cy:1,da:1,de:1,el:1,en:1,eo:1,fa:1,fi:1,fr:1,gu:1,he:1,it:1,ku:1,mk:1,nb:1,nl:1,no:1,'pt-br':1,ro:1,tr:1,ug:1,vi:1,'zh-cn':1},init:function(o){var p=this;o.addCommand(n,{exec:function(){var q=o.langCode;q=p.availableLangs[q]?q:'en';a.scriptLoader.load(a.getUrl(p.path+'lang/'+q+'.js'),function(){e.extend(o.lang,p.langEntries[q]);o.openDialog(n);});},modes:{wysiwyg:1,source:1},readOnly:1,canUndo:false});a.dialog.add(n,this.path+'dialogs/a11yhelp.js');}});})();j.add('basicstyles',{requires:['styles','button'],init:function(m){var n=function(q,r,s,t){var u=new a.style(t);m.attachStyleStateChange(u,function(v){!m.readOnly&&m.getCommand(s).setState(v);});m.addCommand(s,new a.styleCommand(u));m.ui.addButton(q,{label:r,command:s});},o=m.config,p=m.lang;n('Bold',p.bold,'bold',o.coreStyles_bold);n('Italic',p.italic,'italic',o.coreStyles_italic);
-n('Underline',p.underline,'underline',o.coreStyles_underline);n('Strike',p.strike,'strike',o.coreStyles_strike);n('Subscript',p.subscript,'subscript',o.coreStyles_subscript);n('Superscript',p.superscript,'superscript',o.coreStyles_superscript);}});i.coreStyles_bold={element:'strong',overrides:'b'};i.coreStyles_italic={element:'em',overrides:'i'};i.coreStyles_underline={element:'u'};i.coreStyles_strike={element:'strike'};i.coreStyles_subscript={element:'sub'};i.coreStyles_superscript={element:'sup'};(function(){var m={table:1,ul:1,ol:1,blockquote:1,div:1},n={},o={};e.extend(n,m,{tr:1,p:1,div:1,li:1});e.extend(o,n,{td:1});function p(B){q(B);r(B);};function q(B){var C=B.editor,D=B.data.path;if(C.readOnly)return;var E=C.config.useComputedState,F;E=E===undefined||E;if(!E)F=s(D.lastElement);F=F||D.block||D.blockLimit;if(F.is('body')){var G=C.getSelection().getRanges()[0].getEnclosedNode();G&&G.type==1&&(F=G);}if(!F)return;var H=E?F.getComputedStyle('direction'):F.getStyle('direction')||F.getAttribute('dir');C.getCommand('bidirtl').setState(H=='rtl'?1:2);C.getCommand('bidiltr').setState(H=='ltr'?1:2);};function r(B){var C=B.editor,D=B.data.path.block||B.data.path.blockLimit;C.fire('contentDirChanged',D?D.getComputedStyle('direction'):C.lang.dir);};function s(B){while(B&&!(B.getName() in o||B.is('body'))){var C=B.getParent();if(!C)break;B=C;}return B;};function t(B,C,D,E){if(B.isReadOnly())return;h.setMarker(E,B,'bidi_processed',1);var F=B;while((F=F.getParent())&&!F.is('body')){if(F.getCustomData('bidi_processed')){B.removeStyle('direction');B.removeAttribute('dir');return;}}var G='useComputedState' in D.config?D.config.useComputedState:1,H=G?B.getComputedStyle('direction'):B.getStyle('direction')||B.hasAttribute('dir');if(H==C)return;B.removeStyle('direction');if(G){B.removeAttribute('dir');if(C!=B.getComputedStyle('direction'))B.setAttribute('dir',C);}else B.setAttribute('dir',C);D.forceNextSelectionCheck();};function u(B,C,D){var E=B.getCommonAncestor(false,true);B=B.clone();B.enlarge(D==2?3:2);if(B.checkBoundaryOfElement(E,1)&&B.checkBoundaryOfElement(E,2)){var F;while(E&&E.type==1&&(F=E.getParent())&&F.getChildCount()==1&&!(E.getName() in C))E=F;return E.type==1&&E.getName() in C&&E;}};function v(B){return function(C){var D=C.getSelection(),E=C.config.enterMode,F=D.getRanges();if(F&&F.length){var G={},H=D.createBookmarks(),I=F.createIterator(),J,K=0;while(J=I.getNextRange(1)){var L=J.getEnclosedNode();if(!L||L&&!(L.type==1&&L.getName() in n))L=u(J,m,E);L&&t(L,B,C,G);
-var M,N,O=new d.walker(J),P=H[K].startNode,Q=H[K++].endNode;O.evaluator=function(R){return!!(R.type==1&&R.getName() in m&&!(R.getName()==(E==1?'p':'div')&&R.getParent().type==1&&R.getParent().getName()=='blockquote')&&R.getPosition(P)&2&&(R.getPosition(Q)&4+16)==4);};while(N=O.next())t(N,B,C,G);M=J.createIterator();M.enlargeBr=E!=2;while(N=M.getNextParagraph(E==1?'p':'div'))t(N,B,C,G);}h.clearAllMarkers(G);C.forceNextSelectionCheck();D.selectBookmarks(H);C.focus();}};};j.add('bidi',{requires:['styles','button'],init:function(B){var C=function(E,F,G,H){B.addCommand(G,new a.command(B,{exec:H}));B.ui.addButton(E,{label:F,command:G});},D=B.lang.bidi;C('BidiLtr',D.ltr,'bidiltr',v('ltr'));C('BidiRtl',D.rtl,'bidirtl',v('rtl'));B.on('selectionChange',p);B.on('contentDom',function(){B.document.on('dirChanged',function(E){B.fire('dirChanged',{node:E.data,dir:E.data.getDirection(1)});});});}});function w(B){var C=B.getDocument().getBody().getParent();while(B){if(B.equals(C))return false;B=B.getParent();}return true;};function x(B){var C=B==y.setAttribute,D=B==y.removeAttribute,E=/\bdirection\s*:\s*(.*?)\s*(:?$|;)/;return function(F,G){var J=this;if(!J.getDocument().equals(a.document)){var H;if((F==(C||D?'dir':'direction')||F=='style'&&(D||E.test(G)))&&!w(J)){H=J.getDirection(1);var I=B.apply(J,arguments);if(H!=J.getDirection(1)){J.getDocument().fire('dirChanged',J);return I;}}}return B.apply(J,arguments);};};var y=h.prototype,z=['setStyle','removeStyle','setAttribute','removeAttribute'];for(var A=0;A<z.length;A++)y[z[A]]=e.override(y[z[A]],x);})();(function(){function m(q,r){var s=r.block||r.blockLimit;if(!s||s.getName()=='body')return 2;if(s.getAscendant('blockquote',true))return 1;return 2;};function n(q){var r=q.editor;if(r.readOnly)return;var s=r.getCommand('blockquote');s.state=m(r,q.data.path);s.fire('state');};function o(q){for(var r=0,s=q.getChildCount(),t;r<s&&(t=q.getChild(r));r++){if(t.type==1&&t.isBlockBoundary())return false;}return true;};var p={exec:function(q){var r=q.getCommand('blockquote').state,s=q.getSelection(),t=s&&s.getRanges(true)[0];if(!t)return;var u=s.createBookmarks();if(c){var v=u[0].startNode,w=u[0].endNode,x;if(v&&v.getParent().getName()=='blockquote'){x=v;while(x=x.getNext()){if(x.type==1&&x.isBlockBoundary()){v.move(x,true);break;}}}if(w&&w.getParent().getName()=='blockquote'){x=w;while(x=x.getPrevious()){if(x.type==1&&x.isBlockBoundary()){w.move(x);break;}}}}var y=t.createIterator(),z;y.enlargeBr=q.config.enterMode!=2;if(r==2){var A=[];
-while(z=y.getNextParagraph())A.push(z);if(A.length<1){var B=q.document.createElement(q.config.enterMode==1?'p':'div'),C=u.shift();t.insertNode(B);B.append(new d.text('\ufeff',q.document));t.moveToBookmark(C);t.selectNodeContents(B);t.collapse(true);C=t.createBookmark();A.push(B);u.unshift(C);}var D=A[0].getParent(),E=[];for(var F=0;F<A.length;F++){z=A[F];D=D.getCommonAncestor(z.getParent());}var G={table:1,tbody:1,tr:1,ol:1,ul:1};while(G[D.getName()])D=D.getParent();var H=null;while(A.length>0){z=A.shift();while(!z.getParent().equals(D))z=z.getParent();if(!z.equals(H))E.push(z);H=z;}while(E.length>0){z=E.shift();if(z.getName()=='blockquote'){var I=new d.documentFragment(q.document);while(z.getFirst()){I.append(z.getFirst().remove());A.push(I.getLast());}I.replace(z);}else A.push(z);}var J=q.document.createElement('blockquote');J.insertBefore(A[0]);while(A.length>0){z=A.shift();J.append(z);}}else if(r==1){var K=[],L={};while(z=y.getNextParagraph()){var M=null,N=null;while(z.getParent()){if(z.getParent().getName()=='blockquote'){M=z.getParent();N=z;break;}z=z.getParent();}if(M&&N&&!N.getCustomData('blockquote_moveout')){K.push(N);h.setMarker(L,N,'blockquote_moveout',true);}}h.clearAllMarkers(L);var O=[],P=[];L={};while(K.length>0){var Q=K.shift();J=Q.getParent();if(!Q.getPrevious())Q.remove().insertBefore(J);else if(!Q.getNext())Q.remove().insertAfter(J);else{Q.breakParent(Q.getParent());P.push(Q.getNext());}if(!J.getCustomData('blockquote_processed')){P.push(J);h.setMarker(L,J,'blockquote_processed',true);}O.push(Q);}h.clearAllMarkers(L);for(F=P.length-1;F>=0;F--){J=P[F];if(o(J))J.remove();}if(q.config.enterMode==2){var R=true;while(O.length){Q=O.shift();if(Q.getName()=='div'){I=new d.documentFragment(q.document);var S=R&&Q.getPrevious()&&!(Q.getPrevious().type==1&&Q.getPrevious().isBlockBoundary());if(S)I.append(q.document.createElement('br'));var T=Q.getNext()&&!(Q.getNext().type==1&&Q.getNext().isBlockBoundary());while(Q.getFirst())Q.getFirst().remove().appendTo(I);if(T)I.append(q.document.createElement('br'));I.replace(Q);R=false;}}}}s.selectBookmarks(u);q.focus();}};j.add('blockquote',{init:function(q){q.addCommand('blockquote',p);q.ui.addButton('Blockquote',{label:q.lang.blockquote,command:'blockquote'});q.on('selectionChange',n);},requires:['domiterator']});})();j.add('button',{beforeInit:function(m){m.ui.addHandler('button',k.button.handler);}});a.UI_BUTTON='button';k.button=function(m){e.extend(this,m,{title:m.label,className:m.className||m.command&&'cke_button_'+m.command||'',click:m.click||(function(n){n.execCommand(m.command);
-})});this._={};};k.button.handler={create:function(m){return new k.button(m);}};(function(){k.button.prototype={render:function(m,n){var o=b,p=this._.id=e.getNextId(),q='',r=this.command,s;this._.editor=m;var t={id:p,button:this,editor:m,focus:function(){var z=a.document.getById(p);z.focus();},execute:function(){if(c&&b.version<7)e.setTimeout(function(){this.button.click(m);},0,this);else this.button.click(m);}},u=e.addFunction(function(z){if(t.onkey){z=new d.event(z);return t.onkey(t,z.getKeystroke())!==false;}}),v=e.addFunction(function(z){var A;if(t.onfocus)A=t.onfocus(t,new d.event(z))!==false;if(b.gecko&&b.version<10900)z.preventBubble();return A;});t.clickFn=s=e.addFunction(t.execute,t);if(this.modes){var w={};function x(){var z=m.mode;if(z){var A=this.modes[z]?w[z]!=undefined?w[z]:2:0;this.setState(m.readOnly&&!this.readOnly?0:A);}};m.on('beforeModeUnload',function(){if(m.mode&&this._.state!=0)w[m.mode]=this._.state;},this);m.on('mode',x,this);!this.readOnly&&m.on('readOnly',x,this);}else if(r){r=m.getCommand(r);if(r){r.on('state',function(){this.setState(r.state);},this);q+='cke_'+(r.state==1?'on':r.state==0?'disabled':'off');}}if(!r)q+='cke_off';if(this.className)q+=' '+this.className;n.push('<span class="cke_button'+(this.icon&&this.icon.indexOf('.png')==-1?' cke_noalphafix':'')+'">','<a id="',p,'" class="',q,'"',o.gecko&&o.version>=10900&&!o.hc?'':'" href="javascript:void(\''+(this.title||'').replace("'",'')+"')\"",' title="',this.title,'" tabindex="-1" hidefocus="true" role="button" aria-labelledby="'+p+'_label"'+(this.hasArrow?' aria-haspopup="true"':''));if(o.opera||o.gecko&&o.mac)n.push(' onkeypress="return false;"');if(o.gecko)n.push(' onblur="this.style.cssText = this.style.cssText;"');n.push(' onkeydown="return CKEDITOR.tools.callFunction(',u,', event);" onfocus="return CKEDITOR.tools.callFunction(',v,', event);" '+(c?'onclick="return false;" onmouseup':'onclick')+'="CKEDITOR.tools.callFunction(',s,', this); return false;"><span class="cke_icon"');if(this.icon){var y=(this.iconOffset||0)*-16;n.push(' style="background-image:url(',a.getUrl(this.icon),');background-position:0 '+y+'px;"');}n.push('>&nbsp;</span><span id="',p,'_label" class="cke_label">',this.label,'</span>');if(this.hasArrow)n.push('<span class="cke_buttonarrow">'+(b.hc?'&#9660;':'&nbsp;')+'</span>');n.push('</a>','</span>');if(this.onRender)this.onRender();return t;},setState:function(m){if(this._.state==m)return false;this._.state=m;var n=a.document.getById(this._.id);if(n){n.setState(m);
-m==0?n.setAttribute('aria-disabled',true):n.removeAttribute('aria-disabled');m==1?n.setAttribute('aria-pressed',true):n.removeAttribute('aria-pressed');return true;}else return false;}};})();k.prototype.addButton=function(m,n){this.add(m,'button',n);};(function(){var m=function(y,z){var A=y.document,B=A.getBody(),C=false,D=function(){C=true;};B.on(z,D);(b.version>7?A.$:A.$.selection.createRange()).execCommand(z);B.removeListener(z,D);return C;},n=c?function(y,z){return m(y,z);}:function(y,z){try{return y.document.$.execCommand(z,false,null);}catch(A){return false;}},o=function(y){var z=this;z.type=y;z.canUndo=z.type=='cut';z.startDisabled=true;};o.prototype={exec:function(y,z){this.type=='cut'&&t(y);var A=n(y,this.type);if(!A)alert(y.lang.clipboard[this.type+'Error']);return A;}};var p={canUndo:false,exec:c?function(y){y.focus();if(!y.document.getBody().fire('beforepaste')&&!m(y,'paste')){y.fire('pasteDialog');return false;}}:function(y){try{if(!y.document.getBody().fire('beforepaste')&&!y.document.$.execCommand('Paste',false,null))throw 0;}catch(z){setTimeout(function(){y.fire('pasteDialog');},0);return false;}}},q=function(y){if(this.mode!='wysiwyg')return;switch(y.data.keyCode){case 1114112+86:case 2228224+45:var z=this.document.getBody();if(b.opera||b.gecko)z.fire('paste');return;case 1114112+88:case 2228224+46:var A=this;this.fire('saveSnapshot');setTimeout(function(){A.fire('saveSnapshot');},0);}};function r(y){y.cancel();};function s(y,z,A){var B=this.document;if(B.getById('cke_pastebin'))return;if(z=='text'&&y.data&&y.data.$.clipboardData){var C=y.data.$.clipboardData.getData('text/plain');if(C){y.data.preventDefault();A(C);return;}}var D=this.getSelection(),E=new d.range(B),F=new h(z=='text'?'textarea':b.webkit?'body':'div',B);F.setAttribute('id','cke_pastebin');b.webkit&&F.append(B.createText('\xa0'));B.getBody().append(F);F.setStyles({position:'absolute',top:D.getStartElement().getDocumentPosition().y+'px',width:'1px',height:'1px',overflow:'hidden'});F.setStyle(this.config.contentsLangDirection=='ltr'?'left':'right','-1000px');var G=D.createBookmarks();this.on('selectionChange',r,null,null,0);if(z=='text')F.$.focus();else{E.setStartAt(F,1);E.setEndAt(F,2);E.select(true);}var H=this;window.setTimeout(function(){H.document.getBody().focus();H.removeListener('selectionChange',r);if(b.ie7Compat){D.selectBookmarks(G);F.remove();}else{F.remove();D.selectBookmarks(G);}var I;F=b.webkit&&(I=F.getFirst())&&I.is&&I.hasClass('Apple-style-span')?I:F;A(F['get'+(z=='text'?'Value':'Html')]());
-},0);};function t(y){if(!c||b.quirks)return;var z=y.getSelection(),A;if(z.getType()==3&&(A=z.getSelectedElement())){var B=z.getRanges()[0],C=y.document.createText('');C.insertBefore(A);B.setStartBefore(C);B.setEndAfter(A);z.selectRanges([B]);setTimeout(function(){if(A.getParent()){C.remove();z.selectElement(A);}},0);}};var u,v;function w(y,z){var A;if(v&&y in {Paste:1,Cut:1})return 0;if(y=='Paste'){c&&(u=1);try{A=z.document.$.queryCommandEnabled(y)||b.webkit;}catch(D){}u=0;}else{var B=z.getSelection(),C=B&&B.getRanges();A=B&&!(C.length==1&&C[0].collapsed);}return A?2:0;};function x(){var z=this;if(z.mode!='wysiwyg')return;var y=w('Paste',z);z.getCommand('cut').setState(w('Cut',z));z.getCommand('copy').setState(w('Copy',z));z.getCommand('paste').setState(y);z.fire('pasteState',y);};j.add('clipboard',{requires:['dialog','htmldataprocessor'],init:function(y){y.on('paste',function(A){var B=A.data;if(B.html)y.insertHtml(B.html);else if(B.text)y.insertText(B.text);setTimeout(function(){y.fire('afterPaste');},0);},null,null,1000);y.on('pasteDialog',function(A){setTimeout(function(){y.openDialog('paste');},0);});y.on('pasteState',function(A){y.getCommand('paste').setState(A.data);});function z(A,B,C,D){var E=y.lang[B];y.addCommand(B,C);y.ui.addButton(A,{label:E,command:B});if(y.addMenuItems)y.addMenuItem(B,{label:E,command:B,group:'clipboard',order:D});};z('Cut','cut',new o('cut'),1);z('Copy','copy',new o('copy'),4);z('Paste','paste',p,8);a.dialog.add('paste',a.getUrl(this.path+'dialogs/paste.js'));y.on('key',q,y);y.on('contentDom',function(){var A=y.document.getBody();A.on(!c?'paste':'beforepaste',function(B){if(u)return;var C=B.data&&B.data.$;if(c&&C&&!C.ctrlKey)return;var D={mode:'html'};y.fire('beforePaste',D);s.call(y,B,D.mode,function(E){if(!(E=e.trim(E.replace(/<span[^>]+data-cke-bookmark[^<]*?<\/span>/ig,''))))return;var F={};F[D.mode]=E;y.fire('paste',F);});});if(c){A.on('contextmenu',function(){u=1;setTimeout(function(){u=0;},0);});A.on('paste',function(B){if(!y.document.getById('cke_pastebin')){B.data.preventDefault();u=0;p.exec(y);}});}A.on('beforecut',function(){!u&&t(y);});A.on('mouseup',function(){setTimeout(function(){x.call(y);},0);},y);A.on('keyup',x,y);});y.on('selectionChange',function(A){v=A.data.selection.getRanges()[0].checkReadOnly();x.call(y);});if(y.contextMenu)y.contextMenu.addListener(function(A,B){var C=B.getRanges()[0].checkReadOnly();return{cut:w('Cut',y),copy:w('Copy',y),paste:w('Paste',y)};});}});})();j.add('colorbutton',{requires:['panelbutton','floatpanel','styles'],init:function(m){var n=m.config,o=m.lang.colorButton,p;
-if(!b.hc){q('TextColor','fore',o.textColorTitle);q('BGColor','back',o.bgColorTitle);}function q(t,u,v){var w=e.getNextId()+'_colorBox';m.ui.add(t,'panelbutton',{label:v,title:v,className:'cke_button_'+t.toLowerCase(),modes:{wysiwyg:1},panel:{css:m.skin.editor.css,attributes:{role:'listbox','aria-label':o.panelTitle}},onBlock:function(x,y){y.autoSize=true;y.element.addClass('cke_colorblock');y.element.setHtml(r(x,u,w));y.element.getDocument().getBody().setStyle('overflow','hidden');k.fire('ready',this);var z=y.keys,A=m.lang.dir=='rtl';z[A?37:39]='next';z[40]='next';z[9]='next';z[A?39:37]='prev';z[38]='prev';z[2228224+9]='prev';z[32]='click';},onOpen:function(){var x=m.getSelection(),y=x&&x.getStartElement(),z=new d.elementPath(y),A;y=z.block||z.blockLimit||m.document.getBody();do A=y&&y.getComputedStyle(u=='back'?'background-color':'color')||'transparent';while(u=='back'&&A=='transparent'&&y&&(y=y.getParent()));if(!A||A=='transparent')A='#ffffff';this._.panel._.iframe.getFrameDocument().getById(w).setStyle('background-color',A);}});};function r(t,u,v){var w=[],x=n.colorButton_colors.split(','),y=e.addFunction(function(E,F){if(E=='?'){var G=arguments.callee;function H(J){this.removeListener('ok',H);this.removeListener('cancel',H);J.name=='ok'&&G(this.getContentElement('picker','selectedColor').getValue(),F);};m.openDialog('colordialog',function(){this.on('ok',H);this.on('cancel',H);});return;}m.focus();t.hide(false);m.fire('saveSnapshot');new a.style(n['colorButton_'+F+'Style'],{color:'inherit'}).remove(m.document);if(E){var I=n['colorButton_'+F+'Style'];I.childRule=F=='back'?function(J){return s(J);}:function(J){return!(J.is('a')||J.getElementsByTag('a').count())||s(J);};new a.style(I,{color:E}).apply(m.document);}m.fire('saveSnapshot');});w.push('<a class="cke_colorauto" _cke_focus=1 hidefocus=true title="',o.auto,'" onclick="CKEDITOR.tools.callFunction(',y,",null,'",u,"');return false;\" href=\"javascript:void('",o.auto,'\')" role="option"><table role="presentation" cellspacing=0 cellpadding=0 width="100%"><tr><td><span class="cke_colorbox" id="',v,'"></span></td><td colspan=7 align=center>',o.auto,'</td></tr></table></a><table role="presentation" cellspacing=0 cellpadding=0 width="100%">');for(var z=0;z<x.length;z++){if(z%8===0)w.push('</tr><tr>');var A=x[z].split('/'),B=A[0],C=A[1]||B;if(!A[1])B='#'+B.replace(/^(.)(.)(.)$/,'$1$1$2$2$3$3');var D=m.lang.colors[C]||C;w.push('<td><a class="cke_colorbox" _cke_focus=1 hidefocus=true title="',D,'" onclick="CKEDITOR.tools.callFunction(',y,",'",B,"','",u,"'); return false;\" href=\"javascript:void('",D,'\')" role="option"><span class="cke_colorbox" style="background-color:#',C,'"></span></a></td>');
-}if(n.colorButton_enableMore===undefined||n.colorButton_enableMore)w.push('</tr><tr><td colspan=8 align=center><a class="cke_colormore" _cke_focus=1 hidefocus=true title="',o.more,'" onclick="CKEDITOR.tools.callFunction(',y,",'?','",u,"');return false;\" href=\"javascript:void('",o.more,"')\"",' role="option">',o.more,'</a></td>');w.push('</tr></table>');return w.join('');};function s(t){return t.getAttribute('contentEditable')=='false'||t.getAttribute('data-nostyle');};}});i.colorButton_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';i.colorButton_foreStyle={element:'span',styles:{color:'#(color)'},overrides:[{element:'font',attributes:{color:null}}]};i.colorButton_backStyle={element:'span',styles:{'background-color':'#(color)'}};j.colordialog={requires:['dialog'],init:function(m){m.addCommand('colordialog',new a.dialogCommand('colordialog'));a.dialog.add('colordialog',this.path+'dialogs/colordialog.js');}};j.add('colordialog',j.colordialog);j.add('contextmenu',{requires:['menu'],onLoad:function(){j.contextMenu=e.createClass({base:a.menu,$:function(m){this.base.call(this,m,{panel:{className:m.skinClass+' cke_contextmenu',attributes:{'aria-label':m.lang.contextmenu.options}}});},proto:{addTarget:function(m,n){if(b.opera&&!('oncontextmenu' in document.body)){var o;m.on('mousedown',function(s){s=s.data;if(s.$.button!=2){if(s.getKeystroke()==1114112+1)m.fire('contextmenu',s);return;}if(n&&(b.mac?s.$.metaKey:s.$.ctrlKey))return;var t=s.getTarget();if(!o){var u=t.getDocument();o=u.createElement('input');o.$.type='button';u.getBody().append(o);}o.setAttribute('style','position:absolute;top:'+(s.$.clientY-2)+'px;left:'+(s.$.clientX-2)+'px;width:5px;height:5px;opacity:0.01');});m.on('mouseup',function(s){if(o){o.remove();o=undefined;m.fire('contextmenu',s.data);}});}m.on('contextmenu',function(s){var t=s.data;if(n&&(b.webkit?p:b.mac?t.$.metaKey:t.$.ctrlKey))return;t.preventDefault();var u=t.getTarget().getDocument().getDocumentElement(),v=t.$.clientX,w=t.$.clientY;e.setTimeout(function(){this.open(u,null,v,w);},c?200:0,this);},this);if(b.opera)m.on('keypress',function(s){var t=s.data;if(t.$.keyCode===0)t.preventDefault();});if(b.webkit){var p,q=function(s){p=b.mac?s.data.$.metaKey:s.data.$.ctrlKey;},r=function(){p=0;};m.on('keydown',q);m.on('keyup',r);
-m.on('contextmenu',r);}},open:function(m,n,o,p){this.editor.focus();m=m||a.document.getDocumentElement();this.show(m,n,o,p);}}});},beforeInit:function(m){m.contextMenu=new j.contextMenu(m);m.addCommand('contextMenu',{exec:function(){m.contextMenu.open(m.document.getBody());}});}});(function(){function m(o){var p=this.att,q=o&&o.hasAttribute(p)&&o.getAttribute(p)||'';if(q!==undefined)this.setValue(q);};function n(){var o;for(var p=0;p<arguments.length;p++){if(arguments[p] instanceof h){o=arguments[p];break;}}if(o){var q=this.att,r=this.getValue();if(r)o.setAttribute(q,r);else o.removeAttribute(q,r);}};j.add('dialogadvtab',{createAdvancedTab:function(o,p){if(!p)p={id:1,dir:1,classes:1,styles:1};var q=o.lang.common,r={id:'advanced',label:q.advancedTab,title:q.advancedTab,elements:[{type:'vbox',padding:1,children:[]}]},s=[];if(p.id||p.dir){if(p.id)s.push({id:'advId',att:'id',type:'text',label:q.id,setup:m,commit:n});if(p.dir)s.push({id:'advLangDir',att:'dir',type:'select',label:q.langDir,'default':'',style:'width:100%',items:[[q.notSet,''],[q.langDirLTR,'ltr'],[q.langDirRTL,'rtl']],setup:m,commit:n});r.elements[0].children.push({type:'hbox',widths:['50%','50%'],children:[].concat(s)});}if(p.styles||p.classes){s=[];if(p.styles)s.push({id:'advStyles',att:'style',type:'text',label:q.styles,'default':'',validate:a.dialog.validate.inlineStyle(q.invalidInlineStyle),onChange:function(){},getStyle:function(t,u){var v=this.getValue().match(new RegExp('(?:^|;)\\s*'+t+'\\s*:\\s*([^;]*)','i'));return v?v[1]:u;},updateStyle:function(t,u){var v=this.getValue(),w=o.document.createElement('span');w.setAttribute('style',v);w.setStyle(t,u);v=e.normalizeCssText(w.getAttribute('style'));this.setValue(v,1);},setup:m,commit:n});if(p.classes)s.push({type:'hbox',widths:['45%','55%'],children:[{id:'advCSSClasses',att:'class',type:'text',label:q.cssClasses,'default':'',setup:m,commit:n}]});r.elements[0].children.push({type:'hbox',widths:['50%','50%'],children:[].concat(s)});}return r;}});})();(function(){j.add('div',{requires:['editingblock','dialog','domiterator','styles'],init:function(m){var n=m.lang.div;m.addCommand('creatediv',new a.dialogCommand('creatediv'));m.addCommand('editdiv',new a.dialogCommand('editdiv'));m.addCommand('removediv',{exec:function(o){var p=o.getSelection(),q=p&&p.getRanges(),r,s=p.createBookmarks(),t,u=[];function v(x){var y=new d.elementPath(x),z=y.blockLimit,A=z.is('div')&&z;if(A&&!A.data('cke-div-added')){u.push(A);A.data('cke-div-added');}};for(var w=0;w<q.length;
-w++){r=q[w];if(r.collapsed)v(p.getStartElement());else{t=new d.walker(r);t.evaluator=v;t.lastForward();}}for(w=0;w<u.length;w++)u[w].remove(true);p.selectBookmarks(s);}});m.ui.addButton('CreateDiv',{label:n.toolbar,command:'creatediv'});if(m.addMenuItems){m.addMenuItems({editdiv:{label:n.edit,command:'editdiv',group:'div',order:1},removediv:{label:n.remove,command:'removediv',group:'div',order:5}});if(m.contextMenu)m.contextMenu.addListener(function(o,p){if(!o||o.isReadOnly())return null;var q=new d.elementPath(o),r=q.blockLimit;if(r&&r.getAscendant('div',true))return{editdiv:2,removediv:2};return null;});}a.dialog.add('creatediv',this.path+'dialogs/div.js');a.dialog.add('editdiv',this.path+'dialogs/div.js');}});})();(function(){var m={toolbarFocus:{editorFocus:false,readOnly:1,exec:function(o){var p=o._.elementsPath.idBase,q=a.document.getById(p+'0');q&&q.focus(c||b.air);}}},n='<span class="cke_empty">&nbsp;</span>';j.add('elementspath',{requires:['selection'],init:function(o){var p='cke_path_'+o.name,q,r=function(){if(!q)q=a.document.getById(p);return q;},s='cke_elementspath_'+e.getNextNumber()+'_';o._.elementsPath={idBase:s,filters:[]};o.on('themeSpace',function(x){if(x.data.space=='bottom')x.data.html+='<span id="'+p+'_label" class="cke_voice_label">'+o.lang.elementsPath.eleLabel+'</span>'+'<div id="'+p+'" class="cke_path" role="group" aria-labelledby="'+p+'_label">'+n+'</div>';});function t(x){o.focus();var y=o._.elementsPath.list[x];if(y.is('body')){var z=new d.range(o.document);z.selectNodeContents(y);z.select();}else o.getSelection().selectElement(y);};var u=e.addFunction(t),v=e.addFunction(function(x,y){var z=o._.elementsPath.idBase,A;y=new d.event(y);var B=o.lang.dir=='rtl';switch(y.getKeystroke()){case B?39:37:case 9:A=a.document.getById(z+(x+1));if(!A)A=a.document.getById(z+'0');A.focus();return false;case B?37:39:case 2228224+9:A=a.document.getById(z+(x-1));if(!A)A=a.document.getById(z+(o._.elementsPath.list.length-1));A.focus();return false;case 27:o.focus();return false;case 13:case 32:t(x);return false;}return true;});o.on('selectionChange',function(x){var y=b,z=x.data.selection,A=z.getStartElement(),B=[],C=x.editor,D=C._.elementsPath.list=[],E=C._.elementsPath.filters;while(A){var F=0,G;if(A.data('cke-display-name'))G=A.data('cke-display-name');else if(A.data('cke-real-element-type'))G=A.data('cke-real-element-type');else G=A.getName();for(var H=0;H<E.length;H++){var I=E[H](A,G);if(I===false){F=1;break;}G=I||G;}if(!F){var J=D.push(A)-1,K='';
-if(y.opera||y.gecko&&y.mac)K+=' onkeypress="return false;"';if(y.gecko)K+=' onblur="this.style.cssText = this.style.cssText;"';var L=C.lang.elementsPath.eleTitle.replace(/%1/,G);B.unshift('<a id="',s,J,'" href="javascript:void(\'',G,'\')" tabindex="-1" title="',L,'"'+(b.gecko&&b.version<10900?' onfocus="event.preventBubble();"':'')+' hidefocus="true" '+' onkeydown="return CKEDITOR.tools.callFunction(',v,',',J,', event );"'+K,' onclick="CKEDITOR.tools.callFunction('+u,',',J,'); return false;"',' role="button" aria-labelledby="'+s+J+'_label">',G,'<span id="',s,J,'_label" class="cke_label">'+L+'</span>','</a>');}if(G=='body')break;A=A.getParent();}var M=r();M.setHtml(B.join('')+n);C.fire('elementsPathUpdate',{space:M});});function w(){q&&q.setHtml(n);delete o._.elementsPath.list;};o.on('readOnly',w);o.on('contentDomUnload',w);o.addCommand('elementsPathFocus',m.toolbarFocus);}});})();(function(){j.add('enterkey',{requires:['keystrokes','indent'],init:function(t){t.addCommand('enter',{modes:{wysiwyg:1},editorFocus:false,exec:function(v){r(v);}});t.addCommand('shiftEnter',{modes:{wysiwyg:1},editorFocus:false,exec:function(v){q(v);}});var u=t.keystrokeHandler.keystrokes;u[13]='enter';u[2228224+13]='shiftEnter';}});j.enterkey={enterBlock:function(t,u,v,w){v=v||s(t);if(!v)return;var x=v.document,y=v.checkStartOfBlock(),z=v.checkEndOfBlock(),A=new d.elementPath(v.startContainer),B=A.block;if(y&&z){if(B&&(B.is('li')||B.getParent().is('li'))){t.execCommand('outdent');return;}if(B&&B.getParent().is('blockquote')){B.breakParent(B.getParent());if(!B.getPrevious().getFirst(d.walker.invisible(1)))B.getPrevious().remove();if(!B.getNext().getFirst(d.walker.invisible(1)))B.getNext().remove();v.moveToElementEditStart(B);v.select();return;}}else if(B&&B.is('pre')){if(!z){n(t,u,v,w);return;}}else if(B&&f.$captionBlock[B.getName()]){n(t,u,v,w);return;}var C=u==3?'div':'p',D=v.splitBlock(C);if(!D)return;var E=D.previousBlock,F=D.nextBlock,G=D.wasStartOfBlock,H=D.wasEndOfBlock,I;if(F){I=F.getParent();if(I.is('li')){F.breakParent(I);F.move(F.getNext(),1);}}else if(E&&(I=E.getParent())&&I.is('li')){E.breakParent(I);I=E.getNext();v.moveToElementEditStart(I);E.move(E.getPrevious());}if(!G&&!H){if(F.is('li')&&(I=F.getFirst(d.walker.invisible(true)))&&I.is&&I.is('ul','ol'))(c?x.createText('\xa0'):x.createElement('br')).insertBefore(I);if(F)v.moveToElementEditStart(F);}else{var J,K;if(E){if(E.is('li')||!(p.test(E.getName())||E.is('pre')))J=E.clone();}else if(F)J=F.clone();if(!J){if(I&&I.is('li'))J=I;
-else{J=x.createElement(C);if(E&&(K=E.getDirection()))J.setAttribute('dir',K);}}else if(w&&!J.is('li'))J.renameNode(C);var L=D.elementPath;if(L)for(var M=0,N=L.elements.length;M<N;M++){var O=L.elements[M];if(O.equals(L.block)||O.equals(L.blockLimit))break;if(f.$removeEmpty[O.getName()]){O=O.clone();J.moveChildren(O);J.append(O);}}if(!c)J.appendBogus();if(!J.getParent())v.insertNode(J);J.is('li')&&J.removeAttribute('value');if(c&&G&&(!H||!E.getChildCount())){v.moveToElementEditStart(H?E:J);v.select();}v.moveToElementEditStart(G&&!H?F:J);}if(!c)if(F){var P=x.createElement('span');P.setHtml('&nbsp;');v.insertNode(P);P.scrollIntoView();v.deleteContents();}else J.scrollIntoView();v.select();},enterBr:function(t,u,v,w){v=v||s(t);if(!v)return;var x=v.document,y=u==3?'div':'p',z=v.checkEndOfBlock(),A=new d.elementPath(t.getSelection().getStartElement()),B=A.block,C=B&&A.block.getName(),D=false;if(!w&&C=='li'){o(t,u,v,w);return;}if(!w&&z&&p.test(C)){var E,F;if(F=B.getDirection()){E=x.createElement('div');E.setAttribute('dir',F);E.insertAfter(B);v.setStart(E,0);}else{x.createElement('br').insertAfter(B);if(b.gecko)x.createText('').insertAfter(B);v.setStartAt(B.getNext(),c?3:1);}}else{var G;D=C=='pre';if(C=='pre'&&c&&b.version<8)G=x.createText('\r');else G=x.createElement('br');v.deleteContents();v.insertNode(G);if(c)v.setStartAt(G,4);else{x.createText('\ufeff').insertAfter(G);if(z)G.getParent().appendBogus();G.getNext().$.nodeValue='';v.setStartAt(G.getNext(),1);var H=null;if(!b.gecko){H=x.createElement('span');H.setHtml('&nbsp;');}else H=x.createElement('br');H.insertBefore(G.getNext());H.scrollIntoView();H.remove();}}v.collapse(true);v.select(D);}};var m=j.enterkey,n=m.enterBr,o=m.enterBlock,p=/^h[1-6]$/;function q(t){if(t.mode!='wysiwyg')return false;return r(t,t.config.shiftEnterMode,1);};function r(t,u,v){v=t.config.forceEnterMode||v;if(t.mode!='wysiwyg')return false;if(!u)u=t.config.enterMode;setTimeout(function(){t.fire('saveSnapshot');if(u==2)n(t,u,null,v);else o(t,u,null,v);t.fire('saveSnapshot');},0);return true;};function s(t){var u=t.getSelection().getRanges(true);for(var v=u.length-1;v>0;v--)u[v].deleteContents();return u[0];};})();(function(){var m='nbsp,gt,lt,amp',n='quot,iexcl,cent,pound,curren,yen,brvbar,sect,uml,copy,ordf,laquo,not,shy,reg,macr,deg,plusmn,sup2,sup3,acute,micro,para,middot,cedil,sup1,ordm,raquo,frac14,frac12,frac34,iquest,times,divide,fnof,bull,hellip,prime,Prime,oline,frasl,weierp,image,real,trade,alefsym,larr,uarr,rarr,darr,harr,crarr,lArr,uArr,rArr,dArr,hArr,forall,part,exist,empty,nabla,isin,notin,ni,prod,sum,minus,lowast,radic,prop,infin,ang,and,or,cap,cup,int,there4,sim,cong,asymp,ne,equiv,le,ge,sub,sup,nsub,sube,supe,oplus,otimes,perp,sdot,lceil,rceil,lfloor,rfloor,lang,rang,loz,spades,clubs,hearts,diams,circ,tilde,ensp,emsp,thinsp,zwnj,zwj,lrm,rlm,ndash,mdash,lsquo,rsquo,sbquo,ldquo,rdquo,bdquo,dagger,Dagger,permil,lsaquo,rsaquo,euro',o='Agrave,Aacute,Acirc,Atilde,Auml,Aring,AElig,Ccedil,Egrave,Eacute,Ecirc,Euml,Igrave,Iacute,Icirc,Iuml,ETH,Ntilde,Ograve,Oacute,Ocirc,Otilde,Ouml,Oslash,Ugrave,Uacute,Ucirc,Uuml,Yacute,THORN,szlig,agrave,aacute,acirc,atilde,auml,aring,aelig,ccedil,egrave,eacute,ecirc,euml,igrave,iacute,icirc,iuml,eth,ntilde,ograve,oacute,ocirc,otilde,ouml,oslash,ugrave,uacute,ucirc,uuml,yacute,thorn,yuml,OElig,oelig,Scaron,scaron,Yuml',p='Alpha,Beta,Gamma,Delta,Epsilon,Zeta,Eta,Theta,Iota,Kappa,Lambda,Mu,Nu,Xi,Omicron,Pi,Rho,Sigma,Tau,Upsilon,Phi,Chi,Psi,Omega,alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota,kappa,lambda,mu,nu,xi,omicron,pi,rho,sigmaf,sigma,tau,upsilon,phi,chi,psi,omega,thetasym,upsih,piv';
-function q(r,s){var t={},u=[],v={nbsp:'\xa0',shy:'­',gt:'>',lt:'<',amp:'&',apos:"'",quot:'"'};r=r.replace(/\b(nbsp|shy|gt|lt|amp|apos|quot)(?:,|$)/g,function(A,B){var C=s?'&'+B+';':v[B],D=s?v[B]:'&'+B+';';t[C]=D;u.push(C);return '';});if(!s&&r){r=r.split(',');var w=document.createElement('div'),x;w.innerHTML='&'+r.join(';&')+';';x=w.innerHTML;w=null;for(var y=0;y<x.length;y++){var z=x.charAt(y);t[z]='&'+r[y]+';';u.push(z);}}t.regex=u.join(s?'|':'');return t;};j.add('entities',{afterInit:function(r){var s=r.config,t=r.dataProcessor,u=t&&t.htmlFilter;if(u){var v=[];if(s.basicEntities!==false)v.push(m);if(s.entities){if(v.length)v.push(n);if(s.entities_latin)v.push(o);if(s.entities_greek)v.push(p);if(s.entities_additional)v.push(s.entities_additional);}var w=q(v.join(',')),x=w.regex?'['+w.regex+']':'a^';delete w.regex;if(s.entities&&s.entities_processNumerical)x='[^ -~]|'+x;x=new RegExp(x,'g');function y(C){return s.entities_processNumerical=='force'||!w[C]?'&#'+C.charCodeAt(0)+';':w[C];};var z=q([m,'shy'].join(','),true),A=new RegExp(z.regex,'g');function B(C){return z[C];};u.addRules({text:function(C){return C.replace(A,B).replace(x,y);}});}}});})();i.basicEntities=true;i.entities=true;i.entities_latin=true;i.entities_greek=true;i.entities_additional='#39';(function(){function m(v,w){var x=[];if(!w)return v;else for(var y in w)x.push(y+'='+encodeURIComponent(w[y]));return v+(v.indexOf('?')!=-1?'&':'?')+x.join('&');};function n(v){v+='';var w=v.charAt(0).toUpperCase();return w+v.substr(1);};function o(v){var C=this;var w=C.getDialog(),x=w.getParentEditor();x._.filebrowserSe=C;var y=x.config['filebrowser'+n(w.getName())+'WindowWidth']||x.config.filebrowserWindowWidth||'80%',z=x.config['filebrowser'+n(w.getName())+'WindowHeight']||x.config.filebrowserWindowHeight||'70%',A=C.filebrowser.params||{};A.CKEditor=x.name;A.CKEditorFuncNum=x._.filebrowserFn;if(!A.langCode)A.langCode=x.langCode;var B=m(C.filebrowser.url,A);x.popup(B,y,z,x.config.filebrowserWindowFeatures||x.config.fileBrowserWindowFeatures);};function p(v){var y=this;var w=y.getDialog(),x=w.getParentEditor();x._.filebrowserSe=y;if(!w.getContentElement(y['for'][0],y['for'][1]).getInputElement().$.value)return false;if(!w.getContentElement(y['for'][0],y['for'][1]).getAction())return false;return true;};function q(v,w,x){var y=x.params||{};y.CKEditor=v.name;y.CKEditorFuncNum=v._.filebrowserFn;if(!y.langCode)y.langCode=v.langCode;w.action=m(x.url,y);w.filebrowser=x;};function r(v,w,x,y){var z,A;for(var B in y){z=y[B];
-if(z.type=='hbox'||z.type=='vbox'||z.type=='fieldset')r(v,w,x,z.children);if(!z.filebrowser)continue;if(typeof z.filebrowser=='string'){var C={action:z.type=='fileButton'?'QuickUpload':'Browse',target:z.filebrowser};z.filebrowser=C;}if(z.filebrowser.action=='Browse'){var D=z.filebrowser.url;if(D===undefined){D=v.config['filebrowser'+n(w)+'BrowseUrl'];if(D===undefined)D=v.config.filebrowserBrowseUrl;}if(D){z.onClick=o;z.filebrowser.url=D;z.hidden=false;}}else if(z.filebrowser.action=='QuickUpload'&&z['for']){D=z.filebrowser.url;if(D===undefined){D=v.config['filebrowser'+n(w)+'UploadUrl'];if(D===undefined)D=v.config.filebrowserUploadUrl;}if(D){var E=z.onClick;z.onClick=function(F){var G=F.sender;if(E&&E.call(G,F)===false)return false;return p.call(G,F);};z.filebrowser.url=D;z.hidden=false;q(v,x.getContents(z['for'][0]).get(z['for'][1]),z.filebrowser);}}}};function s(v,w){var x=w.getDialog(),y=w.filebrowser.target||null;if(y){var z=y.split(':'),A=x.getContentElement(z[0],z[1]);if(A){A.setValue(v);x.selectPage(z[0]);}}};function t(v,w,x){if(x.indexOf(';')!==-1){var y=x.split(';');for(var z=0;z<y.length;z++){if(t(v,w,y[z]))return true;}return false;}var A=v.getContents(w).get(x).filebrowser;return A&&A.url;};function u(v,w){var A=this;var x=A._.filebrowserSe.getDialog(),y=A._.filebrowserSe['for'],z=A._.filebrowserSe.filebrowser.onSelect;if(y)x.getContentElement(y[0],y[1]).reset();if(typeof w=='function'&&w.call(A._.filebrowserSe)===false)return;if(z&&z.call(A._.filebrowserSe,v,w)===false)return;if(typeof w=='string'&&w)alert(w);if(v)s(v,A._.filebrowserSe);};j.add('filebrowser',{init:function(v,w){v._.filebrowserFn=e.addFunction(u,v);v.on('destroy',function(){e.removeFunction(this._.filebrowserFn);});}});a.on('dialogDefinition',function(v){var w=v.data.definition,x;for(var y in w.contents){if(x=w.contents[y]){r(v.editor,v.data.name,w,x.elements);if(x.hidden&&x.filebrowser)x.hidden=!t(w,x.id,x.filebrowser);}}});})();j.add('find',{requires:['dialog'],init:function(m){var n=j.find;m.ui.addButton('Find',{label:m.lang.findAndReplace.find,command:'find'});var o=m.addCommand('find',new a.dialogCommand('find'));o.canUndo=false;o.readOnly=1;m.ui.addButton('Replace',{label:m.lang.findAndReplace.replace,command:'replace'});var p=m.addCommand('replace',new a.dialogCommand('replace'));p.canUndo=false;a.dialog.add('find',this.path+'dialogs/find.js');a.dialog.add('replace',this.path+'dialogs/find.js');},requires:['styles']});i.find_highlight={element:'span',styles:{'background-color':'#004',color:'#fff'}};
-(function(){var m=/\.swf(?:$|\?)/i;function n(p){var q=p.attributes;return q.type=='application/x-shockwave-flash'||m.test(q.src||'');};function o(p,q){return p.createFakeParserElement(q,'cke_flash','flash',true);};j.add('flash',{init:function(p){p.addCommand('flash',new a.dialogCommand('flash'));p.ui.addButton('Flash',{label:p.lang.common.flash,command:'flash'});a.dialog.add('flash',this.path+'dialogs/flash.js');p.addCss('img.cke_flash{background-image: url('+a.getUrl(this.path+'images/placeholder.png')+');'+'background-position: center center;'+'background-repeat: no-repeat;'+'border: 1px solid #a9a9a9;'+'width: 80px;'+'height: 80px;'+'}');if(p.addMenuItems)p.addMenuItems({flash:{label:p.lang.flash.properties,command:'flash',group:'flash'}});p.on('doubleclick',function(q){var r=q.data.element;if(r.is('img')&&r.data('cke-real-element-type')=='flash')q.data.dialog='flash';});if(p.contextMenu)p.contextMenu.addListener(function(q,r){if(q&&q.is('img')&&!q.isReadOnly()&&q.data('cke-real-element-type')=='flash')return{flash:2};});},afterInit:function(p){var q=p.dataProcessor,r=q&&q.dataFilter;if(r)r.addRules({elements:{'cke:object':function(s){var t=s.attributes,u=t.classid&&String(t.classid).toLowerCase();if(!u&&!n(s)){for(var v=0;v<s.children.length;v++){if(s.children[v].name=='cke:embed'){if(!n(s.children[v]))return null;return o(p,s);}}return null;}return o(p,s);},'cke:embed':function(s){if(!n(s))return null;return o(p,s);}}},5);},requires:['fakeobjects']});})();e.extend(i,{flashEmbedTagOnly:false,flashAddEmbedTag:true,flashConvertOnEdit:false});(function(){function m(n,o,p,q,r,s,t){var u=n.config,v=r.split(';'),w=[],x={};for(var y=0;y<v.length;y++){var z=v[y];if(z){z=z.split('/');var A={},B=v[y]=z[0];A[p]=w[y]=z[1]||B;x[B]=new a.style(t,A);x[B]._.definition.name=B;}else v.splice(y--,1);}n.ui.addRichCombo(o,{label:q.label,title:q.panelTitle,className:'cke_'+(p=='size'?'fontSize':'font'),panel:{css:n.skin.editor.css.concat(u.contentsCss),multiSelect:false,attributes:{'aria-label':q.panelTitle}},init:function(){this.startGroup(q.panelTitle);for(var C=0;C<v.length;C++){var D=v[C];this.add(D,x[D].buildPreview(),D);}},onClick:function(C){n.focus();n.fire('saveSnapshot');var D=x[C];if(this.getValue()==C)D.remove(n.document);else D.apply(n.document);n.fire('saveSnapshot');},onRender:function(){n.on('selectionChange',function(C){var D=this.getValue(),E=C.data.path,F=E.elements;for(var G=0,H;G<F.length;G++){H=F[G];for(var I in x){if(x[I].checkElementMatch(H,true)){if(I!=D)this.setValue(I);
-return;}}}this.setValue('',s);},this);}});};j.add('font',{requires:['richcombo','styles'],init:function(n){var o=n.config;m(n,'Font','family',n.lang.font,o.font_names,o.font_defaultLabel,o.font_style);m(n,'FontSize','size',n.lang.fontSize,o.fontSize_sizes,o.fontSize_defaultLabel,o.fontSize_style);}});})();i.font_names='Arial/Arial, Helvetica, sans-serif;Comic Sans MS/Comic Sans MS, cursive;Courier New/Courier New, Courier, monospace;Georgia/Georgia, serif;Lucida Sans Unicode/Lucida Sans Unicode, Lucida Grande, sans-serif;Tahoma/Tahoma, Geneva, sans-serif;Times New Roman/Times New Roman, Times, serif;Trebuchet MS/Trebuchet MS, Helvetica, sans-serif;Verdana/Verdana, Geneva, sans-serif';i.font_defaultLabel='';i.font_style={element:'span',styles:{'font-family':'#(family)'},overrides:[{element:'font',attributes:{face:null}}]};i.fontSize_sizes='8/8px;9/9px;10/10px;11/11px;12/12px;14/14px;16/16px;18/18px;20/20px;22/22px;24/24px;26/26px;28/28px;36/36px;48/48px;72/72px';i.fontSize_defaultLabel='';i.fontSize_style={element:'span',styles:{'font-size':'#(size)'},overrides:[{element:'font',attributes:{size:null}}]};j.add('format',{requires:['richcombo','styles'],init:function(m){var n=m.config,o=m.lang.format,p=n.format_tags.split(';'),q={};for(var r=0;r<p.length;r++){var s=p[r];q[s]=new a.style(n['format_'+s]);q[s]._.enterMode=m.config.enterMode;}m.ui.addRichCombo('Format',{label:o.label,title:o.panelTitle,className:'cke_format',panel:{css:m.skin.editor.css.concat(n.contentsCss),multiSelect:false,attributes:{'aria-label':o.panelTitle}},init:function(){this.startGroup(o.panelTitle);for(var t in q){var u=o['tag_'+t];this.add(t,q[t].buildPreview(u),u);}},onClick:function(t){m.focus();m.fire('saveSnapshot');var u=q[t],v=new d.elementPath(m.getSelection().getStartElement());u[u.checkActive(v)?'remove':'apply'](m.document);setTimeout(function(){m.fire('saveSnapshot');},0);},onRender:function(){m.on('selectionChange',function(t){var u=this.getValue(),v=t.data.path;for(var w in q){if(q[w].checkActive(v)){if(w!=u)this.setValue(w,m.lang.format['tag_'+w]);return;}}this.setValue('');},this);}});}});i.format_tags='p;h1;h2;h3;h4;h5;h6;pre;address;div';i.format_p={element:'p'};i.format_div={element:'div'};i.format_pre={element:'pre'};i.format_address={element:'address'};i.format_h1={element:'h1'};i.format_h2={element:'h2'};i.format_h3={element:'h3'};i.format_h4={element:'h4'};i.format_h5={element:'h5'};i.format_h6={element:'h6'};j.add('forms',{requires:['dialog'],init:function(m){var n=m.lang;
-m.addCss('form{border: 1px dotted #FF0000;padding: 2px;}\n');m.addCss('img.cke_hidden{background-image: url('+a.getUrl(this.path+'images/hiddenfield.gif')+');'+'background-position: center center;'+'background-repeat: no-repeat;'+'border: 1px solid #a9a9a9;'+'width: 16px !important;'+'height: 16px !important;'+'}');var o=function(q,r,s){m.addCommand(r,new a.dialogCommand(r));m.ui.addButton(q,{label:n.common[q.charAt(0).toLowerCase()+q.slice(1)],command:r});a.dialog.add(r,s);},p=this.path+'dialogs/';o('Form','form',p+'form.js');o('Checkbox','checkbox',p+'checkbox.js');o('Radio','radio',p+'radio.js');o('TextField','textfield',p+'textfield.js');o('Textarea','textarea',p+'textarea.js');o('Select','select',p+'select.js');o('Button','button',p+'button.js');o('ImageButton','imagebutton',j.getPath('image')+'dialogs/image.js');o('HiddenField','hiddenfield',p+'hiddenfield.js');if(m.addMenuItems)m.addMenuItems({form:{label:n.form.menu,command:'form',group:'form'},checkbox:{label:n.checkboxAndRadio.checkboxTitle,command:'checkbox',group:'checkbox'},radio:{label:n.checkboxAndRadio.radioTitle,command:'radio',group:'radio'},textfield:{label:n.textfield.title,command:'textfield',group:'textfield'},hiddenfield:{label:n.hidden.title,command:'hiddenfield',group:'hiddenfield'},imagebutton:{label:n.image.titleButton,command:'imagebutton',group:'imagebutton'},button:{label:n.button.title,command:'button',group:'button'},select:{label:n.select.title,command:'select',group:'select'},textarea:{label:n.textarea.title,command:'textarea',group:'textarea'}});if(m.contextMenu){m.contextMenu.addListener(function(q){if(q&&q.hasAscendant('form',true)&&!q.isReadOnly())return{form:2};});m.contextMenu.addListener(function(q){if(q&&!q.isReadOnly()){var r=q.getName();if(r=='select')return{select:2};if(r=='textarea')return{textarea:2};if(r=='input')switch(q.getAttribute('type')){case 'button':case 'submit':case 'reset':return{button:2};case 'checkbox':return{checkbox:2};case 'radio':return{radio:2};case 'image':return{imagebutton:2};default:return{textfield:2};}if(r=='img'&&q.data('cke-real-element-type')=='hiddenfield')return{hiddenfield:2};}});}m.on('doubleclick',function(q){var r=q.data.element;if(r.is('form'))q.data.dialog='form';else if(r.is('select'))q.data.dialog='select';else if(r.is('textarea'))q.data.dialog='textarea';else if(r.is('img')&&r.data('cke-real-element-type')=='hiddenfield')q.data.dialog='hiddenfield';else if(r.is('input'))switch(r.getAttribute('type')){case 'button':case 'submit':case 'reset':q.data.dialog='button';
-break;case 'checkbox':q.data.dialog='checkbox';break;case 'radio':q.data.dialog='radio';break;case 'image':q.data.dialog='imagebutton';break;default:q.data.dialog='textfield';break;}});},afterInit:function(m){var n=m.dataProcessor,o=n&&n.htmlFilter,p=n&&n.dataFilter;if(c)o&&o.addRules({elements:{input:function(q){var r=q.attributes,s=r.type;if(!s)r.type='text';if(s=='checkbox'||s=='radio')r.value=='on'&&delete r.value;}}});if(p)p.addRules({elements:{input:function(q){if(q.attributes.type=='hidden')return m.createFakeParserElement(q,'cke_hidden','hiddenfield');}}});},requires:['image','fakeobjects']});if(c)h.prototype.hasAttribute=e.override(h.prototype.hasAttribute,function(m){return function(n){var q=this;var o=q.$.attributes.getNamedItem(n);if(q.getName()=='input')switch(n){case 'class':return q.$.className.length>0;case 'checked':return!!q.$.checked;case 'value':var p=q.getAttribute('type');return p=='checkbox'||p=='radio'?q.$.value!='on':q.$.value;}return m.apply(q,arguments);};});(function(){var m={canUndo:false,exec:function(o){var p=o.document.createElement('hr');o.insertElement(p);}},n='horizontalrule';j.add(n,{init:function(o){o.addCommand(n,m);o.ui.addButton('HorizontalRule',{label:o.lang.horizontalrule,command:n});}});})();(function(){var m=/^[\t\r\n ]*(?:&nbsp;|\xa0)$/,n='{cke_protected}';function o(U){var V=U.children.length,W=U.children[V-1];while(W&&W.type==3&&!e.trim(W.value))W=U.children[--V];return W;};function p(U){var V=U.parent;return V?e.indexOf(V.children,U):-1;};function q(U,V){var W=U.children,X=o(U);if(X){if((V||!c)&&X.type==1&&X.name=='br')W.pop();if(X.type==3&&m.test(X.value))W.pop();}};function r(U,V,W){if(!V&&(!W||typeof W=='function'&&W(U)===false))return false;if(V&&c&&(document.documentMode>7||U.name in f.tr||U.name in f.$listItem))return false;var X=o(U);return!X||X&&(X.type==1&&X.name=='br'||U.name=='form'&&X.name=='input');};function s(U,V){return function(W){q(W,!U);if(r(W,!U,V))if(U||c)W.add(new a.htmlParser.text('\xa0'));else W.add(new a.htmlParser.element('br',{}));};};var t=f,u=['caption','colgroup','col','thead','tfoot','tbody'],v=e.extend({},t.$block,t.$listItem,t.$tableContent);for(var w in v){if(!('br' in t[w]))delete v[w];}delete v.pre;var x={elements:{},attributeNames:[[/^on/,'data-cke-pa-on']]},y={elements:{}};for(w in v)y.elements[w]=s();var z={elementNames:[[/^cke:/,''],[/^\?xml:namespace$/,'']],attributeNames:[[/^data-cke-(saved|pa)-/,''],[/^data-cke-.*/,''],['hidefocus','']],elements:{$:function(U){var V=U.attributes;
-if(V){if(V['data-cke-temp'])return false;var W=['name','href','src'],X;for(var Y=0;Y<W.length;Y++){X='data-cke-saved-'+W[Y];X in V&&delete V[W[Y]];}}return U;},table:function(U){var V=U.children.slice(0);V.sort(function(W,X){var Y,Z;if(W.type==1&&X.type==W.type){Y=e.indexOf(u,W.name);Z=e.indexOf(u,X.name);}if(!(Y>-1&&Z>-1&&Y!=Z)){Y=p(W);Z=p(X);}return Y>Z?1:-1;});},embed:function(U){var V=U.parent;if(V&&V.name=='object'){var W=V.attributes.width,X=V.attributes.height;W&&(U.attributes.width=W);X&&(U.attributes.height=X);}},param:function(U){U.children=[];U.isEmpty=true;return U;},a:function(U){if(!(U.children.length||U.attributes.name||U.attributes['data-cke-saved-name']))return false;},span:function(U){if(U.attributes['class']=='Apple-style-span')delete U.name;},pre:function(U){c&&q(U);},html:function(U){delete U.attributes.contenteditable;delete U.attributes['class'];},body:function(U){delete U.attributes.spellcheck;delete U.attributes.contenteditable;},style:function(U){var V=U.children[0];V&&V.value&&(V.value=e.trim(V.value));if(!U.attributes.type)U.attributes.type='text/css';},title:function(U){var V=U.children[0];V&&(V.value=U.attributes['data-cke-title']||'');}},attributes:{'class':function(U,V){return e.ltrim(U.replace(/(?:^|\s+)cke_[^\s]*/g,''))||false;}}};if(c)z.attributes.style=function(U,V){return U.replace(/(^|;)([^\:]+)/g,function(W){return W.toLowerCase();});};function A(U){var V=U.attributes;if(V.contenteditable!='false')V['data-cke-editable']=V.contenteditable?'true':1;V.contenteditable='false';};function B(U){var V=U.attributes;switch(V['data-cke-editable']){case 'true':V.contenteditable='true';break;case '1':delete V.contenteditable;break;}};for(w in {input:1,textarea:1}){x.elements[w]=A;z.elements[w]=B;}var C=/<(a|area|img|input|source)\b([^>]*)>/gi,D=/\b(on\w+|href|src|name)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+))/gi,E=/(?:<style(?=[ >])[^>]*>[\s\S]*<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,F=/<cke:encoded>([^<]*)<\/cke:encoded>/gi,G=/(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi,H=/(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi,I=/<cke:(param|embed)([^>]*?)\/?>(?!\s*<\/cke:\1)/gi;function J(U){return U.replace(C,function(V,W,X){return '<'+W+X.replace(D,function(Y,Z){if(!/^on/.test(Z)&&X.indexOf('data-cke-saved-'+Z)==-1)return ' data-cke-saved-'+Y+' data-cke-'+a.rnd+'-'+Y;return Y;})+'>';});};function K(U){return U.replace(E,function(V){return '<cke:encoded>'+encodeURIComponent(V)+'</cke:encoded>';});};function L(U){return U.replace(F,function(V,W){return decodeURIComponent(W);
-});};function M(U){return U.replace(G,'$1cke:$2');};function N(U){return U.replace(H,'$1$2');};function O(U){return U.replace(I,'<cke:$1$2></cke:$1>');};function P(U){return U.replace(/(<pre\b[^>]*>)(\r\n|\n)/g,'$1$2$2');};function Q(U){return U.replace(/<!--(?!{cke_protected})[\s\S]+?-->/g,function(V){return '<!--'+n+'{C}'+encodeURIComponent(V).replace(/--/g,'%2D%2D')+'-->';});};function R(U){return U.replace(/<!--\{cke_protected\}\{C\}([\s\S]+?)-->/g,function(V,W){return decodeURIComponent(W);});};function S(U,V){var W=V._.dataStore;return U.replace(/<!--\{cke_protected\}([\s\S]+?)-->/g,function(X,Y){return decodeURIComponent(Y);}).replace(/\{cke_protected_(\d+)\}/g,function(X,Y){return W&&W[Y]||'';});};function T(U,V){var W=[],X=V.config.protectedSource,Y=V._.dataStore||(V._.dataStore={id:1}),Z=/<\!--\{cke_temp(comment)?\}(\d*?)-->/g,aa=[/<script[\s\S]*?<\/script>/gi,/<noscript[\s\S]*?<\/noscript>/gi].concat(X);U=U.replace(/<!--[\s\S]*?-->/g,function(ac){return '<!--{cke_tempcomment}'+(W.push(ac)-1)+'-->';});for(var ab=0;ab<aa.length;ab++)U=U.replace(aa[ab],function(ac){ac=ac.replace(Z,function(ad,ae,af){return W[af];});return/cke_temp(comment)?/.test(ac)?ac:'<!--{cke_temp}'+(W.push(ac)-1)+'-->';});U=U.replace(Z,function(ac,ad,ae){return '<!--'+n+(ad?'{C}':'')+encodeURIComponent(W[ae]).replace(/--/g,'%2D%2D')+'-->';});return U.replace(/(['"]).*?\1/g,function(ac){return ac.replace(/<!--\{cke_protected\}([\s\S]+?)-->/g,function(ad,ae){Y[Y.id]=decodeURIComponent(ae);return '{cke_protected_'+Y.id++ +'}';});});};j.add('htmldataprocessor',{requires:['htmlwriter'],init:function(U){var V=U.dataProcessor=new a.htmlDataProcessor(U);V.writer.forceSimpleAmpersand=U.config.forceSimpleAmpersand;V.dataFilter.addRules(x);V.dataFilter.addRules(y);V.htmlFilter.addRules(z);var W={elements:{}};for(w in v)W.elements[w]=s(true,U.config.fillEmptyBlocks);V.htmlFilter.addRules(W);},onLoad:function(){!('fillEmptyBlocks' in i)&&(i.fillEmptyBlocks=1);}});a.htmlDataProcessor=function(U){var V=this;V.editor=U;V.writer=new a.htmlWriter();V.dataFilter=new a.htmlParser.filter();V.htmlFilter=new a.htmlParser.filter();};a.htmlDataProcessor.prototype={toHtml:function(U,V){U=T(U,this.editor);U=J(U);U=K(U);U=M(U);U=O(U);U=P(U);var W=new h('div');W.setHtml('a'+U);U=W.getHtml().substr(1);U=U.replace(new RegExp(' data-cke-'+a.rnd+'-','ig'),' ');U=N(U);U=L(U);U=R(U);var X=a.htmlParser.fragment.fromHtml(U,V),Y=new a.htmlParser.basicWriter();X.writeHtml(Y,this.dataFilter);U=Y.getHtml(true);U=Q(U);
-return U;},toDataFormat:function(U,V){var W=this.writer,X=a.htmlParser.fragment.fromHtml(U,V);W.reset();X.writeHtml(W,this.htmlFilter);var Y=W.getHtml(true);Y=R(Y);Y=S(Y,this.editor);return Y;}};})();(function(){j.add('iframe',{requires:['dialog','fakeobjects'],init:function(m){var n='iframe',o=m.lang.iframe;a.dialog.add(n,this.path+'dialogs/iframe.js');m.addCommand(n,new a.dialogCommand(n));m.addCss('img.cke_iframe{background-image: url('+a.getUrl(this.path+'images/placeholder.png')+');'+'background-position: center center;'+'background-repeat: no-repeat;'+'border: 1px solid #a9a9a9;'+'width: 80px;'+'height: 80px;'+'}');m.ui.addButton('Iframe',{label:o.toolbar,command:n});m.on('doubleclick',function(p){var q=p.data.element;if(q.is('img')&&q.data('cke-real-element-type')=='iframe')p.data.dialog='iframe';});if(m.addMenuItems)m.addMenuItems({iframe:{label:o.title,command:'iframe',group:'image'}});if(m.contextMenu)m.contextMenu.addListener(function(p,q){if(p&&p.is('img')&&p.data('cke-real-element-type')=='iframe')return{iframe:2};});},afterInit:function(m){var n=m.dataProcessor,o=n&&n.dataFilter;if(o)o.addRules({elements:{iframe:function(p){return m.createFakeParserElement(p,'cke_iframe','iframe',true);}}});}});})();(function(){j.add('image',{requires:['dialog'],init:function(o){var p='image';a.dialog.add(p,this.path+'dialogs/image.js');o.addCommand(p,new a.dialogCommand(p));o.ui.addButton('Image',{label:o.lang.common.image,command:p});o.on('doubleclick',function(q){var r=q.data.element;if(r.is('img')&&!r.data('cke-realelement')&&!r.isReadOnly())q.data.dialog='image';});if(o.addMenuItems)o.addMenuItems({image:{label:o.lang.image.menu,command:'image',group:'image'}});if(o.contextMenu)o.contextMenu.addListener(function(q,r){if(m(o,q))return{image:2};});},afterInit:function(o){p('left');p('right');p('center');p('block');function p(q){var r=o.getCommand('justify'+q);if(r){if(q=='left'||q=='right')r.on('exec',function(s){var t=m(o),u;if(t){u=n(t);if(u==q){t.removeStyle('float');if(q==n(t))t.removeAttribute('align');}else t.setStyle('float',q);s.cancel();}});r.on('refresh',function(s){var t=m(o),u;if(t){u=n(t);this.setState(u==q?1:q=='right'||q=='left'?2:0);s.cancel();}});}};}});function m(o,p){if(!p){var q=o.getSelection();p=q.getType()==3&&q.getSelectedElement();}if(p&&p.is('img')&&!p.data('cke-realelement')&&!p.isReadOnly())return p;};function n(o){var p=o.getStyle('float');if(p=='inherit'||p=='none')p=0;if(!p)p=o.getAttribute('align');return p;};})();i.image_removeLinkByEmptyURL=true;
-(function(){var m={ol:1,ul:1},n=d.walker.whitespaces(true),o=d.walker.bookmark(false,true);function p(t){var B=this;if(t.editor.readOnly)return null;var u=t.editor,v=t.data.path,w=v&&v.contains(m),x=v.block||v.blockLimit;if(w)return B.setState(2);if(!B.useIndentClasses&&B.name=='indent')return B.setState(2);if(!x)return B.setState(0);if(B.useIndentClasses){var y=x.$.className.match(B.classNameRegex),z=0;if(y){y=y[1];z=B.indentClassMap[y];}if(B.name=='outdent'&&!z||B.name=='indent'&&z==u.config.indentClasses.length)return B.setState(0);return B.setState(2);}else{var A=parseInt(x.getStyle(r(x)),10);if(isNaN(A))A=0;if(A<=0)return B.setState(0);return B.setState(2);}};function q(t,u){var w=this;w.name=u;w.useIndentClasses=t.config.indentClasses&&t.config.indentClasses.length>0;if(w.useIndentClasses){w.classNameRegex=new RegExp('(?:^|\\s+)('+t.config.indentClasses.join('|')+')(?=$|\\s)');w.indentClassMap={};for(var v=0;v<t.config.indentClasses.length;v++)w.indentClassMap[t.config.indentClasses[v]]=v+1;}w.startDisabled=u=='outdent';};function r(t,u){return(u||t.getComputedStyle('direction'))=='ltr'?'margin-left':'margin-right';};function s(t){return t.type==1&&t.is('li');};q.prototype={exec:function(t){var u=this,v={};function w(M){var N=C.startContainer,O=C.endContainer;while(N&&!N.getParent().equals(M))N=N.getParent();while(O&&!O.getParent().equals(M))O=O.getParent();if(!N||!O)return;var P=N,Q=[],R=false;while(!R){if(P.equals(O))R=true;Q.push(P);P=P.getNext();}if(Q.length<1)return;var S=M.getParents(true);for(var T=0;T<S.length;T++){if(S[T].getName&&m[S[T].getName()]){M=S[T];break;}}var U=u.name=='indent'?1:-1,V=Q[0],W=Q[Q.length-1],X=j.list.listToArray(M,v),Y=X[W.getCustomData('listarray_index')].indent;for(T=V.getCustomData('listarray_index');T<=W.getCustomData('listarray_index');T++){X[T].indent+=U;if(U>0){var Z=X[T].parent;X[T].parent=new h(Z.getName(),Z.getDocument());}}for(T=W.getCustomData('listarray_index')+1;T<X.length&&X[T].indent>Y;T++)X[T].indent+=U;var aa=j.list.arrayToList(X,v,null,t.config.enterMode,M.getDirection());if(u.name=='outdent'){var ab;if((ab=M.getParent())&&ab.is('li')){var ac=aa.listNode.getChildren(),ad=[],ae=ac.count(),af;for(T=ae-1;T>=0;T--){if((af=ac.getItem(T))&&af.is&&af.is('li'))ad.push(af);}}}if(aa)aa.listNode.replace(M);if(ad&&ad.length)for(T=0;T<ad.length;T++){var ag=ad[T],ah=ag;while((ah=ah.getNext())&&ah.is&&ah.getName() in m){if(c&&!ag.getFirst(function(ai){return n(ai)&&o(ai);}))ag.append(C.document.createText('\xa0'));ag.append(ah);
-}ag.insertAfter(ab);}};function x(){var M=C.createIterator(),N=t.config.enterMode;M.enforceRealBlocks=true;M.enlargeBr=N!=2;var O;while(O=M.getNextParagraph(N==1?'p':'div'))y(O);};function y(M,N){if(M.getCustomData('indent_processed'))return false;if(u.useIndentClasses){var O=M.$.className.match(u.classNameRegex),P=0;if(O){O=O[1];P=u.indentClassMap[O];}if(u.name=='outdent')P--;else P++;if(P<0)return false;P=Math.min(P,t.config.indentClasses.length);P=Math.max(P,0);M.$.className=e.ltrim(M.$.className.replace(u.classNameRegex,''));if(P>0)M.addClass(t.config.indentClasses[P-1]);}else{var Q=r(M,N),R=parseInt(M.getStyle(Q),10);if(isNaN(R))R=0;var S=t.config.indentOffset||40;R+=(u.name=='indent'?1:-1)*S;if(R<0)return false;R=Math.max(R,0);R=Math.ceil(R/S)*S;M.setStyle(Q,R?R+(t.config.indentUnit||'px'):'');if(M.getAttribute('style')==='')M.removeAttribute('style');}h.setMarker(v,M,'indent_processed',1);return true;};var z=t.getSelection(),A=z.createBookmarks(1),B=z&&z.getRanges(1),C,D=B.createIterator();while(C=D.getNextRange()){var E=C.getCommonAncestor(),F=E;while(F&&!(F.type==1&&m[F.getName()]))F=F.getParent();if(!F){var G=C.getEnclosedNode();if(G&&G.type==1&&G.getName() in m){C.setStartAt(G,1);C.setEndAt(G,2);F=G;}}if(F&&C.startContainer.type==1&&C.startContainer.getName() in m){var H=new d.walker(C);H.evaluator=s;C.startContainer=H.next();}if(F&&C.endContainer.type==1&&C.endContainer.getName() in m){H=new d.walker(C);H.evaluator=s;C.endContainer=H.previous();}if(F){var I=F.getFirst(s),J=!!I.getNext(s),K=C.startContainer,L=I.equals(K)||I.contains(K);if(!(L&&(u.name=='indent'||u.useIndentClasses||parseInt(F.getStyle(r(F)),10))&&y(F,!J&&I.getDirection())))w(F);}else x();}h.clearAllMarkers(v);t.forceNextSelectionCheck();z.selectBookmarks(A);}};j.add('indent',{init:function(t){var u=t.addCommand('indent',new q(t,'indent')),v=t.addCommand('outdent',new q(t,'outdent'));t.ui.addButton('Indent',{label:t.lang.indent,command:'indent'});t.ui.addButton('Outdent',{label:t.lang.outdent,command:'outdent'});t.on('selectionChange',e.bind(p,u));t.on('selectionChange',e.bind(p,v));if(b.ie6Compat||b.ie7Compat)t.addCss('ul,ol{\tmargin-left: 0px;\tpadding-left: 40px;}');t.on('dirChanged',function(w){var x=new d.range(t.document);x.setStartBefore(w.data.node);x.setEndAfter(w.data.node);var y=new d.walker(x),z;while(z=y.next()){if(z.type==1){if(!z.equals(w.data.node)&&z.getDirection()){x.setStartAfter(z);y=new d.walker(x);continue;}var A=t.config.indentClasses;if(A){var B=w.data.dir=='ltr'?['_rtl','']:['','_rtl'];
-for(var C=0;C<A.length;C++){if(z.hasClass(A[C]+B[0])){z.removeClass(A[C]+B[0]);z.addClass(A[C]+B[1]);}}}var D=z.getStyle('margin-right'),E=z.getStyle('margin-left');D?z.setStyle('margin-left',D):z.removeStyle('margin-left');E?z.setStyle('margin-right',E):z.removeStyle('margin-right');}}});},requires:['domiterator','list']});})();(function(){function m(q,r){r=r===undefined||r;var s;if(r)s=q.getComputedStyle('text-align');else{while(!q.hasAttribute||!(q.hasAttribute('align')||q.getStyle('text-align'))){var t=q.getParent();if(!t)break;q=t;}s=q.getStyle('text-align')||q.getAttribute('align')||'';}s&&(s=s.replace(/(?:-(?:moz|webkit)-)?(?:start|auto)/i,''));!s&&r&&(s=q.getComputedStyle('direction')=='rtl'?'right':'left');return s;};function n(q){if(q.editor.readOnly)return;q.editor.getCommand(this.name).refresh(q.data.path);};function o(q,r,s){var u=this;u.editor=q;u.name=r;u.value=s;var t=q.config.justifyClasses;if(t){switch(s){case 'left':u.cssClassName=t[0];break;case 'center':u.cssClassName=t[1];break;case 'right':u.cssClassName=t[2];break;case 'justify':u.cssClassName=t[3];break;}u.cssClassRegex=new RegExp('(?:^|\\s+)(?:'+t.join('|')+')(?=$|\\s)');}};function p(q){var r=q.editor,s=new d.range(r.document);s.setStartBefore(q.data.node);s.setEndAfter(q.data.node);var t=new d.walker(s),u;while(u=t.next()){if(u.type==1){if(!u.equals(q.data.node)&&u.getDirection()){s.setStartAfter(u);t=new d.walker(s);continue;}var v=r.config.justifyClasses;if(v)if(u.hasClass(v[0])){u.removeClass(v[0]);u.addClass(v[2]);}else if(u.hasClass(v[2])){u.removeClass(v[2]);u.addClass(v[0]);}var w='text-align',x=u.getStyle(w);if(x=='left')u.setStyle(w,'right');else if(x=='right')u.setStyle(w,'left');}}};o.prototype={exec:function(q){var C=this;var r=q.getSelection(),s=q.config.enterMode;if(!r)return;var t=r.createBookmarks(),u=r.getRanges(true),v=C.cssClassName,w,x,y=q.config.useComputedState;y=y===undefined||y;for(var z=u.length-1;z>=0;z--){w=u[z].createIterator();w.enlargeBr=s!=2;while(x=w.getNextParagraph(s==1?'p':'div')){x.removeAttribute('align');x.removeStyle('text-align');var A=v&&(x.$.className=e.ltrim(x.$.className.replace(C.cssClassRegex,''))),B=C.state==2&&(!y||m(x,true)!=C.value);if(v){if(B)x.addClass(v);else if(!A)x.removeAttribute('class');}else if(B)x.setStyle('text-align',C.value);}}q.focus();q.forceNextSelectionCheck();r.selectBookmarks(t);},refresh:function(q){var r=q.block||q.blockLimit;this.setState(r.getName()!='body'&&m(r,this.editor.config.useComputedState)==this.value?1:2);
-}};j.add('justify',{init:function(q){var r=new o(q,'justifyleft','left'),s=new o(q,'justifycenter','center'),t=new o(q,'justifyright','right'),u=new o(q,'justifyblock','justify');q.addCommand('justifyleft',r);q.addCommand('justifycenter',s);q.addCommand('justifyright',t);q.addCommand('justifyblock',u);q.ui.addButton('JustifyLeft',{label:q.lang.justify.left,command:'justifyleft'});q.ui.addButton('JustifyCenter',{label:q.lang.justify.center,command:'justifycenter'});q.ui.addButton('JustifyRight',{label:q.lang.justify.right,command:'justifyright'});q.ui.addButton('JustifyBlock',{label:q.lang.justify.block,command:'justifyblock'});q.on('selectionChange',e.bind(n,r));q.on('selectionChange',e.bind(n,t));q.on('selectionChange',e.bind(n,s));q.on('selectionChange',e.bind(n,u));q.on('dirChanged',p);},requires:['domiterator']});})();j.add('keystrokes',{beforeInit:function(m){m.keystrokeHandler=new a.keystrokeHandler(m);m.specialKeys={};},init:function(m){var n=m.config.keystrokes,o=m.config.blockedKeystrokes,p=m.keystrokeHandler.keystrokes,q=m.keystrokeHandler.blockedKeystrokes;for(var r=0;r<n.length;r++)p[n[r][0]]=n[r][1];for(r=0;r<o.length;r++)q[o[r]]=1;}});a.keystrokeHandler=function(m){var n=this;if(m.keystrokeHandler)return m.keystrokeHandler;n.keystrokes={};n.blockedKeystrokes={};n._={editor:m};return n;};(function(){var m,n=function(p){p=p.data;var q=p.getKeystroke(),r=this.keystrokes[q],s=this._.editor;m=s.fire('key',{keyCode:q})===true;if(!m){if(r){var t={from:'keystrokeHandler'};m=s.execCommand(r,t)!==false;}if(!m){var u=s.specialKeys[q];m=u&&u(s)===true;if(!m)m=!!this.blockedKeystrokes[q];}}if(m)p.preventDefault(true);return!m;},o=function(p){if(m){m=false;p.data.preventDefault(true);}};a.keystrokeHandler.prototype={attach:function(p){p.on('keydown',n,this);if(b.opera||b.gecko&&b.mac)p.on('keypress',o,this);}};})();i.blockedKeystrokes=[1114112+66,1114112+73,1114112+85];i.keystrokes=[[4456448+121,'toolbarFocus'],[4456448+122,'elementsPathFocus'],[2228224+121,'contextMenu'],[1114112+2228224+121,'contextMenu'],[1114112+90,'undo'],[1114112+89,'redo'],[1114112+2228224+90,'redo'],[1114112+76,'link'],[1114112+66,'bold'],[1114112+73,'italic'],[1114112+85,'underline'],[4456448+(c||b.webkit?189:109),'toolbarCollapse'],[4456448+48,'a11yHelp']];j.add('link',{requires:['fakeobjects','dialog'],init:function(m){m.addCommand('link',new a.dialogCommand('link'));m.addCommand('anchor',new a.dialogCommand('anchor'));m.addCommand('unlink',new a.unlinkCommand());m.addCommand('removeAnchor',new a.removeAnchorCommand());
-m.ui.addButton('Link',{label:m.lang.link.toolbar,command:'link'});m.ui.addButton('Unlink',{label:m.lang.unlink,command:'unlink'});m.ui.addButton('Anchor',{label:m.lang.anchor.toolbar,command:'anchor'});a.dialog.add('link',this.path+'dialogs/link.js');a.dialog.add('anchor',this.path+'dialogs/anchor.js');var n=m.lang.dir=='rtl'?'right':'left',o='background:url('+a.getUrl(this.path+'images/anchor.gif')+') no-repeat '+n+' center;'+'border:1px dotted #00f;';m.addCss('a.cke_anchor,a.cke_anchor_empty'+(c&&b.version<7?'':',a[name],a[data-cke-saved-name]')+'{'+o+'padding-'+n+':18px;'+'cursor:auto;'+'}'+(c?'a.cke_anchor_empty{display:inline-block;}':'')+'img.cke_anchor'+'{'+o+'width:16px;'+'min-height:15px;'+'height:1.15em;'+'vertical-align:'+(b.opera?'middle':'text-bottom')+';'+'}');m.on('selectionChange',function(p){if(m.readOnly)return;var q=m.getCommand('unlink'),r=p.data.path.lastElement&&p.data.path.lastElement.getAscendant('a',true);if(r&&r.getName()=='a'&&r.getAttribute('href')&&r.getChildCount())q.setState(2);else q.setState(0);});m.on('doubleclick',function(p){var q=j.link.getSelectedLink(m)||p.data.element;if(!q.isReadOnly())if(q.is('a')){p.data.dialog=q.getAttribute('name')&&(!q.getAttribute('href')||!q.getChildCount())?'anchor':'link';m.getSelection().selectElement(q);}else if(j.link.tryRestoreFakeAnchor(m,q))p.data.dialog='anchor';});if(m.addMenuItems)m.addMenuItems({anchor:{label:m.lang.anchor.menu,command:'anchor',group:'anchor',order:1},removeAnchor:{label:m.lang.anchor.remove,command:'removeAnchor',group:'anchor',order:5},link:{label:m.lang.link.menu,command:'link',group:'link',order:1},unlink:{label:m.lang.unlink,command:'unlink',group:'link',order:5}});if(m.contextMenu)m.contextMenu.addListener(function(p,q){if(!p||p.isReadOnly())return null;var r=j.link.tryRestoreFakeAnchor(m,p);if(!r&&!(r=j.link.getSelectedLink(m)))return null;var s={};if(r.getAttribute('href')&&r.getChildCount())s={link:2,unlink:2};if(r&&r.hasAttribute('name'))s.anchor=s.removeAnchor=2;return s;});},afterInit:function(m){var n=m.dataProcessor,o=n&&n.dataFilter,p=n&&n.htmlFilter,q=m._.elementsPath&&m._.elementsPath.filters;if(o)o.addRules({elements:{a:function(r){var s=r.attributes;if(!s.name)return null;var t=!r.children.length;if(j.link.synAnchorSelector){var u=t?'cke_anchor_empty':'cke_anchor',v=s['class'];if(s.name&&(!v||v.indexOf(u)<0))s['class']=(v||'')+' '+u;if(t&&j.link.emptyAnchorFix){s.contenteditable='false';s['data-cke-editable']=1;}}else if(j.link.fakeAnchor&&t)return m.createFakeParserElement(r,'cke_anchor','anchor');
-return null;}}});if(j.link.emptyAnchorFix&&p)p.addRules({elements:{a:function(r){delete r.attributes.contenteditable;}}});if(q)q.push(function(r,s){if(s=='a')if(j.link.tryRestoreFakeAnchor(m,r)||r.getAttribute('name')&&(!r.getAttribute('href')||!r.getChildCount()))return 'anchor';});}});j.link={getSelectedLink:function(m){try{var n=m.getSelection();if(n.getType()==3){var o=n.getSelectedElement();if(o.is('a'))return o;}var p=n.getRanges(true)[0];p.shrink(2);var q=p.getCommonAncestor();return q.getAscendant('a',true);}catch(r){return null;}},fakeAnchor:b.opera||b.webkit,synAnchorSelector:c,emptyAnchorFix:c&&b.version<8,tryRestoreFakeAnchor:function(m,n){if(n&&n.data('cke-real-element-type')&&n.data('cke-real-element-type')=='anchor'){var o=m.restoreRealElement(n);if(o.data('cke-saved-name'))return o;}}};a.unlinkCommand=function(){};a.unlinkCommand.prototype={exec:function(m){var n=m.getSelection(),o=n.createBookmarks(),p=n.getRanges(),q,r;for(var s=0;s<p.length;s++){q=p[s].getCommonAncestor(true);r=q.getAscendant('a',true);if(!r)continue;p[s].selectNodeContents(r);}n.selectRanges(p);m.document.$.execCommand('unlink',false,null);n.selectBookmarks(o);},startDisabled:true};a.removeAnchorCommand=function(){};a.removeAnchorCommand.prototype={exec:function(m){var n=m.getSelection(),o=n.createBookmarks(),p;if(n&&(p=n.getSelectedElement())&&(j.link.fakeAnchor&&!p.getChildCount()?j.link.tryRestoreFakeAnchor(m,p):p.is('a')))p.remove(1);else if(p=j.link.getSelectedLink(m))if(p.hasAttribute('href')){p.removeAttributes({name:1,'data-cke-saved-name':1});p.removeClass('cke_anchor');}else p.remove(1);n.selectBookmarks(o);}};e.extend(i,{linkShowAdvancedTab:true,linkShowTargetTab:true});(function(){var m={ol:1,ul:1},n=/^[\n\r\t ]*$/,o=d.walker.whitespaces(),p=d.walker.bookmark(),q=function(N){return!(o(N)||p(N));},r=d.walker.bogus();function s(N){var O,P,Q;if(O=N.getDirection()){P=N.getParent();while(P&&!(Q=P.getDirection()))P=P.getParent();if(O==Q)N.removeAttribute('dir');}};function t(N,O){var P=N.getAttribute('style');P&&O.setAttribute('style',P.replace(/([^;])$/,'$1;')+(O.getAttribute('style')||''));};j.list={listToArray:function(N,O,P,Q,R){if(!m[N.getName()])return[];if(!Q)Q=0;if(!P)P=[];for(var S=0,T=N.getChildCount();S<T;S++){var U=N.getChild(S);if(U.type==1&&U.getName() in f.$list)j.list.listToArray(U,O,P,Q+1);if(U.$.nodeName.toLowerCase()!='li')continue;var V={parent:N,indent:Q,element:U,contents:[]};if(!R){V.grandparent=N.getParent();if(V.grandparent&&V.grandparent.$.nodeName.toLowerCase()=='li')V.grandparent=V.grandparent.getParent();
-}else V.grandparent=R;if(O)h.setMarker(O,U,'listarray_index',P.length);P.push(V);for(var W=0,X=U.getChildCount(),Y;W<X;W++){Y=U.getChild(W);if(Y.type==1&&m[Y.getName()])j.list.listToArray(Y,O,P,Q+1,V.grandparent);else V.contents.push(Y);}}return P;},arrayToList:function(N,O,P,Q,R){if(!P)P=0;if(!N||N.length<P+1)return null;var S,T=N[P].parent.getDocument(),U=new d.documentFragment(T),V=null,W=P,X=Math.max(N[P].indent,0),Y=null,Z,aa,ab=Q==1?'p':'div';while(1){var ac=N[W],ad=ac.grandparent;Z=ac.element.getDirection(1);if(ac.indent==X){if(!V||N[W].parent.getName()!=V.getName()){V=N[W].parent.clone(false,1);R&&V.setAttribute('dir',R);U.append(V);}Y=V.append(ac.element.clone(0,1));if(Z!=V.getDirection(1))Y.setAttribute('dir',Z);for(S=0;S<ac.contents.length;S++)Y.append(ac.contents[S].clone(1,1));W++;}else if(ac.indent==Math.max(X,0)+1){var ae=N[W-1].element.getDirection(1),af=j.list.arrayToList(N,null,W,Q,ae!=Z?Z:null);if(!Y.getChildCount()&&c&&!(T.$.documentMode>7))Y.append(T.createText('\xa0'));Y.append(af.listNode);W=af.nextIndex;}else if(ac.indent==-1&&!P&&ad){if(m[ad.getName()]){Y=ac.element.clone(false,true);if(Z!=ad.getDirection(1))Y.setAttribute('dir',Z);}else Y=new d.documentFragment(T);var ag=ad.getDirection(1)!=Z,ah=ac.element,ai=ah.getAttribute('class'),aj=ah.getAttribute('style'),ak=Y.type==11&&(Q!=2||ag||aj||ai),al,am=ac.contents.length;for(S=0;S<am;S++){al=ac.contents[S];if(al.type==1&&al.isBlockBoundary()){if(ag&&!al.getDirection())al.setAttribute('dir',Z);t(ah,al);ai&&al.addClass(ai);}else if(ak){if(!aa){aa=T.createElement(ab);ag&&aa.setAttribute('dir',Z);}aj&&aa.setAttribute('style',aj);ai&&aa.setAttribute('class',ai);aa.append(al.clone(1,1));}Y.append(aa||al.clone(1,1));}if(Y.type==11&&W!=N.length-1){var an=Y.getLast();if(an&&an.type==1&&an.getAttribute('type')=='_moz')an.remove();if(!(an=Y.getLast(q)&&an.type==1&&an.getName() in f.$block))Y.append(T.createElement('br'));}var ao=Y.$.nodeName.toLowerCase();if(!c&&(ao=='div'||ao=='p'))Y.appendBogus();U.append(Y);V=null;W++;}else return null;aa=null;if(N.length<=W||Math.max(N[W].indent,0)<X)break;}if(O){var ap=U.getFirst(),aq=N[0].parent;while(ap){if(ap.type==1){h.clearMarkers(O,ap);if(ap.getName() in f.$listItem)s(ap);}ap=ap.getNextSourceNode();}}return{listNode:U,nextIndex:W};}};function u(N){if(N.editor.readOnly)return null;var O=N.data.path,P=O.blockLimit,Q=O.elements,R,S;for(S=0;S<Q.length&&(R=Q[S])&&!R.equals(P);S++){if(m[Q[S].getName()])return this.setState(this.type==Q[S].getName()?1:2);}return this.setState(2);
-};function v(N,O,P,Q){var R=j.list.listToArray(O.root,P),S=[];for(var T=0;T<O.contents.length;T++){var U=O.contents[T];U=U.getAscendant('li',true);if(!U||U.getCustomData('list_item_processed'))continue;S.push(U);h.setMarker(P,U,'list_item_processed',true);}var V=O.root,W=V.getDocument(),X,Y;for(T=0;T<S.length;T++){var Z=S[T].getCustomData('listarray_index');X=R[Z].parent;if(!X.is(this.type)){Y=W.createElement(this.type);X.copyAttributes(Y,{start:1,type:1});Y.removeStyle('list-style-type');R[Z].parent=Y;}}var aa=j.list.arrayToList(R,P,null,N.config.enterMode),ab,ac=aa.listNode.getChildCount();for(T=0;T<ac&&(ab=aa.listNode.getChild(T));T++){if(ab.getName()==this.type)Q.push(ab);}aa.listNode.replace(O.root);};var w=/^h[1-6]$/;function x(N,O,P){var Q=O.contents,R=O.root.getDocument(),S=[];if(Q.length==1&&Q[0].equals(O.root)){var T=R.createElement('div');Q[0].moveChildren&&Q[0].moveChildren(T);Q[0].append(T);Q[0]=T;}var U=O.contents[0].getParent();for(var V=0;V<Q.length;V++)U=U.getCommonAncestor(Q[V].getParent());var W=N.config.useComputedState,X,Y;W=W===undefined||W;for(V=0;V<Q.length;V++){var Z=Q[V],aa;while(aa=Z.getParent()){if(aa.equals(U)){S.push(Z);if(!Y&&Z.getDirection())Y=1;var ab=Z.getDirection(W);if(X!==null)if(X&&X!=ab)X=null;else X=ab;break;}Z=aa;}}if(S.length<1)return;var ac=S[S.length-1].getNext(),ad=R.createElement(this.type);P.push(ad);var ae,af;while(S.length){ae=S.shift();af=R.createElement('li');if(ae.is('pre')||w.test(ae.getName()))ae.appendTo(af);else{ae.copyAttributes(af);if(X&&ae.getDirection()){af.removeStyle('direction');af.removeAttribute('dir');}ae.moveChildren(af);ae.remove();}af.appendTo(ad);}if(X&&Y)ad.setAttribute('dir',X);if(ac)ad.insertBefore(ac);else ad.appendTo(U);};function y(N,O,P){var Q=j.list.listToArray(O.root,P),R=[];for(var S=0;S<O.contents.length;S++){var T=O.contents[S];T=T.getAscendant('li',true);if(!T||T.getCustomData('list_item_processed'))continue;R.push(T);h.setMarker(P,T,'list_item_processed',true);}var U=null;for(S=0;S<R.length;S++){var V=R[S].getCustomData('listarray_index');Q[V].indent=-1;U=V;}for(S=U+1;S<Q.length;S++){if(Q[S].indent>Q[S-1].indent+1){var W=Q[S-1].indent+1-Q[S].indent,X=Q[S].indent;while(Q[S]&&Q[S].indent>=X){Q[S].indent+=W;S++;}S--;}}var Y=j.list.arrayToList(Q,P,null,N.config.enterMode,O.root.getAttribute('dir')),Z=Y.listNode,aa,ab;function ac(ad){if((aa=Z[ad?'getFirst':'getLast']())&&!(aa.is&&aa.isBlockBoundary())&&(ab=O.root[ad?'getPrevious':'getNext'](d.walker.whitespaces(true)))&&!(ab.is&&ab.isBlockBoundary({br:1})))N.document.createElement('br')[ad?'insertBefore':'insertAfter'](aa);
-};ac(true);ac();Z.replace(O.root);};function z(N,O){this.name=N;this.type=O;};var A=d.walker.nodeType(1);function B(N,O,P,Q){var R,S;while(R=N[Q?'getLast':'getFirst'](A)){if((S=R.getDirection(1))!==O.getDirection(1))R.setAttribute('dir',S);R.remove();P?R[Q?'insertBefore':'insertAfter'](P):O.append(R,Q);}};z.prototype={exec:function(N){var aq=this;var O=N.document,P=N.config,Q=N.getSelection(),R=Q&&Q.getRanges(true);if(!R||R.length<1)return;if(aq.state==2){var S=O.getBody();if(!S.getFirst(q)){P.enterMode==2?S.appendBogus():R[0].fixBlock(1,P.enterMode==1?'p':'div');Q.selectRanges(R);}else{var T=R.length==1&&R[0],U=T&&T.getEnclosedNode();if(U&&U.is&&aq.type==U.getName())aq.setState(1);}}var V=Q.createBookmarks(true),W=[],X={},Y=R.createIterator(),Z=0;while((T=Y.getNextRange())&&++Z){var aa=T.getBoundaryNodes(),ab=aa.startNode,ac=aa.endNode;if(ab.type==1&&ab.getName()=='td')T.setStartAt(aa.startNode,1);if(ac.type==1&&ac.getName()=='td')T.setEndAt(aa.endNode,2);var ad=T.createIterator(),ae;ad.forceBrBreak=aq.state==2;while(ae=ad.getNextParagraph()){if(ae.getCustomData('list_block'))continue;else h.setMarker(X,ae,'list_block',1);var af=new d.elementPath(ae),ag=af.elements,ah=ag.length,ai=null,aj=0,ak=af.blockLimit,al;for(var am=ah-1;am>=0&&(al=ag[am]);am--){if(m[al.getName()]&&ak.contains(al)){ak.removeCustomData('list_group_object_'+Z);var an=al.getCustomData('list_group_object');if(an)an.contents.push(ae);else{an={root:al,contents:[ae]};W.push(an);h.setMarker(X,al,'list_group_object',an);}aj=1;break;}}if(aj)continue;var ao=ak;if(ao.getCustomData('list_group_object_'+Z))ao.getCustomData('list_group_object_'+Z).contents.push(ae);else{an={root:ao,contents:[ae]};h.setMarker(X,ao,'list_group_object_'+Z,an);W.push(an);}}}var ap=[];while(W.length>0){an=W.shift();if(aq.state==2){if(m[an.root.getName()])v.call(aq,N,an,X,ap);else x.call(aq,N,an,ap);}else if(aq.state==1&&m[an.root.getName()])y.call(aq,N,an,X);}for(am=0;am<ap.length;am++)C(ap[am]);h.clearAllMarkers(X);Q.selectBookmarks(V);N.focus();}};function C(N){var O;(O=function(P){var Q=N[P?'getPrevious':'getNext'](q);if(Q&&Q.type==1&&Q.is(N.getName())){B(N,Q,null,!P);N.remove();N=Q;}})();O(1);};var D=f,E=/[\t\r\n ]*(?:&nbsp;|\xa0)$/;function F(N,O){var P,Q=N.children,R=Q.length;for(var S=0;S<R;S++){P=Q[S];if(P.name&&P.name in O)return S;}return R;};function G(N){return function(O){var P=O.children,Q=F(O,D.$list),R=P[Q],S=R&&R.previous,T;if(S&&(S.name&&S.name=='br'||S.value&&(T=S.value.match(E)))){var U=S;if(!(T&&T.index)&&U==P[0])P[0]=N||c?new a.htmlParser.text('\xa0'):new a.htmlParser.element('br',{});
-else if(U.name=='br')P.splice(Q-1,1);else U.value=U.value.replace(E,'');}};};var H={elements:{}};for(var I in D.$listItem)H.elements[I]=G();var J={elements:{}};for(I in D.$listItem)J.elements[I]=G(true);function K(N){return N.type==1&&(N.getName() in f.$block||N.getName() in f.$listItem)&&f[N.getName()]['#'];};function L(N,O,P){N.fire('saveSnapshot');P.enlarge(3);var Q=P.extractContents();O.trim(false,true);var R=O.createBookmark(),S=new d.elementPath(O.startContainer),T=S.block,U=S.lastElement.getAscendant('li',1)||T,V=new d.elementPath(P.startContainer),W=V.contains(f.$listItem),X=V.contains(f.$list),Y;if(T){var Z=T.getBogus();Z&&Z.remove();}else if(X){Y=X.getPrevious(q);if(Y&&r(Y))Y.remove();}Y=Q.getLast();if(Y&&Y.type==1&&Y.is('br'))Y.remove();var aa=O.startContainer.getChild(O.startOffset);if(aa)Q.insertBefore(aa);else O.startContainer.append(Q);if(W){var ab=M(W);if(ab)if(U.contains(W)){B(ab,W.getParent(),W);ab.remove();}else U.append(ab);}while(P.checkStartOfBlock()&&P.checkEndOfBlock()){V=new d.elementPath(P.startContainer);var ac=V.block,ad;if(ac.is('li')){ad=ac.getParent();if(ac.equals(ad.getLast(q))&&ac.equals(ad.getFirst(q)))ac=ad;}P.moveToPosition(ac,3);ac.remove();}var ae=P.clone(),af=N.document.getBody();ae.setEndAt(af,2);var ag=new d.walker(ae);ag.evaluator=function(ai){return q(ai)&&!r(ai);};var ah=ag.next();if(ah&&ah.type==1&&ah.getName() in f.$list)C(ah);O.moveToBookmark(R);O.select();N.selectionChange(1);N.fire('saveSnapshot');};function M(N){var O=N.getLast(q);return O&&O.type==1&&O.getName() in m?O:null;};j.add('list',{init:function(N){var O=N.addCommand('numberedlist',new z('numberedlist','ol')),P=N.addCommand('bulletedlist',new z('bulletedlist','ul'));N.ui.addButton('NumberedList',{label:N.lang.numberedlist,command:'numberedlist'});N.ui.addButton('BulletedList',{label:N.lang.bulletedlist,command:'bulletedlist'});N.on('selectionChange',e.bind(u,O));N.on('selectionChange',e.bind(u,P));N.on('key',function(Q){var R=Q.data.keyCode;if(N.mode=='wysiwyg'&&R in {8:1,46:1}){var S=N.getSelection(),T=S.getRanges()[0];if(!T.collapsed)return;var U=new d.elementPath(T.startContainer),V=R==8,W=N.document.getBody(),X=new d.walker(T.clone());X.evaluator=function(ai){return q(ai)&&!r(ai);};X.guard=function(ai,aj){return!(aj&&ai.type==1&&ai.is('table'));};var Y=T.clone();if(V){var Z,aa;if((Z=U.contains(m))&&T.checkBoundaryOfElement(Z,1)&&(Z=Z.getParent())&&Z.is('li')&&(Z=M(Z))){aa=Z;Z=Z.getPrevious(q);Y.moveToPosition(Z&&r(Z)?Z:aa,3);}else{X.range.setStartAt(W,1);
-X.range.setEnd(T.startContainer,T.startOffset);Z=X.previous();if(Z&&Z.type==1&&(Z.getName() in m||Z.is('li'))){if(!Z.is('li')){X.range.selectNodeContents(Z);X.reset();X.evaluator=K;Z=X.previous();}aa=Z;Y.moveToElementEditEnd(aa);}}if(aa){L(N,Y,T);Q.cancel();}else{var ab=U.contains(m),ac;if(ab&&T.checkBoundaryOfElement(ab,1)){ac=ab.getFirst(q);if(T.checkBoundaryOfElement(ac,1)){Z=ab.getPrevious(q);if(M(ac)){if(Z){T.moveToElementEditEnd(Z);T.select();}Q.cancel();}else{N.execCommand('outdent');Q.cancel();}}}}}else{var ad,ae;ac=T.startContainer.getAscendant('li',1);if(ac){X.range.setEndAt(W,2);var af=ac.getLast(q),ag=af&&K(af)?af:ac,ah=0;ad=X.next();if(ad&&ad.type==1&&ad.getName() in m&&ad.equals(af)){ah=1;ad=X.next();}else if(T.checkBoundaryOfElement(ag,2))ah=1;if(ah&&ad){ae=T.clone();ae.moveToElementEditStart(ad);L(N,Y,ae);Q.cancel();}}else{X.range.setEndAt(W,2);ad=X.next();if(ad&&ad.type==1&&ad.getName() in m){ad=ad.getFirst(q);if(U.block&&T.checkStartOfBlock()&&T.checkEndOfBlock()){U.block.remove();T.moveToElementEditStart(ad);T.select();Q.cancel();}else if(M(ad)){T.moveToElementEditStart(ad);T.select();Q.cancel();}else{ae=T.clone();ae.moveToElementEditStart(ad);L(N,Y,ae);Q.cancel();}}}}setTimeout(function(){N.selectionChange(1);});}});},afterInit:function(N){var O=N.dataProcessor;if(O){O.dataFilter.addRules(H);O.htmlFilter.addRules(J);}},requires:['domiterator']});})();(function(){j.liststyle={requires:['dialog'],init:function(m){m.addCommand('numberedListStyle',new a.dialogCommand('numberedListStyle'));a.dialog.add('numberedListStyle',this.path+'dialogs/liststyle.js');m.addCommand('bulletedListStyle',new a.dialogCommand('bulletedListStyle'));a.dialog.add('bulletedListStyle',this.path+'dialogs/liststyle.js');if(m.addMenuItems){m.addMenuGroup('list',108);m.addMenuItems({numberedlist:{label:m.lang.list.numberedTitle,group:'list',command:'numberedListStyle'},bulletedlist:{label:m.lang.list.bulletedTitle,group:'list',command:'bulletedListStyle'}});}if(m.contextMenu)m.contextMenu.addListener(function(n,o){if(!n||n.isReadOnly())return null;while(n){var p=n.getName();if(p=='ol')return{numberedlist:2};else if(p=='ul')return{bulletedlist:2};n=n.getParent();}return null;});}};j.add('liststyle',j.liststyle);})();(function(){function m(s){if(!s||s.type!=1||s.getName()!='form')return[];var t=[],u=['style','className'];for(var v=0;v<u.length;v++){var w=u[v],x=s.$.elements.namedItem(w);if(x){var y=new h(x);t.push([y,y.nextSibling]);y.remove();}}return t;};function n(s,t){if(!s||s.type!=1||s.getName()!='form')return;
-if(t.length>0)for(var u=t.length-1;u>=0;u--){var v=t[u][0],w=t[u][1];if(w)v.insertBefore(w);else v.appendTo(s);}};function o(s,t){var u=m(s),v={},w=s.$;if(!t){v['class']=w.className||'';w.className='';}v.inline=w.style.cssText||'';if(!t)w.style.cssText='position: static; overflow: visible';n(u);return v;};function p(s,t){var u=m(s),v=s.$;if('class' in t)v.className=t['class'];if('inline' in t)v.style.cssText=t.inline;n(u);};function q(s){var t=a.instances;for(var u in t){var v=t[u];if(v.mode=='wysiwyg'&&!v.readOnly){var w=v.document.getBody();w.setAttribute('contentEditable',false);w.setAttribute('contentEditable',true);}}if(s.focusManager.hasFocus){s.toolbox.focus();s.focus();}};function r(s){if(!c||b.version>6)return null;var t=h.createFromHtml('<iframe frameborder="0" tabindex="-1" src="javascript:void((function(){document.open();'+(b.isCustomDomain()?"document.domain='"+this.getDocument().$.domain+"';":'')+'document.close();'+'})())"'+' style="display:block;position:absolute;z-index:-1;'+'progid:DXImageTransform.Microsoft.Alpha(opacity=0);'+'"></iframe>');return s.append(t,true);};j.add('maximize',{init:function(s){var t=s.lang,u=a.document,v=u.getWindow(),w,x,y,z;function A(){var C=v.getViewPaneSize();z&&z.setStyles({width:C.width+'px',height:C.height+'px'});s.resize(C.width,C.height,null,true);};var B=2;s.addCommand('maximize',{modes:{wysiwyg:!b.iOS,source:!b.iOS},readOnly:1,editorFocus:false,exec:function(){var C=s.container.getChild(1),D=s.getThemeSpace('contents');if(s.mode=='wysiwyg'){var E=s.getSelection();w=E&&E.getRanges();x=v.getScrollPosition();}else{var F=s.textarea.$;w=!c&&[F.selectionStart,F.selectionEnd];x=[F.scrollLeft,F.scrollTop];}if(this.state==2){v.on('resize',A);y=v.getScrollPosition();var G=s.container;while(G=G.getParent()){G.setCustomData('maximize_saved_styles',o(G));G.setStyle('z-index',s.config.baseFloatZIndex-1);}D.setCustomData('maximize_saved_styles',o(D,true));C.setCustomData('maximize_saved_styles',o(C,true));var H={overflow:b.webkit?'':'hidden',width:0,height:0};u.getDocumentElement().setStyles(H);!b.gecko&&u.getDocumentElement().setStyle('position','fixed');!(b.gecko&&b.quirks)&&u.getBody().setStyles(H);c?setTimeout(function(){v.$.scrollTo(0,0);},0):v.$.scrollTo(0,0);C.setStyle('position',b.gecko&&b.quirks?'fixed':'absolute');C.$.offsetLeft;C.setStyles({'z-index':s.config.baseFloatZIndex-1,left:'0px',top:'0px'});z=r(C);C.addClass('cke_maximized');A();var I=C.getDocumentPosition();C.setStyles({left:-1*I.x+'px',top:-1*I.y+'px'});
-b.gecko&&q(s);}else if(this.state==1){v.removeListener('resize',A);var J=[D,C];for(var K=0;K<J.length;K++){p(J[K],J[K].getCustomData('maximize_saved_styles'));J[K].removeCustomData('maximize_saved_styles');}G=s.container;while(G=G.getParent()){p(G,G.getCustomData('maximize_saved_styles'));G.removeCustomData('maximize_saved_styles');}c?setTimeout(function(){v.$.scrollTo(y.x,y.y);},0):v.$.scrollTo(y.x,y.y);C.removeClass('cke_maximized');if(b.webkit){C.setStyle('display','inline');setTimeout(function(){C.setStyle('display','block');},0);}if(z){z.remove();z=null;}s.fire('resize');}this.toggleState();var L=this.uiItems[0];if(L){var M=this.state==2?t.maximize:t.minimize,N=s.element.getDocument().getById(L._.id);N.getChild(1).setHtml(M);N.setAttribute('title',M);N.setAttribute('href','javascript:void("'+M+'");');}if(s.mode=='wysiwyg'){if(w){b.gecko&&q(s);s.getSelection().selectRanges(w);var O=s.getSelection().getStartElement();O&&O.scrollIntoView(true);}else v.$.scrollTo(x.x,x.y);}else{if(w){F.selectionStart=w[0];F.selectionEnd=w[1];}F.scrollLeft=x[0];F.scrollTop=x[1];}w=x=null;B=this.state;},canUndo:false});s.ui.addButton('Maximize',{label:t.maximize,command:'maximize'});s.on('mode',function(){var C=s.getCommand('maximize');C.setState(C.state==0?0:B);},null,null,100);}});})();j.add('newpage',{init:function(m){m.addCommand('newpage',{modes:{wysiwyg:1,source:1},exec:function(n){var o=this;n.setData(n.config.newpage_html||'',function(){setTimeout(function(){n.fire('afterCommandExec',{name:'newpage',command:o});n.selectionChange();},200);});n.focus();},async:true});m.ui.addButton('NewPage',{label:m.lang.newPage,command:'newpage'});}});j.add('pagebreak',{init:function(m){m.addCommand('pagebreak',j.pagebreakCmd);m.ui.addButton('PageBreak',{label:m.lang.pagebreak,command:'pagebreak'});var n=['{','background: url('+a.getUrl(this.path+'images/pagebreak.gif')+') no-repeat center center;','clear: both;','width:100%; _width:99.9%;','border-top: #999999 1px dotted;','border-bottom: #999999 1px dotted;','padding:0;','height: 5px;','cursor: default;','}'].join('').replace(/;/g,' !important;');m.addCss('div.cke_pagebreak'+n);b.opera&&m.on('contentDom',function(){m.document.on('click',function(o){var p=o.data.getTarget();if(p.is('div')&&p.hasClass('cke_pagebreak'))m.getSelection().selectElement(p);});});},afterInit:function(m){var n=m.lang.pagebreakAlt,o=m.dataProcessor,p=o&&o.dataFilter,q=o&&o.htmlFilter;if(q)q.addRules({attributes:{'class':function(r,s){var t=r.replace('cke_pagebreak','');
-if(t!=r){var u=a.htmlParser.fragment.fromHtml('<span style="display: none;">&nbsp;</span>');s.children.length=0;s.add(u);var v=s.attributes;delete v['aria-label'];delete v.contenteditable;delete v.title;}return t;}}},5);if(p)p.addRules({elements:{div:function(r){var s=r.attributes,t=s&&s.style,u=t&&r.children.length==1&&r.children[0],v=u&&u.name=='span'&&u.attributes.style;if(v&&/page-break-after\s*:\s*always/i.test(t)&&/display\s*:\s*none/i.test(v)){s.contenteditable='false';s['class']='cke_pagebreak';s['data-cke-display-name']='pagebreak';s['aria-label']=n;s.title=n;r.children.length=0;}}}});},requires:['fakeobjects']});j.pagebreakCmd={exec:function(m){var n=m.lang.pagebreakAlt,o=h.createFromHtml('<div style="page-break-after: always;"contenteditable="false" title="'+n+'" '+'aria-label="'+n+'" '+'data-cke-display-name="pagebreak" '+'class="cke_pagebreak">'+'</div>',m.document),p=m.getSelection().getRanges(true);m.fire('saveSnapshot');for(var q,r=p.length-1;r>=0;r--){q=p[r];if(r<p.length-1)o=o.clone(true);q.splitBlock('p');q.insertNode(o);if(r==p.length-1){var s=o.getNext();q.moveToPosition(o,4);if(!s||s.type==1&&!s.isEditable())q.fixBlock(true,m.config.enterMode==3?'div':'p');q.select();}}m.fire('saveSnapshot');}};(function(){function m(n){n.data.mode='html';};j.add('pastefromword',{init:function(n){var o=0,p=function(q){q&&q.removeListener();n.removeListener('beforePaste',m);o&&setTimeout(function(){o=0;},0);};n.addCommand('pastefromword',{canUndo:false,exec:function(){o=1;n.on('beforePaste',m);if(n.execCommand('paste','html')===false){n.on('dialogShow',function(q){q.removeListener();q.data.on('cancel',p);});n.on('dialogHide',function(q){q.data.removeListener('cancel',p);});}n.on('afterPaste',p);}});n.ui.addButton('PasteFromWord',{label:n.lang.pastefromword.toolbar,command:'pastefromword'});n.on('pasteState',function(q){n.getCommand('pastefromword').setState(q.data);});n.on('paste',function(q){var r=q.data,s;if((s=r.html)&&(o||/(class=\"?Mso|style=\"[^\"]*\bmso\-|w:WordDocument)/.test(s))){var t=this.loadFilterRules(function(){if(t)n.fire('paste',r);else if(!n.config.pasteFromWordPromptCleanup||o||confirm(n.lang.pastefromword.confirmCleanup))r.html=a.cleanWord(s,n);});t&&q.cancel();}},this);},loadFilterRules:function(n){var o=a.cleanWord;if(o)n();else{var p=a.getUrl(i.pasteFromWordCleanupFile||this.path+'filter/default.js');a.scriptLoader.load(p,n,null,true);}return!o;},requires:['clipboard']});})();(function(){var m={exec:function(n){var o=e.tryThese(function(){var p=window.clipboardData.getData('Text');
-if(!p)throw 0;return p;});if(!o){n.openDialog('pastetext');return false;}else n.fire('paste',{text:o});return true;}};j.add('pastetext',{init:function(n){var o='pastetext',p=n.addCommand(o,m);n.ui.addButton('PasteText',{label:n.lang.pasteText.button,command:o});a.dialog.add(o,a.getUrl(this.path+'dialogs/pastetext.js'));if(n.config.forcePasteAsPlainText){n.on('beforeCommandExec',function(q){var r=q.data.commandData;if(q.data.name=='paste'&&r!='html'){n.execCommand('pastetext');q.cancel();}},null,null,0);n.on('beforePaste',function(q){q.data.mode='text';});}n.on('pasteState',function(q){n.getCommand('pastetext').setState(q.data);});},requires:['clipboard']});})();j.add('popup');e.extend(a.editor.prototype,{popup:function(m,n,o,p){n=n||'80%';o=o||'70%';if(typeof n=='string'&&n.length>1&&n.substr(n.length-1,1)=='%')n=parseInt(window.screen.width*parseInt(n,10)/100,10);if(typeof o=='string'&&o.length>1&&o.substr(o.length-1,1)=='%')o=parseInt(window.screen.height*parseInt(o,10)/100,10);if(n<640)n=640;if(o<420)o=420;var q=parseInt((window.screen.height-o)/2,10),r=parseInt((window.screen.width-n)/2,10);p=(p||'location=no,menubar=no,toolbar=no,dependent=yes,minimizable=no,modal=yes,alwaysRaised=yes,resizable=yes,scrollbars=yes')+',width='+n+',height='+o+',top='+q+',left='+r;var s=window.open('',null,p,true);if(!s)return false;try{var t=navigator.userAgent.toLowerCase();if(t.indexOf(' chrome/')==-1){s.moveTo(r,q);s.resizeTo(n,o);}s.focus();s.location.href=m;}catch(u){s=window.open(m,null,p,true);}return true;}});(function(){var m,n={modes:{wysiwyg:1,source:1},canUndo:false,readOnly:1,exec:function(p){var q,r=p.config,s=r.baseHref?'<base href="'+r.baseHref+'"/>':'',t=b.isCustomDomain();if(r.fullPage)q=p.getData().replace(/<head>/,'$&'+s).replace(/[^>]*(?=<\/title>)/,'$& &mdash; '+p.lang.preview);else{var u='<body ',v=p.document&&p.document.getBody();if(v){if(v.getAttribute('id'))u+='id="'+v.getAttribute('id')+'" ';if(v.getAttribute('class'))u+='class="'+v.getAttribute('class')+'" ';}u+='>';q=p.config.docType+'<html dir="'+p.config.contentsLangDirection+'">'+'<head>'+s+'<title>'+p.lang.preview+'</title>'+e.buildStyleHtml(p.config.contentsCss)+'</head>'+u+p.getData()+'</body></html>';}var w=640,x=420,y=80;try{var z=window.screen;w=Math.round(z.width*0.8);x=Math.round(z.height*0.7);y=Math.round(z.width*0.1);}catch(D){}var A='';if(t){window._cke_htmlToLoad=q;A='javascript:void( (function(){document.open();document.domain="'+document.domain+'";'+'document.write( window.opener._cke_htmlToLoad );'+'document.close();'+'window.opener._cke_htmlToLoad = null;'+'})() )';
-}if(b.gecko){window._cke_htmlToLoad=q;A=m+'preview.html';}var B=window.open(A,null,'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='+w+',height='+x+',left='+y);if(!t&&!b.gecko){var C=B.document;C.open();C.write(q);C.close();b.webkit&&setTimeout(function(){C.body.innerHTML+='';},0);}}},o='preview';j.add(o,{init:function(p){m=this.path;p.addCommand(o,n);p.ui.addButton('Preview',{label:p.lang.preview,command:o});}});})();j.add('print',{init:function(m){var n='print',o=m.addCommand(n,j.print);m.ui.addButton('Print',{label:m.lang.print,command:n});}});j.print={exec:function(m){if(b.opera)return;else if(b.gecko)m.window.$.print();else m.document.$.execCommand('Print');},canUndo:false,readOnly:1,modes:{wysiwyg:!b.opera}};j.add('removeformat',{requires:['selection'],init:function(m){m.addCommand('removeFormat',j.removeformat.commands.removeformat);m.ui.addButton('RemoveFormat',{label:m.lang.removeFormat,command:'removeFormat'});m._.removeFormat={filters:[]};}});j.removeformat={commands:{removeformat:{exec:function(m){var n=m._.removeFormatRegex||(m._.removeFormatRegex=new RegExp('^(?:'+m.config.removeFormatTags.replace(/,/g,'|')+')$','i')),o=m._.removeAttributes||(m._.removeAttributes=m.config.removeFormatAttributes.split(',')),p=j.removeformat.filter,q=m.getSelection().getRanges(1),r=q.createIterator(),s;while(s=r.getNextRange()){if(!s.collapsed)s.enlarge(1);var t=s.createBookmark(),u=t.startNode,v=t.endNode,w,x=function(z){var A=new d.elementPath(z),B=A.elements;for(var C=1,D;D=B[C];C++){if(D.equals(A.block)||D.equals(A.blockLimit))break;if(n.test(D.getName())&&p(m,D))z.breakParent(D);}};x(u);if(v){x(v);w=u.getNextSourceNode(true,1);while(w){if(w.equals(v))break;var y=w.getNextSourceNode(false,1);if(!(w.getName()=='img'&&w.data('cke-realelement'))&&p(m,w))if(n.test(w.getName()))w.remove(1);else{w.removeAttributes(o);m.fire('removeFormatCleanup',w);}w=y;}}s.moveToBookmark(t);}m.getSelection().selectRanges(q);}}},filter:function(m,n){var o=m._.removeFormat.filters;for(var p=0;p<o.length;p++){if(o[p](n)===false)return false;}return true;}};a.editor.prototype.addRemoveFormatFilter=function(m){this._.removeFormat.filters.push(m);};i.removeFormatTags='b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var';i.removeFormatAttributes='class,style,lang,width,height,align,hspace,valign';j.add('resize',{init:function(m){var n=m.config,o=m.element.getDirection(1);!n.resize_dir&&(n.resize_dir='both');n.resize_maxWidth==undefined&&(n.resize_maxWidth=3000);
-n.resize_maxHeight==undefined&&(n.resize_maxHeight=3000);n.resize_minWidth==undefined&&(n.resize_minWidth=750);n.resize_minHeight==undefined&&(n.resize_minHeight=250);if(n.resize_enabled!==false){var p=null,q,r,s=(n.resize_dir=='both'||n.resize_dir=='horizontal')&&n.resize_minWidth!=n.resize_maxWidth,t=(n.resize_dir=='both'||n.resize_dir=='vertical')&&n.resize_minHeight!=n.resize_maxHeight;function u(x){var y=x.data.$.screenX-q.x,z=x.data.$.screenY-q.y,A=r.width,B=r.height,C=A+y*(o=='rtl'?-1:1),D=B+z;if(s)A=Math.max(n.resize_minWidth,Math.min(C,n.resize_maxWidth));if(t)B=Math.max(n.resize_minHeight,Math.min(D,n.resize_maxHeight));m.resize(s?A:null,B);};function v(x){a.document.removeListener('mousemove',u);a.document.removeListener('mouseup',v);if(m.document){m.document.removeListener('mousemove',u);m.document.removeListener('mouseup',v);}};var w=e.addFunction(function(x){if(!p)p=m.getResizable();r={width:p.$.offsetWidth||0,height:p.$.offsetHeight||0};q={x:x.screenX,y:x.screenY};n.resize_minWidth>r.width&&(n.resize_minWidth=r.width);n.resize_minHeight>r.height&&(n.resize_minHeight=r.height);a.document.on('mousemove',u);a.document.on('mouseup',v);if(m.document){m.document.on('mousemove',u);m.document.on('mouseup',v);}});m.on('destroy',function(){e.removeFunction(w);});m.on('themeSpace',function(x){if(x.data.space=='bottom'){var y='';if(s&&!t)y=' cke_resizer_horizontal';if(!s&&t)y=' cke_resizer_vertical';var z='<div class="cke_resizer'+y+' cke_resizer_'+o+'"'+' title="'+e.htmlEncode(m.lang.resize)+'"'+' onmousedown="CKEDITOR.tools.callFunction('+w+', event)"'+'></div>';o=='ltr'&&y=='ltr'?x.data.html+=z:x.data.html=z+x.data.html;}},m,null,100);}}});(function(){var m={modes:{wysiwyg:1,source:1},readOnly:1,exec:function(o){var p=o.element.$.form;if(p)try{p.submit();}catch(q){if(p.submit.click)p.submit.click();}}},n='save';j.add(n,{init:function(o){var p=o.addCommand(n,m);p.modes={wysiwyg:!!o.element.$.form};o.ui.addButton('Save',{label:o.lang.save,command:n});}});})();(function(){var m='scaytcheck',n='';function o(t,u){var v=0,w;for(w in u){if(u[w]==t){v=1;break;}}return v;};var p=function(){var t=this,u=function(){if(q.instances[t.name])q.instances[t.name].destroy();var y=t.config,z={};z.srcNodeRef=t.document.getWindow().$.frameElement;z.assocApp='CKEDITOR.'+a.version+'@'+a.revision;z.customerid=y.scayt_customerid||'1:WvF0D4-UtPqN1-43nkD4-NKvUm2-daQqk3-LmNiI-z7Ysb4-mwry24-T8YrS3-Q2tpq2';z.customDictionaryIds=y.scayt_customDictionaryIds||'';z.userDictionaryName=y.scayt_userDictionaryName||'';
-z.sLang=y.scayt_sLang||'en_US';z.onLoad=function(){if(!(c&&b.version<8))this.addStyle(this.selectorCss(),'padding-bottom: 2px !important;');if(t.focusManager.hasFocus&&!q.isControlRestored(t))this.focus();};z.onBeforeChange=function(){if(q.getScayt(t)&&!t.checkDirty())setTimeout(function(){t.resetDirty();},0);};var A=window.scayt_custom_params;if(typeof A=='object')for(var B in A)z[B]=A[B];if(q.getControlId(t))z.id=q.getControlId(t);var C=new window.scayt(z);C.afterMarkupRemove.push(function(E){new h(E,C.document).mergeSiblings();});var D=q.instances[t.name];if(D){C.sLang=D.sLang;C.option(D.option());C.paused=D.paused;}q.instances[t.name]=C;try{C.setDisabled(q.isPaused(t)===false);}catch(E){}t.fire('showScaytState');};t.on('contentDom',function(y){u();});t.on('contentDomUnload',function(){var y=a.document.getElementsByTag('script'),z=/^dojoIoScript(\d+)$/i,A=/^https?:\/\/svc\.webspellchecker\.net\/spellcheck\/script\/ssrv\.cgi/i;for(var B=0;B<y.count();B++){var C=y.getItem(B),D=C.getId(),E=C.getAttribute('src');if(D&&E&&D.match(z)&&E.match(A))C.remove();}});t.on('beforeCommandExec',function(y){if(y.data.name=='source'&&t.mode=='source')q.markControlRestore(t);});t.on('afterCommandExec',function(y){if(!q.isScaytEnabled(t))return;if(t.mode=='wysiwyg'&&(y.data.name=='undo'||y.data.name=='redo'))window.setTimeout(function(){q.getScayt(t).refresh();},10);});t.on('destroy',function(y){var z=y.editor,A=q.getScayt(z);if(!A)return;delete q.instances[z.name];q.setControlId(z,A.id);A.destroy(true);});t.on('setData',function(y){var z=q.getScayt(t);if(z){q.setPaused(t,!z.disabled);q.setControlId(t,z.id);z.destroy(true);delete q.instances[t.name];}});t.on('insertElement',function(){var y=q.getScayt(t);if(q.isScaytEnabled(t)){if(c)t.getSelection().unlock(true);window.setTimeout(function(){y.focus();y.refresh();},10);}},this,null,50);t.on('insertHtml',function(){var y=q.getScayt(t);if(q.isScaytEnabled(t)){if(c)t.getSelection().unlock(true);window.setTimeout(function(){y.focus();y.refresh();},10);}},this,null,50);t.on('scaytDialog',function(y){y.data.djConfig=window.djConfig;y.data.scayt_control=q.getScayt(t);y.data.tab=n;y.data.scayt=window.scayt;});var v=t.dataProcessor,w=v&&v.htmlFilter;if(w)w.addRules({elements:{span:function(y){if(y.attributes['data-scayt_word']&&y.attributes['data-scaytid']){delete y.name;return y;}}}});var x=j.undo.Image.prototype;x.equals=e.override(x.equals,function(y){return function(z){var E=this;var A=E.contents,B=z.contents,C=q.getScayt(E.editor);
-if(C&&q.isScaytReady(E.editor)){E.contents=C.reset(A)||'';z.contents=C.reset(B)||'';}var D=y.apply(E,arguments);E.contents=A;z.contents=B;return D;};});if(t.document)u();};j.scayt={engineLoaded:false,instances:{},controlInfo:{},setControlInfo:function(t,u){if(t&&t.name&&typeof this.controlInfo[t.name]!='object')this.controlInfo[t.name]={};for(var v in u)this.controlInfo[t.name][v]=u[v];},isControlRestored:function(t){if(t&&t.name&&this.controlInfo[t.name])return this.controlInfo[t.name].restored;return false;},markControlRestore:function(t){this.setControlInfo(t,{restored:true});},setControlId:function(t,u){this.setControlInfo(t,{id:u});},getControlId:function(t){if(t&&t.name&&this.controlInfo[t.name]&&this.controlInfo[t.name].id)return this.controlInfo[t.name].id;return null;},setPaused:function(t,u){this.setControlInfo(t,{paused:u});},isPaused:function(t){if(t&&t.name&&this.controlInfo[t.name])return this.controlInfo[t.name].paused;return undefined;},getScayt:function(t){return this.instances[t.name];},isScaytReady:function(t){return this.engineLoaded===true&&'undefined'!==typeof window.scayt&&this.getScayt(t);},isScaytEnabled:function(t){var u=this.getScayt(t);return u?u.disabled===false:false;},getUiTabs:function(t){var u=[],v=t.config.scayt_uiTabs||'1,1,1';v=v.split(',');v[3]='1';for(var w=0;w<4;w++)u[w]=typeof window.scayt!='undefined'&&typeof window.scayt.uiTags!='undefined'?parseInt(v[w],10)&&window.scayt.uiTags[w]:parseInt(v[w],10);return u;},loadEngine:function(t){if(b.gecko&&b.version<10900||b.opera||b.air)return t.fire('showScaytState');if(this.engineLoaded===true)return p.apply(t);else if(this.engineLoaded==-1)return a.on('scaytReady',function(){p.apply(t);});a.on('scaytReady',p,t);a.on('scaytReady',function(){this.engineLoaded=true;},this,null,0);this.engineLoaded=-1;var u=document.location.protocol;u=u.search(/https?:/)!=-1?u:'http:';var v='svc.webspellchecker.net/scayt26/loader__base.js',w=t.config.scayt_srcUrl||u+'//'+v,x=q.parseUrl(w).path+'/';if(window.scayt==undefined){a._djScaytConfig={baseUrl:x,addOnLoad:[function(){a.fireOnce('scaytReady');}],isDebug:false};a.document.getHead().append(a.document.createElement('script',{attributes:{type:'text/javascript',async:'true',src:w}}));}else a.fireOnce('scaytReady');return null;},parseUrl:function(t){var u;if(t.match&&(u=t.match(/(.*)[\/\\](.*?\.\w+)$/)))return{path:u[1],file:u[2]};else return t;}};var q=j.scayt,r=function(t,u,v,w,x,y,z){t.addCommand(w,x);t.addMenuItem(w,{label:v,command:w,group:y,order:z});
-},s={preserveState:true,editorFocus:false,canUndo:false,exec:function(t){if(q.isScaytReady(t)){var u=q.isScaytEnabled(t);this.setState(u?2:1);var v=q.getScayt(t);v.focus();v.setDisabled(u);}else if(!t.config.scayt_autoStartup&&q.engineLoaded>=0){this.setState(0);q.loadEngine(t);}}};j.add('scayt',{requires:['menubutton'],beforeInit:function(t){var u=t.config.scayt_contextMenuItemsOrder||'suggest|moresuggest|control',v='';u=u.split('|');if(u&&u.length)for(var w=0;w<u.length;w++)v+='scayt_'+u[w]+(u.length!=parseInt(w,10)+1?',':'');t.config.menu_groups=v+','+t.config.menu_groups;},init:function(t){var u=t.dataProcessor&&t.dataProcessor.dataFilter,v={elements:{span:function(E){var F=E.attributes;if(F&&F['data-scaytid'])delete E.name;}}};u&&u.addRules(v);var w={},x={},y=t.addCommand(m,s);a.dialog.add(m,a.getUrl(this.path+'dialogs/options.js'));var z=q.getUiTabs(t),A='scaytButton';t.addMenuGroup(A);var B={},C=t.lang.scayt;B.scaytToggle={label:C.enable,command:m,group:A};if(z[0]==1)B.scaytOptions={label:C.options,group:A,onClick:function(){n='options';t.openDialog(m);}};if(z[1]==1)B.scaytLangs={label:C.langs,group:A,onClick:function(){n='langs';t.openDialog(m);}};if(z[2]==1)B.scaytDict={label:C.dictionariesTab,group:A,onClick:function(){n='dictionaries';t.openDialog(m);}};B.scaytAbout={label:t.lang.scayt.about,group:A,onClick:function(){n='about';t.openDialog(m);}};t.addMenuItems(B);t.ui.add('Scayt','menubutton',{label:C.title,title:b.opera?C.opera_title:C.title,className:'cke_button_scayt',modes:{wysiwyg:1},onRender:function(){y.on('state',function(){this.setState(y.state);},this);},onMenu:function(){var E=q.isScaytEnabled(t);t.getMenuItem('scaytToggle').label=C[E?'disable':'enable'];var F=q.getUiTabs(t);return{scaytToggle:2,scaytOptions:E&&F[0]?2:0,scaytLangs:E&&F[1]?2:0,scaytDict:E&&F[2]?2:0,scaytAbout:E&&F[3]?2:0};}});if(t.contextMenu&&t.addMenuItems)t.contextMenu.addListener(function(E,F){if(!q.isScaytEnabled(t)||F.getRanges()[0].checkReadOnly())return null;var G=q.getScayt(t),H=G.getScaytNode();if(!H)return null;var I=G.getWord(H);if(!I)return null;var J=G.getLang(),K=window.scayt.getSuggestion(I,J);for(var L in w){delete t._.menuItems[L];delete t._.commands[L];}for(L in x){delete t._.menuItems[L];delete t._.commands[L];}w={};x={};var M=t.config.scayt_moreSuggestions||'on',N=false,O=t.config.scayt_maxSuggestions;typeof O!='number'&&(O=5);!O&&(O=K.length);var P=t.config.scayt_contextCommands||'all';P=P.split('|');if(K&&K.length){for(var Q=0,R=K.length;Q<R;Q+=1){var S='scayt_suggestion_'+K[Q].replace(' ','_'),T=(function(X,Y){return{exec:function(){G.replace(X,Y);
-}};})(H,K[Q]);if(Q<O){r(t,'button_'+S,K[Q],S,T,'scayt_suggest',Q+1);x[S]=2;}else if(M=='on'){r(t,'button_'+S,K[Q],S,T,'scayt_moresuggest',Q+1);w[S]=2;N=true;}}if(N){t.addMenuItem('scayt_moresuggest',{label:t.lang.scayt.moreSuggestions,group:'scayt_moresuggest',order:10,getItems:function(){return w;}});x.scayt_moresuggest=2;}}else{t.addMenuItem('scayt_nosuggest',{label:t.lang.scayt.noSuggestions?t.lang.scayt.noSuggestions:t.lang.spellCheck.noSuggestions?t.lang.spellCheck.noSuggestions:'No suggestions',group:'scayt_suggest',order:1});x.scayt_nosuggest=2;}if(o('all',P)||o('ignore',P)){var U={exec:function(){G.ignore(H);}};r(t,'ignore',C.ignore,'scayt_ignore',U,'scayt_control',1);x.scayt_ignore=2;}if(o('all',P)||o('ignoreall',P)){var V={exec:function(){G.ignoreAll(H);}};r(t,'ignore_all',C.ignoreAll,'scayt_ignore_all',V,'scayt_control',2);x.scayt_ignore_all=2;}if(o('all',P)||o('add',P)){var W={exec:function(){window.scayt.addWordToUserDictionary(H);}};r(t,'add_word',C.addWord,'scayt_add_word',W,'scayt_control',3);x.scayt_add_word=2;}if(G.fireOnContextMenu)G.fireOnContextMenu(t);return x;});var D=function(){t.removeListener('showScaytState',D);if(!b.opera&&!b.air)y.setState(q.isScaytEnabled(t)?1:2);else y.setState(0);};t.on('showScaytState',D);if(b.opera||b.air)t.on('instanceReady',function(){D();});if(t.config.scayt_autoStartup)t.on('instanceReady',function(){q.loadEngine(t);});},afterInit:function(t){var u,v=function(w){if(w.hasAttribute('data-scaytid'))return false;};if(t._.elementsPath&&(u=t._.elementsPath.filters))u.push(v);t.addRemoveFormatFilter&&t.addRemoveFormatFilter(v);}});})();j.add('smiley',{requires:['dialog'],init:function(m){m.config.smiley_path=m.config.smiley_path||this.path+'images/';m.addCommand('smiley',new a.dialogCommand('smiley'));m.ui.addButton('Smiley',{label:m.lang.smiley.toolbar,command:'smiley'});a.dialog.add('smiley',this.path+'dialogs/smiley.js');}});i.smiley_images=['regular_smile.gif','sad_smile.gif','wink_smile.gif','teeth_smile.gif','confused_smile.gif','tounge_smile.gif','embaressed_smile.gif','omg_smile.gif','whatchutalkingabout_smile.gif','angry_smile.gif','angel_smile.gif','shades_smile.gif','devil_smile.gif','cry_smile.gif','lightbulb.gif','thumbs_down.gif','thumbs_up.gif','heart.gif','broken_heart.gif','kiss.gif','envelope.gif'];i.smiley_descriptions=['smiley','sad','wink','laugh','frown','cheeky','blush','surprise','indecision','angry','angel','cool','devil','crying','enlightened','no','yes','heart','broken heart','kiss','mail'];
-(function(){var m='.%2 p,.%2 div,.%2 pre,.%2 address,.%2 blockquote,.%2 h1,.%2 h2,.%2 h3,.%2 h4,.%2 h5,.%2 h6{background-repeat: no-repeat;background-position: top %3;border: 1px dotted gray;padding-top: 8px;padding-%3: 8px;}.%2 p{%1p.png);}.%2 div{%1div.png);}.%2 pre{%1pre.png);}.%2 address{%1address.png);}.%2 blockquote{%1blockquote.png);}.%2 h1{%1h1.png);}.%2 h2{%1h2.png);}.%2 h3{%1h3.png);}.%2 h4{%1h4.png);}.%2 h5{%1h5.png);}.%2 h6{%1h6.png);}',n=/%1/g,o=/%2/g,p=/%3/g,q={readOnly:1,preserveState:true,editorFocus:false,exec:function(r){this.toggleState();this.refresh(r);},refresh:function(r){if(r.document){var s=this.state==1?'addClass':'removeClass';r.document.getBody()[s]('cke_show_blocks');}}};j.add('showblocks',{requires:['wysiwygarea'],init:function(r){var s=r.addCommand('showblocks',q);s.canUndo=false;if(r.config.startupOutlineBlocks)s.setState(1);r.addCss(m.replace(n,'background-image: url('+a.getUrl(this.path)+'images/block_').replace(o,'cke_show_blocks ').replace(p,r.lang.dir=='rtl'?'right':'left'));r.ui.addButton('ShowBlocks',{label:r.lang.showBlocks,command:'showblocks'});r.on('mode',function(){if(s.state!=0)s.refresh(r);});r.on('contentDom',function(){if(s.state!=0)s.refresh(r);});}});})();(function(){var m='cke_show_border',n,o=(b.ie6Compat?['.%1 table.%2,','.%1 table.%2 td, .%1 table.%2 th','{','border : #d3d3d3 1px dotted','}']:['.%1 table.%2,','.%1 table.%2 > tr > td, .%1 table.%2 > tr > th,','.%1 table.%2 > tbody > tr > td, .%1 table.%2 > tbody > tr > th,','.%1 table.%2 > thead > tr > td, .%1 table.%2 > thead > tr > th,','.%1 table.%2 > tfoot > tr > td, .%1 table.%2 > tfoot > tr > th','{','border : #d3d3d3 1px dotted','}']).join('');n=o.replace(/%2/g,m).replace(/%1/g,'cke_show_borders ');var p={preserveState:true,editorFocus:false,readOnly:1,exec:function(q){this.toggleState();this.refresh(q);},refresh:function(q){if(q.document){var r=this.state==1?'addClass':'removeClass';q.document.getBody()[r]('cke_show_borders');}}};j.add('showborders',{requires:['wysiwygarea'],modes:{wysiwyg:1},init:function(q){var r=q.addCommand('showborders',p);r.canUndo=false;if(q.config.startupShowBorders!==false)r.setState(1);q.addCss(n);q.on('mode',function(){if(r.state!=0)r.refresh(q);},null,null,100);q.on('contentDom',function(){if(r.state!=0)r.refresh(q);});q.on('removeFormatCleanup',function(s){var t=s.data;if(q.getCommand('showborders').state==1&&t.is('table')&&(!t.hasAttribute('border')||parseInt(t.getAttribute('border'),10)<=0))t.addClass(m);});},afterInit:function(q){var r=q.dataProcessor,s=r&&r.dataFilter,t=r&&r.htmlFilter;
-if(s)s.addRules({elements:{table:function(u){var v=u.attributes,w=v['class'],x=parseInt(v.border,10);if((!x||x<=0)&&(!w||w.indexOf(m)==-1))v['class']=(w||'')+' '+m;}}});if(t)t.addRules({elements:{table:function(u){var v=u.attributes,w=v['class'];w&&(v['class']=w.replace(m,'').replace(/\s{2}/,' ').replace(/^\s+|\s+$/,''));}}});}});a.on('dialogDefinition',function(q){var r=q.data.name;if(r=='table'||r=='tableProperties'){var s=q.data.definition,t=s.getContents('info'),u=t.get('txtBorder'),v=u.commit;u.commit=e.override(v,function(y){return function(z,A){y.apply(this,arguments);var B=parseInt(this.getValue(),10);A[!B||B<=0?'addClass':'removeClass'](m);};});var w=s.getContents('advanced'),x=w&&w.get('advCSSClasses');if(x){x.setup=e.override(x.setup,function(y){return function(){y.apply(this,arguments);this.setValue(this.getValue().replace(/cke_show_border/,''));};});x.commit=e.override(x.commit,function(y){return function(z,A){y.apply(this,arguments);if(!parseInt(A.getAttribute('border'),10))A.addClass('cke_show_border');};});}}});})();j.add('sourcearea',{requires:['editingblock'],init:function(m){var n=j.sourcearea,o=a.document.getWindow();m.on('editingBlockReady',function(){var p,q;m.addMode('source',{load:function(r,s){if(c&&b.version<8)r.setStyle('position','relative');m.textarea=p=new h('textarea');p.setAttributes({dir:'ltr',tabIndex:b.webkit?-1:m.tabIndex,role:'textbox','aria-label':m.lang.editorTitle.replace('%1',m.name)});p.addClass('cke_source');p.addClass('cke_enable_context_menu');m.readOnly&&p.setAttribute('readOnly','readonly');var t={width:b.ie7Compat?'99%':'100%',height:'100%',resize:'none',outline:'none','text-align':'left'};if(c){q=function(){p.hide();p.setStyle('height',r.$.clientHeight+'px');p.setStyle('width',r.$.clientWidth+'px');p.show();};m.on('resize',q);o.on('resize',q);setTimeout(q,0);}r.setHtml('');r.append(p);p.setStyles(t);m.fire('ariaWidget',p);p.on('blur',function(){m.focusManager.blur();});p.on('focus',function(){m.focusManager.focus();});m.mayBeDirty=true;this.loadData(s);var u=m.keystrokeHandler;if(u)u.attach(p);setTimeout(function(){m.mode='source';m.fire('mode',{previousMode:m._.previousMode});},b.gecko||b.webkit?100:0);},loadData:function(r){p.setValue(r);m.fire('dataReady');},getData:function(){return p.getValue();},getSnapshotData:function(){return p.getValue();},unload:function(r){p.clearCustomData();m.textarea=p=null;if(q){m.removeListener('resize',q);o.removeListener('resize',q);}if(c&&b.version<8)r.removeStyle('position');
-},focus:function(){p.focus();}});});m.on('readOnly',function(){if(m.mode=='source')if(m.readOnly)m.textarea.setAttribute('readOnly','readonly');else m.textarea.removeAttribute('readOnly');});m.addCommand('source',n.commands.source);if(m.ui.addButton)m.ui.addButton('Source',{label:m.lang.source,command:'source'});m.on('mode',function(){m.getCommand('source').setState(m.mode=='source'?1:2);});}});j.sourcearea={commands:{source:{modes:{wysiwyg:1,source:1},editorFocus:false,readOnly:1,exec:function(m){if(m.mode=='wysiwyg')m.fire('saveSnapshot');m.getCommand('source').setState(0);m.setMode(m.mode=='source'?'wysiwyg':'source');},canUndo:false}}};(function(){j.add('stylescombo',{requires:['richcombo','styles'],init:function(n){var o=n.config,p=n.lang.stylesCombo,q={},r=[],s;function t(u){n.getStylesSet(function(v){if(!r.length){var w,x;for(var y=0,z=v.length;y<z;y++){var A=v[y];x=A.name;w=q[x]=new a.style(A);w._name=x;w._.enterMode=o.enterMode;r.push(w);}r.sort(m);}u&&u();});};n.ui.addRichCombo('Styles',{label:p.label,title:p.panelTitle,className:'cke_styles',panel:{css:n.skin.editor.css.concat(o.contentsCss),multiSelect:true,attributes:{'aria-label':p.panelTitle}},init:function(){s=this;t(function(){var u,v,w,x,y,z;for(y=0,z=r.length;y<z;y++){u=r[y];v=u._name;x=u.type;if(x!=w){s.startGroup(p['panelTitle'+String(x)]);w=x;}s.add(v,u.type==3?v:u.buildPreview(),v);}s.commit();});},onClick:function(u){n.focus();n.fire('saveSnapshot');var v=q[u],w=n.getSelection(),x=new d.elementPath(w.getStartElement());v[v.checkActive(x)?'remove':'apply'](n.document);n.fire('saveSnapshot');},onRender:function(){n.on('selectionChange',function(u){var v=this.getValue(),w=u.data.path,x=w.elements;for(var y=0,z=x.length,A;y<z;y++){A=x[y];for(var B in q){if(q[B].checkElementRemovable(A,true)){if(B!=v)this.setValue(B);return;}}}this.setValue('');},this);},onOpen:function(){var B=this;if(c||b.webkit)n.focus();var u=n.getSelection(),v=u.getSelectedElement(),w=new d.elementPath(v||u.getStartElement()),x=[0,0,0,0];B.showAll();B.unmarkAll();for(var y in q){var z=q[y],A=z.type;if(z.checkActive(w))B.mark(y);else if(A==3&&!z.checkApplicable(w)){B.hideItem(y);x[A]--;}x[A]++;}if(!x[1])B.hideGroup(p['panelTitle'+String(1)]);if(!x[2])B.hideGroup(p['panelTitle'+String(2)]);if(!x[3])B.hideGroup(p['panelTitle'+String(3)]);},reset:function(){if(s){delete s._.panel;delete s._.list;s._.committed=0;s._.items={};s._.state=2;}q={};r=[];t();}});n.on('instanceReady',function(){t();});}});function m(n,o){var p=n.type,q=o.type;
-return p==q?0:p==3?-1:q==3?1:q==1?1:-1;};})();j.add('table',{requires:['dialog'],init:function(m){var n=j.table,o=m.lang.table;m.addCommand('table',new a.dialogCommand('table'));m.addCommand('tableProperties',new a.dialogCommand('tableProperties'));m.ui.addButton('Table',{label:o.toolbar,command:'table'});a.dialog.add('table',this.path+'dialogs/table.js');a.dialog.add('tableProperties',this.path+'dialogs/table.js');if(m.addMenuItems)m.addMenuItems({table:{label:o.menu,command:'tableProperties',group:'table',order:5},tabledelete:{label:o.deleteTable,command:'tableDelete',group:'table',order:1}});m.on('doubleclick',function(p){var q=p.data.element;if(q.is('table'))p.data.dialog='tableProperties';});if(m.contextMenu)m.contextMenu.addListener(function(p,q){if(!p||p.isReadOnly())return null;var r=p.hasAscendant('table',1);if(r)return{tabledelete:2,table:2};return null;});}});(function(){var m=/^(?:td|th)$/;function n(G){var H=G.getRanges(),I=[],J={};function K(S){if(I.length>0)return;if(S.type==1&&m.test(S.getName())&&!S.getCustomData('selected_cell')){h.setMarker(J,S,'selected_cell',true);I.push(S);}};for(var L=0;L<H.length;L++){var M=H[L];if(M.collapsed){var N=M.getCommonAncestor(),O=N.getAscendant('td',true)||N.getAscendant('th',true);if(O)I.push(O);}else{var P=new d.walker(M),Q;P.guard=K;while(Q=P.next()){var R=Q.getAscendant('td')||Q.getAscendant('th');if(R&&!R.getCustomData('selected_cell')){h.setMarker(J,R,'selected_cell',true);I.push(R);}}}}h.clearAllMarkers(J);return I;};function o(G){var H=0,I=G.length-1,J={},K,L,M;while(K=G[H++])h.setMarker(J,K,'delete_cell',true);H=0;while(K=G[H++]){if((L=K.getPrevious())&&!L.getCustomData('delete_cell')||(L=K.getNext())&&!L.getCustomData('delete_cell')){h.clearAllMarkers(J);return L;}}h.clearAllMarkers(J);M=G[0].getParent();if(M=M.getPrevious())return M.getLast();M=G[I].getParent();if(M=M.getNext())return M.getChild(0);return null;};function p(G,H){var I=n(G),J=I[0],K=J.getAscendant('table'),L=J.getDocument(),M=I[0].getParent(),N=M.$.rowIndex,O=I[I.length-1],P=O.getParent().$.rowIndex+O.$.rowSpan-1,Q=new h(K.$.rows[P]),R=H?N:P,S=H?M:Q,T=e.buildTableMap(K),U=T[R],V=H?T[R-1]:T[R+1],W=T[0].length,X=L.createElement('tr');for(var Y=0;U[Y]&&Y<W;Y++){var Z;if(U[Y].rowSpan>1&&V&&U[Y]==V[Y]){Z=U[Y];Z.rowSpan+=1;}else{Z=new h(U[Y]).clone();Z.removeAttribute('rowSpan');!c&&Z.appendBogus();X.append(Z);Z=Z.$;}Y+=Z.colSpan-1;}H?X.insertBefore(S):X.insertAfter(S);};function q(G){if(G instanceof d.selection){var H=n(G),I=H[0],J=I.getAscendant('table'),K=e.buildTableMap(J),L=H[0].getParent(),M=L.$.rowIndex,N=H[H.length-1],O=N.getParent().$.rowIndex+N.$.rowSpan-1,P=[];
-for(var Q=M;Q<=O;Q++){var R=K[Q],S=new h(J.$.rows[Q]);for(var T=0;T<R.length;T++){var U=new h(R[T]),V=U.getParent().$.rowIndex;if(U.$.rowSpan==1)U.remove();else{U.$.rowSpan-=1;if(V==Q){var W=K[Q+1];W[T-1]?U.insertAfter(new h(W[T-1])):new h(J.$.rows[Q+1]).append(U,1);}}T+=U.$.colSpan-1;}P.push(S);}var X=J.$.rows,Y=new h(X[O+1]||(M>0?X[M-1]:null)||J.$.parentNode);for(Q=P.length;Q>=0;Q--)q(P[Q]);return Y;}else if(G instanceof h){J=G.getAscendant('table');if(J.$.rows.length==1)J.remove();else G.remove();}return null;};function r(G,H){var I=G.getParent(),J=I.$.cells,K=0;for(var L=0;L<J.length;L++){var M=J[L];K+=H?1:M.colSpan;if(M==G.$)break;}return K-1;};function s(G,H){var I=H?Infinity:0;for(var J=0;J<G.length;J++){var K=r(G[J],H);if(H?K<I:K>I)I=K;}return I;};function t(G,H){var I=n(G),J=I[0],K=J.getAscendant('table'),L=s(I,1),M=s(I),N=H?L:M,O=e.buildTableMap(K),P=[],Q=[],R=O.length;for(var S=0;S<R;S++){P.push(O[S][N]);var T=H?O[S][N-1]:O[S][N+1];Q.push(T);}for(S=0;S<R;S++){var U;if(!P[S])continue;if(P[S].colSpan>1&&Q[S]==P[S]){U=P[S];U.colSpan+=1;}else{U=new h(P[S]).clone();U.removeAttribute('colSpan');!c&&U.appendBogus();U[H?'insertBefore':'insertAfter'].call(U,new h(P[S]));U=U.$;}S+=U.rowSpan-1;}};function u(G){var H=n(G),I=H[0],J=H[H.length-1],K=I.getAscendant('table'),L=e.buildTableMap(K),M,N,O=[];for(var P=0,Q=L.length;P<Q;P++)for(var R=0,S=L[P].length;R<S;R++){if(L[P][R]==I.$)M=R;if(L[P][R]==J.$)N=R;}for(P=M;P<=N;P++)for(R=0;R<L.length;R++){var T=L[R],U=new h(K.$.rows[R]),V=new h(T[P]);if(V.$){if(V.$.colSpan==1)V.remove();else V.$.colSpan-=1;R+=V.$.rowSpan-1;if(!U.$.cells.length)O.push(U);}}var W=K.$.rows[0]&&K.$.rows[0].cells,X=new h(W[M]||(M?W[M-1]:K.$.parentNode));if(O.length==Q)K.remove();return X;};function v(G){var H=[],I=G[0]&&G[0].getAscendant('table'),J,K,L,M;for(J=0,K=G.length;J<K;J++)H.push(G[J].$.cellIndex);H.sort();for(J=1,K=H.length;J<K;J++){if(H[J]-H[J-1]>1){L=H[J-1]+1;break;}}if(!L)L=H[0]>0?H[0]-1:H[H.length-1]+1;var N=I.$.rows;for(J=0,K=N.length;J<K;J++){M=N[J].cells[L];if(M)break;}return M?new h(M):I.getPrevious();};function w(G,H){var I=G.getStartElement(),J=I.getAscendant('td',1)||I.getAscendant('th',1);if(!J)return;var K=J.clone();if(!c)K.appendBogus();if(H)K.insertBefore(J);else K.insertAfter(J);};function x(G){if(G instanceof d.selection){var H=n(G),I=H[0]&&H[0].getAscendant('table'),J=o(H);for(var K=H.length-1;K>=0;K--)x(H[K]);if(J)z(J,true);else if(I)I.remove();}else if(G instanceof h){var L=G.getParent();if(L.getChildCount()==1)L.remove();
-else G.remove();}};function y(G){var H=G.getBogus();H&&H.remove();G.trim();};function z(G,H){var I=new d.range(G.getDocument());if(!I['moveToElementEdit'+(H?'End':'Start')](G)){I.selectNodeContents(G);I.collapse(H?false:true);}I.select(true);};function A(G,H,I){var J=G[H];if(typeof I=='undefined')return J;for(var K=0;J&&K<J.length;K++){if(I.is&&J[K]==I.$)return K;else if(K==I)return new h(J[K]);}return I.is?-1:null;};function B(G,H){var I=[];for(var J=0;J<G.length;J++){var K=G[J];I.push(K[H]);if(K[H].rowSpan>1)J+=K[H].rowSpan-1;}return I;};function C(G,H,I){var J=n(G),K;if((H?J.length!=1:J.length<2)||(K=G.getCommonAncestor())&&K.type==1&&K.is('table'))return false;var L,M=J[0],N=M.getAscendant('table'),O=e.buildTableMap(N),P=O.length,Q=O[0].length,R=M.getParent().$.rowIndex,S=A(O,R,M);if(H){var T;try{var U=parseInt(M.getAttribute('rowspan'),10)||1,V=parseInt(M.getAttribute('colspan'),10)||1;T=O[H=='up'?R-U:H=='down'?R+U:R][H=='left'?S-V:H=='right'?S+V:S];}catch(an){return false;}if(!T||M.$==T)return false;J[H=='up'||H=='left'?'unshift':'push'](new h(T));}var W=M.getDocument(),X=R,Y=0,Z=0,aa=!I&&new d.documentFragment(W),ab=0;for(var ac=0;ac<J.length;ac++){L=J[ac];var ad=L.getParent(),ae=L.getFirst(),af=L.$.colSpan,ag=L.$.rowSpan,ah=ad.$.rowIndex,ai=A(O,ah,L);ab+=af*ag;Z=Math.max(Z,ai-S+af);Y=Math.max(Y,ah-R+ag);if(!I){if(y(L),L.getChildren().count()){if(ah!=X&&ae&&!(ae.isBlockBoundary&&ae.isBlockBoundary({br:1}))){var aj=aa.getLast(d.walker.whitespaces(true));if(aj&&!(aj.is&&aj.is('br')))aa.append('br');}L.moveChildren(aa);}ac?L.remove():L.setHtml('');}X=ah;}if(!I){aa.moveChildren(M);if(!c)M.appendBogus();if(Z>=Q)M.removeAttribute('rowSpan');else M.$.rowSpan=Y;if(Y>=P)M.removeAttribute('colSpan');else M.$.colSpan=Z;var ak=new d.nodeList(N.$.rows),al=ak.count();for(ac=al-1;ac>=0;ac--){var am=ak.getItem(ac);if(!am.$.cells.length){am.remove();al++;continue;}}return M;}else return Y*Z==ab;};function D(G,H){var I=n(G);if(I.length>1)return false;else if(H)return true;var J=I[0],K=J.getParent(),L=K.getAscendant('table'),M=e.buildTableMap(L),N=K.$.rowIndex,O=A(M,N,J),P=J.$.rowSpan,Q,R,S,T;if(P>1){R=Math.ceil(P/2);S=Math.floor(P/2);T=N+R;var U=new h(L.$.rows[T]),V=A(M,T),W;Q=J.clone();for(var X=0;X<V.length;X++){W=V[X];if(W.parentNode==U.$&&X>O){Q.insertBefore(new h(W));break;}else W=null;}if(!W)U.append(Q,true);}else{S=R=1;U=K.clone();U.insertAfter(K);U.append(Q=J.clone());var Y=A(M,N);for(var Z=0;Z<Y.length;Z++)Y[Z].rowSpan++;}if(!c)Q.appendBogus();J.$.rowSpan=R;Q.$.rowSpan=S;
-if(R==1)J.removeAttribute('rowSpan');if(S==1)Q.removeAttribute('rowSpan');return Q;};function E(G,H){var I=n(G);if(I.length>1)return false;else if(H)return true;var J=I[0],K=J.getParent(),L=K.getAscendant('table'),M=e.buildTableMap(L),N=K.$.rowIndex,O=A(M,N,J),P=J.$.colSpan,Q,R,S;if(P>1){R=Math.ceil(P/2);S=Math.floor(P/2);}else{S=R=1;var T=B(M,O);for(var U=0;U<T.length;U++)T[U].colSpan++;}Q=J.clone();Q.insertAfter(J);if(!c)Q.appendBogus();J.$.colSpan=R;Q.$.colSpan=S;if(R==1)J.removeAttribute('colSpan');if(S==1)Q.removeAttribute('colSpan');return Q;};var F={thead:1,tbody:1,tfoot:1,td:1,tr:1,th:1};j.tabletools={requires:['table','dialog'],init:function(G){var H=G.lang.table;G.addCommand('cellProperties',new a.dialogCommand('cellProperties'));a.dialog.add('cellProperties',this.path+'dialogs/tableCell.js');G.addCommand('tableDelete',{exec:function(I){var J=I.getSelection(),K=J&&J.getStartElement(),L=K&&K.getAscendant('table',1);if(!L)return;var M=L.getParent();if(M.getChildCount()==1&&!M.is('body','td','th'))L=M;var N=new d.range(I.document);N.moveToPosition(L,3);L.remove();N.select();}});G.addCommand('rowDelete',{exec:function(I){var J=I.getSelection();z(q(J));}});G.addCommand('rowInsertBefore',{exec:function(I){var J=I.getSelection();p(J,true);}});G.addCommand('rowInsertAfter',{exec:function(I){var J=I.getSelection();p(J);}});G.addCommand('columnDelete',{exec:function(I){var J=I.getSelection(),K=u(J);K&&z(K,true);}});G.addCommand('columnInsertBefore',{exec:function(I){var J=I.getSelection();t(J,true);}});G.addCommand('columnInsertAfter',{exec:function(I){var J=I.getSelection();t(J);}});G.addCommand('cellDelete',{exec:function(I){var J=I.getSelection();x(J);}});G.addCommand('cellMerge',{exec:function(I){z(C(I.getSelection()),true);}});G.addCommand('cellMergeRight',{exec:function(I){z(C(I.getSelection(),'right'),true);}});G.addCommand('cellMergeDown',{exec:function(I){z(C(I.getSelection(),'down'),true);}});G.addCommand('cellVerticalSplit',{exec:function(I){z(D(I.getSelection()));}});G.addCommand('cellHorizontalSplit',{exec:function(I){z(E(I.getSelection()));}});G.addCommand('cellInsertBefore',{exec:function(I){var J=I.getSelection();w(J,true);}});G.addCommand('cellInsertAfter',{exec:function(I){var J=I.getSelection();w(J);}});if(G.addMenuItems)G.addMenuItems({tablecell:{label:H.cell.menu,group:'tablecell',order:1,getItems:function(){var I=G.getSelection(),J=n(I);return{tablecell_insertBefore:2,tablecell_insertAfter:2,tablecell_delete:2,tablecell_merge:C(I,null,true)?2:0,tablecell_merge_right:C(I,'right',true)?2:0,tablecell_merge_down:C(I,'down',true)?2:0,tablecell_split_vertical:D(I,true)?2:0,tablecell_split_horizontal:E(I,true)?2:0,tablecell_properties:J.length>0?2:0};
-}},tablecell_insertBefore:{label:H.cell.insertBefore,group:'tablecell',command:'cellInsertBefore',order:5},tablecell_insertAfter:{label:H.cell.insertAfter,group:'tablecell',command:'cellInsertAfter',order:10},tablecell_delete:{label:H.cell.deleteCell,group:'tablecell',command:'cellDelete',order:15},tablecell_merge:{label:H.cell.merge,group:'tablecell',command:'cellMerge',order:16},tablecell_merge_right:{label:H.cell.mergeRight,group:'tablecell',command:'cellMergeRight',order:17},tablecell_merge_down:{label:H.cell.mergeDown,group:'tablecell',command:'cellMergeDown',order:18},tablecell_split_horizontal:{label:H.cell.splitHorizontal,group:'tablecell',command:'cellHorizontalSplit',order:19},tablecell_split_vertical:{label:H.cell.splitVertical,group:'tablecell',command:'cellVerticalSplit',order:20},tablecell_properties:{label:H.cell.title,group:'tablecellproperties',command:'cellProperties',order:21},tablerow:{label:H.row.menu,group:'tablerow',order:1,getItems:function(){return{tablerow_insertBefore:2,tablerow_insertAfter:2,tablerow_delete:2};}},tablerow_insertBefore:{label:H.row.insertBefore,group:'tablerow',command:'rowInsertBefore',order:5},tablerow_insertAfter:{label:H.row.insertAfter,group:'tablerow',command:'rowInsertAfter',order:10},tablerow_delete:{label:H.row.deleteRow,group:'tablerow',command:'rowDelete',order:15},tablecolumn:{label:H.column.menu,group:'tablecolumn',order:1,getItems:function(){return{tablecolumn_insertBefore:2,tablecolumn_insertAfter:2,tablecolumn_delete:2};}},tablecolumn_insertBefore:{label:H.column.insertBefore,group:'tablecolumn',command:'columnInsertBefore',order:5},tablecolumn_insertAfter:{label:H.column.insertAfter,group:'tablecolumn',command:'columnInsertAfter',order:10},tablecolumn_delete:{label:H.column.deleteColumn,group:'tablecolumn',command:'columnDelete',order:15}});if(G.contextMenu)G.contextMenu.addListener(function(I,J){if(!I||I.isReadOnly())return null;while(I){if(I.getName() in F)return{tablecell:2,tablerow:2,tablecolumn:2};I=I.getParent();}return null;});},getSelectedCells:n};j.add('tabletools',j.tabletools);})();e.buildTableMap=function(m){var n=m.$.rows,o=-1,p=[];for(var q=0;q<n.length;q++){o++;!p[o]&&(p[o]=[]);var r=-1;for(var s=0;s<n[q].cells.length;s++){var t=n[q].cells[s];r++;while(p[o][r])r++;var u=isNaN(t.colSpan)?1:t.colSpan,v=isNaN(t.rowSpan)?1:t.rowSpan;for(var w=0;w<v;w++){if(!p[o+w])p[o+w]=[];for(var x=0;x<u;x++)p[o+w][r+x]=n[q].cells[s];}r+=u-1;}}return p;};j.add('specialchar',{requires:['dialog'],availableLangs:{cs:1,cy:1,de:1,el:1,en:1,eo:1,et:1,fa:1,fi:1,fr:1,he:1,hr:1,it:1,nb:1,nl:1,no:1,'pt-br':1,tr:1,ug:1,'zh-cn':1},init:function(m){var n='specialchar',o=this;
-a.dialog.add(n,this.path+'dialogs/specialchar.js');m.addCommand(n,{exec:function(){var p=m.langCode;p=o.availableLangs[p]?p:'en';a.scriptLoader.load(a.getUrl(o.path+'lang/'+p+'.js'),function(){e.extend(m.lang.specialChar,o.langEntries[p]);m.openDialog(n);});},modes:{wysiwyg:1},canUndo:false});m.ui.addButton('SpecialChar',{label:m.lang.specialChar.toolbar,command:n});}});i.specialChars=['!','&quot;','#','$','%','&amp;',"'",'(',')','*','+','-','.','/','0','1','2','3','4','5','6','7','8','9',':',';','&lt;','=','&gt;','?','@','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','[',']','^','_','`','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','{','|','}','~','&euro;','&lsquo;','&rsquo;','&ldquo;','&rdquo;','&ndash;','&mdash;','&iexcl;','&cent;','&pound;','&curren;','&yen;','&brvbar;','&sect;','&uml;','&copy;','&ordf;','&laquo;','&not;','&reg;','&macr;','&deg;','&sup2;','&sup3;','&acute;','&micro;','&para;','&middot;','&cedil;','&sup1;','&ordm;','&raquo;','&frac14;','&frac12;','&frac34;','&iquest;','&Agrave;','&Aacute;','&Acirc;','&Atilde;','&Auml;','&Aring;','&AElig;','&Ccedil;','&Egrave;','&Eacute;','&Ecirc;','&Euml;','&Igrave;','&Iacute;','&Icirc;','&Iuml;','&ETH;','&Ntilde;','&Ograve;','&Oacute;','&Ocirc;','&Otilde;','&Ouml;','&times;','&Oslash;','&Ugrave;','&Uacute;','&Ucirc;','&Uuml;','&Yacute;','&THORN;','&szlig;','&agrave;','&aacute;','&acirc;','&atilde;','&auml;','&aring;','&aelig;','&ccedil;','&egrave;','&eacute;','&ecirc;','&euml;','&igrave;','&iacute;','&icirc;','&iuml;','&eth;','&ntilde;','&ograve;','&oacute;','&ocirc;','&otilde;','&ouml;','&divide;','&oslash;','&ugrave;','&uacute;','&ucirc;','&uuml;','&yacute;','&thorn;','&yuml;','&OElig;','&oelig;','&#372;','&#374','&#373','&#375;','&sbquo;','&#8219;','&bdquo;','&hellip;','&trade;','&#9658;','&bull;','&rarr;','&rArr;','&hArr;','&diams;','&asymp;'];(function(){var m={editorFocus:false,modes:{wysiwyg:1,source:1}},n={readOnly:1,exec:function(q){q.container.focusNext(true,q.tabIndex);}},o={readOnly:1,exec:function(q){q.container.focusPrevious(true,q.tabIndex);}};function p(q){return{editorFocus:false,canUndo:false,modes:{wysiwyg:1},exec:function(r){if(r.focusManager.hasFocus){var s=r.getSelection(),t=s.getCommonAncestor(),u;if(u=t.getAscendant('td',true)||t.getAscendant('th',true)){var v=new d.range(r.document),w=e.tryThese(function(){var D=u.getParent(),E=D.$.cells[u.$.cellIndex+(q?-1:1)];E.parentNode.parentNode;
-return E;},function(){var D=u.getParent(),E=D.getAscendant('table'),F=E.$.rows[D.$.rowIndex+(q?-1:1)];return F.cells[q?F.cells.length-1:0];});if(!(w||q)){var x=u.getAscendant('table').$,y=u.getParent().$.cells,z=new h(x.insertRow(-1),r.document);for(var A=0,B=y.length;A<B;A++){var C=z.append(new h(y[A],r.document).clone(false,false));!c&&C.appendBogus();}v.moveToElementEditStart(z);}else if(w){w=new h(w);v.moveToElementEditStart(w);if(!(v.checkStartOfBlock()&&v.checkEndOfBlock()))v.selectNodeContents(w);}else return true;v.select(true);return true;}}return false;}};};j.add('tab',{requires:['keystrokes'],init:function(q){var r=q.config.enableTabKeyTools!==false,s=q.config.tabSpaces||0,t='';while(s--)t+='\xa0';if(t)q.on('key',function(u){if(u.data.keyCode==9){q.insertHtml(t);u.cancel();}});if(r)q.on('key',function(u){if(u.data.keyCode==9&&q.execCommand('selectNextCell')||u.data.keyCode==2228224+9&&q.execCommand('selectPreviousCell'))u.cancel();});if(b.webkit||b.gecko)q.on('key',function(u){var v=u.data.keyCode;if(v==9&&!t){u.cancel();q.execCommand('blur');}if(v==2228224+9){q.execCommand('blurBack');u.cancel();}});q.addCommand('blur',e.extend(n,m));q.addCommand('blurBack',e.extend(o,m));q.addCommand('selectNextCell',p());q.addCommand('selectPreviousCell',p(true));}});})();h.prototype.focusNext=function(m,n){var w=this;var o=w.$,p=n===undefined?w.getTabIndex():n,q,r,s,t,u,v;if(p<=0){u=w.getNextSourceNode(m,1);while(u){if(u.isVisible()&&u.getTabIndex()===0){s=u;break;}u=u.getNextSourceNode(false,1);}}else{u=w.getDocument().getBody().getFirst();while(u=u.getNextSourceNode(false,1)){if(!q)if(!r&&u.equals(w)){r=true;if(m){if(!(u=u.getNextSourceNode(true,1)))break;q=1;}}else if(r&&!w.contains(u))q=1;if(!u.isVisible()||(v=u.getTabIndex())<0)continue;if(q&&v==p){s=u;break;}if(v>p&&(!s||!t||v<t)){s=u;t=v;}else if(!s&&v===0){s=u;t=v;}}}if(s)s.focus();};h.prototype.focusPrevious=function(m,n){var w=this;var o=w.$,p=n===undefined?w.getTabIndex():n,q,r,s,t=0,u,v=w.getDocument().getBody().getLast();while(v=v.getPreviousSourceNode(false,1)){if(!q)if(!r&&v.equals(w)){r=true;if(m){if(!(v=v.getPreviousSourceNode(true,1)))break;q=1;}}else if(r&&!w.contains(v))q=1;if(!v.isVisible()||(u=v.getTabIndex())<0)continue;if(p<=0){if(q&&u===0){s=v;break;}if(u>t){s=v;t=u;}}else{if(q&&u==p){s=v;break;}if(u<p&&(!s||u>t)){s=v;t=u;}}}if(s)s.focus();};(function(){j.add('templates',{requires:['dialog'],init:function(o){a.dialog.add('templates',a.getUrl(this.path+'dialogs/templates.js'));o.addCommand('templates',new a.dialogCommand('templates'));
-o.ui.addButton('Templates',{label:o.lang.templates.button,command:'templates'});}});var m={},n={};a.addTemplates=function(o,p){m[o]=p;};a.getTemplates=function(o){return m[o];};a.loadTemplates=function(o,p){var q=[];for(var r=0,s=o.length;r<s;r++){if(!n[o[r]]){q.push(o[r]);n[o[r]]=1;}}if(q.length)a.scriptLoader.load(q,p);else setTimeout(p,0);};})();i.templates_files=[a.getUrl('plugins/templates/templates/default.js')];i.templates_replaceContent=true;(function(){var m=function(){this.toolbars=[];this.focusCommandExecuted=false;};m.prototype.focus=function(){for(var o=0,p;p=this.toolbars[o++];)for(var q=0,r;r=p.items[q++];){if(r.focus){r.focus();return;}}};var n={toolbarFocus:{modes:{wysiwyg:1,source:1},readOnly:1,exec:function(o){if(o.toolbox){o.toolbox.focusCommandExecuted=true;if(c||b.air)setTimeout(function(){o.toolbox.focus();},100);else o.toolbox.focus();}}}};j.add('toolbar',{requires:['button'],init:function(o){var p,q=function(r,s){var t,u,v=o.lang.dir=='rtl',w=o.config.toolbarGroupCycling;w=w===undefined||w;switch(s){case 9:case 2228224+9:while(!u||!u.items.length){u=s==9?(u?u.next:r.toolbar.next)||o.toolbox.toolbars[0]:(u?u.previous:r.toolbar.previous)||o.toolbox.toolbars[o.toolbox.toolbars.length-1];if(u.items.length){r=u.items[p?u.items.length-1:0];while(r&&!r.focus){r=p?r.previous:r.next;if(!r)u=0;}}}if(r)r.focus();return false;case v?37:39:case 40:t=r;do{t=t.next;if(!t&&w)t=r.toolbar.items[0];}while(t&&!t.focus);if(t)t.focus();else q(r,9);return false;case v?39:37:case 38:t=r;do{t=t.previous;if(!t&&w)t=r.toolbar.items[r.toolbar.items.length-1];}while(t&&!t.focus);if(t)t.focus();else{p=1;q(r,2228224+9);p=0;}return false;case 27:o.focus();return false;case 13:case 32:r.execute();return false;}return true;};o.on('themeSpace',function(r){if(r.data.space==o.config.toolbarLocation){o.toolbox=new m();var s=e.getNextId(),t=['<div class="cke_toolbox" role="group" aria-labelledby="',s,'" onmousedown="return false;"'],u=o.config.toolbarStartupExpanded!==false,v;t.push(u?'>':' style="display:none">');t.push('<span id="',s,'" class="cke_voice_label">',o.lang.toolbars,'</span>');var w=o.toolbox.toolbars,x=o.config.toolbar instanceof Array?o.config.toolbar:o.config['toolbar_'+o.config.toolbar];for(var y=0;y<x.length;y++){var z,A=0,B,C=x[y],D;if(!C)continue;if(v){t.push('</div>');v=0;}if(C==='/'){t.push('<div class="cke_break"></div>');continue;}D=C.items||C;for(var E=0;E<D.length;E++){var F,G=D[E],H;F=o.ui.create(G);if(F){H=F.canGroup!==false;if(!A){z=e.getNextId();
-A={id:z,items:[]};B=C.name&&(o.lang.toolbarGroups[C.name]||C.name);t.push('<span id="',z,'" class="cke_toolbar"',B?' aria-labelledby="'+z+'_label"':'',' role="toolbar">');B&&t.push('<span id="',z,'_label" class="cke_voice_label">',B,'</span>');t.push('<span class="cke_toolbar_start"></span>');var I=w.push(A)-1;if(I>0){A.previous=w[I-1];A.previous.next=A;}}if(H){if(!v){t.push('<span class="cke_toolgroup" role="presentation">');v=1;}}else if(v){t.push('</span>');v=0;}var J=F.render(o,t);I=A.items.push(J)-1;if(I>0){J.previous=A.items[I-1];J.previous.next=J;}J.toolbar=A;J.onkey=q;J.onfocus=function(){if(!o.toolbox.focusCommandExecuted)o.focus();};}}if(v){t.push('</span>');v=0;}if(A)t.push('<span class="cke_toolbar_end"></span></span>');}t.push('</div>');if(o.config.toolbarCanCollapse){var K=e.addFunction(function(){o.execCommand('toolbarCollapse');});o.on('destroy',function(){e.removeFunction(K);});var L=e.getNextId();o.addCommand('toolbarCollapse',{readOnly:1,exec:function(M){var N=a.document.getById(L),O=N.getPrevious(),P=M.getThemeSpace('contents'),Q=O.getParent(),R=parseInt(P.$.style.height,10),S=Q.$.offsetHeight,T=!O.isVisible();if(!T){O.hide();N.addClass('cke_toolbox_collapser_min');N.setAttribute('title',M.lang.toolbarExpand);}else{O.show();N.removeClass('cke_toolbox_collapser_min');N.setAttribute('title',M.lang.toolbarCollapse);}N.getFirst().setText(T?'â–²':'â—€');var U=Q.$.offsetHeight-S;P.setStyle('height',R-U+'px');M.fire('resize');},modes:{wysiwyg:1,source:1}});t.push('<a title="'+(u?o.lang.toolbarCollapse:o.lang.toolbarExpand)+'" id="'+L+'" tabIndex="-1" class="cke_toolbox_collapser');if(!u)t.push(' cke_toolbox_collapser_min');t.push('" onclick="CKEDITOR.tools.callFunction('+K+')">','<span>&#9650;</span>','</a>');}r.data.html+=t.join('');}});o.on('destroy',function(){var r,s=0,t,u,v;r=this.toolbox.toolbars;for(;s<r.length;s++){u=r[s].items;for(t=0;t<u.length;t++){v=u[t];if(v.clickFn)e.removeFunction(v.clickFn);if(v.keyDownFn)e.removeFunction(v.keyDownFn);}}});o.addCommand('toolbarFocus',n.toolbarFocus);o.ui.add('-',a.UI_SEPARATOR,{});o.ui.addHandler(a.UI_SEPARATOR,{create:function(){return{render:function(r,s){s.push('<span class="cke_separator" role="separator"></span>');return{};}};}});}});})();a.UI_SEPARATOR='separator';i.toolbarLocation='top';i.toolbar_Basic=[['Bold','Italic','-','NumberedList','BulletedList','-','Link','Unlink','-','About']];i.toolbar_Full=[{name:'document',items:['Source','-','Save','NewPage','DocProps','Preview','Print','-','Templates']},{name:'clipboard',items:['Cut','Copy','Paste','PasteText','PasteFromWord','-','Undo','Redo']},{name:'editing',items:['Find','Replace','-','SelectAll','-','SpellChecker','Scayt']},{name:'forms',items:['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField']},'/',{name:'basicstyles',items:['Bold','Italic','Underline','Strike','Subscript','Superscript','-','RemoveFormat']},{name:'paragraph',items:['NumberedList','BulletedList','-','Outdent','Indent','-','Blockquote','CreateDiv','-','JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock','-','BidiLtr','BidiRtl']},{name:'links',items:['Link','Unlink','Anchor']},{name:'insert',items:['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe']},'/',{name:'styles',items:['Styles','Format','Font','FontSize']},{name:'colors',items:['TextColor','BGColor']},{name:'tools',items:['Maximize','ShowBlocks','-','About']}];
-i.toolbar='Full';i.toolbarCanCollapse=true;(function(){j.add('undo',{requires:['selection','wysiwygarea'],init:function(s){var t=new o(s),u=s.addCommand('undo',{exec:function(){if(t.undo()){s.selectionChange();this.fire('afterUndo');}},state:0,canUndo:false}),v=s.addCommand('redo',{exec:function(){if(t.redo()){s.selectionChange();this.fire('afterRedo');}},state:0,canUndo:false});t.onChange=function(){u.setState(t.undoable()?2:0);v.setState(t.redoable()?2:0);};function w(x){if(t.enabled&&x.data.command.canUndo!==false)t.save();};s.on('beforeCommandExec',w);s.on('afterCommandExec',w);s.on('saveSnapshot',function(x){t.save(x.data&&x.data.contentOnly);});s.on('contentDom',function(){s.document.on('keydown',function(x){if(!x.data.$.ctrlKey&&!x.data.$.metaKey)t.type(x);});});s.on('beforeModeUnload',function(){s.mode=='wysiwyg'&&t.save(true);});s.on('mode',function(){t.enabled=s.readOnly?false:s.mode=='wysiwyg';t.onChange();});s.ui.addButton('Undo',{label:s.lang.undo,command:'undo'});s.ui.addButton('Redo',{label:s.lang.redo,command:'redo'});s.resetUndo=function(){t.reset();s.fire('saveSnapshot');};s.on('updateSnapshot',function(){if(t.currentImage)t.update();});}});j.undo={};var m=j.undo.Image=function(s){this.editor=s;s.fire('beforeUndoImage');var t=s.getSnapshot(),u=t&&s.getSelection();c&&t&&(t=t.replace(/\s+data-cke-expando=".*?"/g,''));this.contents=t;this.bookmarks=u&&u.createBookmarks2(true);s.fire('afterUndoImage');},n=/\b(?:href|src|name)="[^"]*?"/gi;m.prototype={equals:function(s,t){var u=this.contents,v=s.contents;if(c&&(b.ie7Compat||b.ie6Compat)){u=u.replace(n,'');v=v.replace(n,'');}if(u!=v)return false;if(t)return true;var w=this.bookmarks,x=s.bookmarks;if(w||x){if(!w||!x||w.length!=x.length)return false;for(var y=0;y<w.length;y++){var z=w[y],A=x[y];if(z.startOffset!=A.startOffset||z.endOffset!=A.endOffset||!e.arrayCompare(z.start,A.start)||!e.arrayCompare(z.end,A.end))return false;}}return true;}};function o(s){this.editor=s;this.reset();};var p={8:1,46:1},q={16:1,17:1,18:1},r={37:1,38:1,39:1,40:1};o.prototype={type:function(s){var t=s&&s.data.getKey(),u=t in q,v=t in p,w=this.lastKeystroke in p,x=v&&t==this.lastKeystroke,y=t in r,z=this.lastKeystroke in r,A=!v&&!y,B=v&&!x,C=!(u||this.typing)||A&&(w||z);if(C||B){var D=new m(this.editor),E=this.snapshots.length;e.setTimeout(function(){var G=this;var F=G.editor.getSnapshot();if(c)F=F.replace(/\s+data-cke-expando=".*?"/g,'');if(D.contents!=F&&E==G.snapshots.length){G.typing=true;if(!G.save(false,D,false))G.snapshots.splice(G.index+1,G.snapshots.length-G.index-1);
-G.hasUndo=true;G.hasRedo=false;G.typesCount=1;G.modifiersCount=1;G.onChange();}},0,this);}this.lastKeystroke=t;if(v){this.typesCount=0;this.modifiersCount++;if(this.modifiersCount>25){this.save(false,null,false);this.modifiersCount=1;}}else if(!y){this.modifiersCount=0;this.typesCount++;if(this.typesCount>25){this.save(false,null,false);this.typesCount=1;}}},reset:function(){var s=this;s.lastKeystroke=0;s.snapshots=[];s.index=-1;s.limit=s.editor.config.undoStackSize||20;s.currentImage=null;s.hasUndo=false;s.hasRedo=false;s.resetType();},resetType:function(){var s=this;s.typing=false;delete s.lastKeystroke;s.typesCount=0;s.modifiersCount=0;},fireChange:function(){var s=this;s.hasUndo=!!s.getNextImage(true);s.hasRedo=!!s.getNextImage(false);s.resetType();s.onChange();},save:function(s,t,u){var w=this;var v=w.snapshots;if(!t)t=new m(w.editor);if(t.contents===false)return false;if(w.currentImage&&t.equals(w.currentImage,s))return false;v.splice(w.index+1,v.length-w.index-1);if(v.length==w.limit)v.shift();w.index=v.push(t)-1;w.currentImage=t;if(u!==false)w.fireChange();return true;},restoreImage:function(s){var w=this;var t=w.editor,u;if(s.bookmarks){t.focus();u=t.getSelection();}w.editor.loadSnapshot(s.contents);if(s.bookmarks)u.selectBookmarks(s.bookmarks);else if(c){var v=w.editor.document.getBody().$.createTextRange();v.collapse(true);v.select();}w.index=s.index;w.update();w.fireChange();},getNextImage:function(s){var x=this;var t=x.snapshots,u=x.currentImage,v,w;if(u)if(s)for(w=x.index-1;w>=0;w--){v=t[w];if(!u.equals(v,true)){v.index=w;return v;}}else for(w=x.index+1;w<t.length;w++){v=t[w];if(!u.equals(v,true)){v.index=w;return v;}}return null;},redoable:function(){return this.enabled&&this.hasRedo;},undoable:function(){return this.enabled&&this.hasUndo;},undo:function(){var t=this;if(t.undoable()){t.save(true);var s=t.getNextImage(true);if(s)return t.restoreImage(s),true;}return false;},redo:function(){var t=this;if(t.redoable()){t.save(true);if(t.redoable()){var s=t.getNextImage(false);if(s)return t.restoreImage(s),true;}}return false;},update:function(){var s=this;s.snapshots.splice(s.index,1,s.currentImage=new m(s.editor));}};})();(function(){var m=/(^|<body\b[^>]*>)\s*<(p|div|address|h\d|center|pre)[^>]*>\s*(?:<br[^>]*>|&nbsp;|\u00A0|&#160;)?\s*(:?<\/\2>)?\s*(?=$|<\/body>)/gi,n=d.walker.whitespaces(true),o=d.walker.bogus(true),p=function(E){return n(E)&&o(E);};function q(E){return E.isBlockBoundary()&&f.$empty[E.getName()];};function r(E){return function(F){if(this.mode=='wysiwyg'){this.focus();
-var G=this.getSelection(),H=G.isLocked;H&&G.unlock();this.fire('saveSnapshot');E.call(this,F.data);H&&this.getSelection().lock();var I=this;setTimeout(function(){try{I.fire('saveSnapshot');}catch(J){setTimeout(function(){I.fire('saveSnapshot');},200);}},0);}};};function s(E){var N=this;if(N.dataProcessor)E=N.dataProcessor.toHtml(E);if(!E)return;var F=N.getSelection(),G=F.getRanges()[0];if(G.checkReadOnly())return;if(b.opera){var H=new d.elementPath(G.startContainer);if(H.block){var I=a.htmlParser.fragment.fromHtml(E,false).children;for(var J=0,K=I.length;J<K;J++){if(I[J]._.isBlockLike){G.splitBlock(N.enterMode==3?'div':'p');G.insertNode(G.document.createText(''));G.select();break;}}}}if(c){var L=F.getNative();if(L.type=='Control')L.clear();else if(F.getType()==2){G=F.getRanges()[0];var M=G&&G.endContainer;if(M&&M.type==1&&M.getAttribute('contenteditable')=='false'&&G.checkBoundaryOfElement(M,2)){G.setEndAfter(G.endContainer);G.deleteContents();}}L.createRange().pasteHTML(E);}else N.document.$.execCommand('inserthtml',false,E);if(b.webkit){F=N.getSelection();F.scrollIntoView();}};function t(E){var F=this.getSelection(),G=F.getStartElement().hasAscendant('pre',true)?2:this.config.enterMode,H=G==2,I=e.htmlEncode(E.replace(/\r\n|\r/g,'\n'));I=I.replace(/^[ \t]+|[ \t]+$/g,function(O,P,Q){if(O.length==1)return '&nbsp;';else if(!P)return e.repeat('&nbsp;',O.length-1)+' ';else return ' '+e.repeat('&nbsp;',O.length-1);});I=I.replace(/[ \t]{2,}/g,function(O){return e.repeat('&nbsp;',O.length-1)+' ';});var J=G==1?'p':'div';if(!H)I=I.replace(/(\n{2})([\s\S]*?)(?:$|\1)/g,function(O,P,Q){return '<'+J+'>'+Q+'</'+J+'>';});I=I.replace(/\n/g,'<br>');if(!(H||c))I=I.replace(new RegExp('<br>(?=</'+J+'>)'),function(O){return e.repeat(O,2);});if(b.gecko||b.webkit){var K=new d.elementPath(F.getStartElement()),L=[];for(var M=0;M<K.elements.length;M++){var N=K.elements[M].getName();if(N in f.$inline)L.unshift(K.elements[M].getOuterHtml().match(/^<.*?>/));else if(N in f.$block)break;}I=L.join('')+I;}s.call(this,I);};function u(E){var F=this.getSelection(),G=F.getRanges(),H=E.getName(),I=f.$block[H],J=F.isLocked;if(J)F.unlock();var K,L,M,N;for(var O=G.length-1;O>=0;O--){K=G[O];if(!K.checkReadOnly()){K.deleteContents(1);L=!O&&E||E.clone(1);var P,Q;if(I)while((P=K.getCommonAncestor(0,1))&&(Q=f[P.getName()])&&!(Q&&Q[H])){if(P.getName() in f.span)K.splitElement(P);else if(K.checkStartOfBlock()&&K.checkEndOfBlock()){K.setStartBefore(P);K.collapse(true);P.remove();}else K.splitBlock();}K.insertNode(L);
-if(!M)M=L;}}if(M){K.moveToPosition(M,4);if(I){var R=M.getNext(p),S=R&&R.type==1&&R.getName();if(S&&f.$block[S]){if(f[S]['#'])K.moveToElementEditStart(R);else K.moveToElementEditEnd(M);}else if(!R){R=K.fixBlock(true,this.config.enterMode==3?'div':'p');K.moveToElementEditStart(R);}}}F.selectRanges([K]);if(J)this.getSelection().lock();};function v(E){if(!E.checkDirty())setTimeout(function(){E.resetDirty();},0);};var w=d.walker.whitespaces(true),x=d.walker.bookmark(false,true);function y(E){return w(E)&&x(E);};function z(E){return E.type==3&&e.trim(E.getText()).match(/^(?:&nbsp;|\xa0)$/);};function A(E){if(E.isLocked){E.unlock();setTimeout(function(){E.lock();},0);}};function B(E){return E.getOuterHtml().match(m);};w=d.walker.whitespaces(true);function C(E){var F=E.window,G=E.document,H=E.document.getBody(),I=H.getFirst(),J=H.getChildren().count();if(!J||J==1&&I.type==1&&I.hasAttribute('_moz_editor_bogus_node')){v(E);var K=E.element.getDocument(),L=K.getDocumentElement(),M=L.$.scrollTop,N=L.$.scrollLeft,O=G.$.createEvent('KeyEvents');O.initKeyEvent('keypress',true,true,F.$,false,false,false,false,0,32);G.$.dispatchEvent(O);if(M!=L.$.scrollTop||N!=L.$.scrollLeft)K.getWindow().$.scrollTo(N,M);J&&H.getFirst().remove();G.getBody().appendBogus();var P=new d.range(G);P.setStartAt(H,1);P.select();}};function D(E){var F=E.editor,G=E.data.path,H=G.blockLimit,I=E.data.selection,J=I.getRanges()[0],K=F.document.getBody(),L=F.config.enterMode;if(b.gecko){var M=G.block||G.blockLimit,N=M&&M.getLast(y);if(M&&M.isBlockBoundary()&&!(N&&N.type==1&&N.isBlockBoundary())&&!M.is('pre')&&!M.getBogus())M.appendBogus();}if(F.config.autoParagraph!==false&&L!=2&&J.collapsed&&H.getName()=='body'&&!G.block){var O=J.fixBlock(true,F.config.enterMode==3?'div':'p');if(c){var P=O.getFirst(y);P&&z(P)&&P.remove();}if(B(O)){var Q=O.getNext(w);if(Q&&Q.type==1&&!q(Q)){J.moveToElementEditStart(Q);O.remove();}else{Q=O.getPrevious(w);if(Q&&Q.type==1&&!q(Q)){J.moveToElementEditEnd(Q);O.remove();}}}J.select();E.cancel();}var R=new d.range(F.document);R.moveToElementEditEnd(F.document.getBody());var S=new d.elementPath(R.startContainer);if(!S.blockLimit.is('body')){var T;if(L!=2)T=K.append(F.document.createElement(L==1?'p':'div'));else T=K;if(!c)T.appendBogus();}};j.add('wysiwygarea',{requires:['editingblock'],init:function(E){var F=E.config.enterMode!=2&&E.config.autoParagraph!==false?E.config.enterMode==3?'div':'p':false,G=E.lang.editorTitle.replace('%1',E.name),H=E.lang.editorHelp;if(c)G+=', '+H;var I=a.document.getWindow(),J;
-E.on('editingBlockReady',function(){var M,N,O,P,Q,R,S,T=b.isCustomDomain(),U=function(X){if(N)N.remove();var Y='document.open();'+(T?'document.domain="'+document.domain+'";':'')+'document.close();';Y=b.air?'javascript:void(0)':c?'javascript:void(function(){'+encodeURIComponent(Y)+'}())':'';var Z=e.getNextId();N=h.createFromHtml('<iframe style="width:100%;height:100%" frameBorder="0" aria-describedby="'+Z+'"'+' title="'+G+'"'+' src="'+Y+'"'+' tabIndex="'+(b.webkit?-1:E.tabIndex)+'"'+' allowTransparency="true"'+'></iframe>');if(document.location.protocol=='chrome:')a.event.useCapture=true;N.on('load',function(aa){Q=1;aa.removeListener();var ab=N.getFrameDocument();ab.write(X);b.air&&W(ab.getWindow().$);});if(document.location.protocol=='chrome:')a.event.useCapture=false;M.append(h.createFromHtml('<span id="'+Z+'" class="cke_voice_label">'+H+'</span>'));M.append(N);if(b.webkit){S=function(){M.setStyle('width','100%');N.hide();N.setSize('width',M.getSize('width'));M.removeStyle('width');N.show();};I.on('resize',S);}};J=e.addFunction(W);var V='<script id="cke_actscrpt" type="text/javascript" data-cke-temp="1">'+(T?'document.domain="'+document.domain+'";':'')+'window.parent.CKEDITOR.tools.callFunction( '+J+', window );'+'</script>';function W(X){if(!Q)return;Q=0;E.fire('ariaWidget',N);var Y=X.document,Z=Y.body,aa=Y.getElementById('cke_actscrpt');aa&&aa.parentNode.removeChild(aa);Z.spellcheck=!E.config.disableNativeSpellChecker;var ab=!E.readOnly;if(c){Z.hideFocus=true;Z.disabled=true;Z.contentEditable=ab;Z.removeAttribute('disabled');}else setTimeout(function(){if(b.gecko&&b.version>=10900||b.opera)Y.$.body.contentEditable=ab;else if(b.webkit)Y.$.body.parentNode.contentEditable=ab;else Y.$.designMode=ab?'off':'on';},0);ab&&b.gecko&&e.setTimeout(C,0,null,E);X=E.window=new d.window(X);Y=E.document=new g(Y);ab&&Y.on('dblclick',function(ag){var ah=ag.data.getTarget(),ai={element:ah,dialog:''};E.fire('doubleclick',ai);ai.dialog&&E.openDialog(ai.dialog);});c&&Y.on('click',function(ag){var ah=ag.data.getTarget();if(ah.is('input')){var ai=ah.getAttribute('type');if(ai=='submit'||ai=='reset')ag.data.preventDefault();}});if(!(c||b.opera))Y.on('mousedown',function(ag){var ah=ag.data.getTarget();if(ah.is('img','hr','input','textarea','select'))E.getSelection().selectElement(ah);});if(b.gecko)Y.on('mouseup',function(ag){if(ag.data.$.button==2){var ah=ag.data.getTarget();if(!ah.getOuterHtml().replace(m,'')){var ai=new d.range(Y);ai.moveToElementEditStart(ah);ai.select(true);}}});
-Y.on('click',function(ag){ag=ag.data;if(ag.getTarget().is('a')&&ag.$.button!=2)ag.preventDefault();});if(b.webkit){Y.on('mousedown',function(){ad=1;});Y.on('click',function(ag){if(ag.data.getTarget().is('input','select'))ag.data.preventDefault();});Y.on('mouseup',function(ag){if(ag.data.getTarget().is('input','textarea'))ag.data.preventDefault();});}var ac=c?N:X;ac.on('blur',function(){E.focusManager.blur();});var ad;ac.on('focus',function(){var ag=E.document;if(b.gecko||b.opera)ag.getBody().focus();else if(b.webkit)if(!ad){E.document.getDocumentElement().focus();ad=1;}E.focusManager.focus();});var ae=E.keystrokeHandler;ae.blockedKeystrokes[8]=!ab;ae.attach(Y);Y.getDocumentElement().addClass(Y.$.compatMode);E.on('key',function(ag){if(E.mode!='wysiwyg')return;var ah=ag.data.keyCode;if(ah in {8:1,46:1}){var ai=E.getSelection(),aj=ai.getSelectedElement(),ak=ai.getRanges()[0],al=new d.elementPath(ak.startContainer),am,an,ao,ap=ah==8;if(aj){E.fire('saveSnapshot');ak.moveToPosition(aj,3);aj.remove();ak.select();E.fire('saveSnapshot');ag.cancel();}else if(ak.collapsed)if((am=al.block)&&ak[ap?'checkStartOfBlock':'checkEndOfBlock']()&&(ao=am[ap?'getPrevious':'getNext'](n))&&ao.is('table')){E.fire('saveSnapshot');if(ak[ap?'checkEndOfBlock':'checkStartOfBlock']())am.remove();ak['moveToElementEdit'+(ap?'End':'Start')](ao);ak.select();E.fire('saveSnapshot');ag.cancel();}else if(al.blockLimit.is('td')&&(an=al.blockLimit.getAscendant('table'))&&ak.checkBoundaryOfElement(an,ap?1:2)&&(ao=an[ap?'getPrevious':'getNext'](n))){E.fire('saveSnapshot');ak['moveToElementEdit'+(ap?'End':'Start')](ao);if(ak.checkStartOfBlock()&&ak.checkEndOfBlock())ao.remove();else ak.select();E.fire('saveSnapshot');ag.cancel();}}if(ah==33||ah==34)if(b.gecko){var aq=Y.getBody();if(X.$.innerHeight>aq.$.offsetHeight){ak=new d.range(Y);ak[ah==33?'moveToElementEditStart':'moveToElementEditEnd'](aq);ak.select();ag.cancel();}}});if(c&&Y.$.compatMode=='CSS1Compat'){var af={33:1,34:1};Y.on('keydown',function(ag){if(ag.data.getKeystroke() in af)setTimeout(function(){E.getSelection().scrollIntoView();},0);});}if(c&&E.config.enterMode!=1)Y.on('selectionchange',function(){var ag=Y.getBody(),ah=E.getSelection(),ai=ah&&ah.getRanges()[0];if(ai&&ag.getHtml().match(/^<p>&nbsp;<\/p>$/i)&&ai.startContainer.equals(ag))setTimeout(function(){ai=E.getSelection().getRanges()[0];if(!ai.startContainer.equals('body')){ag.getFirst().remove(1);ai.moveToElementEditEnd(ag);ai.select(1);}},0);});if(E.contextMenu)E.contextMenu.addTarget(Y,E.config.browserContextMenuOnCtrl!==false);
-setTimeout(function(){E.fire('contentDom');if(R){E.mode='wysiwyg';E.fire('mode',{previousMode:E._.previousMode});R=false;}O=false;if(P){E.focus();P=false;}setTimeout(function(){E.fire('dataReady');},0);try{E.document.$.execCommand('2D-position',false,true);}catch(ag){}try{E.document.$.execCommand('enableInlineTableEditing',false,!E.config.disableNativeTableHandles);}catch(ah){}if(E.config.disableObjectResizing)try{E.document.$.execCommand('enableObjectResizing',false,false);}catch(ai){E.document.getBody().on(c?'resizestart':'resize',function(aj){aj.data.preventDefault();});}if(c)setTimeout(function(){if(E.document){var aj=E.document.$.body;aj.runtimeStyle.marginBottom='0px';aj.runtimeStyle.marginBottom='';}},1000);},0);};E.addMode('wysiwyg',{load:function(X,Y,Z){M=X;if(c&&b.quirks)X.setStyle('position','relative');E.mayBeDirty=true;R=true;if(Z)this.loadSnapshotData(Y);else this.loadData(Y);},loadData:function(X){O=true;E._.dataStore={id:1};var Y=E.config,Z=Y.fullPage,aa=Y.docType,ab='<style type="text/css" data-cke-temp="1">'+E._.styles.join('\n')+'</style>';!Z&&(ab=e.buildStyleHtml(E.config.contentsCss)+ab);var ac=Y.baseHref?'<base href="'+Y.baseHref+'" data-cke-temp="1" />':'';if(Z)X=X.replace(/<!DOCTYPE[^>]*>/i,function(ad){E.docType=aa=ad;return '';}).replace(/<\?xml\s[^\?]*\?>/i,function(ad){E.xmlDeclaration=ad;return '';});if(E.dataProcessor)X=E.dataProcessor.toHtml(X,F);if(Z){if(!/<body[\s|>]/.test(X))X='<body>'+X;if(!/<html[\s|>]/.test(X))X='<html>'+X+'</html>';if(!/<head[\s|>]/.test(X))X=X.replace(/<html[^>]*>/,'$&<head><title></title></head>');else if(!/<title[\s|>]/.test(X))X=X.replace(/<head[^>]*>/,'$&<title></title>');ac&&(X=X.replace(/<head>/,'$&'+ac));X=X.replace(/<\/head\s*>/,ab+'$&');X=aa+X;}else X=Y.docType+'<html dir="'+Y.contentsLangDirection+'"'+' lang="'+(Y.contentsLanguage||E.langCode)+'">'+'<head>'+'<title>'+G+'</title>'+ac+ab+'</head>'+'<body'+(Y.bodyId?' id="'+Y.bodyId+'"':'')+(Y.bodyClass?' class="'+Y.bodyClass+'"':'')+'>'+X+'</html>';if(b.gecko)X=X.replace(/<br \/>(?=\s*<\/(:?html|body)>)/,'$&<br type="_moz" />');X+=V;this.onDispose();U(X);},getData:function(){var X=E.config,Y=X.fullPage,Z=Y&&E.docType,aa=Y&&E.xmlDeclaration,ab=N.getFrameDocument(),ac=Y?ab.getDocumentElement().getOuterHtml():ab.getBody().getHtml();if(b.gecko)ac=ac.replace(/<br>(?=\s*(:?$|<\/body>))/,'');if(E.dataProcessor)ac=E.dataProcessor.toDataFormat(ac,F);if(X.ignoreEmptyParagraph)ac=ac.replace(m,function(ad,ae){return ae;});if(aa)ac=aa+'\n'+ac;if(Z)ac=Z+'\n'+ac;
-return ac;},getSnapshotData:function(){return N.getFrameDocument().getBody().getHtml();},loadSnapshotData:function(X){N.getFrameDocument().getBody().setHtml(X);},onDispose:function(){if(!E.document)return;E.document.getDocumentElement().clearCustomData();E.document.getBody().clearCustomData();E.window.clearCustomData();E.document.clearCustomData();N.clearCustomData();N.remove();},unload:function(X){this.onDispose();if(S)I.removeListener('resize',S);E.window=E.document=N=M=P=null;E.fire('contentDomUnload');},focus:function(){var X=E.window;if(O)P=true;else if(X){var Y=E.getSelection(),Z=Y&&Y.getNative();if(Z&&Z.type=='Control')return;b.air?setTimeout(function(){X.focus();},0):X.focus();E.selectionChange();}}});E.on('insertHtml',r(s),null,null,20);E.on('insertElement',r(u),null,null,20);E.on('insertText',r(t),null,null,20);E.on('selectionChange',function(X){if(E.readOnly)return;var Y=E.getSelection();if(Y&&!Y.isLocked){var Z=E.checkDirty();E.fire('saveSnapshot',{contentOnly:1});D.call(this,X);E.fire('updateSnapshot');!Z&&E.resetDirty();}},null,null,1);});E.on('contentDom',function(){var M=E.document.getElementsByTag('title').getItem(0);M.data('cke-title',E.document.$.title);c&&(E.document.$.title=G);});E.on('readOnly',function(){if(E.mode=='wysiwyg'){var M=E.getMode();M.loadData(M.getData());}});if(a.document.$.documentMode>=8){E.addCss('html.CSS1Compat [contenteditable=false]{ min-height:0 !important;}');var K=[];for(var L in f.$removeEmpty)K.push('html.CSS1Compat '+L+'[contenteditable=false]');E.addCss(K.join(',')+'{ display:inline-block;}');}else if(b.gecko){E.addCss('html { height: 100% !important; }');E.addCss('img:-moz-broken { -moz-force-broken-image-icon : 1;\tmin-width : 24px; min-height : 24px; }');}E.addCss('html {\t_overflow-y: scroll; cursor: text;\t*cursor:auto;}');E.addCss('img, input, textarea { cursor: default;}');E.on('insertElement',function(M){var N=M.data;if(N.type==1&&(N.is('input')||N.is('textarea'))){var O=N.getAttribute('contenteditable')=='false';if(!O){N.data('cke-editable',N.hasAttribute('contenteditable')?'true':'1');N.setAttribute('contenteditable',false);}}});}});if(b.gecko)(function(){var E=document.body;if(!E)window.addEventListener('load',arguments.callee,false);else{var F=E.getAttribute('onpageshow');E.setAttribute('onpageshow',(F?F+';':'')+'event.persisted && (function(){'+'var allInstances = CKEDITOR.instances, editor, doc;'+'for ( var i in allInstances )'+'{'+'\teditor = allInstances[ i ];'+'\tdoc = editor.document;'+'\tif ( doc )'+'\t{'+'\t\tdoc.$.designMode = "off";'+'\t\tdoc.$.designMode = "on";'+'\t}'+'}'+'})();');
-}})();})();i.disableObjectResizing=false;i.disableNativeTableHandles=true;i.disableNativeSpellChecker=true;i.ignoreEmptyParagraph=true;j.add('wsc',{requires:['dialog'],init:function(m){var n='checkspell',o=m.addCommand(n,new a.dialogCommand(n));o.modes={wysiwyg:!b.opera&&!b.air&&document.domain==window.location.hostname};m.ui.addButton('SpellChecker',{label:m.lang.spellCheck.toolbar,command:n});a.dialog.add(n,this.path+'dialogs/wsc.js');}});i.wsc_customerId=i.wsc_customerId||'1:ua3xw1-2XyGJ3-GWruD3-6OFNT1-oXcuB1-nR6Bp4-hgQHc-EcYng3-sdRXG3-NOfFk';i.wsc_customLoaderScript=i.wsc_customLoaderScript||null;a.DIALOG_RESIZE_NONE=0;a.DIALOG_RESIZE_WIDTH=1;a.DIALOG_RESIZE_HEIGHT=2;a.DIALOG_RESIZE_BOTH=3;(function(){var m=e.cssLength;function n(R){return!!this._.tabs[R][0].$.offsetHeight;};function o(){var V=this;var R=V._.currentTabId,S=V._.tabIdList.length,T=e.indexOf(V._.tabIdList,R)+S;for(var U=T-1;U>T-S;U--){if(n.call(V,V._.tabIdList[U%S]))return V._.tabIdList[U%S];}return null;};function p(){var V=this;var R=V._.currentTabId,S=V._.tabIdList.length,T=e.indexOf(V._.tabIdList,R);for(var U=T+1;U<T+S;U++){if(n.call(V,V._.tabIdList[U%S]))return V._.tabIdList[U%S];}return null;};function q(R,S){var T=R.$.getElementsByTagName('input');for(var U=0,V=T.length;U<V;U++){var W=new h(T[U]);if(W.getAttribute('type').toLowerCase()=='text')if(S){W.setAttribute('value',W.getCustomData('fake_value')||'');W.removeCustomData('fake_value');}else{W.setCustomData('fake_value',W.getAttribute('value'));W.setAttribute('value','');}}};function r(R,S){var U=this;var T=U.getInputElement();if(T)R?T.removeAttribute('aria-invalid'):T.setAttribute('aria-invalid',true);if(!R)if(U.select)U.select();else U.focus();S&&alert(S);U.fire('validated',{valid:R,msg:S});};function s(){var R=this.getInputElement();R&&R.removeAttribute('aria-invalid');};a.dialog=function(R,S){var T=a.dialog._.dialogDefinitions[S],U=e.clone(v),V=R.config.dialog_buttonsOrder||'OS',W=R.lang.dir,X={},Y,Z,aa;if(V=='OS'&&b.mac||V=='rtl'&&W=='ltr'||V=='ltr'&&W=='rtl')U.buttons.reverse();T=e.extend(T(R),U);T=e.clone(T);T=new z(this,T);var ab=a.document,ac=R.theme.buildDialog(R);this._={editor:R,element:ac.element,name:S,contentSize:{width:0,height:0},size:{width:0,height:0},contents:{},buttons:{},accessKeyMap:{},tabs:{},tabIdList:[],currentTabId:null,currentTabIndex:null,pageCount:0,lastTab:null,tabBarMode:false,focusList:[],currentFocusIndex:0,hasFocus:false};this.parts=ac.parts;e.setTimeout(function(){R.fire('ariaWidget',this.parts.contents);
-},0,this);var ad={position:b.ie6Compat?'absolute':'fixed',top:0,visibility:'hidden'};ad[W=='rtl'?'right':'left']=0;this.parts.dialog.setStyles(ad);a.event.call(this);this.definition=T=a.fire('dialogDefinition',{name:S,definition:T},R).definition;if(!('removeDialogTabs' in R._)&&R.config.removeDialogTabs){var ae=R.config.removeDialogTabs.split(';');for(Y=0;Y<ae.length;Y++){var af=ae[Y].split(':');if(af.length==2){var ag=af[0];if(!X[ag])X[ag]=[];X[ag].push(af[1]);}}R._.removeDialogTabs=X;}if(R._.removeDialogTabs&&(X=R._.removeDialogTabs[S]))for(Y=0;Y<X.length;Y++)T.removeContents(X[Y]);if(T.onLoad)this.on('load',T.onLoad);if(T.onShow)this.on('show',T.onShow);if(T.onHide)this.on('hide',T.onHide);if(T.onOk)this.on('ok',function(ar){R.fire('saveSnapshot');setTimeout(function(){R.fire('saveSnapshot');},0);if(T.onOk.call(this,ar)===false)ar.data.hide=false;});if(T.onCancel)this.on('cancel',function(ar){if(T.onCancel.call(this,ar)===false)ar.data.hide=false;});var ah=this,ai=function(ar){var as=ah._.contents,at=false;for(var au in as)for(var av in as[au]){at=ar.call(this,as[au][av]);if(at)return;}};this.on('ok',function(ar){ai(function(as){if(as.validate){var at=as.validate(this),au=typeof at=='string'||at===false;if(au){ar.data.hide=false;ar.stop();}r.call(as,!au,typeof at=='string'?at:undefined);return au;}});},this,null,0);this.on('cancel',function(ar){ai(function(as){if(as.isChanged()){if(!confirm(R.lang.common.confirmCancel))ar.data.hide=false;return true;}});},this,null,0);this.parts.close.on('click',function(ar){if(this.fire('cancel',{hide:true}).hide!==false)this.hide();ar.data.preventDefault();},this);function aj(){var ar=ah._.focusList;ar.sort(function(au,av){if(au.tabIndex!=av.tabIndex)return av.tabIndex-au.tabIndex;else return au.focusIndex-av.focusIndex;});var as=ar.length;for(var at=0;at<as;at++)ar[at].focusIndex=at;};function ak(ar){var as=ah._.focusList;ar=ar||0;if(as.length<1)return;var at=ah._.currentFocusIndex;try{as[at].getInputElement().$.blur();}catch(aw){}var au=(at+ar+as.length)%as.length,av=au;while(ar&&!as[av].isFocusable()){av=(av+ar+as.length)%as.length;if(av==au)break;}as[av].focus();if(as[av].type=='text')as[av].select();};this.changeFocus=ak;function al(ar){var ay=this;if(ah!=a.dialog._.currentTop)return;var as=ar.data.getKeystroke(),at=R.lang.dir=='rtl',au;Z=aa=0;if(as==9||as==2228224+9){var av=as==2228224+9;if(ah._.tabBarMode){var aw=av?o.call(ah):p.call(ah);ah.selectPage(aw);ah._.tabs[aw][0].focus();}else ak(av?-1:1);Z=1;}else if(as==4456448+121&&!ah._.tabBarMode&&ah.getPageCount()>1){ah._.tabBarMode=true;
-ah._.tabs[ah._.currentTabId][0].focus();Z=1;}else if((as==37||as==39)&&ah._.tabBarMode){aw=as==(at?39:37)?o.call(ah):p.call(ah);ah.selectPage(aw);ah._.tabs[aw][0].focus();Z=1;}else if((as==13||as==32)&&ah._.tabBarMode){ay.selectPage(ay._.currentTabId);ay._.tabBarMode=false;ay._.currentFocusIndex=-1;ak(1);Z=1;}else if(as==13){var ax=ar.data.getTarget();if(!ax.is('a','button','select','textarea')&&(!ax.is('input')||ax.$.type!='button')){au=ay.getButton('ok');au&&e.setTimeout(au.click,0,au);Z=1;}aa=1;}else if(as==27){au=ay.getButton('cancel');if(au)e.setTimeout(au.click,0,au);else if(ay.fire('cancel',{hide:true}).hide!==false)ay.hide();aa=1;}else return;am(ar);};function am(ar){if(Z)ar.data.preventDefault(1);else if(aa)ar.data.stopPropagation();};var an=this._.element;this.on('show',function(){an.on('keydown',al,this);if(b.opera||b.gecko)an.on('keypress',am,this);});this.on('hide',function(){an.removeListener('keydown',al);if(b.opera||b.gecko)an.removeListener('keypress',am);ai(function(ar){s.apply(ar);});});this.on('iframeAdded',function(ar){var as=new g(ar.data.iframe.$.contentWindow.document);as.on('keydown',al,this,null,0);});this.on('show',function(){var av=this;aj();if(R.config.dialog_startupFocusTab&&ah._.pageCount>1){ah._.tabBarMode=true;ah._.tabs[ah._.currentTabId][0].focus();}else if(!av._.hasFocus){av._.currentFocusIndex=-1;if(T.onFocus){var ar=T.onFocus.call(av);ar&&ar.focus();}else ak(1);if(av._.editor.mode=='wysiwyg'&&c){var as=R.document.$.selection,at=as.createRange();if(at)if(at.parentElement&&at.parentElement().ownerDocument==R.document.$||at.item&&at.item(0).ownerDocument==R.document.$){var au=document.body.createTextRange();au.moveToElementText(av.getElement().getFirst().$);au.collapse(true);au.select();}}}},this,null,4294967295);if(b.ie6Compat)this.on('load',function(ar){var as=this.getElement(),at=as.getFirst();at.remove();at.appendTo(as);},this);B(this);C(this);new d.text(T.title,a.document).appendTo(this.parts.title);for(Y=0;Y<T.contents.length;Y++){var ao=T.contents[Y];ao&&this.addPage(ao);}this.parts.tabs.on('click',function(ar){var au=this;var as=ar.data.getTarget();if(as.hasClass('cke_dialog_tab')){var at=as.$.id;au.selectPage(at.substring(4,at.lastIndexOf('_')));if(au._.tabBarMode){au._.tabBarMode=false;au._.currentFocusIndex=-1;ak(1);}ar.data.preventDefault();}},this);var ap=[],aq=a.dialog._.uiElementBuilders.hbox.build(this,{type:'hbox',className:'cke_dialog_footer_buttons',widths:[],children:T.buttons},ap).getChild();this.parts.footer.setHtml(ap.join(''));
-for(Y=0;Y<aq.length;Y++)this._.buttons[aq[Y].id]=aq[Y];};function t(R,S,T){this.element=S;this.focusIndex=T;this.tabIndex=0;this.isFocusable=function(){return!S.getAttribute('disabled')&&S.isVisible();};this.focus=function(){R._.currentFocusIndex=this.focusIndex;this.element.focus();};S.on('keydown',function(U){if(U.data.getKeystroke() in {32:1,13:1})this.fire('click');});S.on('focus',function(){this.fire('mouseover');});S.on('blur',function(){this.fire('mouseout');});};function u(R){var S=a.document.getWindow();function T(){R.layout();};S.on('resize',T);R.on('hide',function(){S.removeListener('resize',T);});};a.dialog.prototype={destroy:function(){this.hide();this._.element.remove();},resize:(function(){return function(R,S){var T=this;if(T._.contentSize&&T._.contentSize.width==R&&T._.contentSize.height==S)return;a.dialog.fire('resize',{dialog:T,skin:T._.editor.skinName,width:R,height:S},T._.editor);T.fire('resize',{skin:T._.editor.skinName,width:R,height:S},T._.editor);if(T._.editor.lang.dir=='rtl'&&T._.position)T._.position.x=a.document.getWindow().getViewPaneSize().width-T._.contentSize.width-parseInt(T._.element.getFirst().getStyle('right'),10);T._.contentSize={width:R,height:S};};})(),getSize:function(){var R=this._.element.getFirst();return{width:R.$.offsetWidth||0,height:R.$.offsetHeight||0};},move:function(R,S,T){var ab=this;var U=ab._.element.getFirst(),V=ab._.editor.lang.dir=='rtl',W=U.getComputedStyle('position')=='fixed';U.setStyle('zoom','100%');if(W&&ab._.position&&ab._.position.x==R&&ab._.position.y==S)return;ab._.position={x:R,y:S};if(!W){var X=a.document.getWindow().getScrollPosition();R+=X.x;S+=X.y;}if(V){var Y=ab.getSize(),Z=a.document.getWindow().getViewPaneSize();R=Z.width-Y.width-R;}var aa={top:(S>0?S:0)+'px'};aa[V?'right':'left']=(R>0?R:0)+'px';U.setStyles(aa);T&&(ab._.moved=1);},getPosition:function(){return e.extend({},this._.position);},show:function(){var R=this._.element,S=this.definition;if(!(R.getParent()&&R.getParent().equals(a.document.getBody())))R.appendTo(a.document.getBody());else R.setStyle('display','block');if(b.gecko&&b.version<10900){var T=this.parts.dialog;T.setStyle('position','absolute');setTimeout(function(){T.setStyle('position','fixed');},0);}this.resize(this._.contentSize&&this._.contentSize.width||S.width||S.minWidth,this._.contentSize&&this._.contentSize.height||S.height||S.minHeight);this.reset();this.selectPage(this.definition.contents[0].id);if(a.dialog._.currentZIndex===null)a.dialog._.currentZIndex=this._.editor.config.baseFloatZIndex;
-this._.element.getFirst().setStyle('z-index',a.dialog._.currentZIndex+=10);if(a.dialog._.currentTop===null){a.dialog._.currentTop=this;this._.parentDialog=null;H(this._.editor);}else{this._.parentDialog=a.dialog._.currentTop;var U=this._.parentDialog.getElement().getFirst();U.$.style.zIndex-=Math.floor(this._.editor.config.baseFloatZIndex/2);a.dialog._.currentTop=this;}R.on('keydown',L);R.on(b.opera?'keypress':'keyup',M);this._.hasFocus=false;e.setTimeout(function(){this.layout();u(this);this.parts.dialog.setStyle('visibility','');this.fireOnce('load',{});k.fire('ready',this);this.fire('show',{});this._.editor.fire('dialogShow',this);this.foreach(function(V){V.setInitValue&&V.setInitValue();});},100,this);},layout:function(){var X=this;var R=X.parts.dialog,S=X.getSize(),T=a.document.getWindow(),U=T.getViewPaneSize(),V=(U.width-S.width)/2,W=(U.height-S.height)/2;if(!b.ie6Compat)if(S.height+(W>0?W:0)>U.height||S.width+(V>0?V:0)>U.width)R.setStyle('position','absolute');else R.setStyle('position','fixed');X.move(X._.moved?X._.position.x:V,X._.moved?X._.position.y:W);},foreach:function(R){var U=this;for(var S in U._.contents)for(var T in U._.contents[S])R.call(U,U._.contents[S][T]);return U;},reset:(function(){var R=function(S){if(S.reset)S.reset(1);};return function(){this.foreach(R);return this;};})(),setupContent:function(){var R=arguments;this.foreach(function(S){if(S.setup)S.setup.apply(S,R);});},commitContent:function(){var R=arguments;this.foreach(function(S){if(c&&this._.currentFocusIndex==S.focusIndex)S.getInputElement().$.blur();if(S.commit)S.commit.apply(S,R);});},hide:function(){if(!this.parts.dialog.isVisible())return;this.fire('hide',{});this._.editor.fire('dialogHide',this);this.selectPage(this._.tabIdList[0]);var R=this._.element;R.setStyle('display','none');this.parts.dialog.setStyle('visibility','hidden');O(this);while(a.dialog._.currentTop!=this)a.dialog._.currentTop.hide();if(!this._.parentDialog)I();else{var S=this._.parentDialog.getElement().getFirst();S.setStyle('z-index',parseInt(S.$.style.zIndex,10)+Math.floor(this._.editor.config.baseFloatZIndex/2));}a.dialog._.currentTop=this._.parentDialog;if(!this._.parentDialog){a.dialog._.currentZIndex=null;R.removeListener('keydown',L);R.removeListener(b.opera?'keypress':'keyup',M);var T=this._.editor;T.focus();if(T.mode=='wysiwyg'&&c){var U=T.getSelection();U&&U.unlock(true);}}else a.dialog._.currentZIndex-=10;delete this._.parentDialog;this.foreach(function(V){V.resetInitValue&&V.resetInitValue();
-});},addPage:function(R){var ad=this;var S=[],T=R.label?' title="'+e.htmlEncode(R.label)+'"':'',U=R.elements,V=a.dialog._.uiElementBuilders.vbox.build(ad,{type:'vbox',className:'cke_dialog_page_contents',children:R.elements,expand:!!R.expand,padding:R.padding,style:R.style||'width: 100%;height:100%'},S),W=h.createFromHtml(S.join(''));W.setAttribute('role','tabpanel');var X=b,Y='cke_'+R.id+'_'+e.getNextNumber(),Z=h.createFromHtml(['<a class="cke_dialog_tab"',ad._.pageCount>0?' cke_last':'cke_first',T,!!R.hidden?' style="display:none"':'',' id="',Y,'"',X.gecko&&X.version>=10900&&!X.hc?'':' href="javascript:void(0)"',' tabIndex="-1"',' hidefocus="true"',' role="tab">',R.label,'</a>'].join(''));W.setAttribute('aria-labelledby',Y);ad._.tabs[R.id]=[Z,W];ad._.tabIdList.push(R.id);!R.hidden&&ad._.pageCount++;ad._.lastTab=Z;ad.updateStyle();var aa=ad._.contents[R.id]={},ab,ac=V.getChild();while(ab=ac.shift()){aa[ab.id]=ab;if(typeof ab.getChild=='function')ac.push.apply(ac,ab.getChild());}W.setAttribute('name',R.id);W.appendTo(ad.parts.contents);Z.unselectable();ad.parts.tabs.append(Z);if(R.accessKey){N(ad,ad,'CTRL+'+R.accessKey,Q,P);ad._.accessKeyMap['CTRL+'+R.accessKey]=R.id;}},selectPage:function(R){if(this._.currentTabId==R)return;if(this.fire('selectPage',{page:R,currentPage:this._.currentTabId})===true)return;for(var S in this._.tabs){var T=this._.tabs[S][0],U=this._.tabs[S][1];if(S!=R){T.removeClass('cke_dialog_tab_selected');U.hide();}U.setAttribute('aria-hidden',S!=R);}var V=this._.tabs[R];V[0].addClass('cke_dialog_tab_selected');if(b.ie6Compat||b.ie7Compat){q(V[1]);V[1].show();setTimeout(function(){q(V[1],1);},0);}else V[1].show();this._.currentTabId=R;this._.currentTabIndex=e.indexOf(this._.tabIdList,R);},updateStyle:function(){this.parts.dialog[(this._.pageCount===1?'add':'remove')+'Class']('cke_single_page');},hidePage:function(R){var T=this;var S=T._.tabs[R]&&T._.tabs[R][0];if(!S||T._.pageCount==1||!S.isVisible())return;else if(R==T._.currentTabId)T.selectPage(o.call(T));S.hide();T._.pageCount--;T.updateStyle();},showPage:function(R){var T=this;var S=T._.tabs[R]&&T._.tabs[R][0];if(!S)return;S.show();T._.pageCount++;T.updateStyle();},getElement:function(){return this._.element;},getName:function(){return this._.name;},getContentElement:function(R,S){var T=this._.contents[R];return T&&T[S];},getValueOf:function(R,S){return this.getContentElement(R,S).getValue();},setValueOf:function(R,S,T){return this.getContentElement(R,S).setValue(T);},getButton:function(R){return this._.buttons[R];
-},click:function(R){return this._.buttons[R].click();},disableButton:function(R){return this._.buttons[R].disable();},enableButton:function(R){return this._.buttons[R].enable();},getPageCount:function(){return this._.pageCount;},getParentEditor:function(){return this._.editor;},getSelectedElement:function(){return this.getParentEditor().getSelection().getSelectedElement();},addFocusable:function(R,S){var U=this;if(typeof S=='undefined'){S=U._.focusList.length;U._.focusList.push(new t(U,R,S));}else{U._.focusList.splice(S,0,new t(U,R,S));for(var T=S+1;T<U._.focusList.length;T++)U._.focusList[T].focusIndex++;}}};e.extend(a.dialog,{add:function(R,S){if(!this._.dialogDefinitions[R]||typeof S=='function')this._.dialogDefinitions[R]=S;},exists:function(R){return!!this._.dialogDefinitions[R];},getCurrent:function(){return a.dialog._.currentTop;},okButton:(function(){var R=function(S,T){T=T||{};return e.extend({id:'ok',type:'button',label:S.lang.common.ok,'class':'cke_dialog_ui_button_ok',onClick:function(U){var V=U.data.dialog;if(V.fire('ok',{hide:true}).hide!==false)V.hide();}},T,true);};R.type='button';R.override=function(S){return e.extend(function(T){return R(T,S);},{type:'button'},true);};return R;})(),cancelButton:(function(){var R=function(S,T){T=T||{};return e.extend({id:'cancel',type:'button',label:S.lang.common.cancel,'class':'cke_dialog_ui_button_cancel',onClick:function(U){var V=U.data.dialog;if(V.fire('cancel',{hide:true}).hide!==false)V.hide();}},T,true);};R.type='button';R.override=function(S){return e.extend(function(T){return R(T,S);},{type:'button'},true);};return R;})(),addUIElement:function(R,S){this._.uiElementBuilders[R]=S;}});a.dialog._={uiElementBuilders:{},dialogDefinitions:{},currentTop:null,currentZIndex:null};a.event.implementOn(a.dialog);a.event.implementOn(a.dialog.prototype,true);var v={resizable:3,minWidth:600,minHeight:400,buttons:[a.dialog.okButton,a.dialog.cancelButton]},w=function(R,S,T){for(var U=0,V;V=R[U];U++){if(V.id==S)return V;if(T&&V[T]){var W=w(V[T],S,T);if(W)return W;}}return null;},x=function(R,S,T,U,V){if(T){for(var W=0,X;X=R[W];W++){if(X.id==T){R.splice(W,0,S);return S;}if(U&&X[U]){var Y=x(X[U],S,T,U,true);if(Y)return Y;}}if(V)return null;}R.push(S);return S;},y=function(R,S,T){for(var U=0,V;V=R[U];U++){if(V.id==S)return R.splice(U,1);if(T&&V[T]){var W=y(V[T],S,T);if(W)return W;}}return null;},z=function(R,S){this.dialog=R;var T=S.contents;for(var U=0,V;V=T[U];U++)T[U]=V&&new A(R,V);e.extend(this,S);};z.prototype={getContents:function(R){return w(this.contents,R);
-},getButton:function(R){return w(this.buttons,R);},addContents:function(R,S){return x(this.contents,R,S);},addButton:function(R,S){return x(this.buttons,R,S);},removeContents:function(R){y(this.contents,R);},removeButton:function(R){y(this.buttons,R);}};function A(R,S){this._={dialog:R};e.extend(this,S);};A.prototype={get:function(R){return w(this.elements,R,'children');},add:function(R,S){return x(this.elements,R,S,'children');},remove:function(R){y(this.elements,R,'children');}};function B(R){var S=null,T=null,U=R.getElement().getFirst(),V=R.getParentEditor(),W=V.config.dialog_magnetDistance,X=V.skin.margins||[0,0,0,0];if(typeof W=='undefined')W=20;function Y(aa){var ab=R.getSize(),ac=a.document.getWindow().getViewPaneSize(),ad=aa.data.$.screenX,ae=aa.data.$.screenY,af=ad-S.x,ag=ae-S.y,ah,ai;S={x:ad,y:ae};T.x+=af;T.y+=ag;if(T.x+X[3]<W)ah=-X[3];else if(T.x-X[1]>ac.width-ab.width-W)ah=ac.width-ab.width+(V.lang.dir=='rtl'?0:X[1]);else ah=T.x;if(T.y+X[0]<W)ai=-X[0];else if(T.y-X[2]>ac.height-ab.height-W)ai=ac.height-ab.height+X[2];else ai=T.y;R.move(ah,ai,1);aa.data.preventDefault();};function Z(aa){a.document.removeListener('mousemove',Y);a.document.removeListener('mouseup',Z);if(b.ie6Compat){var ab=F.getChild(0).getFrameDocument();ab.removeListener('mousemove',Y);ab.removeListener('mouseup',Z);}};R.parts.title.on('mousedown',function(aa){S={x:aa.data.$.screenX,y:aa.data.$.screenY};a.document.on('mousemove',Y);a.document.on('mouseup',Z);T=R.getPosition();if(b.ie6Compat){var ab=F.getChild(0).getFrameDocument();ab.on('mousemove',Y);ab.on('mouseup',Z);}aa.data.preventDefault();},R);};function C(R){var S=R.definition,T=S.resizable;if(T==0)return;var U=R.getParentEditor(),V,W,X,Y,Z,aa,ab=e.addFunction(function(ae){Z=R.getSize();var af=R.parts.contents,ag=af.$.getElementsByTagName('iframe').length;if(ag){aa=h.createFromHtml('<div class="cke_dialog_resize_cover" style="height: 100%; position: absolute; width: 100%;"></div>');af.append(aa);}W=Z.height-R.parts.contents.getSize('height',!(b.gecko||b.opera||c&&b.quirks));V=Z.width-R.parts.contents.getSize('width',1);Y={x:ae.screenX,y:ae.screenY};X=a.document.getWindow().getViewPaneSize();a.document.on('mousemove',ac);a.document.on('mouseup',ad);if(b.ie6Compat){var ah=F.getChild(0).getFrameDocument();ah.on('mousemove',ac);ah.on('mouseup',ad);}ae.preventDefault&&ae.preventDefault();});R.on('load',function(){var ae='';if(T==1)ae=' cke_resizer_horizontal';else if(T==2)ae=' cke_resizer_vertical';var af=h.createFromHtml('<div class="cke_resizer'+ae+' cke_resizer_'+U.lang.dir+'"'+' title="'+e.htmlEncode(U.lang.resize)+'"'+' onmousedown="CKEDITOR.tools.callFunction('+ab+', event )"></div>');
-R.parts.footer.append(af,1);});U.on('destroy',function(){e.removeFunction(ab);});function ac(ae){var af=U.lang.dir=='rtl',ag=(ae.data.$.screenX-Y.x)*(af?-1:1),ah=ae.data.$.screenY-Y.y,ai=Z.width,aj=Z.height,ak=ai+ag*(R._.moved?1:2),al=aj+ah*(R._.moved?1:2),am=R._.element.getFirst(),an=af&&am.getComputedStyle('right'),ao=R.getPosition();if(ao.y+al>X.height)al=X.height-ao.y;if((af?an:ao.x)+ak>X.width)ak=X.width-(af?an:ao.x);if(T==1||T==3)ai=Math.max(S.minWidth||0,ak-V);if(T==2||T==3)aj=Math.max(S.minHeight||0,al-W);R.resize(ai,aj);if(!R._.moved)R.layout();ae.data.preventDefault();};function ad(){a.document.removeListener('mouseup',ad);a.document.removeListener('mousemove',ac);if(aa){aa.remove();aa=null;}if(b.ie6Compat){var ae=F.getChild(0).getFrameDocument();ae.removeListener('mouseup',ad);ae.removeListener('mousemove',ac);}};};var D,E={},F;function G(R){R.data.preventDefault(1);};function H(R){var S=a.document.getWindow(),T=R.config,U=T.dialog_backgroundCoverColor||'white',V=T.dialog_backgroundCoverOpacity,W=T.baseFloatZIndex,X=e.genKey(U,V,W),Y=E[X];if(!Y){var Z=['<div tabIndex="-1" style="position: ',b.ie6Compat?'absolute':'fixed','; z-index: ',W,'; top: 0px; left: 0px; ',!b.ie6Compat?'background-color: '+U:'','" class="cke_dialog_background_cover">'];if(b.ie6Compat){var aa=b.isCustomDomain(),ab="<html><body style=\\'background-color:"+U+";\\'></body></html>";Z.push('<iframe hidefocus="true" frameborder="0" id="cke_dialog_background_iframe" src="javascript:');Z.push('void((function(){document.open();'+(aa?"document.domain='"+document.domain+"';":'')+"document.write( '"+ab+"' );"+'document.close();'+'})())');Z.push('" style="position:absolute;left:0;top:0;width:100%;height: 100%;progid:DXImageTransform.Microsoft.Alpha(opacity=0)"></iframe>');}Z.push('</div>');Y=h.createFromHtml(Z.join(''));Y.setOpacity(V!=undefined?V:0.5);Y.on('keydown',G);Y.on('keypress',G);Y.on('keyup',G);Y.appendTo(a.document.getBody());E[X]=Y;}else Y.show();F=Y;var ac=function(){var af=S.getViewPaneSize();Y.setStyles({width:af.width+'px',height:af.height+'px'});},ad=function(){var af=S.getScrollPosition(),ag=a.dialog._.currentTop;Y.setStyles({left:af.x+'px',top:af.y+'px'});if(ag)do{var ah=ag.getPosition();ag.move(ah.x,ah.y);}while(ag=ag._.parentDialog)};D=ac;S.on('resize',ac);ac();if(!(b.mac&&b.webkit))Y.focus();if(b.ie6Compat){var ae=function(){ad();arguments.callee.prevScrollHandler.apply(this,arguments);};S.$.setTimeout(function(){ae.prevScrollHandler=window.onscroll||(function(){});
-window.onscroll=ae;},0);ad();}};function I(){if(!F)return;var R=a.document.getWindow();F.hide();R.removeListener('resize',D);if(b.ie6Compat)R.$.setTimeout(function(){var S=window.onscroll&&window.onscroll.prevScrollHandler;window.onscroll=S||null;},0);D=null;};function J(){for(var R in E)E[R].remove();E={};};var K={},L=function(R){var S=R.data.$.ctrlKey||R.data.$.metaKey,T=R.data.$.altKey,U=R.data.$.shiftKey,V=String.fromCharCode(R.data.$.keyCode),W=K[(S?'CTRL+':'')+(T?'ALT+':'')+(U?'SHIFT+':'')+V];if(!W||!W.length)return;W=W[W.length-1];W.keydown&&W.keydown.call(W.uiElement,W.dialog,W.key);R.data.preventDefault();},M=function(R){var S=R.data.$.ctrlKey||R.data.$.metaKey,T=R.data.$.altKey,U=R.data.$.shiftKey,V=String.fromCharCode(R.data.$.keyCode),W=K[(S?'CTRL+':'')+(T?'ALT+':'')+(U?'SHIFT+':'')+V];if(!W||!W.length)return;W=W[W.length-1];if(W.keyup){W.keyup.call(W.uiElement,W.dialog,W.key);R.data.preventDefault();}},N=function(R,S,T,U,V){var W=K[T]||(K[T]=[]);W.push({uiElement:R,dialog:S,key:T,keyup:V||R.accessKeyUp,keydown:U||R.accessKeyDown});},O=function(R){for(var S in K){var T=K[S];for(var U=T.length-1;U>=0;U--){if(T[U].dialog==R||T[U].uiElement==R)T.splice(U,1);}if(T.length===0)delete K[S];}},P=function(R,S){if(R._.accessKeyMap[S])R.selectPage(R._.accessKeyMap[S]);},Q=function(R,S){};(function(){k.dialog={uiElement:function(R,S,T,U,V,W,X){if(arguments.length<4)return;var Y=(U.call?U(S):U)||'div',Z=['<',Y,' '],aa=(V&&V.call?V(S):V)||{},ab=(W&&W.call?W(S):W)||{},ac=(X&&X.call?X.call(this,R,S):X)||'',ad=this.domId=ab.id||e.getNextId()+'_uiElement',ae=this.id=S.id,af;ab.id=ad;var ag={};if(S.type)ag['cke_dialog_ui_'+S.type]=1;if(S.className)ag[S.className]=1;if(S.disabled)ag.cke_disabled=1;var ah=ab['class']&&ab['class'].split?ab['class'].split(' '):[];for(af=0;af<ah.length;af++){if(ah[af])ag[ah[af]]=1;}var ai=[];for(af in ag)ai.push(af);ab['class']=ai.join(' ');if(S.title)ab.title=S.title;var aj=(S.style||'').split(';');if(S.align){var ak=S.align;aa['margin-left']=ak=='left'?0:'auto';aa['margin-right']=ak=='right'?0:'auto';}for(af in aa)aj.push(af+':'+aa[af]);if(S.hidden)aj.push('display:none');for(af=aj.length-1;af>=0;af--){if(aj[af]==='')aj.splice(af,1);}if(aj.length>0)ab.style=(ab.style?ab.style+'; ':'')+aj.join('; ');for(af in ab)Z.push(af+'="'+e.htmlEncode(ab[af])+'" ');Z.push('>',ac,'</',Y,'>');T.push(Z.join(''));(this._||(this._={})).dialog=R;if(typeof S.isChanged=='boolean')this.isChanged=function(){return S.isChanged;};if(typeof S.isChanged=='function')this.isChanged=S.isChanged;
-if(typeof S.setValue=='function')this.setValue=e.override(this.setValue,function(am){return function(an){am.call(this,S.setValue.call(this,an));};});if(typeof S.getValue=='function')this.getValue=e.override(this.getValue,function(am){return function(){return S.getValue.call(this,am.call(this));};});a.event.implementOn(this);this.registerEvents(S);if(this.accessKeyUp&&this.accessKeyDown&&S.accessKey)N(this,R,'CTRL+'+S.accessKey);var al=this;R.on('load',function(){var am=al.getInputElement();if(am){var an=al.type in {checkbox:1,ratio:1}&&c&&b.version<8?'cke_dialog_ui_focused':'';am.on('focus',function(){R._.tabBarMode=false;R._.hasFocus=true;al.fire('focus');an&&this.addClass(an);});am.on('blur',function(){al.fire('blur');an&&this.removeClass(an);});}});if(this.keyboardFocusable){this.tabIndex=S.tabIndex||0;this.focusIndex=R._.focusList.push(this)-1;this.on('focus',function(){R._.currentFocusIndex=al.focusIndex;});}e.extend(this,S);},hbox:function(R,S,T,U,V){if(arguments.length<4)return;this._||(this._={});var W=this._.children=S,X=V&&V.widths||null,Y=V&&V.height||null,Z={},aa,ab=function(){var ad=['<tbody><tr class="cke_dialog_ui_hbox">'];for(aa=0;aa<T.length;aa++){var ae='cke_dialog_ui_hbox_child',af=[];if(aa===0)ae='cke_dialog_ui_hbox_first';if(aa==T.length-1)ae='cke_dialog_ui_hbox_last';ad.push('<td class="',ae,'" role="presentation" ');if(X){if(X[aa])af.push('width:'+m(X[aa]));}else af.push('width:'+Math.floor(100/T.length)+'%');if(Y)af.push('height:'+m(Y));if(V&&V.padding!=undefined)af.push('padding:'+m(V.padding));if(c&&b.quirks&&W[aa].align)af.push('text-align:'+W[aa].align);if(af.length>0)ad.push('style="'+af.join('; ')+'" ');ad.push('>',T[aa],'</td>');}ad.push('</tr></tbody>');return ad.join('');},ac={role:'presentation'};V&&V.align&&(ac.align=V.align);k.dialog.uiElement.call(this,R,V||{type:'hbox'},U,'table',Z,ac,ab);},vbox:function(R,S,T,U,V){if(arguments.length<3)return;this._||(this._={});var W=this._.children=S,X=V&&V.width||null,Y=V&&V.heights||null,Z=function(){var aa=['<table role="presentation" cellspacing="0" border="0" '];aa.push('style="');if(V&&V.expand)aa.push('height:100%;');aa.push('width:'+m(X||'100%'),';');aa.push('"');aa.push('align="',e.htmlEncode(V&&V.align||(R.getParentEditor().lang.dir=='ltr'?'left':'right')),'" ');aa.push('><tbody>');for(var ab=0;ab<T.length;ab++){var ac=[];aa.push('<tr><td role="presentation" ');if(X)ac.push('width:'+m(X||'100%'));if(Y)ac.push('height:'+m(Y[ab]));else if(V&&V.expand)ac.push('height:'+Math.floor(100/T.length)+'%');
-if(V&&V.padding!=undefined)ac.push('padding:'+m(V.padding));if(c&&b.quirks&&W[ab].align)ac.push('text-align:'+W[ab].align);if(ac.length>0)aa.push('style="',ac.join('; '),'" ');aa.push(' class="cke_dialog_ui_vbox_child">',T[ab],'</td></tr>');}aa.push('</tbody></table>');return aa.join('');};k.dialog.uiElement.call(this,R,V||{type:'vbox'},U,'div',null,{role:'presentation'},Z);}};})();k.dialog.uiElement.prototype={getElement:function(){return a.document.getById(this.domId);},getInputElement:function(){return this.getElement();},getDialog:function(){return this._.dialog;},setValue:function(R,S){this.getInputElement().setValue(R);!S&&this.fire('change',{value:R});return this;},getValue:function(){return this.getInputElement().getValue();},isChanged:function(){return false;},selectParentTab:function(){var U=this;var R=U.getInputElement(),S=R,T;while((S=S.getParent())&&S.$.className.search('cke_dialog_page_contents')==-1){}if(!S)return U;T=S.getAttribute('name');if(U._.dialog._.currentTabId!=T)U._.dialog.selectPage(T);return U;},focus:function(){this.selectParentTab().getInputElement().focus();return this;},registerEvents:function(R){var S=/^on([A-Z]\w+)/,T,U=function(W,X,Y,Z){X.on('load',function(){W.getInputElement().on(Y,Z,W);});};for(var V in R){if(!(T=V.match(S)))continue;if(this.eventProcessors[V])this.eventProcessors[V].call(this,this._.dialog,R[V]);else U(this,this._.dialog,T[1].toLowerCase(),R[V]);}return this;},eventProcessors:{onLoad:function(R,S){R.on('load',S,this);},onShow:function(R,S){R.on('show',S,this);},onHide:function(R,S){R.on('hide',S,this);}},accessKeyDown:function(R,S){this.focus();},accessKeyUp:function(R,S){},disable:function(){var R=this.getElement(),S=this.getInputElement();S.setAttribute('disabled','true');R.addClass('cke_disabled');},enable:function(){var R=this.getElement(),S=this.getInputElement();S.removeAttribute('disabled');R.removeClass('cke_disabled');},isEnabled:function(){return!this.getElement().hasClass('cke_disabled');},isVisible:function(){return this.getInputElement().isVisible();},isFocusable:function(){if(!this.isEnabled()||!this.isVisible())return false;return true;}};k.dialog.hbox.prototype=e.extend(new k.dialog.uiElement(),{getChild:function(R){var S=this;if(arguments.length<1)return S._.children.concat();if(!R.splice)R=[R];if(R.length<2)return S._.children[R[0]];else return S._.children[R[0]]&&S._.children[R[0]].getChild?S._.children[R[0]].getChild(R.slice(1,R.length)):null;}},true);k.dialog.vbox.prototype=new k.dialog.hbox();
-(function(){var R={build:function(S,T,U){var V=T.children,W,X=[],Y=[];for(var Z=0;Z<V.length&&(W=V[Z]);Z++){var aa=[];X.push(aa);Y.push(a.dialog._.uiElementBuilders[W.type].build(S,W,aa));}return new k.dialog[T.type](S,Y,X,U,T);}};a.dialog.addUIElement('hbox',R);a.dialog.addUIElement('vbox',R);})();a.dialogCommand=function(R){this.dialogName=R;};a.dialogCommand.prototype={exec:function(R){b.opera?e.setTimeout(function(){R.openDialog(this.dialogName);},0,this):R.openDialog(this.dialogName);},canUndo:false,editorFocus:c||b.webkit};(function(){var R=/^([a]|[^a])+$/,S=/^\d*$/,T=/^\d*(?:\.\d+)?$/,U=/^(((\d*(\.\d+))|(\d*))(px|\%)?)?$/,V=/^(((\d*(\.\d+))|(\d*))(px|em|ex|in|cm|mm|pt|pc|\%)?)?$/i,W=/^(\s*[\w-]+\s*:\s*[^:;]+(?:;|$))*$/;a.VALIDATE_OR=1;a.VALIDATE_AND=2;a.dialog.validate={functions:function(){var X=arguments;return function(){var Y=this&&this.getValue?this.getValue():X[0],Z=undefined,aa=2,ab=[],ac;for(ac=0;ac<X.length;ac++){if(typeof X[ac]=='function')ab.push(X[ac]);else break;}if(ac<X.length&&typeof X[ac]=='string'){Z=X[ac];ac++;}if(ac<X.length&&typeof X[ac]=='number')aa=X[ac];var ad=aa==2?true:false;for(ac=0;ac<ab.length;ac++){if(aa==2)ad=ad&&ab[ac](Y);else ad=ad||ab[ac](Y);}return!ad?Z:true;};},regex:function(X,Y){return function(){var Z=this&&this.getValue?this.getValue():arguments[0];return!X.test(Z)?Y:true;};},notEmpty:function(X){return this.regex(R,X);},integer:function(X){return this.regex(S,X);},number:function(X){return this.regex(T,X);},cssLength:function(X){return this.functions(function(Y){return V.test(e.trim(Y));},X);},htmlLength:function(X){return this.functions(function(Y){return U.test(e.trim(Y));},X);},inlineStyle:function(X){return this.functions(function(Y){return W.test(e.trim(Y));},X);},equals:function(X,Y){return this.functions(function(Z){return Z==X;},Y);},notEqual:function(X,Y){return this.functions(function(Z){return Z!=X;},Y);}};a.on('instanceDestroyed',function(X){if(e.isEmpty(a.instances)){var Y;while(Y=a.dialog._.currentTop)Y.hide();J();}var Z=X.editor._.storedDialogs;for(var aa in Z)Z[aa].destroy();});})();e.extend(a.editor.prototype,{openDialog:function(R,S){if(this.mode=='wysiwyg'&&c){var T=this.getSelection();T&&T.lock();}var U=a.dialog._.dialogDefinitions[R],V=this.skin.dialog;if(a.dialog._.currentTop===null)H(this);if(typeof U=='function'&&V._isLoaded){var W=this._.storedDialogs||(this._.storedDialogs={}),X=W[R]||(W[R]=new a.dialog(this,R));S&&S.call(X,X);X.show();return X;}else if(U=='failed'){I();throw new Error('[CKEDITOR.dialog.openDialog] Dialog "'+R+'" failed when loading definition.');
-}var Y=this;function Z(ab){var ac=a.dialog._.dialogDefinitions[R],ad=Y.skin.dialog;if(!ad._isLoaded||aa&&typeof ab=='undefined')return;if(typeof ac!='function')a.dialog._.dialogDefinitions[R]='failed';Y.openDialog(R,S);};if(typeof U=='string'){var aa=1;a.scriptLoader.load(a.getUrl(U),Z,null,0,1);}a.skins.load(this,'dialog',Z);return null;}});})();j.add('dialog',{requires:['dialogui']});j.add('styles',{requires:['selection'],init:function(m){m.on('contentDom',function(){m.document.setCustomData('cke_includeReadonly',!m.config.disableReadonlyStyling);});}});a.editor.prototype.attachStyleStateChange=function(m,n){var o=this._.styleStateChangeCallbacks;if(!o){o=this._.styleStateChangeCallbacks=[];this.on('selectionChange',function(p){for(var q=0;q<o.length;q++){var r=o[q],s=r.style.checkActive(p.data.path)?1:2;r.fn.call(this,s);}});}o.push({style:m,fn:n});};a.STYLE_BLOCK=1;a.STYLE_INLINE=2;a.STYLE_OBJECT=3;(function(){var m={address:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,section:1,header:1,footer:1,nav:1,article:1,aside:1,figure:1,dialog:1,hgroup:1,time:1,meter:1,menu:1,command:1,keygen:1,output:1,progress:1,details:1,datagrid:1,datalist:1},n={a:1,embed:1,hr:1,img:1,li:1,object:1,ol:1,table:1,td:1,tr:1,th:1,ul:1,dl:1,dt:1,dd:1,form:1,audio:1,video:1},o=/\s*(?:;\s*|$)/,p=/#\((.+?)\)/g,q=d.walker.bookmark(0,1),r=d.walker.whitespaces(1);a.style=function(T,U){var X=this;var V=T.attributes;if(V&&V.style){T.styles=e.extend({},T.styles,Q(V.style));delete V.style;}if(U){T=e.clone(T);L(T.attributes,U);L(T.styles,U);}var W=X.element=T.element?typeof T.element=='string'?T.element.toLowerCase():T.element:'*';X.type=m[W]?1:n[W]?3:2;if(typeof X.element=='object')X.type=3;X._={definition:T};};a.style.prototype={apply:function(T){S.call(this,T,false);},remove:function(T){S.call(this,T,true);},applyToRange:function(T){var U=this;return(U.applyToRange=U.type==2?t:U.type==1?x:U.type==3?v:null).call(U,T);},removeFromRange:function(T){var U=this;return(U.removeFromRange=U.type==2?u:U.type==1?y:U.type==3?w:null).call(U,T);},applyToObject:function(T){K(T,this);},checkActive:function(T){var Y=this;switch(Y.type){case 1:return Y.checkElementRemovable(T.block||T.blockLimit,true);case 3:case 2:var U=T.elements;for(var V=0,W;V<U.length;V++){W=U[V];if(Y.type==2&&(W==T.block||W==T.blockLimit))continue;if(Y.type==3){var X=W.getName();if(!(typeof Y.element=='string'?X==Y.element:X in Y.element))continue;}if(Y.checkElementRemovable(W,true))return true;}}return false;},checkApplicable:function(T){switch(this.type){case 2:case 1:break;
-case 3:return T.lastElement.getAscendant(this.element,true);}return true;},checkElementMatch:function(T,U){var aa=this;var V=aa._.definition;if(!T||!V.ignoreReadonly&&T.isReadOnly())return false;var W,X=T.getName();if(typeof aa.element=='string'?X==aa.element:X in aa.element){if(!U&&!T.hasAttributes())return true;W=M(V);if(W._length){for(var Y in W){if(Y=='_length')continue;var Z=T.getAttribute(Y)||'';if(Y=='style'?R(W[Y],P(Z,false)):W[Y]==Z){if(!U)return true;}else if(U)return false;}if(U)return true;}else return true;}return false;},checkElementRemovable:function(T,U){if(this.checkElementMatch(T,U))return true;var V=N(this)[T.getName()];if(V){var W,X;if(!(W=V.attributes))return true;for(var Y=0;Y<W.length;Y++){X=W[Y][0];var Z=T.getAttribute(X);if(Z){var aa=W[Y][1];if(aa===null||typeof aa=='string'&&Z==aa||aa.test(Z))return true;}}}return false;},buildPreview:function(T){var U=this._.definition,V=[],W=U.element;if(W=='bdo')W='span';V=['<',W];var X=U.attributes;if(X)for(var Y in X)V.push(' ',Y,'="',X[Y],'"');var Z=a.style.getStyleText(U);if(Z)V.push(' style="',Z,'"');V.push('>',T||U.name,'</',W,'>');return V.join('');}};a.style.getStyleText=function(T){var U=T._ST;if(U)return U;U=T.styles;var V=T.attributes&&T.attributes.style||'',W='';if(V.length)V=V.replace(o,';');for(var X in U){var Y=U[X],Z=(X+':'+Y).replace(o,';');if(Y=='inherit')W+=Z;else V+=Z;}if(V.length)V=P(V);V+=W;return T._ST=V;};function s(T){var U,V;while(T=T.getParent()){if(T.getName()=='body')break;if(T.getAttribute('data-nostyle'))U=T;else if(!V){var W=T.getAttribute('contentEditable');if(W=='false')U=T;else if(W=='true')V=1;}}return U;};function t(T){var ay=this;var U=T.document;if(T.collapsed){var V=J(ay,U);T.insertNode(V);T.moveToPosition(V,2);return;}var W=ay.element,X=ay._.definition,Y,Z=X.ignoreReadonly,aa=Z||X.includeReadonly;if(aa==undefined)aa=U.getCustomData('cke_includeReadonly');var ab=f[W]||(Y=true,f.span);T.enlarge(1,1);T.trim();var ac=T.createBookmark(),ad=ac.startNode,ae=ac.endNode,af=ad,ag;if(!Z){var ah=s(ad),ai=s(ae);if(ah)af=ah.getNextSourceNode(true);if(ai)ae=ai;}if(af.getPosition(ae)==2)af=0;while(af){var aj=false;if(af.equals(ae)){af=null;aj=true;}else{var ak=af.type,al=ak==1?af.getName():null,am=al&&af.getAttribute('contentEditable')=='false',an=al&&af.getAttribute('data-nostyle');if(al&&af.data('cke-bookmark')){af=af.getNextSourceNode(true);continue;}if(!al||ab[al]&&!an&&(!am||aa)&&(af.getPosition(ae)|4|0|8)==4+0+8&&(!X.childRule||X.childRule(af))){var ao=af.getParent();
-if(ao&&((ao.getDtd()||f.span)[W]||Y)&&(!X.parentRule||X.parentRule(ao))){if(!ag&&(!al||!f.$removeEmpty[al]||(af.getPosition(ae)|4|0|8)==4+0+8)){ag=new d.range(U);ag.setStartBefore(af);}if(ak==3||am||ak==1&&!af.getChildCount()){var ap=af,aq;while((aj=!ap.getNext(q))&&(aq=ap.getParent(),ab[aq.getName()])&&(aq.getPosition(ad)|2|0|8)==2+0+8&&(!X.childRule||X.childRule(aq)))ap=aq;ag.setEndAfter(ap);}}else aj=true;}else aj=true;af=af.getNextSourceNode(an||am);}if(aj&&ag&&!ag.collapsed){var ar=J(ay,U),as=ar.hasAttributes(),at=ag.getCommonAncestor(),au={styles:{},attrs:{},blockedStyles:{},blockedAttrs:{}},av,aw,ax;while(ar&&at){if(at.getName()==W){for(av in X.attributes){if(au.blockedAttrs[av]||!(ax=at.getAttribute(aw)))continue;if(ar.getAttribute(av)==ax)au.attrs[av]=1;else au.blockedAttrs[av]=1;}for(aw in X.styles){if(au.blockedStyles[aw]||!(ax=at.getStyle(aw)))continue;if(ar.getStyle(aw)==ax)au.styles[aw]=1;else au.blockedStyles[aw]=1;}}at=at.getParent();}for(av in au.attrs)ar.removeAttribute(av);for(aw in au.styles)ar.removeStyle(aw);if(as&&!ar.hasAttributes())ar=null;if(ar){ag.extractContents().appendTo(ar);G(ay,ar);ag.insertNode(ar);ar.mergeSiblings();if(!c)ar.$.normalize();}else{ar=new h('span');ag.extractContents().appendTo(ar);ag.insertNode(ar);G(ay,ar);ar.remove(true);}ag=null;}}T.moveToBookmark(ac);T.shrink(2);};function u(T){T.enlarge(1,1);var U=T.createBookmark(),V=U.startNode;if(T.collapsed){var W=new d.elementPath(V.getParent()),X;for(var Y=0,Z;Y<W.elements.length&&(Z=W.elements[Y]);Y++){if(Z==W.block||Z==W.blockLimit)break;if(this.checkElementRemovable(Z)){var aa;if(T.collapsed&&(T.checkBoundaryOfElement(Z,2)||(aa=T.checkBoundaryOfElement(Z,1)))){X=Z;X.match=aa?'start':'end';}else{Z.mergeSiblings();if(Z.getName()==this.element)F(this,Z);else H(Z,N(this)[Z.getName()]);}}}if(X){var ab=V;for(Y=0;true;Y++){var ac=W.elements[Y];if(ac.equals(X))break;else if(ac.match)continue;else ac=ac.clone();ac.append(ab);ab=ac;}ab[X.match=='start'?'insertBefore':'insertAfter'](X);}}else{var ad=U.endNode,ae=this;function af(){var ai=new d.elementPath(V.getParent()),aj=new d.elementPath(ad.getParent()),ak=null,al=null;for(var am=0;am<ai.elements.length;am++){var an=ai.elements[am];if(an==ai.block||an==ai.blockLimit)break;if(ae.checkElementRemovable(an))ak=an;}for(am=0;am<aj.elements.length;am++){an=aj.elements[am];if(an==aj.block||an==aj.blockLimit)break;if(ae.checkElementRemovable(an))al=an;}if(al)ad.breakParent(al);if(ak)V.breakParent(ak);};af();var ag=V;while(!ag.equals(ad)){var ah=ag.getNextSourceNode();
-if(ag.type==1&&this.checkElementRemovable(ag)){if(ag.getName()==this.element)F(this,ag);else H(ag,N(this)[ag.getName()]);if(ah.type==1&&ah.contains(V)){af();ah=V.getNext();}}ag=ah;}}T.moveToBookmark(U);};function v(T){var U=T.getCommonAncestor(true,true),V=U.getAscendant(this.element,true);V&&!V.isReadOnly()&&K(V,this);};function w(T){var U=T.getCommonAncestor(true,true),V=U.getAscendant(this.element,true);if(!V)return;var W=this,X=W._.definition,Y=X.attributes;if(Y)for(var Z in Y)V.removeAttribute(Z,Y[Z]);if(X.styles)for(var aa in X.styles){if(!X.styles.hasOwnProperty(aa))continue;V.removeStyle(aa);}};function x(T){var U=T.createBookmark(true),V=T.createIterator();V.enforceRealBlocks=true;if(this._.enterMode)V.enlargeBr=this._.enterMode!=2;var W,X=T.document,Y;while(W=V.getNextParagraph()){if(!W.isReadOnly()){var Z=J(this,X,W);z(W,Z);}}T.moveToBookmark(U);};function y(T){var Y=this;var U=T.createBookmark(1),V=T.createIterator();V.enforceRealBlocks=true;V.enlargeBr=Y._.enterMode!=2;var W;while(W=V.getNextParagraph()){if(Y.checkElementRemovable(W))if(W.is('pre')){var X=Y._.enterMode==2?null:T.document.createElement(Y._.enterMode==1?'p':'div');X&&W.copyAttributes(X);z(W,X);}else F(Y,W,1);}T.moveToBookmark(U);};function z(T,U){var V=!U;if(V){U=T.getDocument().createElement('div');T.copyAttributes(U);}var W=U&&U.is('pre'),X=T.is('pre'),Y=W&&!X,Z=!W&&X;if(Y)U=E(T,U);else if(Z)U=D(V?[T.getHtml()]:B(T),U);else T.moveChildren(U);U.replace(T);if(W)A(U);else if(V)I(U);};function A(T){var U;if(!((U=T.getPrevious(r))&&U.is&&U.is('pre')))return;var V=C(U.getHtml(),/\n$/,'')+'\n\n'+C(T.getHtml(),/^\n/,'');if(c)T.$.outerHTML='<pre>'+V+'</pre>';else T.setHtml(V);U.remove();};function B(T){var U=/(\S\s*)\n(?:\s|(<span[^>]+data-cke-bookmark.*?\/span>))*\n(?!$)/gi,V=T.getName(),W=C(T.getOuterHtml(),U,function(Y,Z,aa){return Z+'</pre>'+aa+'<pre>';}),X=[];W.replace(/<pre\b.*?>([\s\S]*?)<\/pre>/gi,function(Y,Z){X.push(Z);});return X;};function C(T,U,V){var W='',X='';T=T.replace(/(^<span[^>]+data-cke-bookmark.*?\/span>)|(<span[^>]+data-cke-bookmark.*?\/span>$)/gi,function(Y,Z,aa){Z&&(W=Z);aa&&(X=aa);return '';});return W+T.replace(U,V)+X;};function D(T,U){var V;if(T.length>1)V=new d.documentFragment(U.getDocument());for(var W=0;W<T.length;W++){var X=T[W];X=X.replace(/(\r\n|\r)/g,'\n');X=C(X,/^[ \t]*\n/,'');X=C(X,/\n$/,'');X=C(X,/^[ \t]+|[ \t]+$/g,function(Z,aa,ab){if(Z.length==1)return '&nbsp;';else if(!aa)return e.repeat('&nbsp;',Z.length-1)+' ';else return ' '+e.repeat('&nbsp;',Z.length-1);
-});X=X.replace(/\n/g,'<br>');X=X.replace(/[ \t]{2,}/g,function(Z){return e.repeat('&nbsp;',Z.length-1)+' ';});if(V){var Y=U.clone();Y.setHtml(X);V.append(Y);}else U.setHtml(X);}return V||U;};function E(T,U){var V=T.getBogus();V&&V.remove();var W=T.getHtml();W=C(W,/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g,'');W=W.replace(/[ \t\r\n]*(<br[^>]*>)[ \t\r\n]*/gi,'$1');W=W.replace(/([ \t\n\r]+|&nbsp;)/g,' ');W=W.replace(/<br\b[^>]*>/gi,'\n');if(c){var X=T.getDocument().createElement('div');X.append(U);U.$.outerHTML='<pre>'+W+'</pre>';U.copyAttributes(X.getFirst());U=X.getFirst().remove();}else U.setHtml(W);return U;};function F(T,U){var V=T._.definition,W=V.attributes,X=V.styles,Y=N(T)[U.getName()],Z=e.isEmpty(W)&&e.isEmpty(X);for(var aa in W){if((aa=='class'||T._.definition.fullMatch)&&U.getAttribute(aa)!=O(aa,W[aa]))continue;Z=U.hasAttribute(aa);U.removeAttribute(aa);}for(var ab in X){if(T._.definition.fullMatch&&U.getStyle(ab)!=O(ab,X[ab],true))continue;Z=Z||!!U.getStyle(ab);U.removeStyle(ab);}H(U,Y,m[U.getName()]);if(Z)!f.$block[U.getName()]||T._.enterMode==2&&!U.hasAttributes()?I(U):U.renameNode(T._.enterMode==1?'p':'div');};function G(T,U){var V=T._.definition,W=V.attributes,X=V.styles,Y=N(T),Z=U.getElementsByTag(T.element);for(var aa=Z.count();--aa>=0;)F(T,Z.getItem(aa));for(var ab in Y){if(ab!=T.element){Z=U.getElementsByTag(ab);for(aa=Z.count()-1;aa>=0;aa--){var ac=Z.getItem(aa);H(ac,Y[ab]);}}}};function H(T,U,V){var W=U&&U.attributes;if(W)for(var X=0;X<W.length;X++){var Y=W[X][0],Z;if(Z=T.getAttribute(Y)){var aa=W[X][1];if(aa===null||aa.test&&aa.test(Z)||typeof aa=='string'&&Z==aa)T.removeAttribute(Y);}}if(!V)I(T);};function I(T){if(!T.hasAttributes())if(f.$block[T.getName()]){var U=T.getPrevious(r),V=T.getNext(r);if(U&&(U.type==3||!U.isBlockBoundary({br:1})))T.append('br',1);if(V&&(V.type==3||!V.isBlockBoundary({br:1})))T.append('br');T.remove(true);}else{var W=T.getFirst(),X=T.getLast();T.remove(true);if(W){W.type==1&&W.mergeSiblings();if(X&&!W.equals(X)&&X.type==1)X.mergeSiblings();}}};function J(T,U,V){var W,X=T._.definition,Y=T.element;if(Y=='*')Y='span';W=new h(Y,U);if(V)V.copyAttributes(W);W=K(W,T);if(U.getCustomData('doc_processing_style')&&W.hasAttribute('id'))W.removeAttribute('id');else U.setCustomData('doc_processing_style',1);return W;};function K(T,U){var V=U._.definition,W=V.attributes,X=a.style.getStyleText(V);if(W)for(var Y in W)T.setAttribute(Y,W[Y]);if(X)T.setAttribute('style',X);return T;};function L(T,U){for(var V in T)T[V]=T[V].replace(p,function(W,X){return U[X];
-});};function M(T){var U=T._AC;if(U)return U;U={};var V=0,W=T.attributes;if(W)for(var X in W){V++;U[X]=W[X];}var Y=a.style.getStyleText(T);if(Y){if(!U.style)V++;U.style=Y;}U._length=V;return T._AC=U;};function N(T){if(T._.overrides)return T._.overrides;var U=T._.overrides={},V=T._.definition.overrides;if(V){if(!e.isArray(V))V=[V];for(var W=0;W<V.length;W++){var X=V[W],Y,Z,aa;if(typeof X=='string')Y=X.toLowerCase();else{Y=X.element?X.element.toLowerCase():T.element;aa=X.attributes;}Z=U[Y]||(U[Y]={});if(aa){var ab=Z.attributes=Z.attributes||[];for(var ac in aa)ab.push([ac.toLowerCase(),aa[ac]]);}}}return U;};function O(T,U,V){var W=new h('span');W[V?'setStyle':'setAttribute'](T,U);return W[V?'getStyle':'getAttribute'](T);};function P(T,U){var V;if(U!==false){var W=new h('span');W.setAttribute('style',T);V=W.getAttribute('style')||'';}else V=T;V=V.replace(/(font-family:)(.*?)(?=;|$)/,function(X,Y,Z){var aa=Z.split(',');for(var ab=0;ab<aa.length;ab++)aa[ab]=e.trim(aa[ab].replace(/["']/g,''));return Y+aa.join(',');});return V.replace(/\s*([;:])\s*/,'$1').replace(/([^\s;])$/,'$1;').replace(/,\s+/g,',').replace(/\"/g,'').toLowerCase();};function Q(T){var U={};T.replace(/&quot;/g,'"').replace(/\s*([^ :;]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(V,W,X){U[W]=X;});return U;};function R(T,U){typeof T=='string'&&(T=Q(T));typeof U=='string'&&(U=Q(U));for(var V in T){if(!(V in U&&(U[V]==T[V]||T[V]=='inherit'||U[V]=='inherit')))return false;}return true;};function S(T,U){var V=T.getSelection(),W=V.createBookmarks(1),X=V.getRanges(),Y=U?this.removeFromRange:this.applyToRange,Z,aa=X.createIterator();while(Z=aa.getNextRange())Y.call(this,Z);if(W.length==1&&W[0].collapsed){V.selectRanges(X);T.getById(W[0].startNode).remove();}else V.selectBookmarks(W);T.removeCustomData('doc_processing_style');};})();a.styleCommand=function(m){this.style=m;};a.styleCommand.prototype.exec=function(m){var o=this;m.focus();var n=m.document;if(n)if(o.state==2)o.style.apply(n);else if(o.state==1)o.style.remove(n);return!!n;};a.stylesSet=new a.resourceManager('','stylesSet');a.addStylesSet=e.bind(a.stylesSet.add,a.stylesSet);a.loadStylesSet=function(m,n,o){a.stylesSet.addExternal(m,n,'');a.stylesSet.load(m,o);};a.editor.prototype.getStylesSet=function(m){if(!this._.stylesDefinitions){var n=this,o=n.config.stylesCombo_stylesSet||n.config.stylesSet||'default';if(o instanceof Array){n._.stylesDefinitions=o;m(o);return;}var p=o.split(':'),q=p[0],r=p[1],s=j.registered.styles.path;a.stylesSet.addExternal(q,r?p.slice(1).join(':'):s+'styles/'+q+'.js','');
-a.stylesSet.load(q,function(t){n._.stylesDefinitions=t[q];m(n._.stylesDefinitions);});}else m(this._.stylesDefinitions);};j.add('domiterator');(function(){function m(s){var t=this;if(arguments.length<1)return;t.range=s;t.forceBrBreak=0;t.enlargeBr=1;t.enforceRealBlocks=0;t._||(t._={});};var n=/^[\r\n\t ]+$/,o=d.walker.bookmark(false,true),p=d.walker.whitespaces(true),q=function(s){return o(s)&&p(s);};function r(s,t,u){var v=s.getNextSourceNode(t,null,u);while(!o(v))v=v.getNextSourceNode(t,null,u);return v;};m.prototype={getNextParagraph:function(s){var S=this;var t,u,v,w,x,y;if(!S._.started){u=S.range.clone();u.shrink(1,true);w=u.endContainer.hasAscendant('pre',true)||u.startContainer.hasAscendant('pre',true);u.enlarge(S.forceBrBreak&&!w||!S.enlargeBr?3:2);if(!u.collapsed){var z=new d.walker(u.clone()),A=d.walker.bookmark(true,true);z.evaluator=A;S._.nextNode=z.next();z=new d.walker(u.clone());z.evaluator=A;var B=z.previous();S._.lastNode=B.getNextSourceNode(true);if(S._.lastNode&&S._.lastNode.type==3&&!e.trim(S._.lastNode.getText())&&S._.lastNode.getParent().isBlockBoundary()){var C=new d.range(u.document);C.moveToPosition(S._.lastNode,4);if(C.checkEndOfBlock()){var D=new d.elementPath(C.endContainer),E=D.block||D.blockLimit;S._.lastNode=E.getNextSourceNode(true);}}if(!S._.lastNode){S._.lastNode=S._.docEndMarker=u.document.createText('');S._.lastNode.insertAfter(B);}u=null;}S._.started=1;}var F=S._.nextNode;B=S._.lastNode;S._.nextNode=null;while(F){var G=0,H=F.hasAscendant('pre'),I=F.type!=1,J=0;if(!I){var K=F.getName();if(F.isBlockBoundary(S.forceBrBreak&&!H&&{br:1})){if(K=='br')I=1;else if(!u&&!F.getChildCount()&&K!='hr'){t=F;v=F.equals(B);break;}if(u){u.setEndAt(F,3);if(K!='br')S._.nextNode=F;}G=1;}else{if(F.getFirst()){if(!u){u=new d.range(S.range.document);u.setStartAt(F,3);}F=F.getFirst();continue;}I=1;}}else if(F.type==3)if(n.test(F.getText()))I=0;if(I&&!u){u=new d.range(S.range.document);u.setStartAt(F,3);}v=(!G||I)&&F.equals(B);if(u&&!G)while(!F.getNext(q)&&!v){var L=F.getParent();if(L.isBlockBoundary(S.forceBrBreak&&!H&&{br:1})){G=1;I=0;v=v||L.equals(B);u.setEndAt(L,2);break;}F=L;I=1;v=F.equals(B);J=1;}if(I)u.setEndAt(F,4);F=r(F,J,B);v=!F;if(v||G&&u)break;}if(!t){if(!u){S._.docEndMarker&&S._.docEndMarker.remove();S._.nextNode=null;return null;}var M=new d.elementPath(u.startContainer),N=M.blockLimit,O={div:1,th:1,td:1};t=M.block;if(!t&&!S.enforceRealBlocks&&O[N.getName()]&&u.checkStartOfBlock()&&u.checkEndOfBlock())t=N;else if(!t||S.enforceRealBlocks&&t.getName()=='li'){t=S.range.document.createElement(s||'p');
-u.extractContents().appendTo(t);t.trim();u.insertNode(t);x=y=true;}else if(t.getName()!='li'){if(!u.checkStartOfBlock()||!u.checkEndOfBlock()){t=t.clone(false);u.extractContents().appendTo(t);t.trim();var P=u.splitBlock();x=!P.wasStartOfBlock;y=!P.wasEndOfBlock;u.insertNode(t);}}else if(!v)S._.nextNode=t.equals(B)?null:r(u.getBoundaryNodes().endNode,1,B);}if(x){var Q=t.getPrevious();if(Q&&Q.type==1)if(Q.getName()=='br')Q.remove();else if(Q.getLast()&&Q.getLast().$.nodeName.toLowerCase()=='br')Q.getLast().remove();}if(y){var R=t.getLast();if(R&&R.type==1&&R.getName()=='br')if(c||R.getPrevious(o)||R.getNext(o))R.remove();}if(!S._.nextNode)S._.nextNode=v||t.equals(B)||!B?null:r(t,1,B);return t;}};d.range.prototype.createIterator=function(){return new m(this);};})();j.add('panelbutton',{requires:['button'],onLoad:function(){function m(n){var p=this;var o=p._;if(o.state==0)return;p.createPanel(n);if(o.on){o.panel.hide();return;}o.panel.showBlock(p._.id,p.document.getById(p._.id),4);};k.panelButton=e.createClass({base:k.button,$:function(n){var p=this;var o=n.panel;delete n.panel;p.base(n);p.document=o&&o.parent&&o.parent.getDocument()||a.document;o.block={attributes:o.attributes};p.hasArrow=true;p.click=m;p._={panelDefinition:o};},statics:{handler:{create:function(n){return new k.panelButton(n);}}},proto:{createPanel:function(n){var o=this._;if(o.panel)return;var p=this._.panelDefinition||{},q=this._.panelDefinition.block,r=p.parent||a.document.getBody(),s=this._.panel=new k.floatPanel(n,r,p),t=s.addBlock(o.id,q),u=this;s.onShow=function(){if(u.className)this.element.getFirst().addClass(u.className+'_panel');u.setState(1);o.on=1;if(u.onOpen)u.onOpen();};s.onHide=function(v){if(u.className)this.element.getFirst().removeClass(u.className+'_panel');u.setState(u.modes&&u.modes[n.mode]?2:0);o.on=0;if(!v&&u.onClose)u.onClose();};s.onEscape=function(){s.hide();u.document.getById(o.id).focus();};if(this.onBlock)this.onBlock(s,t);t.onHide=function(){o.on=0;u.setState(2);};}}});},beforeInit:function(m){m.ui.addHandler('panelbutton',k.panelButton.handler);}});a.UI_PANELBUTTON='panelbutton';j.add('floatpanel',{requires:['panel']});(function(){var m={},n=false;function o(p,q,r,s,t){var u=e.genKey(q.getUniqueId(),r.getUniqueId(),p.skinName,p.lang.dir,p.uiColor||'',s.css||'',t||''),v=m[u];if(!v){v=m[u]=new k.panel(q,s);v.element=r.append(h.createFromHtml(v.renderHtml(p),q));v.element.setStyles({display:'none',position:'absolute'});}return v;};k.floatPanel=e.createClass({$:function(p,q,r,s){r.forceIFrame=1;
-var t=q.getDocument(),u=o(p,t,q,r,s||0),v=u.element,w=v.getFirst().getFirst();v.disableContextMenu();this.element=v;this._={editor:p,panel:u,parentElement:q,definition:r,document:t,iframe:w,children:[],dir:p.lang.dir};p.on('mode',function(){this.hide();},this);},proto:{addBlock:function(p,q){return this._.panel.addBlock(p,q);},addListBlock:function(p,q){return this._.panel.addListBlock(p,q);},getBlock:function(p){return this._.panel.getBlock(p);},showBlock:function(p,q,r,s,t){var u=this._.panel,v=u.showBlock(p);this.allowBlur(false);n=1;this._.returnFocus=this._.editor.focusManager.hasFocus?this._.editor:new h(a.document.$.activeElement);var w=this.element,x=this._.iframe,y=this._.definition,z=q.getDocumentPosition(w.getDocument()),A=this._.dir=='rtl',B=z.x+(s||0),C=z.y+(t||0);if(A&&(r==1||r==4))B+=q.$.offsetWidth;else if(!A&&(r==2||r==3))B+=q.$.offsetWidth-1;if(r==3||r==4)C+=q.$.offsetHeight-1;this._.panel._.offsetParentId=q.getId();w.setStyles({top:C+'px',left:0,display:''});w.setOpacity(0);w.getFirst().removeStyle('width');if(!this._.blurSet){var D=c?x:new d.window(x.$.contentWindow);a.event.useCapture=true;D.on('blur',function(E){var G=this;if(!G.allowBlur())return;var F=E.data.getTarget();if(F.getName&&F.getName()!='iframe')return;if(G.visible&&!G._.activeChild&&!n){delete G._.returnFocus;G.hide();}},this);D.on('focus',function(){this._.focused=true;this.hideChild();this.allowBlur(true);},this);a.event.useCapture=false;this._.blurSet=1;}u.onEscape=e.bind(function(E){if(this.onEscape&&this.onEscape(E)===false)return false;},this);e.setTimeout(function(){var E=e.bind(function(){var F=w.getFirst();if(v.autoSize){var G=v.element.getDocument(),H=(b.webkit?v.element:G.getBody()).$.scrollWidth;if(c&&b.quirks&&H>0)H+=(F.$.offsetWidth||0)-(F.$.clientWidth||0)+3;H+=4;F.setStyle('width',H+'px');v.element.addClass('cke_frameLoaded');var I=v.element.$.scrollHeight;if(c&&b.quirks&&I>0)I+=(F.$.offsetHeight||0)-(F.$.clientHeight||0)+3;F.setStyle('height',I+'px');u._.currentBlock.element.setStyle('display','none').removeStyle('display');}else F.removeStyle('height');if(A)B-=w.$.offsetWidth;w.setStyle('left',B+'px');var J=u.element,K=J.getWindow(),L=w.$.getBoundingClientRect(),M=K.getViewPaneSize(),N=L.width||L.right-L.left,O=L.height||L.bottom-L.top,P=A?L.right:M.width-L.left,Q=A?M.width-L.right:L.left;if(A){if(P<N)if(Q>N)B+=N;else if(M.width>N)B-=L.left;else B=B-L.right+M.width;}else if(P<N)if(Q>N)B-=N;else if(M.width>N)B=B-L.right+M.width;else B-=L.left;var R=M.height-L.top,S=L.top;
-if(R<O)if(S>O)C-=O;else if(M.height>O)C=C-L.bottom+M.height;else C-=L.top;if(c){var T=new h(w.$.offsetParent),U=T;if(U.getName()=='html')U=U.getDocument().getBody();if(U.getComputedStyle('direction')=='rtl')if(b.ie8Compat)B-=w.getDocument().getDocumentElement().$.scrollLeft*2;else B-=T.$.scrollWidth-T.$.clientWidth;}var V=w.getFirst(),W;if(W=V.getCustomData('activePanel'))W.onHide&&W.onHide.call(this,1);V.setCustomData('activePanel',this);w.setStyles({top:C+'px',left:B+'px'});w.setOpacity(1);},this);u.isLoaded?E():u.onLoad=E;e.setTimeout(function(){x.$.contentWindow.focus();this.allowBlur(true);},0,this);},b.air?200:0,this);this.visible=1;if(this.onShow)this.onShow.call(this);n=0;},hide:function(p){var r=this;if(r.visible&&(!r.onHide||r.onHide.call(r)!==true)){r.hideChild();b.gecko&&r._.iframe.getFrameDocument().$.activeElement.blur();r.element.setStyle('display','none');r.visible=0;r.element.getFirst().removeCustomData('activePanel');var q=p!==false&&r._.returnFocus;if(q){if(b.webkit&&q.type)q.getWindow().$.focus();q.focus();}}},allowBlur:function(p){var q=this._.panel;if(p!=undefined)q.allowBlur=p;return q.allowBlur;},showAsChild:function(p,q,r,s,t,u){if(this._.activeChild==p&&p._.panel._.offsetParentId==r.getId())return;this.hideChild();p.onHide=e.bind(function(){e.setTimeout(function(){if(!this._.focused)this.hide();},0,this);},this);this._.activeChild=p;this._.focused=false;p.showBlock(q,r,s,t,u);if(b.ie7Compat||b.ie8&&b.ie6Compat)setTimeout(function(){p.element.getChild(0).$.style.cssText+='';},100);},hideChild:function(){var p=this._.activeChild;if(p){delete p.onHide;delete p._.returnFocus;delete this._.activeChild;p.hide();}}}});a.on('instanceDestroyed',function(){var p=e.isEmpty(a.instances);for(var q in m){var r=m[q];if(p)r.destroy();else r.element.hide();}p&&(m={});});})();j.add('menu',{beforeInit:function(m){var n=m.config.menu_groups.split(','),o=m._.menuGroups={},p=m._.menuItems={};for(var q=0;q<n.length;q++)o[n[q]]=q+1;m.addMenuGroup=function(r,s){o[r]=s||100;};m.addMenuItem=function(r,s){if(o[s.group])p[r]=new a.menuItem(this,r,s);};m.addMenuItems=function(r){for(var s in r)this.addMenuItem(s,r[s]);};m.getMenuItem=function(r){return p[r];};m.removeMenuItem=function(r){delete p[r];};},requires:['floatpanel']});(function(){a.menu=e.createClass({$:function(n,o){var r=this;o=r._.definition=o||{};r.id=e.getNextId();r.editor=n;r.items=[];r._.listeners=[];r._.level=o.level||1;var p=e.extend({},o.panel,{css:n.skin.editor.css,level:r._.level-1,block:{}}),q=p.block.attributes=p.attributes||{};
-!q.role&&(q.role='menu');r._.panelDefinition=p;},_:{onShow:function(){var v=this;var n=v.editor.getSelection();if(c)n&&n.lock();var o=n&&n.getStartElement(),p=v._.listeners,q=[];v.removeAll();for(var r=0;r<p.length;r++){var s=p[r](o,n);if(s)for(var t in s){var u=v.editor.getMenuItem(t);if(u&&(!u.command||v.editor.getCommand(u.command).state)){u.state=s[t];v.add(u);}}}},onClick:function(n){this.hide(false);if(n.onClick)n.onClick();else if(n.command)this.editor.execCommand(n.command);},onEscape:function(n){var o=this.parent;if(o){o._.panel.hideChild();var p=o._.panel._.panel._.currentBlock,q=p._.focusIndex;p._.markItem(q);}else if(n==27)this.hide();return false;},onHide:function(){this._.unlockSelection();this.onHide&&this.onHide();},unlockSelection:function(){if(c&&!this.parent){var n=this.editor.getSelection();n&&n.unlock(true);}},showSubMenu:function(n){var v=this;var o=v._.subMenu,p=v.items[n],q=p.getItems&&p.getItems();if(!q){v._.panel.hideChild();return;}var r=v._.panel.getBlock(v.id);r._.focusIndex=n;if(o)o.removeAll();else{o=v._.subMenu=new a.menu(v.editor,e.extend({},v._.definition,{level:v._.level+1},true));o.parent=v;o._.onClick=e.bind(v._.onClick,v);}for(var s in q){var t=v.editor.getMenuItem(s);if(t){t.state=q[s];o.add(t);}}var u=v._.panel.getBlock(v.id).element.getDocument().getById(v.id+String(n));o.show(u,2);}},proto:{add:function(n){if(!n.order)n.order=this.items.length;this.items.push(n);},removeAll:function(){this.items=[];},show:function(n,o,p,q){if(!this.parent){this._.onShow();if(!this.items.length){this._.unlockSelection();return;}}o=o||(this.editor.lang.dir=='rtl'?2:1);var r=this.items,s=this.editor,t=this._.panel,u=this._.element;if(!t){t=this._.panel=new k.floatPanel(this.editor,a.document.getBody(),this._.panelDefinition,this._.level);t.onEscape=e.bind(function(F){if(this._.onEscape(F)===false)return false;},this);t.onHide=e.bind(function(){this._.onHide&&this._.onHide();},this);var v=t.addBlock(this.id,this._.panelDefinition.block);v.autoSize=true;var w=v.keys;w[40]='next';w[9]='next';w[38]='prev';w[2228224+9]='prev';w[s.lang.dir=='rtl'?37:39]=c?'mouseup':'click';w[32]=c?'mouseup':'click';c&&(w[13]='mouseup');u=this._.element=v.element;u.addClass(s.skinClass);var x=u.getDocument();x.getBody().setStyle('overflow','hidden');x.getElementsByTag('html').getItem(0).setStyle('overflow','hidden');this._.itemOverFn=e.addFunction(function(F){var G=this;clearTimeout(G._.showSubTimeout);G._.showSubTimeout=e.setTimeout(G._.showSubMenu,s.config.menu_subMenuDelay||400,G,[F]);
-},this);this._.itemOutFn=e.addFunction(function(F){clearTimeout(this._.showSubTimeout);},this);this._.itemClickFn=e.addFunction(function(F){var H=this;var G=H.items[F];if(G.state==0){H.hide();return;}if(G.getItems)H._.showSubMenu(F);else H._.onClick(G);},this);}m(r);var y=s.container.getChild(1),z=y.hasClass('cke_mixed_dir_content')?' cke_mixed_dir_content':'',A=['<div class="cke_menu'+z+'" role="presentation">'],B=r.length,C=B&&r[0].group;for(var D=0;D<B;D++){var E=r[D];if(C!=E.group){A.push('<div class="cke_menuseparator" role="separator"></div>');C=E.group;}E.render(this,D,A);}A.push('</div>');u.setHtml(A.join(''));k.fire('ready',this);if(this.parent)this.parent._.panel.showAsChild(t,this.id,n,o,p,q);else t.showBlock(this.id,n,o,p,q);s.fire('menuShow',[t]);},addListener:function(n){this._.listeners.push(n);},hide:function(n){var o=this;o._.onHide&&o._.onHide();o._.panel&&o._.panel.hide(n);}}});function m(n){n.sort(function(o,p){if(o.group<p.group)return-1;else if(o.group>p.group)return 1;return o.order<p.order?-1:o.order>p.order?1:0;});};a.menuItem=e.createClass({$:function(n,o,p){var q=this;e.extend(q,p,{order:0,className:'cke_button_'+o});q.group=n._.menuGroups[q.group];q.editor=n;q.name=o;},proto:{render:function(n,o,p){var w=this;var q=n.id+String(o),r=typeof w.state=='undefined'?2:w.state,s=' cke_'+(r==1?'on':r==0?'disabled':'off'),t=w.label;if(w.className)s+=' '+w.className;var u=w.getItems;p.push('<span class="cke_menuitem'+(w.icon&&w.icon.indexOf('.png')==-1?' cke_noalphafix':'')+'">'+'<a id="',q,'" class="',s,'" href="javascript:void(\'',(w.label||'').replace("'",''),'\')" title="',w.label,'" tabindex="-1"_cke_focus=1 hidefocus="true" role="menuitem"'+(u?'aria-haspopup="true"':'')+(r==0?'aria-disabled="true"':'')+(r==1?'aria-pressed="true"':''));if(b.opera||b.gecko&&b.mac)p.push(' onkeypress="return false;"');if(b.gecko)p.push(' onblur="this.style.cssText = this.style.cssText;"');var v=(w.iconOffset||0)*-16;p.push(' onmouseover="CKEDITOR.tools.callFunction(',n._.itemOverFn,',',o,');" onmouseout="CKEDITOR.tools.callFunction(',n._.itemOutFn,',',o,');" '+(c?'onclick="return false;" onmouseup':'onclick')+'="CKEDITOR.tools.callFunction(',n._.itemClickFn,',',o,'); return false;"><span class="cke_icon_wrapper"><span class="cke_icon"'+(w.icon?' style="background-image:url('+a.getUrl(w.icon)+');background-position:0 '+v+'px;"':'')+'></span></span>'+'<span class="cke_label">');if(u)p.push('<span class="cke_menuarrow">','<span>&#',w.editor.lang.dir=='rtl'?'9668':'9658',';</span>','</span>');
-p.push(t,'</span></a></span>');}}});})();i.menu_groups='clipboard,form,tablecell,tablecellproperties,tablerow,tablecolumn,table,anchor,link,image,flash,checkbox,radio,textfield,hiddenfield,imagebutton,button,select,textarea,div';(function(){var m;j.add('editingblock',{init:function(n){if(!n.config.editingBlock)return;n.on('themeSpace',function(o){if(o.data.space=='contents')o.data.html+='<br>';});n.on('themeLoaded',function(){n.fireOnce('editingBlockReady');});n.on('uiReady',function(){n.setMode(n.config.startupMode);});n.on('afterSetData',function(){if(!m){function o(){m=true;n.getMode().loadData(n.getData());m=false;};if(n.mode)o();else n.on('mode',function(){if(n.mode){o();n.removeListener('mode',arguments.callee);}});}});n.on('beforeGetData',function(){if(!m&&n.mode){m=true;n.setData(n.getMode().getData(),null,1);m=false;}});n.on('getSnapshot',function(o){if(n.mode)o.data=n.getMode().getSnapshotData();});n.on('loadSnapshot',function(o){if(n.mode)n.getMode().loadSnapshotData(o.data);});n.on('mode',function(o){o.removeListener();b.webkit&&n.container.on('focus',function(){n.focus();});if(n.config.startupFocus)n.focus();setTimeout(function(){n.fireOnce('instanceReady');a.fire('instanceReady',null,n);},0);});n.on('destroy',function(){var o=this;if(o.mode)o._.modes[o.mode].unload(o.getThemeSpace('contents'));});}});a.editor.prototype.mode='';a.editor.prototype.addMode=function(n,o){o.name=n;(this._.modes||(this._.modes={}))[n]=o;};a.editor.prototype.setMode=function(n){this.fire('beforeSetMode',{newMode:n});var o,p=this.getThemeSpace('contents'),q=this.checkDirty();if(this.mode){if(n==this.mode)return;this._.previousMode=this.mode;this.fire('beforeModeUnload');var r=this.getMode();o=r.getData();r.unload(p);this.mode='';}p.setHtml('');var s=this.getMode(n);if(!s)throw '[CKEDITOR.editor.setMode] Unknown mode "'+n+'".';if(!q)this.on('mode',function(){this.resetDirty();this.removeListener('mode',arguments.callee);});s.load(p,typeof o!='string'?this.getData():o);};a.editor.prototype.getMode=function(n){return this._.modes&&this._.modes[n||this.mode];};a.editor.prototype.focus=function(){this.forceNextSelectionCheck();var n=this.getMode();if(n)n.focus();};})();i.startupMode='wysiwyg';i.editingBlock=true;(function(){function m(){var G=this;try{var D=G.getSelection();if(!D||!D.document.getWindow().$)return;var E=D.getStartElement(),F=new d.elementPath(E);if(!F.compare(G._.selectionPreviousPath)){G._.selectionPreviousPath=F;G.fire('selectionChange',{selection:D,path:F,element:E});
-}}catch(H){}};var n,o;function p(){o=true;if(n)return;q.call(this);n=e.setTimeout(q,200,this);};function q(){n=null;if(o){e.setTimeout(m,0,this);o=false;}};function r(D){function E(I,J){if(!I||I.type==3)return false;var K=D.clone();return K['moveToElementEdit'+(J?'End':'Start')](I);};var F=D.startContainer,G=D.getPreviousNode(A,null,F),H=D.getNextNode(A,null,F);if(E(G)||E(H,1))return true;if(!(G||H)&&!(F.type==1&&F.isBlockBoundary()&&F.getBogus()))return true;return false;};var s={modes:{wysiwyg:1,source:1},readOnly:c||b.webkit,exec:function(D){switch(D.mode){case 'wysiwyg':D.document.$.execCommand('SelectAll',false,null);D.forceNextSelectionCheck();D.selectionChange();break;case 'source':var E=D.textarea.$;if(c)E.createTextRange().execCommand('SelectAll');else{E.selectionStart=0;E.selectionEnd=E.value.length;}E.focus();}},canUndo:false};function t(D){w(D);var E=D.createText('​');D.setCustomData('cke-fillingChar',E);return E;};function u(D){return D&&D.getCustomData('cke-fillingChar');};function v(D){var E=D&&u(D);if(E)if(E.getCustomData('ready'))w(D);else E.setCustomData('ready',1);};function w(D){var E=D&&D.removeCustomData('cke-fillingChar');if(E){var F,G=D.getSelection().getNative(),H=G&&G.type!='None'&&G.getRangeAt(0);if(E.getLength()>1&&H&&H.intersectsNode(E.$)){F=[G.anchorOffset,G.focusOffset];var I=G.anchorNode==E.$&&G.anchorOffset>0,J=G.focusNode==E.$&&G.focusOffset>0;I&&F[0]--;J&&F[1]--;x(G)&&F.unshift(F.pop());}E.setText(E.getText().replace(/\u200B/g,''));if(F){var K=G.getRangeAt(0);K.setStart(K.startContainer,F[0]);K.setEnd(K.startContainer,F[1]);G.removeAllRanges();G.addRange(K);}}};function x(D){if(!D.isCollapsed){var E=D.getRangeAt(0);E.setStart(D.anchorNode,D.anchorOffset);E.setEnd(D.focusNode,D.focusOffset);return E.collapsed;}};j.add('selection',{init:function(D){if(b.webkit){D.on('selectionChange',function(){v(D.document);});D.on('beforeSetMode',function(){w(D.document);});var E,F;function G(){var I=D.document,J=u(I);if(J){var K=I.$.defaultView.getSelection();if(K.type=='Caret'&&K.anchorNode==J.$)F=1;E=J.getText();J.setText(E.replace(/\u200B/g,''));}};function H(){var I=D.document,J=u(I);if(J){J.setText(E);if(F){I.$.defaultView.getSelection().setPosition(J.$,J.getLength());F=0;}}};D.on('beforeUndoImage',G);D.on('afterUndoImage',H);D.on('beforeGetData',G,null,null,0);D.on('getData',H);}D.on('contentDom',function(){var I=D.document,J=a.document,K=I.getBody(),L=I.getDocumentElement();if(c){var M,N,O=1;K.on('focusin',function(V){if(V.data.$.srcElement.nodeName!='BODY')return;
-var W=I.getCustomData('cke_locked_selection');if(W){W.unlock(1);W.lock();}else if(M&&O){try{M.select();}catch(X){}M=null;}});K.on('focus',function(){N=1;U();});K.on('beforedeactivate',function(V){if(V.data.$.toElement)return;N=0;O=1;});c&&D.on('blur',function(){try{I.$.selection.empty();}catch(V){}});L.on('mousedown',function(){O=0;});L.on('mouseup',function(){O=1;});var P;K.on('mousedown',function(V){if(V.data.$.button==2){var W=D.document.$.selection;if(W.type=='None')P=D.window.getScrollPosition();}T();});K.on('mouseup',function(V){if(V.data.$.button==2&&P){D.document.$.documentElement.scrollLeft=P.x;D.document.$.documentElement.scrollTop=P.y;}P=null;N=1;setTimeout(function(){U(true);},0);});K.on('keydown',T);K.on('keyup',function(){N=1;U();});if(I.$.compatMode!='BackCompat'){if(b.ie7Compat||b.ie6Compat){function Q(V,W,X){try{V.moveToPoint(W,X);}catch(Y){}};L.on('mousedown',function(V){function W(ab){ab=ab.data.$;if(Z){var ac=K.$.createTextRange();Q(ac,ab.x,ab.y);Z.setEndPoint(aa.compareEndPoints('StartToStart',ac)<0?'EndToEnd':'StartToStart',ac);Z.select();}};function X(){J.removeListener('mouseup',Y);L.removeListener('mouseup',Y);};function Y(){L.removeListener('mousemove',W);X();Z.select();};V=V.data;if(V.getTarget().is('html')&&V.$.x<L.$.clientWidth&&V.$.y<L.$.clientHeight){var Z=K.$.createTextRange();Q(Z,V.$.x,V.$.y);var aa=Z.duplicate();L.on('mousemove',W);J.on('mouseup',Y);L.on('mouseup',Y);}});}if(b.ie8){L.on('mousedown',function(V){if(V.data.getTarget().is('html')){J.on('mouseup',S);L.on('mouseup',S);}});function R(){J.removeListener('mouseup',S);L.removeListener('mouseup',S);};function S(){R();var V=a.document.$.selection,W=V.createRange();if(V.type!='None'&&W.parentElement().ownerDocument==I.$)W.select();};}}I.on('selectionchange',U);function T(){N=0;};function U(V){if(N){var W=D.document,X=D.getSelection(),Y=X&&X.getNative();if(V&&Y&&Y.type=='None')if(!W.$.queryCommandEnabled('InsertImage')){e.setTimeout(U,50,this,true);return;}var Z;if(Y&&Y.type&&Y.type!='Control'&&(Z=Y.createRange())&&(Z=Z.parentElement())&&(Z=Z.nodeName)&&Z.toLowerCase() in {input:1,textarea:1})return;try{M=Y&&X.getRanges()[0];}catch(aa){}p.call(D);}};}else{I.on('mouseup',p,D);I.on('keyup',p,D);I.on('selectionchange',p,D);}if(b.webkit)I.on('keydown',function(V){var W=V.data.getKey();switch(W){case 13:case 33:case 34:case 35:case 36:case 37:case 39:case 8:case 45:case 46:w(D.document);}},null,null,-1);});D.on('contentDomUnload',D.forceNextSelectionCheck,D);D.addCommand('selectAll',s);
-D.ui.addButton('SelectAll',{label:D.lang.selectAll,command:'selectAll'});D.selectionChange=function(I){(I?m:p).call(this);};b.ie9Compat&&D.on('destroy',function(){var I=D.getSelection();I&&I.getNative().clear();},null,null,9);}});a.editor.prototype.getSelection=function(){return this.document&&this.document.getSelection();};a.editor.prototype.forceNextSelectionCheck=function(){delete this._.selectionPreviousPath;};g.prototype.getSelection=function(){var D=new d.selection(this);return!D||D.isInvalid?null:D;};a.SELECTION_NONE=1;a.SELECTION_TEXT=2;a.SELECTION_ELEMENT=3;d.selection=function(D){var G=this;var E=D.getCustomData('cke_locked_selection');if(E)return E;G.document=D;G.isLocked=0;G._={cache:{}};if(c)try{var F=G.getNative().createRange();if(!F||F.item&&F.item(0).ownerDocument!=G.document.$||F.parentElement&&F.parentElement().ownerDocument!=G.document.$)throw 0;}catch(H){G.isInvalid=true;}return G;};var y={img:1,hr:1,li:1,table:1,tr:1,td:1,th:1,embed:1,object:1,ol:1,ul:1,a:1,input:1,form:1,select:1,textarea:1,button:1,fieldset:1,thead:1,tfoot:1};d.selection.prototype={getNative:c?function(){return this._.cache.nativeSel||(this._.cache.nativeSel=this.document.$.selection);}:function(){return this._.cache.nativeSel||(this._.cache.nativeSel=this.document.getWindow().$.getSelection());},getType:c?function(){var D=this._.cache;if(D.type)return D.type;var E=1;try{var F=this.getNative(),G=F.type;if(G=='Text')E=2;if(G=='Control')E=3;if(F.createRange().parentElement)E=2;}catch(H){}return D.type=E;}:function(){var D=this._.cache;if(D.type)return D.type;var E=2,F=this.getNative();if(!F)E=1;else if(F.rangeCount==1){var G=F.getRangeAt(0),H=G.startContainer;if(H==G.endContainer&&H.nodeType==1&&G.endOffset-G.startOffset==1&&y[H.childNodes[G.startOffset].nodeName.toLowerCase()])E=3;}return D.type=E;},getRanges:(function(){var D=c?(function(){function E(G){return new d.node(G).getIndex();};var F=function(G,H){G=G.duplicate();G.collapse(H);var I=G.parentElement(),J=I.ownerDocument;if(!I.hasChildNodes())return{container:I,offset:0};var K=I.children,L,M,N=G.duplicate(),O=0,P=K.length-1,Q=-1,R,S,T;while(O<=P){Q=Math.floor((O+P)/2);L=K[Q];N.moveToElementText(L);R=N.compareEndPoints('StartToStart',G);if(R>0)P=Q-1;else if(R<0)O=Q+1;else if(b.ie9Compat&&L.tagName=='BR'){var U=J.defaultView.getSelection();return{container:U[H?'anchorNode':'focusNode'],offset:U[H?'anchorOffset':'focusOffset']};}else return{container:I,offset:E(L)};}if(Q==-1||Q==K.length-1&&R<0){N.moveToElementText(I);
-N.setEndPoint('StartToStart',G);S=N.text.replace(/(\r\n|\r)/g,'\n').length;K=I.childNodes;if(!S){L=K[K.length-1];if(L.nodeType!=3)return{container:I,offset:K.length};else return{container:L,offset:L.nodeValue.length};}var V=K.length;while(S>0&&V>0){M=K[--V];if(M.nodeType==3){T=M;S-=M.nodeValue.length;}}return{container:T,offset:-S};}else{N.collapse(R>0?true:false);N.setEndPoint(R>0?'StartToStart':'EndToStart',G);S=N.text.replace(/(\r\n|\r)/g,'\n').length;if(!S)return{container:I,offset:E(L)+(R>0?0:1)};while(S>0)try{M=L[R>0?'previousSibling':'nextSibling'];if(M.nodeType==3){S-=M.nodeValue.length;T=M;}L=M;}catch(W){return{container:I,offset:E(L)};}return{container:T,offset:R>0?-S:T.nodeValue.length+S};}};return function(){var Q=this;var G=Q.getNative(),H=G&&G.createRange(),I=Q.getType(),J;if(!G)return[];if(I==2){J=new d.range(Q.document);var K=F(H,true);J.setStart(new d.node(K.container),K.offset);K=F(H);J.setEnd(new d.node(K.container),K.offset);if(J.endContainer.getPosition(J.startContainer)&4&&J.endOffset<=J.startContainer.getIndex())J.collapse();return[J];}else if(I==3){var L=[];for(var M=0;M<H.length;M++){var N=H.item(M),O=N.parentNode,P=0;J=new d.range(Q.document);for(;P<O.childNodes.length&&O.childNodes[P]!=N;P++){}J.setStart(new d.node(O),P);J.setEnd(new d.node(O),P+1);L.push(J);}return L;}return[];};})():function(){var E=[],F,G=this.document,H=this.getNative();if(!H)return E;if(!H.rangeCount){F=new d.range(G);F.moveToElementEditStart(G.getBody());E.push(F);}for(var I=0;I<H.rangeCount;I++){var J=H.getRangeAt(I);F=new d.range(G);F.setStart(new d.node(J.startContainer),J.startOffset);F.setEnd(new d.node(J.endContainer),J.endOffset);E.push(F);}return E;};return function(E){var F=this._.cache;if(F.ranges&&!E)return F.ranges;else if(!F.ranges)F.ranges=new d.rangeList(D.call(this));if(E){var G=F.ranges;for(var H=0;H<G.length;H++){var I=G[H],J=I.getCommonAncestor();if(J.isReadOnly())G.splice(H,1);if(I.collapsed)continue;if(I.startContainer.isReadOnly()){var K=I.startContainer;while(K){if(K.is('body')||!K.isReadOnly())break;if(K.type==1&&K.getAttribute('contentEditable')=='false')I.setStartAfter(K);K=K.getParent();}}var L=I.startContainer,M=I.endContainer,N=I.startOffset,O=I.endOffset,P=I.clone();if(L&&L.type==3)if(N>=L.getLength())P.setStartAfter(L);else P.setStartBefore(L);if(M&&M.type==3)if(!O)P.setEndBefore(M);else P.setEndAfter(M);var Q=new d.walker(P);Q.evaluator=function(R){if(R.type==1&&R.isReadOnly()){var S=I.clone();I.setEndBefore(R);if(I.collapsed)G.splice(H--,1);
-if(!(R.getPosition(P.endContainer)&16)){S.setStartAfter(R);if(!S.collapsed)G.splice(H+1,0,S);}return true;}return false;};Q.next();}}return F.ranges;};})(),getStartElement:function(){var K=this;var D=K._.cache;if(D.startElement!==undefined)return D.startElement;var E,F=K.getNative();switch(K.getType()){case 3:return K.getSelectedElement();case 2:var G=K.getRanges()[0];if(G){if(!G.collapsed){G.optimize();while(1){var H=G.startContainer,I=G.startOffset;if(I==(H.getChildCount?H.getChildCount():H.getLength())&&!H.isBlockBoundary())G.setStartAfter(H);else break;}E=G.startContainer;if(E.type!=1)return E.getParent();E=E.getChild(G.startOffset);if(!E||E.type!=1)E=G.startContainer;else{var J=E.getFirst();while(J&&J.type==1){E=J;J=J.getFirst();}}}else{E=G.startContainer;if(E.type!=1)E=E.getParent();}E=E.$;}}return D.startElement=E?new h(E):null;},getSelectedElement:function(){var D=this._.cache;if(D.selectedElement!==undefined)return D.selectedElement;var E=this,F=e.tryThese(function(){return E.getNative().createRange().item(0);},function(){var G,H,I=E.getRanges()[0],J=I.getCommonAncestor(1,1),K={table:1,ul:1,ol:1,dl:1};for(var L in K){if(G=J.getAscendant(L,1))break;}if(G){var M=new d.range(this.document);M.setStartAt(G,1);M.setEnd(I.startContainer,I.startOffset);var N=e.extend(K,f.$listItem,f.$tableContent),O=new d.walker(M),P=function(Q,R){return function(S,T){if(S.type==3&&(!e.trim(S.getText())||S.getParent().data('cke-bookmark')))return true;var U;if(S.type==1){U=S.getName();if(U=='br'&&R&&S.equals(S.getParent().getBogus()))return true;if(T&&U in N||U in f.$removeEmpty)return true;}Q.halted=1;return false;};};O.guard=P(O);if(O.checkBackward()&&!O.halted){O=new d.walker(M);M.setStart(I.endContainer,I.endOffset);M.setEndAt(G,2);O.guard=P(O,1);if(O.checkForward()&&!O.halted)H=G.$;}}if(!H)throw 0;return H;},function(){var G=E.getRanges()[0],H,I;for(var J=2;J&&!((H=G.getEnclosedNode())&&H.type==1&&y[H.getName()]&&(I=H));J--)G.shrink(1);return I.$;});return D.selectedElement=F?new h(F):null;},getSelectedText:function(){var D=this._.cache;if(D.selectedText!==undefined)return D.selectedText;var E='',F=this.getNative();if(this.getType()==2)E=c?F.createRange().text:F.toString();return D.selectedText=E;},lock:function(){var D=this;D.getRanges();D.getStartElement();D.getSelectedElement();D.getSelectedText();D._.cache.nativeSel={};D.isLocked=1;D.document.setCustomData('cke_locked_selection',D);},unlock:function(D){var I=this;var E=I.document,F=E.getCustomData('cke_locked_selection');
-if(F){E.setCustomData('cke_locked_selection',null);if(D){var G=F.getSelectedElement(),H=!G&&F.getRanges();I.isLocked=0;I.reset();if(G)I.selectElement(G);else I.selectRanges(H);}}if(!F||!D){I.isLocked=0;I.reset();}},reset:function(){this._.cache={};},selectElement:function(D){var F=this;if(F.isLocked){var E=new d.range(F.document);E.setStartBefore(D);E.setEndAfter(D);F._.cache.selectedElement=D;F._.cache.startElement=D;F._.cache.ranges=new d.rangeList(E);F._.cache.type=3;return;}E=new d.range(D.getDocument());E.setStartBefore(D);E.setEndAfter(D);E.select();F.document.fire('selectionchange');F.reset();},selectRanges:function(D){var R=this;if(R.isLocked){R._.cache.selectedElement=null;R._.cache.startElement=D[0]&&D[0].getTouchedStartNode();R._.cache.ranges=new d.rangeList(D);R._.cache.type=2;return;}if(c){if(D.length>1){var E=D[D.length-1];D[0].setEnd(E.endContainer,E.endOffset);D.length=1;}if(D[0])D[0].select();R.reset();}else{var F=R.getNative();if(!F)return;if(D.length){F.removeAllRanges();b.webkit&&w(R.document);}for(var G=0;G<D.length;G++){if(G<D.length-1){var H=D[G],I=D[G+1],J=H.clone();J.setStart(H.endContainer,H.endOffset);J.setEnd(I.startContainer,I.startOffset);if(!J.collapsed){J.shrink(1,true);var K=J.getCommonAncestor(),L=J.getEnclosedNode();if(K.isReadOnly()||L&&L.isReadOnly()){I.setStart(H.startContainer,H.startOffset);D.splice(G--,1);continue;}}}var M=D[G],N=R.document.$.createRange(),O=M.startContainer;if(M.collapsed&&(b.opera||b.gecko&&b.version<10900)&&O.type==1&&!O.getChildCount())O.appendText('');if(M.collapsed&&b.webkit&&r(M)){var P=t(R.document);M.insertNode(P);var Q=P.getNext();if(Q&&!P.getPrevious()&&Q.type==1&&Q.getName()=='br'){w(R.document);M.moveToPosition(Q,3);}else M.moveToPosition(P,4);}N.setStart(M.startContainer.$,M.startOffset);try{N.setEnd(M.endContainer.$,M.endOffset);}catch(S){if(S.toString().indexOf('NS_ERROR_ILLEGAL_VALUE')>=0){M.collapse(1);N.setEnd(M.endContainer.$,M.endOffset);}else throw S;}F.addRange(N);}R.document.fire('selectionchange');R.reset();}},createBookmarks:function(D){return this.getRanges().createBookmarks(D);},createBookmarks2:function(D){return this.getRanges().createBookmarks2(D);},selectBookmarks:function(D){var E=[];for(var F=0;F<D.length;F++){var G=new d.range(this.document);G.moveToBookmark(D[F]);E.push(G);}this.selectRanges(E);return this;},getCommonAncestor:function(){var D=this.getRanges(),E=D[0].startContainer,F=D[D.length-1].endContainer;return E.getCommonAncestor(F);},scrollIntoView:function(){var D=this.getStartElement();
-D.scrollIntoView();}};var z=d.walker.whitespaces(true),A=d.walker.invisible(1),B=/\ufeff|\u00a0/,C={table:1,tbody:1,tr:1};d.range.prototype.select=c?function(D){var O=this;var E=O.collapsed,F,G,H,I=O.getEnclosedNode();if(I)try{H=O.document.$.body.createControlRange();H.addElement(I.$);H.select();return;}catch(P){}if(O.startContainer.type==1&&O.startContainer.getName() in C||O.endContainer.type==1&&O.endContainer.getName() in C)O.shrink(1,true);var J=O.createBookmark(),K=J.startNode,L;if(!E)L=J.endNode;H=O.document.$.body.createTextRange();H.moveToElementText(K.$);H.moveStart('character',1);if(L){var M=O.document.$.body.createTextRange();M.moveToElementText(L.$);H.setEndPoint('EndToEnd',M);H.moveEnd('character',-1);}else{var N=K.getNext(z);F=!(N&&N.getText&&N.getText().match(B))&&(D||!K.hasPrevious()||K.getPrevious().is&&K.getPrevious().is('br'));G=O.document.createElement('span');G.setHtml('&#65279;');G.insertBefore(K);if(F)O.document.createText('\ufeff').insertBefore(K);}O.setStartBefore(K);K.remove();if(E){if(F){H.moveStart('character',-1);H.select();O.document.$.selection.clear();}else H.select();O.moveToPosition(G,3);G.remove();}else{O.setEndBefore(L);L.remove();H.select();}O.document.fire('selectionchange');}:function(){this.document.getSelection().selectRanges([this]);};})();(function(){var m=a.htmlParser.cssStyle,n=e.cssLength,o=/^((?:\d*(?:\.\d+))|(?:\d+))(.*)?$/i;function p(r,s){var t=o.exec(r),u=o.exec(s);if(t){if(!t[2]&&u[2]=='px')return u[1];if(t[2]=='px'&&!u[2])return u[1]+'px';}return s;};var q={elements:{$:function(r){var s=r.attributes,t=s&&s['data-cke-realelement'],u=t&&new a.htmlParser.fragment.fromHtml(decodeURIComponent(t)),v=u&&u.children[0];if(v&&r.attributes['data-cke-resizable']){var w=new m(r).rules,x=v.attributes,y=w.width,z=w.height;y&&(x.width=p(x.width,y));z&&(x.height=p(x.height,z));}return v;}}};j.add('fakeobjects',{requires:['htmlwriter'],afterInit:function(r){var s=r.dataProcessor,t=s&&s.htmlFilter;if(t)t.addRules(q);}});a.editor.prototype.createFakeElement=function(r,s,t,u){var v=this.lang.fakeobjects,w=v[t]||v.unknown,x={'class':s,'data-cke-realelement':encodeURIComponent(r.getOuterHtml()),'data-cke-real-node-type':r.type,alt:w,title:w,align:r.getAttribute('align')||''};if(!b.hc)x.src=a.getUrl('images/spacer.gif');if(t)x['data-cke-real-element-type']=t;if(u){x['data-cke-resizable']=u;var y=new m(),z=r.getAttribute('width'),A=r.getAttribute('height');z&&(y.rules.width=n(z));A&&(y.rules.height=n(A));y.populate(x);}return this.document.createElement('img',{attributes:x});
-};a.editor.prototype.createFakeParserElement=function(r,s,t,u){var v=this.lang.fakeobjects,w=v[t]||v.unknown,x,y=new a.htmlParser.basicWriter();r.writeHtml(y);x=y.getHtml();var z={'class':s,'data-cke-realelement':encodeURIComponent(x),'data-cke-real-node-type':r.type,alt:w,title:w,align:r.attributes.align||''};if(!b.hc)z.src=a.getUrl('images/spacer.gif');if(t)z['data-cke-real-element-type']=t;if(u){z['data-cke-resizable']=u;var A=r.attributes,B=new m(),C=A.width,D=A.height;C!=undefined&&(B.rules.width=n(C));D!=undefined&&(B.rules.height=n(D));B.populate(z);}return new a.htmlParser.element('img',z);};a.editor.prototype.restoreRealElement=function(r){if(r.data('cke-real-node-type')!=1)return null;var s=h.createFromHtml(decodeURIComponent(r.data('cke-realelement')),this.document);if(r.data('cke-resizable')){var t=r.getStyle('width'),u=r.getStyle('height');t&&s.setAttribute('width',p(s.getAttribute('width'),t));u&&s.setAttribute('height',p(s.getAttribute('height'),u));}return s;};})();j.add('richcombo',{requires:['floatpanel','listblock','button'],beforeInit:function(m){m.ui.addHandler('richcombo',k.richCombo.handler);}});a.UI_RICHCOMBO='richcombo';k.richCombo=e.createClass({$:function(m){var o=this;e.extend(o,m,{title:m.label,modes:{wysiwyg:1}});var n=o.panel||{};delete o.panel;o.id=e.getNextNumber();o.document=n&&n.parent&&n.parent.getDocument()||a.document;n.className=(n.className||'')+' cke_rcombopanel';n.block={multiSelect:n.multiSelect,attributes:n.attributes};o._={panelDefinition:n,items:{},state:2};},statics:{handler:{create:function(m){return new k.richCombo(m);}}},proto:{renderHtml:function(m){var n=[];this.render(m,n);return n.join('');},render:function(m,n){var o=b,p='cke_'+this.id,q=e.addFunction(function(v){var y=this;var w=y._;if(w.state==0)return;y.createPanel(m);if(w.on){w.panel.hide();return;}y.commit();var x=y.getValue();if(x)w.list.mark(x);else w.list.unmarkAll();w.panel.showBlock(y.id,new h(v),4);},this),r={id:p,combo:this,focus:function(){var v=a.document.getById(p).getChild(1);v.focus();},clickFn:q};function s(){var w=this;var v=w.modes[m.mode]?2:0;w.setState(m.readOnly&&!w.readOnly?0:v);w.setValue('');};m.on('mode',s,this);!this.readOnly&&m.on('readOnly',s,this);var t=e.addFunction(function(v,w){v=new d.event(v);var x=v.getKeystroke();switch(x){case 13:case 32:case 40:e.callFunction(q,w);break;default:r.onkey(r,x);}v.preventDefault();}),u=e.addFunction(function(){r.onfocus&&r.onfocus();});r.keyDownFn=t;n.push('<span class="cke_rcombo" role="presentation">','<span id=',p);
-if(this.className)n.push(' class="',this.className,' cke_off"');n.push(' role="presentation">','<span id="'+p+'_label" class=cke_label>',this.label,'</span>','<a hidefocus=true title="',this.title,'" tabindex="-1"',o.gecko&&o.version>=10900&&!o.hc?'':" href=\"javascript:void('"+this.label+"')\"",' role="button" aria-labelledby="',p,'_label" aria-describedby="',p,'_text" aria-haspopup="true"');if(b.opera||b.gecko&&b.mac)n.push(' onkeypress="return false;"');if(b.gecko)n.push(' onblur="this.style.cssText = this.style.cssText;"');n.push(' onkeydown="CKEDITOR.tools.callFunction( ',t,', event, this );" onfocus="return CKEDITOR.tools.callFunction(',u,', event);" '+(c?'onclick="return false;" onmouseup':'onclick')+'="CKEDITOR.tools.callFunction(',q,', this); return false;"><span><span id="'+p+'_text" class="cke_text cke_inline_label">'+this.label+'</span>'+'</span>'+'<span class=cke_openbutton><span class=cke_icon>'+(b.hc?'&#9660;':b.air?'&nbsp;':'')+'</span></span>'+'</a>'+'</span>'+'</span>');if(this.onRender)this.onRender();return r;},createPanel:function(m){if(this._.panel)return;var n=this._.panelDefinition,o=this._.panelDefinition.block,p=n.parent||a.document.getBody(),q=new k.floatPanel(m,p,n),r=q.addListBlock(this.id,o),s=this;q.onShow=function(){if(s.className)this.element.getFirst().addClass(s.className+'_panel');s.setState(1);r.focus(!s.multiSelect&&s.getValue());s._.on=1;if(s.onOpen)s.onOpen();};q.onHide=function(t){if(s.className)this.element.getFirst().removeClass(s.className+'_panel');s.setState(s.modes&&s.modes[m.mode]?2:0);s._.on=0;if(!t&&s.onClose)s.onClose();};q.onEscape=function(){q.hide();};r.onClick=function(t,u){s.document.getWindow().focus();if(s.onClick)s.onClick.call(s,t,u);if(u)s.setValue(t,s._.items[t]);else s.setValue('');q.hide(false);};this._.panel=q;this._.list=r;q.getBlock(this.id).onHide=function(){s._.on=0;s.setState(2);};if(this.init)this.init();},setValue:function(m,n){var p=this;p._.value=m;var o=p.document.getById('cke_'+p.id+'_text');if(o){if(!(m||n)){n=p.label;o.addClass('cke_inline_label');}else o.removeClass('cke_inline_label');o.setHtml(typeof n!='undefined'?n:m);}},getValue:function(){return this._.value||'';},unmarkAll:function(){this._.list.unmarkAll();},mark:function(m){this._.list.mark(m);},hideItem:function(m){this._.list.hideItem(m);},hideGroup:function(m){this._.list.hideGroup(m);},showAll:function(){this._.list.showAll();},add:function(m,n,o){this._.items[m]=o||m;this._.list.add(m,n,o);},startGroup:function(m){this._.list.startGroup(m);
-},commit:function(){var m=this;if(!m._.committed){m._.list.commit();m._.committed=1;k.fire('ready',m);}m._.committed=1;},setState:function(m){var n=this;if(n._.state==m)return;n.document.getById('cke_'+n.id).setState(m);n._.state=m;}}});k.prototype.addRichCombo=function(m,n){this.add(m,'richcombo',n);};j.add('htmlwriter');a.htmlWriter=e.createClass({base:a.htmlParser.basicWriter,$:function(){var o=this;o.base();o.indentationChars='\t';o.selfClosingEnd=' />';o.lineBreakChars='\n';o.forceSimpleAmpersand=0;o.sortAttributes=1;o._.indent=0;o._.indentation='';o._.inPre=0;o._.rules={};var m=f;for(var n in e.extend({},m.$nonBodyContent,m.$block,m.$listItem,m.$tableContent))o.setRules(n,{indent:1,breakBeforeOpen:1,breakAfterOpen:1,breakBeforeClose:!m[n]['#'],breakAfterClose:1});o.setRules('br',{breakAfterOpen:1});o.setRules('title',{indent:0,breakAfterOpen:0});o.setRules('style',{indent:0,breakBeforeClose:1});o.setRules('pre',{indent:0});},proto:{openTag:function(m,n){var p=this;var o=p._.rules[m];if(p._.indent)p.indentation();else if(o&&o.breakBeforeOpen){p.lineBreak();p.indentation();}p._.output.push('<',m);},openTagClose:function(m,n){var p=this;var o=p._.rules[m];if(n)p._.output.push(p.selfClosingEnd);else{p._.output.push('>');if(o&&o.indent)p._.indentation+=p.indentationChars;}if(o&&o.breakAfterOpen)p.lineBreak();m=='pre'&&(p._.inPre=1);},attribute:function(m,n){if(typeof n=='string'){this.forceSimpleAmpersand&&(n=n.replace(/&amp;/g,'&'));n=e.htmlEncodeAttr(n);}this._.output.push(' ',m,'="',n,'"');},closeTag:function(m){var o=this;var n=o._.rules[m];if(n&&n.indent)o._.indentation=o._.indentation.substr(o.indentationChars.length);if(o._.indent)o.indentation();else if(n&&n.breakBeforeClose){o.lineBreak();o.indentation();}o._.output.push('</',m,'>');m=='pre'&&(o._.inPre=0);if(n&&n.breakAfterClose)o.lineBreak();},text:function(m){var n=this;if(n._.indent){n.indentation();!n._.inPre&&(m=e.ltrim(m));}n._.output.push(m);},comment:function(m){if(this._.indent)this.indentation();this._.output.push('<!--',m,'-->');},lineBreak:function(){var m=this;if(!m._.inPre&&m._.output.length>0)m._.output.push(m.lineBreakChars);m._.indent=1;},indentation:function(){var m=this;if(!m._.inPre)m._.output.push(m._.indentation);m._.indent=0;},setRules:function(m,n){var o=this._.rules[m];if(o)e.extend(o,n,true);else this._.rules[m]=n;}}});j.add('menubutton',{requires:['button','menu'],beforeInit:function(m){m.ui.addHandler('menubutton',k.menuButton.handler);}});a.UI_MENUBUTTON='menubutton';
-(function(){var m=function(n){var o=this._;if(o.state===0)return;o.previousState=o.state;var p=o.menu;if(!p){p=o.menu=new a.menu(n,{panel:{className:n.skinClass+' cke_contextmenu',attributes:{'aria-label':n.lang.common.options}}});p.onHide=e.bind(function(){this.setState(this.modes&&this.modes[n.mode]?o.previousState:0);},this);if(this.onMenu)p.addListener(this.onMenu);}if(o.on){p.hide();return;}this.setState(1);p.show(a.document.getById(this._.id),4);};k.menuButton=e.createClass({base:k.button,$:function(n){var o=n.panel;delete n.panel;this.base(n);this.hasArrow=true;this.click=m;},statics:{handler:{create:function(n){return new k.menuButton(n);}}}});})();j.add('dialogui');(function(){var m=function(u){var x=this;x._||(x._={});x._['default']=x._.initValue=u['default']||'';x._.required=u.required||false;var v=[x._];for(var w=1;w<arguments.length;w++)v.push(arguments[w]);v.push(true);e.extend.apply(e,v);return x._;},n={build:function(u,v,w){return new k.dialog.textInput(u,v,w);}},o={build:function(u,v,w){return new k.dialog[v.type](u,v,w);}},p={build:function(u,v,w){var x=v.children,y,z=[],A=[];for(var B=0;B<x.length&&(y=x[B]);B++){var C=[];z.push(C);A.push(a.dialog._.uiElementBuilders[y.type].build(u,y,C));}return new k.dialog[v.type](u,A,z,w,v);}},q={isChanged:function(){return this.getValue()!=this.getInitValue();},reset:function(u){this.setValue(this.getInitValue(),u);},setInitValue:function(){this._.initValue=this.getValue();},resetInitValue:function(){this._.initValue=this._['default'];},getInitValue:function(){return this._.initValue;}},r=e.extend({},k.dialog.uiElement.prototype.eventProcessors,{onChange:function(u,v){if(!this._.domOnChangeRegistered){u.on('load',function(){this.getInputElement().on('change',function(){if(!u.parts.dialog.isVisible())return;this.fire('change',{value:this.getValue()});},this);},this);this._.domOnChangeRegistered=true;}this.on('change',v);}},true),s=/^on([A-Z]\w+)/,t=function(u){for(var v in u){if(s.test(v)||v=='title'||v=='type')delete u[v];}return u;};e.extend(k.dialog,{labeledElement:function(u,v,w,x){if(arguments.length<4)return;var y=m.call(this,v);y.labelId=e.getNextId()+'_label';var z=this._.children=[],A=function(){var B=[],C=v.required?' cke_required':'';if(v.labelLayout!='horizontal')B.push('<label class="cke_dialog_ui_labeled_label'+C+'" ',' id="'+y.labelId+'"',y.inputId?' for="'+y.inputId+'"':'',(v.labelStyle?' style="'+v.labelStyle+'"':'')+'>',v.label,'</label>','<div class="cke_dialog_ui_labeled_content"'+(v.controlStyle?' style="'+v.controlStyle+'"':'')+' role="presentation">',x.call(this,u,v),'</div>');
-else{var D={type:'hbox',widths:v.widths,padding:0,children:[{type:'html',html:'<label class="cke_dialog_ui_labeled_label'+C+'"'+' id="'+y.labelId+'"'+' for="'+y.inputId+'"'+(v.labelStyle?' style="'+v.labelStyle+'"':'')+'>'+e.htmlEncode(v.label)+'</span>'},{type:'html',html:'<span class="cke_dialog_ui_labeled_content"'+(v.controlStyle?' style="'+v.controlStyle+'"':'')+'>'+x.call(this,u,v)+'</span>'}]};a.dialog._.uiElementBuilders.hbox.build(u,D,B);}return B.join('');};k.dialog.uiElement.call(this,u,v,w,'div',null,{role:'presentation'},A);},textInput:function(u,v,w){if(arguments.length<3)return;m.call(this,v);var x=this._.inputId=e.getNextId()+'_textInput',y={'class':'cke_dialog_ui_input_'+v.type,id:x,type:v.type},z;if(v.validate)this.validate=v.validate;if(v.maxLength)y.maxlength=v.maxLength;if(v.size)y.size=v.size;if(v.inputStyle)y.style=v.inputStyle;var A=function(){var B=['<div class="cke_dialog_ui_input_',v.type,'" role="presentation"'];if(v.width)B.push('style="width:'+v.width+'" ');B.push('><input ');y['aria-labelledby']=this._.labelId;this._.required&&(y['aria-required']=this._.required);for(var C in y)B.push(C+'="'+y[C]+'" ');B.push(' /></div>');return B.join('');};k.dialog.labeledElement.call(this,u,v,w,A);},textarea:function(u,v,w){if(arguments.length<3)return;m.call(this,v);var x=this,y=this._.inputId=e.getNextId()+'_textarea',z={};if(v.validate)this.validate=v.validate;z.rows=v.rows||5;z.cols=v.cols||20;if(typeof v.inputStyle!='undefined')z.style=v.inputStyle;var A=function(){z['aria-labelledby']=this._.labelId;this._.required&&(z['aria-required']=this._.required);var B=['<div class="cke_dialog_ui_input_textarea" role="presentation"><textarea class="cke_dialog_ui_input_textarea" id="',y,'" '];for(var C in z)B.push(C+'="'+e.htmlEncode(z[C])+'" ');B.push('>',e.htmlEncode(x._['default']),'</textarea></div>');return B.join('');};k.dialog.labeledElement.call(this,u,v,w,A);},checkbox:function(u,v,w){if(arguments.length<3)return;var x=m.call(this,v,{'default':!!v['default']});if(v.validate)this.validate=v.validate;var y=function(){var z=e.extend({},v,{id:v.id?v.id+'_checkbox':e.getNextId()+'_checkbox'},true),A=[],B=e.getNextId()+'_label',C={'class':'cke_dialog_ui_checkbox_input',type:'checkbox','aria-labelledby':B};t(z);if(v['default'])C.checked='checked';if(typeof z.inputStyle!='undefined')z.style=z.inputStyle;x.checkbox=new k.dialog.uiElement(u,z,A,'input',null,C);A.push(' <label id="',B,'" for="',C.id,'"'+(v.labelStyle?' style="'+v.labelStyle+'"':'')+'>',e.htmlEncode(v.label),'</label>');
-return A.join('');};k.dialog.uiElement.call(this,u,v,w,'span',null,null,y);},radio:function(u,v,w){if(arguments.length<3)return;m.call(this,v);if(!this._['default'])this._['default']=this._.initValue=v.items[0][1];if(v.validate)this.validate=v.valdiate;var x=[],y=this,z=function(){var A=[],B=[],C={'class':'cke_dialog_ui_radio_item','aria-labelledby':this._.labelId},D=v.id?v.id+'_radio':e.getNextId()+'_radio';for(var E=0;E<v.items.length;E++){var F=v.items[E],G=F[2]!==undefined?F[2]:F[0],H=F[1]!==undefined?F[1]:F[0],I=e.getNextId()+'_radio_input',J=I+'_label',K=e.extend({},v,{id:I,title:null,type:null},true),L=e.extend({},K,{title:G},true),M={type:'radio','class':'cke_dialog_ui_radio_input',name:D,value:H,'aria-labelledby':J},N=[];if(y._['default']==H)M.checked='checked';t(K);t(L);if(typeof K.inputStyle!='undefined')K.style=K.inputStyle;x.push(new k.dialog.uiElement(u,K,N,'input',null,M));N.push(' ');new k.dialog.uiElement(u,L,N,'label',null,{id:J,'for':M.id},F[0]);A.push(N.join(''));}new k.dialog.hbox(u,x,A,B);return B.join('');};k.dialog.labeledElement.call(this,u,v,w,z);this._.children=x;},button:function(u,v,w){if(!arguments.length)return;if(typeof v=='function')v=v(u.getParentEditor());m.call(this,v,{disabled:v.disabled||false});a.event.implementOn(this);var x=this;u.on('load',function(A){var B=this.getElement();(function(){B.on('click',function(C){x.fire('click',{dialog:x.getDialog()});C.data.preventDefault();});B.on('keydown',function(C){if(C.data.getKeystroke() in {32:1}){x.click();C.data.preventDefault();}});})();B.unselectable();},this);var y=e.extend({},v);delete y.style;var z=e.getNextId()+'_label';k.dialog.uiElement.call(this,u,y,w,'a',null,{style:v.style,href:'javascript:void(0)',title:v.label,hidefocus:'true','class':v['class'],role:'button','aria-labelledby':z},'<span id="'+z+'" class="cke_dialog_ui_button">'+e.htmlEncode(v.label)+'</span>');},select:function(u,v,w){if(arguments.length<3)return;var x=m.call(this,v);if(v.validate)this.validate=v.validate;x.inputId=e.getNextId()+'_select';var y=function(){var z=e.extend({},v,{id:v.id?v.id+'_select':e.getNextId()+'_select'},true),A=[],B=[],C={id:x.inputId,'class':'cke_dialog_ui_input_select','aria-labelledby':this._.labelId};if(v.size!=undefined)C.size=v.size;if(v.multiple!=undefined)C.multiple=v.multiple;t(z);for(var D=0,E;D<v.items.length&&(E=v.items[D]);D++)B.push('<option value="',e.htmlEncode(E[1]!==undefined?E[1]:E[0]).replace(/"/g,'&quot;'),'" /> ',e.htmlEncode(E[0]));if(typeof z.inputStyle!='undefined')z.style=z.inputStyle;
-x.select=new k.dialog.uiElement(u,z,A,'select',null,C,B.join(''));return A.join('');};k.dialog.labeledElement.call(this,u,v,w,y);},file:function(u,v,w){if(arguments.length<3)return;if(v['default']===undefined)v['default']='';var x=e.extend(m.call(this,v),{definition:v,buttons:[]});if(v.validate)this.validate=v.validate;var y=function(){x.frameId=e.getNextId()+'_fileInput';var z=b.isCustomDomain(),A=['<iframe frameborder="0" allowtransparency="0" class="cke_dialog_ui_input_file" role="presentation" id="',x.frameId,'" title="',v.label,'" src="javascript:void('];A.push(z?"(function(){document.open();document.domain='"+document.domain+"';"+'document.close();'+'})()':'0');A.push(')"></iframe>');return A.join('');};u.on('load',function(){var z=a.document.getById(x.frameId),A=z.getParent();A.addClass('cke_dialog_ui_input_file');});k.dialog.labeledElement.call(this,u,v,w,y);},fileButton:function(u,v,w){if(arguments.length<3)return;var x=m.call(this,v),y=this;if(v.validate)this.validate=v.validate;var z=e.extend({},v),A=z.onClick;z.className=(z.className?z.className+' ':'')+'cke_dialog_ui_button';z.onClick=function(B){var C=v['for'];if(!A||A.call(this,B)!==false){u.getContentElement(C[0],C[1]).submit();this.disable();}};u.on('load',function(){u.getContentElement(v['for'][0],v['for'][1])._.buttons.push(y);});k.dialog.button.call(this,u,z,w);},html:(function(){var u=/^\s*<[\w:]+\s+([^>]*)?>/,v=/^(\s*<[\w:]+(?:\s+[^>]*)?)((?:.|\r|\n)+)$/,w=/\/$/;return function(x,y,z){if(arguments.length<3)return;var A=[],B,C=y.html,D,E;if(C.charAt(0)!='<')C='<span>'+C+'</span>';var F=y.focus;if(F){var G=this.focus;this.focus=function(){G.call(this);typeof F=='function'&&F.call(this);this.fire('focus');};if(y.isFocusable){var H=this.isFocusable;this.isFocusable=H;}this.keyboardFocusable=true;}k.dialog.uiElement.call(this,x,y,A,'span',null,null,'');B=A.join('');D=B.match(u);E=C.match(v)||['','',''];if(w.test(E[1])){E[1]=E[1].slice(0,-1);E[2]='/'+E[2];}z.push([E[1],' ',D[1]||'',E[2]].join(''));};})(),fieldset:function(u,v,w,x,y){var z=y.label,A=function(){var B=[];z&&B.push('<legend'+(y.labelStyle?' style="'+y.labelStyle+'"':'')+'>'+z+'</legend>');for(var C=0;C<w.length;C++)B.push(w[C]);return B.join('');};this._={children:v};k.dialog.uiElement.call(this,u,y,x,'fieldset',null,null,A);}},true);k.dialog.html.prototype=new k.dialog.uiElement();k.dialog.labeledElement.prototype=e.extend(new k.dialog.uiElement(),{setLabel:function(u){var v=a.document.getById(this._.labelId);if(v.getChildCount()<1)new d.text(u,a.document).appendTo(v);
-else v.getChild(0).$.nodeValue=u;return this;},getLabel:function(){var u=a.document.getById(this._.labelId);if(!u||u.getChildCount()<1)return '';else return u.getChild(0).getText();},eventProcessors:r},true);k.dialog.button.prototype=e.extend(new k.dialog.uiElement(),{click:function(){var u=this;if(!u._.disabled)return u.fire('click',{dialog:u._.dialog});u.getElement().$.blur();return false;},enable:function(){this._.disabled=false;var u=this.getElement();u&&u.removeClass('cke_disabled');},disable:function(){this._.disabled=true;this.getElement().addClass('cke_disabled');},isVisible:function(){return this.getElement().getFirst().isVisible();},isEnabled:function(){return!this._.disabled;},eventProcessors:e.extend({},k.dialog.uiElement.prototype.eventProcessors,{onClick:function(u,v){this.on('click',function(){this.getElement().focus();v.apply(this,arguments);});}},true),accessKeyUp:function(){this.click();},accessKeyDown:function(){this.focus();},keyboardFocusable:true},true);k.dialog.textInput.prototype=e.extend(new k.dialog.labeledElement(),{getInputElement:function(){return a.document.getById(this._.inputId);},focus:function(){var u=this.selectParentTab();setTimeout(function(){var v=u.getInputElement();v&&v.$.focus();},0);},select:function(){var u=this.selectParentTab();setTimeout(function(){var v=u.getInputElement();if(v){v.$.focus();v.$.select();}},0);},accessKeyUp:function(){this.select();},setValue:function(u){!u&&(u='');return k.dialog.uiElement.prototype.setValue.apply(this,arguments);},keyboardFocusable:true},q,true);k.dialog.textarea.prototype=new k.dialog.textInput();k.dialog.select.prototype=e.extend(new k.dialog.labeledElement(),{getInputElement:function(){return this._.select.getElement();},add:function(u,v,w){var x=new h('option',this.getDialog().getParentEditor().document),y=this.getInputElement().$;x.$.text=u;x.$.value=v===undefined||v===null?u:v;if(w===undefined||w===null){if(c)y.add(x.$);else y.add(x.$,null);}else y.add(x.$,w);return this;},remove:function(u){var v=this.getInputElement().$;v.remove(u);return this;},clear:function(){var u=this.getInputElement().$;while(u.length>0)u.remove(0);return this;},keyboardFocusable:true},q,true);k.dialog.checkbox.prototype=e.extend(new k.dialog.uiElement(),{getInputElement:function(){return this._.checkbox.getElement();},setValue:function(u,v){this.getInputElement().$.checked=u;!v&&this.fire('change',{value:u});},getValue:function(){return this.getInputElement().$.checked;},accessKeyUp:function(){this.setValue(!this.getValue());
-},eventProcessors:{onChange:function(u,v){if(!c||b.version>8)return r.onChange.apply(this,arguments);else{u.on('load',function(){var w=this._.checkbox.getElement();w.on('propertychange',function(x){x=x.data.$;if(x.propertyName=='checked')this.fire('change',{value:w.$.checked});},this);},this);this.on('change',v);}return null;}},keyboardFocusable:true},q,true);k.dialog.radio.prototype=e.extend(new k.dialog.uiElement(),{setValue:function(u,v){var w=this._.children,x;for(var y=0;y<w.length&&(x=w[y]);y++)x.getElement().$.checked=x.getValue()==u;!v&&this.fire('change',{value:u});},getValue:function(){var u=this._.children;for(var v=0;v<u.length;v++){if(u[v].getElement().$.checked)return u[v].getValue();}return null;},accessKeyUp:function(){var u=this._.children,v;for(v=0;v<u.length;v++){if(u[v].getElement().$.checked){u[v].getElement().focus();return;}}u[0].getElement().focus();},eventProcessors:{onChange:function(u,v){if(!c)return r.onChange.apply(this,arguments);else{u.on('load',function(){var w=this._.children,x=this;for(var y=0;y<w.length;y++){var z=w[y].getElement();z.on('propertychange',function(A){A=A.data.$;if(A.propertyName=='checked'&&this.$.checked)x.fire('change',{value:this.getAttribute('value')});});}},this);this.on('change',v);}return null;}},keyboardFocusable:true},q,true);k.dialog.file.prototype=e.extend(new k.dialog.labeledElement(),q,{getInputElement:function(){var u=a.document.getById(this._.frameId).getFrameDocument();return u.$.forms.length>0?new h(u.$.forms[0].elements[0]):this.getElement();},submit:function(){this.getInputElement().getParent().$.submit();return this;},getAction:function(){return this.getInputElement().getParent().$.action;},registerEvents:function(u){var v=/^on([A-Z]\w+)/,w,x=function(z,A,B,C){z.on('formLoaded',function(){z.getInputElement().on(B,C,z);});};for(var y in u){if(!(w=y.match(v)))continue;if(this.eventProcessors[y])this.eventProcessors[y].call(this,this._.dialog,u[y]);else x(this,this._.dialog,w[1].toLowerCase(),u[y]);}return this;},reset:function(){var u=this._,v=a.document.getById(u.frameId),w=v.getFrameDocument(),x=u.definition,y=u.buttons,z=this.formLoadedNumber,A=this.formUnloadNumber,B=u.dialog._.editor.lang.dir,C=u.dialog._.editor.langCode;if(!z){z=this.formLoadedNumber=e.addFunction(function(){this.fire('formLoaded');},this);A=this.formUnloadNumber=e.addFunction(function(){this.getInputElement().clearCustomData();},this);this.getDialog()._.editor.on('destroy',function(){e.removeFunction(z);e.removeFunction(A);
-});}function D(){w.$.open();if(b.isCustomDomain())w.$.domain=document.domain;var E='';if(x.size)E=x.size-(c?7:0);var F=u.frameId+'_input';w.$.write(['<html dir="'+B+'" lang="'+C+'"><head><title></title></head><body style="margin: 0; overflow: hidden; background: transparent;">','<form enctype="multipart/form-data" method="POST" dir="'+B+'" lang="'+C+'" action="',e.htmlEncode(x.action),'">','<label id="',u.labelId,'" for="',F,'" style="display:none">',e.htmlEncode(x.label),'</label>','<input id="',F,'" aria-labelledby="',u.labelId,'" type="file" name="',e.htmlEncode(x.id||'cke_upload'),'" size="',e.htmlEncode(E>0?E:''),'" />','</form>','</body></html>','<script>window.parent.CKEDITOR.tools.callFunction('+z+');','window.onbeforeunload = function() {window.parent.CKEDITOR.tools.callFunction('+A+')}</script>'].join(''));w.$.close();for(var G=0;G<y.length;G++)y[G].enable();};if(b.gecko)setTimeout(D,500);else D();},getValue:function(){return this.getInputElement().$.value||'';},setInitValue:function(){this._.initValue='';},eventProcessors:{onChange:function(u,v){if(!this._.domOnChangeRegistered){this.on('formLoaded',function(){this.getInputElement().on('change',function(){this.fire('change',{value:this.getValue()});},this);},this);this._.domOnChangeRegistered=true;}this.on('change',v);}},keyboardFocusable:true},true);k.dialog.fileButton.prototype=new k.dialog.button();k.dialog.fieldset.prototype=e.clone(k.dialog.hbox.prototype);a.dialog.addUIElement('text',n);a.dialog.addUIElement('password',n);a.dialog.addUIElement('textarea',o);a.dialog.addUIElement('checkbox',o);a.dialog.addUIElement('radio',o);a.dialog.addUIElement('button',o);a.dialog.addUIElement('select',o);a.dialog.addUIElement('file',o);a.dialog.addUIElement('fileButton',o);a.dialog.addUIElement('html',o);a.dialog.addUIElement('fieldset',p);})();j.add('panel',{beforeInit:function(m){m.ui.addHandler('panel',k.panel.handler);}});a.UI_PANEL='panel';k.panel=function(m,n){var o=this;if(n)e.extend(o,n);e.extend(o,{className:'',css:[]});o.id=e.getNextId();o.document=m;o._={blocks:{}};};k.panel.handler={create:function(m){return new k.panel(m);}};k.panel.prototype={renderHtml:function(m){var n=[];this.render(m,n);return n.join('');},render:function(m,n){var p=this;var o=p.id;n.push('<div class="',m.skinClass,'" lang="',m.langCode,'" role="presentation" style="display:none;z-index:'+(m.config.baseFloatZIndex+1)+'">'+'<div'+' id=',o,' dir=',m.lang.dir,' role="presentation" class="cke_panel cke_',m.lang.dir);if(p.className)n.push(' ',p.className);
-n.push('">');if(p.forceIFrame||p.css.length){n.push('<iframe id="',o,'_frame" frameborder="0" role="application" src="javascript:void(');n.push(b.isCustomDomain()?"(function(){document.open();document.domain='"+document.domain+"';"+'document.close();'+'})()':'0');n.push(')"></iframe>');}n.push('</div></div>');return o;},getHolderElement:function(){var m=this._.holder;if(!m){if(this.forceIFrame||this.css.length){var n=this.document.getById(this.id+'_frame'),o=n.getParent(),p=o.getAttribute('dir'),q=o.getParent().getAttribute('class'),r=o.getParent().getAttribute('lang'),s=n.getFrameDocument();b.iOS&&o.setStyles({overflow:'scroll','-webkit-overflow-scrolling':'touch'});var t=e.addFunction(e.bind(function(w){this.isLoaded=true;if(this.onLoad)this.onLoad();},this)),u='<!DOCTYPE html><html dir="'+p+'" class="'+q+'_container" lang="'+r+'">'+'<head>'+'<style>.'+q+'_container{visibility:hidden}</style>'+e.buildStyleHtml(this.css)+'</head>'+'<body class="cke_'+p+' cke_panel_frame '+b.cssClass+'" style="margin:0;padding:0"'+' onload="( window.CKEDITOR || window.parent.CKEDITOR ).tools.callFunction('+t+');"></body>'+'</html>';s.write(u);var v=s.getWindow();v.$.CKEDITOR=a;s.on('key'+(b.opera?'press':'down'),function(w){var z=this;var x=w.data.getKeystroke(),y=z.document.getById(z.id).getAttribute('dir');if(z._.onKeyDown&&z._.onKeyDown(x)===false){w.data.preventDefault();return;}if(x==27||x==(y=='rtl'?39:37))if(z.onEscape&&z.onEscape(x)===false)w.data.preventDefault();},this);m=s.getBody();m.unselectable();b.air&&e.callFunction(t);}else m=this.document.getById(this.id);this._.holder=m;}return m;},addBlock:function(m,n){var o=this;n=o._.blocks[m]=n instanceof k.panel.block?n:new k.panel.block(o.getHolderElement(),n);if(!o._.currentBlock)o.showBlock(m);return n;},getBlock:function(m){return this._.blocks[m];},showBlock:function(m){var r=this;var n=r._.blocks,o=n[m],p=r._.currentBlock,q=!r.forceIFrame||c?r._.holder:r.document.getById(r.id+'_frame');if(p){q.removeAttributes(p.attributes);p.hide();}r._.currentBlock=o;q.setAttributes(o.attributes);a.fire('ariaWidget',q);o._.focusIndex=-1;r._.onKeyDown=o.onKeyDown&&e.bind(o.onKeyDown,o);o.show();return o;},destroy:function(){this.element&&this.element.remove();}};k.panel.block=e.createClass({$:function(m,n){var o=this;o.element=m.append(m.getDocument().createElement('div',{attributes:{tabIndex:-1,'class':'cke_panel_block',role:'presentation'},styles:{display:'none'}}));if(n)e.extend(o,n);if(!o.attributes.title)o.attributes.title=o.attributes['aria-label'];
-o.keys={};o._.focusIndex=-1;o.element.disableContextMenu();},_:{markItem:function(m){var p=this;if(m==-1)return;var n=p.element.getElementsByTag('a'),o=n.getItem(p._.focusIndex=m);if(b.webkit||b.opera)o.getDocument().getWindow().focus();o.focus();p.onMark&&p.onMark(o);}},proto:{show:function(){this.element.setStyle('display','');},hide:function(){var m=this;if(!m.onHide||m.onHide.call(m)!==true)m.element.setStyle('display','none');},onKeyDown:function(m){var r=this;var n=r.keys[m];switch(n){case 'next':var o=r._.focusIndex,p=r.element.getElementsByTag('a'),q;while(q=p.getItem(++o)){if(q.getAttribute('_cke_focus')&&q.$.offsetWidth){r._.focusIndex=o;q.focus();break;}}return false;case 'prev':o=r._.focusIndex;p=r.element.getElementsByTag('a');while(o>0&&(q=p.getItem(--o))){if(q.getAttribute('_cke_focus')&&q.$.offsetWidth){r._.focusIndex=o;q.focus();break;}}return false;case 'click':case 'mouseup':o=r._.focusIndex;q=o>=0&&r.element.getElementsByTag('a').getItem(o);if(q)q.$[n]?q.$[n]():q.$['on'+n]();return false;}return true;}}});j.add('listblock',{requires:['panel'],onLoad:function(){k.panel.prototype.addListBlock=function(m,n){return this.addBlock(m,new k.listBlock(this.getHolderElement(),n));};k.listBlock=e.createClass({base:k.panel.block,$:function(m,n){var q=this;n=n||{};var o=n.attributes||(n.attributes={});(q.multiSelect=!!n.multiSelect)&&(o['aria-multiselectable']=true);!o.role&&(o.role='listbox');q.base.apply(q,arguments);var p=q.keys;p[40]='next';p[9]='next';p[38]='prev';p[2228224+9]='prev';p[32]=c?'mouseup':'click';c&&(p[13]='mouseup');q._.pendingHtml=[];q._.items={};q._.groups={};},_:{close:function(){if(this._.started){this._.pendingHtml.push('</ul>');delete this._.started;}},getClick:function(){if(!this._.click)this._.click=e.addFunction(function(m){var o=this;var n=true;if(o.multiSelect)n=o.toggle(m);else o.mark(m);if(o.onClick)o.onClick(m,n);},this);return this._.click;}},proto:{add:function(m,n,o){var r=this;var p=r._.pendingHtml,q=e.getNextId();if(!r._.started){p.push('<ul role="presentation" class=cke_panel_list>');r._.started=1;r._.size=r._.size||0;}r._.items[m]=q;p.push('<li id=',q,' class=cke_panel_listItem role=presentation><a id="',q,'_option" _cke_focus=1 hidefocus=true title="',o||m,'" href="javascript:void(\'',m,"')\" "+(c?'onclick="return false;" onmouseup':'onclick')+'="CKEDITOR.tools.callFunction(',r._.getClick(),",'",m,"'); return false;\"",' role="option">',n||m,'</a></li>');},startGroup:function(m){this._.close();var n=e.getNextId();
-this._.groups[m]=n;this._.pendingHtml.push('<h1 role="presentation" id=',n,' class=cke_panel_grouptitle>',m,'</h1>');},commit:function(){var m=this;m._.close();m.element.appendHtml(m._.pendingHtml.join(''));delete m._.size;m._.pendingHtml=[];},toggle:function(m){var n=this.isMarked(m);if(n)this.unmark(m);else this.mark(m);return!n;},hideGroup:function(m){var n=this.element.getDocument().getById(this._.groups[m]),o=n&&n.getNext();if(n){n.setStyle('display','none');if(o&&o.getName()=='ul')o.setStyle('display','none');}},hideItem:function(m){this.element.getDocument().getById(this._.items[m]).setStyle('display','none');},showAll:function(){var m=this._.items,n=this._.groups,o=this.element.getDocument();for(var p in m)o.getById(m[p]).setStyle('display','');for(var q in n){var r=o.getById(n[q]),s=r.getNext();r.setStyle('display','');if(s&&s.getName()=='ul')s.setStyle('display','');}},mark:function(m){var p=this;if(!p.multiSelect)p.unmarkAll();var n=p._.items[m],o=p.element.getDocument().getById(n);o.addClass('cke_selected');p.element.getDocument().getById(n+'_option').setAttribute('aria-selected',true);p.onMark&&p.onMark(o);},unmark:function(m){var q=this;var n=q.element.getDocument(),o=q._.items[m],p=n.getById(o);p.removeClass('cke_selected');n.getById(o+'_option').removeAttribute('aria-selected');q.onUnmark&&q.onUnmark(p);},unmarkAll:function(){var q=this;var m=q._.items,n=q.element.getDocument();for(var o in m){var p=m[o];n.getById(p).removeClass('cke_selected');n.getById(p+'_option').removeAttribute('aria-selected');}q.onUnmark&&q.onUnmark();},isMarked:function(m){return this.element.getDocument().getById(this._.items[m]).hasClass('cke_selected');},focus:function(m){this._.focusIndex=-1;if(m){var n=this.element.getDocument().getById(this._.items[m]).getFirst(),o=this.element.getElementsByTag('a'),p,q=-1;while(p=o.getItem(++q)){if(p.equals(n)){this._.focusIndex=q;break;}}setTimeout(function(){n.focus();},0);}}}});}});a.themes.add('default',(function(){var m={};function n(o,p){var q,r;r=o.config.sharedSpaces;r=r&&r[p];r=r&&a.document.getById(r);if(r){var s='<span class="cke_shared " dir="'+o.lang.dir+'"'+'>'+'<span class="'+o.skinClass+' '+o.id+' cke_editor_'+o.name+'">'+'<span class="'+b.cssClass+'">'+'<span class="cke_wrapper cke_'+o.lang.dir+'">'+'<span class="cke_editor">'+'<div class="cke_'+p+'">'+'</div></span></span></span></span></span>',t=r.append(h.createFromHtml(s,r.getDocument()));if(r.getCustomData('cke_hasshared'))t.hide();else r.setCustomData('cke_hasshared',1);
-q=t.getChild([0,0,0,0]);!o.sharedSpaces&&(o.sharedSpaces={});o.sharedSpaces[p]=q;o.on('focus',function(){for(var u=0,v,w=r.getChildren();v=w.getItem(u);u++){if(v.type==1&&!v.equals(t)&&v.hasClass('cke_shared'))v.hide();}t.show();});o.on('destroy',function(){t.remove();});}return q;};return{build:function(o,p){var q=o.name,r=o.element,s=o.elementMode;if(!r||s==0)return;if(s==1)r.hide();var t=o.fire('themeSpace',{space:'top',html:''}).html,u=o.fire('themeSpace',{space:'contents',html:''}).html,v=o.fireOnce('themeSpace',{space:'bottom',html:''}).html,w=u&&o.config.height,x=o.config.tabIndex||o.element.getAttribute('tabindex')||0;if(!u)w='auto';else if(!isNaN(w))w+='px';var y='',z=o.config.width;if(z){if(!isNaN(z))z+='px';y+='width: '+z+';';}var A=t&&n(o,'top'),B=n(o,'bottom');A&&(A.setHtml(t),t='');B&&(B.setHtml(v),v='');var C='<style>.'+o.skinClass+'{visibility:hidden;}</style>';if(m[o.skinClass])C='';else m[o.skinClass]=1;var D=h.createFromHtml(['<span id="cke_',q,'" class="',o.skinClass,' ',o.id,' cke_editor_',q,'" dir="',o.lang.dir,'" title="',b.gecko?' ':'','" lang="',o.langCode,'"'+(b.webkit?' tabindex="'+x+'"':'')+' role="application"'+' aria-labelledby="cke_',q,'_arialbl"'+(y?' style="'+y+'"':'')+'>'+'<span id="cke_',q,'_arialbl" class="cke_voice_label">'+o.lang.editor+'</span>'+'<span class="',b.cssClass,'" role="presentation"><span class="cke_wrapper cke_',o.lang.dir,'" role="presentation"><table class="cke_editor" border="0" cellspacing="0" cellpadding="0" role="presentation"><tbody><tr',t?'':' style="display:none"',' role="presentation"><td id="cke_top_',q,'" class="cke_top" role="presentation">',t,'</td></tr><tr',u?'':' style="display:none"',' role="presentation"><td id="cke_contents_',q,'" class="cke_contents" style="height:',w,'" role="presentation">',u,'</td></tr><tr',v?'':' style="display:none"',' role="presentation"><td id="cke_bottom_',q,'" class="cke_bottom" role="presentation">',v,'</td></tr></tbody></table>'+C+'</span>'+'</span>'+'</span>'].join(''));D.getChild([1,0,0,0,0]).unselectable();D.getChild([1,0,0,0,2]).unselectable();if(s==1)D.insertAfter(r);else r.append(D);o.container=D;D.disableContextMenu();o.on('contentDirChanged',function(E){var F=(o.lang.dir!=E.data?'add':'remove')+'Class';D.getChild(1)[F]('cke_mixed_dir_content');var G=this.sharedSpaces&&this.sharedSpaces[this.config.toolbarLocation];G&&G.getParent().getParent()[F]('cke_mixed_dir_content');});o.fireOnce('themeLoaded');o.fireOnce('uiReady');},buildDialog:function(o){var p=e.getNextNumber(),q=h.createFromHtml(['<div class="',o.id,'_dialog cke_editor_',o.name.replace('.','\\.'),'_dialog cke_skin_',o.skinName,'" dir="',o.lang.dir,'" lang="',o.langCode,'" role="dialog" aria-labelledby="%title#"><table class="cke_dialog',' '+b.cssClass,' cke_',o.lang.dir,'" style="position:absolute" role="presentation"><tr><td role="presentation"><div class="%body" role="presentation"><div id="%title#" class="%title" role="presentation"></div><a id="%close_button#" class="%close_button" href="javascript:void(0)" title="'+o.lang.common.close+'" role="button"><span class="cke_label">X</span></a>'+'<div id="%tabs#" class="%tabs" role="tablist"></div>'+'<table class="%contents" role="presentation">'+'<tr>'+'<td id="%contents#" class="%contents" role="presentation"></td>'+'</tr>'+'<tr>'+'<td id="%footer#" class="%footer" role="presentation"></td>'+'</tr>'+'</table>'+'</div>'+'<div id="%tl#" class="%tl"></div>'+'<div id="%tc#" class="%tc"></div>'+'<div id="%tr#" class="%tr"></div>'+'<div id="%ml#" class="%ml"></div>'+'<div id="%mr#" class="%mr"></div>'+'<div id="%bl#" class="%bl"></div>'+'<div id="%bc#" class="%bc"></div>'+'<div id="%br#" class="%br"></div>'+'</td></tr>'+'</table>',c?'':'<style>.cke_dialog{visibility:hidden;}</style>','</div>'].join('').replace(/#/g,'_'+p).replace(/%/g,'cke_dialog_')),r=q.getChild([0,0,0,0,0]),s=r.getChild(0),t=r.getChild(1);
-if(c&&!b.ie6Compat){var u=b.isCustomDomain(),v='javascript:void(function(){'+encodeURIComponent('document.open();'+(u?'document.domain="'+document.domain+'";':'')+'document.close();')+'}())',w=h.createFromHtml('<iframe frameBorder="0" class="cke_iframe_shim" src="'+v+'"'+' tabIndex="-1"'+'></iframe>');w.appendTo(r.getParent());}s.unselectable();t.unselectable();return{element:q,parts:{dialog:q.getChild(0),title:s,close:t,tabs:r.getChild(2),contents:r.getChild([3,0,0,0]),footer:r.getChild([3,0,1,0])}};},destroy:function(o){var p=o.container,q=o.element;if(p){p.clearCustomData();p.remove();}if(q){q.clearCustomData();o.elementMode==1&&q.show();delete o.element;}}};})());a.editor.prototype.getThemeSpace=function(m){var n='cke_'+m,o=this._[n]||(this._[n]=a.document.getById(n+'_'+this.name));return o;};a.editor.prototype.resize=function(m,n,o,p){var v=this;var q=v.container,r=a.document.getById('cke_contents_'+v.name),s=b.webkit&&v.document&&v.document.getWindow().$.frameElement,t=p?q.getChild(1):q;t.setSize('width',m,true);s&&(s.style.width='1%');var u=o?0:(t.$.offsetHeight||0)-(r.$.clientHeight||0);r.setStyle('height',Math.max(n-u,0)+'px');s&&(s.style.width='100%');v.fire('resize');};a.editor.prototype.getResizable=function(m){return m?a.document.getById('cke_contents_'+this.name):this.container;};})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/config.js b/rt/share/html/NoAuth/RichText/ckeditor/config.js
deleted file mode 100644
index c3d0edf..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/config.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.editorConfig = function( config )
-{
- // Define changes to default configuration here. For example:
- // config.language = 'fr';
- // config.uiColor = '#AADC6E';
- config.toolbar = 'Full';
-
-config.toolbar_Full =
-[
- ['Cut','Copy','Paste','PasteText','PasteFromWord'],
- ['Undo','Redo','-','-','SelectAll','RemoveFormat'],
- ['Table','HorizontalRule','SpecialChar'],
- '/',
- ['Bold','Italic','Underline','Strike'],
- ['NumberedList','BulletedList','-','Outdent','Indent'],
- ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
- '/',
- ['Format','Font','FontSize'],
- ['TextColor'],
- ['Link']
-];
-
-config.enterMode = CKEDITOR.ENTER_BR;
-config.shiftEnterMode = CKEDITOR.ENTER_P;
-config.enableTabKeyTools = true;
-config.htmlEncodeOutput = false;
-
-config.disableNativeSpellChecker = false;
-config.browserContextMenuOnCtrl = true;
-
-
-config.toolbarStartupExpanded = false;
-config.font_names =
- 'Arial/Arial, Helvetica, sans-serif;' +
- 'Courier New/Courier New, Courier, monospace;' +
- 'Georgia/Georgia, serif;' +
- 'Lucida Sans Unicode/Lucida Sans Unicode, Lucida Grande, sans-serif;' +
- 'Tahoma/Tahoma, Geneva, sans-serif;' +
- 'Times New Roman/Times New Roman, Times, serif;' +
- 'Trebuchet MS/Trebuchet MS, Helvetica, sans-serif;' +
- 'Verdana/Verdana, Geneva, sans-serif';
-};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/contents.css b/rt/share/html/NoAuth/RichText/ckeditor/contents.css
deleted file mode 100644
index ca3d96f..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/contents.css
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-body
-{
- /* Font */
- font-family: Arial, Verdana, sans-serif;
- font-size: 12px;
-
- /* Text color */
- color: #222;
-
- /* Remove the background color to make it transparent */
- background-color: transparent;
-}
-
-ol,ul,dl
-{
- /* IE7: reset rtl list margin. (#7334) */
- *margin-right:0px;
- /* preserved spaces for list items with text direction other than the list. (#6249,#8049)*/
- padding:0 40px;
-}
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/_languages.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/_languages.js
deleted file mode 100644
index 341e839..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/_languages.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-var CKEDITOR_LANGS=(function(){var b={af:'Afrikaans',ar:'Arabic',bg:'Bulgarian',bn:'Bengali/Bangla',bs:'Bosnian',ca:'Catalan',cs:'Czech',cy:'Welsh',da:'Danish',de:'German',el:'Greek',en:'English','en-au':'English (Australia)','en-ca':'English (Canadian)','en-gb':'English (United Kingdom)',eo:'Esperanto',es:'Spanish',et:'Estonian',eu:'Basque',fa:'Persian',fi:'Finnish',fo:'Faroese',fr:'French','fr-ca':'French (Canada)',gl:'Galician',gu:'Gujarati',he:'Hebrew',hi:'Hindi',hr:'Croatian',hu:'Hungarian',is:'Icelandic',it:'Italian',ja:'Japanese',ka:'Georgian',km:'Khmer',ko:'Korean',ku:'Kurdish',lt:'Lithuanian',lv:'Latvian',mn:'Mongolian',ms:'Malay',nb:'Norwegian Bokmal',nl:'Dutch',no:'Norwegian',pl:'Polish',pt:'Portuguese (Portugal)','pt-br':'Portuguese (Brazil)',ro:'Romanian',ru:'Russian',sk:'Slovak',sl:'Slovenian',sr:'Serbian (Cyrillic)','sr-latn':'Serbian (Latin)',sv:'Swedish',th:'Thai',tr:'Turkish',ug:'Uighur',uk:'Ukrainian',vi:'Vietnamese',zh:'Chinese Traditional','zh-cn':'Chinese Simplified'},c=[];for(var d in b)c.push({code:d,name:b[d]});c.sort(function(e,f){return e.name<f.name?-1:1;});return c;})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/_translationstatus.txt b/rt/share/html/NoAuth/RichText/ckeditor/lang/_translationstatus.txt
deleted file mode 100644
index f557c04..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/_translationstatus.txt
+++ /dev/null
@@ -1,65 +0,0 @@
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-
-af.js Found: 551 Missing: 28
-ar.js Found: 471 Missing: 108
-bg.js Found: 397 Missing: 182
-bn.js Found: 293 Missing: 286
-bs.js Found: 176 Missing: 403
-ca.js Found: 550 Missing: 29
-cs.js Found: 579 Missing: 0
-cy.js Found: 579 Missing: 0
-da.js Found: 577 Missing: 2
-de.js Found: 578 Missing: 1
-el.js Found: 449 Missing: 130
-en-au.js Found: 348 Missing: 231
-en-ca.js Found: 346 Missing: 233
-en-gb.js Found: 518 Missing: 61
-eo.js Found: 578 Missing: 1
-es.js Found: 578 Missing: 1
-et.js Found: 577 Missing: 2
-eu.js Found: 418 Missing: 161
-fa.js Found: 577 Missing: 2
-fi.js Found: 579 Missing: 0
-fo.js Found: 577 Missing: 2
-fr-ca.js Found: 322 Missing: 257
-fr.js Found: 578 Missing: 1
-gl.js Found: 293 Missing: 286
-gu.js Found: 577 Missing: 2
-he.js Found: 578 Missing: 1
-hi.js Found: 330 Missing: 249
-hr.js Found: 578 Missing: 1
-hu.js Found: 574 Missing: 5
-id.js Found: 1 Missing: 578
-is.js Found: 327 Missing: 252
-it.js Found: 579 Missing: 0
-ja.js Found: 496 Missing: 83
-ka.js Found: 570 Missing: 9
-km.js Found: 287 Missing: 292
-ko.js Found: 305 Missing: 274
-ku.js Found: 578 Missing: 1
-lt.js Found: 577 Missing: 2
-lv.js Found: 578 Missing: 1
-mk.js Found: 0 Missing: 579
-mn.js Found: 389 Missing: 190
-ms.js Found: 277 Missing: 302
-nb.js Found: 579 Missing: 0
-nl.js Found: 576 Missing: 3
-no.js Found: 579 Missing: 0
-pl.js Found: 578 Missing: 1
-pt-br.js Found: 579 Missing: 0
-pt.js Found: 327 Missing: 252
-ro.js Found: 434 Missing: 145
-ru.js Found: 577 Missing: 2
-sk.js Found: 578 Missing: 1
-sl.js Found: 427 Missing: 152
-sr-latn.js Found: 288 Missing: 291
-sr.js Found: 287 Missing: 292
-sv.js Found: 552 Missing: 27
-th.js Found: 299 Missing: 280
-tr.js Found: 578 Missing: 1
-ug.js Found: 574 Missing: 5
-uk.js Found: 578 Missing: 1
-vi.js Found: 578 Missing: 1
-zh-cn.js Found: 579 Missing: 0
-zh.js Found: 436 Missing: 143
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/af.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/af.js
deleted file mode 100644
index ccc5e72..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/af.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.af={dir:'ltr',editorTitle:'Teksverwerker, %1',editorHelp:'Druk op ALT 0 vir hulp',toolbars:'Editor toolbars',editor:'Teksverwerker',source:'Bron',newPage:'Nuwe bladsy',save:'Bewaar',preview:'Voorbeeld',cut:'Knip',copy:'Kopiëer',paste:'Plak',print:'Druk',underline:'Onderstreep',bold:'Vet',italic:'Skuins',selectAll:'Selekteer alles',removeFormat:'Verwyder opmaak',strike:'Deurstreep',subscript:'Onderskrif',superscript:'Bo-skrif',horizontalrule:'Horisontale lyn invoeg',pagebreak:'Bladsy-einde invoeg',pagebreakAlt:'Bladsy-einde',unlink:'Verwyder skakel',undo:'Ontdoen',redo:'Oordoen',common:{browseServer:'Blaai op bediener',url:'URL',protocol:'Protokol',upload:'Oplaai',uploadSubmit:'Stuur na bediener',image:'Afbeelding',flash:'Flash',form:'Vorm',checkbox:'Merkhokkie',radio:'Radioknoppie',textField:'Teksveld',textarea:'Teks-area',hiddenField:'Blinde veld',button:'Knop',select:'Keuseveld',imageButton:'Afbeeldingsknop',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',generalTab:'Algemeen',advancedTab:'Gevorderd',validateNumberFailed:"Hierdie waarde is nie 'n getal nie.",confirmNewPage:"Alle wysiginge sal verlore gaan. Is u seker dat u 'n nuwe bladsy wil laai?",confirmCancel:'Sommige opsies is gewysig. Is u seker dat u hierdie dialoogvenster wil sluit?',options:'Opsies',target:'Doel',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:'Oplyn',alignLeft:'Links',alignRight:'Regs',alignCenter:'Sentreer',alignTop:'Bo',alignMiddle:'Middel',alignBottom:'Onder',invalidValue:'Invalid value.',invalidHeight:"Hoogte moet 'n getal wees",invalidWidth:"Breedte moet 'n getal wees.",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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, nie beskikbaar nie</span>'},contextmenu:{options:'Konteks Spyskaart-opsies'},specialChar:{toolbar:'Voeg spesiaale karakter in',title:'Kies spesiale karakter',options:'Spesiale karakter-opsies'},link:{toolbar:'Skakel invoeg/wysig',other:'<ander>',menu:'Wysig skakel',title:'Skakel',info:'Skakel informasie',target:'Doel',upload:'Oplaai',advanced:'Gevorderd',type:'Skakelsoort',toUrl:'URL',toAnchor:'Anker in bladsy',toEmail:'E-pos',targetFrame:'<raam>',targetPopup:'<opspringvenster>',targetFrameName:'Naam van doelraam',targetPopupName:'Naam van opspringvenster',popupFeatures:'Eienskappe van opspringvenster',popupResizable:'Herskaalbaar',popupStatusBar:'Statusbalk',popupLocationBar:'Adresbalk',popupToolbar:'Werkbalk',popupMenuBar:'Spyskaartbalk',popupFullScreen:'Volskerm (IE)',popupScrollBars:'Skuifbalke',popupDependent:'Afhanklik (Netscape)',popupLeft:'Posisie links',popupTop:'Posisie bo',id:'Id',langDir:'Skryfrigting',langDirLTR:'Links na regs (LTR)',langDirRTL:'Regs na links (RTL)',acccessKey:'Toegangsleutel',name:'Naam',langCode:'Taalkode',tabIndex:'Tab indeks',advisoryTitle:'Aanbevole titel',advisoryContentType:'Aanbevole inhoudstipe',cssClasses:'CSS klasse',charset:'Karakterstel van geskakelde bron',styles:'Styl',rel:'Relationship',selectAnchor:"Kies 'n anker",anchorName:'Op ankernaam',anchorId:'Op element Id',emailAddress:'E-posadres',emailSubject:'Berig-onderwerp',emailBody:'Berig-inhoud',noAnchors:'(Geen ankers beskikbaar in dokument)',noUrl:'Gee die skakel se URL',noEmail:'Gee die e-posadres'},anchor:{toolbar:'Anker byvoeg/verander',menu:'Anker-eienskappe',title:'Anker-eienskappe',name:'Ankernaam',errorName:'Voltooi die ankernaam asseblief',remove:'Remove Anchor'},list:{numberedTitle:'Eienskappe van genommerde lys',bulletedTitle:'Eienskappe van ongenommerde lys',type:'Tipe',start:'Begin',validateStartNumber:"Beginnommer van lys moet 'n heelgetal wees.",circle:'Sirkel',disc:'Skyf',square:'Vierkant',none:'Geen',notset:'<nie ingestel nie>',armenian:'Armeense nommering',georgian:'Georgiese nommering (an, ban, gan, ens.)',lowerRoman:'Romeinse kleinletters (i, ii, iii, iv, v, ens.)',upperRoman:'Romeinse hoofletters (I, II, III, IV, V, ens.)',lowerAlpha:'Kleinletters (a, b, c, d, e, ens.)',upperAlpha:'Hoofletters (A, B, C, D, E, ens.)',lowerGreek:'Griekse kleinletters (alpha, beta, gamma, ens.)',decimal:'Desimale syfers (1, 2, 3, ens.)',decimalLeadingZero:'Desimale syfers met voorloopnul (01, 02, 03, ens.)'},findAndReplace:{title:'Soek en vervang',find:'Soek',replace:'Vervang',findWhat:'Soek na:',replaceWith:'Vervang met:',notFoundMsg:'Teks nie gevind nie.',findOptions:'Find Options',matchCase:'Hoof/kleinletter sensitief',matchWord:'Hele woord moet voorkom',matchCyclic:'Soek deurlopend',replaceAll:'Vervang alles',replaceSuccessMsg:'%1 voorkoms(te) vervang.'},table:{toolbar:'Tabel',title:'Tabel eienskappe',menu:'Tabel eienskappe',deleteTable:'Verwyder tabel',rows:'Rye',columns:'Kolomme',border:'Randbreedte',widthPx:'piksels',widthPc:'persent',widthUnit:'breedte-eenheid',cellSpace:'Sel-afstand',cellPad:'Sel-spasie',caption:'Naam',summary:'Opsomming',headers:'Opskrifte',headersNone:'Geen',headersColumn:'Eerste kolom',headersRow:'Eerste ry',headersBoth:'Beide ',invalidRows:"Aantal rye moet 'n getal groter as 0 wees.",invalidCols:"Aantal kolomme moet 'n getal groter as 0 wees.",invalidBorder:"Randbreedte moet 'n getal wees.",invalidWidth:"Tabelbreedte moet 'n getal wees.",invalidHeight:"Tabelhoogte moet 'n getal wees.",invalidCellSpacing:"Sel-afstand moet 'n getal wees.",invalidCellPadding:"Sel-spasie moet 'n getal wees.",cell:{menu:'Sel',insertBefore:'Voeg sel in voor',insertAfter:'Voeg sel in na',deleteCell:'Verwyder sel',merge:'Voeg selle saam',mergeRight:'Voeg saam na regs',mergeDown:'Voeg saam ondertoe',splitHorizontal:'Splits sel horisontaal',splitVertical:'Splits sel vertikaal',title:'Sel eienskappe',cellType:'Sel tipe',rowSpan:'Omspan rye',colSpan:'Omspan kolomme',wordWrap:'Woord terugloop',hAlign:'Horisontale oplyning',vAlign:'Vertikale oplyning',alignBaseline:'Basislyn',bgColor:'Agtergrondkleur',borderColor:'Randkleur',data:'Inhoud',header:'Opskrif',yes:'Ja',no:'Nee',invalidWidth:"Selbreedte moet 'n getal wees.",invalidHeight:"Selhoogte moet 'n getal wees.",invalidRowSpan:"Omspan rye moet 'n heelgetal wees.",invalidColSpan:"Omspan kolomme moet 'n heelgetal wees.",chooseColor:'Kies'},row:{menu:'Ry',insertBefore:'Voeg ry in voor',insertAfter:'Voeg ry in na',deleteRow:'Verwyder ry'},column:{menu:'Kolom',insertBefore:'Voeg kolom in voor',insertAfter:'Voeg kolom in na',deleteColumn:'Verwyder kolom'}},button:{title:'Knop eienskappe',text:'Teks (Waarde)',type:'Soort',typeBtn:'Knop',typeSbm:'Stuur',typeRst:'Maak leeg'},checkboxAndRadio:{checkboxTitle:'Merkhokkie eienskappe',radioTitle:'Radioknoppie eienskappe',value:'Waarde',selected:'Geselekteer'},form:{title:'Vorm eienskappe',menu:'Vorm eienskappe',action:'Aksie',method:'Metode',encoding:'Kodering'},select:{title:'Keuseveld eienskappe',selectInfo:'Info',opAvail:'Beskikbare opsies',value:'Waarde',size:'Grootte',lines:'Lyne',chkMulti:'Laat meer as een keuse toe',opText:'Teks',opValue:'Waarde',btnAdd:'Byvoeg',btnModify:'Wysig',btnUp:'Op',btnDown:'Af',btnSetValue:'Stel as geselekteerde waarde',btnDelete:'Verwyder'},textarea:{title:'Teks-area eienskappe',cols:'Kolomme',rows:'Rye'},textfield:{title:'Teksveld eienskappe',name:'Naam',value:'Waarde',charWidth:'Breedte (karakters)',maxChars:'Maksimum karakters',type:'Soort',typeText:'Teks',typePass:'Wagwoord'},hidden:{title:'Verborge veld eienskappe',name:'Naam',value:'Waarde'},image:{title:'Afbeelding eienskappe',titleButton:'Afbeeldingsknop eienskappe',menu:'Afbeelding eienskappe',infoTab:'Afbeelding informasie',btnUpload:'Stuur na bediener',upload:'Oplaai',alt:'Alternatiewe teks',lockRatio:'Vaste proporsie',resetSize:'Herstel grootte',border:'Rand',hSpace:'HSpasie',vSpace:'VSpasie',alertUrl:'Gee URL van afbeelding.',linkTab:'Skakel',button2Img:"Wil u die geselekteerde afbeeldingsknop vervang met 'n eenvoudige afbeelding?",img2Button:"Wil u die geselekteerde afbeelding vervang met 'n afbeeldingsknop?",urlMissing:'Die URL na die afbeelding ontbreek.',validateBorder:"Rand moet 'n heelgetal wees.",validateHSpace:"HSpasie moet 'n heelgetal wees.",validateVSpace:"VSpasie moet 'n heelgetal wees."},flash:{properties:'Flash eienskappe',propertiesTab:'Eienskappe',title:'Flash eienskappe',chkPlay:'Speel outomaties',chkLoop:'Herhaal',chkMenu:'Flash spyskaart aan',chkFull:'Laat volledige skerm toe',scale:'Skaal',scaleAll:'Wys alles',scaleNoBorder:'Geen rand',scaleFit:'Presiese pas',access:'Skrip toegang',accessAlways:'Altyd',accessSameDomain:'Selfde domeinnaam',accessNever:'Nooit',alignAbsBottom:'Absoluut-onder',alignAbsMiddle:'Absoluut-middel',alignBaseline:'Basislyn',alignTextTop:'Teks bo',quality:'Kwaliteit',qualityBest:'Beste',qualityHigh:'Hoog',qualityAutoHigh:'Outomaties hoog',qualityMedium:'Gemiddeld',qualityAutoLow:'Outomaties laag',qualityLow:'Laag',windowModeWindow:'Venster',windowModeOpaque:'Ondeursigtig',windowModeTransparent:'Deursigtig',windowMode:'Venster modus',flashvars:'Veranderlikes vir Flash',bgcolor:'Agtergrondkleur',hSpace:'HSpasie',vSpace:'VSpasie',validateSrc:'Voeg die URL in',validateHSpace:"HSpasie moet 'n heelgetal wees.",validateVSpace:"VSpasie moet 'n heelgetal wees."},spellCheck:{toolbar:'Speltoets',title:'Speltoetser',notAvailable:'Jammer, hierdie diens is nie nou beskikbaar nie.',errorLoading:'Fout by inlaai van diens: %s.',notInDic:'Nie in woordeboek nie',changeTo:'Verander na',btnIgnore:'Ignoreer',btnIgnoreAll:'Ignoreer alles',btnReplace:'Vervang',btnReplaceAll:'vervang alles',btnUndo:'Ontdoen',noSuggestions:'- Geen voorstel -',progress:'Spelling word getoets...',noMispell:'Klaar met speltoets: Geen foute nie',noChanges:'Klaar met speltoets: Geen woorde verander nie',oneChange:'Klaar met speltoets: Een woord verander',manyChanges:'Klaar met speltoets: %1 woorde verander',ieSpellDownload:'Speltoetser is nie geïnstalleer nie. Wil u dit nou aflaai?'},smiley:{toolbar:'Lagbekkie',title:'Voeg lagbekkie by',options:'Lagbekkie opsies'},elementsPath:{eleLabel:'Elemente-pad',eleTitle:'%1 element'},numberedlist:'Genommerde lys',bulletedlist:'Ongenommerde lys',indent:'Vergroot inspring',outdent:'Verklein inspring',justify:{left:'Links oplyn',center:'Sentreer',right:'Regs oplyn',block:'Uitvul'},blockquote:'Sitaatblok',clipboard:{title:'Byvoeg',cutError:'U blaaier se sekuriteitsinstelling belet die outomatiese knip-aksie. Gebruik die sleutelbordkombinasie (Ctrl/Cmd+X).',copyError:'U blaaier se sekuriteitsinstelling belet die kopiëringsaksie. Gebruik die sleutelbordkombinasie (Ctrl/Cmd+C).',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.',pasteArea:'Plak-area'},pastefromword:{confirmCleanup:'Die teks wat u wil plak lyk asof dit uit Word gekopiëer is. Wil u dit eers skoonmaak voordat dit geplak word?',toolbar:'Plak vanuit Word',title:'Plak vanuit Word',error:"Die geplakte teks kon nie skoongemaak word nie, weens 'n interne fout"},pasteText:{button:'Plak as eenvoudige teks',title:'Plak as eenvoudige teks'},templates:{button:'Sjablone',title:'Inhoud Sjablone',options:'Sjabloon opsies',insertOption:'Vervang huidige inhoud',selectPromptMsg:'Kies die sjabloon om te gebruik in die redigeerder (huidige inhoud gaan verlore):',emptyListMsg:'(Geen sjablone gedefineer nie)'},showBlocks:'Toon blokke',stylesCombo:{label:'Styl',panelTitle:'Opmaak style',panelTitle1:'Blok style',panelTitle2:'Inlyn style',panelTitle3:'Objek style'},format:{label:'Opmaak',panelTitle:'Opmaak',tag_p:'Normaal',tag_pre:'Opgemaak',tag_address:'Adres',tag_h1:'Opskrif 1',tag_h2:'Opskrif 2',tag_h3:'Opskrif 3',tag_h4:'Opskrif 4',tag_h5:'Opskrif 5',tag_h6:'Opskrif 6',tag_div:'Normaal (DIV)'},div:{title:'Skep Div houer',toolbar:'Skep Div houer',cssClassInputLabel:'CSS klasse',styleSelectLabel:'Styl',IdInputLabel:'Id',languageCodeInputLabel:' Taalkode',inlineStyleInputLabel:'Inlyn Styl',advisoryTitleInputLabel:'Aanbevole Titel',langDirLabel:'Skryfrigting',langDirLTRLabel:'Links na regs (LTR)',langDirRTLLabel:'Regs na links (RTL)',edit:'Wysig Div',remove:'Verwyder Div'},iframe:{title:'IFrame Eienskappe',toolbar:'IFrame',noUrl:'Gee die iframe URL',scrolling:'Skuifbalke aan',border:'Wys rand van raam'},font:{label:'Font',voiceLabel:'Font',panelTitle:'Fontnaam'},fontSize:{label:'Grootte',voiceLabel:'Fontgrootte',panelTitle:'Fontgrootte'},colorButton:{textColorTitle:'Tekskleur',bgColorTitle:'Agtergrondkleur',panelTitle:'Kleure',auto:'Outomaties',more:'Meer Kleure...'},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'},scayt:{title:'Speltoets terwyl u tik',opera_title:'Nie ondersteun deur Opera nie',enable:'SCAYT aan',disable:'SCAYT af',about:'SCAYT info',toggle:'SCAYT wissel aan/af',options:'Opsies',langs:'Tale',moreSuggestions:'Meer voorstelle',ignore:'Ignoreer',ignoreAll:'Ignoreer alles',addWord:'Voeg woord by',emptyDic:'Woordeboeknaam mag nie leeg wees nie.',noSuggestions:'Geen voorstel',optionsTab:'Opsies',allCaps:'Ignoreer woorde in hoofletters',ignoreDomainNames:'Ignoreer domeinname',mixedCase:'Ignoreer woorde met hoof- en kleinletters',mixedWithDigits:'Ignoreer woorde met syfers',languagesTab:'Tale',dictionariesTab:'Woordeboeke',dic_field_name:'Naam van woordeboek',dic_create:'Skep',dic_restore:'Herstel',dic_delete:'Verwijder',dic_rename:'Hernoem',dic_info:"Aanvanklik word die gebruikerswoordeboek in 'n koekie gestoor. Koekies is egter beperk in grootte. Wanneer die gebruikerswoordeboek te groot vir 'n koekie geword het, kan dit op ons bediener gestoor word. Om u persoonlike woordeboek op ons bediener te stoor, gee asb. 'n naam vir u woordeboek. Indien u alreeds 'n gestoorde woordeboek het, tik die naam en kliek op die Herstel knop.",aboutTab:'Info'},about:{title:'Info oor CKEditor',dlgTitle:'Info oor CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'Vir lisensie-informasie, besoek asb. ons webwerf:',copy:'Kopiereg &copy; $1. Alle regte voorbehou.'},maximize:'Maksimaliseer',minimize:'Minimaliseer',fakeobjects:{anchor:'Anker',flash:'Flash animasie',iframe:'IFrame',hiddenfield:'Verborge veld',unknown:'Onbekende objek'},resize:'Sleep om te herskaal',colordialog:{title:'Kies kleur',options:'Kleuropsies',highlight:'Aktief',selected:'Geselekteer',clear:'Herstel'},toolbarCollapse:'Verklein werkbalk',toolbarExpand:'Vergroot werkbalk',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'},bidi:{ltr:'Skryfrigting van links na regs',rtl:'Skryfrigting van regs na links'},docprops:{label:'Dokument Eienskappe',title:'Dokument Eienskappe',design:'Design',meta:'Meta Data',chooseColor:'Kies',other:'<ander>',docTitle:'Bladsy Opskrif',charset:'Karakterstel Kodeering',charsetOther:'Ander Karakterstel Kodeering',charsetASCII:'ASCII',charsetCE:'Sentraal Europa',charsetCT:'Chinees Traditioneel (Big5)',charsetCR:'Cyrillic',charsetGR:'Grieks',charsetJP:'Japanees',charsetKR:'Koreans',charsetTR:'Turks',charsetUN:'Unicode (UTF-8)',charsetWE:'Western European',docType:'Dokument Opskrif Soort',docTypeOther:'Ander Dokument Opskrif Soort',xhtmlDec:'Voeg XHTML verklaring by',bgColor:'Agtergrond kleur',bgImage:'Agtergrond Beeld URL',bgFixed:'Vasgeklemde Agtergrond',txtColor:'Tekskleur',margin:'Bladsy Rante',marginTop:'Bo',marginLeft:'Links',marginRight:'Regs',marginBottom:'Onder',metaKeywords:'Dokument Index Sleutelwoorde(comma verdeelt)',metaDescription:'Dokument Beskrywing',metaAuthor:'Skrywer',metaCopyright:'Kopiereg',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/ar.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/ar.js
deleted file mode 100644
index 39df178..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/ar.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.ar={dir:'rtl',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'Editor toolbars',editor:'Rich Text Editor',source:'المصدر',newPage:'صÙحة جديدة',save:'Ø­Ùظ',preview:'معاينة الصÙحة',cut:'قص',copy:'نسخ',paste:'لصق',print:'طباعة',underline:'تسطير',bold:'غامق',italic:'مائل',selectAll:'تحديد الكل',removeFormat:'إزالة التنسيقات',strike:'يتوسطه خط',subscript:'منخÙض',superscript:'مرتÙع',horizontalrule:'خط Ùاصل',pagebreak:'إدخال صÙحة جديدة',pagebreakAlt:'Page Break',unlink:'إزالة رابط',undo:'تراجع',redo:'إعادة',common:{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:'استعراض',generalTab:'عام',advancedTab:'متقدم',validateNumberFailed:'لايوجد نتيجة',confirmNewPage:'ستÙقد أي متغييرات اذا لم تقم بحÙظها اولا. هل أنت متأكد أنك تريد صÙحة جديدة؟',confirmCancel:'بعض الخيارات قد تغيرت. هل أنت متأكد من إغلاق مربع النص؟',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:'العرض',height:'الإرتÙاع',align:'محاذاة',alignLeft:'يسار',alignRight:'يمين',alignCenter:'وسط',alignTop:'أعلى',alignMiddle:'وسط',alignBottom:'أسÙÙ„',invalidValue:'Invalid value.',invalidHeight:'الارتÙاع يجب أن يكون عدداً.',invalidWidth:'العرض يجب أن يكون عدداً.',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, غير متاح</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'إدراج خاص.Ù',title:'اختر الخواص',options:'Special Character Options'},link:{toolbar:'رابط',other:'<أخرى>',menu:'تحرير رابط',title:'إرتباط تشعبي',info:'معلومات الرابط',target:'هد٠الرابط',upload:'رÙع',advanced:'متقدم',type:'نوع الربط',toUrl:'URL',toAnchor:'مكان ÙÙŠ هذا المستند',toEmail:'بريد إلكتروني',targetFrame:'<إطار>',targetPopup:'<ناÙذة منبثقة>',targetFrameName:'اسم الإطار المستهدÙ',targetPopupName:'اسم الناÙذة المنبثقة',popupFeatures:'خصائص الناÙذة المنبثقة',popupResizable:'قابلة التشكيل',popupStatusBar:'شريط الحالة',popupLocationBar:'شريط العنوان',popupToolbar:'شريط الأدوات',popupMenuBar:'القوائم الرئيسية',popupFullScreen:'ملئ الشاشة (IE)',popupScrollBars:'أشرطة التمرير',popupDependent:'تابع (Netscape)',popupLeft:'التمركز لليسار',popupTop:'التمركز للأعلى',id:'هوية',langDir:'إتجاه النص',langDirLTR:'اليسار لليمين (LTR)',langDirRTL:'اليمين لليسار (RTL)',acccessKey:'Ù…Ùاتيح الإختصار',name:'الاسم',langCode:'كود النص',tabIndex:'الترتيب',advisoryTitle:'عنوان التقرير',advisoryContentType:'نوع التقرير',cssClasses:'Ùئات التنسيق',charset:'ترميز المادة المطلوبة',styles:'نمط',rel:'Relationship',selectAnchor:'اختر علامة مرجعية',anchorName:'حسب الاسم',anchorId:'حسب رقم العنصر',emailAddress:'عنوان البريد إلكتروني',emailSubject:'موضوع الرسالة',emailBody:'محتوى الرسالة',noAnchors:'(لا توجد علامات مرجعية ÙÙŠ هذا المستند)',noUrl:'من Ùضلك أدخل عنوان الموقع الذي يشير إليه الرابط',noEmail:'من Ùضلك أدخل عنوان البريد الإلكتروني'},anchor:{toolbar:'إشارة مرجعية',menu:'تحرير الإشارة المرجعية',title:'خصائص الإشارة المرجعية',name:'اسم الإشارة المرجعية',errorName:'الرجاء كتابة اسم الإشارة المرجعية',remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'بحث واستبدال',find:'بحث',replace:'إستبدال',findWhat:'البحث بـ:',replaceWith:'إستبدال بـ:',notFoundMsg:'لم يتم العثور على النص المحدد.',findOptions:'Find Options',matchCase:'مطابقة حالة الأحرÙ',matchWord:'مطابقة بالكامل',matchCyclic:'مطابقة دورية',replaceAll:'إستبدال الكل',replaceSuccessMsg:'تم استبدال 1% من الحالات '},table:{toolbar:'جدول',title:'خصائص الجدول',menu:'خصائص الجدول',deleteTable:'حذ٠الجدول',rows:'صÙÙˆÙ',columns:'أعمدة',border:'الحدود',widthPx:'بكسل',widthPc:'بالمئة',widthUnit:'width unit',cellSpace:'تباعد الخلايا',cellPad:'المساÙØ© البادئة',caption:'الوصÙ',summary:'الخلاصة',headers:'العناوين',headersNone:'بدون',headersColumn:'العمود الأول',headersRow:'الص٠الأول',headersBoth:'كلاهما',invalidRows:'عدد الصÙو٠يجب أن يكون عدداً أكبر من صÙر.',invalidCols:'عدد الأعمدة يجب أن يكون عدداً أكبر من صÙر.',invalidBorder:'حجم الحد يجب أن يكون عدداً.',invalidWidth:'عرض الجدول يجب أن يكون عدداً.',invalidHeight:'ارتÙاع الجدول يجب أن يكون عدداً.',invalidCellSpacing:'المساÙØ© بين الخلايا يجب أن تكون عدداً.',invalidCellPadding:'المساÙØ© البادئة يجب أن تكون عدداً',cell:{menu:'خلية',insertBefore:'إدراج خلية قبل',insertAfter:'إدراج خلية بعد',deleteCell:'حذ٠خلية',merge:'دمج خلايا',mergeRight:'دمج لليمين',mergeDown:'دمج للأسÙÙ„',splitHorizontal:'تقسيم الخلية Ø£Ùقياً',splitVertical:'تقسيم الخلية عمودياً',title:'خصائص الخلية',cellType:'نوع الخلية',rowSpan:'امتداد الصÙÙˆÙ',colSpan:'امتداد الأعمدة',wordWrap:'التÙا٠النص',hAlign:'محاذاة Ø£Ùقية',vAlign:'محاذاة رأسية',alignBaseline:'خط القاعدة',bgColor:'لون الخلÙية',borderColor:'لون الحدود',data:'بيانات',header:'عنوان',yes:'نعم',no:'لا',invalidWidth:'عرض الخلية يجب أن يكون عدداً.',invalidHeight:'ارتÙاع الخلية يجب أن يكون عدداً.',invalidRowSpan:'امتداد الصÙو٠يجب أن يكون عدداً صحيحاً.',invalidColSpan:'امتداد الأعمدة يجب أن يكون عدداً صحيحاً.',chooseColor:'اختر'},row:{menu:'صÙ',insertBefore:'إدراج ص٠قبل',insertAfter:'إدراج ص٠بعد',deleteRow:'حذ٠صÙÙˆÙ'},column:{menu:'عمود',insertBefore:'إدراج عمود قبل',insertAfter:'إدراج عمود بعد',deleteColumn:'حذ٠أعمدة'}},button:{title:'خصائص زر الضغط',text:'القيمة/التسمية',type:'نوع الزر',typeBtn:'زر',typeSbm:'إرسال',typeRst:'إعادة تعيين'},checkboxAndRadio:{checkboxTitle:'خصائص خانة الإختيار',radioTitle:'خصائص زر الخيار',value:'القيمة',selected:'محدد'},form:{title:'خصائص النموذج',menu:'خصائص النموذج',action:'اسم الملÙ',method:'الأسلوب',encoding:'تشÙير'},select:{title:'خصائص اختيار الحقل',selectInfo:'اختار معلومات',opAvail:'الخيارات المتاحة',value:'القيمة',size:'الحجم',lines:'الأسطر',chkMulti:'السماح بتحديدات متعددة',opText:'النص',opValue:'القيمة',btnAdd:'إضاÙØ©',btnModify:'تعديل',btnUp:'أعلى',btnDown:'أسÙÙ„',btnSetValue:'إجعلها محددة',btnDelete:'إزالة'},textarea:{title:'خصائص مساحة النص',cols:'الأعمدة',rows:'الصÙÙˆÙ'},textfield:{title:'خصائص مربع النص',name:'الاسم',value:'القيمة',charWidth:'عرض السمات',maxChars:'اقصى عدد للسمات',type:'نوع المحتوى',typeText:'نص',typePass:'كلمة مرور'},hidden:{title:'خصائص الحقل المخÙÙŠ',name:'الاسم',value:'القيمة'},image:{title:'خصائص الصورة',titleButton:'خصائص زر الصورة',menu:'خصائص الصورة',infoTab:'معلومات الصورة',btnUpload:'أرسلها للخادم',upload:'رÙع',alt:'عنوان الصورة',lockRatio:'تناسق الحجم',resetSize:'إستعادة الحجم الأصلي',border:'سمك الحدود',hSpace:'تباعد Ø£Ùقي',vSpace:'تباعد عمودي',alertUrl:'Ùضلاً أكتب الموقع الذي توجد عليه هذه الصورة.',linkTab:'الرابط',button2Img:'هل تريد تحويل زر الصورة المختار إلى صورة بسيطة؟',img2Button:'هل تريد تحويل الصورة المختارة إلى زر صورة؟',urlMissing:'عنوان مصدر الصورة Ù…Ùقود',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'خصائص الÙلاش',propertiesTab:'الخصائص',title:'خصائص Ùيلم الÙلاش',chkPlay:'تشغيل تلقائي',chkLoop:'تكرار',chkMenu:'تمكين قائمة Ùيلم الÙلاش',chkFull:'ملء الشاشة',scale:'الحجم',scaleAll:'إظهار الكل',scaleNoBorder:'بلا حدود',scaleFit:'ضبط تام',access:'دخول النص البرمجي',accessAlways:'دائماً',accessSameDomain:'Ù†Ùس النطاق',accessNever:'مطلقاً',alignAbsBottom:'أسÙÙ„ النص',alignAbsMiddle:'وسط السطر',alignBaseline:'على السطر',alignTextTop:'أعلى النص',quality:'جودة',qualityBest:'Ø£Ùضل',qualityHigh:'عالية',qualityAutoHigh:'عالية تلقائياً',qualityMedium:'متوسطة',qualityAutoLow:'منخÙضة تلقائياً',qualityLow:'منخÙضة',windowModeWindow:'ناÙذة',windowModeOpaque:'غير Ø´ÙاÙ',windowModeTransparent:'Ø´ÙاÙ',windowMode:'وضع الناÙذة',flashvars:'متغيرات الÙلاش',bgcolor:'لون الخلÙية',hSpace:'تباعد Ø£Ùقي',vSpace:'تباعد عمودي',validateSrc:'Ùضلاً أدخل عنوان الموقع الذي يشير إليه الرابط',validateHSpace:'HSpace يجب أن يكون عدداً.',validateVSpace:'VSpace يجب أن يكون عدداً.'},spellCheck:{toolbar:'تدقيق إملائي',title:'التدقيق الإملائي',notAvailable:'عÙواً، ولكن هذه الخدمة غير متاحة الان',errorLoading:'خطأ ÙÙŠ تحميل تطبيق خدمة الاستضاÙØ©: %s.',notInDic:'ليست ÙÙŠ القاموس',changeTo:'التغيير إلى',btnIgnore:'تجاهل',btnIgnoreAll:'تجاهل الكل',btnReplace:'تغيير',btnReplaceAll:'تغيير الكل',btnUndo:'تراجع',noSuggestions:'- لا توجد إقتراحات -',progress:'جاري التدقيق الاملائى',noMispell:'تم التدقيق الإملائي: لم يتم العثور على أي أخطاء إملائية',noChanges:'تم التدقيق الإملائي: لم يتم تغيير أي كلمة',oneChange:'تم التدقيق الإملائي: تم تغيير كلمة واحدة Ùقط',manyChanges:'تم إكمال التدقيق الإملائي: تم تغيير %1 من كلمات',ieSpellDownload:'المدقق الإملائي (الإنجليزي) غير مثبّت. هل تود تحميله الآن؟'},smiley:{toolbar:'ابتسامات',title:'إدراج ابتسامات',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'عنصر 1%'},numberedlist:'ادخال/حذ٠تعداد رقمي',bulletedlist:'ادخال/حذ٠تعداد نقطي',indent:'زيادة المساÙØ© البادئة',outdent:'إنقاص المساÙØ© البادئة',justify:{left:'محاذاة إلى اليسار',center:'توسيط',right:'محاذاة إلى اليمين',block:'ضبط'},blockquote:'اقتباس',clipboard:{title:'لصق',cutError:'الإعدادات الأمنية للمتصÙØ­ الذي تستخدمه تمنع القص التلقائي. Ùضلاً إستخدم لوحة المÙاتيح Ù„Ùعل ذلك (Ctrl/Cmd+X).',copyError:'الإعدادات الأمنية للمتصÙØ­ الذي تستخدمه تمنع النسخ التلقائي. Ùضلاً إستخدم لوحة المÙاتيح Ù„Ùعل ذلك (Ctrl/Cmd+C).',pasteMsg:'الصق داخل الصندوق بإستخدام زرائر (<STRONG>Ctrl/Cmd+V</STRONG>) ÙÙŠ لوحة المÙاتيح، ثم اضغط زر <STRONG>مواÙÙ‚</STRONG>.',securityMsg:'نظراً لإعدادات الأمان الخاصة بمتصÙحك، لن يتمكن هذا المحرر من الوصول لمحتوى حاÙظتك، لذلك يجب عليك لصق المحتوى مرة أخرى ÙÙŠ هذه الناÙذة.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'يبدو أن النص المراد لصقه منسوخ من برنامج وورد. هل تود تنظيÙÙ‡ قبل الشروع ÙÙŠ عملية اللصق؟',toolbar:'لصق من وورد',title:'لصق من وورد',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'لصق كنص بسيط',title:'لصق كنص بسيط'},templates:{button:'القوالب',title:'قوالب المحتوى',options:'Template Options',insertOption:'استبدال المحتوى',selectPromptMsg:'اختر القالب الذي تود وضعه ÙÙŠ المحرر',emptyListMsg:'(لم يتم تعري٠أي قالب)'},showBlocks:'مخطط تÙصيلي',stylesCombo:{label:'أنماط',panelTitle:'Formatting Styles',panelTitle1:'أنماط الÙقرة',panelTitle2:'أنماط مضمنة',panelTitle3:'أنماط الكائن'},format:{label:'تنسيق',panelTitle:'تنسيق الÙقرة',tag_p:'عادي',tag_pre:'منسّق',tag_address:'عنوان',tag_h1:'العنوان 1',tag_h2:'العنوان 2',tag_h3:'العنوان 3',tag_h4:'العنوان 4',tag_h5:'العنوان 5',tag_h6:'العنوان 6',tag_div:'عادي (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'خط',voiceLabel:'حجم الخط',panelTitle:'حجم الخط'},fontSize:{label:'حجم الخط',voiceLabel:'حجم الخط',panelTitle:'حجم الخط'},colorButton:{textColorTitle:'لون النص',bgColorTitle:'لون الخلÙية',panelTitle:'Colors',auto:'تلقائي',more:'ألوان إضاÙية...'},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:'أبيض'},scayt:{title:'تدقيق إملائي أثناء الكتابة',opera_title:'Not supported by Opera',enable:'تÙعيل SCAYT',disable:'تعطيل SCAYT',about:'عن SCAYT',toggle:'تثبيت SCAYT',options:'خيارات',langs:'لغات',moreSuggestions:'المزيد من المقترحات',ignore:'تجاهل',ignoreAll:'تجاهل الكل',addWord:'إضاÙØ© كلمة',emptyDic:'اسم القاموس يجب ألا يكون Ùارغاً.',noSuggestions:'لا توجد إقتراحات',optionsTab:'خيارات',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'لغات',dictionariesTab:'قواميس',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'عن'},about:{title:'عن CKEditor',dlgTitle:'عن CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'للحصول على معلومات الترخيص ØŒ يرجى زيارة موقعنا على شبكة الانترنت:',copy:'حقوق النشر &copy; $1. جميع الحقوق محÙوظة.'},maximize:'تكبير',minimize:'تصغير',fakeobjects:{anchor:'إرساء',flash:'رسم متحرك بالÙلاش',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'كائن غير معروÙ'},resize:'اسحب لتغيير الحجم',colordialog:{title:'اختر لون',options:'Color Options',highlight:'إلقاء الضوء',selected:'Ù…Ùختار',clear:'مسح'},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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'خصائص الصÙحة',title:'خصائص الصÙحة',design:'Design',meta:'المعرّÙات الرأسية',chooseColor:'اختر',other:'<أخرى>',docTitle:'عنوان الصÙحة',charset:'ترميز الحروÙ',charsetOther:'ترميز آخر',charsetASCII:'ASCII',charsetCE:'أوروبا الوسطى',charsetCT:'الصينية التقليدية (Big5)',charsetCR:'السيريلية',charsetGR:'اليونانية',charsetJP:'اليابانية',charsetKR:'الكورية',charsetTR:'التركية',charsetUN:'Unicode (UTF-8)',charsetWE:'أوروبا الغربية',docType:'ترويسة نوع الصÙحة',docTypeOther:'ترويسة نوع صÙحة أخرى',xhtmlDec:'تضمين إعلانات لغة XHTMLÙŽ',bgColor:'لون الخلÙية',bgImage:'رابط الصورة الخلÙية',bgFixed:'جعلها علامة مائية',txtColor:'لون النص',margin:'هوامش الصÙحة',marginTop:'علوي',marginLeft:'أيسر',marginRight:'أيمن',marginBottom:'سÙلي',metaKeywords:'الكلمات الأساسية (Ù…Ùصولة بÙواصل)ÙŽ',metaDescription:'وص٠الصÙحة',metaAuthor:'الكاتب',metaCopyright:'المالك',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/bg.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/bg.js
deleted file mode 100644
index ad4b629..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/bg.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.bg={dir:'ltr',editorTitle:'ТекÑтов редактор за форматиран текÑÑ‚, %1',editorHelp:'натиÑнете ALT 0 за помощ',toolbars:'Ленти Ñ Ð¸Ð½Ñтрументи',editor:'ТекÑтов редактор за форматиран текÑÑ‚',source:'Източник',newPage:'Ðова Ñтраница',save:'ЗапиÑ',preview:'Преглед',cut:'Отрежи',copy:'Копирай',paste:'Вмъкни',print:'Печат',underline:'Подчертан',bold:'Удебелен',italic:'Ðаклонен',selectAll:'Избери вÑичко',removeFormat:'Премахване на форматирането',strike:'Зачертан текÑÑ‚',subscript:'ИндекÑиран текÑÑ‚',superscript:'СуперÑкрипт',horizontalrule:'Вмъкване на хоризонтална линиÑ',pagebreak:'Вмъкване на нова Ñтраница при печат',pagebreakAlt:'РазделÑне на Ñтраници',unlink:'Премахни връзката',undo:'Възтанови',redo:'Връщане на предишен ÑтатуÑ',common:{browseServer:'Избор от Ñървъра',url:'URL',protocol:'Протокол',upload:'Качване',uploadSubmit:'Изпращане към Ñървъра',image:'Снимка',flash:'Флаш',form:'Форма',checkbox:'Поле за избор',radio:'Радио бутон',textField:'ТекÑтово поле',textarea:'ТекÑтова зона',hiddenField:'Скрито поле',button:'Бутон',select:'Поле за избор',imageButton:'Бутон за Ñнимка',notSet:'<не е избрано>',id:'ID',name:'Име',langDir:'ПоÑока на езика',langDirLtr:'ЛÑво на дÑÑно (ЛнД)',langDirRtl:'ДÑÑно на лÑво (ДнЛ)',langCode:'Код на езика',longDescr:'Уеб Ð°Ð´Ñ€ÐµÑ Ð·Ð° дълго опиÑание',cssClass:'КлаÑове за CSS',advisoryTitle:'Advisory Title',cssStyle:'Стил',ok:'ОК',cancel:'Отказ',close:'Затвори',preview:'Преглед',generalTab:'Общо',advancedTab:'Разширено',validateNumberFailed:'Тази ÑтойноÑÑ‚ не е чиÑло',confirmNewPage:'Any unsaved changes to this content will be lost. Are you sure you want to load new page?',confirmCancel:'Some of the options have been changed. Are you sure to close the dialog?',options:'Опции',target:'Цел',targetNew:'Ðов прозорец (_blank)',targetTop:'Горна Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ (_top)',targetSelf:'Ð¢ÐµÐºÑƒÑ‰Ð¸Ñ Ð¿Ñ€Ð¾Ð·Ð¾Ñ€ÐµÑ† (_self)',targetParent:'ОÑновен прозорец (_parent)',langDirLTR:'ЛÑво на дÑÑно (ЛнД)',langDirRTL:'ДÑÑно на лÑво (ДнЛ)',styles:'Стил',cssClasses:'КлаÑове за CSS',width:'Ширина',height:'ВиÑочина',align:'ПодравнÑване',alignLeft:'ЛÑво',alignRight:'ДÑÑно',alignCenter:'Център',alignTop:'Горе',alignMiddle:'По Ñредата',alignBottom:'Долу',invalidValue:'Invalid value.',invalidHeight:'ВиÑочината Ñ‚Ñ€Ñбва да е чиÑло.',invalidWidth:'Ширина требе да е чиÑло.',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Опции на контекÑтното меню'},specialChar:{toolbar:'Вмъкване на Ñпециален знак',title:'Избор на Ñпециален знак',options:'Опции за Ñпециален знак'},link:{toolbar:'Връзка',other:'<друго>',menu:'ПромÑна на връзка',title:'Връзка',info:'Инфо за връзката',target:'Цел',upload:'Качване',advanced:'Разширено',type:'Тип на връзката',toUrl:'Уеб адреÑ',toAnchor:'Връзка към котва в текÑта',toEmail:'E-mail',targetFrame:'<frame>',targetPopup:'<изкачащ прозорец>',targetFrameName:'Име на целевиÑÑ‚ прозорец',targetPopupName:'Име на изкачащ прозорец',popupFeatures:'Функции на изкачащ прозорец',popupResizable:'ОразмерÑем',popupStatusBar:'СтатуÑна лента',popupLocationBar:'Лента Ñ Ð»Ð¾ÐºÐ°Ñ†Ð¸Ñта',popupToolbar:'Лента Ñ Ð¸Ð½Ñтрументи',popupMenuBar:'Лента за меню',popupFullScreen:'ЦÑл екран (IE)',popupScrollBars:'Скролери',popupDependent:'ЗавиÑимоÑÑ‚ (Netscape)',popupLeft:'ЛÑва позициÑ',popupTop:'Горна позициÑ',id:'ID',langDir:'ПоÑока на езика',langDirLTR:'ЛÑво на ДÑÑно (ЛнД)',langDirRTL:'ДÑÑно на ЛÑво (ДнЛ)',acccessKey:'Ключ за доÑтъп',name:'Име',langCode:'Код за езика',tabIndex:'Tab Index',advisoryTitle:'Advisory Title',advisoryContentType:'Advisory Content Type',cssClasses:'КлаÑове за CSS',charset:'Linked Resource Charset',styles:'Стил',rel:'Връзка',selectAnchor:'Изберете котва',anchorName:'По име на котва',anchorId:'По ID на елемент',emailAddress:'E-mail aдреÑ',emailSubject:'Тема',emailBody:'Съдържание',noAnchors:'(No anchors available in the document)',noUrl:'ÐœÐ¾Ð»Ñ Ð²ÑŠÐ²ÐµÐ´ÐµÑ‚Ðµ URL адреÑа',noEmail:'ÐœÐ¾Ð»Ñ Ð²ÑŠÐ²ÐµÐ´ÐµÑ‚Ðµ e-mail aдреÑ'},anchor:{toolbar:'Котва',menu:'ПромÑна на котва',title:'ÐаÑтройки на котва',name:'Име на котва',errorName:'ÐœÐ¾Ð»Ñ Ð²ÑŠÐ²ÐµÐ´ÐµÑ‚Ðµ име на котвата',remove:'Премахване на котва'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Тип',start:'Старт',validateStartNumber:'List start number must be a whole number.',circle:'Кръг',disc:'ДиÑк',square:'Квадрат',none:'ÐÑма',notset:'<не е указано>',armenian:'ÐрменÑко номериране',georgian:'ГрузинÑко номериране (an, ban, gan, и Ñ‚.н.)',lowerRoman:'Малки римÑки чиÑла (i, ii, iii, iv, v и Ñ‚.н.)',upperRoman:'Големи римÑки чиÑла (I, II, III, IV, V и Ñ‚.н.)',lowerAlpha:'Малки букви (а, б, в, г, д и Ñ‚.н.)',upperAlpha:'Големи букви (Ð, Б, Ð’, Г, Д и Ñ‚.н.)',lowerGreek:'Малки гръцки букви (алфа, бета, гама и Ñ‚.н.)',decimal:'ЧиÑла (1, 2, 3 и др.)',decimalLeadingZero:'ЧиÑла Ñ Ð²Ð¾Ð´ÐµÑ‰Ð° нула (01, 02, 03 и Ñ‚.н.)'},findAndReplace:{title:'ТърÑене и препокриване',find:'ТърÑене',replace:'Препокриване',findWhat:'ТърÑи за:',replaceWith:'Препокрива Ñ:',notFoundMsg:'УказаниÑÑ‚ текÑÑ‚ не е намерен.',findOptions:'Find Options',matchCase:'Съвпадение',matchWord:'Съвпадение Ñ Ð´ÑƒÐ¼Ð°',matchCyclic:'Циклично Ñъвпадение',replaceAll:'Препокрий вÑички',replaceSuccessMsg:'%1 occurrence(s) replaced.'},table:{toolbar:'Таблица',title:'ÐаÑтройки на таблицата',menu:'ÐаÑтройки на таблицата',deleteTable:'Изтриване на таблица',rows:'Редове',columns:'Колони',border:'Размер на рамката',widthPx:'пикÑела',widthPc:'процент',widthUnit:'единица за ширина',cellSpace:'РазтоÑние между клетките',cellPad:'ОтделÑне на клетките',caption:'Заглавие',summary:'Обща информациÑ',headers:'Хедъри',headersNone:'ÐÑма',headersColumn:'Първа колона',headersRow:'Първи ред',headersBoth:'Заедно',invalidRows:'БроÑÑ‚ редове Ñ‚Ñ€Ñбва да е по-голÑм от 0.',invalidCols:'БроÑÑ‚ колони Ñ‚Ñ€Ñбва да е по-голÑм от 0.',invalidBorder:'Border size must be a number.',invalidWidth:'Table width must be a number.',invalidHeight:'Table height must be a number.',invalidCellSpacing:'Cell spacing must be a positive number.',invalidCellPadding:'Cell padding must be a positive number.',cell:{menu:'Клетка',insertBefore:'Вмъкване на клетка преди',insertAfter:'Вмъкване на клетка Ñлед',deleteCell:'Изтриване на клетки',merge:'Сливане на клетки',mergeRight:'Сливане в дÑÑно',mergeDown:'Merge Down',splitHorizontal:'Split Cell Horizontally',splitVertical:'Split Cell Vertically',title:'ÐаÑтройки на клетката',cellType:'Тип на клетката',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Ðвто. преноÑ',hAlign:'Хоризонтално подравнÑване',vAlign:'Вертикално подравнÑване',alignBaseline:'Базова линиÑ',bgColor:'Фон',borderColor:'ЦвÑÑ‚ на рамката',data:'Данни',header:'Хедър',yes:'Да',no:'Ðе',invalidWidth:'Cell width must be a number.',invalidHeight:'Cell height must be a number.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Изберете'},row:{menu:'Ред',insertBefore:'Insert Row Before',insertAfter:'Вмъкване на ред Ñлед',deleteRow:'Изтриване на редове'},column:{menu:'Колона',insertBefore:'Вмъкване на колона преди',insertAfter:'Вмъкване на колона Ñлед',deleteColumn:'Изтриване на колони'}},button:{title:'ÐаÑтройки на бутона',text:'ТекÑÑ‚ (ÑтойноÑÑ‚)',type:'Тип',typeBtn:'Бутон',typeSbm:'Добави',typeRst:'Ðулиране'},checkboxAndRadio:{checkboxTitle:'Checkbox Properties',radioTitle:'ÐаÑтройки на радиобутон',value:'СтойноÑÑ‚',selected:'Избрано'},form:{title:'ÐаÑтройки на формата',menu:'ÐаÑтройки на формата',action:'ДейÑтвие',method:'Метод',encoding:'Кодиране'},select:{title:'Selection Field Properties',selectInfo:'Select Info',opAvail:'Ðалични опции',value:'СтойноÑÑ‚',size:'Размер',lines:'линии',chkMulti:'Allow multiple selections',opText:'ТекÑÑ‚',opValue:'СтойноÑÑ‚',btnAdd:'Добави',btnModify:'Промени',btnUp:'Ðа горе',btnDown:'Ðа долу',btnSetValue:'Set as selected value',btnDelete:'Изтриване'},textarea:{title:'Опции за текÑтовата зона',cols:'Колони',rows:'Редове'},textfield:{title:'ÐаÑтройки за текÑтово поле',name:'Име',value:'СтойноÑÑ‚',charWidth:'Ширина на знаците',maxChars:'МакÑ. знаци',type:'Тип',typeText:'ТекÑÑ‚',typePass:'Парола'},hidden:{title:'ÐаÑтройки за Ñкрито поле',name:'Име',value:'СтойноÑÑ‚'},image:{title:'ÐаÑтройки за Ñнимка',titleButton:'ÐаÑтойки за бутон за Ñнимка',menu:'ÐаÑтройки за Ñнимка',infoTab:'Инфо за Ñнимка',btnUpload:'Изпрати Ñ Ð½Ð° Ñървъра',upload:'Качване',alt:'Ðлтернативен текÑÑ‚',lockRatio:'Заключване на Ñъотношението',resetSize:'Ðулиране на размер',border:'Рамка',hSpace:'HSpace',vSpace:'VSpace',alertUrl:'Please type the image URL',linkTab:'Връзка',button2Img:'Do you want to transform the selected image button on a simple image?',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'ÐаÑтройки за флаш',propertiesTab:'ÐаÑтройки',title:'ÐаÑтройки за флаш',chkPlay:'Ðвто. пуÑкане',chkLoop:'Цикъл',chkMenu:'Enable Flash Menu',chkFull:'Allow Fullscreen',scale:'Scale',scaleAll:'Показва вÑичко',scaleNoBorder:'Без рамка',scaleFit:'Exact Fit',access:'Script Access',accessAlways:'Винаги',accessSameDomain:'СъщиÑÑ‚ домейн',accessNever:'Ðикога',alignAbsBottom:'Abs Bottom',alignAbsMiddle:'Abs Middle',alignBaseline:'Baseline',alignTextTop:'Text Top',quality:'КачеÑтво',qualityBest:'Отлично',qualityHigh:'ВиÑоко',qualityAutoHigh:'Ðвто. виÑоко',qualityMedium:'Средно',qualityAutoLow:'Ðвто. ниÑко',qualityLow:'ÐиÑко',windowModeWindow:'Прозорец',windowModeOpaque:'ПлътноÑÑ‚',windowModeTransparent:'ПрозрачноÑÑ‚',windowMode:'Режим на прозореца',flashvars:'Променливи за Флаш',bgcolor:'Background color',hSpace:'HSpace',vSpace:'VSpace',validateSrc:'Уеб адреÑа не Ñ‚Ñ€Ñбва да е празен.',validateHSpace:'HSpace must be a number.',validateVSpace:'VSpace must be a number.'},spellCheck:{toolbar:'Проверка на правопиÑ',title:'Проверка на правопиÑ',notAvailable:'СъжалÑваме, но уÑлугата не е доÑтъпна за момента',errorLoading:'Error loading application service host: %s.',notInDic:'Ðе е в речника',changeTo:'Промени на',btnIgnore:'Игнорирай',btnIgnoreAll:'Игнорирай вÑичко',btnReplace:'Препокриване',btnReplaceAll:'Препокрий вÑичко',btnUndo:'Възтанови',noSuggestions:'- ÐÑма препоръчани -',progress:'ПроверÑва Ñе правопиÑа...',noMispell:'Spell check complete: No misspellings found',noChanges:'Spell check complete: No words changed',oneChange:'Spell check complete: One word changed',manyChanges:'Spell check complete: %1 words changed',ieSpellDownload:'Spell checker not installed. Do you want to download it now?'},smiley:{toolbar:'УÑмивка',title:'Вмъкване на уÑмивка',options:'Опции за уÑмивката'},elementsPath:{eleLabel:'Път за елементите',eleTitle:'%1 елемент'},numberedlist:'Вмъкване/Премахване на номериран ÑпиÑък',bulletedlist:'Вмъкване/Премахване на точков ÑпиÑък',indent:'Увеличаване на отÑтъпа',outdent:'ÐамалÑване на отÑтъпа',justify:{left:'Подравни в лÑво',center:'Център',right:'Подравни в дÑÑно',block:'Justify'},blockquote:'Блок за цитат',clipboard:{title:'Paste',cutError:'ÐаÑтройките за ÑигурноÑÑ‚ на Ð’Ð°ÑˆÐ¸Ñ Ð±Ñ€Ð°ÑƒÐ·ÑŠÑ€ не позволÑват на редактора автоматично да изъплни дейÑтвиÑта за отрÑзване. ÐœÐ¾Ð»Ñ Ð¿Ð¾Ð»Ð·Ð²Ð°Ð¹Ñ‚Ðµ клавиатурните команди за целта (ctrl+x).',copyError:"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).",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.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'Paste from Word',title:'Paste from Word',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'Paste as plain text',title:'Paste as Plain Text'},templates:{button:'Templates',title:'Content Templates',options:'Template Options',insertOption:'Replace actual contents',selectPromptMsg:'Please select the template to open in the editor',emptyListMsg:'(No templates defined)'},showBlocks:'Показва блокове',stylesCombo:{label:'Styles',panelTitle:'Formatting Styles',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'Format',panelTitle:'Paragraph Format',tag_p:'Normal',tag_pre:'Formatted',tag_address:'Address',tag_h1:'Heading 1',tag_h2:'Heading 2',tag_h3:'Heading 3',tag_h4:'Heading 4',tag_h5:'Heading 5',tag_h6:'Heading 6',tag_div:'Normal (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Стил',IdInputLabel:'ID',languageCodeInputLabel:' Код на езика',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'ПромÑна на Div',remove:'Премахване на Div'},iframe:{title:'IFrame наÑтройки',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'Шрифт',voiceLabel:'Шрифт',panelTitle:'Име на шрифт'},fontSize:{label:'Размер',voiceLabel:'Размер на шрифт',panelTitle:'Размер на шрифт'},colorButton:{textColorTitle:'ЦвÑÑ‚ на шрифт',bgColorTitle:'Фонов цвÑÑ‚',panelTitle:'Цветове',auto:'Ðвтоматично',more:'Още цветове'},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'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Options',langs:'Languages',moreSuggestions:'More suggestions',ignore:'Ignore',ignoreAll:'Ignore All',addWord:'Add Word',emptyDic:'Dictionary name should not be empty.',noSuggestions:'ÐÑма предложениÑ',optionsTab:'Options',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Игнорирани думи и цифри',languagesTab:'Езици',dictionariesTab:'Речници',dic_field_name:'Име на речнк',dic_create:'Ðов',dic_restore:'ВъзтановÑване',dic_delete:'Изтриване',dic_rename:'Преименуване',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'ОтноÑно'},about:{title:'ОтноÑно CKEditor',dlgTitle:'ОтноÑно CKEditor',help:'Проверете $1 за помощ.',userGuide:"CKEditor User's Guide",moreInfo:'За лицензионна Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¼Ð¾Ð»Ñ Ð¿Ð¾Ñетете Ñайта ни:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'МакÑимизиране',minimize:'Минимизиране',fakeobjects:{anchor:'Кука',flash:'Флаш анимациÑ',iframe:'IFrame',hiddenfield:'Скрито поле',unknown:'ÐеизвеÑтен обект'},resize:'Влачете за да оразмерите',colordialog:{title:'Изберете цвÑÑ‚',options:'Цветови опции',highlight:'ОÑветÑване',selected:'Изберете цвÑÑ‚',clear:'ИзчиÑтване'},toolbarCollapse:'Свиване на лентата Ñ Ð¸Ð½Ñтрументи',toolbarExpand:'РазширÑване на лентата Ñ Ð¸Ð½Ñтрументи',toolbarGroups:{document:'Документ',clipboard:'Clipboard/Undo',editing:'ПромÑна',forms:'Форми',basicstyles:'Базови Ñтилове',paragraph:'Параграф',links:'Връзки',insert:'Вмъкване',styles:'Стилове',colors:'Цветове',tools:'ИнÑтрументи'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'ÐаÑтройки на документа',title:'ÐаÑтройки на документа',design:'Дизайн',meta:'Мета етикети',chooseColor:'Изберете',other:'Други...',docTitle:'Заглавие на Ñтраницата',charset:'Кодова таблица',charsetOther:'Друга кодова таблица',charsetASCII:'ASCII',charsetCE:'Централна европейÑка',charsetCT:'КитайÑки традиционен',charsetCR:'Cyrillic',charsetGR:'Greek',charsetJP:'Japanese',charsetKR:'Korean',charsetTR:'Turkish',charsetUN:'Unicode (UTF-8)',charsetWE:'Western European',docType:'Document Type Heading',docTypeOther:'Other Document Type Heading',xhtmlDec:'Include XHTML Declarations',bgColor:'Background Color',bgImage:'Background Image URL',bgFixed:'Non-scrolling (Fixed) Background',txtColor:'Text Color',margin:'Page Margins',marginTop:'Top',marginLeft:'Left',marginRight:'Right',marginBottom:'Bottom',metaKeywords:'Document Indexing Keywords (comma separated)',metaDescription:'Document Description',metaAuthor:'Author',metaCopyright:'Copyright',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/bn.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/bn.js
deleted file mode 100644
index 4796c95..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/bn.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.bn={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'Editor toolbars',editor:'Rich Text Editor',source:'সোরà§à¦¸',newPage:'নতà§à¦¨ পেজ',save:'সংরকà§à¦·à¦¨ কর',preview:'পà§à¦°à¦¿à¦­à¦¿à¦‰',cut:'কাট',copy:'কপি',paste:'পেসà§à¦Ÿ',print:'পà§à¦°à¦¿à¦¨à§à¦Ÿ',underline:'আনà§à¦¡à¦¾à¦°à¦²à¦¾à¦‡à¦¨',bold:'বোলà§à¦¡',italic:'ইটালিক',selectAll:'সব সিলেকà§à¦Ÿ কর',removeFormat:'ফরমেট সরাও',strike:'সà§à¦Ÿà§à¦°à¦¾à¦‡à¦• থà§à¦°à§',subscript:'অধোলেখ',superscript:'অভিলেখ',horizontalrule:'রেখা যà§à¦•à§à¦¤ কর',pagebreak:'পেজ বà§à¦°à§‡à¦•',pagebreakAlt:'Page Break',unlink:'লিংক সরাও',undo:'আনডà§',redo:'রি-ডà§',common:{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:'সà§à¦Ÿà¦¾à¦‡à¦²',ok:'ওকে',cancel:'বাতিল',close:'Close',preview:'Preview',generalTab:'General',advancedTab:'à¦à¦¡à¦­à¦¾à¦¨à§à¦¸à¦¡',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:'Some of the options have been changed. Are you sure to close the dialog?',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:'পà§à¦°à¦¸à§à¦¥',height:'দৈরà§à¦˜à§à¦¯',align:'à¦à¦²à¦¾à¦‡à¦¨',alignLeft:'বামে',alignRight:'ডানে',alignCenter:'মাà¦à¦–ানে',alignTop:'উপর',alignMiddle:'মধà§à¦¯',alignBottom:'নীচে',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'বিশেষ অকà§à¦·à¦° যà§à¦•à§à¦¤ কর',title:'বিশেষ কà§à¦¯à¦¾à¦°à§‡à¦•à§à¦Ÿà¦¾à¦° বাছাই কর',options:'Special Character Options'},link:{toolbar:'লিংক যà§à¦•à§à¦¤ কর',other:'<other>',menu:'লিংক সমà§à¦ªà¦¾à¦¦à¦¨',title:'লিংক',info:'লিংক তথà§à¦¯',target:'টারà§à¦—েট',upload:'আপলোড',advanced:'à¦à¦¡à¦­à¦¾à¦¨à§à¦¸à¦¡',type:'লিংক পà§à¦°à¦•à¦¾à¦°',toUrl:'URL',toAnchor:'à¦à¦‡ পেজে নোঙর কর',toEmail:'ইমেইল',targetFrame:'<ফà§à¦°à§‡à¦®>',targetPopup:'<পপআপ উইনà§à¦¡à§‹>',targetFrameName:'টারà§à¦—েট ফà§à¦°à§‡à¦®à§‡à¦° নাম',targetPopupName:'পপআপ উইনà§à¦¡à§‹à¦° নাম',popupFeatures:'পপআপ উইনà§à¦¡à§‹ ফীচার সমূহ',popupResizable:'Resizable',popupStatusBar:'সà§à¦Ÿà§à¦¯à¦¾à¦Ÿà¦¾à¦¸ বার',popupLocationBar:'লোকেশন বার',popupToolbar:'টà§à¦² বার',popupMenuBar:'মেনà§à¦¯à§ বার',popupFullScreen:'পূরà§à¦£ পরà§à¦¦à¦¾ জà§à§œà§‡ (IE)',popupScrollBars:'সà§à¦•à§à¦°à¦² বার',popupDependent:'ডিপেনà§à¦¡à§‡à¦¨à§à¦Ÿ (Netscape)',popupLeft:'বামের পজিশন',popupTop:'ডানের পজিশন',id:'Id',langDir:'ভাষা লেখার দিক',langDirLTR:'বাম থেকে ডান (LTR)',langDirRTL:'ডান থেকে বাম (RTL)',acccessKey:'à¦à¦•à§à¦¸à§‡à¦¸ কী',name:'নাম',langCode:'ভাষা লেখার দিক',tabIndex:'টà§à¦¯à¦¾à¦¬ ইনà§à¦¡à§‡à¦•à§à¦¸',advisoryTitle:'পরামরà§à¦¶ শীরà§à¦·à¦•',advisoryContentType:'পরামরà§à¦¶ কনà§à¦Ÿà§‡à¦¨à§à¦Ÿà§‡à¦° পà§à¦°à¦•à¦¾à¦°',cssClasses:'সà§à¦Ÿà¦¾à¦‡à¦²-শীট কà§à¦²à¦¾à¦¸',charset:'লিংক রিসোরà§à¦¸ কà§à¦¯à¦¾à¦°à§‡à¦•à§à¦Ÿà¦° সেট',styles:'সà§à¦Ÿà¦¾à¦‡à¦²',rel:'Relationship',selectAnchor:'নোঙর বাছাই',anchorName:'নোঙরের নাম দিয়ে',anchorId:'নোঙরের আইডি দিয়ে',emailAddress:'ইমেইল ঠিকানা',emailSubject:'মেসেজের বিষয়',emailBody:'মেসেজের দেহ',noAnchors:'(No anchors available in the document)',noUrl:'অনà§à¦—à§à¦°à¦¹ করে URL লিংক টাইপ করà§à¦¨',noEmail:'অনà§à¦—à§à¦°à¦¹ করে ইমেইল à¦à¦¡à§à¦°à§‡à¦¸ টাইপ করà§à¦¨'},anchor:{toolbar:'নোঙà§à¦—র',menu:'নোঙর পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿',title:'নোঙর পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿',name:'নোঙরের নাম',errorName:'নোঙরের নাম টাইপ করà§à¦¨',remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Find and Replace',find:'খোজো',replace:'রিপà§à¦²à§‡à¦¸',findWhat:'যা খà§à¦à¦œà¦¤à§‡ হবে:',replaceWith:'যার সাথে বদলাতে হবে:',notFoundMsg:'আপনার উলà§à¦²à§‡à¦–িত টেকসà§à¦Ÿ পাওয়া যায়নি',findOptions:'Find Options',matchCase:'কেস মিলাও',matchWord:'পà§à¦°à¦¾ শবà§à¦¦ মেলাও',matchCyclic:'Match cyclic',replaceAll:'সব বদলে দাও',replaceSuccessMsg:'%1 occurrence(s) replaced.'},table:{toolbar:'টেবিলের লেবেল যà§à¦•à§à¦¤ কর',title:'টেবিল পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿',menu:'টেবিল পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿',deleteTable:'টেবিল ডিলীট কর',rows:'রো',columns:'কলাম',border:'বরà§à¦¡à¦¾à¦° সাইজ',widthPx:'পিকà§à¦¸à§‡à¦²',widthPc:'শতকরা',widthUnit:'width unit',cellSpace:'সেল সà§à¦ªà§‡à¦¸',cellPad:'সেল পà§à¦¯à¦¾à¦¡à¦¿à¦‚',caption:'শীরà§à¦·à¦•',summary:'সারাংশ',headers:'Headers',headersNone:'None',headersColumn:'First column',headersRow:'First Row',headersBoth:'Both',invalidRows:'Number of rows must be a number greater than 0.',invalidCols:'Number of columns must be a number greater than 0.',invalidBorder:'Border size must be a number.',invalidWidth:'Table width must be a number.',invalidHeight:'Table height must be a number.',invalidCellSpacing:'Cell spacing must be a positive number.',invalidCellPadding:'Cell padding must be a positive number.',cell:{menu:'সেল',insertBefore:'Insert Cell Before',insertAfter:'Insert Cell After',deleteCell:'সেল মà§à¦›à§‡ দাও',merge:'সেল জোড়া দাও',mergeRight:'Merge Right',mergeDown:'Merge Down',splitHorizontal:'Split Cell Horizontally',splitVertical:'Split Cell Vertically',title:'Cell Properties',cellType:'Cell Type',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Word Wrap',hAlign:'Horizontal Alignment',vAlign:'Vertical Alignment',alignBaseline:'Baseline',bgColor:'Background Color',borderColor:'Border Color',data:'Data',header:'Header',yes:'Yes',no:'No',invalidWidth:'Cell width must be a number.',invalidHeight:'Cell height must be a number.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Choose'},row:{menu:'রো',insertBefore:'Insert Row Before',insertAfter:'Insert Row After',deleteRow:'রো মà§à¦›à§‡ দাও'},column:{menu:'কলাম',insertBefore:'Insert Column Before',insertAfter:'Insert Column After',deleteColumn:'কলাম মà§à¦›à§‡ দাও'}},button:{title:'বাটন পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿',text:'টেকà§à¦¸à¦Ÿ (ভà§à¦¯à¦¾à¦²à§)',type:'পà§à¦°à¦•à¦¾à¦°',typeBtn:'Button',typeSbm:'Submit',typeRst:'Reset'},checkboxAndRadio:{checkboxTitle:'চেক বকà§à¦¸ পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿',radioTitle:'রেডিও বাটন পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿',value:'ভà§à¦¯à¦¾à¦²à§',selected:'সিলেকà§à¦Ÿà§‡à¦¡'},form:{title:'ফরà§à¦® পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿',menu:'ফরà§à¦® পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿',action:'à¦à¦•à¦¶à§à¦¯à¦¨',method:'পদà§à¦§à¦¤à¦¿',encoding:'Encoding'},select:{title:'বাছাই ফীলà§à¦¡ পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿',selectInfo:'তথà§à¦¯',opAvail:'অনà§à¦¯à¦¾à¦¨à§à¦¯ বিকলà§à¦ª',value:'ভà§à¦¯à¦¾à¦²à§',size:'সাইজ',lines:'লাইন সমূহ',chkMulti:'à¦à¦•à¦¾à¦§à¦¿à¦• সিলেকশন à¦à¦²à¦¾à¦‰ কর',opText:'টেকà§à¦¸à¦Ÿ',opValue:'ভà§à¦¯à¦¾à¦²à§',btnAdd:'যà§à¦•à§à¦¤',btnModify:'বদলে দাও',btnUp:'উপর',btnDown:'নীচে',btnSetValue:'বাছাই করা ভà§à¦¯à¦¾à¦²à§ হিসেবে সেট কর',btnDelete:'ডিলীট'},textarea:{title:'টেকà§à¦¸à¦Ÿ à¦à¦°à¦¿à§Ÿà¦¾ পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿',cols:'কলাম',rows:'রো'},textfield:{title:'টেকà§à¦¸à¦Ÿ ফীলà§à¦¡ পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿',name:'নাম',value:'ভà§à¦¯à¦¾à¦²à§',charWidth:'কà§à¦¯à¦¾à¦°à§‡à¦•à§à¦Ÿà¦¾à¦° পà§à¦°à¦¶à¦¸à§à¦¤à¦¤à¦¾',maxChars:'সরà§à¦¬à¦¾à¦§à¦¿à¦• কà§à¦¯à¦¾à¦°à§‡à¦•à§à¦Ÿà¦¾à¦°',type:'টাইপ',typeText:'টেকà§à¦¸à¦Ÿ',typePass:'পাসওয়ারà§à¦¡'},hidden:{title:'গà§à¦ªà§à¦¤ ফীলà§à¦¡ পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿',name:'নাম',value:'ভà§à¦¯à¦¾à¦²à§'},image:{title:'ছবির পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿',titleButton:'ছবি বাটন পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿',menu:'ছবির পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿',infoTab:'ছবির তথà§à¦¯',btnUpload:'ইহাকে সারà§à¦­à¦¾à¦°à§‡ পà§à¦°à§‡à¦°à¦¨ কর',upload:'আপলোড',alt:'বিকলà§à¦ª টেকà§à¦¸à¦Ÿ',lockRatio:'অনà§à¦ªà¦¾à¦¤ লক কর',resetSize:'সাইজ পূরà§à¦¬à¦¾à¦¬à¦¸à§à¦¥à¦¾à§Ÿ ফিরিয়ে দাও',border:'বরà§à¦¡à¦¾à¦°',hSpace:'হরাইজনà§à¦Ÿà¦¾à¦² সà§à¦ªà§‡à¦¸',vSpace:'ভারà§à¦Ÿà¦¿à¦•à§‡à¦² সà§à¦ªà§‡à¦¸',alertUrl:'অনà§à¦—à§à¦°à¦¹à¦• করে ছবির URL টাইপ করà§à¦¨',linkTab:'লিংক',button2Img:'Do you want to transform the selected image button on a simple image?',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'ফà§à¦²à¦¾à¦¶ পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿',propertiesTab:'Properties',title:'ফà§à¦²à§à¦¯à¦¾à¦¶ পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿',chkPlay:'অটো পà§à¦²à§‡',chkLoop:'লূপ',chkMenu:'ফà§à¦²à§à¦¯à¦¾à¦¶ মেনৠà¦à¦¨à¦¾à¦¬à¦² কর',chkFull:'Allow Fullscreen',scale:'সà§à¦•à§‡à¦²',scaleAll:'সব দেখাও',scaleNoBorder:'কোনো বরà§à¦¡à¦¾à¦° নেই',scaleFit:'নিখà§à¦à¦¤ ফিট',access:'Script Access',accessAlways:'Always',accessSameDomain:'Same domain',accessNever:'Never',alignAbsBottom:'Abs নীচে',alignAbsMiddle:'Abs উপর',alignBaseline:'মূল রেখা',alignTextTop:'টেকà§à¦¸à¦Ÿ উপর',quality:'Quality',qualityBest:'Best',qualityHigh:'High',qualityAutoHigh:'Auto High',qualityMedium:'Medium',qualityAutoLow:'Auto Low',qualityLow:'Low',windowModeWindow:'Window',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Window mode',flashvars:'Variables for Flash',bgcolor:'বেকগà§à¦°à¦¾à¦‰à¦¨à§à¦¡ রং',hSpace:'হরাইজনà§à¦Ÿà¦¾à¦² সà§à¦ªà§‡à¦¸',vSpace:'ভারà§à¦Ÿà¦¿à¦•à§‡à¦² সà§à¦ªà§‡à¦¸',validateSrc:'অনà§à¦—à§à¦°à¦¹ করে URL লিংক টাইপ করà§à¦¨',validateHSpace:'HSpace must be a number.',validateVSpace:'VSpace must be a number.'},spellCheck:{toolbar:'বানান চেক',title:'Spell Check',notAvailable:'Sorry, but service is unavailable now.',errorLoading:'Error loading application service host: %s.',notInDic:'শবà§à¦¦à¦•à§‹à¦·à§‡ নেই',changeTo:'à¦à¦¤à§‡ বদলাও',btnIgnore:'ইগনোর কর',btnIgnoreAll:'সব ইগনোর কর',btnReplace:'বদলে দাও',btnReplaceAll:'সব বদলে দাও',btnUndo:'আনà§à¦¡à§',noSuggestions:'- কোন সাজেশন নেই -',progress:'বানান পরীকà§à¦·à¦¾ চলছে...',noMispell:'বানান পরীকà§à¦·à¦¾ শেষ: কোন ভà§à¦² বানান পাওয়া যায়নি',noChanges:'বানান পরীকà§à¦·à¦¾ শেষ: কোন শবà§à¦¦ পরিবরà§à¦¤à¦¨ করা হয়নি',oneChange:'বানান পরীকà§à¦·à¦¾ শেষ: à¦à¦•à¦Ÿà¦¿ মাতà§à¦° শবà§à¦¦ পরিবরà§à¦¤à¦¨ করা হয়েছে',manyChanges:'বানান পরীকà§à¦·à¦¾ শেষ: %1 গà§à¦²à§‹ শবà§à¦¦ বদলে গà§à¦¯à¦¾à¦›à§‡',ieSpellDownload:'বানান পরীকà§à¦·à¦• ইনসà§à¦Ÿà¦² করা নেই। আপনি কি à¦à¦–নই à¦à¦Ÿà¦¾ ডাউনলোড করতে চান?'},smiley:{toolbar:'সà§à¦®à¦¾à¦‡à¦²à§€',title:'সà§à¦®à¦¾à¦‡à¦²à§€ যà§à¦•à§à¦¤ কর',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 element'},numberedlist:'সাংখà§à¦¯à¦¿à¦• লিসà§à¦Ÿà§‡à¦° লেবেল',bulletedlist:'বà§à¦²à§‡à¦Ÿ লিসà§à¦Ÿ লেবেল',indent:'ইনডেনà§à¦Ÿ বাড়াও',outdent:'ইনডেনà§à¦Ÿ কমাও',justify:{left:'বা দিকে ঘেà¦à¦·à¦¾',center:'মাঠবরাবর ঘেষা',right:'ডান দিকে ঘেà¦à¦·à¦¾',block:'বà§à¦²à¦• জাসà§à¦Ÿà¦¿à¦«à¦¾à¦‡'},blockquote:'Block Quote',clipboard:{title:'পেসà§à¦Ÿ',cutError:'আপনার বà§à¦°à¦¾à¦‰à¦œà¦¾à¦°à§‡à¦° সà§à¦°à¦•à§à¦·à¦¾ সেটিংস à¦à¦¡à¦¿à¦Ÿà¦°à¦•à§‡ অটোমেটিক কাট করার অনà§à¦®à¦¤à¦¿ দেয়নি। দয়া করে à¦à¦‡ কাজের জনà§à¦¯ কিবোরà§à¦¡ বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨ (Ctrl/Cmd+X)।',copyError:'আপনার বà§à¦°à¦¾à¦‰à¦œà¦¾à¦°à§‡à¦° সà§à¦°à¦•à§à¦·à¦¾ সেটিংস à¦à¦¡à¦¿à¦Ÿà¦°à¦•à§‡ অটোমেটিক কপি করার অনà§à¦®à¦¤à¦¿ দেয়নি। দয়া করে à¦à¦‡ কাজের জনà§à¦¯ কিবোরà§à¦¡ বà§à¦¯à¦¬à¦¹à¦¾à¦° করà§à¦¨ (Ctrl/Cmd+C)।',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.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'পেসà§à¦Ÿ (শবà§à¦¦)',title:'পেসà§à¦Ÿ (শবà§à¦¦)',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'সাদা টেকà§à¦¸à¦Ÿ হিসেবে পেসà§à¦Ÿ কর',title:'সাদা টেকà§à¦¸à¦Ÿ হিসেবে পেসà§à¦Ÿ কর'},templates:{button:'টেমপà§à¦²à§‡à¦Ÿ',title:'কনটেনà§à¦Ÿ টেমপà§à¦²à§‡à¦Ÿ',options:'Template Options',insertOption:'Replace actual contents',selectPromptMsg:'অনà§à¦—à§à¦°à¦¹ করে à¦à¦¡à¦¿à¦Ÿà¦°à§‡ ওপেন করার জনà§à¦¯ টেমপà§à¦²à§‡à¦Ÿ বাছাই করà§à¦¨<br>(আসল কনটেনà§à¦Ÿ হারিয়ে যাবে):',emptyListMsg:'(কোন টেমপà§à¦²à§‡à¦Ÿ ডিফাইন করা নেই)'},showBlocks:'Show Blocks',stylesCombo:{label:'সà§à¦Ÿà¦¾à¦‡à¦²',panelTitle:'Formatting Styles',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'ফনà§à¦Ÿ ফরমেট',panelTitle:'ফনà§à¦Ÿ ফরমেট',tag_p:'সাধারণ',tag_pre:'ফরà§à¦®à§‡à¦Ÿà§‡à¦¡',tag_address:'ঠিকানা',tag_h1:'শীরà§à¦·à¦• ১',tag_h2:'শীরà§à¦·à¦• ২',tag_h3:'শীরà§à¦·à¦• ৩',tag_h4:'শীরà§à¦·à¦• ৪',tag_h5:'শীরà§à¦·à¦• ৫',tag_h6:'শীরà§à¦·à¦• ৬',tag_div:'শীরà§à¦·à¦• (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'ফনà§à¦Ÿ',voiceLabel:'Font',panelTitle:'ফনà§à¦Ÿ'},fontSize:{label:'সাইজ',voiceLabel:'Font Size',panelTitle:'সাইজ'},colorButton:{textColorTitle:'টেকà§à¦¸à§à¦Ÿ রং',bgColorTitle:'বেকগà§à¦°à¦¾à¦‰à¦¨à§à¦¡ রং',panelTitle:'Colors',auto:'অটোমেটিক',more:'আরও রং...'},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'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Options',langs:'Languages',moreSuggestions:'More suggestions',ignore:'Ignore',ignoreAll:'Ignore All',addWord:'Add Word',emptyDic:'Dictionary name should not be empty.',noSuggestions:'কোন সাজেশন নেই',optionsTab:'Options',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Languages',dictionariesTab:'Dictionaries',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'About'},about:{title:'About CKEditor',dlgTitle:'About CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'For licensing information please visit our web site:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Maximize',minimize:'Minimize',fakeobjects:{anchor:'Anchor',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Unknown Object'},resize:'Drag to resize',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'ডকà§à¦¯à§à¦®à§‡à¦¨à§à¦Ÿ পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿',title:'ডকà§à¦¯à§à¦®à§‡à¦¨à§à¦Ÿ পà§à¦°à§‹à¦ªà¦¾à¦°à§à¦Ÿà¦¿',design:'Design',meta:'মেটাডেটা',chooseColor:'Choose',other:'<other>',docTitle:'পেজ শীরà§à¦·à¦•',charset:'কà§à¦¯à¦¾à¦°à§‡à¦•à§à¦Ÿà¦¾à¦° সেট à¦à¦¨à¦•à§‹à¦¡à¦¿à¦‚',charsetOther:'অনà§à¦¯ কà§à¦¯à¦¾à¦°à§‡à¦•à§à¦Ÿà¦¾à¦° সেট à¦à¦¨à¦•à§‹à¦¡à¦¿à¦‚',charsetASCII:'ASCII',charsetCE:'Central European',charsetCT:'Chinese Traditional (Big5)',charsetCR:'Cyrillic',charsetGR:'Greek',charsetJP:'Japanese',charsetKR:'Korean',charsetTR:'Turkish',charsetUN:'Unicode (UTF-8)',charsetWE:'Western European',docType:'ডকà§à¦¯à§à¦®à§‡à¦¨à§à¦Ÿ টাইপ হেডিং',docTypeOther:'অনà§à¦¯ ডকà§à¦¯à§à¦®à§‡à¦¨à§à¦Ÿ টাইপ হেডিং',xhtmlDec:'XHTML ডেকà§à¦²à¦¾à¦°à§‡à¦¶à¦¨ যà§à¦•à§à¦¤ কর',bgColor:'বà§à¦¯à¦¾à¦•à¦—à§à¦°à¦¾à¦‰à¦¨à§à¦¡ রং',bgImage:'বà§à¦¯à¦¾à¦•à¦—à§à¦°à¦¾à¦‰à¦¨à§à¦¡ ছবির URL',bgFixed:'সà§à¦•à§à¦°à¦²à¦¹à§€à¦¨ বà§à¦¯à¦¾à¦•à¦—à§à¦°à¦¾à¦‰à¦¨à§à¦¡',txtColor:'টেকà§à¦¸à§à¦Ÿ রং',margin:'পেজ মারà§à¦œà¦¿à¦¨',marginTop:'উপর',marginLeft:'বামে',marginRight:'ডানে',marginBottom:'নীচে',metaKeywords:'ডকà§à¦¯à§à¦®à§‡à¦¨à§à¦Ÿ ইনà§à¦¡à§‡à¦•à§à¦¸ কিওয়ারà§à¦¡ (কমা দà§à¦¬à¦¾à¦°à¦¾ বিচà§à¦›à¦¿à¦¨à§à¦¨)',metaDescription:'ডকà§à¦¯à§‚মেনà§à¦Ÿ বরà§à¦£à¦¨à¦¾',metaAuthor:'লেখক',metaCopyright:'কপীরাইট',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/bs.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/bs.js
deleted file mode 100644
index c83165c..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/bs.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.bs={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'Editor toolbars',editor:'Rich Text Editor',source:'HTML kôd',newPage:'Novi dokument',save:'Snimi',preview:'Prikaži',cut:'Izreži',copy:'Kopiraj',paste:'Zalijepi',print:'Štampaj',underline:'Podvuci',bold:'Boldiraj',italic:'Ukosi',selectAll:'Selektuj sve',removeFormat:'Poništi format',strike:'Precrtaj',subscript:'Subscript',superscript:'Superscript',horizontalrule:'Ubaci horizontalnu liniju',pagebreak:'Insert Page Break for Printing',pagebreakAlt:'Page Break',unlink:'Izbriši link',undo:'Vrati',redo:'Ponovi',common:{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:'Preview',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:'Some of the options have been changed. Are you sure to close the dialog?',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:'Širina',height:'Visina',align:'Poravnanje',alignLeft:'Lijevo',alignRight:'Desno',alignCenter:'Centar',alignTop:'Vrh',alignMiddle:'Sredina',alignBottom:'Dno',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'Ubaci specijalni karater',title:'Izaberi specijalni karakter',options:'Special Character Options'},link:{toolbar:'Ubaci/Izmjeni link',other:'<other>',menu:'Izmjeni link',title:'Link',info:'Link info',target:'Prozor',upload:'Šalji',advanced:'Naprednije',type:'Tip linka',toUrl:'URL',toAnchor:'Sidro na ovoj stranici',toEmail:'E-Mail',targetFrame:'<frejm>',targetPopup:'<popup prozor>',targetFrameName:'Target Frame Name',targetPopupName:'Naziv popup prozora',popupFeatures:'Moguænosti popup prozora',popupResizable:'Resizable',popupStatusBar:'Statusna traka',popupLocationBar:'Traka za lokaciju',popupToolbar:'Traka sa alatima',popupMenuBar:'Izborna traka',popupFullScreen:'Cijeli ekran (IE)',popupScrollBars:'Scroll traka',popupDependent:'Ovisno (Netscape)',popupLeft:'Lijeva pozicija',popupTop:'Gornja pozicija',id:'Id',langDir:'Smjer pisanja',langDirLTR:'S lijeva na desno (LTR)',langDirRTL:'S desna na lijevo (RTL)',acccessKey:'Pristupna tipka',name:'Naziv',langCode:'Smjer pisanja',tabIndex:'Tab indeks',advisoryTitle:'Advisory title',advisoryContentType:'Advisory vrsta sadržaja',cssClasses:'Klase CSS stilova',charset:'Linked Resource Charset',styles:'Stil',rel:'Relationship',selectAnchor:'Izaberi sidro',anchorName:'Po nazivu sidra',anchorId:'Po Id-u elementa',emailAddress:'E-Mail Adresa',emailSubject:'Subjekt poruke',emailBody:'Poruka',noAnchors:'(Nema dostupnih sidra na stranici)',noUrl:'Molimo ukucajte URL link',noEmail:'Molimo ukucajte e-mail adresu'},anchor:{toolbar:'Anchor',menu:'Edit Anchor',title:'Anchor Properties',name:'Anchor Name',errorName:'Please type the anchor name',remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Find and Replace',find:'Naði',replace:'Zamjeni',findWhat:'Naði šta:',replaceWith:'Zamjeni sa:',notFoundMsg:'Traženi tekst nije pronaðen.',findOptions:'Find Options',matchCase:'Uporeðuj velika/mala slova',matchWord:'Uporeðuj samo cijelu rijeè',matchCyclic:'Match cyclic',replaceAll:'Zamjeni sve',replaceSuccessMsg:'%1 occurrence(s) replaced.'},table:{toolbar:'Tabela',title:'Svojstva tabele',menu:'Svojstva tabele',deleteTable:'Delete Table',rows:'Redova',columns:'Kolona',border:'Okvir',widthPx:'piksela',widthPc:'posto',widthUnit:'width unit',cellSpace:'Razmak æelija',cellPad:'Uvod æelija',caption:'Naslov',summary:'Summary',headers:'Headers',headersNone:'None',headersColumn:'First column',headersRow:'First Row',headersBoth:'Both',invalidRows:'Number of rows must be a number greater than 0.',invalidCols:'Number of columns must be a number greater than 0.',invalidBorder:'Border size must be a number.',invalidWidth:'Table width must be a number.',invalidHeight:'Table height must be a number.',invalidCellSpacing:'Cell spacing must be a positive number.',invalidCellPadding:'Cell padding must be a positive number.',cell:{menu:'Cell',insertBefore:'Insert Cell Before',insertAfter:'Insert Cell After',deleteCell:'Briši æelije',merge:'Spoji æelije',mergeRight:'Merge Right',mergeDown:'Merge Down',splitHorizontal:'Split Cell Horizontally',splitVertical:'Split Cell Vertically',title:'Cell Properties',cellType:'Cell Type',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Word Wrap',hAlign:'Horizontal Alignment',vAlign:'Vertical Alignment',alignBaseline:'Baseline',bgColor:'Background Color',borderColor:'Border Color',data:'Data',header:'Header',yes:'Yes',no:'No',invalidWidth:'Cell width must be a number.',invalidHeight:'Cell height must be a number.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Choose'},row:{menu:'Row',insertBefore:'Insert Row Before',insertAfter:'Insert Row After',deleteRow:'Briši redove'},column:{menu:'Column',insertBefore:'Insert Column Before',insertAfter:'Insert Column After',deleteColumn:'Briši kolone'}},button:{title:'Button Properties',text:'Text (Value)',type:'Type',typeBtn:'Button',typeSbm:'Submit',typeRst:'Reset'},checkboxAndRadio:{checkboxTitle:'Checkbox Properties',radioTitle:'Radio Button Properties',value:'Value',selected:'Selected'},form:{title:'Form Properties',menu:'Form Properties',action:'Action',method:'Method',encoding:'Encoding'},select:{title:'Selection Field Properties',selectInfo:'Select Info',opAvail:'Available Options',value:'Value',size:'Size',lines:'lines',chkMulti:'Allow multiple selections',opText:'Text',opValue:'Value',btnAdd:'Add',btnModify:'Modify',btnUp:'Up',btnDown:'Down',btnSetValue:'Set as selected value',btnDelete:'Delete'},textarea:{title:'Textarea Properties',cols:'Columns',rows:'Rows'},textfield:{title:'Text Field Properties',name:'Name',value:'Value',charWidth:'Character Width',maxChars:'Maximum Characters',type:'Type',typeText:'Text',typePass:'Password'},hidden:{title:'Hidden Field Properties',name:'Name',value:'Value'},image:{title:'Svojstva slike',titleButton:'Image Button Properties',menu:'Svojstva slike',infoTab:'Info slike',btnUpload:'Šalji na server',upload:'Šalji',alt:'Tekst na slici',lockRatio:'Zakljuèaj odnos',resetSize:'Resetuj dimenzije',border:'Okvir',hSpace:'HSpace',vSpace:'VSpace',alertUrl:'Molimo ukucajte URL od slike.',linkTab:'Link',button2Img:'Do you want to transform the selected image button on a simple image?',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'Flash Properties',propertiesTab:'Properties',title:'Flash Properties',chkPlay:'Auto Play',chkLoop:'Loop',chkMenu:'Enable Flash Menu',chkFull:'Allow Fullscreen',scale:'Scale',scaleAll:'Show all',scaleNoBorder:'No Border',scaleFit:'Exact Fit',access:'Script Access',accessAlways:'Always',accessSameDomain:'Same domain',accessNever:'Never',alignAbsBottom:'Abs dole',alignAbsMiddle:'Abs sredina',alignBaseline:'Bazno',alignTextTop:'Vrh teksta',quality:'Quality',qualityBest:'Best',qualityHigh:'High',qualityAutoHigh:'Auto High',qualityMedium:'Medium',qualityAutoLow:'Auto Low',qualityLow:'Low',windowModeWindow:'Window',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Window mode',flashvars:'Variables for Flash',bgcolor:'Boja pozadine',hSpace:'HSpace',vSpace:'VSpace',validateSrc:'Molimo ukucajte URL link',validateHSpace:'HSpace must be a number.',validateVSpace:'VSpace must be a number.'},spellCheck:{toolbar:'Check Spelling',title:'Spell Check',notAvailable:'Sorry, but service is unavailable now.',errorLoading:'Error loading application service host: %s.',notInDic:'Not in dictionary',changeTo:'Change to',btnIgnore:'Ignore',btnIgnoreAll:'Ignore All',btnReplace:'Replace',btnReplaceAll:'Replace All',btnUndo:'Undo',noSuggestions:'- No suggestions -',progress:'Spell check in progress...',noMispell:'Spell check complete: No misspellings found',noChanges:'Spell check complete: No words changed',oneChange:'Spell check complete: One word changed',manyChanges:'Spell check complete: %1 words changed',ieSpellDownload:'Spell checker not installed. Do you want to download it now?'},smiley:{toolbar:'Smješko',title:'Ubaci smješka',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 element'},numberedlist:'Numerisana lista',bulletedlist:'Lista',indent:'Poveæaj uvod',outdent:'Smanji uvod',justify:{left:'Lijevo poravnanje',center:'Centralno poravnanje',right:'Desno poravnanje',block:'Puno poravnanje'},blockquote:'Block Quote',clipboard:{title:'Zalijepi',cutError:'Sigurnosne postavke vašeg pretraživaèa ne dozvoljavaju operacije automatskog rezanja. Molimo koristite kraticu na tastaturi (Ctrl/Cmd+X).',copyError:'Sigurnosne postavke Vašeg pretraživaèa ne dozvoljavaju operacije automatskog kopiranja. Molimo koristite kraticu na tastaturi (Ctrl/Cmd+C).',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.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'Zalijepi iz Word-a',title:'Zalijepi iz Word-a',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'Zalijepi kao obièan tekst',title:'Zalijepi kao obièan tekst'},templates:{button:'Templates',title:'Content Templates',options:'Template Options',insertOption:'Replace actual contents',selectPromptMsg:'Please select the template to open in the editor',emptyListMsg:'(No templates defined)'},showBlocks:'Show Blocks',stylesCombo:{label:'Stil',panelTitle:'Formatting Styles',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'Format',panelTitle:'Format',tag_p:'Normal',tag_pre:'Formatted',tag_address:'Address',tag_h1:'Heading 1',tag_h2:'Heading 2',tag_h3:'Heading 3',tag_h4:'Heading 4',tag_h5:'Heading 5',tag_h6:'Heading 6',tag_div:'Normal (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'Font',voiceLabel:'Font',panelTitle:'Font'},fontSize:{label:'Velièina',voiceLabel:'Font Size',panelTitle:'Velièina'},colorButton:{textColorTitle:'Boja teksta',bgColorTitle:'Boja pozadine',panelTitle:'Colors',auto:'Automatska',more:'Više boja...'},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'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Options',langs:'Languages',moreSuggestions:'More suggestions',ignore:'Ignore',ignoreAll:'Ignore All',addWord:'Add Word',emptyDic:'Dictionary name should not be empty.',noSuggestions:'No suggestions',optionsTab:'Options',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Languages',dictionariesTab:'Dictionaries',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'About'},about:{title:'About CKEditor',dlgTitle:'About CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'For licensing information please visit our web site:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Maximize',minimize:'Minimize',fakeobjects:{anchor:'Anchor',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Unknown Object'},resize:'Drag to resize',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'Document Properties',title:'Document Properties',design:'Design',meta:'Meta Tags',chooseColor:'Choose',other:'Other...',docTitle:'Page Title',charset:'Character Set Encoding',charsetOther:'Other Character Set Encoding',charsetASCII:'ASCII',charsetCE:'Central European',charsetCT:'Chinese Traditional (Big5)',charsetCR:'Cyrillic',charsetGR:'Greek',charsetJP:'Japanese',charsetKR:'Korean',charsetTR:'Turkish',charsetUN:'Unicode (UTF-8)',charsetWE:'Western European',docType:'Document Type Heading',docTypeOther:'Other Document Type Heading',xhtmlDec:'Include XHTML Declarations',bgColor:'Background Color',bgImage:'Background Image URL',bgFixed:'Non-scrolling (Fixed) Background',txtColor:'Text Color',margin:'Page Margins',marginTop:'Top',marginLeft:'Left',marginRight:'Right',marginBottom:'Bottom',metaKeywords:'Document Indexing Keywords (comma separated)',metaDescription:'Document Description',metaAuthor:'Author',metaCopyright:'Copyright',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/ca.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/ca.js
deleted file mode 100644
index 84e2181..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/ca.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.ca={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'Editor toolbars',editor:'Editor de text enriquit',source:'Codi font',newPage:'Nova pàgina',save:'Desa',preview:'Visualització prèvia',cut:'Retalla',copy:'Copia',paste:'Enganxa',print:'Imprimeix',underline:'Subratllat',bold:'Negreta',italic:'Cursiva',selectAll:'Selecciona-ho tot',removeFormat:'Elimina Format',strike:'Barrat',subscript:'Subíndex',superscript:'Superíndex',horizontalrule:'Insereix línia horitzontal',pagebreak:'Insereix salt de pàgina',pagebreakAlt:'Salt de pàgina',unlink:"Elimina l'enllaç",undo:'Desfés',redo:'Refés',common:{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',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 la finestra de diàleg?",options:'Opcions',target:'Destí',targetNew:'Nova finestra (_blank)',targetTop:'Finestra major (_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',alignTop:'Superior',alignMiddle:'Centre',alignBottom:'Inferior',invalidValue:'Invalid value.',invalidHeight:"L'alçada ha de ser un nombre.",invalidWidth:"L'amplada ha de ser un nombre.",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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, no disponible</span>'},contextmenu:{options:'Opcions del menú contextual'},specialChar:{toolbar:'Insereix caràcter especial',title:'Selecciona el caràcter especial',options:'Opcions de caràcters especials'},link:{toolbar:'Insereix/Edita enllaç',other:'<altre>',menu:"Edita l'enllaç",title:'Enllaç',info:"Informació de l'enllaç",target:'Destí',upload:'Puja',advanced:'Avançat',type:"Tipus d'enllaç",toUrl:'URL',toAnchor:'Àncora en aquesta pàgina',toEmail:'Correu electrònic',targetFrame:'<marc>',targetPopup:'<finestra emergent>',targetFrameName:'Nom del marc de destí',targetPopupName:'Nom finestra popup',popupFeatures:'Característiques finestra popup',popupResizable:'Redimensionable',popupStatusBar:"Barra d'estat",popupLocationBar:"Barra d'adreça",popupToolbar:"Barra d'eines",popupMenuBar:'Barra de menú',popupFullScreen:'Pantalla completa (IE)',popupScrollBars:"Barres d'scroll",popupDependent:'Depenent (Netscape)',popupLeft:'Posició esquerra',popupTop:'Posició dalt',id:'Id',langDir:"Direcció de l'idioma",langDirLTR:"D'esquerra a dreta (LTR)",langDirRTL:'De dreta a esquerra (RTL)',acccessKey:"Clau d'accés",name:'Nom',langCode:"Direcció de l'idioma",tabIndex:'Index de Tab',advisoryTitle:'Títol consultiu',advisoryContentType:'Tipus de contingut consultiu',cssClasses:"Classes del full d'estil",charset:'Conjunt de caràcters font enllaçat',styles:'Estil',rel:'Relationship',selectAnchor:'Selecciona una àncora',anchorName:"Per nom d'àncora",anchorId:"Per Id d'element",emailAddress:'Adreça de correu electrònic',emailSubject:'Assumpte del missatge',emailBody:'Cos del missatge',noAnchors:'(No hi ha àncores disponibles en aquest document)',noUrl:"Si us plau, escrigui l'enllaç URL",noEmail:"Si us plau, escrigui l'adreça correu electrònic"},anchor:{toolbar:'Insereix/Edita àncora',menu:"Propietats de l'àncora",title:"Propietats de l'àncora",name:"Nom de l'àncora",errorName:"Si us plau, escriviu el nom de l'ancora",remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Cerca i reemplaça',find:'Cerca',replace:'Reemplaça',findWhat:'Cerca:',replaceWith:'Remplaça amb:',notFoundMsg:"El text especificat no s'ha trobat.",findOptions:'Find Options',matchCase:'Distingeix majúscules/minúscules',matchWord:'Només paraules completes',matchCyclic:'Match cyclic',replaceAll:'Reemplaça-ho tot',replaceSuccessMsg:'%1 ocurrència/es reemplaçada/es.'},table:{toolbar:'Taula',title:'Propietats de la taula',menu:'Propietats de la taula',deleteTable:'Suprimeix la taula',rows:'Files',columns:'Columnes',border:'Mida vora',widthPx:'píxels',widthPc:'percentatge',widthUnit:"unitat d'amplada",cellSpace:'Espaiat de cel·les',cellPad:'Encoixinament de cel·les',caption:'Títol',summary:'Resum',headers:'Capçaleres',headersNone:'Cap',headersColumn:'Primera columna',headersRow:'Primera fila',headersBoth:'Ambdues',invalidRows:'El nombre de files ha de ser un nombre major que 0.',invalidCols:'El nombre de columnes ha de ser un nombre major que 0.',invalidBorder:'El gruix de la vora ha de ser un nombre.',invalidWidth:"L'amplada de la taula ha de ser un nombre.",invalidHeight:"L'alçada de la taula ha de ser un nombre.",invalidCellSpacing:"L'espaiat de cel·la ha de ser un nombre.",invalidCellPadding:"L'encoixinament de cel·la ha de ser un nombre.",cell:{menu:'Cel·la',insertBefore:'Insereix abans',insertAfter:'Insereix després',deleteCell:'Suprimeix',merge:'Fusiona',mergeRight:'Fusiona a la dreta',mergeDown:'Fusiona avall',splitHorizontal:'Divideix horitzontalment',splitVertical:'Divideix verticalment',title:'Propietats de la cel·la',cellType:'Tipus de cel·la',rowSpan:'Expansió de files',colSpan:'Expansió de columnes',wordWrap:'Ajustar al contingut',hAlign:'Alineació Horizontal',vAlign:'Alineació Vertical',alignBaseline:'A la línia base',bgColor:'Color de fons',borderColor:'Color de la vora',data:'Dades',header:'Capçalera',yes:'Sí',no:'No',invalidWidth:"L'amplada de cel·la ha de ser un nombre.",invalidHeight:"L'alçada de cel·la ha de ser un nombre.",invalidRowSpan:"L'expansió de files ha de ser un nombre enter.",invalidColSpan:"L'expansió de columnes ha de ser un nombre enter.",chooseColor:'Trieu'},row:{menu:'Fila',insertBefore:'Insereix fila abans de',insertAfter:'Insereix fila darrera',deleteRow:'Suprimeix una fila'},column:{menu:'Columna',insertBefore:'Insereix columna abans de',insertAfter:'Insereix columna darrera',deleteColumn:'Suprimeix una columna'}},button:{title:'Propietats del botó',text:'Text (Valor)',type:'Tipus',typeBtn:'Botó',typeSbm:'Transmet formulari',typeRst:'Reinicia formulari'},checkboxAndRadio:{checkboxTitle:'Propietats de la casella de verificació',radioTitle:"Propietats del botó d'opció",value:'Valor',selected:'Seleccionat'},form:{title:'Propietats del formulari',menu:'Propietats del formulari',action:'Acció',method:'Mètode',encoding:'Codificació'},select:{title:'Propietats del camp de selecció',selectInfo:'Info',opAvail:'Opcions disponibles',value:'Valor',size:'Mida',lines:'Línies',chkMulti:'Permet múltiples seleccions',opText:'Text',opValue:'Valor',btnAdd:'Afegeix',btnModify:'Modifica',btnUp:'Amunt',btnDown:'Avall',btnSetValue:'Selecciona per defecte',btnDelete:'Elimina'},textarea:{title:"Propietats de l'àrea de text",cols:'Columnes',rows:'Files'},textfield:{title:'Propietats del camp de text',name:'Nom',value:'Valor',charWidth:'Amplada',maxChars:'Nombre màxim de caràcters',type:'Tipus',typeText:'Text',typePass:'Contrasenya'},hidden:{title:'Propietats del camp ocult',name:'Nom',value:'Valor'},image:{title:'Propietats de la imatge',titleButton:"Propietats del botó d'imatge",menu:'Propietats de la imatge',infoTab:'Informació de la imatge',btnUpload:'Envia-la al servidor',upload:'Puja',alt:'Text alternatiu',lockRatio:'Bloqueja les proporcions',resetSize:'Restaura la mida',border:'Vora',hSpace:'Espaiat horit.',vSpace:'Espaiat vert.',alertUrl:'Si us plau, escriviu la URL de la imatge',linkTab:'Enllaç',button2Img:"Voleu transformar el botó d'imatge seleccionat en una simple imatge?",img2Button:"Voleu transformar la imatge seleccionada en un botó d'imatge?",urlMissing:'Falta la URL de la imatge.',validateBorder:'La vora ha de ser un nombre enter.',validateHSpace:'HSpace ha de ser un nombre enter.',validateVSpace:'VSpace ha de ser un nombre enter.'},flash:{properties:'Propietats del Flash',propertiesTab:'Propietats',title:'Propietats del Flash',chkPlay:'Reprodució automàtica',chkLoop:'Bucle',chkMenu:'Habilita menú Flash',chkFull:'Permetre la pantalla completa',scale:'Escala',scaleAll:'Mostra-ho tot',scaleNoBorder:'Sense vores',scaleFit:'Mida exacta',access:'Accés a scripts',accessAlways:'Sempre',accessSameDomain:'El mateix domini',accessNever:'Mai',alignAbsBottom:'Abs Bottom',alignAbsMiddle:'Abs Middle',alignBaseline:'Baseline',alignTextTop:'Text Top',quality:'Qualitat',qualityBest:'La millor',qualityHigh:'Alta',qualityAutoHigh:'Alta automàtica',qualityMedium:'Mitjana',qualityAutoLow:'Baixa automàtica',qualityLow:'Baixa',windowModeWindow:'Finestra',windowModeOpaque:'Opaca',windowModeTransparent:'Transparent',windowMode:'Mode de la finestra',flashvars:'Variables de Flash',bgcolor:'Color de Fons',hSpace:'Espaiat horit.',vSpace:'Espaiat vert.',validateSrc:"Si us plau, escrigui l'enllaç URL",validateHSpace:"L'espaiat horitzonatal ha de ser un nombre.",validateVSpace:"L'espaiat vertical ha de ser un nombre."},spellCheck:{toolbar:"Revisa l'ortografia",title:"Comprova l'ortografia",notAvailable:'El servei no es troba disponible ara.',errorLoading:'Error carregant el servidor: %s.',notInDic:'No és al diccionari',changeTo:'Reemplaça amb',btnIgnore:'Ignora',btnIgnoreAll:'Ignora-les totes',btnReplace:'Canvia',btnReplaceAll:'Canvia-les totes',btnUndo:'Desfés',noSuggestions:'Cap suggeriment',progress:'Verificació ortogràfica en curs...',noMispell:'Verificació ortogràfica acabada: no hi ha cap paraula mal escrita',noChanges:"Verificació ortogràfica: no s'ha canviat cap paraula",oneChange:"Verificació ortogràfica: s'ha canviat una paraula",manyChanges:"Verificació ortogràfica: s'han canviat %1 paraules",ieSpellDownload:'Verificació ortogràfica no instal·lada. Voleu descarregar-ho ara?'},smiley:{toolbar:'Icona',title:'Insereix una icona',options:"Opcions d'emoticones"},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 element'},numberedlist:'Llista numerada',bulletedlist:'Llista de pics',indent:'Augmenta el sagnat',outdent:'Redueix el sagnat',justify:{left:"Alinea a l'esquerra",center:'Centrat',right:'Alinea a la dreta',block:'Justificat'},blockquote:'Bloc de cita',clipboard:{title:'Enganxa',cutError:'La seguretat del vostre navegador no permet executar automàticament les operacions de retallar. Si us plau, utilitzeu el teclat (Ctrl+X).',copyError:'La seguretat del vostre navegador no permet executar automàticament les operacions de copiar. Si us plau, utilitzeu el teclat (Ctrl+C).',pasteMsg:'Si us plau, enganxeu dins del següent camp utilitzant el teclat (<STRONG>Ctrl+V</STRONG>) i premeu <STRONG>OK</STRONG>.',securityMsg:"A causa de la configuració de seguretat del vostre navegador, l'editor no pot accedir al porta-retalls directament. Enganxeu-ho un altre cop en aquesta finestra.",pasteArea:"Àrea d'enganxat"},pastefromword:{confirmCleanup:'El text que voleu enganxar sembla provenir de Word. Voleu netejar aquest text abans que sigui enganxat?',toolbar:'Enganxa des del Word',title:'Enganxa des del Word',error:'No ha estat possible netejar les dades enganxades degut a un error intern'},pasteText:{button:'Enganxa com a text no formatat',title:'Enganxa com a text no formatat'},templates:{button:'Plantilles',title:'Plantilles de contingut',options:'Opcions de plantilla',insertOption:'Reemplaça el contingut actual',selectPromptMsg:"Seleccioneu una plantilla per usar a l'editor<br>(per defecte s'elimina el contingut actual):",emptyListMsg:'(No hi ha plantilles definides)'},showBlocks:'Mostra els blocs',stylesCombo:{label:'Estil',panelTitle:'Estils de format',panelTitle1:'Estils de bloc',panelTitle2:'Estils incrustats',panelTitle3:"Estils d'objecte"},format:{label:'Format',panelTitle:'Format',tag_p:'Normal',tag_pre:'Formatejat',tag_address:'Adreça',tag_h1:'Encapçalament 1',tag_h2:'Encapçalament 2',tag_h3:'Encapçalament 3',tag_h4:'Encapçalament 4',tag_h5:'Encapçalament 5',tag_h6:'Encapçalament 6',tag_div:'Normal (DIV)'},div:{title:'Crea un contenidor Div',toolbar:'Crea un contenidor Div',cssClassInputLabel:"Classes de la fulla d'estils",styleSelectLabel:'Estil',IdInputLabel:'Id',languageCodeInputLabel:" Codi d'idioma",inlineStyleInputLabel:'Estil en línia',advisoryTitleInputLabel:'Títol de guia',langDirLabel:"Direcció de l'idioma",langDirLTRLabel:"D'esquerra a dreta (LTR)",langDirRTLLabel:'De dreta a esquerra (RTL)',edit:'Edita Div',remove:'Elimina Div'},iframe:{title:'Propietats IFrame',toolbar:'IFrame',noUrl:"Si us plau, introduïu la URL de l'iframe URL",scrolling:'Activa les barrres de desplaçament',border:'Mostra la vora del marc'},font:{label:'Tipus de lletra',voiceLabel:'Tipus de lletra',panelTitle:'Tipus de lletra'},fontSize:{label:'Mida',voiceLabel:'Mida de la lletra',panelTitle:'Mida'},colorButton:{textColorTitle:'Color de Text',bgColorTitle:'Color de Fons',panelTitle:'Colors',auto:'Automàtic',more:'Més colors...'},colors:{'000':'Negre',800000:'Granat','8B4513':'Marró sella','2F4F4F':'Gris pissarra fosca','008080':'Blau xarxet','000080':'Blau marí','4B0082':'Indi',696969:'Gris intens',B22222:'Maó',A52A2A:'Marró (web)',DAA520:'Solidago','006400':'Verd fosc','40E0D0':'Turquesa','0000CD':'Atzur',800080:'Lila',808080:'Gris',F00:'Vermell',FF8C00:'Taronja fosc',FFD700:'Or','008000':'Verd','0FF':'Cian','00F':'Blau',EE82EE:'Lavanda rosat',A9A9A9:'Gris clar',FFA07A:'Salmó clar',FFA500:'Taronja',FFFF00:'Groc','00FF00':'Verd llima',AFEEEE:'Blau pàlid',ADD8E6:'Blau clar',DDA0DD:'Pruna',D3D3D3:'Gris clar',FFF0F5:'Lavanda rosat',FAEBD7:'Blanc antic',FFFFE0:'Groc clar',F0FFF0:'Verd pàlid',F0FFFF:'Blau cel pàlid',F0F8FF:'Cian pàlid',E6E6FA:'Lavanda',FFF:'Blanc'},scayt:{title:'Spell Check As You Type',opera_title:"No és compatible amb l'Opera",enable:"Habilitat l'SCAYT",disable:'Deshabilita SCAYT',about:"Quant a l'SCAYT",toggle:"Commuta l'SCAYT",options:'Opcions',langs:'Idiomes',moreSuggestions:'Més suggerències',ignore:'Ignora',ignoreAll:"Ignora'ls tots",addWord:'Afegeix una paraula',emptyDic:"El nom del diccionari no hauria d'estar buit.",noSuggestions:'Cap suggeriment',optionsTab:'Opcions',allCaps:'Ignora paraules en majúscules',ignoreDomainNames:'Ignora els noms de domini',mixedCase:'Ignora paraules amb majúscules i minúscules',mixedWithDigits:'Ignora paraules amb números ',languagesTab:'Idiomes',dictionariesTab:'Diccionaris',dic_field_name:'Nom del diccionari',dic_create:'Crea',dic_restore:'Restaura',dic_delete:'Elimina',dic_rename:'Canvia el nom',dic_info:"Inicialment el diccionari d'usuari s'emmagatzema en una galeta. De totes maneres, les galetes tenen la mida limitada. Quan el diccionari creix massa, llavors el diccionari es pot emmagatzemar al nostre servidor. Per desar el vostre diccionari personal al nostre servidor heu d.'especificar un nom pel diccionari. Si ja heu desat un diccionari, teclegeu si us plau el seu nom i cliqueu el botó de restauració.",aboutTab:'Quant a'},about:{title:'Quant al CKEditor',dlgTitle:'Quant al CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'Per informació sobre llicències visiteu el web:',copy:'Copyright &copy; $1. Tots els drets reservats.'},maximize:'Maximitza',minimize:'Minimitza',fakeobjects:{anchor:'Àncora',flash:'Animació Flash',iframe:'IFrame',hiddenfield:'Camp ocult',unknown:'Objecte desconegut'},resize:'Arrossegueu per redimensionar',colordialog:{title:'Selecciona el color',options:'Opcions del color',highlight:'Destacat',selected:'Seleccionat',clear:'Neteja'},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'},bidi:{ltr:"Direcció del text d'esquerra a dreta",rtl:'Direcció del text de dreta a esquerra'},docprops:{label:'Propietats del document',title:'Propietats del document',design:'Design',meta:'Metadades',chooseColor:'Trieu',other:'<altre>',docTitle:'Títol de la pàgina',charset:'Codificació de conjunt de caràcters',charsetOther:'Una altra codificació de caràcters',charsetASCII:'ASCII',charsetCE:'Centreeuropeu',charsetCT:'Xinès tradicional (Big5)',charsetCR:'Ciríl·lic',charsetGR:'Grec',charsetJP:'Japonès',charsetKR:'Coreà',charsetTR:'Turc',charsetUN:'Unicode (UTF-8)',charsetWE:'Europeu occidental',docType:'Capçalera de tipus de document',docTypeOther:'Un altra capçalera de tipus de document',xhtmlDec:'Incloure declaracions XHTML',bgColor:'Color de fons',bgImage:'URL de la imatge de fons',bgFixed:'Fons fixe',txtColor:'Color de Text',margin:'Marges de pàgina',marginTop:'Cap',marginLeft:'Esquerra',marginRight:'Dreta',marginBottom:'Peu',metaKeywords:'Mots clau per a indexació (separats per coma)',metaDescription:'Descripció del document',metaAuthor:'Autor',metaCopyright:'Copyright',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/cs.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/cs.js
deleted file mode 100644
index 6d80606..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/cs.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.cs={dir:'ltr',editorTitle:'Textový editor, %1',editorHelp:'StisknÄ›te ALT 0 pro nápovÄ›du',toolbars:'Panely nástrojů editoru',editor:'Textový editor',source:'Zdroj',newPage:'Nová stránka',save:'Uložit',preview:'Náhled',cut:'Vyjmout',copy:'Kopírovat',paste:'Vložit',print:'Tisk',underline:'Podtržené',bold:'TuÄné',italic:'Kurzíva',selectAll:'Vybrat vÅ¡e',removeFormat:'Odstranit formátování',strike:'PÅ™eÅ¡krtnuté',subscript:'Dolní index',superscript:'Horní index',horizontalrule:'Vložit vodorovnou linku',pagebreak:'Vložit konec stránky',pagebreakAlt:'Konec stránky',unlink:'Odstranit odkaz',undo:'ZpÄ›t',redo:'Znovu',common:{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',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',alignTop:'Nahoru',alignMiddle:'Na stÅ™ed',alignBottom:'Dolů',invalidValue:'Neplatná hodnota.',invalidHeight:'Zadaná výška musí být Äíslo.',invalidWidth:'Šířka musí být Äíslo.',invalidCssLength:'Hodnota urÄená pro pole "%1" musí být kladné Äíslo bez nebo s platnou jednotkou míry CSS (px, %, in, cm, mm, em, ex, pt, nebo pc).',invalidHtmlLength:'Hodnota urÄená pro pole "%1" musí být kladné Äíslo bez nebo s platnou jednotkou míry HTML (px nebo %).',invalidInlineStyle:'Hodnota urÄená pro řádkový styl se musí skládat z jedné nebo více n-tic ve formátu "název : hodnota", oddÄ›lené stÅ™edníky',cssLengthTooltip:'Zadejte Äíslo jako hodnotu v pixelech nebo Äíslo s platnou jednotkou CSS (px, %, v cm, mm, em, ex, pt, nebo pc).',unavailable:'%1<span class="cke_accessibility">, nedostupné</span>'},contextmenu:{options:'Nastavení kontextové nabídky'},specialChar:{toolbar:'Vložit speciální znaky',title:'VýbÄ›r speciálního znaku',options:'Nastavení speciálních znaků'},link:{toolbar:'Odkaz',other:'<jiný>',menu:'ZmÄ›nit odkaz',title:'Odkaz',info:'Informace o odkazu',target:'Cíl',upload:'Odeslat',advanced:'Rozšířené',type:'Typ odkazu',toUrl:'URL',toAnchor:'Kotva v této stránce',toEmail:'E-mail',targetFrame:'<rámec>',targetPopup:'<vyskakovací okno>',targetFrameName:'Název cílového rámu',targetPopupName:'Název vyskakovacího okna',popupFeatures:'Vlastnosti vyskakovacího okna',popupResizable:'Umožňující mÄ›nit velikost',popupStatusBar:'Stavový řádek',popupLocationBar:'Panel umístÄ›ní',popupToolbar:'Panel nástrojů',popupMenuBar:'Panel nabídky',popupFullScreen:'Celá obrazovka (IE)',popupScrollBars:'Posuvníky',popupDependent:'Závislost (Netscape)',popupLeft:'Levý okraj',popupTop:'Horní okraj',id:'Id',langDir:'SmÄ›r jazyka',langDirLTR:'Zleva doprava (LTR)',langDirRTL:'Zprava doleva (RTL)',acccessKey:'Přístupový klíÄ',name:'Jméno',langCode:'Kód jazyka',tabIndex:'PoÅ™adí prvku',advisoryTitle:'Pomocný titulek',advisoryContentType:'Pomocný typ obsahu',cssClasses:'Třída stylu',charset:'PÅ™iÅ™azená znaková sada',styles:'Styl',rel:'Vztah',selectAnchor:'Vybrat kotvu',anchorName:'Podle jména kotvy',anchorId:'Podle Id objektu',emailAddress:'E-mailová adresa',emailSubject:'PÅ™edmÄ›t zprávy',emailBody:'TÄ›lo zprávy',noAnchors:'(Ve stránce není definována žádná kotva!)',noUrl:'Zadejte prosím URL odkazu',noEmail:'Zadejte prosím e-mailovou adresu'},anchor:{toolbar:'Záložka',menu:'Vlastnosti záložky',title:'Vlastnosti záložky',name:'Název záložky',errorName:'Zadejte prosím název záložky',remove:'Odstranit záložku'},list:{numberedTitle:'Vlastnosti Äíslování',bulletedTitle:'Vlastnosti odrážek',type:'Typ',start:'PoÄátek',validateStartNumber:'Číslování musí zaÄínat celým Äíslem.',circle:'Kroužky',disc:'KoleÄka',square:'ÄŒtverce',none:'Nic',notset:'<nenastaveno>',armenian:'Arménské',georgian:'Gruzínské (an, ban, gan, atd.)',lowerRoman:'Malé římské (i, ii, iii, iv, v, atd.)',upperRoman:'Velké římské (I, II, III, IV, V, atd.)',lowerAlpha:'Malá latinka (a, b, c, d, e, atd.)',upperAlpha:'Velká latinka (A, B, C, D, E, atd.)',lowerGreek:'Malé Å™ecké (alpha, beta, gamma, atd.)',decimal:'Arabská Äísla (1, 2, 3, atd.)',decimalLeadingZero:'Arabská Äísla uvozená nulou (01, 02, 03, atd.)'},findAndReplace:{title:'Najít a nahradit',find:'Hledat',replace:'Nahradit',findWhat:'Co hledat:',replaceWith:'Čím nahradit:',notFoundMsg:'Hledaný text nebyl nalezen.',findOptions:'Možnosti hledání',matchCase:'RozliÅ¡ovat velikost písma',matchWord:'Pouze celá slova',matchCyclic:'Procházet opakovanÄ›',replaceAll:'Nahradit vÅ¡e',replaceSuccessMsg:'%1 nahrazení.'},table:{toolbar:'Tabulka',title:'Vlastnosti tabulky',menu:'Vlastnosti tabulky',deleteTable:'Smazat tabulku',rows:'Řádky',columns:'Sloupce',border:'OhraniÄení',widthPx:'bodů',widthPc:'procent',widthUnit:'jednotka šířky',cellSpace:'Vzdálenost bunÄ›k',cellPad:'Odsazení obsahu v buňce',caption:'Popis',summary:'Souhrn',headers:'Záhlaví',headersNone:'Žádné',headersColumn:'První sloupec',headersRow:'První řádek',headersBoth:'Obojí',invalidRows:'PoÄet řádků musí být Äíslo vÄ›tší než 0.',invalidCols:'PoÄet sloupců musí být Äíslo vÄ›tší než 0.',invalidBorder:'Zdaná velikost okraje musí být Äíselná.',invalidWidth:'Šířka tabulky musí být Äíslo.',invalidHeight:'Zadaná výška tabulky musí být Äíselná.',invalidCellSpacing:'Zadaná vzdálenost bunÄ›k musí být Äíselná.',invalidCellPadding:'Zadané odsazení obsahu v buňce musí být Äíselné.',cell:{menu:'Buňka',insertBefore:'Vložit buňku pÅ™ed',insertAfter:'Vložit buňku za',deleteCell:'Smazat buňky',merge:'SlouÄit buňky',mergeRight:'SlouÄit doprava',mergeDown:'SlouÄit dolů',splitHorizontal:'RozdÄ›lit buňky vodorovnÄ›',splitVertical:'RozdÄ›lit buňky svisle',title:'Vlastnosti buňky',cellType:'Typ buňky',rowSpan:'Spojit řádky',colSpan:'Spojit sloupce',wordWrap:'Zalamování',hAlign:'Vodorovné zarovnání',vAlign:'Svislé zarovnání',alignBaseline:'Na úÄaří',bgColor:'Barva pozadí',borderColor:'Barva okraje',data:'Data',header:'HlaviÄka',yes:'Ano',no:'Ne',invalidWidth:'Šířka buňky musí být Äíslo.',invalidHeight:'Zadaná výška buňky musí být Äíslená.',invalidRowSpan:'Zadaný poÄet slouÄených řádků musí být celé Äíslo.',invalidColSpan:'Zadaný poÄet slouÄených sloupců musí být celé Äíslo.',chooseColor:'VýbÄ›r'},row:{menu:'Řádek',insertBefore:'Vložit řádek pÅ™ed',insertAfter:'Vložit řádek za',deleteRow:'Smazat řádky'},column:{menu:'Sloupec',insertBefore:'Vložit sloupec pÅ™ed',insertAfter:'Vložit sloupec za',deleteColumn:'Smazat sloupec'}},button:{title:'Vlastnosti tlaÄítka',text:'Popisek',type:'Typ',typeBtn:'TlaÄítko',typeSbm:'Odeslat',typeRst:'Obnovit'},checkboxAndRadio:{checkboxTitle:'Vlastnosti zaÅ¡krtávacího políÄka',radioTitle:'Vlastnosti pÅ™epínaÄe',value:'Hodnota',selected:'ZaÅ¡krtnuto'},form:{title:'Vlastnosti formuláře',menu:'Vlastnosti formuláře',action:'Akce',method:'Metoda',encoding:'Kódování'},select:{title:'Vlastnosti seznamu',selectInfo:'Info',opAvail:'Dostupná nastavení',value:'Hodnota',size:'Velikost',lines:'Řádků',chkMulti:'Povolit mnohonásobné výbÄ›ry',opText:'Text',opValue:'Hodnota',btnAdd:'PÅ™idat',btnModify:'ZmÄ›nit',btnUp:'Nahoru',btnDown:'Dolů',btnSetValue:'Nastavit jako vybranou hodnotu',btnDelete:'Smazat'},textarea:{title:'Vlastnosti textové oblasti',cols:'Sloupců',rows:'Řádků'},textfield:{title:'Vlastnosti textového pole',name:'Název',value:'Hodnota',charWidth:'Šířka ve znacích',maxChars:'Maximální poÄet znaků',type:'Typ',typeText:'Text',typePass:'Heslo'},hidden:{title:'Vlastnosti skrytého pole',name:'Název',value:'Hodnota'},image:{title:'Vlastnosti obrázku',titleButton:'Vlastností obrázkového tlaÄítka',menu:'Vlastnosti obrázku',infoTab:'Informace o obrázku',btnUpload:'Odeslat na server',upload:'Odeslat',alt:'Alternativní text',lockRatio:'Zámek',resetSize:'Původní velikost',border:'Okraje',hSpace:'Horizontální mezera',vSpace:'Vertikální mezera',alertUrl:'Zadejte prosím URL obrázku',linkTab:'Odkaz',button2Img:'SkuteÄnÄ› chcete pÅ™evést zvolené obrázkové tlaÄítko na obyÄejný obrázek?',img2Button:'SkuteÄnÄ› chcete pÅ™evést zvolený obrázek na obrázkové tlaÄítko?',urlMissing:'Zadané URL zdroje obrázku nebylo nalezeno.',validateBorder:'Okraj musí být nastaven v celých Äíslech.',validateHSpace:'Horizontální mezera musí být nastavena v celých Äíslech.',validateVSpace:'Vertikální mezera musí být nastavena v celých Äíslech.'},flash:{properties:'Vlastnosti Flashe',propertiesTab:'Vlastnosti',title:'Vlastnosti Flashe',chkPlay:'Automatické spuÅ¡tÄ›ní',chkLoop:'Opakování',chkMenu:'Nabídka Flash',chkFull:'Povolit celoobrazovkový režim',scale:'Zobrazit',scaleAll:'Zobrazit vÅ¡e',scaleNoBorder:'Bez okraje',scaleFit:'PÅ™izpůsobit',access:'Přístup ke skriptu',accessAlways:'Vždy',accessSameDomain:'Ve stejné doménÄ›',accessNever:'Nikdy',alignAbsBottom:'Zcela dolů',alignAbsMiddle:'DoprostÅ™ed',alignBaseline:'Na úÄaří',alignTextTop:'Na horní okraj textu',quality:'Kvalita',qualityBest:'Nejlepší',qualityHigh:'Vysoká',qualityAutoHigh:'Vysoká - auto',qualityMedium:'StÅ™ední',qualityAutoLow:'Nízká - auto',qualityLow:'Nejnižší',windowModeWindow:'Okno',windowModeOpaque:'Neprůhledné',windowModeTransparent:'Průhledné',windowMode:'Režim okna',flashvars:'PromÄ›nné pro Flash',bgcolor:'Barva pozadí',hSpace:'Horizontální mezera',vSpace:'Vertikální mezera',validateSrc:'Zadejte prosím URL odkazu',validateHSpace:'Zadaná horizontální mezera musí být Äíslo.',validateVSpace:'Zadaná vertikální mezera musí být Äíslo.'},spellCheck:{toolbar:'Zkontrolovat pravopis',title:'Kontrola pravopisu',notAvailable:'Omlouváme se, ale služba nyní není dostupná.',errorLoading:'Chyba nahrávání služby aplikace z: %s.',notInDic:'Není ve slovníku',changeTo:'ZmÄ›nit na',btnIgnore:'PÅ™eskoÄit',btnIgnoreAll:'PÅ™eskakovat vÅ¡e',btnReplace:'ZamÄ›nit',btnReplaceAll:'Zaměňovat vÅ¡e',btnUndo:'ZpÄ›t',noSuggestions:'- žádné návrhy -',progress:'Probíhá kontrola pravopisu...',noMispell:'Kontrola pravopisu dokonÄena: Žádné pravopisné chyby nenalezeny',noChanges:'Kontrola pravopisu dokonÄena: Beze zmÄ›n',oneChange:'Kontrola pravopisu dokonÄena: Jedno slovo zmÄ›nÄ›no',manyChanges:'Kontrola pravopisu dokonÄena: %1 slov zmÄ›nÄ›no',ieSpellDownload:'Kontrola pravopisu není nainstalována. Chcete ji nyní stáhnout?'},smiley:{toolbar:'Smajlíci',title:'Vkládání smajlíků',options:'Nastavení smajlíků'},elementsPath:{eleLabel:'Cesta objektu',eleTitle:'%1 objekt'},numberedlist:'Číslování',bulletedlist:'Odrážky',indent:'ZvÄ›tÅ¡it odsazení',outdent:'ZmenÅ¡it odsazení',justify:{left:'Zarovnat vlevo',center:'Zarovnat na stÅ™ed',right:'Zarovnat vpravo',block:'Zarovnat do bloku'},blockquote:'Citace',clipboard:{title:'Vložit',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).',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).',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.',pasteArea:'Oblast vkládání'},pastefromword:{confirmCleanup:'Jak je vidÄ›t, vkládaný text je kopírován z Wordu. Chcete jej pÅ™ed vložením vyÄistit?',toolbar:'Vložit z Wordu',title:'Vložit z Wordu',error:'Z důvodu vnitÅ™ní chyby nebylo možné provést vyÄiÅ¡tÄ›ní vkládaného textu.'},pasteText:{button:'Vložit jako Äistý text',title:'Vložit jako Äistý text'},templates:{button:'Å ablony',title:'Å ablony obsahu',options:'Nastavení Å¡ablon',insertOption:'Nahradit aktuální obsah',selectPromptMsg:'Prosím zvolte Å¡ablonu pro otevÅ™ení v editoru<br>(aktuální obsah editoru bude ztracen):',emptyListMsg:'(Není definována žádná Å¡ablona)'},showBlocks:'Ukázat bloky',stylesCombo:{label:'Styl',panelTitle:'Formátovací styly',panelTitle1:'Blokové styly',panelTitle2:'Řádkové styly',panelTitle3:'Objektové styly'},format:{label:'Formát',panelTitle:'Formát',tag_p:'Normální',tag_pre:'Naformátováno',tag_address:'Adresa',tag_h1:'Nadpis 1',tag_h2:'Nadpis 2',tag_h3:'Nadpis 3',tag_h4:'Nadpis 4',tag_h5:'Nadpis 5',tag_h6:'Nadpis 6',tag_div:'Normální (DIV)'},div:{title:'VytvoÅ™it Div kontejner',toolbar:'VytvoÅ™it Div kontejner',cssClassInputLabel:'Třídy stylů',styleSelectLabel:'Styly',IdInputLabel:'Id',languageCodeInputLabel:' Kód jazyka',inlineStyleInputLabel:'VnitÅ™ní styly',advisoryTitleInputLabel:'NápovÄ›dní titulek',langDirLabel:'SmÄ›r jazyka',langDirLTRLabel:'Zleva doprava (LTR)',langDirRTLLabel:'Zprava doleva (RTL)',edit:'ZmÄ›nit Div',remove:'Odstranit Div'},iframe:{title:'Vlastnosti IFrame',toolbar:'IFrame',noUrl:'Zadejte prosím URL obsahu pro IFrame',scrolling:'Zapnout posuvníky',border:'Zobrazit okraj'},font:{label:'Písmo',voiceLabel:'Písmo',panelTitle:'Písmo'},fontSize:{label:'Velikost',voiceLabel:'Velikost písma',panelTitle:'Velikost'},colorButton:{textColorTitle:'Barva textu',bgColorTitle:'Barva pozadí',panelTitle:'Barvy',auto:'Automaticky',more:'Více barev...'},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á'},scayt:{title:'Kontrola pravopisu bÄ›hem psaní (SCAYT)',opera_title:'Toto Opera nepodporuje',enable:'Zapnout SCAYT',disable:'Vypnout SCAYT',about:'O aplikaci SCAYT',toggle:'VypínaÄ SCAYT',options:'Nastavení',langs:'Jazyky',moreSuggestions:'Více návrhů',ignore:'PÅ™eskoÄit',ignoreAll:'PÅ™eskoÄit vÅ¡e',addWord:'PÅ™idat slovo',emptyDic:'Název slovníku nesmí být prázdný.',noSuggestions:'Zádné návrhy',optionsTab:'Nastavení',allCaps:'Ignorovat slova tvoÅ™ená velkými písmeny',ignoreDomainNames:'Ignorovat doménová jména',mixedCase:'Ignorovat slova obsahující různou velikost písma',mixedWithDigits:'Ignorovat slova obsahující Äísla',languagesTab:'Jazyky',dictionariesTab:'Slovníky',dic_field_name:'Název slovníku',dic_create:'VytvoÅ™it',dic_restore:'Obnovit',dic_delete:'Smazat',dic_rename:'PÅ™ejmenovat',dic_info:'ZpoÄátku se uživatelský slovník ukládá do cookies ve vaÅ¡em prohlížeÄi. OvÅ¡em cookies mají omezenou velikost, takže když slovník dosáhne velikosti, kdy se již do cookies nevejde, může být uložen na naÅ¡em serveru. Chcete-li uložit váš osobní slovník na naÅ¡em serveru, je tÅ™eba slovník nejdříve pojmenovat. Máte-li již slovník pojmenován a uložen, zadejte jeho název a klepnÄ›te na tlaÄítko Obnovit.',aboutTab:'O aplikaci'},about:{title:'O aplikaci CKEditor',dlgTitle:'O aplikaci CKEditor',help:'ProhlédnÄ›te si $1 pro nápovÄ›du.',userGuide:'Uživatelská příruÄka CKEditor',moreInfo:'Pro informace o lincenci navÅ¡tivte naÅ¡i webovou stránku:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Maximalizovat',minimize:'Minimalizovat',fakeobjects:{anchor:'Záložka',flash:'Flash animace',iframe:'IFrame',hiddenfield:'Skryté pole',unknown:'Neznámý objekt'},resize:'Uchopit pro zmÄ›nu velikosti',colordialog:{title:'VýbÄ›r barvy',options:'Nastavení barvy',highlight:'Zvýraznit',selected:'Vybráno',clear:'VyÄistit'},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'},bidi:{ltr:'SmÄ›r textu zleva doprava',rtl:'SmÄ›r textu zprava doleva'},docprops:{label:'Vlastnosti dokumentu',title:'Vlastnosti dokumentu',design:'Vzhled',meta:'Metadata',chooseColor:'VýbÄ›r',other:'<jiný>',docTitle:'Titulek stránky',charset:'Znaková sada',charsetOther:'Další znaková sada',charsetASCII:'ASCII',charsetCE:'StÅ™edoevropské jazyky',charsetCT:'TradiÄní ÄínÅ¡tina (Big5)',charsetCR:'Cyrilice',charsetGR:'ŘeÄtina',charsetJP:'JaponÅ¡tina',charsetKR:'KorejÅ¡tina',charsetTR:'TureÄtina',charsetUN:'Unicode (UTF-8)',charsetWE:'Západoevropské jazyky',docType:'Typ dokumentu',docTypeOther:'Jiný typ dokumetu',xhtmlDec:'Zahrnout deklarace XHTML',bgColor:'Barva pozadí',bgImage:'URL obrázku na pozadí',bgFixed:'Nerolovatelné (Pevné) pozadí',txtColor:'Barva textu',margin:'Okraje stránky',marginTop:'Horní',marginLeft:'Levý',marginRight:'Pravý',marginBottom:'Dolní',metaKeywords:'KlíÄová slova (oddÄ›lená Äárkou)',metaDescription:'Popis dokumentu',metaAuthor:'Autor',metaCopyright:'Autorská práva',previewHtml:'<p>Toto je <strong>ukázkový text</strong>. Používáte <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/cy.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/cy.js
deleted file mode 100644
index 73b3b57..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/cy.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.cy={dir:'ltr',editorTitle:'Golygydd testun cyfoethog, %1',editorHelp:'Gwasgwch ALT 0 am gymorth',toolbars:'Bariau offer golygydd',editor:'Golygydd Testun Cyfoethog',source:'HTML',newPage:'Tudalen newydd',save:'Cadw',preview:'Rhagolwg',cut:'Torri',copy:'Copïo',paste:'Gludo',print:'Argraffu',underline:'Tanlinellu',bold:'Bras',italic:'Italig',selectAll:'Dewis Popeth',removeFormat:'Tynnu Fformat',strike:'Llinell Trwyddo',subscript:'Is-sgript',superscript:'Uwchsgript',horizontalrule:'Mewnosod Llinell Lorweddol',pagebreak:'Mewnosod Toriad Tudalen i Argraffu',pagebreakAlt:'Toriad Tudalen',unlink:'Datgysylltu',undo:'Dadwneud',redo:'Ailadrodd',common:{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:'Dosbarth Dalen Arddull',advisoryTitle:'Teitl Cynghorol',cssStyle:'Arddull',ok:'Iawn',cancel:'Diddymu',close:'Cau',preview:'Rhagolwg',generalTab:'Cyffredinol',advancedTab:'Uwch',validateNumberFailed:"Nid yw'r gwerth hwn yn rhif.",confirmNewPage:"Byddwch yn colli unrhyw newidiadau i'r cynnwys sydd heb eu cadw. A ydych am barhau i lwytho tudalen newydd?",confirmCancel:"Mae rhai o'r opsiynau wedi'u newid. A ydych 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 Ffeil Ddiwyg',width:'Lled',height:'Uchder',align:'Alinio',alignLeft:'Chwith',alignRight:'Dde',alignCenter:'Canol',alignTop:'Brig',alignMiddle:'Canol',alignBottom:'Gwaelod',invalidValue:'Gwerth annilys.',invalidHeight:"Rhaid i'r Uchder fod yn rhif.",invalidWidth:"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).",invalidHtmlLength:"Mae'n rhaid i'r gwerth ar gyfer maes \"%1\" fod yn rhif positif gyda neu heb uned fesuriad HTML dilys (px neu %).",invalidInlineStyle:"Mae'n rhaid i'r gwerth ar gyfer arddull mewn-llinell gynnwys un set neu fwy ar y fformat \"enw:gwerth\", wedi'u gwahanu gyda hanner colon.",cssLengthTooltip:'Rhowch rif ar gyfer gwerth mewn picsel neu rhif gydag uned CSS dilys (px, %, in, cm, mm, em, pt neu pc).',unavailable:'%1<span class="cke_accessibility">, ddim ar gael</span>'},contextmenu:{options:'Opsiynau Dewislen Cyd-destun'},specialChar:{toolbar:'Mewnosod Nodau Arbennig',title:'Dewis Nod Arbennig',options:'Opsiynau Nodau Arbennig'},link:{toolbar:'Dolen',other:'<eraill>',menu:'Golygu Dolen',title:'Dolen',info:'Gwyb ar y Ddolen',target:'Targed',upload:'Lanlwytho',advanced:'Uwch',type:'Math y Ddolen',toUrl:'URL',toAnchor:'Dolen at angor yn y testun',toEmail:'E-bost',targetFrame:'<ffrâm>',targetPopup:'<ffenestr bop>',targetFrameName:'Enw Ffrâm y Targed',targetPopupName:'Enw Ffenestr Bop',popupFeatures:'Nodweddion Ffenestr Bop',popupResizable:'Ailfeintiol',popupStatusBar:'Bar Statws',popupLocationBar:'Bar Safle',popupToolbar:'Bar Offer',popupMenuBar:'Dewislen',popupFullScreen:'Sgrin Llawn (IE)',popupScrollBars:'Barrau Sgrolio',popupDependent:'Dibynnol (Netscape)',popupLeft:'Safle Chwith',popupTop:'Safle Top',id:'Id',langDir:'Cyfeiriad Iaith',langDirLTR:"Chwith i'r Dde (LTR)",langDirRTL:"Dde i'r Chwith (RTL)",acccessKey:'Allwedd Mynediad',name:'Enw',langCode:'Cod Iaith',tabIndex:'Indecs Tab',advisoryTitle:'Teitl Cynghorol',advisoryContentType:'Math y Cynnwys Cynghorol',cssClasses:'Dosbarthiadau Dalen Arddull',charset:"Set nodau'r Adnodd Cysylltiedig",styles:'Arddull',rel:'Perthynas',selectAnchor:'Dewiswch Angor',anchorName:"Gan Enw'r Angor",anchorId:'Gan Id yr Elfen',emailAddress:'Cyfeiriad E-Bost',emailSubject:'Testun y Message Subject',emailBody:'Pwnc y Neges',noAnchors:'(Dim angorau ar gael yn y ddogfen)',noUrl:'Teipiwch URL y ddolen',noEmail:'Teipiwch gyfeiriad yr e-bost'},anchor:{toolbar:'Angor',menu:'Golygwch yr Angor',title:"Priodweddau'r Angor",name:"Enw'r Angor",errorName:"Teipiwch enw'r angor",remove:'Tynnwch yr Angor'},list:{numberedTitle:'Priodweddau Rhestr Rifol',bulletedTitle:'Priodweddau Rhestr Fwled',type:'Math',start:'Dechrau',validateStartNumber:'Rhaid bod y rhif cychwynnol yn gyfanrif.',circle:'Cylch',disc:'Disg',square:'Sgwâr',none:'Dim',notset:'<heb osod>',armenian:'Rhifau Armeneg',georgian:'Rhifau Sioraidd (an, ban, gan, ayyb.)',lowerRoman:'Rhufeinig Is (i, ii, iii, iv, v, ayyb.)',upperRoman:'Rhufeinig Uwch (I, II, III, IV, V, ayyb.)',lowerAlpha:'Alffa Is (a, b, c, d, e, ayyb.)',upperAlpha:'Alffa Uwch (A, B, C, D, E, ayyb.)',lowerGreek:'Groeg Is (alpha, beta, gamma, ayyb.)',decimal:'Degol (1, 2, 3, ayyb.)',decimalLeadingZero:'Degol â sero arweiniol (01, 02, 03, ayyb.)'},findAndReplace:{title:'Chwilio ac Amnewid',find:'Chwilio',replace:'Amnewid',findWhat:"Chwilio'r term:",replaceWith:'Amnewid gyda:',notFoundMsg:"Nid oedd y testun wedi'i ddarganfod.",findOptions:'Chwilio Opsiynau',matchCase:"Cyfateb i'r cas",matchWord:'Cyfateb gair cyfan',matchCyclic:'Cyfateb cylchol',replaceAll:'Amnewid pob un',replaceSuccessMsg:'Amnewidiwyd %1 achlysur.'},table:{toolbar:'Tabl',title:'Nodweddion Tabl',menu:'Nodweddion Tabl',deleteTable:'Dileu Tabl',rows:'Rhesi',columns:'Colofnau',border:'Maint yr Ymyl',widthPx:'picsel',widthPc:'y cant',widthUnit:'uned lled',cellSpace:"Bylchu'r gell",cellPad:"Padio'r gell",caption:'Pennawd',summary:'Crynodeb',headers:'Penynnau',headersNone:'Dim',headersColumn:'Colofn gyntaf',headersRow:'Rhes gyntaf',headersBoth:'Y Ddau',invalidRows:"Mae'n rhaid cael o leiaf un rhes.",invalidCols:"Mae'n rhaid cael o leiaf un golofn.",invalidBorder:"Mae'n rhaid i faint yr ymyl fod yn rhif.",invalidWidth:"Mae'n rhaid i led y tabl fod yn rhif.",invalidHeight:"Mae'n rhaid i uchder y tabl fod yn rhif.",invalidCellSpacing:"Mae'n rhaid i fylchiad y gell fod yn rhif positif.",invalidCellPadding:"Mae'n rhaid i badiad y gell fod yn rhif positif.",cell:{menu:'Cell',insertBefore:'Mewnosod Cell Cyn',insertAfter:'Mewnosod Cell Ar Ôl',deleteCell:'Dileu Celloedd',merge:'Cyfuno Celloedd',mergeRight:"Cyfuno i'r Dde",mergeDown:'Cyfuno i Lawr',splitHorizontal:"Hollti'r Gell yn Lorweddol",splitVertical:"Hollti'r Gell yn Fertigol",title:"Priodweddau'r Gell",cellType:'Math y Gell',rowSpan:'Rhychwant Rhesi',colSpan:'Rhychwant Colofnau',wordWrap:'Lapio Geiriau',hAlign:'Aliniad Llorweddol',vAlign:'Aliniad Fertigol',alignBaseline:'Baslinell',bgColor:'Lliw Cefndir',borderColor:'Lliw Ymyl',data:'Data',header:'Pennyn',yes:'Ie',no:'Na',invalidWidth:"Mae'n rhaid i led y gell fod yn rhif.",invalidHeight:"Mae'n rhaid i uchder y gell fod yn rhif.",invalidRowSpan:"Mae'n rhaid i rychwant y rhesi fod yn gyfanrif.",invalidColSpan:"Mae'n rhaid i rychwant y colofnau fod yn gyfanrif.",chooseColor:'Choose'},row:{menu:'Rhes',insertBefore:'Mewnosod Rhes Cyn',insertAfter:'Mewnosod Rhes Ar Ôl',deleteRow:'Dileu Rhesi'},column:{menu:'Colofn',insertBefore:'Mewnosod Colofn Cyn',insertAfter:'Mewnosod Colofn Ar Ôl',deleteColumn:'Dileu Colofnau'}},button:{title:'Priodweddau Botymau',text:'Testun (Gwerth)',type:'Math',typeBtn:'Botwm',typeSbm:'Gyrru',typeRst:'Ailosod'},checkboxAndRadio:{checkboxTitle:'Priodweddau Blwch Ticio',radioTitle:'Priodweddau Botwm Radio',value:'Gwerth',selected:'Dewiswyd'},form:{title:'Priodweddau Ffurflen',menu:'Priodweddau Ffurflen',action:'Gweithred',method:'Dull',encoding:'Amgodio'},select:{title:'Priodweddau Maes Dewis',selectInfo:'Gwyb Dewis',opAvail:'Opsiynau ar Gael',value:'Gwerth',size:'Maint',lines:'llinellau',chkMulti:'Caniatàu aml-ddewisiadau',opText:'Testun',opValue:'Gwerth',btnAdd:'Ychwanegu',btnModify:'Newid',btnUp:'Lan',btnDown:'Lawr',btnSetValue:'Gosod fel gwerth a ddewiswyd',btnDelete:'Dileu'},textarea:{title:'Priodweddau Ardal Testun',cols:'Colofnau',rows:'Rhesi'},textfield:{title:'Priodweddau Maes Testun',name:'Enw',value:'Gwerth',charWidth:'Lled Nod',maxChars:'Uchafswm y Nodau',type:'Math',typeText:'Testun',typePass:'Cyfrinair'},hidden:{title:'Priodweddau Maes Cudd',name:'Enw',value:'Gwerth'},image:{title:'Priodweddau Delwedd',titleButton:'Priodweddau Botwm Delwedd',menu:'Priodweddau Delwedd',infoTab:'Gwyb Delwedd',btnUpload:"Anfon i'r Gweinydd",upload:'lanlwytho',alt:'Testun Amgen',lockRatio:'Cloi Cymhareb',resetSize:'Ailosod Maint',border:'Ymyl',hSpace:'BwlchLl',vSpace:'BwlchF',alertUrl:'Rhowch URL y ddelwedd',linkTab:'Dolen',button2Img:"Ydych am drawsffurfio'r botwm ddelwedd hwn ar ddelwedd syml?",img2Button:"Ydych am drawsffurfio'r ddelwedd hon ar fotwm delwedd?",urlMissing:'URL gwreiddiol y ddelwedd ar goll.',validateBorder:"Rhaid i'r ymyl fod yn gyfanrif.",validateHSpace:"Rhaid i'r HSpace fod yn gyfanrif.",validateVSpace:"Rhaid i'r VSpace fod yn gyfanrif."},flash:{properties:'Priodweddau Flash',propertiesTab:'Priodweddau',title:'Priodweddau Flash',chkPlay:'AwtoChwarae',chkLoop:'Lwpio',chkMenu:'Galluogi Dewislen Flash',chkFull:'Caniatàu Sgrin Llawn',scale:'Graddfa',scaleAll:'Dangos pob',scaleNoBorder:'Dim Ymyl',scaleFit:'Ffit Union',access:'Mynediad Sgript',accessAlways:'Pob amser',accessSameDomain:"R'un parth",accessNever:'Byth',alignAbsBottom:'Gwaelod Abs',alignAbsMiddle:'Canol Abs',alignBaseline:'Baslinell',alignTextTop:'Testun Top',quality:'Ansawdd',qualityBest:'Gorau',qualityHigh:'Uchel',qualityAutoHigh:'Uchel Awto',qualityMedium:'Canolig',qualityAutoLow:'Isel Awto',qualityLow:'Isel',windowModeWindow:'Ffenestr',windowModeOpaque:'Afloyw',windowModeTransparent:'Tryloyw',windowMode:'Modd ffenestr',flashvars:'Newidynnau ar gyfer Flash',bgcolor:'Lliw cefndir',hSpace:'BwlchLl',vSpace:'BwlchF',validateSrc:'Ni all yr URL fod yn wag.',validateHSpace:"Rhaid i'r BwlchLl fod yn rhif.",validateVSpace:"Rhaid i'r BwlchF fod yn rhif."},spellCheck:{toolbar:'Gwirio Sillafu',title:'Gwirio Sillafu',notAvailable:"Nid yw'r gwasanaeth hwn ar gael yn bresennol.",errorLoading:'Error loading application service host: %s.',notInDic:"Nid i'w gael yn y geiriadur",changeTo:'Newid i',btnIgnore:'Anwybyddu Un',btnIgnoreAll:'Anwybyddu Pob',btnReplace:'Amnewid Un',btnReplaceAll:'Amnewid Pob',btnUndo:'Dadwneud',noSuggestions:'- Dim awgrymiadau -',progress:'Gwirio sillafu yn ar y gweill...',noMispell:'Gwirio sillafu wedi gorffen: Dim camsillaf.',noChanges:'Gwirio sillafu wedi gorffen: Dim newidiadau',oneChange:'Gwirio sillafu wedi gorffen: Newidiwyd 1 gair',manyChanges:'Gwirio sillafu wedi gorffen: Newidiwyd %1 gair',ieSpellDownload:'Gwirydd sillafu heb ei arsefydlu. A ydych am ei lawrlwytho nawr?'},smiley:{toolbar:'Gwenoglun',title:'Mewnosod Gwenoglun',options:'Opsiynau Gwenogluniau'},elementsPath:{eleLabel:'Llwybr elfennau',eleTitle:'Elfen %1'},numberedlist:'Mewnosod/Tynnu Rhestr Rhifol',bulletedlist:'Mewnosod/Tynnu Rhestr Bwled',indent:"Cynyddu'r Mewnoliad",outdent:"Lleihau'r Mewnoliad",justify:{left:"Alinio i'r Chwith",center:"Alinio i'r Canol",right:"Alinio i'r Dde",block:'Aliniad Bloc'},blockquote:'Dyfyniad bloc',clipboard:{title:'Gludo',cutError:"Nid yw gosodiadau diogelwch eich porwr yn caniatàu'r golygydd i gynnal 'gweithredoedd torri' yn awtomatig. Defnyddiwch y bysellfwrdd (Ctrl/Cmd+X).",copyError:"Nid yw gosodiadau diogelwch eich porwr yn caniatàu'r golygydd i gynnal 'gweithredoedd copïo' yn awtomatig. Defnyddiwch y bysellfwrdd (Ctrl/Cmd+C).",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, nid yw'r porwr yn gallu ennill mynediad i'r data ar y clipfwrdd yn uniongyrchol. Mae angen i chi ei ludo eto i'r ffenestr hon.",pasteArea:'Ardal Gludo'},pastefromword:{confirmCleanup:"Mae'r testun rydych chi am ludo wedi'i gopïo o Word. Ydych chi am ei lanhau cyn ei ludo?",toolbar:'Gludo o Word',title:'Gludo o Word',error:'Doedd dim modd glanhau y data a ludwyd oherwydd gwall mewnol'},pasteText:{button:'Gludo fel testun plaen',title:'Gludo fel Testun Plaen'},templates:{button:'Templedi',title:'Templedi Cynnwys',options:'Opsiynau Templedi',insertOption:'Amnewid y cynnwys go iawn',selectPromptMsg:"Dewiswch dempled i'w agor yn y golygydd",emptyListMsg:"(Dim templedi wedi'u diffinio)"},showBlocks:'Dangos Blociau',stylesCombo:{label:'Arddulliau',panelTitle:'Arddulliau Fformatio',panelTitle1:'Arddulliau Bloc',panelTitle2:'Arddulliau Mewnol',panelTitle3:'Arddulliau Gwrthrych'},format:{label:'Fformat',panelTitle:'Fformat Paragraff',tag_p:'Normal',tag_pre:"Wedi'i Fformatio",tag_address:'Cyfeiriad',tag_h1:'Pennawd 1',tag_h2:'Pennawd 2',tag_h3:'Pennawd 3',tag_h4:'Pennawd 4',tag_h5:'Pennawd 5',tag_h6:'Pennawd 6',tag_div:'Normal (DIV)'},div:{title:'Creu Cynhwysydd Div',toolbar:'Creu Cynhwysydd Div',cssClassInputLabel:'Dosbarthiadau Ffeil Ddiwyg',styleSelectLabel:'Arddull',IdInputLabel:'Id',languageCodeInputLabel:' Cod Iaith',inlineStyleInputLabel:'Arddull Mewn Llinell',advisoryTitleInputLabel:'Teitl Cynghorol',langDirLabel:'Cyfeiriad yr Iaith',langDirLTRLabel:"Chwith i'r Dde (LTR)",langDirRTLLabel:"Dde i'r Chwith (RTL)",edit:'Golygu Div',remove:'Tynnu Div'},iframe:{title:'Priodweddau IFrame',toolbar:'IFrame',noUrl:'Rhowch fath URL yr iframe',scrolling:'Galluogi bariau sgrolio',border:'Dangos ymyl y ffrâm'},font:{label:'Ffont',voiceLabel:'Ffont',panelTitle:"Enw'r Ffont"},fontSize:{label:'Maint',voiceLabel:'Maint y Ffont',panelTitle:'Maint y Ffont'},colorButton:{textColorTitle:'Lliw Testun',bgColorTitle:'Lliw Cefndir',panelTitle:'Lliwiau',auto:'Awtomatig',more:'Mwy o Liwiau...'},colors:{'000':'Du',800000:'Marwn','8B4513':'Brown Cyfrwy','2F4F4F':'Llechen Tywyll','008080':'Corhwyad','000080':'Nefi','4B0082':'Indigo',696969:'Llwyd Pwl',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 Tywyll',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'},scayt:{title:"Gwirio'r Sillafu Wrth Deipio",opera_title:'Heb ei gynnal gan Opera',enable:'Galluogi SCAYT',disable:'Analluogi SCAYT',about:'Ynghylch SCAYT',toggle:'Togl SCAYT',options:'Opsiynau',langs:'Ieithoedd',moreSuggestions:'Awgrymiadau pellach',ignore:'Anwybyddu',ignoreAll:'Anwybyddu pob',addWord:'Ychwanegu Gair',emptyDic:"Ni ddylai enw'r geiriadur fod yn wag.",noSuggestions:'Dim awgrymiadau',optionsTab:'Opsiynau',allCaps:'Anwybyddu Geiriau Nodau Uwch i Gyd',ignoreDomainNames:'Anwybyddu Enwau Parth',mixedCase:'Anwybyddu Geiriau â Chymysgedd Nodau Uwch ac Is',mixedWithDigits:'Anwybyddu Geiriau â Rhifau',languagesTab:'Ieithoedd',dictionariesTab:'Geiriaduron',dic_field_name:"Enw'r geiriadur",dic_create:'Creu',dic_restore:'Adfer',dic_delete:'Dileu',dic_rename:'Ailenwi',dic_info:"Ar y cychwyn, caiff y Geiriadur ei storio mewn Cwci. Er, mae terfyn ar faint cwcis. Pan fydd Gweiriadur Defnyddiwr yn tyfu tu hwnt i gyfyngiadau maint Cwci, caiff y geiriadur ei storio ar ein gweinydd ni. er mwyn storio eich geiriadur poersonol chi ar ein gweinydd, bydd angen i chi osod enw ar gyfer y geiriadur. Os oes geiriadur 'da chi ar ein gweinydd yn barod, teipiwch ei enw a chliciwch y botwm Adfer.",aboutTab:'Ynghylch'},about:{title:'Ynghylch CKEditor',dlgTitle:'Ynghylch CKEditor',help:'Gwirio $1 am gymorth.',userGuide:'Canllawiau Defnyddiwr CKEditor',moreInfo:"Am wybodaeth ynghylch trwyddedau, ewch i'n gwefan:",copy:'Hawlfraint &copy; $1. Cedwir pob hawl.'},maximize:'Mwyhau',minimize:'Lleihau',fakeobjects:{anchor:'Angor',flash:'Animeiddiant Flash',iframe:'IFrame',hiddenfield:'Maes Cudd',unknown:'Gwrthrych Anhysbys'},resize:'Llusgo i ailfeintio',colordialog:{title:'Dewis lliw',options:'Opsiynau Lliw',highlight:'Uwcholeuo',selected:'Dewiswyd',clear:'Clirio'},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'},bidi:{ltr:"Cyfeiriad testun o'r chwith i'r dde",rtl:"Cyfeiriad testun o'r dde i'r chwith"},docprops:{label:'Priodweddau Dogfen',title:'Priodweddau Dogfen',design:'Cynllunio',meta:'Tagiau Meta',chooseColor:'Dewis',other:'Arall...',docTitle:'Teitl y Dudalen',charset:'Amgodio Set Nodau',charsetOther:'Amgodio Set Nodau Arall',charsetASCII:'ASCII',charsetCE:'Ewropeaidd Canol',charsetCT:'Tsieinëeg Traddodiadol (Big5)',charsetCR:'Syrilig',charsetGR:'Groeg',charsetJP:'Siapanëeg',charsetKR:'Corëeg',charsetTR:'Tyrceg',charsetUN:'Unicode (UTF-8)',charsetWE:'Ewropeaidd Gorllewinol',docType:'Pennawd Math y Ddogfen',docTypeOther:'Pennawd Math y Ddogfen Arall',xhtmlDec:'Cynnwys Datganiadau XHTML',bgColor:'Lliw Cefndir',bgImage:'URL Delwedd Cefndir',bgFixed:'Cefndir Sefydlog (Ddim yn Sgrolio)',txtColor:'Lliw y Testun',margin:'Ffin y Dudalen',marginTop:'Brig',marginLeft:'Chwith',marginRight:'Dde',marginBottom:'Gwaelod',metaKeywords:'Allweddeiriau Indecsio Dogfen (gwahanu gyda choma)',metaDescription:'Disgrifiad y Ddogfen',metaAuthor:'Awdur',metaCopyright:'Hawlfraint',previewHtml:'<p>Dyma ychydig o <strong>destun sampl</strong>. Rydych chi\'n defnyddio <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/da.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/da.js
deleted file mode 100644
index c6aedac..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/da.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.da={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Tryk ALT 0 for hjælp',toolbars:'Editors værktøjslinjer',editor:'Rich Text Editor',source:'Kilde',newPage:'Ny side',save:'Gem',preview:'Vis eksempel',cut:'Klip',copy:'Kopiér',paste:'Indsæt',print:'Udskriv',underline:'Understreget',bold:'Fed',italic:'Kursiv',selectAll:'Vælg alt',removeFormat:'Fjern formatering',strike:'Gennemstreget',subscript:'Sænket skrift',superscript:'Hævet skrift',horizontalrule:'Indsæt vandret streg',pagebreak:'Indsæt sideskift',pagebreakAlt:'Sideskift',unlink:'Fjern hyperlink',undo:'Fortryd',redo:'Annullér fortryd',common:{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',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',alignTop:'Øverst',alignMiddle:'Centreret',alignBottom:'Nederst',invalidValue:'Invalid value.',invalidHeight:'Højde skal være et tal.',invalidWidth:'Bredde skal være et tal.',invalidCssLength:'Værdien specificeret for "%1" feltet skal være et positivt nummer med eller uden en CSS måleenhed (px, %, in, cm, mm, em, ex, pt, eller pc).',invalidHtmlLength:'Værdien specificeret for "%1" feltet skal være et positivt nummer med eller uden en CSS måleenhed (px eller %).',invalidInlineStyle:'Værdien specificeret for inline style skal indeholde en eller flere elementer med et format som "name:value", separeret af semikoloner',cssLengthTooltip:'Indsæt en numerisk værdi i pixel eller nummer med en gyldig CSS værdi (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, ikke tilgængelig</span>'},contextmenu:{options:'Muligheder for hjælpemenu'},specialChar:{toolbar:'Indsæt symbol',title:'Vælg symbol',options:'Muligheder for specialkarakterer'},link:{toolbar:'Indsæt/redigér hyperlink',other:'<anden>',menu:'Redigér hyperlink',title:'Egenskaber for hyperlink',info:'Generelt',target:'Mål',upload:'Upload',advanced:'Avanceret',type:'Type',toUrl:'URL',toAnchor:'Bogmærke på denne side',toEmail:'E-mail',targetFrame:'<ramme>',targetPopup:'<popup vindue>',targetFrameName:'Destinationsvinduets navn',targetPopupName:'Popupvinduets navn',popupFeatures:'Egenskaber for popup',popupResizable:'Justérbar',popupStatusBar:'Statuslinje',popupLocationBar:'Adresselinje',popupToolbar:'Værktøjslinje',popupMenuBar:'Menulinje',popupFullScreen:'Fuld skærm (IE)',popupScrollBars:'Scrollbar',popupDependent:'Koblet/dependent (Netscape)',popupLeft:'Position fra venstre',popupTop:'Position fra toppen',id:'Id',langDir:'Tekstretning',langDirLTR:'Fra venstre mod højre (LTR)',langDirRTL:'Fra højre mod venstre (RTL)',acccessKey:'Genvejstast',name:'Navn',langCode:'Tekstretning',tabIndex:'Tabulatorindeks',advisoryTitle:'Titel',advisoryContentType:'Indholdstype',cssClasses:'Typografiark',charset:'Tegnsæt',styles:'Typografi',rel:'Relation',selectAnchor:'Vælg et anker',anchorName:'Efter ankernavn',anchorId:'Efter element-Id',emailAddress:'E-mailadresse',emailSubject:'Emne',emailBody:'Besked',noAnchors:'(Ingen bogmærker i dokumentet)',noUrl:'Indtast hyperlink-URL!',noEmail:'Indtast e-mailadresse!'},anchor:{toolbar:'Indsæt/redigér bogmærke',menu:'Egenskaber for bogmærke',title:'Egenskaber for bogmærke',name:'Bogmærkenavn',errorName:'Indtast bogmærkenavn',remove:'Fjern bogmærke'},list:{numberedTitle:'Egenskaber for nummereret liste',bulletedTitle:'Værdier for cirkelpunktopstilling',type:'Type',start:'Start',validateStartNumber:'Den nummererede liste skal starte med et rundt nummer',circle:'Cirkel',disc:'Værdier for diskpunktopstilling',square:'Firkant',none:'Ingen',notset:'<ikke defineret>',armenian:'Armensk nummering',georgian:'Georgiansk nummering (an, ban, gan, etc.)',lowerRoman:'Små romerske (i, ii, iii, iv, v, etc.)',upperRoman:'Store romerske (I, II, III, IV, V, etc.)',lowerAlpha:'Små alfabet (a, b, c, d, e, etc.)',upperAlpha:'Store alfabet (A, B, C, D, E, etc.)',lowerGreek:'Små græsk (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, osv.)',decimalLeadingZero:'Decimaler med 0 først (01, 02, 03, etc.)'},findAndReplace:{title:'Søg og erstat',find:'Søg',replace:'Erstat',findWhat:'Søg efter:',replaceWith:'Erstat med:',notFoundMsg:'Søgeteksten blev ikke fundet',findOptions:'Find muligheder',matchCase:'Forskel på store og små bogstaver',matchWord:'Kun hele ord',matchCyclic:'Match cyklisk',replaceAll:'Erstat alle',replaceSuccessMsg:'%1 forekomst(er) erstattet.'},table:{toolbar:'Tabel',title:'Egenskaber for tabel',menu:'Egenskaber for tabel',deleteTable:'Slet tabel',rows:'Rækker',columns:'Kolonner',border:'Rammebredde',widthPx:'pixels',widthPc:'procent',widthUnit:'Bredde på enhed',cellSpace:'Celleafstand',cellPad:'Cellemargen',caption:'Titel',summary:'Resumé',headers:'Hoved',headersNone:'Ingen',headersColumn:'Første kolonne',headersRow:'Første række',headersBoth:'Begge',invalidRows:'Antallet af rækker skal være større end 0.',invalidCols:'Antallet af kolonner skal være større end 0.',invalidBorder:'Rammetykkelse skal være et tal.',invalidWidth:'Tabelbredde skal være et tal.',invalidHeight:'Tabelhøjde skal være et tal.',invalidCellSpacing:'Celleafstand skal være et tal.',invalidCellPadding:'Cellemargen skal være et tal.',cell:{menu:'Celle',insertBefore:'Indsæt celle før',insertAfter:'Indsæt celle efter',deleteCell:'Slet celle',merge:'Flet celler',mergeRight:'Flet til højre',mergeDown:'Flet nedad',splitHorizontal:'Del celle vandret',splitVertical:'Del celle lodret',title:'Celleegenskaber',cellType:'Celletype',rowSpan:'Række span (rows span)',colSpan:'Kolonne span (columns span)',wordWrap:'Tekstombrydning',hAlign:'Vandret justering',vAlign:'Lodret justering',alignBaseline:'Grundlinje',bgColor:'Baggrundsfarve',borderColor:'Rammefarve',data:'Data',header:'Hoved',yes:'Ja',no:'Nej',invalidWidth:'Cellebredde skal være et tal.',invalidHeight:'Cellehøjde skal være et tal.',invalidRowSpan:'Række span skal være et heltal.',invalidColSpan:'Kolonne span skal være et heltal.',chooseColor:'Vælg'},row:{menu:'Række',insertBefore:'Indsæt række før',insertAfter:'Indsæt række efter',deleteRow:'Slet række'},column:{menu:'Kolonne',insertBefore:'Indsæt kolonne før',insertAfter:'Indsæt kolonne efter',deleteColumn:'Slet kolonne'}},button:{title:'Egenskaber for knap',text:'Tekst',type:'Type',typeBtn:'Knap',typeSbm:'Send',typeRst:'Nulstil'},checkboxAndRadio:{checkboxTitle:'Egenskaber for afkrydsningsfelt',radioTitle:'Egenskaber for alternativknap',value:'Værdi',selected:'Valgt'},form:{title:'Egenskaber for formular',menu:'Egenskaber for formular',action:'Handling',method:'Metode',encoding:'Kodning (encoding)'},select:{title:'Egenskaber for liste',selectInfo:'Generelt',opAvail:'Valgmuligheder',value:'Værdi',size:'Størrelse',lines:'Linjer',chkMulti:'Tillad flere valg',opText:'Tekst',opValue:'Værdi',btnAdd:'Tilføj',btnModify:'Redigér',btnUp:'Op',btnDown:'Ned',btnSetValue:'Sæt som valgt',btnDelete:'Slet'},textarea:{title:'Egenskaber for tekstboks',cols:'Kolonner',rows:'Rækker'},textfield:{title:'Egenskaber for tekstfelt',name:'Navn',value:'Værdi',charWidth:'Bredde (tegn)',maxChars:'Max. antal tegn',type:'Type',typeText:'Tekst',typePass:'Adgangskode'},hidden:{title:'Egenskaber for skjult felt',name:'Navn',value:'Værdi'},image:{title:'Egenskaber for billede',titleButton:'Egenskaber for billedknap',menu:'Egenskaber for billede',infoTab:'Generelt',btnUpload:'Upload fil til serveren',upload:'Upload',alt:'Alternativ tekst',lockRatio:'Lås størrelsesforhold',resetSize:'Nulstil størrelse',border:'Ramme',hSpace:'Vandret margen',vSpace:'Lodret margen',alertUrl:'Indtast stien til billedet',linkTab:'Hyperlink',button2Img:'Vil du lave billedknappen om til et almindeligt billede?',img2Button:'Vil du lave billedet om til en billedknap?',urlMissing:'Kilde på billed-URL mangler',validateBorder:'Kant skal være et helt nummer.',validateHSpace:'HSpace skal være et helt nummer.',validateVSpace:'VSpace skal være et helt nummer.'},flash:{properties:'Egenskaber for Flash',propertiesTab:'Egenskaber',title:'Egenskaber for Flash',chkPlay:'Automatisk afspilning',chkLoop:'Gentagelse',chkMenu:'Vis Flash-menu',chkFull:'Tillad fuldskærm',scale:'Skalér',scaleAll:'Vis alt',scaleNoBorder:'Ingen ramme',scaleFit:'Tilpas størrelse',access:'Scriptadgang',accessAlways:'Altid',accessSameDomain:'Samme domæne',accessNever:'Aldrig',alignAbsBottom:'Absolut nederst',alignAbsMiddle:'Absolut centreret',alignBaseline:'Grundlinje',alignTextTop:'Toppen af teksten',quality:'Kvalitet',qualityBest:'Bedste',qualityHigh:'Høj',qualityAutoHigh:'Auto høj',qualityMedium:'Medium',qualityAutoLow:'Auto lav',qualityLow:'Lav',windowModeWindow:'Vindue',windowModeOpaque:'Gennemsigtig (opaque)',windowModeTransparent:'Transparent',windowMode:'Vinduestilstand',flashvars:'Variabler for Flash',bgcolor:'Baggrundsfarve',hSpace:'Vandret margen',vSpace:'Lodret margen',validateSrc:'Indtast hyperlink URL!',validateHSpace:'Vandret margen skal være et tal.',validateVSpace:'Lodret margen skal være et tal.'},spellCheck:{toolbar:'Stavekontrol',title:'Stavekontrol',notAvailable:'Stavekontrol er desværre ikke tilgængelig.',errorLoading:'Fejl ved indlæsning af host: %s.',notInDic:'Ikke i ordbogen',changeTo:'Forslag',btnIgnore:'Ignorér',btnIgnoreAll:'Ignorér alle',btnReplace:'Erstat',btnReplaceAll:'Erstat alle',btnUndo:'Tilbage',noSuggestions:'(ingen forslag)',progress:'Stavekontrollen arbejder...',noMispell:'Stavekontrol færdig: Ingen fejl fundet',noChanges:'Stavekontrol færdig: Ingen ord ændret',oneChange:'Stavekontrol færdig: Et ord ændret',manyChanges:'Stavekontrol færdig: %1 ord ændret',ieSpellDownload:'Stavekontrol ikke installeret. Vil du installere den nu?'},smiley:{toolbar:'Smiley',title:'Vælg smiley',options:'Smileymuligheder'},elementsPath:{eleLabel:'Sti på element',eleTitle:'%1 element'},numberedlist:'Talopstilling',bulletedlist:'Punktopstilling',indent:'Forøg indrykning',outdent:'Formindsk indrykning',justify:{left:'Venstrestillet',center:'Centreret',right:'Højrestillet',block:'Lige margener'},blockquote:'Blokcitat',clipboard:{title:'Indsæt',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).',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).',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.',pasteArea:'Indsæt område'},pastefromword:{confirmCleanup:'Den tekst du forsøger at indsætte ser ud til at komme fra Word. Vil du rense teksten før den indsættes?',toolbar:'Indsæt fra Word',title:'Indsæt fra Word',error:'Det var ikke muligt at fjerne formatteringen på den indsatte tekst grundet en intern fejl'},pasteText:{button:'Indsæt som ikke-formateret tekst',title:'Indsæt som ikke-formateret tekst'},templates:{button:'Skabeloner',title:'Indholdsskabeloner',options:'Skabelon muligheder',insertOption:'Erstat det faktiske indhold',selectPromptMsg:'Vælg den skabelon, som skal åbnes i editoren (nuværende indhold vil blive overskrevet):',emptyListMsg:'(Der er ikke defineret nogen skabelon)'},showBlocks:'Vis afsnitsmærker',stylesCombo:{label:'Typografi',panelTitle:'Formattering på stylesheet',panelTitle1:'Block typografi',panelTitle2:'Inline typografi',panelTitle3:'Object typografi'},format:{label:'Formatering',panelTitle:'Formatering',tag_p:'Normal',tag_pre:'Formateret',tag_address:'Adresse',tag_h1:'Overskrift 1',tag_h2:'Overskrift 2',tag_h3:'Overskrift 3',tag_h4:'Overskrift 4',tag_h5:'Overskrift 5',tag_h6:'Overskrift 6',tag_div:'Normal (DIV)'},div:{title:'Opret Div Container',toolbar:'Opret Div Container',cssClassInputLabel:'Typografiark',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Sprogkode',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Vejledende titel',langDirLabel:'Sprogretning',langDirLTRLabel:'Venstre til højre (LTR)',langDirRTLLabel:'Højre til venstre (RTL)',edit:'Rediger Div',remove:'Slet Div'},iframe:{title:'Iframe egenskaber',toolbar:'Iframe',noUrl:'Venligst indsæt URL på iframen',scrolling:'Aktiver scrollbars',border:'Vis kant på rammen'},font:{label:'Skrifttype',voiceLabel:'Skrifttype',panelTitle:'Skrifttype'},fontSize:{label:'Skriftstørrelse',voiceLabel:'Skriftstørrelse',panelTitle:'Skriftstørrelse'},colorButton:{textColorTitle:'Tekstfarve',bgColorTitle:'Baggrundsfarve',panelTitle:'Farver',auto:'Automatisk',more:'Flere farver...'},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'},scayt:{title:'Stavekontrol mens du skriver',opera_title:'Ikke supporteret af Opera',enable:'Aktivér SCAYT',disable:'Deaktivér SCAYT',about:'Om SCAYT',toggle:'Skift/toggle SCAYT',options:'Indstillinger',langs:'Sprog',moreSuggestions:'Flere forslag',ignore:'Ignorér',ignoreAll:'Ignorér alle',addWord:'Tilføj ord',emptyDic:'Ordbogsnavn må ikke være tom.',noSuggestions:'Ingen forslag',optionsTab:'Indstillinger',allCaps:'Ignorer alle store bogstaver',ignoreDomainNames:'Ignorér domænenavne',mixedCase:'Ignorer ord med store og små bogstaver',mixedWithDigits:'Ignorér ord med numre',languagesTab:'Sprog',dictionariesTab:'Ordbøger',dic_field_name:'Navn på ordbog',dic_create:'Opret',dic_restore:'Gendan',dic_delete:'Slet',dic_rename:'Omdøb',dic_info:'Til start er brugerordbogen gemt i en Cookie. Dog har Cookies en begrænsning på størrelse. Når ordbogen når en bestemt størrelse kan den blive gemt på vores server. For at gemme din personlige ordbog på vores server skal du angive et navn for denne. Såfremt du allerede har gemt en ordbog, skriv navnet på denne og klik på Gendan knappen.',aboutTab:'Om'},about:{title:'Om CKEditor',dlgTitle:'Om CKEditor',help:'Se $1 for at få hjælp.',userGuide:'CKEditor-brugermanual',moreInfo:'For informationer omkring licens, se venligst vores hjemmeside (på engelsk):',copy:'Copyright &copy; $1. Alle rettigheder forbeholdes.'},maximize:'Maksimér',minimize:'Minimér',fakeobjects:{anchor:'Anker',flash:'Flashanimation',iframe:'Iframe',hiddenfield:'Skjult felt',unknown:'Ukendt objekt'},resize:'Træk for at skalere',colordialog:{title:'Vælg farve',options:'Farvemuligheder',highlight:'Markér',selected:'Valgt farve',clear:'Nulstil'},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'},bidi:{ltr:'Tekstretning fra venstre til højre',rtl:'Tekstretning fra højre til venstre'},docprops:{label:'Egenskaber for dokument',title:'Egenskaber for dokument',design:'Design',meta:'Metatags',chooseColor:'Vælg',other:'<anden>',docTitle:'Sidetitel',charset:'Tegnsætskode',charsetOther:'Anden tegnsætskode',charsetASCII:'ASCII',charsetCE:'Centraleuropæisk',charsetCT:'Traditionel kinesisk (Big5)',charsetCR:'Kyrillisk',charsetGR:'Græsk',charsetJP:'Japansk',charsetKR:'Koreansk',charsetTR:'Tyrkisk',charsetUN:'Unicode (UTF-8)',charsetWE:'Vesteuropæisk',docType:'Dokumenttype kategori',docTypeOther:'Anden dokumenttype kategori',xhtmlDec:'Inkludere XHTML deklartion',bgColor:'Baggrundsfarve',bgImage:'Baggrundsbillede URL',bgFixed:'Fastlåst baggrund',txtColor:'Tekstfarve',margin:'Sidemargen',marginTop:'Øverst',marginLeft:'Venstre',marginRight:'Højre',marginBottom:'Nederst',metaKeywords:'Dokument index nøgleord (kommasepareret)',metaDescription:'Dokumentbeskrivelse',metaAuthor:'Forfatter',metaCopyright:'Copyright',previewHtml:'<p>Dette er et <strong>eksempel på noget tekst</strong>. Du benytter <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/de.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/de.js
deleted file mode 100644
index 3f36e0a..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/de.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.de={dir:'ltr',editorTitle:'WYSIWYG-Editor, %1',editorHelp:'Drücken Sie ALT 0 für Hilfe',toolbars:'Editor Symbolleisten',editor:'WYSIWYG-Editor',source:'Quellcode',newPage:'Neue Seite',save:'Speichern',preview:'Vorschau',cut:'Ausschneiden',copy:'Kopieren',paste:'Einfügen',print:'Drucken',underline:'Unterstrichen',bold:'Fett',italic:'Kursiv',selectAll:'Alles auswählen',removeFormat:'Formatierungen entfernen',strike:'Durchgestrichen',subscript:'Tiefgestellt',superscript:'Hochgestellt',horizontalrule:'Horizontale Linie einfügen',pagebreak:'Seitenumbruch einfügen',pagebreakAlt:'Seitenumbruch einfügen',unlink:'Link entfernen',undo:'Rückgängig',redo:'Wiederherstellen',common:{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',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',alignTop:'Oben',alignMiddle:'Mitte',alignBottom:'Unten',invalidValue:'Invalid value.',invalidHeight:'Höhe muss eine Zahl sein.',invalidWidth:'Breite muss eine Zahl sein.',invalidCssLength:'Wert spezifiziert für "%1" Feld muss ein positiver numerischer Wert sein mit oder ohne korrekte CSS Messeinheit (px, %, in, cm, mm, em, ex, pt oder pc).',invalidHtmlLength:'Wert spezifiziert für "%1" Feld muss ein positiver numerischer Wert sein mit oder ohne korrekte HTML Messeinheit (px oder %).',invalidInlineStyle:'Wert spezifiziert für inline Stilart muss enthalten ein oder mehr Tupels mit dem Format "Name : Wert" getrennt mit Semikolons.',cssLengthTooltip:'Gebe eine Zahl ein für ein Wert in pixels oder eine Zahl mit einer korrekten CSS Messeinheit (px, %, in, cm, mm, em, ex, pt oder pc).',unavailable:'%1<span class="cke_accessibility">, nicht verfügbar</span>'},contextmenu:{options:'Kontextmenü Optionen'},specialChar:{toolbar:'Sonderzeichen einfügen/editieren',title:'Sonderzeichen auswählen',options:'Sonderzeichen Optionen'},link:{toolbar:'Link einfügen/editieren',other:'<andere>',menu:'Link editieren',title:'Link',info:'Link-Info',target:'Zielseite',upload:'Hochladen',advanced:'Erweitert',type:'Link-Typ',toUrl:'URL',toAnchor:'Anker in dieser Seite',toEmail:'E-Mail',targetFrame:'<Frame>',targetPopup:'<Pop-up Fenster>',targetFrameName:'Ziel-Fenster-Name',targetPopupName:'Pop-up Fenster-Name',popupFeatures:'Pop-up Fenster-Eigenschaften',popupResizable:'Größe änderbar',popupStatusBar:'Statusleiste',popupLocationBar:'Adress-Leiste',popupToolbar:'Symbolleiste',popupMenuBar:'Menü-Leiste',popupFullScreen:'Vollbild (IE)',popupScrollBars:'Rollbalken',popupDependent:'Abhängig (Netscape)',popupLeft:'Linke Position',popupTop:'Obere Position',id:'Id',langDir:'Schreibrichtung',langDirLTR:'Links nach Rechts (LTR)',langDirRTL:'Rechts nach Links (RTL)',acccessKey:'Zugriffstaste',name:'Name',langCode:'Sprachenkürzel',tabIndex:'Tab-Index',advisoryTitle:'Titel Beschreibung',advisoryContentType:'Inhaltstyp',cssClasses:'Stylesheet Klasse',charset:'Ziel-Zeichensatz',styles:'Style',rel:'Beziehung',selectAnchor:'Anker auswählen',anchorName:'nach Anker Name',anchorId:'nach Element Id',emailAddress:'E-Mail Adresse',emailSubject:'Betreffzeile',emailBody:'Nachrichtentext',noAnchors:'(keine Anker im Dokument vorhanden)',noUrl:'Bitte geben Sie die Link-URL an',noEmail:'Bitte geben Sie e-Mail Adresse an'},anchor:{toolbar:'Anker einfügen/editieren',menu:'Anker-Eigenschaften',title:'Anker-Eigenschaften',name:'Anker Name',errorName:'Bitte geben Sie den Namen des Ankers ein',remove:'Anker entfernen'},list:{numberedTitle:'Nummerierte Listen-Eigenschaften',bulletedTitle:'Listen-Eigenschaften',type:'Typ',start:'Start',validateStartNumber:'List Startnummer muss eine ganze Zahl sein.',circle:'Ring',disc:'Kreis',square:'Quadrat',none:'Keine',notset:'<nicht gesetzt>',armenian:'Armenisch Nummerierung',georgian:'Georgisch Nummerierung (an, ban, gan, etc.)',lowerRoman:'Klein römisch (i, ii, iii, iv, v, etc.)',upperRoman:'Groß römisch (I, II, III, IV, V, etc.)',lowerAlpha:'Klein alpha (a, b, c, d, e, etc.)',upperAlpha:'Groß alpha (A, B, C, D, E, etc.)',lowerGreek:'Klein griechisch (alpha, beta, gamma, etc.)',decimal:'Dezimal (1, 2, 3, etc.)',decimalLeadingZero:'Dezimal mit führende Null (01, 02, 03, etc.)'},findAndReplace:{title:'Suchen und Ersetzen',find:'Suchen',replace:'Ersetzen',findWhat:'Suche nach:',replaceWith:'Ersetze mit:',notFoundMsg:'Der gesuchte Text wurde nicht gefunden.',findOptions:'Suchoptionen',matchCase:'Groß-Kleinschreibung beachten',matchWord:'Nur ganze Worte suchen',matchCyclic:'Zyklische Suche',replaceAll:'Alle ersetzen',replaceSuccessMsg:'%1 vorkommen ersetzt.'},table:{toolbar:'Tabelle',title:'Tabellen-Eigenschaften',menu:'Tabellen-Eigenschaften',deleteTable:'Tabelle löschen',rows:'Zeile',columns:'Spalte',border:'Rahmen',widthPx:'Pixel',widthPc:'%',widthUnit:'Breite Einheit',cellSpace:'Zellenabstand außen',cellPad:'Zellenabstand innen',caption:'Überschrift',summary:'Inhaltsübersicht',headers:'Kopfzeile',headersNone:'Keine',headersColumn:'Erste Spalte',headersRow:'Erste Zeile',headersBoth:'Beide',invalidRows:'Die Anzahl der Zeilen muß größer als 0 sein.',invalidCols:'Die Anzahl der Spalten muß größer als 0 sein..',invalidBorder:'Die Rahmenbreite muß eine Zahl sein.',invalidWidth:'Die Tabellenbreite muss eine Zahl sein.',invalidHeight:'Die Tabellenbreite muß eine Zahl sein.',invalidCellSpacing:'Der Zellenabstand außen muß eine positive Zahl sein.',invalidCellPadding:'Der Zellenabstand innen muß eine positive Zahl sein.',cell:{menu:'Zelle',insertBefore:'Zelle davor einfügen',insertAfter:'Zelle danach einfügen',deleteCell:'Zelle löschen',merge:'Zellen verbinden',mergeRight:'Nach rechts verbinden',mergeDown:'Nach unten verbinden',splitHorizontal:'Zelle horizontal teilen',splitVertical:'Zelle vertikal teilen',title:'Zellen-Eigenschaften',cellType:'Zellart',rowSpan:'Anzahl Zeilen verbinden',colSpan:'Anzahl Spalten verbinden',wordWrap:'Zeilenumbruch',hAlign:'Horizontale Ausrichtung',vAlign:'Vertikale Ausrichtung',alignBaseline:'Grundlinie',bgColor:'Hintergrundfarbe',borderColor:'Rahmenfarbe',data:'Daten',header:'Überschrift',yes:'Ja',no:'Nein',invalidWidth:'Zellenbreite muß eine Zahl sein.',invalidHeight:'Zellenhöhe muß eine Zahl sein.',invalidRowSpan:'"Anzahl Zeilen verbinden" muss eine Ganzzahl sein.',invalidColSpan:'"Anzahl Spalten verbinden" muss eine Ganzzahl sein.',chooseColor:'Wählen'},row:{menu:'Zeile',insertBefore:'Zeile oberhalb einfügen',insertAfter:'Zeile unterhalb einfügen',deleteRow:'Zeile entfernen'},column:{menu:'Spalte',insertBefore:'Spalte links davor einfügen',insertAfter:'Spalte rechts danach einfügen',deleteColumn:'Spalte löschen'}},button:{title:'Button-Eigenschaften',text:'Text (Wert)',type:'Typ',typeBtn:'Button',typeSbm:'Absenden',typeRst:'Zurücksetzen'},checkboxAndRadio:{checkboxTitle:'Checkbox-Eigenschaften',radioTitle:'Optionsfeld-Eigenschaften',value:'Wert',selected:'ausgewählt'},form:{title:'Formular-Eigenschaften',menu:'Formular-Eigenschaften',action:'Action',method:'Method',encoding:'Zeichenkodierung'},select:{title:'Auswahlfeld-Eigenschaften',selectInfo:'Info',opAvail:'Mögliche Optionen',value:'Wert',size:'Größe',lines:'Linien',chkMulti:'Erlaube Mehrfachauswahl',opText:'Text',opValue:'Wert',btnAdd:'Hinzufügen',btnModify:'Ändern',btnUp:'Hoch',btnDown:'Runter',btnSetValue:'Setze als Standardwert',btnDelete:'Entfernen'},textarea:{title:'Textfeld (mehrzeilig) Eigenschaften',cols:'Spalten',rows:'Reihen'},textfield:{title:'Textfeld (einzeilig) Eigenschaften',name:'Name',value:'Wert',charWidth:'Zeichenbreite',maxChars:'Max. Zeichen',type:'Typ',typeText:'Text',typePass:'Passwort'},hidden:{title:'Verstecktes Feld-Eigenschaften',name:'Name',value:'Wert'},image:{title:'Bild-Eigenschaften',titleButton:'Bildbutton-Eigenschaften',menu:'Bild-Eigenschaften',infoTab:'Bild-Info',btnUpload:'Zum Server senden',upload:'Hochladen',alt:'Alternativer Text',lockRatio:'Größenverhältnis beibehalten',resetSize:'Größe zurücksetzen',border:'Rahmen',hSpace:'Horizontal-Abstand',vSpace:'Vertikal-Abstand',alertUrl:'Bitte geben Sie die Bild-URL an',linkTab:'Link',button2Img:'Möchten Sie den gewählten Bild-Button in ein einfaches Bild umwandeln?',img2Button:'Möchten Sie das gewählten Bild in einen Bild-Button umwandeln?',urlMissing:'Imagequelle URL fehlt.',validateBorder:'Rahmen muß eine ganze Zahl sein.',validateHSpace:'Horizontal-Abstand muß eine ganze Zahl sein.',validateVSpace:'Vertikal-Abstand muß eine ganze Zahl sein.'},flash:{properties:'Flash-Eigenschaften',propertiesTab:'Eigenschaften',title:'Flash-Eigenschaften',chkPlay:'Automatisch Abspielen',chkLoop:'Endlosschleife',chkMenu:'Flash-Menü aktivieren',chkFull:'Vollbildmodus erlauben',scale:'Skalierung',scaleAll:'Alles anzeigen',scaleNoBorder:'Ohne Rand',scaleFit:'Passgenau',access:'Skript Zugang',accessAlways:'Immer',accessSameDomain:'Gleiche Domain',accessNever:'Nie',alignAbsBottom:'Abs Unten',alignAbsMiddle:'Abs Mitte',alignBaseline:'Baseline',alignTextTop:'Text Oben',quality:'Qualität',qualityBest:'Beste',qualityHigh:'Hoch',qualityAutoHigh:'Auto Hoch',qualityMedium:'Medium',qualityAutoLow:'Auto Niedrig',qualityLow:'Niedrig',windowModeWindow:'Fenster',windowModeOpaque:'Deckend',windowModeTransparent:'Transparent',windowMode:'Fenster Modus',flashvars:'Variablen für Flash',bgcolor:'Hintergrundfarbe',hSpace:'Horizontal-Abstand',vSpace:'Vertikal-Abstand',validateSrc:'Bitte geben Sie die Link-URL an',validateHSpace:'HSpace muss eine Zahl sein.',validateVSpace:'VSpace muss eine Zahl sein.'},spellCheck:{toolbar:'Rechtschreibprüfung',title:'Rechtschreibprüfung',notAvailable:'Entschuldigung, aber dieser Dienst steht im Moment nicht zur Verfügung.',errorLoading:'Fehler beim laden des Dienstanbieters: %s.',notInDic:'Nicht im Wörterbuch',changeTo:'Ändern in',btnIgnore:'Ignorieren',btnIgnoreAll:'Alle Ignorieren',btnReplace:'Ersetzen',btnReplaceAll:'Alle Ersetzen',btnUndo:'Rückgängig',noSuggestions:' - keine Vorschläge - ',progress:'Rechtschreibprüfung läuft...',noMispell:'Rechtschreibprüfung abgeschlossen - keine Fehler gefunden',noChanges:'Rechtschreibprüfung abgeschlossen - keine Worte geändert',oneChange:'Rechtschreibprüfung abgeschlossen - ein Wort geändert',manyChanges:'Rechtschreibprüfung abgeschlossen - %1 Wörter geändert',ieSpellDownload:'Rechtschreibprüfung nicht installiert. Möchten Sie sie jetzt herunterladen?'},smiley:{toolbar:'Smiley',title:'Smiley auswählen',options:'Smiley Optionen'},elementsPath:{eleLabel:'Elements Pfad',eleTitle:'%1 Element'},numberedlist:'Nummerierte Liste',bulletedlist:'Liste',indent:'Einzug erhöhen',outdent:'Einzug verringern',justify:{left:'Linksbündig',center:'Zentriert',right:'Rechtsbündig',block:'Blocksatz'},blockquote:'Zitatblock',clipboard:{title:'Einfügen',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).',copyError:'Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch kopieren. Bitte benutzen Sie die System-Zwischenablage über STRG-C (kopieren).',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.',pasteArea:'Einfügebereich'},pastefromword:{confirmCleanup:'Der Text, den Sie einfügen möchten, scheint aus MS-Word kopiert zu sein. Möchten Sie ihn zuvor bereinigen lassen?',toolbar:'Aus MS-Word einfügen',title:'Aus MS-Word einfügen',error:'Aufgrund eines internen Fehlers war es nicht möglich die eingefügten Daten zu bereinigen'},pasteText:{button:'Als Text einfügen',title:'Als Text einfügen'},templates:{button:'Vorlagen',title:'Vorlagen',options:'Vorlagen Optionen',insertOption:'Aktuellen Inhalt ersetzen',selectPromptMsg:'Klicken Sie auf eine Vorlage, um sie im Editor zu öffnen (der aktuelle Inhalt wird dabei gelöscht!):',emptyListMsg:'(keine Vorlagen definiert)'},showBlocks:'Blöcke anzeigen',stylesCombo:{label:'Stil',panelTitle:'Formatierungenstil',panelTitle1:'Block Stilart',panelTitle2:'Inline Stilart',panelTitle3:'Objekt Stilart'},format:{label:'Format',panelTitle:'Format',tag_p:'Normal',tag_pre:'Formatiert',tag_address:'Addresse',tag_h1:'Überschrift 1',tag_h2:'Überschrift 2',tag_h3:'Überschrift 3',tag_h4:'Überschrift 4',tag_h5:'Überschrift 5',tag_h6:'Überschrift 6',tag_div:'Normal (DIV)'},div:{title:'Div Container erzeugen',toolbar:'Div Container erzeugen',cssClassInputLabel:'Stylesheet Klasse',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:'Sprachenkürzel',inlineStyleInputLabel:'Inline Stil',advisoryTitleInputLabel:'Tooltip',langDirLabel:'Sprache Richtung',langDirLTRLabel:'Links nach Rechs (LTR)',langDirRTLLabel:'Rechs nach Links (RTL)',edit:'Div bearbeiten',remove:'Div entfernen'},iframe:{title:'IFrame-Eigenschaften',toolbar:'IFrame',noUrl:'Bitte geben Sie die IFrame-URL an',scrolling:'Rollbalken anzeigen',border:'Rahmen anzeigen'},font:{label:'Schriftart',voiceLabel:'Schriftart',panelTitle:'Schriftart'},fontSize:{label:'Größe',voiceLabel:'Schrifgröße',panelTitle:'Größe'},colorButton:{textColorTitle:'Textfarbe',bgColorTitle:'Hintergrundfarbe',panelTitle:'Farben',auto:'Automatisch',more:'Weitere Farben...'},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ß'},scayt:{title:'Rechtschreibprüfung während der Texteingabe (SCAYT)',opera_title:'Nicht von Opera unterstützt',enable:'SCAYT einschalten',disable:'SCAYT ausschalten',about:'Über SCAYT',toggle:'SCAYT umschalten',options:'Optionen',langs:'Sprachen',moreSuggestions:'Mehr Vorschläge',ignore:'Ignorieren',ignoreAll:'Alle ignorieren',addWord:'Wort hinzufügen',emptyDic:'Wörterbuchname sollte leer sein.',noSuggestions:'keine Vorschläge',optionsTab:'Optionen',allCaps:'Groß geschriebenen Wörter ignorieren',ignoreDomainNames:'Domain-Namen ignorieren',mixedCase:'Wörter mit gemischte Setzkasten ignorieren',mixedWithDigits:'Wörter mit Zahlen ignorieren',languagesTab:'Sprachen',dictionariesTab:'Wörterbücher',dic_field_name:'Wörterbuchname',dic_create:'Erzeugen',dic_restore:'Wiederherstellen',dic_delete:'Löschen',dic_rename:'Umbenennen',dic_info:'Anfangs wird das Benutzerwörterbuch in einem Cookie gespeichert. Allerdings sind Cookies in der Größe begrenzt. Wenn das Benutzerwörterbuch bis zu einem Punkt wächst, wo es nicht mehr in einem Cookie gespeichert werden kann, wird das Benutzerwörterbuch auf dem Server gespeichert. Um Ihr persönliches Wörterbuch auf dem Server zu speichern, müssen Sie einen Namen für das Wörterbuch angeben. Falls Sie schon ein gespeicherte Wörterbuch haben, geben Sie bitte dessen Namen ein und klicken Sie auf die Schaltfläche Wiederherstellen.',aboutTab:'Über'},about:{title:'Über CKEditor',dlgTitle:'Über CKEditor',help:'Prüfe $1 für Hilfe.',userGuide:'CKEditor Benutzerhandbuch',moreInfo:'Für Informationen über unsere Lizenzbestimmungen besuchen sie bitte unsere Webseite:',copy:'Copyright &copy; $1. Alle Rechte vorbehalten.'},maximize:'Maximieren',minimize:'Minimieren',fakeobjects:{anchor:'Anker',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Verstecktes Feld',unknown:'Unbekanntes Objekt'},resize:'Zum Vergrößern ziehen',colordialog:{title:'Farbe wählen',options:'Farbeoptionen',highlight:'Hervorheben',selected:'Ausgewählte Farbe',clear:'Entfernen'},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'},bidi:{ltr:'Leserichtung von Links nach Rechts',rtl:'Leserichtung von Rechts nach Links'},docprops:{label:'Dokument-Eigenschaften',title:'Dokument-Eigenschaften',design:'Design',meta:'Metadaten',chooseColor:'Wählen',other:'<andere>',docTitle:'Seitentitel',charset:'Zeichenkodierung',charsetOther:'Andere Zeichenkodierung',charsetASCII:'ASCII',charsetCE:'Zentraleuropäisch',charsetCT:'traditionell Chinesisch (Big5)',charsetCR:'Kyrillisch',charsetGR:'Griechisch',charsetJP:'Japanisch',charsetKR:'Koreanisch',charsetTR:'Türkisch',charsetUN:'Unicode (UTF-8)',charsetWE:'Westeuropäisch',docType:'Dokumententyp',docTypeOther:'Anderer Dokumententyp',xhtmlDec:'Beziehe XHTML Deklarationen ein',bgColor:'Hintergrundfarbe',bgImage:'Hintergrundbild URL',bgFixed:'feststehender Hintergrund',txtColor:'Textfarbe',margin:'Seitenränder',marginTop:'Oben',marginLeft:'Links',marginRight:'Rechts',marginBottom:'Unten',metaKeywords:'Schlüsselwörter (durch Komma getrennt)',metaDescription:'Dokument-Beschreibung',metaAuthor:'Autor',metaCopyright:'Copyright',previewHtml:'<p>Das ist ein <strong>Beispieltext</strong>. Du schreibst in <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/el.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/el.js
deleted file mode 100644
index f58b379..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/el.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.el={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'ΕÏγαλειοθήκες ΕπεξεÏγαστή',editor:'ΕπεξεÏγαστής ΠλοÏσιου Κειμένου',source:'HTML κώδικας',newPage:'Îέα Σελίδα',save:'Αποθήκευση',preview:'ΠÏοεπισκόπιση',cut:'Αποκοπή',copy:'ΑντιγÏαφή',paste:'Επικόλληση',print:'ΕκτÏπωση',underline:'ΥπογÏάμμιση',bold:'Έντονα',italic:'Πλάγια',selectAll:'Επιλογή όλων',removeFormat:'ΑφαίÏεση ΜοÏφοποίησης',strike:'ΔιαγÏάμμιση',subscript:'Δείκτης',superscript:'Εκθέτης',horizontalrule:'Εισαγωγή ΟÏιζόντιας ΓÏαμμής',pagebreak:'Εισαγωγή τέλους σελίδας',pagebreakAlt:'Αλλαγή Σελίδας',unlink:'ΑφαίÏεση Συνδέσμου (Link)',undo:'ΑναίÏεση',redo:'ΕπαναφοÏά',common:{browseServer:'ΕξεÏεÏνηση διακομιστή',url:'URL',protocol:'ΠÏωτόκολλο',upload:'Ανέβασμα',uploadSubmit:'Αποστολή στον Διακομιστή',image:'Εικόνα',flash:'Εισαγωγή Flash',form:'ΦόÏμα',checkbox:'Κουτί επιλογής',radio:'Κουμπί επιλογής',textField:'Πεδίο κειμένου',textarea:'ΠεÏιοχή κειμένου',hiddenField:'ΚÏυφό πεδίο',button:'Κουμπί',select:'Πεδίο επιλογής',imageButton:'Κουμπί εικόνας',notSet:'<δεν έχει Ïυθμιστεί>',id:'Id',name:'Όνομα',langDir:'ΚατεÏθυνση κειμένου',langDirLtr:'ΑÏιστεÏά Ï€Ïος Δεξιά (LTR)',langDirRtl:'Δεξιά Ï€Ïος ΑÏιστεÏά (RTL)',langCode:'Κωδικός Γλώσσας',longDescr:'Αναλυτική πεÏιγÏαφή URL',cssClass:'Stylesheet Classes',advisoryTitle:'Ενδεικτικός τίτλος',cssStyle:'ΜοÏφή κειμένου',ok:'OK',cancel:'ΑκÏÏωση',close:'Κλείσιμο',preview:'ΠÏοεπισκόπηση',generalTab:'Γενικά',advancedTab:'Για Ï€ÏοχωÏημένους',validateNumberFailed:'Αυτή η τιμή δεν είναι αÏιθμός.',confirmNewPage:'Οι όποιες αλλαγές στο πεÏιεχόμενο θα χαθοÏν. Είσαστε σίγουÏοι ότι θέλετε να φοÏτώσετε μια νέα σελίδα;',confirmCancel:'ΜεÏικές επιλογές έχουν αλλάξει. Είσαστε σίγουÏοι ότι θέλετε να κλείσετε το παÏάθυÏο διαλόγου;',options:'Επιλογές',target:'ΠÏοοÏισμός',targetNew:'Îέο ΠαÏάθυÏο (_blank)',targetTop:'ΑÏχική ΠεÏιοχή (_top)',targetSelf:'Ίδια ΠεÏιοχή (_self)',targetParent:'Γονεϊκό ΠαÏάθυÏο (_parent)',langDirLTR:'ΑÏιστεÏά Ï€Ïος Δεξιά (LTR)',langDirRTL:'Δεξιά Ï€Ïος ΑÏιστεÏά (RTL)',styles:'ΜοÏφή',cssClasses:'Stylesheet Classes',width:'Πλάτος',height:'Ύψος',align:'Στοίχιση',alignLeft:'ΑÏιστεÏά',alignRight:'Δεξιά',alignCenter:'ΚέντÏο',alignTop:'Πάνω',alignMiddle:'Μέση',alignBottom:'Κάτω',invalidValue:'Invalid value.',invalidHeight:'Το Ïψος Ï€Ïέπει να είναι ένας αÏιθμός.',invalidWidth:'Το πλάτος Ï€Ïέπει να είναι ένας αÏιθμός.',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Επιλογές Αναδυόμενου ΜενοÏ'},specialChar:{toolbar:'Εισαγωγή Î•Î¹Î´Î¹ÎºÎ¿Ï Î§Î±ÏακτήÏα',title:'Επιλέξτε έναν Ειδικό ΧαÏακτήÏα',options:'Επιλογές Ειδικών ΧαÏακτήÏων'},link:{toolbar:'ΣÏνδεσμος',other:'<άλλο>',menu:'ΕπεξεÏγασία Συνδέσμου',title:'ΣÏνδεσμος',info:'ΠληÏοφοÏίες Συνδέσμου',target:'ΠαÏάθυÏο ΠÏοοÏισμοÏ',upload:'Ανέβασμα',advanced:'Για Ï€ÏοχωÏημένους',type:'ΤÏπος Συνδέσμου',toUrl:'URL',toAnchor:'ΆγκυÏα σε αυτή τη σελίδα',toEmail:'E-Mail',targetFrame:'<πλαίσιο>',targetPopup:'<αναδυόμενο παÏάθυÏο>',targetFrameName:'Όνομα ΠαÏαθÏÏου ΠÏοοÏισμοÏ',targetPopupName:'Όνομα Αναδυόμενου ΠαÏαθÏÏου',popupFeatures:'Επιλογές Αναδυόμενου ΠαÏαθÏÏου',popupResizable:'ΠÏοσαÏμοζόμενο Μέγεθος',popupStatusBar:'ΓÏαμμή Κατάστασης',popupLocationBar:'ΓÏαμμή Τοποθεσίας',popupToolbar:'ΕÏγαλειοθήκη',popupMenuBar:'ΓÏαμμή Επιλογών',popupFullScreen:'ΠλήÏης Οθόνη (IE)',popupScrollBars:'ΜπάÏες ΚÏλισης',popupDependent:'ΕξαÏτημένο (Netscape)',popupLeft:'Θέση ΑÏιστεÏά',popupTop:'Θέση Πάνω',id:'Id',langDir:'ΚατεÏθυνση Κειμένου',langDirLTR:'ΑÏιστεÏά Ï€Ïος Δεξιά (LTR)',langDirRTL:'Δεξιά Ï€Ïος ΑÏιστεÏά (RTL)',acccessKey:'Συντόμευση',name:'Όνομα',langCode:'ΚατεÏθυνση Κειμένου',tabIndex:'ΣειÏά Μεταπήδησης',advisoryTitle:'Ενδεικτικός Τίτλος',advisoryContentType:'Ενδεικτικός ΤÏπος ΠεÏιεχομένου',cssClasses:'Stylesheet Classes',charset:'Κωδικοποίηση ΧαÏακτήÏων ΠÏοσαÏτημένης Πηγής',styles:'ΜοÏφή',rel:'Σχέση',selectAnchor:'Επιλέξτε μια άγκυÏα',anchorName:'Βάσει του Ονόματος της άγκυÏας',anchorId:'Βάσει του Element Id',emailAddress:'ΔιεÏθυνση e-mail',emailSubject:'Θέμα ΜηνÏματος',emailBody:'Κείμενο ΜηνÏματος',noAnchors:'(Δεν υπάÏχουν άγκυÏες στο κείμενο)',noUrl:'Εισάγετε την τοποθεσία (URL) του υπεÏσυνδέσμου (Link)',noEmail:'Εισάγετε την διεÏθυνση ηλεκτÏÎ¿Î½Î¹ÎºÎ¿Ï Ï„Î±Ï‡Ï…Î´Ïομείου'},anchor:{toolbar:'Εισαγωγή/επεξεÏγασία ΆγκυÏας',menu:'Ιδιότητες άγκυÏας',title:'Ιδιότητες άγκυÏας',name:'Όνομα άγκυÏας',errorName:'ΠαÏακαλοÏμε εισάγετε όνομα άγκυÏας',remove:'ΑφαίÏεση ΆγκυÏας'},list:{numberedTitle:'Ιδιότητες ΑÏιθμημένης Λίστας ',bulletedTitle:'Ιδιότητες Λίστας Σημείων',type:'ΤÏπος',start:'Εκκίνηση',validateStartNumber:'Ο αÏιθμός εκκίνησης της αÏίθμησης Ï€Ïέπει να είναι ακέÏαιος αÏιθμός.',circle:'ΚÏκλος',disc:'Δίσκος',square:'ΤετÏάγωνο',none:'Τίποτα',notset:'<δεν έχει οÏιστεί>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Δεκαδικός (1, 2, 3, κτλ)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Αναζήτηση και Αντικατάσταση',find:'Αναζήτηση',replace:'Αντικατάσταση',findWhat:'Αναζήτηση για:',replaceWith:'Αντικατάσταση με:',notFoundMsg:'Το κείμενο δεν βÏέθηκε.',findOptions:'Find Options',matchCase:'Έλεγχος πεζών/κεφαλαίων',matchWord:'ΕÏÏεση πλήÏους λέξης',matchCyclic:'Match cyclic',replaceAll:'Αντικατάσταση Όλων',replaceSuccessMsg:'%1 occurrence(s) replaced.'},table:{toolbar:'Πίνακας',title:'Ιδιότητες Πίνακα',menu:'Ιδιότητες Πίνακα',deleteTable:'ΔιαγÏαφή πίνακα',rows:'ΓÏαμμές',columns:'Κολώνες',border:'Πάχος ΠεÏιγÏάμματος',widthPx:'pixels',widthPc:'τοις εκατό',widthUnit:'μονάδα πλάτους',cellSpace:'Διάστημα κελιών',cellPad:'Γέμισμα κελιών',caption:'Λεζάντα',summary:'ΠεÏίληψη',headers:'Κεφαλίδες',headersNone:'Κανένα',headersColumn:'ΠÏώτη Στήλη',headersRow:'ΠÏώτη ΣειÏά',headersBoth:'Και τα δÏο',invalidRows:'Ο αÏιθμός των σειÏών Ï€Ïέπει να είναι μεγαλÏτεÏος από 0.',invalidCols:'Ο αÏιθμός των στηλών Ï€Ïέπει να είναι μεγαλÏτεÏος από 0.',invalidBorder:'Το πάχος του πεÏιγÏάμματος Ï€Ïέπει να είναι ένας αÏιθμός.',invalidWidth:'Το πλάτος του πίνακα Ï€Ïέπει να είναι ένας αÏιθμός.',invalidHeight:'Το Ïψος του πίνακα Ï€Ïέπει να είναι ένας αÏιθμός.',invalidCellSpacing:'Η απόσταση Î¼ÎµÏ„Î±Î¾Ï Ï„Ï‰Î½ κελιών Ï€Ïέπει να είναι ένας θετικός αÏιθμός.',invalidCellPadding:'Το γέμισμα μέσα στα κελιά Ï€Ïέπει να είναι ένας θετικός αÏιθμός.',cell:{menu:'Κελί',insertBefore:'Εισαγωγή ÎšÎµÎ»Î¹Î¿Ï Î Ïιν',insertAfter:'Εισαγωγή ÎšÎµÎ»Î¹Î¿Ï ÎœÎµÏ„Î¬',deleteCell:'ΔιαγÏαφή Κελιών',merge:'Ενοποίηση Κελιών',mergeRight:'Συγχώνευση Με Δεξιά',mergeDown:'Συγχώνευση Με Κάτω',splitHorizontal:'ΟÏιζόντιο ΜοίÏασμα ΚελιοÏ',splitVertical:'ΚατακόÏυφο ΜοίÏασμα ΚελιοÏ',title:'Ιδιότητες ΚελιοÏ',cellType:'ΤÏπος ΚελιοÏ',rowSpan:'ΕÏÏος ΣειÏών',colSpan:'ΕÏÏος Στηλών',wordWrap:'Word Wrap',hAlign:'ΟÏιζόντια Στοίχιση',vAlign:'Κάθετη Στοίχιση',alignBaseline:'Baseline',bgColor:'ΧÏώμα Φόντου',borderColor:'ΧÏώμα ΠεÏιγÏάμματος',data:'Δεδομένα',header:'Κεφαλίδα',yes:'Îαι',no:'Όχι',invalidWidth:'Το πλάτος του ÎºÎµÎ»Î¹Î¿Ï Ï€Ïέπει να είναι ένας αÏιθμός.',invalidHeight:'Το Ïψος του ÎºÎµÎ»Î¹Î¿Ï Ï€Ïέπει να είναι ένας αÏιθμός.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Επιλέξτε'},row:{menu:'ΣειÏά',insertBefore:'Εισαγωγή ΣειÏάς Από Πάνω',insertAfter:'Εισαγωγή ΣειÏάς Από Κάτω',deleteRow:'ΔιαγÏαφή ΓÏαμμών'},column:{menu:'Στήλη',insertBefore:'Εισαγωγή Στήλης ΠÏιν',insertAfter:'Εισαγωγή ΣειÏάς Μετά',deleteColumn:'ΔιαγÏαφή Κολωνών'}},button:{title:'Ιδιότητες ΚουμπιοÏ',text:'Κείμενο (Τιμή)',type:'ΤÏπος',typeBtn:'Κουμπί',typeSbm:'Υποβολή',typeRst:'ΕπαναφοÏά'},checkboxAndRadio:{checkboxTitle:'Ιδιότητες ÎšÎ¿Ï…Ï„Î¹Î¿Ï Î•Ï€Î¹Î»Î¿Î³Î®Ï‚',radioTitle:'Ιδιότητες ÎšÎ¿Ï…Î¼Ï€Î¹Î¿Ï Î•Ï€Î¹Î»Î¿Î³Î®Ï‚',value:'Τιμή',selected:'Επιλεγμένο'},form:{title:'Ιδιότητες ΦόÏμας',menu:'Ιδιότητες ΦόÏμας',action:'ΔÏάση',method:'Μέθοδος',encoding:'Κωδικοποίηση'},select:{title:'Ιδιότητες Πεδίου Επιλογής',selectInfo:'ΠληÏοφοÏίες Πεδίου Επιλογής',opAvail:'Διαθέσιμες Επιλογές',value:'Τιμή',size:'Μέγεθος',lines:'γÏαμμές',chkMulti:'Îα επιτÏέπονται οι πολλαπλές επιλογές',opText:'Κείμενο',opValue:'Τιμή',btnAdd:'ΠÏοσθήκη',btnModify:'ΤÏοποποίηση',btnUp:'Πάνω',btnDown:'Κάτω',btnSetValue:'ΠÏοεπιλογή',btnDelete:'ΔιαγÏαφή'},textarea:{title:'Ιδιότητες ΠεÏιοχής Κειμένου',cols:'Στήλες',rows:'ΣειÏές'},textfield:{title:'Ιδιότητες Πεδίου Κειμένου',name:'Όνομα',value:'Τιμή',charWidth:'Πλάτος ΧαÏακτήÏων',maxChars:'Μέγιστοι χαÏακτήÏες',type:'ΤÏπος',typeText:'Κείμενο',typePass:'Κωδικός'},hidden:{title:'Ιδιότητες ΚÏÏ…Ï†Î¿Ï Î ÎµÎ´Î¯Î¿Ï…',name:'Όνομα',value:'Τιμή'},image:{title:'Ιδιότητες Εικόνας',titleButton:'Ιδιότητες ÎšÎ¿Ï…Î¼Ï€Î¹Î¿Ï Î•Î¹ÎºÏŒÎ½Î±Ï‚',menu:'Ιδιότητες Εικόνας',infoTab:'ΠληÏοφοÏίες Εικόνας',btnUpload:'Αποστολή στον Διακομιστή',upload:'Ανέβασμα',alt:'Εναλλακτικό Κείμενο',lockRatio:'Κλείδωμα Αναλογίας',resetSize:'ΕπαναφοÏά ΑÏÏ‡Î¹ÎºÎ¿Ï ÎœÎµÎ³Î­Î¸Î¿Ï…Ï‚',border:'ΠεÏίγÏαμμα',hSpace:'ΟÏιζόντιο Διάστημα',vSpace:'Κάθετο Διάστημα',alertUrl:'Εισάγετε την τοποθεσία (URL) της εικόνας',linkTab:'ΣÏνδεσμος',button2Img:'Θέλετε να μετατÏέψετε το επιλεγμένο κουμπί εικόνας σε απλή εικόνα;',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'Ιδιότητες Flash',propertiesTab:'Ιδιότητες',title:'Ιδιότητες Flash',chkPlay:'Αυτόματη Εκτέλεση',chkLoop:'Επανάληψη',chkMenu:'ΕνεÏγοποίηση Flash Menu',chkFull:'Allow Fullscreen',scale:'Μεγέθυνση',scaleAll:'Εμφάνιση όλων',scaleNoBorder:'ΧωÏίς ΠεÏίγÏαμμα',scaleFit:'ΑκÏιβές Μέγεθος',access:'Script Access',accessAlways:'Πάντα',accessSameDomain:'Same domain',accessNever:'Ποτέ',alignAbsBottom:'Απόλυτα Κάτω',alignAbsMiddle:'Απόλυτα στη Μέση',alignBaseline:'ΓÏαμμή Βάσης',alignTextTop:'ΚοÏυφή Κειμένου',quality:'Ποιότητα',qualityBest:'ΚαλÏτεÏη',qualityHigh:'Υψηλή',qualityAutoHigh:'Αυτόματη Υψηλή',qualityMedium:'Μεσαία',qualityAutoLow:'Αυτόματη Χαμηλή',qualityLow:'Χαμηλή',windowModeWindow:'ΠαÏάθυÏο',windowModeOpaque:'Συμπαγές',windowModeTransparent:'Διάφανο',windowMode:'Window mode',flashvars:'Μεταβλητές για Flash',bgcolor:'ΧÏώμα ΥποβάθÏου',hSpace:'ΟÏιζόντιο Διάστημα',vSpace:'Κάθετο Διάστημα',validateSrc:'Εισάγετε την τοποθεσία (URL) του υπεÏσυνδέσμου (Link)',validateHSpace:'HSpace must be a number.',validateVSpace:'VSpace must be a number.'},spellCheck:{toolbar:'ΟÏθογÏαφικός Έλεγχος',title:'ΟÏθογÏαφικός Έλεγχος',notAvailable:'Η υπηÏεσία δεν είναι διαθέσιμη αυτήν την στιγμή.',errorLoading:'Error loading application service host: %s.',notInDic:'Δεν υπάÏχει στο λεξικό',changeTo:'Αλλαγή σε',btnIgnore:'Αγνόηση',btnIgnoreAll:'Αγνόηση όλων',btnReplace:'Αντικατάσταση',btnReplaceAll:'Αντικατάσταση όλων',btnUndo:'ΑναίÏεση',noSuggestions:'- Δεν υπάÏχουν Ï€Ïοτάσεις -',progress:'Γίνεται οÏθογÏαφικός έλεγχος...',noMispell:'Ο οÏθογÏαφικός έλεγχος ολοκληÏώθηκε: Δεν βÏέθηκαν λάθη',noChanges:'Ο οÏθογÏαφικός έλεγχος ολοκληÏώθηκε: Δεν άλλαξαν λέξεις',oneChange:'Ο οÏθογÏαφικός έλεγχος ολοκληÏώθηκε: Άλλαξε μια λέξη',manyChanges:'Ο οÏθογÏαφικός έλεγχος ολοκληÏώθηκε: Άλλαξαν %1 λέξεις',ieSpellDownload:'Δεν υπάÏχει εγκατεστημένος οÏθογÏάφος. Θέλετε να τον κατεβάσετε Ï„ÏŽÏα;'},smiley:{toolbar:'Smiley',title:'Επιλέξτε ένα Smiley',options:'Επιλογές Smiley'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 στοιχείο'},numberedlist:'Εισαγωγή/ΑπομάκÏυνση ΑÏιθμημένης Λίστας',bulletedlist:'Εισαγωγή/ΑπομάκÏυνση Λίστας Κουκκίδων',indent:'ΑÏξηση Εσοχής',outdent:'Μείωση Εσοχής',justify:{left:'Στοίχιση ΑÏιστεÏά',center:'Στοίχιση στο ΚέντÏο',right:'Στοίχιση Δεξιά',block:'ΠλήÏης Στοίχιση'},blockquote:'ΠεÏιοχή ΠαÏάθεσης',clipboard:{title:'Επικόλληση',cutError:'Οι Ïυθμίσεις ασφαλείας του φυλλομετÏητή σας δεν επιτÏέπουν την επιλεγμένη εÏγασία αποκοπής. ΧÏησιμοποιείστε το πληκτÏολόγιο (Ctrl/Cmd+X).',copyError:'Οι Ïυθμίσεις ασφαλείας του φυλλομετÏητή σας δεν επιτÏέπουν την επιλεγμένη εÏγασία αντιγÏαφής. ΧÏησιμοποιείστε το πληκτÏολόγιο (Ctrl/Cmd+C).',pasteMsg:'ΠαÏακαλώ επικολήστε στο ακόλουθο κουτί χÏησιμοποιόντας το πληκτÏολόγιο (<strong>Ctrl/Cmd+V</strong>) και πατήστε 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.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'Επικόλληση από το Word',title:'Επικόλληση από το Word',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'Επικόλληση ως Απλό Κείμενο',title:'Επικόλληση ως Απλό Κείμενο'},templates:{button:'ΠÏότυπα',title:'ΠÏότυπα ΠεÏιεχομένου',options:'Template Options',insertOption:'Αντικατάσταση υπάÏχοντων πεÏιεχομένων',selectPromptMsg:'ΠαÏακαλώ επιλέξτε Ï€Ïότυπο για εισαγωγή στο Ï€ÏόγÏαμμα',emptyListMsg:'(Δεν έχουν καθοÏιστεί Ï€Ïότυπα)'},showBlocks:'ΠÏοβολή ΠεÏιοχών',stylesCombo:{label:'ΜοÏφές',panelTitle:'Formatting Styles',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'ΜοÏφοποίηση',panelTitle:'ΜοÏφοποίηση ΠαÏαγÏάφου',tag_p:'Κανονικό',tag_pre:'ΜοÏφοποιημένο',tag_address:'ΔιεÏθυνση',tag_h1:'Επικεφαλίδα 1',tag_h2:'Επικεφαλίδα 2',tag_h3:'Επικεφαλίδα 3',tag_h4:'Επικεφαλίδα 4',tag_h5:'Επικεφαλίδα 5',tag_h6:'Επικεφαλίδα 6',tag_div:'Normal (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'ΕνεÏγοποίηση μπαÏών κÏλισης',border:'Show frame border'},font:{label:'ΓÏαμματοσειÏά',voiceLabel:'ΓÏαμματοσειÏά',panelTitle:'Όνομα ΓÏαμματοσειÏάς'},fontSize:{label:'Μέγεθος',voiceLabel:'Μέγεθος γÏαμματοσειÏάς',panelTitle:'Μέγεθος ΓÏαμματοσειÏάς'},colorButton:{textColorTitle:'ΧÏώμα Κειμένου',bgColorTitle:'ΧÏώμα Φόντου',panelTitle:'ΧÏώματα',auto:'Αυτόματα',more:'ΠεÏισσότεÏα χÏώματα...'},colors:{'000':'ΜαÏÏο',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:'Μώβ',808080:'ΓκÏί',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'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Επιλογές',langs:'Γλώσσες',moreSuggestions:'ΠεÏισσότεÏες Ï€Ïοτάσεις',ignore:'Αγνόησε το',ignoreAll:'Îα αγνοηθοÏν όλα',addWord:'ΠÏοσθήκη στο λεξικό',emptyDic:'Το όνομα του Î»ÎµÎ¾Î¹ÎºÎ¿Ï Î´ÎµÎ½ Ï€Ïέπει να είναι κενό.',noSuggestions:'No suggestions',optionsTab:'Επιλογές',allCaps:'Îα αγνοοÏνται όλες οι λέξεις σε κεφαλαία',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Γλώσσες',dictionariesTab:'Λεξικά',dic_field_name:'Όνομα λεξικοÏ',dic_create:'ΔημιουÏγία',dic_restore:'Ανάκτηση',dic_delete:'ΔιαγÏαφή',dic_rename:'Μετονομασία',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'ΠεÏί'},about:{title:'ΠεÏί του CKEditor',dlgTitle:'ΠεÏί του CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'For licensing information please visit our web site:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Μεγιστοποίηση',minimize:'Ελαχιστοποίηση',fakeobjects:{anchor:'Anchor',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Άγνωστο Αντικείμενο'},resize:'ΣÏÏσιμο για αλλαγή μεγέθους',colordialog:{title:'Επιλογή ΧÏώματος',options:'Επιλογές ΧÏωμάτων',highlight:'Highlight',selected:'Επιλεγμένο ΧÏώμα',clear:'ΚαθαÏισμός'},toolbarCollapse:'ΣÏμπτηξη ΕÏγαλειοθήκης',toolbarExpand:'Ανάπτυξη ΕÏγαλειοθήκης',toolbarGroups:{document:'ΈγγÏαφο',clipboard:'Clipboard/Undo',editing:'Σε επεξεÏγασία',forms:'ΦόÏμες',basicstyles:'Βασικά στυλ',paragraph:'ΠαÏάγÏαφος',links:'Συνδέσμοι',insert:'Εισαγωγή',styles:'Στυλ',colors:'ΧÏώματα',tools:'ΕÏγαλεία'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'Ιδιότητες ΕγγÏάφου',title:'Ιδιότητες ΕγγÏάφου',design:'Design',meta:'Δεδομένα Meta',chooseColor:'Choose',other:'Άλλο...',docTitle:'Τίτλος Σελίδας',charset:'Κωδικοποίηση ΧαÏακτήÏων',charsetOther:'Άλλη Κωδικοποίηση ΧαÏακτήÏων',charsetASCII:'ASCII',charsetCE:'ΚεντÏικής ΕυÏώπης',charsetCT:'ΠαÏαδοσιακά κινέζικα (Big5)',charsetCR:'ΚυÏιλλική',charsetGR:'Ελληνική',charsetJP:'Ιαπωνική',charsetKR:'ΚοÏεάτικη',charsetTR:'ΤουÏκική',charsetUN:'Διεθνής (UTF-8)',charsetWE:'Δυτικής ΕυÏώπης',docType:'Επικεφαλίδα Ï„Ïπου εγγÏάφου',docTypeOther:'Άλλη επικεφαλίδα Ï„Ïπου εγγÏάφου',xhtmlDec:'Îα συμπεÏιληφθοÏν οι δηλώσεις XHTML',bgColor:'ΧÏώμα φόντου',bgImage:'ΔιεÏθυνση εικόνας φόντου',bgFixed:'Φόντο χωÏίς κÏλιση',txtColor:'ΧÏώμα ΓÏαμμάτων',margin:'ΠεÏιθώÏια σελίδας',marginTop:'ΚοÏυφή',marginLeft:'ΑÏιστεÏά',marginRight:'Δεξιά',marginBottom:'Κάτω',metaKeywords:'Λέξεις κλειδιά δείκτες εγγÏάφου (διαχωÏισμός με κόμμα)',metaDescription:'ΠεÏιγÏαφή εγγÏάφου',metaAuthor:'ΣυγγÏαφέας',metaCopyright:'Πνευματικά Δικαιώματα',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/en-au.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/en-au.js
deleted file mode 100644
index 9910f89..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/en-au.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang['en-au']={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'Editor toolbars',editor:'Rich Text Editor',source:'Source',newPage:'New Page',save:'Save',preview:'Preview',cut:'Cut',copy:'Copy',paste:'Paste',print:'Print',underline:'Underline',bold:'Bold',italic:'Italic',selectAll:'Select All',removeFormat:'Remove Format',strike:'Strike Through',subscript:'Subscript',superscript:'Superscript',horizontalrule:'Insert Horizontal Line',pagebreak:'Insert Page Break for Printing',pagebreakAlt:'Page Break',unlink:'Unlink',undo:'Undo',redo:'Redo',common:{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',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:'Some of the options have been changed. Are you sure to close the dialog?',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',alignTop:'Top',alignMiddle:'Middle',alignBottom:'Bottom',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'Insert Special Character',title:'Select Special Character',options:'Special Character Options'},link:{toolbar:'Link',other:'<other>',menu:'Edit Link',title:'Link',info:'Link Info',target:'Target',upload:'Upload',advanced:'Advanced',type:'Link Type',toUrl:'URL',toAnchor:'Link to anchor in the text',toEmail:'E-mail',targetFrame:'<frame>',targetPopup:'<popup window>',targetFrameName:'Target Frame Name',targetPopupName:'Popup Window Name',popupFeatures:'Popup Window Features',popupResizable:'Resizable',popupStatusBar:'Status Bar',popupLocationBar:'Location Bar',popupToolbar:'Toolbar',popupMenuBar:'Menu Bar',popupFullScreen:'Full Screen (IE)',popupScrollBars:'Scroll Bars',popupDependent:'Dependent (Netscape)',popupLeft:'Left Position',popupTop:'Top Position',id:'Id',langDir:'Language Direction',langDirLTR:'Left to Right (LTR)',langDirRTL:'Right to Left (RTL)',acccessKey:'Access Key',name:'Name',langCode:'Language Code',tabIndex:'Tab Index',advisoryTitle:'Advisory Title',advisoryContentType:'Advisory Content Type',cssClasses:'Stylesheet Classes',charset:'Linked Resource Charset',styles:'Style',rel:'Relationship',selectAnchor:'Select an Anchor',anchorName:'By Anchor Name',anchorId:'By Element Id',emailAddress:'E-Mail Address',emailSubject:'Message Subject',emailBody:'Message Body',noAnchors:'(No anchors available in the document)',noUrl:'Please type the link URL',noEmail:'Please type the e-mail address'},anchor:{toolbar:'Anchor',menu:'Edit Anchor',title:'Anchor Properties',name:'Anchor Name',errorName:'Please type the anchor name',remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Find and Replace',find:'Find',replace:'Replace',findWhat:'Find what:',replaceWith:'Replace with:',notFoundMsg:'The specified text was not found.',findOptions:'Find Options',matchCase:'Match case',matchWord:'Match whole word',matchCyclic:'Match cyclic',replaceAll:'Replace All',replaceSuccessMsg:'%1 occurrence(s) replaced.'},table:{toolbar:'Table',title:'Table Properties',menu:'Table Properties',deleteTable:'Delete Table',rows:'Rows',columns:'Columns',border:'Border size',widthPx:'pixels',widthPc:'percent',widthUnit:'width unit',cellSpace:'Cell spacing',cellPad:'Cell padding',caption:'Caption',summary:'Summary',headers:'Headers',headersNone:'None',headersColumn:'First column',headersRow:'First Row',headersBoth:'Both',invalidRows:'Number of rows must be a number greater than 0.',invalidCols:'Number of columns must be a number greater than 0.',invalidBorder:'Border size must be a number.',invalidWidth:'Table width must be a number.',invalidHeight:'Table height must be a number.',invalidCellSpacing:'Cell spacing must be a number.',invalidCellPadding:'Cell padding must be a number.',cell:{menu:'Cell',insertBefore:'Insert Cell Before',insertAfter:'Insert Cell After',deleteCell:'Delete Cells',merge:'Merge Cells',mergeRight:'Merge Right',mergeDown:'Merge Down',splitHorizontal:'Split Cell Horizontally',splitVertical:'Split Cell Vertically',title:'Cell Properties',cellType:'Cell Type',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Word Wrap',hAlign:'Horizontal Alignment',vAlign:'Vertical Alignment',alignBaseline:'Baseline',bgColor:'Background Color',borderColor:'Border Color',data:'Data',header:'Header',yes:'Yes',no:'No',invalidWidth:'Cell width must be a number.',invalidHeight:'Cell height must be a number.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Choose'},row:{menu:'Row',insertBefore:'Insert Row Before',insertAfter:'Insert Row After',deleteRow:'Delete Rows'},column:{menu:'Column',insertBefore:'Insert Column Before',insertAfter:'Insert Column After',deleteColumn:'Delete Columns'}},button:{title:'Button Properties',text:'Text (Value)',type:'Type',typeBtn:'Button',typeSbm:'Submit',typeRst:'Reset'},checkboxAndRadio:{checkboxTitle:'Checkbox Properties',radioTitle:'Radio Button Properties',value:'Value',selected:'Selected'},form:{title:'Form Properties',menu:'Form Properties',action:'Action',method:'Method',encoding:'Encoding'},select:{title:'Selection Field Properties',selectInfo:'Select Info',opAvail:'Available Options',value:'Value',size:'Size',lines:'lines',chkMulti:'Allow multiple selections',opText:'Text',opValue:'Value',btnAdd:'Add',btnModify:'Modify',btnUp:'Up',btnDown:'Down',btnSetValue:'Set as selected value',btnDelete:'Delete'},textarea:{title:'Textarea Properties',cols:'Columns',rows:'Rows'},textfield:{title:'Text Field Properties',name:'Name',value:'Value',charWidth:'Character Width',maxChars:'Maximum Characters',type:'Type',typeText:'Text',typePass:'Password'},hidden:{title:'Hidden Field Properties',name:'Name',value:'Value'},image:{title:'Image Properties',titleButton:'Image Button Properties',menu:'Image Properties',infoTab:'Image Info',btnUpload:'Send it to the Server',upload:'Upload',alt:'Alternative Text',lockRatio:'Lock Ratio',resetSize:'Reset Size',border:'Border',hSpace:'HSpace',vSpace:'VSpace',alertUrl:'Please type the image URL',linkTab:'Link',button2Img:'Do you want to transform the selected image button on a simple image?',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'Flash Properties',propertiesTab:'Properties',title:'Flash Properties',chkPlay:'Auto Play',chkLoop:'Loop',chkMenu:'Enable Flash Menu',chkFull:'Allow Fullscreen',scale:'Scale',scaleAll:'Show all',scaleNoBorder:'No Border',scaleFit:'Exact Fit',access:'Script Access',accessAlways:'Always',accessSameDomain:'Same domain',accessNever:'Never',alignAbsBottom:'Abs Bottom',alignAbsMiddle:'Abs Middle',alignBaseline:'Baseline',alignTextTop:'Text Top',quality:'Quality',qualityBest:'Best',qualityHigh:'High',qualityAutoHigh:'Auto High',qualityMedium:'Medium',qualityAutoLow:'Auto Low',qualityLow:'Low',windowModeWindow:'Window',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Window mode',flashvars:'Variables for Flash',bgcolor:'Background colour',hSpace:'HSpace',vSpace:'VSpace',validateSrc:'URL must not be empty.',validateHSpace:'HSpace must be a number.',validateVSpace:'VSpace must be a number.'},spellCheck:{toolbar:'Check Spelling',title:'Spell Check',notAvailable:'Sorry, but service is unavailable now.',errorLoading:'Error loading application service host: %s.',notInDic:'Not in dictionary',changeTo:'Change to',btnIgnore:'Ignore',btnIgnoreAll:'Ignore All',btnReplace:'Replace',btnReplaceAll:'Replace All',btnUndo:'Undo',noSuggestions:'- No suggestions -',progress:'Spell check in progress...',noMispell:'Spell check complete: No misspellings found',noChanges:'Spell check complete: No words changed',oneChange:'Spell check complete: One word changed',manyChanges:'Spell check complete: %1 words changed',ieSpellDownload:'Spell checker not installed. Do you want to download it now?'},smiley:{toolbar:'Smiley',title:'Insert a Smiley',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 element'},numberedlist:'Insert/Remove Numbered List',bulletedlist:'Insert/Remove Bulleted List',indent:'Increase Indent',outdent:'Decrease Indent',justify:{left:'Align Left',center:'Centre',right:'Align Right',block:'Justify'},blockquote:'Block Quote',clipboard:{title:'Paste',cutError:"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).",copyError:"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).",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.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'Paste from Word',title:'Paste from Word',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'Paste as plain text',title:'Paste as Plain Text'},templates:{button:'Templates',title:'Content Templates',options:'Template Options',insertOption:'Replace actual contents',selectPromptMsg:'Please select the template to open in the editor',emptyListMsg:'(No templates defined)'},showBlocks:'Show Blocks',stylesCombo:{label:'Styles',panelTitle:'Formatting Styles',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'Format',panelTitle:'Paragraph Format',tag_p:'Normal',tag_pre:'Formatted',tag_address:'Address',tag_h1:'Heading 1',tag_h2:'Heading 2',tag_h3:'Heading 3',tag_h4:'Heading 4',tag_h5:'Heading 5',tag_h6:'Heading 6',tag_div:'Normal (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'Font',voiceLabel:'Font',panelTitle:'Font Name'},fontSize:{label:'Size',voiceLabel:'Font Size',panelTitle:'Font Size'},colorButton:{textColorTitle:'Text Colour',bgColorTitle:'Background Colour',panelTitle:'Colors',auto:'Automatic',more:'More Colours...'},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'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Options',langs:'Languages',moreSuggestions:'More suggestions',ignore:'Ignore',ignoreAll:'Ignore All',addWord:'Add Word',emptyDic:'Dictionary name should not be empty.',noSuggestions:'No suggestions',optionsTab:'Options',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Languages',dictionariesTab:'Dictionaries',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'About'},about:{title:'About CKEditor',dlgTitle:'About CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'For licensing information please visit our web site:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Maximize',minimize:'Minimize',fakeobjects:{anchor:'Anchor',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Unknown Object'},resize:'Drag to resize',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'Document Properties',title:'Document Properties',design:'Design',meta:'Meta Tags',chooseColor:'Choose',other:'Other...',docTitle:'Page Title',charset:'Character Set Encoding',charsetOther:'Other Character Set Encoding',charsetASCII:'ASCII',charsetCE:'Central European',charsetCT:'Chinese Traditional (Big5)',charsetCR:'Cyrillic',charsetGR:'Greek',charsetJP:'Japanese',charsetKR:'Korean',charsetTR:'Turkish',charsetUN:'Unicode (UTF-8)',charsetWE:'Western European',docType:'Document Type Heading',docTypeOther:'Other Document Type Heading',xhtmlDec:'Include XHTML Declarations',bgColor:'Background Color',bgImage:'Background Image URL',bgFixed:'Non-scrolling (Fixed) Background',txtColor:'Text Color',margin:'Page Margins',marginTop:'Top',marginLeft:'Left',marginRight:'Right',marginBottom:'Bottom',metaKeywords:'Document Indexing Keywords (comma separated)',metaDescription:'Document Description',metaAuthor:'Author',metaCopyright:'Copyright',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/en-ca.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/en-ca.js
deleted file mode 100644
index a5e9064..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/en-ca.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang['en-ca']={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'Editor toolbars',editor:'Rich Text Editor',source:'Source',newPage:'New Page',save:'Save',preview:'Preview',cut:'Cut',copy:'Copy',paste:'Paste',print:'Print',underline:'Underline',bold:'Bold',italic:'Italic',selectAll:'Select All',removeFormat:'Remove Format',strike:'Strike Through',subscript:'Subscript',superscript:'Superscript',horizontalrule:'Insert Horizontal Line',pagebreak:'Insert Page Break for Printing',pagebreakAlt:'Page Break',unlink:'Unlink',undo:'Undo',redo:'Redo',common:{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',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:'Some of the options have been changed. Are you sure to close the dialog?',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',alignTop:'Top',alignMiddle:'Middle',alignBottom:'Bottom',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'Insert Special Character',title:'Select Special Character',options:'Special Character Options'},link:{toolbar:'Link',other:'<other>',menu:'Edit Link',title:'Link',info:'Link Info',target:'Target',upload:'Upload',advanced:'Advanced',type:'Link Type',toUrl:'URL',toAnchor:'Link to anchor in the text',toEmail:'E-mail',targetFrame:'<frame>',targetPopup:'<popup window>',targetFrameName:'Target Frame Name',targetPopupName:'Popup Window Name',popupFeatures:'Popup Window Features',popupResizable:'Resizable',popupStatusBar:'Status Bar',popupLocationBar:'Location Bar',popupToolbar:'Toolbar',popupMenuBar:'Menu Bar',popupFullScreen:'Full Screen (IE)',popupScrollBars:'Scroll Bars',popupDependent:'Dependent (Netscape)',popupLeft:'Left Position',popupTop:'Top Position',id:'Id',langDir:'Language Direction',langDirLTR:'Left to Right (LTR)',langDirRTL:'Right to Left (RTL)',acccessKey:'Access Key',name:'Name',langCode:'Language Code',tabIndex:'Tab Index',advisoryTitle:'Advisory Title',advisoryContentType:'Advisory Content Type',cssClasses:'Stylesheet Classes',charset:'Linked Resource Charset',styles:'Style',rel:'Relationship',selectAnchor:'Select an Anchor',anchorName:'By Anchor Name',anchorId:'By Element Id',emailAddress:'E-Mail Address',emailSubject:'Message Subject',emailBody:'Message Body',noAnchors:'(No anchors available in the document)',noUrl:'Please type the link URL',noEmail:'Please type the e-mail address'},anchor:{toolbar:'Anchor',menu:'Edit Anchor',title:'Anchor Properties',name:'Anchor Name',errorName:'Please type the anchor name',remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Find and Replace',find:'Find',replace:'Replace',findWhat:'Find what:',replaceWith:'Replace with:',notFoundMsg:'The specified text was not found.',findOptions:'Find Options',matchCase:'Match case',matchWord:'Match whole word',matchCyclic:'Match cyclic',replaceAll:'Replace All',replaceSuccessMsg:'%1 occurrence(s) replaced.'},table:{toolbar:'Table',title:'Table Properties',menu:'Table Properties',deleteTable:'Delete Table',rows:'Rows',columns:'Columns',border:'Border size',widthPx:'pixels',widthPc:'percent',widthUnit:'width unit',cellSpace:'Cell spacing',cellPad:'Cell padding',caption:'Caption',summary:'Summary',headers:'Headers',headersNone:'None',headersColumn:'First column',headersRow:'First Row',headersBoth:'Both',invalidRows:'Number of rows must be a number greater than 0.',invalidCols:'Number of columns must be a number greater than 0.',invalidBorder:'Border size must be a number.',invalidWidth:'Table width must be a number.',invalidHeight:'Table height must be a number.',invalidCellSpacing:'Cell spacing must be a number.',invalidCellPadding:'Cell padding must be a number.',cell:{menu:'Cell',insertBefore:'Insert Cell Before',insertAfter:'Insert Cell After',deleteCell:'Delete Cells',merge:'Merge Cells',mergeRight:'Merge Right',mergeDown:'Merge Down',splitHorizontal:'Split Cell Horizontally',splitVertical:'Split Cell Vertically',title:'Cell Properties',cellType:'Cell Type',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Word Wrap',hAlign:'Horizontal Alignment',vAlign:'Vertical Alignment',alignBaseline:'Baseline',bgColor:'Background Color',borderColor:'Border Color',data:'Data',header:'Header',yes:'Yes',no:'No',invalidWidth:'Cell width must be a number.',invalidHeight:'Cell height must be a number.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Choose'},row:{menu:'Row',insertBefore:'Insert Row Before',insertAfter:'Insert Row After',deleteRow:'Delete Rows'},column:{menu:'Column',insertBefore:'Insert Column Before',insertAfter:'Insert Column After',deleteColumn:'Delete Columns'}},button:{title:'Button Properties',text:'Text (Value)',type:'Type',typeBtn:'Button',typeSbm:'Submit',typeRst:'Reset'},checkboxAndRadio:{checkboxTitle:'Checkbox Properties',radioTitle:'Radio Button Properties',value:'Value',selected:'Selected'},form:{title:'Form Properties',menu:'Form Properties',action:'Action',method:'Method',encoding:'Encoding'},select:{title:'Selection Field Properties',selectInfo:'Select Info',opAvail:'Available Options',value:'Value',size:'Size',lines:'lines',chkMulti:'Allow multiple selections',opText:'Text',opValue:'Value',btnAdd:'Add',btnModify:'Modify',btnUp:'Up',btnDown:'Down',btnSetValue:'Set as selected value',btnDelete:'Delete'},textarea:{title:'Textarea Properties',cols:'Columns',rows:'Rows'},textfield:{title:'Text Field Properties',name:'Name',value:'Value',charWidth:'Character Width',maxChars:'Maximum Characters',type:'Type',typeText:'Text',typePass:'Password'},hidden:{title:'Hidden Field Properties',name:'Name',value:'Value'},image:{title:'Image Properties',titleButton:'Image Button Properties',menu:'Image Properties',infoTab:'Image Info',btnUpload:'Send it to the Server',upload:'Upload',alt:'Alternative Text',lockRatio:'Lock Ratio',resetSize:'Reset Size',border:'Border',hSpace:'HSpace',vSpace:'VSpace',alertUrl:'Please type the image URL',linkTab:'Link',button2Img:'Do you want to transform the selected image button on a simple image?',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'Flash Properties',propertiesTab:'Properties',title:'Flash Properties',chkPlay:'Auto Play',chkLoop:'Loop',chkMenu:'Enable Flash Menu',chkFull:'Allow Fullscreen',scale:'Scale',scaleAll:'Show all',scaleNoBorder:'No Border',scaleFit:'Exact Fit',access:'Script Access',accessAlways:'Always',accessSameDomain:'Same domain',accessNever:'Never',alignAbsBottom:'Abs Bottom',alignAbsMiddle:'Abs Middle',alignBaseline:'Baseline',alignTextTop:'Text Top',quality:'Quality',qualityBest:'Best',qualityHigh:'High',qualityAutoHigh:'Auto High',qualityMedium:'Medium',qualityAutoLow:'Auto Low',qualityLow:'Low',windowModeWindow:'Window',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Window mode',flashvars:'Variables for Flash',bgcolor:'Background colour',hSpace:'HSpace',vSpace:'VSpace',validateSrc:'URL must not be empty.',validateHSpace:'HSpace must be a number.',validateVSpace:'VSpace must be a number.'},spellCheck:{toolbar:'Check Spelling',title:'Spell Check',notAvailable:'Sorry, but service is unavailable now.',errorLoading:'Error loading application service host: %s.',notInDic:'Not in dictionary',changeTo:'Change to',btnIgnore:'Ignore',btnIgnoreAll:'Ignore All',btnReplace:'Replace',btnReplaceAll:'Replace All',btnUndo:'Undo',noSuggestions:'- No suggestions -',progress:'Spell check in progress...',noMispell:'Spell check complete: No misspellings found',noChanges:'Spell check complete: No words changed',oneChange:'Spell check complete: One word changed',manyChanges:'Spell check complete: %1 words changed',ieSpellDownload:'Spell checker not installed. Do you want to download it now?'},smiley:{toolbar:'Smiley',title:'Insert a Smiley',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 element'},numberedlist:'Insert/Remove Numbered List',bulletedlist:'Insert/Remove Bulleted List',indent:'Increase Indent',outdent:'Decrease Indent',justify:{left:'Align Left',center:'Centre',right:'Align Right',block:'Justify'},blockquote:'Block Quote',clipboard:{title:'Paste',cutError:"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).",copyError:"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).",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.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'Paste from Word',title:'Paste from Word',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'Paste as plain text',title:'Paste as Plain Text'},templates:{button:'Templates',title:'Content Templates',options:'Template Options',insertOption:'Replace actual contents',selectPromptMsg:'Please select the template to open in the editor',emptyListMsg:'(No templates defined)'},showBlocks:'Show Blocks',stylesCombo:{label:'Styles',panelTitle:'Formatting Styles',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'Format',panelTitle:'Paragraph Format',tag_p:'Normal',tag_pre:'Formatted',tag_address:'Address',tag_h1:'Heading 1',tag_h2:'Heading 2',tag_h3:'Heading 3',tag_h4:'Heading 4',tag_h5:'Heading 5',tag_h6:'Heading 6',tag_div:'Normal (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'Font',voiceLabel:'Font',panelTitle:'Font Name'},fontSize:{label:'Size',voiceLabel:'Font Size',panelTitle:'Font Size'},colorButton:{textColorTitle:'Text Colour',bgColorTitle:'Background Colour',panelTitle:'Colors',auto:'Automatic',more:'More Colours...'},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'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Options',langs:'Languages',moreSuggestions:'More suggestions',ignore:'Ignore',ignoreAll:'Ignore All',addWord:'Add Word',emptyDic:'Dictionary name should not be empty.',noSuggestions:'No suggestions',optionsTab:'Options',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Languages',dictionariesTab:'Dictionaries',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'About'},about:{title:'About CKEditor',dlgTitle:'About CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'For licensing information please visit our web site:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Maximize',minimize:'Minimize',fakeobjects:{anchor:'Anchor',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Unknown Object'},resize:'Drag to resize',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'Document Properties',title:'Document Properties',design:'Design',meta:'Meta Tags',chooseColor:'Choose',other:'Other...',docTitle:'Page Title',charset:'Character Set Encoding',charsetOther:'Other Character Set Encoding',charsetASCII:'ASCII',charsetCE:'Central European',charsetCT:'Chinese Traditional (Big5)',charsetCR:'Cyrillic',charsetGR:'Greek',charsetJP:'Japanese',charsetKR:'Korean',charsetTR:'Turkish',charsetUN:'Unicode (UTF-8)',charsetWE:'Western European',docType:'Document Type Heading',docTypeOther:'Other Document Type Heading',xhtmlDec:'Include XHTML Declarations',bgColor:'Background Color',bgImage:'Background Image URL',bgFixed:'Non-scrolling (Fixed) Background',txtColor:'Text Color',margin:'Page Margins',marginTop:'Top',marginLeft:'Left',marginRight:'Right',marginBottom:'Bottom',metaKeywords:'Document Indexing Keywords (comma separated)',metaDescription:'Document Description',metaAuthor:'Author',metaCopyright:'Copyright',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/en-gb.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/en-gb.js
deleted file mode 100644
index 5f2e618..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/en-gb.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang['en-gb']={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'Editor toolbars',editor:'Rich Text Editor',source:'Source',newPage:'New Page',save:'Save',preview:'Preview',cut:'Cut',copy:'Copy',paste:'Paste',print:'Print',underline:'Underline',bold:'Bold',italic:'Italic',selectAll:'Select All',removeFormat:'Remove Format',strike:'Strike Through',subscript:'Subscript',superscript:'Superscript',horizontalrule:'Insert Horizontal Line',pagebreak:'Insert Page Break for Printing',pagebreakAlt:'Page Break',unlink:'Unlink',undo:'Undo',redo:'Redo',common:{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',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:'Some of the options have been changed. Are you sure to close the dialog?',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',alignTop:'Top',alignMiddle:'Middle',alignBottom:'Bottom',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'Insert Special Character',title:'Select Special Character',options:'Special Character Options'},link:{toolbar:'Link',other:'<other>',menu:'Edit Link',title:'Link',info:'Link Info',target:'Target',upload:'Upload',advanced:'Advanced',type:'Link Type',toUrl:'URL',toAnchor:'Link to anchor in the text',toEmail:'E-mail',targetFrame:'<frame>',targetPopup:'<popup window>',targetFrameName:'Target Frame Name',targetPopupName:'Popup Window Name',popupFeatures:'Popup Window Features',popupResizable:'Resizable',popupStatusBar:'Status Bar',popupLocationBar:'Location Bar',popupToolbar:'Toolbar',popupMenuBar:'Menu Bar',popupFullScreen:'Full Screen (IE)',popupScrollBars:'Scroll Bars',popupDependent:'Dependent (Netscape)',popupLeft:'Left Position',popupTop:'Top Position',id:'Id',langDir:'Language Direction',langDirLTR:'Left to Right (LTR)',langDirRTL:'Right to Left (RTL)',acccessKey:'Access Key',name:'Name',langCode:'Language Code',tabIndex:'Tab Index',advisoryTitle:'Advisory Title',advisoryContentType:'Advisory Content Type',cssClasses:'Stylesheet Classes',charset:'Linked Resource Charset',styles:'Style',rel:'Relationship',selectAnchor:'Select an Anchor',anchorName:'By Anchor Name',anchorId:'By Element Id',emailAddress:'E-Mail Address',emailSubject:'Message Subject',emailBody:'Message Body',noAnchors:'(No anchors available in the document)',noUrl:'Please type the link URL',noEmail:'Please type the e-mail address'},anchor:{toolbar:'Anchor',menu:'Edit Anchor',title:'Anchor Properties',name:'Anchor Name',errorName:'Please type the anchor name',remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Find and Replace',find:'Find',replace:'Replace',findWhat:'Find what:',replaceWith:'Replace with:',notFoundMsg:'The specified text was not found.',findOptions:'Find Options',matchCase:'Match case',matchWord:'Match whole word',matchCyclic:'Match cyclic',replaceAll:'Replace All',replaceSuccessMsg:'%1 occurrence(s) replaced.'},table:{toolbar:'Table',title:'Table Properties',menu:'Table Properties',deleteTable:'Delete Table',rows:'Rows',columns:'Columns',border:'Border size',widthPx:'pixels',widthPc:'percent',widthUnit:'width unit',cellSpace:'Cell spacing',cellPad:'Cell padding',caption:'Caption',summary:'Summary',headers:'Headers',headersNone:'None',headersColumn:'First column',headersRow:'First Row',headersBoth:'Both',invalidRows:'Number of rows must be a number greater than 0.',invalidCols:'Number of columns must be a number greater than 0.',invalidBorder:'Border size must be a number.',invalidWidth:'Table width must be a number.',invalidHeight:'Table height must be a number.',invalidCellSpacing:'Cell spacing must be a number.',invalidCellPadding:'Cell padding must be a number.',cell:{menu:'Cell',insertBefore:'Insert Cell Before',insertAfter:'Insert Cell After',deleteCell:'Delete Cells',merge:'Merge Cells',mergeRight:'Merge Right',mergeDown:'Merge Down',splitHorizontal:'Split Cell Horizontally',splitVertical:'Split Cell Vertically',title:'Cell Properties',cellType:'Cell Type',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Word Wrap',hAlign:'Horizontal Alignment',vAlign:'Vertical Alignment',alignBaseline:'Baseline',bgColor:'Background Color',borderColor:'Border Color',data:'Data',header:'Header',yes:'Yes',no:'No',invalidWidth:'Cell width must be a number.',invalidHeight:'Cell height must be a number.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Choose'},row:{menu:'Row',insertBefore:'Insert Row Before',insertAfter:'Insert Row After',deleteRow:'Delete Rows'},column:{menu:'Column',insertBefore:'Insert Column Before',insertAfter:'Insert Column After',deleteColumn:'Delete Columns'}},button:{title:'Button Properties',text:'Text (Value)',type:'Type',typeBtn:'Button',typeSbm:'Submit',typeRst:'Reset'},checkboxAndRadio:{checkboxTitle:'Checkbox Properties',radioTitle:'Radio Button Properties',value:'Value',selected:'Selected'},form:{title:'Form Properties',menu:'Form Properties',action:'Action',method:'Method',encoding:'Encoding'},select:{title:'Selection Field Properties',selectInfo:'Select Info',opAvail:'Available Options',value:'Value',size:'Size',lines:'lines',chkMulti:'Allow multiple selections',opText:'Text',opValue:'Value',btnAdd:'Add',btnModify:'Modify',btnUp:'Up',btnDown:'Down',btnSetValue:'Set as selected value',btnDelete:'Delete'},textarea:{title:'Textarea Properties',cols:'Columns',rows:'Rows'},textfield:{title:'Text Field Properties',name:'Name',value:'Value',charWidth:'Character Width',maxChars:'Maximum Characters',type:'Type',typeText:'Text',typePass:'Password'},hidden:{title:'Hidden Field Properties',name:'Name',value:'Value'},image:{title:'Image Properties',titleButton:'Image Button Properties',menu:'Image Properties',infoTab:'Image Info',btnUpload:'Send it to the Server',upload:'Upload',alt:'Alternative Text',lockRatio:'Lock Ratio',resetSize:'Reset Size',border:'Border',hSpace:'HSpace',vSpace:'VSpace',alertUrl:'Please type the image URL',linkTab:'Link',button2Img:'Do you want to transform the selected image button on a simple image?',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'Flash Properties',propertiesTab:'Properties',title:'Flash Properties',chkPlay:'Auto Play',chkLoop:'Loop',chkMenu:'Enable Flash Menu',chkFull:'Allow Fullscreen',scale:'Scale',scaleAll:'Show all',scaleNoBorder:'No Border',scaleFit:'Exact Fit',access:'Script Access',accessAlways:'Always',accessSameDomain:'Same domain',accessNever:'Never',alignAbsBottom:'Abs Bottom',alignAbsMiddle:'Abs Middle',alignBaseline:'Baseline',alignTextTop:'Text Top',quality:'Quality',qualityBest:'Best',qualityHigh:'High',qualityAutoHigh:'Auto High',qualityMedium:'Medium',qualityAutoLow:'Auto Low',qualityLow:'Low',windowModeWindow:'Window',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Window mode',flashvars:'Variables for Flash',bgcolor:'Background colour',hSpace:'HSpace',vSpace:'VSpace',validateSrc:'URL must not be empty.',validateHSpace:'HSpace must be a number.',validateVSpace:'VSpace must be a number.'},spellCheck:{toolbar:'Check Spelling',title:'Spell Check',notAvailable:'Sorry, but service is unavailable now.',errorLoading:'Error loading application service host: %s.',notInDic:'Not in dictionary',changeTo:'Change to',btnIgnore:'Ignore',btnIgnoreAll:'Ignore All',btnReplace:'Replace',btnReplaceAll:'Replace All',btnUndo:'Undo',noSuggestions:'- No suggestions -',progress:'Spell check in progress...',noMispell:'Spell check complete: No misspellings found',noChanges:'Spell check complete: No words changed',oneChange:'Spell check complete: One word changed',manyChanges:'Spell check complete: %1 words changed',ieSpellDownload:'Spell checker not installed. Do you want to download it now?'},smiley:{toolbar:'Smiley',title:'Insert a Smiley',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 element'},numberedlist:'Insert/Remove Numbered List',bulletedlist:'Insert/Remove Bulleted List',indent:'Increase Indent',outdent:'Decrease Indent',justify:{left:'Align Left',center:'Centre',right:'Align Right',block:'Justify'},blockquote:'Block Quote',clipboard:{title:'Paste',cutError:"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).",copyError:"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).",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.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'Paste from Word',title:'Paste from Word',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'Paste as plain text',title:'Paste as Plain Text'},templates:{button:'Templates',title:'Content Templates',options:'Template Options',insertOption:'Replace actual contents',selectPromptMsg:'Please select the template to open in the editor',emptyListMsg:'(No templates defined)'},showBlocks:'Show Blocks',stylesCombo:{label:'Styles',panelTitle:'Formatting Styles',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'Format',panelTitle:'Paragraph Format',tag_p:'Normal',tag_pre:'Formatted',tag_address:'Address',tag_h1:'Heading 1',tag_h2:'Heading 2',tag_h3:'Heading 3',tag_h4:'Heading 4',tag_h5:'Heading 5',tag_h6:'Heading 6',tag_div:'Normal (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'Font',voiceLabel:'Font',panelTitle:'Font Name'},fontSize:{label:'Size',voiceLabel:'Font Size',panelTitle:'Font Size'},colorButton:{textColorTitle:'Text Colour',bgColorTitle:'Background Colour',panelTitle:'Colours',auto:'Automatic',more:'More Colours...'},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'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Options',langs:'Languages',moreSuggestions:'More suggestions',ignore:'Ignore',ignoreAll:'Ignore All',addWord:'Add Word',emptyDic:'Dictionary name should not be empty.',noSuggestions:'No suggestions',optionsTab:'Options',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Languages',dictionariesTab:'Dictionaries',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'About'},about:{title:'About CKEditor',dlgTitle:'About CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'For licensing information please visit our web site:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Maximise',minimize:'Minimise',fakeobjects:{anchor:'Anchor',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Unknown Object'},resize:'Drag to resize',colordialog:{title:'Select colour',options:'Colour Options',highlight:'Highlight',selected:'Selected Colour',clear:'Clear'},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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'Document Properties',title:'Document Properties',design:'Design',meta:'Meta Tags',chooseColor:'Choose',other:'Other...',docTitle:'Page Title',charset:'Character Set Encoding',charsetOther:'Other Character Set Encoding',charsetASCII:'ASCII',charsetCE:'Central European',charsetCT:'Chinese Traditional (Big5)',charsetCR:'Cyrillic',charsetGR:'Greek',charsetJP:'Japanese',charsetKR:'Korean',charsetTR:'Turkish',charsetUN:'Unicode (UTF-8)',charsetWE:'Western European',docType:'Document Type Heading',docTypeOther:'Other Document Type Heading',xhtmlDec:'Include XHTML Declarations',bgColor:'Background Color',bgImage:'Background Image URL',bgFixed:'Non-scrolling (Fixed) Background',txtColor:'Text Color',margin:'Page Margins',marginTop:'Top',marginLeft:'Left',marginRight:'Right',marginBottom:'Bottom',metaKeywords:'Document Indexing Keywords (comma separated)',metaDescription:'Document Description',metaAuthor:'Author',metaCopyright:'Copyright',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/en.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/en.js
deleted file mode 100644
index 791ffc1..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/en.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.en={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'Editor toolbars',editor:'Rich Text Editor',source:'Source',newPage:'New Page',save:'Save',preview:'Preview',cut:'Cut',copy:'Copy',paste:'Paste',print:'Print',underline:'Underline',bold:'Bold',italic:'Italic',selectAll:'Select All',removeFormat:'Remove Format',strike:'Strike Through',subscript:'Subscript',superscript:'Superscript',horizontalrule:'Insert Horizontal Line',pagebreak:'Insert Page Break for Printing',pagebreakAlt:'Page Break',unlink:'Unlink',undo:'Undo',redo:'Redo',common:{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',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:'Some of the options have been changed. Are you sure to close the dialog?',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:'Alignment',alignLeft:'Left',alignRight:'Right',alignCenter:'Center',alignTop:'Top',alignMiddle:'Middle',alignBottom:'Bottom',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'Insert Special Character',title:'Select Special Character',options:'Special Character Options'},link:{toolbar:'Link',other:'<other>',menu:'Edit Link',title:'Link',info:'Link Info',target:'Target',upload:'Upload',advanced:'Advanced',type:'Link Type',toUrl:'URL',toAnchor:'Link to anchor in the text',toEmail:'E-mail',targetFrame:'<frame>',targetPopup:'<popup window>',targetFrameName:'Target Frame Name',targetPopupName:'Popup Window Name',popupFeatures:'Popup Window Features',popupResizable:'Resizable',popupStatusBar:'Status Bar',popupLocationBar:'Location Bar',popupToolbar:'Toolbar',popupMenuBar:'Menu Bar',popupFullScreen:'Full Screen (IE)',popupScrollBars:'Scroll Bars',popupDependent:'Dependent (Netscape)',popupLeft:'Left Position',popupTop:'Top Position',id:'Id',langDir:'Language Direction',langDirLTR:'Left to Right (LTR)',langDirRTL:'Right to Left (RTL)',acccessKey:'Access Key',name:'Name',langCode:'Language Code',tabIndex:'Tab Index',advisoryTitle:'Advisory Title',advisoryContentType:'Advisory Content Type',cssClasses:'Stylesheet Classes',charset:'Linked Resource Charset',styles:'Style',rel:'Relationship',selectAnchor:'Select an Anchor',anchorName:'By Anchor Name',anchorId:'By Element Id',emailAddress:'E-Mail Address',emailSubject:'Message Subject',emailBody:'Message Body',noAnchors:'(No anchors available in the document)',noUrl:'Please type the link URL',noEmail:'Please type the e-mail address'},anchor:{toolbar:'Anchor',menu:'Edit Anchor',title:'Anchor Properties',name:'Anchor Name',errorName:'Please type the anchor name',remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Find and Replace',find:'Find',replace:'Replace',findWhat:'Find what:',replaceWith:'Replace with:',notFoundMsg:'The specified text was not found.',findOptions:'Find Options',matchCase:'Match case',matchWord:'Match whole word',matchCyclic:'Match cyclic',replaceAll:'Replace All',replaceSuccessMsg:'%1 occurrence(s) replaced.'},table:{toolbar:'Table',title:'Table Properties',menu:'Table Properties',deleteTable:'Delete Table',rows:'Rows',columns:'Columns',border:'Border size',widthPx:'pixels',widthPc:'percent',widthUnit:'width unit',cellSpace:'Cell spacing',cellPad:'Cell padding',caption:'Caption',summary:'Summary',headers:'Headers',headersNone:'None',headersColumn:'First column',headersRow:'First Row',headersBoth:'Both',invalidRows:'Number of rows must be a number greater than 0.',invalidCols:'Number of columns must be a number greater than 0.',invalidBorder:'Border size must be a number.',invalidWidth:'Table width must be a number.',invalidHeight:'Table height must be a number.',invalidCellSpacing:'Cell spacing must be a positive number.',invalidCellPadding:'Cell padding must be a positive number.',cell:{menu:'Cell',insertBefore:'Insert Cell Before',insertAfter:'Insert Cell After',deleteCell:'Delete Cells',merge:'Merge Cells',mergeRight:'Merge Right',mergeDown:'Merge Down',splitHorizontal:'Split Cell Horizontally',splitVertical:'Split Cell Vertically',title:'Cell Properties',cellType:'Cell Type',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Word Wrap',hAlign:'Horizontal Alignment',vAlign:'Vertical Alignment',alignBaseline:'Baseline',bgColor:'Background Color',borderColor:'Border Color',data:'Data',header:'Header',yes:'Yes',no:'No',invalidWidth:'Cell width must be a number.',invalidHeight:'Cell height must be a number.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Choose'},row:{menu:'Row',insertBefore:'Insert Row Before',insertAfter:'Insert Row After',deleteRow:'Delete Rows'},column:{menu:'Column',insertBefore:'Insert Column Before',insertAfter:'Insert Column After',deleteColumn:'Delete Columns'}},button:{title:'Button Properties',text:'Text (Value)',type:'Type',typeBtn:'Button',typeSbm:'Submit',typeRst:'Reset'},checkboxAndRadio:{checkboxTitle:'Checkbox Properties',radioTitle:'Radio Button Properties',value:'Value',selected:'Selected'},form:{title:'Form Properties',menu:'Form Properties',action:'Action',method:'Method',encoding:'Encoding'},select:{title:'Selection Field Properties',selectInfo:'Select Info',opAvail:'Available Options',value:'Value',size:'Size',lines:'lines',chkMulti:'Allow multiple selections',opText:'Text',opValue:'Value',btnAdd:'Add',btnModify:'Modify',btnUp:'Up',btnDown:'Down',btnSetValue:'Set as selected value',btnDelete:'Delete'},textarea:{title:'Textarea Properties',cols:'Columns',rows:'Rows'},textfield:{title:'Text Field Properties',name:'Name',value:'Value',charWidth:'Character Width',maxChars:'Maximum Characters',type:'Type',typeText:'Text',typePass:'Password'},hidden:{title:'Hidden Field Properties',name:'Name',value:'Value'},image:{title:'Image Properties',titleButton:'Image Button Properties',menu:'Image Properties',infoTab:'Image Info',btnUpload:'Send it to the Server',upload:'Upload',alt:'Alternative Text',lockRatio:'Lock Ratio',resetSize:'Reset Size',border:'Border',hSpace:'HSpace',vSpace:'VSpace',alertUrl:'Please type the image URL',linkTab:'Link',button2Img:'Do you want to transform the selected image button on a simple image?',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'Flash Properties',propertiesTab:'Properties',title:'Flash Properties',chkPlay:'Auto Play',chkLoop:'Loop',chkMenu:'Enable Flash Menu',chkFull:'Allow Fullscreen',scale:'Scale',scaleAll:'Show all',scaleNoBorder:'No Border',scaleFit:'Exact Fit',access:'Script Access',accessAlways:'Always',accessSameDomain:'Same domain',accessNever:'Never',alignAbsBottom:'Abs Bottom',alignAbsMiddle:'Abs Middle',alignBaseline:'Baseline',alignTextTop:'Text Top',quality:'Quality',qualityBest:'Best',qualityHigh:'High',qualityAutoHigh:'Auto High',qualityMedium:'Medium',qualityAutoLow:'Auto Low',qualityLow:'Low',windowModeWindow:'Window',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Window mode',flashvars:'Variables for Flash',bgcolor:'Background color',hSpace:'HSpace',vSpace:'VSpace',validateSrc:'URL must not be empty.',validateHSpace:'HSpace must be a number.',validateVSpace:'VSpace must be a number.'},spellCheck:{toolbar:'Check Spelling',title:'Spell Check',notAvailable:'Sorry, but service is unavailable now.',errorLoading:'Error loading application service host: %s.',notInDic:'Not in dictionary',changeTo:'Change to',btnIgnore:'Ignore',btnIgnoreAll:'Ignore All',btnReplace:'Replace',btnReplaceAll:'Replace All',btnUndo:'Undo',noSuggestions:'- No suggestions -',progress:'Spell check in progress...',noMispell:'Spell check complete: No misspellings found',noChanges:'Spell check complete: No words changed',oneChange:'Spell check complete: One word changed',manyChanges:'Spell check complete: %1 words changed',ieSpellDownload:'Spell checker not installed. Do you want to download it now?'},smiley:{toolbar:'Smiley',title:'Insert a Smiley',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 element'},numberedlist:'Insert/Remove Numbered List',bulletedlist:'Insert/Remove Bulleted List',indent:'Increase Indent',outdent:'Decrease Indent',justify:{left:'Align Left',center:'Center',right:'Align Right',block:'Justify'},blockquote:'Block Quote',clipboard:{title:'Paste',cutError:"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).",copyError:"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).",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.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'Paste from Word',title:'Paste from Word',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'Paste as plain text',title:'Paste as Plain Text'},templates:{button:'Templates',title:'Content Templates',options:'Template Options',insertOption:'Replace actual contents',selectPromptMsg:'Please select the template to open in the editor',emptyListMsg:'(No templates defined)'},showBlocks:'Show Blocks',stylesCombo:{label:'Styles',panelTitle:'Formatting Styles',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'Format',panelTitle:'Paragraph Format',tag_p:'Normal',tag_pre:'Formatted',tag_address:'Address',tag_h1:'Heading 1',tag_h2:'Heading 2',tag_h3:'Heading 3',tag_h4:'Heading 4',tag_h5:'Heading 5',tag_h6:'Heading 6',tag_div:'Normal (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'Font',voiceLabel:'Font',panelTitle:'Font Name'},fontSize:{label:'Size',voiceLabel:'Font Size',panelTitle:'Font Size'},colorButton:{textColorTitle:'Text Color',bgColorTitle:'Background Color',panelTitle:'Colors',auto:'Automatic',more:'More Colors...'},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'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Options',langs:'Languages',moreSuggestions:'More suggestions',ignore:'Ignore',ignoreAll:'Ignore All',addWord:'Add Word',emptyDic:'Dictionary name should not be empty.',noSuggestions:'No suggestions',optionsTab:'Options',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Languages',dictionariesTab:'Dictionaries',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'About'},about:{title:'About CKEditor',dlgTitle:'About CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'For licensing information please visit our web site:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Maximize',minimize:'Minimize',fakeobjects:{anchor:'Anchor',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Unknown Object'},resize:'Drag to resize',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'Document Properties',title:'Document Properties',design:'Design',meta:'Meta Tags',chooseColor:'Choose',other:'Other...',docTitle:'Page Title',charset:'Character Set Encoding',charsetOther:'Other Character Set Encoding',charsetASCII:'ASCII',charsetCE:'Central European',charsetCT:'Chinese Traditional (Big5)',charsetCR:'Cyrillic',charsetGR:'Greek',charsetJP:'Japanese',charsetKR:'Korean',charsetTR:'Turkish',charsetUN:'Unicode (UTF-8)',charsetWE:'Western European',docType:'Document Type Heading',docTypeOther:'Other Document Type Heading',xhtmlDec:'Include XHTML Declarations',bgColor:'Background Color',bgImage:'Background Image URL',bgFixed:'Non-scrolling (Fixed) Background',txtColor:'Text Color',margin:'Page Margins',marginTop:'Top',marginLeft:'Left',marginRight:'Right',marginBottom:'Bottom',metaKeywords:'Document Indexing Keywords (comma separated)',metaDescription:'Document Description',metaAuthor:'Author',metaCopyright:'Copyright',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/eo.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/eo.js
deleted file mode 100644
index 3194732..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/eo.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.eo={dir:'ltr',editorTitle:'riĉteksta redaktilo, %1',editorHelp:'Premu ALT 0 por helpilo',toolbars:'Ilobretoj de la redaktilo',editor:'Redaktilo por Riĉiga Teksto',source:'Fonto',newPage:'Nova PaÄo',save:'Konservi',preview:'Vidigi Aspekton',cut:'Eltondi',copy:'Kopii',paste:'Interglui',print:'Presi',underline:'Substreko',bold:'Grasa',italic:'Kursiva',selectAll:'Elekti ĉion',removeFormat:'Forigi Formaton',strike:'Trastreko',subscript:'Suba indico',superscript:'Supra indico',horizontalrule:'Enmeti Horizontalan Linion',pagebreak:'Enmeti PaÄavancon por Presado',pagebreakAlt:'PaÄavanco',unlink:'Forigi Ligilon',undo:'Malfari',redo:'Refari',common:{browseServer:'Foliumi en la Servilo',url:'URL',protocol:'Protokolo',upload:'AlÅuti',uploadSubmit:'Sendu al Servilo',image:'Bildo',flash:'FlaÅo',form:'Formularo',checkbox:'Markobutono',radio:'Radiobutono',textField:'Teksta kampo',textarea:'Teksta Areo',hiddenField:'KaÅita Kampo',button:'Butono',select:'Elekta Kampo',imageButton:'Bildbutono',notSet:'<DefaÅ­lta>',id:'Id',name:'Nomo',langDir:'Skribdirekto',langDirLtr:'De maldekstro dekstren (LTR)',langDirRtl:'De dekstro maldekstren (RTL)',langCode:'Lingva Kodo',longDescr:'URL de Longa Priskribo',cssClass:'Klasoj de Stilfolioj',advisoryTitle:'Priskriba Titolo',cssStyle:'Stilo',ok:'Akcepti',cancel:'Rezigni',close:'Fermi',preview:'Vidigi Aspekton',generalTab:'Äœenerala',advancedTab:'Speciala',validateNumberFailed:'Tiu valoro ne estas nombro.',confirmNewPage:'La neregistritaj ÅanÄoj estas perdotaj. Ĉu vi certas, ke vi volas Åargi novan paÄon?',confirmCancel:'Iuj opcioj esta ÅanÄitaj. Ĉu vi certas, ke vi volas fermi la dialogon?',options:'Opcioj',target:'Celo',targetNew:'Nova Fenestro (_blank)',targetTop:'Supra Fenestro (_top)',targetSelf:'Sama Fenestro (_self)',targetParent:'Patra Fenestro (_parent)',langDirLTR:'De maldekstro dekstren (LTR)',langDirRTL:'De dekstro maldekstren (RTL)',styles:'Stilo',cssClasses:'Stilfoliaj Klasoj',width:'LarÄo',height:'Alto',align:'Äœisrandigo',alignLeft:'Maldekstre',alignRight:'Dekstre',alignCenter:'Centre',alignTop:'Supre',alignMiddle:'Centre',alignBottom:'Malsupre',invalidValue:'Nevalida Valoro',invalidHeight:'Alto devas esti nombro.',invalidWidth:'LarÄo devas esti nombro.',invalidCssLength:'La valoro indikita por la "%1" kampo devas esti pozitiva nombro kun aÅ­ sen valida CSSmezurunuo (px, %, in, cm, mm, em, ex, pt, or pc).',invalidHtmlLength:'La valoro indikita por la "%1" kampo devas esti pozitiva nombro kun aÅ­ sen valida HTMLmezurunuo (px or %).',invalidInlineStyle:'La valoro indikita por la enlinia stilo devas konsisti el unu aÅ­ pluraj elementoj kun la formato de "nomo : valoro", apartigitaj per punktokomoj.',cssLengthTooltip:'Entajpu nombron por rastrumera valoro aÅ­ nombron kun valida CSSunuo (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, nehavebla</span>'},contextmenu:{options:'Opcioj de Kunteksta Menuo'},specialChar:{toolbar:'Enmeti Specialan Signon',title:'Selekti Specialan Signon',options:'Opcioj pri Specialaj Signoj'},link:{toolbar:'Enmeti/ÅœanÄi Ligilon',other:'<alia>',menu:'ÅœanÄi Ligilon',title:'Ligilo',info:'Informoj pri la Ligilo',target:'Celo',upload:'AlÅuti',advanced:'Speciala',type:'Tipo de Ligilo',toUrl:'URL',toAnchor:'Ankri en tiu ĉi paÄo',toEmail:'RetpoÅto',targetFrame:'<kadro>',targetPopup:'<Åprucfenestro>',targetFrameName:'Nomo de CelKadro',targetPopupName:'Nomo de Åœprucfenestro',popupFeatures:'Atributoj de la Åœprucfenestro',popupResizable:'DimensiÅanÄebla',popupStatusBar:'Statobreto',popupLocationBar:'Adresobreto',popupToolbar:'Ilobreto',popupMenuBar:'Menubreto',popupFullScreen:'Tutekrane (IE)',popupScrollBars:'Rulumskaloj',popupDependent:'Dependa (Netscape)',popupLeft:'Maldekstra Pozicio',popupTop:'Supra Pozicio',id:'Id',langDir:'Skribdirekto',langDirLTR:'De maldekstro dekstren (LTR)',langDirRTL:'De dekstro maldekstren (RTL)',acccessKey:'Fulmoklavo',name:'Nomo',langCode:'Lingva Kodo',tabIndex:'Taba Indekso',advisoryTitle:'Priskriba Titolo',advisoryContentType:'Enhavotipo',cssClasses:'Klasoj de Stilfolioj',charset:'Signaro de la Ligita Rimedo',styles:'Stilo',rel:'Rilato',selectAnchor:'Elekti Ankron',anchorName:'Per Ankronomo',anchorId:'Per Elementidentigilo',emailAddress:'RetpoÅto',emailSubject:'MesaÄa Temo',emailBody:'MesaÄa korpo',noAnchors:'<Ne disponeblas ankroj en la dokumento>',noUrl:'Bonvolu entajpi la URL-on',noEmail:'Bonvolu entajpi la retpoÅtadreson'},anchor:{toolbar:'Ankro',menu:'Enmeti/ÅœanÄi Ankron',title:'Ankraj Atributoj',name:'Ankra Nomo',errorName:'Bv entajpi la ankran nomon',remove:'Forigi Ankron'},list:{numberedTitle:'Atributoj de Numera Listo',bulletedTitle:'Atributoj de Bula Listo',type:'Tipo',start:'Komenco',validateStartNumber:'La unua listero devas esti entjera nombro.',circle:'Cirklo',disc:'Disko',square:'kvadrato',none:'Neniu',notset:'<DefaÅ­lta>',armenian:'Armena nombrado',georgian:'Gruza nombrado (an, ban, gan, ktp.)',lowerRoman:'Minusklaj Romanaj Nombroj (i, ii, iii, iv, v, ktp.)',upperRoman:'Majusklaj Romanaj Nombroj (I, II, III, IV, V, ktp.)',lowerAlpha:'Minusklaj Literoj (a, b, c, d, e, ktp.)',upperAlpha:'Majusklaj Literoj (A, B, C, D, E, ktp.)',lowerGreek:'Grekaj Minusklaj Literoj (alpha, beta, gamma, ktp.)',decimal:'Dekumaj Nombroj (1, 2, 3, ktp.)',decimalLeadingZero:'Dekumaj Nombroj malantaÅ­ nulo (01, 02, 03, ktp.)'},findAndReplace:{title:'Serĉi kaj AnstataÅ­igi',find:'Serĉi',replace:'AnstataÅ­igi',findWhat:'Serĉi:',replaceWith:'AnstataÅ­igi per:',notFoundMsg:'La celteksto ne estas trovita.',findOptions:'Opcioj pri Serĉado',matchCase:'Kongruigi Usklecon',matchWord:'Tuta Vorto',matchCyclic:'Cikla Serĉado',replaceAll:'AnstataÅ­igi Ĉion',replaceSuccessMsg:'%1 anstataÅ­igita(j) apero(j).'},table:{toolbar:'Tabelo',title:'Atributoj de Tabelo',menu:'Atributoj de Tabelo',deleteTable:'Forigi Tabelon',rows:'Linioj',columns:'Kolumnoj',border:'Bordero',widthPx:'Rastrumeroj',widthPc:'elcentoj',widthUnit:'unuo de larÄo',cellSpace:'Spaco inter la Ĉeloj',cellPad:'Interna MarÄeno de la ĉeloj',caption:'Tabeltitolo',summary:'Resumo',headers:'Supraj PaÄotitoloj',headersNone:'Neniu',headersColumn:'Unua kolumno',headersRow:'Unua linio',headersBoth:'AmbaÅ­',invalidRows:'La nombro de la linioj devas superi 0.',invalidCols:'La nombro de la kolumnoj devas superi 0.',invalidBorder:'La bordergrando devas esti nombro.',invalidWidth:'La tabellarÄo devas esti nombro.',invalidHeight:'La tabelalto devas esti nombro.',invalidCellSpacing:'La spaco inter la ĉeloj devas esti pozitiva nombro.',invalidCellPadding:'La interna marÄeno en la ĉeloj devas esti pozitiva nombro.',cell:{menu:'Ĉelo',insertBefore:'Enmeti Ĉelon AntaÅ­',insertAfter:'Enmeti Ĉelon Post',deleteCell:'Forigi la Ĉelojn',merge:'Kunfandi la Ĉelojn',mergeRight:'Kunfandi dekstren',mergeDown:'Kunfandi malsupren ',splitHorizontal:'Horizontale dividi',splitVertical:'Vertikale dividi',title:'Ĉelatributoj',cellType:'Ĉeltipo',rowSpan:'Kunfando de linioj',colSpan:'Kunfando de kolumnoj',wordWrap:'Cezuro',hAlign:'Horizontala Äisrandigo',vAlign:'Vertikala Äisrandigo',alignBaseline:'Malsupro de la teksto',bgColor:'Fonkoloro',borderColor:'Borderkoloro',data:'Datenoj',header:'Supra paÄotitolo',yes:'Jes',no:'No',invalidWidth:'ĈellarÄo devas esti nombro.',invalidHeight:'Ĉelalto devas esti nombro.',invalidRowSpan:'Kunfando de linioj devas esti entjera nombro.',invalidColSpan:'Kunfando de kolumnoj devas esti entjera nombro.',chooseColor:'Elektu'},row:{menu:'Linio',insertBefore:'Enmeti linion antaÅ­',insertAfter:'Enmeti linion post',deleteRow:'Forigi Liniojn'},column:{menu:'Kolumno',insertBefore:'Enmeti kolumnon antaÅ­',insertAfter:'Enmeti kolumnon post',deleteColumn:'Forigi Kolumnojn'}},button:{title:'Butonaj atributoj',text:'Teksto (Valoro)',type:'Tipo',typeBtn:'Butono',typeSbm:'Validigi (submit)',typeRst:'Remeti en la originstaton (Reset)'},checkboxAndRadio:{checkboxTitle:'Markobutonaj Atributoj',radioTitle:'Radiobutonaj Atributoj',value:'Valoro',selected:'Selektita'},form:{title:'Formularaj Atributoj',menu:'Formularaj Atributoj',action:'Ago',method:'Metodo',encoding:'Kodoprezento'},select:{title:'Atributoj de Elekta Kampo',selectInfo:'Informoj pri la rulummenuo',opAvail:'Elektoj Disponeblaj',value:'Valoro',size:'Grando',lines:'Linioj',chkMulti:'Permesi Plurajn Elektojn',opText:'Teksto',opValue:'Valoro',btnAdd:'Aldoni',btnModify:'Modifi',btnUp:'Supren',btnDown:'Malsupren',btnSetValue:'Agordi kiel Elektitan Valoron',btnDelete:'Forigi'},textarea:{title:'Atributoj de Teksta Areo',cols:'Kolumnoj',rows:'Linioj'},textfield:{title:'Atributoj de Teksta Kampo',name:'Nomo',value:'Valoro',charWidth:'SignolarÄo',maxChars:'Maksimuma Nombro da Signoj',type:'Tipo',typeText:'Teksto',typePass:'Pasvorto'},hidden:{title:'Atributoj de KaÅita Kampo',name:'Nomo',value:'Valoro'},image:{title:'Atributoj de Bildo',titleButton:'Bildbutonaj Atributoj',menu:'Atributoj de Bildo',infoTab:'Informoj pri Bildo',btnUpload:'Sendu al Servilo',upload:'AlÅuti',alt:'AnstataÅ­iga Teksto',lockRatio:'Konservi Proporcion',resetSize:'Origina Grando',border:'Bordero',hSpace:'Horizontala Spaco',vSpace:'Vertikala Spaco',alertUrl:'Bonvolu tajpi la retadreson de la bildo',linkTab:'Ligilo',button2Img:'Ĉu vi volas transformi la selektitan bildbutonon en simplan bildon?',img2Button:'Ĉu vi volas transformi la selektitan bildon en bildbutonon?',urlMissing:'La fontretadreso de la bildo mankas.',validateBorder:'La bordero devas esti entjera nombro.',validateHSpace:'La horizontala spaco devas esti entjera nombro.',validateVSpace:'La vertikala spaco devas esti entjera nombro.'},flash:{properties:'FlaÅatributoj',propertiesTab:'Atributoj',title:'FlaÅatributoj',chkPlay:'AÅ­tomata legado',chkLoop:'Iteracio',chkMenu:'Ebligi flaÅmenuon',chkFull:'Permesi tutekranon',scale:'Skalo',scaleAll:'Montri ĉion',scaleNoBorder:'Neniu bordero',scaleFit:'Origina grando',access:'Atingi skriptojn',accessAlways:'Ĉiam',accessSameDomain:'Sama domajno',accessNever:'Neniam',alignAbsBottom:'Absoluta Malsupro',alignAbsMiddle:'Absoluta Centro',alignBaseline:'TekstoMalsupro',alignTextTop:'TekstoSupro',quality:'Kvalito',qualityBest:'Plej bona',qualityHigh:'Alta',qualityAutoHigh:'AÅ­tomate alta',qualityMedium:'Meza',qualityAutoLow:'AÅ­tomate malalta',qualityLow:'Malalta',windowModeWindow:'Fenestro',windowModeOpaque:'Opaka',windowModeTransparent:'Travidebla',windowMode:'Fenestra reÄimo',flashvars:'Variabloj por FlaÅo',bgcolor:'Fona Koloro',hSpace:'Horizontala Spaco',vSpace:'Vertikala Spaco',validateSrc:'Bonvolu entajpi la retadreson (URL)',validateHSpace:'Horizontala Spaco devas esti nombro.',validateVSpace:'Vertikala Spaco devas esti nombro.'},spellCheck:{toolbar:'Kontroli la ortografion',title:'Kontroli la ortografion',notAvailable:'BedaÅ­rinde la servo ne funkcias nuntempe.',errorLoading:'Eraro en la servoelÅuto el la gastiga komputiko: %s.',notInDic:'Ne trovita en la vortaro',changeTo:'ÅœanÄi al',btnIgnore:'Ignori',btnIgnoreAll:'Ignori Ĉion',btnReplace:'AnstataÅ­igi',btnReplaceAll:'AnstataÅ­igi Ĉion',btnUndo:'Malfari',noSuggestions:'- Neniu propono -',progress:'La ortografio estas kontrolata...',noMispell:'Ortografikontrolado finita: neniu eraro trovita',noChanges:'Ortografikontrolado finita: neniu vorto korektita',oneChange:'Ortografikontrolado finita: unu vorto korektita',manyChanges:'Ortografikontrolado finita: %1 vortoj korektitaj',ieSpellDownload:'Ortografikontrolilo ne instalita. Ĉu vi volas elÅuti Äin nun?'},smiley:{toolbar:'Mienvinjeto',title:'Enmeti Mienvinjeton',options:'Opcioj pri mienvinjetoj'},elementsPath:{eleLabel:'Vojo al Elementoj',eleTitle:'%1 elementoj'},numberedlist:'Numera Listo',bulletedlist:'Bula Listo',indent:'Pligrandigi KrommarÄenon',outdent:'Malpligrandigi KrommarÄenon',justify:{left:'Äœisrandigi maldekstren',center:'Centrigi',right:'Äœisrandigi dekstren',block:'Äœisrandigi AmbaÅ­flanke'},blockquote:'Citaĵo',clipboard:{title:'Interglui',cutError:'La sekurecagordo de via TTT-legilo ne permesas, ke la redaktilo faras eltondajn operaciojn. Bonvolu uzi la klavaron por tio (Ctrl/Cmd-X).',copyError:'La sekurecagordo de via TTT-legilo ne permesas, ke la redaktilo faras kopiajn operaciojn. Bonvolu uzi la klavaron por tio (Ctrl/Cmd-C).',pasteMsg:'Bonvolu glui la tekston en la jenan areon per uzado de la klavaro (<strong>Ctrl/Cmd+V</strong>) kaj premu OK',securityMsg:'Pro la sekurecagordo de via TTT-legilo, la redaktilo ne povas rekte atingi viajn datenojn en la poÅo. Bonvolu denove interglui la datenojn en tiun fenestron.',pasteArea:'Intergluoareo'},pastefromword:{confirmCleanup:'La teksto, kiun vi volas interglui, Åajnas esti kopiita el Word. Ĉu vi deziras purigi Äin antaÅ­ intergluo?',toolbar:'Interglui el Word',title:'Interglui el Word',error:'Ne eblis purigi la intergluitajn datenojn pro interna eraro'},pasteText:{button:'Interglui kiel platan tekston',title:'Interglui kiel platan tekston'},templates:{button:'Åœablonoj',title:'Enhavo de Åablonoj',options:'Opcioj pri Åablonoj',insertOption:'AnstataÅ­igi la nunan enhavon',selectPromptMsg:'Bonvolu selekti la Åablonon por malfermi Äin en la redaktilo',emptyListMsg:'(Neniu Åablono difinita)'},showBlocks:'Montri la blokojn',stylesCombo:{label:'Stiloj',panelTitle:'Stiloj pri enpaÄigo',panelTitle1:'Stiloj de blokoj',panelTitle2:'Enliniaj Stiloj',panelTitle3:'Stiloj de objektoj'},format:{label:'Formato',panelTitle:'ParagrafFormato',tag_p:'Normala',tag_pre:'Formatita',tag_address:'Adreso',tag_h1:'Titolo 1',tag_h2:'Titolo 2',tag_h3:'Titolo 3',tag_h4:'Titolo 4',tag_h5:'Titolo 5',tag_h6:'Titolo 6',tag_div:'Normala (DIV)'},div:{title:'Krei DIV ujon',toolbar:'Krei DIV ujon',cssClassInputLabel:'Stilfolioklasoj',styleSelectLabel:'Stilo',IdInputLabel:'Id',languageCodeInputLabel:' Lingvokodo',inlineStyleInputLabel:'Enlinia stilo',advisoryTitleInputLabel:'Priskriba Titolo',langDirLabel:'Skribdirekto',langDirLTRLabel:'Maldekstre dekstren (angle LTR)',langDirRTLLabel:'Dekstre maldekstren (angle RTL)',edit:'Redakti Div',remove:'Forigi Div'},iframe:{title:'Atributoj de la enlinia kadro (IFrame)',toolbar:'Enlinia kadro (IFrame)',noUrl:'Bonvolu entajpi la retadreson de la ligilo al la enlinia kadro (IFrame)',scrolling:'Ebligi rulumskalon',border:'Montri borderon de kadro (frame)'},font:{label:'Tiparo',voiceLabel:'Tiparo',panelTitle:'Tipara nomo'},fontSize:{label:'Grado',voiceLabel:'Tipara grado',panelTitle:'Tipara grado'},colorButton:{textColorTitle:'Teksta Koloro',bgColorTitle:'Fona Koloro',panelTitle:'Koloroj',auto:'AÅ­tomata',more:'Pli da Koloroj...'},colors:{'000':'Nigra',800000:'KaÅtankolora','8B4513':'Mezbruna','2F4F4F':'Ardezgriza','008080':'Marĉanaskolora','000080':'Maristblua','4B0082':'Indigokolora',696969:'Malhelgriza',B22222:'BrikruÄa',A52A2A:'Bruna',DAA520:'Senbrilorkolora','006400':'Malhelverda','40E0D0':'Turkisblua','0000CD':'ReÄblua',800080:'Purpura',808080:'Griza',F00:'RuÄa',FF8C00:'MalheloranÄkolora',FFD700:'Orkolora','008000':'Verda','0FF':'Verdblua','00F':'Blua',EE82EE:'Viola',A9A9A9:'Mezgriza',FFA07A:'Salmokolora',FFA500:'OranÄkolora',FFFF00:'Flava','00FF00':'Limetkolora',AFEEEE:'Helturkiskolora',ADD8E6:'Helblua',DDA0DD:'Prunkolora',D3D3D3:'Helgriza',FFF0F5:'Lavendkolora vangoÅminko',FAEBD7:'Antikvablanka',FFFFE0:'Helflava',F0FFF0:'Vintromelonkolora',F0FFFF:'Lazura',F0F8FF:'Aliceblua',E6E6FA:'Lavendkolora',FFF:'Blanka'},scayt:{title:'OrtografiKontrolado Dum Vi Tajpas (OKDVT)',opera_title:'Ne subportata de Opera',enable:'Ebligi OKDVT',disable:'Malebligi OKDVT',about:'Pri OKDVT',toggle:'Baskuligi OKDVT',options:'Opcioj',langs:'Lingvoj',moreSuggestions:'Pli da sugestoj',ignore:'Ignori',ignoreAll:'Ignori ĉion',addWord:'Almeti la vorton',emptyDic:'La vortaronomo ne devus esti malplena.',noSuggestions:'No suggestions',optionsTab:'Opcioj',allCaps:'Ignori la vortojn skribitajn nur per ĉefliteroj',ignoreDomainNames:'Ignori domajnajn nomojn',mixedCase:'Ignori vortojn kun miksa uskleco',mixedWithDigits:'Ignori vortojn kun nombroj',languagesTab:'Lingvoj',dictionariesTab:'Vortaroj',dic_field_name:'Vortaronomo',dic_create:'Krei',dic_restore:'RestaÅ­ri',dic_delete:'Forigi',dic_rename:'Renomi',dic_info:'Komence la vortaro de la uzanto estas konservita en kuketo. Tamen la kuketgrando estas limigita. Kiam la vortaro de la uzanto atingas grandon, kiu ne plu ebligas konservi Äin en kuketo, tiam la vortaro povas esti konservata en niaj serviloj. Por konservi vian personan vortaron en nian servilon, vi devas indiki nomon por tiu vortaro. Se vi jam havas konservitan vortaron, bonvolu entajpi ties nomon kaj alklaki la restaÅ­rbutonon.',aboutTab:'Pri'},about:{title:'Pri CKEditor',dlgTitle:'Pri CKEditor',help:'Kontroli $1 por helpo.',userGuide:'CKEditor Uzindikoj',moreInfo:'Por informoj pri licenco, bonvolu viziti nian retpaÄaron:',copy:'Copyright &copy; $1. Ĉiuj rajtoj rezervitaj.'},maximize:'Pligrandigi',minimize:'Malgrandigi',fakeobjects:{anchor:'Ankro',flash:'FlaÅAnimacio',iframe:'Enlinia Kadro (IFrame)',hiddenfield:'KaÅita kampo',unknown:'Nekonata objekto'},resize:'Movigi por ÅanÄi la grandon',colordialog:{title:'Selekti koloron',options:'Opcioj pri koloroj',highlight:'Detaloj',selected:'Selektita koloro',clear:'Forigi'},toolbarCollapse:'Faldi la ilbreton',toolbarExpand:'Malfaldi la ilbreton',toolbarGroups:{document:'Dokumento',clipboard:'PoÅo/Malfari',editing:'Redaktado',forms:'Formularoj',basicstyles:'Bazaj stiloj',paragraph:'Paragrafo',links:'Ligiloj',insert:'Enmeti',styles:'Stiloj',colors:'Koloroj',tools:'Iloj'},bidi:{ltr:'Tekstdirekto de maldekstre dekstren',rtl:'Tekstdirekto de dekstre maldekstren'},docprops:{label:'Dokumentaj Atributoj',title:'Dokumentaj Atributoj',design:'Dizajno',meta:'Metadatenoj',chooseColor:'Elektu',other:'<alia>',docTitle:'PaÄotitolo',charset:'Signara Kodo',charsetOther:'Alia Signara Kodo',charsetASCII:'ASCII',charsetCE:'Centra EÅ­ropa',charsetCT:'Tradicia Ĉina (Big5)',charsetCR:'Cirila',charsetGR:'Greka',charsetJP:'Japana',charsetKR:'Korea',charsetTR:'Turka',charsetUN:'Unikodo (UTF-8)',charsetWE:'Okcidenta EÅ­ropa',docType:'Dokumenta Tipo',docTypeOther:'Alia Dokumenta Tipo',xhtmlDec:'Inkluzivi XHTML Deklarojn',bgColor:'Fona Koloro',bgImage:'URL de Fona Bildo',bgFixed:'Neruluma Fono',txtColor:'Teksta Koloro',margin:'PaÄaj MarÄenoj',marginTop:'Supra',marginLeft:'Maldekstra',marginRight:'Dekstra',marginBottom:'Malsupra',metaKeywords:'Åœlosilvortoj de la Dokumento (apartigitaj de komoj)',metaDescription:'Dokumenta Priskribo',metaAuthor:'Verkinto',metaCopyright:'Kopirajto',previewHtml:'<p>Tio estas <strong>sampla teksto</strong>. Vi estas uzanta <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/es.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/es.js
deleted file mode 100644
index 83fa255..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/es.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.es={dir:'ltr',editorTitle:'Editor de texto, %1',editorHelp:'Pulse ALT 0 para ayuda',toolbars:'Barras de herramientas del editor',editor:'Editor de texto enriquecido',source:'Fuente HTML',newPage:'Nueva Página',save:'Guardar',preview:'Vista Previa',cut:'Cortar',copy:'Copiar',paste:'Pegar',print:'Imprimir',underline:'Subrayado',bold:'Negrita',italic:'Cursiva',selectAll:'Seleccionar Todo',removeFormat:'Eliminar Formato',strike:'Tachado',subscript:'Subíndice',superscript:'Superíndice',horizontalrule:'Insertar Línea Horizontal',pagebreak:'Insertar Salto de Página',pagebreakAlt:'Salto de página',unlink:'Eliminar Vínculo',undo:'Deshacer',redo:'Rehacer',common:{browseServer:'Ver Servidor',url:'URL',protocol:'Protocolo',upload:'Cargar',uploadSubmit:'Enviar al Servidor',image:'Imagen',flash:'Flash',form:'Formulario',checkbox:'Casilla de Verificación',radio:'Botones de Radio',textField:'Campo de Texto',textarea:'Area de Texto',hiddenField:'Campo Oculto',button:'Botón',select:'Campo de Selección',imageButton:'Botón Imagen',notSet:'<No definido>',id:'Id',name:'Nombre',langDir:'Orientación',langDirLtr:'Izquierda a Derecha (LTR)',langDirRtl:'Derecha a Izquierda (RTL)',langCode:'Cód. de idioma',longDescr:'Descripción larga URL',cssClass:'Clases de hojas de estilo',advisoryTitle:'Título',cssStyle:'Estilo',ok:'Aceptar',cancel:'Cancelar',close:'Cerrar',preview:'Previsualización',generalTab:'General',advancedTab:'Avanzado',validateNumberFailed:'El valor no es un número.',confirmNewPage:'Cualquier cambio que no se haya guardado se perderá.\r\n¿Está seguro de querer crear una nueva página?',confirmCancel:'Algunas de las opciones se han cambiado.\r\n¿Está seguro de querer cerrar el diálogo?',options:'Opciones',target:'Destino',targetNew:'Nueva ventana (_blank)',targetTop:'Ventana principal (_top)',targetSelf:'Misma ventana (_self)',targetParent:'Ventana padre (_parent)',langDirLTR:'Izquierda a derecha (LTR)',langDirRTL:'Derecha a izquierda (RTL)',styles:'Estilos',cssClasses:'Clase de la hoja de estilos',width:'Anchura',height:'Altura',align:'Alineación',alignLeft:'Izquierda',alignRight:'Derecha',alignCenter:'Centrado',alignTop:'Tope',alignMiddle:'Centro',alignBottom:'Pie',invalidValue:'Invalid value.',invalidHeight:'Altura debe ser un número.',invalidWidth:'Anchura debe ser un número.',invalidCssLength:'El valor especificado para el campo "%1" debe ser un número positivo, incluyendo optionalmente una unidad de medida CSS válida (px, %, in, cm, mm, em, ex, pt, o pc).',invalidHtmlLength:'El valor especificado para el campo "%1" debe ser un número positivo, incluyendo optionalmente una unidad de medida HTML válida (px o %).',invalidInlineStyle:'El valor especificado para el estilo debe consistir en uno o más pares con el formato "nombre: valor", separados por punto y coma.',cssLengthTooltip:'Introduca un número para el valor en pixels o un número con una unidad de medida CSS válida (px, %, in, cm, mm, em, ex, pt, o pc).',unavailable:'%1<span class="cke_accessibility">, no disponible</span>'},contextmenu:{options:'Opciones del menú contextual'},specialChar:{toolbar:'Insertar Caracter Especial',title:'Seleccione un caracter especial',options:'Opciones de caracteres especiales'},link:{toolbar:'Insertar/Editar Vínculo',other:'<otro>',menu:'Editar Vínculo',title:'Vínculo',info:'Información de Vínculo',target:'Destino',upload:'Cargar',advanced:'Avanzado',type:'Tipo de vínculo',toUrl:'URL',toAnchor:'Referencia en esta página',toEmail:'E-Mail',targetFrame:'<marco>',targetPopup:'<ventana emergente>',targetFrameName:'Nombre del Marco Destino',targetPopupName:'Nombre de Ventana Emergente',popupFeatures:'Características de Ventana Emergente',popupResizable:'Redimensionable',popupStatusBar:'Barra de Estado',popupLocationBar:'Barra de ubicación',popupToolbar:'Barra de Herramientas',popupMenuBar:'Barra de Menú',popupFullScreen:'Pantalla Completa (IE)',popupScrollBars:'Barras de desplazamiento',popupDependent:'Dependiente (Netscape)',popupLeft:'Posición Izquierda',popupTop:'Posición Derecha',id:'Id',langDir:'Orientación',langDirLTR:'Izquierda a Derecha (LTR)',langDirRTL:'Derecha a Izquierda (RTL)',acccessKey:'Tecla de Acceso',name:'Nombre',langCode:'Código idioma',tabIndex:'Indice de tabulación',advisoryTitle:'Título',advisoryContentType:'Tipo de Contenido',cssClasses:'Clases de hojas de estilo',charset:'Fuente de caracteres vinculado',styles:'Estilo',rel:'Relación',selectAnchor:'Seleccionar una referencia',anchorName:'Por Nombre de Referencia',anchorId:'Por ID de elemento',emailAddress:'Dirección de E-Mail',emailSubject:'Título del Mensaje',emailBody:'Cuerpo del Mensaje',noAnchors:'(No hay referencias disponibles en el documento)',noUrl:'Por favor escriba el vínculo URL',noEmail:'Por favor escriba la dirección de e-mail'},anchor:{toolbar:'Referencia',menu:'Propiedades de Referencia',title:'Propiedades de Referencia',name:'Nombre de la Referencia',errorName:'Por favor, complete el nombre de la Referencia',remove:'Quitar Referencia'},list:{numberedTitle:'Propiedades de lista numerada',bulletedTitle:'Propiedades de viñetas',type:'Tipo',start:'Inicio',validateStartNumber:'El Inicio debe ser un número entero.',circle:'Círculo',disc:'Disco',square:'Cuadrado',none:'Ninguno',notset:'<sin establecer>',armenian:'Numeración armenia',georgian:'Numeración georgiana (an, ban, gan, etc.)',lowerRoman:'Números romanos en minúsculas (i, ii, iii, iv, v, etc.)',upperRoman:'Números romanos en mayúsculas (I, II, III, IV, V, etc.)',lowerAlpha:'Alfabeto en minúsculas (a, b, c, d, e, etc.)',upperAlpha:'Alfabeto en mayúsculas (A, B, C, D, E, etc.)',lowerGreek:'Letras griegas (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal con cero inicial (01, 02, 03, etc.)'},findAndReplace:{title:'Buscar y Reemplazar',find:'Buscar',replace:'Reemplazar',findWhat:'Texto a buscar:',replaceWith:'Reemplazar con:',notFoundMsg:'El texto especificado no ha sido encontrado.',findOptions:'Opciones de búsqueda',matchCase:'Coincidir may/min',matchWord:'Coincidir toda la palabra',matchCyclic:'Buscar en todo el contenido',replaceAll:'Reemplazar Todo',replaceSuccessMsg:'La expresión buscada ha sido reemplazada %1 veces.'},table:{toolbar:'Tabla',title:'Propiedades de Tabla',menu:'Propiedades de Tabla',deleteTable:'Eliminar Tabla',rows:'Filas',columns:'Columnas',border:'Tamaño de Borde',widthPx:'pixeles',widthPc:'porcentaje',widthUnit:'unidad de la anchura',cellSpace:'Esp. e/celdas',cellPad:'Esp. interior',caption:'Título',summary:'Síntesis',headers:'Encabezados',headersNone:'Ninguno',headersColumn:'Primera columna',headersRow:'Primera fila',headersBoth:'Ambas',invalidRows:'El número de filas debe ser un número mayor que 0.',invalidCols:'El número de columnas debe ser un número mayor que 0.',invalidBorder:'El tamaño del borde debe ser un número.',invalidWidth:'La anchura de tabla debe ser un número.',invalidHeight:'La altura de tabla debe ser un número.',invalidCellSpacing:'El espaciado entre celdas debe ser un número.',invalidCellPadding:'El espaciado interior debe ser un número.',cell:{menu:'Celda',insertBefore:'Insertar celda a la izquierda',insertAfter:'Insertar celda a la derecha',deleteCell:'Eliminar Celdas',merge:'Combinar Celdas',mergeRight:'Combinar a la derecha',mergeDown:'Combinar hacia abajo',splitHorizontal:'Dividir la celda horizontalmente',splitVertical:'Dividir la celda verticalmente',title:'Propiedades de celda',cellType:'Tipo de Celda',rowSpan:'Expandir filas',colSpan:'Expandir columnas',wordWrap:'Ajustar al contenido',hAlign:'Alineación Horizontal',vAlign:'Alineación Vertical',alignBaseline:'Linea de base',bgColor:'Color de fondo',borderColor:'Color de borde',data:'Datos',header:'Encabezado',yes:'Sí',no:'No',invalidWidth:'La anchura de celda debe ser un número.',invalidHeight:'La altura de celda debe ser un número.',invalidRowSpan:'La expansión de filas debe ser un número entero.',invalidColSpan:'La expansión de columnas debe ser un número entero.',chooseColor:'Elegir'},row:{menu:'Fila',insertBefore:'Insertar fila en la parte superior',insertAfter:'Insertar fila en la parte inferior',deleteRow:'Eliminar Filas'},column:{menu:'Columna',insertBefore:'Insertar columna a la izquierda',insertAfter:'Insertar columna a la derecha',deleteColumn:'Eliminar Columnas'}},button:{title:'Propiedades de Botón',text:'Texto (Valor)',type:'Tipo',typeBtn:'Boton',typeSbm:'Enviar',typeRst:'Reestablecer'},checkboxAndRadio:{checkboxTitle:'Propiedades de Casilla',radioTitle:'Propiedades de Botón de Radio',value:'Valor',selected:'Seleccionado'},form:{title:'Propiedades de Formulario',menu:'Propiedades de Formulario',action:'Acción',method:'Método',encoding:'Codificación'},select:{title:'Propiedades de Campo de Selección',selectInfo:'Información',opAvail:'Opciones disponibles',value:'Valor',size:'Tamaño',lines:'Lineas',chkMulti:'Permitir múltiple selección',opText:'Texto',opValue:'Valor',btnAdd:'Agregar',btnModify:'Modificar',btnUp:'Subir',btnDown:'Bajar',btnSetValue:'Establecer como predeterminado',btnDelete:'Eliminar'},textarea:{title:'Propiedades de Area de Texto',cols:'Columnas',rows:'Filas'},textfield:{title:'Propiedades de Campo de Texto',name:'Nombre',value:'Valor',charWidth:'Caracteres de ancho',maxChars:'Máximo caracteres',type:'Tipo',typeText:'Texto',typePass:'Contraseña'},hidden:{title:'Propiedades de Campo Oculto',name:'Nombre',value:'Valor'},image:{title:'Propiedades de Imagen',titleButton:'Propiedades de Botón de Imagen',menu:'Propiedades de Imagen',infoTab:'Información de Imagen',btnUpload:'Enviar al Servidor',upload:'Cargar',alt:'Texto Alternativo',lockRatio:'Proporcional',resetSize:'Tamaño Original',border:'Borde',hSpace:'Esp.Horiz',vSpace:'Esp.Vert',alertUrl:'Por favor escriba la URL de la imagen',linkTab:'Vínculo',button2Img:'¿Desea convertir el botón de imagen en una simple imagen?',img2Button:'¿Desea convertir la imagen en un botón de imagen?',urlMissing:'Debe indicar la URL de la imagen.',validateBorder:'El borde debe ser un número.',validateHSpace:'El espaciado horizontal debe ser un número.',validateVSpace:'El espaciado vertical debe ser un número.'},flash:{properties:'Propiedades de Flash',propertiesTab:'Propiedades',title:'Propiedades de Flash',chkPlay:'Autoejecución',chkLoop:'Repetir',chkMenu:'Activar Menú Flash',chkFull:'Permitir pantalla completa',scale:'Escala',scaleAll:'Mostrar todo',scaleNoBorder:'Sin Borde',scaleFit:'Ajustado',access:'Acceso de scripts',accessAlways:'Siempre',accessSameDomain:'Mismo dominio',accessNever:'Nunca',alignAbsBottom:'Abs inferior',alignAbsMiddle:'Abs centro',alignBaseline:'Línea de base',alignTextTop:'Tope del texto',quality:'Calidad',qualityBest:'La mejor',qualityHigh:'Alta',qualityAutoHigh:'Auto Alta',qualityMedium:'Media',qualityAutoLow:'Auto Baja',qualityLow:'Baja',windowModeWindow:'Ventana',windowModeOpaque:'Opaco',windowModeTransparent:'Transparente',windowMode:'WindowMode',flashvars:'Opciones',bgcolor:'Color de Fondo',hSpace:'Esp.Horiz',vSpace:'Esp.Vert',validateSrc:'Por favor escriba el vínculo URL',validateHSpace:'Esp.Horiz debe ser un número.',validateVSpace:'Esp.Vert debe ser un número.'},spellCheck:{toolbar:'Ortografía',title:'Comprobar ortografía',notAvailable:'Lo sentimos pero el servicio no está disponible.',errorLoading:'Error cargando la aplicación del servidor: %s.',notInDic:'No se encuentra en el Diccionario',changeTo:'Cambiar a',btnIgnore:'Ignorar',btnIgnoreAll:'Ignorar Todo',btnReplace:'Reemplazar',btnReplaceAll:'Reemplazar Todo',btnUndo:'Deshacer',noSuggestions:'- No hay sugerencias -',progress:'Control de Ortografía en progreso...',noMispell:'Control finalizado: no se encontraron errores',noChanges:'Control finalizado: no se ha cambiado ninguna palabra',oneChange:'Control finalizado: se ha cambiado una palabra',manyChanges:'Control finalizado: se ha cambiado %1 palabras',ieSpellDownload:'Módulo de Control de Ortografía no instalado.\r\n¿Desea descargarlo ahora?'},smiley:{toolbar:'Emoticonos',title:'Insertar un Emoticon',options:'Opciones de emoticonos'},elementsPath:{eleLabel:'Ruta de los elementos',eleTitle:'%1 elemento'},numberedlist:'Numeración',bulletedlist:'Viñetas',indent:'Aumentar Sangría',outdent:'Disminuir Sangría',justify:{left:'Alinear a Izquierda',center:'Centrar',right:'Alinear a Derecha',block:'Justificado'},blockquote:'Cita',clipboard:{title:'Pegar',cutError:'La configuración de seguridad de este navegador no permite la ejecución automática de operaciones de cortado.\r\nPor favor use el teclado (Ctrl/Cmd+X).',copyError:'La configuración de seguridad de este navegador no permite la ejecución automática de operaciones de copiado.\r\nPor favor use el teclado (Ctrl/Cmd+C).',pasteMsg:'Por favor pegue dentro del cuadro utilizando el teclado (<STRONG>Ctrl/Cmd+V</STRONG>);\r\nluego presione <STRONG>Aceptar</STRONG>.',securityMsg:'Debido a la configuración de seguridad de su navegador, el editor no tiene acceso al portapapeles.\r\nEs necesario que lo pegue de nuevo en esta ventana.',pasteArea:'Zona de pegado'},pastefromword:{confirmCleanup:'El texto que desea parece provenir de Word.\r\n¿Desea depurarlo antes de pegarlo?',toolbar:'Pegar desde Word',title:'Pegar desde Word',error:'No ha sido posible limpiar los datos debido a un error interno'},pasteText:{button:'Pegar como Texto Plano',title:'Pegar como Texto Plano'},templates:{button:'Plantillas',title:'Contenido de Plantillas',options:'Opciones de plantillas',insertOption:'Reemplazar el contenido actual',selectPromptMsg:'Por favor selecciona la plantilla a abrir en el editor<br>(el contenido actual se perderá):',emptyListMsg:'(No hay plantillas definidas)'},showBlocks:'Mostrar bloques',stylesCombo:{label:'Estilo',panelTitle:'Estilos para formatear',panelTitle1:'Estilos de párrafo',panelTitle2:'Estilos de carácter',panelTitle3:'Estilos de objeto'},format:{label:'Formato',panelTitle:'Formato',tag_p:'Normal',tag_pre:'Con formato',tag_address:'Dirección',tag_h1:'Encabezado 1',tag_h2:'Encabezado 2',tag_h3:'Encabezado 3',tag_h4:'Encabezado 4',tag_h5:'Encabezado 5',tag_h6:'Encabezado 6',tag_div:'Normal (DIV)'},div:{title:'Crear contenedor DIV',toolbar:'Crear contenedor DIV',cssClassInputLabel:'Clase de hoja de estilos',styleSelectLabel:'Estilo',IdInputLabel:'Id',languageCodeInputLabel:' Codigo de idioma',inlineStyleInputLabel:'Estilo',advisoryTitleInputLabel:'Título',langDirLabel:'Orientación',langDirLTRLabel:'Izquierda a Derecha (LTR)',langDirRTLLabel:'Derecha a Izquierda (RTL)',edit:'Editar Div',remove:'Quitar Div'},iframe:{title:'Propiedades de iframe',toolbar:'IFrame',noUrl:'Por favor, escriba la dirección del iframe',scrolling:'Activar barras de desplazamiento',border:'Mostrar borde del marco'},font:{label:'Fuente',voiceLabel:'Fuente',panelTitle:'Fuente'},fontSize:{label:'Tamaño',voiceLabel:'Tamaño de fuente',panelTitle:'Tamaño'},colorButton:{textColorTitle:'Color de Texto',bgColorTitle:'Color de Fondo',panelTitle:'Colores',auto:'Automático',more:'Más Colores...'},colors:{'000':'Negro',800000:'Marrón oscuro','8B4513':'Marrón tierra','2F4F4F':'Pizarra Oscuro','008080':'Azul verdoso','000080':'Azul marino','4B0082':'Añil',696969:'Gris oscuro',B22222:'Ladrillo',A52A2A:'Marrón',DAA520:'Oro oscuro','006400':'Verde oscuro','40E0D0':'Turquesa','0000CD':'Azul medio-oscuro',800080:'Púrpura',808080:'Gris',F00:'Rojo',FF8C00:'Naranja oscuro',FFD700:'Oro','008000':'Verde','0FF':'Cian','00F':'Azul',EE82EE:'Violeta',A9A9A9:'Gris medio',FFA07A:'Salmón claro',FFA500:'Naranja',FFFF00:'Amarillo','00FF00':'Lima',AFEEEE:'Turquesa claro',ADD8E6:'Azul claro',DDA0DD:'Violeta claro',D3D3D3:'Gris claro',FFF0F5:'Lavanda rojizo',FAEBD7:'Blanco antiguo',FFFFE0:'Amarillo claro',F0FFF0:'Miel',F0FFFF:'Azul celeste',F0F8FF:'Azul pálido',E6E6FA:'Lavanda',FFF:'Blanco'},scayt:{title:'Comprobar Ortografía Mientras Escribe',opera_title:'No soportado en Opera',enable:'Activar Corrector',disable:'Desactivar Corrector',about:'Acerca de Corrector',toggle:'Cambiar Corrector',options:'Opciones',langs:'Idiomas',moreSuggestions:'Más sugerencias',ignore:'Ignorar',ignoreAll:'Ignorar Todas',addWord:'Añadir palabra',emptyDic:'El nombre del diccionario no puede estar en blanco.',noSuggestions:'No hay sugerencias',optionsTab:'Opciones',allCaps:'Omitir palabras en MAYÚSCULAS',ignoreDomainNames:'Omitir nombres de dominio',mixedCase:'Ignorar palabras con combinación de mayúsculas y minúsculas',mixedWithDigits:'Omitir palabras con números',languagesTab:'Idiomas',dictionariesTab:'Diccionarios',dic_field_name:'Nombre del diccionario',dic_create:'Crear',dic_restore:'Recuperar',dic_delete:'Borrar',dic_rename:'Renombrar',dic_info:'Inicialmente el Diccionario de usuario se guarda en una Cookie. Sin embargo, las cookies están limitadas en tamaño. Cuando el diccionario crece a un punto en el que no se puede guardar en una Cookie, el diccionario puede ser almacenado en nuestro servidor. Para almacenar su diccionario personalizado en nuestro servidor debe especificar un nombre para su diccionario. Si ya ha guardado un diccionaro, por favor, escriba su nombre y pulse el botón Recuperar',aboutTab:'Acerca de'},about:{title:'Acerca de CKEditor',dlgTitle:'Acerca de CKEditor',help:'Lea la $1 para resolver sus dudas.',userGuide:'Guía de usuario de CKEditor',moreInfo:'Para información de licencia, por favor visite nuestro sitio web:',copy:'Copyright &copy; $1. Todos los derechos reservados.'},maximize:'Maximizar',minimize:'Minimizar',fakeobjects:{anchor:'Ancla',flash:'Animación flash',iframe:'IFrame',hiddenfield:'Campo oculto',unknown:'Objeto desconocido'},resize:'Arrastre para redimensionar',colordialog:{title:'Elegir color',options:'Opciones de colores',highlight:'Muestra',selected:'Elegido',clear:'Borrar'},toolbarCollapse:'Contraer barra de herramientas',toolbarExpand:'Expandir barra de herramientas',toolbarGroups:{document:'Documento',clipboard:'Portapapeles/Deshacer',editing:'Edición',forms:'Formularios',basicstyles:'Estilos básicos',paragraph:'Párrafo',links:'Enlaces',insert:'Insertar',styles:'Estilos',colors:'Colores',tools:'Herramientas'},bidi:{ltr:'Dirección del texto de izquierda a derecha',rtl:'Dirección del texto de derecha a izquierda'},docprops:{label:'Propiedades del documento',title:'Propiedades del documento',design:'Diseño',meta:'Meta Tags',chooseColor:'Elegir',other:'Otro...',docTitle:'Título de página',charset:'Codificación de caracteres',charsetOther:'Otra codificación de caracteres',charsetASCII:'ASCII',charsetCE:'Centro Europeo',charsetCT:'Chino Tradicional (Big5)',charsetCR:'Ruso',charsetGR:'Griego',charsetJP:'Japonés',charsetKR:'Koreano',charsetTR:'Turco',charsetUN:'Unicode (UTF-8)',charsetWE:'Europeo occidental',docType:'Tipo de documento',docTypeOther:'Otro tipo de documento',xhtmlDec:'Incluir declaración XHTML',bgColor:'Color de fondo',bgImage:'Imagen de fondo',bgFixed:'Fondo fijo (no se desplaza)',txtColor:'Color del texto',margin:'Márgenes',marginTop:'Superior',marginLeft:'Izquierdo',marginRight:'Derecho',marginBottom:'Inferior',metaKeywords:'Palabras claves del documento separadas por coma (meta keywords)',metaDescription:'Descripción del documento',metaAuthor:'Autor',metaCopyright:'Copyright',previewHtml:'<p>Este es un <strong>texto de ejemplo</strong>. Usted está usando <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/et.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/et.js
deleted file mode 100644
index 66a2b84..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/et.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.et={dir:'ltr',editorTitle:'Vormindatud teksti redaktor %1',editorHelp:'Abi saamiseks vajuta ALT 0',toolbars:'Redaktori tööriistaribad',editor:'Rikkalik tekstiredaktor',source:'Lähtekood',newPage:'Uus leht',save:'Salvestamine',preview:'Eelvaade',cut:'Lõika',copy:'Kopeeri',paste:'Aseta',print:'Printimine',underline:'Allajoonitud',bold:'Paks',italic:'Kursiiv',selectAll:'Kõige valimine',removeFormat:'Vormingu eemaldamine',strike:'Läbijoonitud',subscript:'Allindeks',superscript:'Ülaindeks',horizontalrule:'Horisontaaljoone sisestamine',pagebreak:'Lehevahetuskoha sisestamine',pagebreakAlt:'Lehevahetuskoht',unlink:'Lingi eemaldamine',undo:'Tagasivõtmine',redo:'Toimingu kordamine',common:{browseServer:'Serveri sirvimine',url:'URL',protocol:'Protokoll',upload:'Laadi üles',uploadSubmit:'Saada serverisse',image:'Pilt',flash:'Flash',form:'Vorm',checkbox:'Märkeruut',radio:'Raadionupp',textField:'Tekstilahter',textarea:'Tekstiala',hiddenField:'Varjatud lahter',button:'Nupp',select:'Valiklahter',imageButton:'Piltnupp',notSet:'<määramata>',id:'ID',name:'Nimi',langDir:'Keele suund',langDirLtr:'Vasakult paremale (LTR)',langDirRtl:'Paremalt vasakule (RTL)',langCode:'Keele kood',longDescr:'Pikk kirjeldus URL',cssClass:'Stiilistiku klassid',advisoryTitle:'Soovituslik pealkiri',cssStyle:'Laad',ok:'OK',cancel:'Loobu',close:'Sulge',preview:'Eelvaade',generalTab:'Üldine',advancedTab:'Täpsemalt',validateNumberFailed:'See väärtus pole number.',confirmNewPage:'Kõik salvestamata muudatused lähevad kaotsi. Kas oled kindel, et tahad laadida uue lehe?',confirmCancel:'Mõned valikud on muudetud. Kas oled kindel, et tahad dialoogi sulgeda?',options:'Valikud',target:'Sihtkoht',targetNew:'Uus aken (_blank)',targetTop:'Kõige ülemine aken (_top)',targetSelf:'Sama aken (_self)',targetParent:'Vanemaken (_parent)',langDirLTR:'Vasakult paremale (LTR)',langDirRTL:'Paremalt vasakule (RTL)',styles:'Stiili',cssClasses:'Stiililehe klassid',width:'Laius',height:'Kõrgus',align:'Joondus',alignLeft:'Vasak',alignRight:'Paremale',alignCenter:'Kesk',alignTop:'Üles',alignMiddle:'Keskele',alignBottom:'Alla',invalidValue:'Invalid value.',invalidHeight:'Kõrgus peab olema number.',invalidWidth:'Laius peab olema number.',invalidCssLength:'"%1" välja jaoks määratud väärtus peab olema positiivne täisarv CSS ühikuga (px, %, in, cm, mm, em, ex, pt või pc) või ilma.',invalidHtmlLength:'"%1" välja jaoks määratud väärtus peab olema positiivne täisarv HTML ühikuga (px või %) või ilma.',invalidInlineStyle:'Reasisese stiili määrangud peavad koosnema paarisväärtustest (tuples), mis on semikoolonitega eraldatult järgnevas vormingus: "nimi : väärtus".',cssLengthTooltip:'Sisesta väärtus pikslites või number koos sobiva CSS-i ühikuga (px, %, in, cm, mm, em, ex, pt või pc).',unavailable:'%1<span class="cke_accessibility">, pole saadaval</span>'},contextmenu:{options:'Kontekstimenüü valikud'},specialChar:{toolbar:'Erimärgi sisestamine',title:'Erimärgi valimine',options:'Erimärkide valikud'},link:{toolbar:'Lingi lisamine/muutmine',other:'<muu>',menu:'Muuda linki',title:'Link',info:'Lingi info',target:'Sihtkoht',upload:'Lae üles',advanced:'Täpsemalt',type:'Lingi liik',toUrl:'URL',toAnchor:'Ankur sellel lehel',toEmail:'E-post',targetFrame:'<raam>',targetPopup:'<hüpikaken>',targetFrameName:'Sihtmärk raami nimi',targetPopupName:'Hüpikakna nimi',popupFeatures:'Hüpikakna omadused',popupResizable:'Suurust saab muuta',popupStatusBar:'Olekuriba',popupLocationBar:'Aadressiriba',popupToolbar:'Tööriistariba',popupMenuBar:'Menüüriba',popupFullScreen:'Täisekraan (IE)',popupScrollBars:'Kerimisribad',popupDependent:'Sõltuv (Netscape)',popupLeft:'Vasak asukoht',popupTop:'Ülemine asukoht',id:'ID',langDir:'Keele suund',langDirLTR:'Vasakult paremale (LTR)',langDirRTL:'Paremalt vasakule (RTL)',acccessKey:'Juurdepääsu võti',name:'Nimi',langCode:'Keele suund',tabIndex:'Tab indeks',advisoryTitle:'Juhendav tiitel',advisoryContentType:'Juhendava sisu tüüp',cssClasses:'Stiilistiku klassid',charset:'Lingitud ressursi märgistik',styles:'Laad',rel:'Suhe',selectAnchor:'Vali ankur',anchorName:'Ankru nime järgi',anchorId:'Elemendi id järgi',emailAddress:'E-posti aadress',emailSubject:'Sõnumi teema',emailBody:'Sõnumi tekst',noAnchors:'(Selles dokumendis pole ankruid)',noUrl:'Palun kirjuta lingi URL',noEmail:'Palun kirjuta e-posti aadress'},anchor:{toolbar:'Ankru sisestamine/muutmine',menu:'Ankru omadused',title:'Ankru omadused',name:'Ankru nimi',errorName:'Palun sisesta ankru nimi',remove:'Eemalda ankur'},list:{numberedTitle:'Numberloendi omadused',bulletedTitle:'Punktloendi omadused',type:'Liik',start:'Algus',validateStartNumber:'Loendi algusnumber peab olema täisarv.',circle:'Ring',disc:'Täpp',square:'Ruut',none:'Puudub',notset:'<pole määratud>',armenian:'Armeenia numbrid',georgian:'Gruusia numbrid (an, ban, gan, jne)',lowerRoman:'Väiksed rooma numbrid (i, ii, iii, iv, v, jne)',upperRoman:'Suured rooma numbrid (I, II, III, IV, V, jne)',lowerAlpha:'Väiketähed (a, b, c, d, e, jne)',upperAlpha:'Suurtähed (A, B, C, D, E, jne)',lowerGreek:'Kreeka väiketähed (alpha, beta, gamma, jne)',decimal:'Numbrid (1, 2, 3, jne)',decimalLeadingZero:'Numbrid algusnulliga (01, 02, 03, jne)'},findAndReplace:{title:'Otsimine ja asendamine',find:'Otsi',replace:'Asenda',findWhat:'Otsitav:',replaceWith:'Asendus:',notFoundMsg:'Otsitud teksti ei leitud.',findOptions:'Otsingu valikud',matchCase:'Suur- ja väiketähtede eristamine',matchWord:'Ainult terved sõnad',matchCyclic:'Jätkatakse algusest',replaceAll:'Asenda kõik',replaceSuccessMsg:'%1 vastet asendati.'},table:{toolbar:'Tabel',title:'Tabeli omadused',menu:'Tabeli omadused',deleteTable:'Kustuta tabel',rows:'Read',columns:'Veerud',border:'Joone suurus',widthPx:'pikslit',widthPc:'protsenti',widthUnit:'laiuse ühik',cellSpace:'Lahtri vahe',cellPad:'Lahtri täidis',caption:'Tabeli tiitel',summary:'Kokkuvõte',headers:'Päised',headersNone:'Puudub',headersColumn:'Esimene tulp',headersRow:'Esimene rida',headersBoth:'Mõlemad',invalidRows:'Ridade arv peab olema nullist suurem.',invalidCols:'Tulpade arv peab olema nullist suurem.',invalidBorder:'Äärise suurus peab olema number.',invalidWidth:'Tabeli laius peab olema number.',invalidHeight:'Tabeli kõrgus peab olema number.',invalidCellSpacing:'Lahtrite vahe peab olema positiivne arv.',invalidCellPadding:'Lahtrite polsterdus (padding) peab olema positiivne arv.',cell:{menu:'Lahter',insertBefore:'Sisesta lahter enne',insertAfter:'Sisesta lahter peale',deleteCell:'Eemalda lahtrid',merge:'Ühenda lahtrid',mergeRight:'Ühenda paremale',mergeDown:'Ühenda alla',splitHorizontal:'Poolita lahter horisontaalselt',splitVertical:'Poolita lahter vertikaalselt',title:'Lahtri omadused',cellType:'Lahtri liik',rowSpan:'Ridade vahe',colSpan:'Tulpade vahe',wordWrap:'Sõnade murdmine',hAlign:'Horisontaalne joondus',vAlign:'Vertikaalne joondus',alignBaseline:'Baasjoon',bgColor:'Tausta värv',borderColor:'Äärise värv',data:'Andmed',header:'Päis',yes:'Jah',no:'Ei',invalidWidth:'Lahtri laius peab olema number.',invalidHeight:'Lahtri kõrgus peab olema number.',invalidRowSpan:'Ridade vahe peab olema täisarv.',invalidColSpan:'Tulpade vahe peab olema täisarv.',chooseColor:'Vali'},row:{menu:'Rida',insertBefore:'Sisesta rida enne',insertAfter:'Sisesta rida peale',deleteRow:'Eemalda read'},column:{menu:'Veerg',insertBefore:'Sisesta veerg enne',insertAfter:'Sisesta veerg peale',deleteColumn:'Eemalda veerud'}},button:{title:'Nupu omadused',text:'Tekst (väärtus)',type:'Liik',typeBtn:'Nupp',typeSbm:'Saada',typeRst:'Lähtesta'},checkboxAndRadio:{checkboxTitle:'Märkeruudu omadused',radioTitle:'Raadionupu omadused',value:'Väärtus',selected:'Märgitud'},form:{title:'Vormi omadused',menu:'Vormi omadused',action:'Toiming',method:'Meetod',encoding:'Kodeering'},select:{title:'Valiklahtri omadused',selectInfo:'Info',opAvail:'Võimalikud valikud:',value:'Väärtus',size:'Suurus',lines:'ridu',chkMulti:'Võimalik mitu valikut',opText:'Tekst',opValue:'Väärtus',btnAdd:'Lisa',btnModify:'Muuda',btnUp:'Üles',btnDown:'Alla',btnSetValue:'Määra vaikimisi',btnDelete:'Kustuta'},textarea:{title:'Tekstiala omadused',cols:'Veerge',rows:'Ridu'},textfield:{title:'Tekstilahtri omadused',name:'Nimi',value:'Väärtus',charWidth:'Laius (tähemärkides)',maxChars:'Maksimaalselt tähemärke',type:'Liik',typeText:'Tekst',typePass:'Parool'},hidden:{title:'Varjatud lahtri omadused',name:'Nimi',value:'Väärtus'},image:{title:'Pildi omadused',titleButton:'Piltnupu omadused',menu:'Pildi omadused',infoTab:'Pildi info',btnUpload:'Saada serverisse',upload:'Lae üles',alt:'Alternatiivne tekst',lockRatio:'Lukusta kuvasuhe',resetSize:'Lähtesta suurus',border:'Joon',hSpace:'H. vaheruum',vSpace:'V. vaheruum',alertUrl:'Palun kirjuta pildi URL',linkTab:'Link',button2Img:'Kas tahad teisendada valitud pildiga nupu tavaliseks pildiks?',img2Button:'Kas tahad teisendada valitud tavalise pildi pildiga nupuks?',urlMissing:'Pildi lähte-URL on puudu.',validateBorder:'Äärise laius peab olema täisarv.',validateHSpace:'Horisontaalne vaheruum peab olema täisarv.',validateVSpace:'Vertikaalne vaheruum peab olema täisarv.'},flash:{properties:'Flashi omadused',propertiesTab:'Omadused',title:'Flashi omadused',chkPlay:'Automaatne start ',chkLoop:'Korduv',chkMenu:'Flashi menüü lubatud',chkFull:'Täisekraan lubatud',scale:'Mastaap',scaleAll:'Näidatakse kõike',scaleNoBorder:'Äärist ei ole',scaleFit:'Täpne sobivus',access:'Skriptide ligipääs',accessAlways:'Kõigile',accessSameDomain:'Samalt domeenilt',accessNever:'Mitte ühelegi',alignAbsBottom:'Abs alla',alignAbsMiddle:'Abs keskele',alignBaseline:'Baasjoonele',alignTextTop:'Tekstist üles',quality:'Kvaliteet',qualityBest:'Parim',qualityHigh:'Kõrge',qualityAutoHigh:'Automaatne kõrge',qualityMedium:'Keskmine',qualityAutoLow:'Automaatne madal',qualityLow:'Madal',windowModeWindow:'Aken',windowModeOpaque:'Läbipaistmatu',windowModeTransparent:'Läbipaistev',windowMode:'Akna režiim',flashvars:'Flashi muutujad',bgcolor:'Tausta värv',hSpace:'H. vaheruum',vSpace:'V. vaheruum',validateSrc:'Palun kirjuta lingi URL',validateHSpace:'H. vaheruum peab olema number.',validateVSpace:'V. vaheruum peab olema number.'},spellCheck:{toolbar:'Õigekirjakontroll',title:'Õigekirjakontroll',notAvailable:'Kahjuks ei ole teenus praegu saadaval.',errorLoading:'Viga rakenduse teenushosti laadimisel: %s.',notInDic:'Puudub sõnastikust',changeTo:'Muuda',btnIgnore:'Ignoreeri',btnIgnoreAll:'Ignoreeri kõiki',btnReplace:'Asenda',btnReplaceAll:'Asenda kõik',btnUndo:'Võta tagasi',noSuggestions:'- Soovitused puuduvad -',progress:'Toimub õigekirja kontroll...',noMispell:'Õigekirja kontroll sooritatud: õigekirjuvigu ei leitud',noChanges:'Õigekirja kontroll sooritatud: ühtegi sõna ei muudetud',oneChange:'Õigekirja kontroll sooritatud: üks sõna muudeti',manyChanges:'Õigekirja kontroll sooritatud: %1 sõna muudetud',ieSpellDownload:'Õigekirja kontrollija ei ole paigaldatud. Soovid sa selle alla laadida?'},smiley:{toolbar:'Emotikon',title:'Sisesta emotikon',options:'Emotikonide valikud'},elementsPath:{eleLabel:'Elementide asukoht',eleTitle:'%1 element'},numberedlist:'Numberloend',bulletedlist:'Punktloend',indent:'Taande suurendamine',outdent:'Taande vähendamine',justify:{left:'Vasakjoondus',center:'Keskjoondus',right:'Paremjoondus',block:'Rööpjoondus'},blockquote:'Blokktsitaat',clipboard:{title:'Asetamine',cutError:'Sinu veebisirvija turvaseaded ei luba redaktoril automaatselt lõigata. Palun kasutage selleks klaviatuuri klahvikombinatsiooni (Ctrl/Cmd+X).',copyError:'Sinu veebisirvija turvaseaded ei luba redaktoril automaatselt kopeerida. Palun kasutage selleks klaviatuuri klahvikombinatsiooni (Ctrl/Cmd+C).',pasteMsg:'Palun aseta tekst järgnevasse kasti kasutades klaviatuuri klahvikombinatsiooni (<STRONG>Ctrl/Cmd+V</STRONG>) ja vajuta seejärel <STRONG>OK</STRONG>.',securityMsg:'Sinu veebisirvija turvaseadete tõttu ei oma redaktor otsest ligipääsu lõikelaua andmetele. Sa pead asetama need uuesti siia aknasse.',pasteArea:'Asetamise ala'},pastefromword:{confirmCleanup:'Tekst, mida tahad asetada näib pärinevat Wordist. Kas tahad selle enne asetamist puhastada?',toolbar:'Asetamine Wordist',title:'Asetamine Wordist',error:'Asetatud andmete puhastamine ei olnud sisemise vea tõttu võimalik'},pasteText:{button:'Asetamine tavalise tekstina',title:'Asetamine tavalise tekstina'},templates:{button:'Mall',title:'Sisumallid',options:'Malli valikud',insertOption:'Praegune sisu asendatakse',selectPromptMsg:'Palun vali mall, mis avada redaktoris<br />(praegune sisu läheb kaotsi):',emptyListMsg:'(Ühtegi malli ei ole defineeritud)'},showBlocks:'Blokkide näitamine',stylesCombo:{label:'Stiil',panelTitle:'Vormindusstiilid',panelTitle1:'Blokkstiilid',panelTitle2:'Reasisesed stiilid',panelTitle3:'Objektistiilid'},format:{label:'Vorming',panelTitle:'Vorming',tag_p:'Tavaline',tag_pre:'Vormindatud',tag_address:'Aadress',tag_h1:'Pealkiri 1',tag_h2:'Pealkiri 2',tag_h3:'Pealkiri 3',tag_h4:'Pealkiri 4',tag_h5:'Pealkiri 5',tag_h6:'Pealkiri 6',tag_div:'Tavaline (DIV)'},div:{title:'Div-konteineri loomine',toolbar:'Div-konteineri loomine',cssClassInputLabel:'Stiililehe klassid',styleSelectLabel:'Stiil',IdInputLabel:'ID',languageCodeInputLabel:' Keelekood',inlineStyleInputLabel:'Reasisene stiil',advisoryTitleInputLabel:'Soovitatav pealkiri',langDirLabel:'Keele suund',langDirLTRLabel:'Vasakult paremale (LTR)',langDirRTLLabel:'Paremalt vasakule (RTL)',edit:'Muuda Div',remove:'Eemalda Div'},iframe:{title:'IFrame omadused',toolbar:'IFrame',noUrl:'Vali iframe URLi liik',scrolling:'Kerimisribade lubamine',border:'Raami äärise näitamine'},font:{label:'Kiri',voiceLabel:'Kiri',panelTitle:'Kiri'},fontSize:{label:'Suurus',voiceLabel:'Kirja suurus',panelTitle:'Suurus'},colorButton:{textColorTitle:'Teksti värv',bgColorTitle:'Tausta värv',panelTitle:'Värvid',auto:'Automaatne',more:'Rohkem värve...'},colors:{'000':'Must',800000:'Kastanpruun','8B4513':'Sadulapruun','2F4F4F':'Tume paehall','008080':'Sinakasroheline','000080':'Meresinine','4B0082':'Indigosinine',696969:'Tumehall',B22222:'Šamottkivi',A52A2A:'Pruun',DAA520:'Kuldkollane','006400':'Tumeroheline','40E0D0':'Türkiissinine','0000CD':'Keskmine sinine',800080:'Lilla',808080:'Hall',F00:'Punanae',FF8C00:'Tumeoranž',FFD700:'Kuldne','008000':'Roheline','0FF':'Tsüaniidsinine','00F':'Sinine',EE82EE:'Violetne',A9A9A9:'Tuhm hall',FFA07A:'Hele lõhe',FFA500:'Oranž',FFFF00:'Kollane','00FF00':'Lubja hall',AFEEEE:'Kahvatu türkiis',ADD8E6:'Helesinine',DDA0DD:'Ploomililla',D3D3D3:'Helehall',FFF0F5:'Lavendlipunane',FAEBD7:'Antiikvalge',FFFFE0:'Helekollane',F0FFF0:'Meloniroheline',F0FFFF:'Taevasinine',F0F8FF:'Beebisinine',E6E6FA:'Lavendel',FFF:'Valge'},scayt:{title:'Õigekirjakontroll kirjutamise ajal',opera_title:'Operas pole toetatud',enable:'SCAYT lubatud',disable:'SCAYT keelatud',about:'SCAYT-ist lähemalt',toggle:'SCAYT sisse/välja lülitamine',options:'Valikud',langs:'Keeled',moreSuggestions:'Veel soovitusi',ignore:'Eira',ignoreAll:'Eira kõiki',addWord:'Lisa sõna',emptyDic:'Sõnaraamatu nimi ei tohi olla tühi.',noSuggestions:'No suggestions',optionsTab:'Valikud',allCaps:'Läbivate suurtähtedega sõnade eiramine',ignoreDomainNames:'Domeeninimede eiramine',mixedCase:'Tavapäratu tõstuga sõnade eiramine',mixedWithDigits:'Numbreid sisaldavate sõnade eiramine',languagesTab:'Keeled',dictionariesTab:'Sõnaraamatud',dic_field_name:'Sõnaraamatu nimi',dic_create:'Loo',dic_restore:'Taasta',dic_delete:'Kustuta',dic_rename:'Nimeta ümber',dic_info:'Alguses säilitatakse kasutaja sõnaraamatut küpsises. Küpsise suurus on piiratud. Pärast sõnaraamatu kasvamist nii suureks, et see küpsisesse ei mahu, võib sõnaraamatut hoida meie serveris. Oma isikliku sõnaraamatu hoidmiseks meie serveris pead andma sellele nime. Kui sa juba oled sõnaraamatu salvestanud, sisesta selle nimi ja klõpsa taastamise nupule.',aboutTab:'Lähemalt'},about:{title:'CKEditorist',dlgTitle:'CKEditorist',help:'Abi jaoks vaata $1.',userGuide:'CKEditori kasutusjuhendit',moreInfo:'Litsentsi andmed leiab meie veebilehelt:',copy:'Copyright &copy; $1. Kõik õigused kaitstud.'},maximize:'Maksimeerimine',minimize:'Minimeerimine',fakeobjects:{anchor:'Ankur',flash:'Flashi animatsioon',iframe:'IFrame',hiddenfield:'Varjatud väli',unknown:'Tundmatu objekt'},resize:'Suuruse muutmiseks lohista',colordialog:{title:'Värvi valimine',options:'Värvi valikud',highlight:'Näidis',selected:'Valitud värv',clear:'Eemalda'},toolbarCollapse:'Tööriistariba peitmine',toolbarExpand:'Tööriistariba näitamine',toolbarGroups:{document:'Dokument',clipboard:'Lõikelaud/tagasivõtmine',editing:'Muutmine',forms:'Vormid',basicstyles:'Põhistiilid',paragraph:'Lõik',links:'Lingid',insert:'Sisesta',styles:'Stiilid',colors:'Värvid',tools:'Tööriistad'},bidi:{ltr:'Teksti suund vasakult paremale',rtl:'Teksti suund paremalt vasakule'},docprops:{label:'Dokumendi omadused',title:'Dokumendi omadused',design:'Disain',meta:'Meta andmed',chooseColor:'Vali',other:'<muu>',docTitle:'Lehekülje tiitel',charset:'Märgistiku kodeering',charsetOther:'Ülejäänud märgistike kodeeringud',charsetASCII:'ASCII',charsetCE:'Kesk-Euroopa',charsetCT:'Hiina traditsiooniline (Big5)',charsetCR:'Kirillisa',charsetGR:'Kreeka',charsetJP:'Jaapani',charsetKR:'Korea',charsetTR:'Türgi',charsetUN:'Unicode (UTF-8)',charsetWE:'Lääne-Euroopa',docType:'Dokumendi tüüppäis',docTypeOther:'Teised dokumendi tüüppäised',xhtmlDec:'Arva kaasa XHTML deklaratsioonid',bgColor:'Taustavärv',bgImage:'Taustapildi URL',bgFixed:'Mittekeritav tagataust',txtColor:'Teksti värv',margin:'Lehekülje äärised',marginTop:'Ülaserv',marginLeft:'Vasakserv',marginRight:'Paremserv',marginBottom:'Alaserv',metaKeywords:'Dokumendi võtmesõnad (eraldatud komadega)',metaDescription:'Dokumendi kirjeldus',metaAuthor:'Autor',metaCopyright:'Autoriõigus',previewHtml:'<p>See on <strong>näidistekst</strong>. Sa kasutad <a href="javascript:void(0)">CKEditori</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/eu.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/eu.js
deleted file mode 100644
index aa1eff1..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/eu.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.eu={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'Editor toolbars',editor:'Rich Text Editor',source:'HTML Iturburua',newPage:'Orrialde Berria',save:'Gorde',preview:'Aurrebista',cut:'Ebaki',copy:'Kopiatu',paste:'Itsatsi',print:'Inprimatu',underline:'Azpimarratu',bold:'Lodia',italic:'Etzana',selectAll:'Hautatu dena',removeFormat:'Kendu Formatua',strike:'Marratua',subscript:'Azpi-indize',superscript:'Goi-indize',horizontalrule:'Txertatu Marra Horizontala',pagebreak:'Txertatu Orrialde-jauzia',pagebreakAlt:'Page Break',unlink:'Kendu Esteka',undo:'Desegin',redo:'Berregin',common:{browseServer:'Zerbitzaria arakatu',url:'URL',protocol:'Protokoloa',upload:'Gora kargatu',uploadSubmit:'Zerbitzarira bidalia',image:'Irudia',flash:'Flasha',form:'Formularioa',checkbox:'Kontrol-laukia',radio:'Aukera-botoia',textField:'Testu Eremua',textarea:'Testu-area',hiddenField:'Ezkutuko Eremua',button:'Botoia',select:'Hautespen Eremua',imageButton:'Irudi Botoia',notSet:'<Ezarri gabe>',id:'Id',name:'Izena',langDir:'Hizkuntzaren Norabidea',langDirLtr:'Ezkerretik Eskumara(LTR)',langDirRtl:'Eskumatik Ezkerrera (RTL)',langCode:'Hizkuntza Kodea',longDescr:'URL Deskribapen Luzea',cssClass:'Estilo-orriko Klaseak',advisoryTitle:'Izenburua',cssStyle:'Estiloa',ok:'Ados',cancel:'Utzi',close:'Close',preview:'Preview',generalTab:'Orokorra',advancedTab:'Aurreratua',validateNumberFailed:'Balio hau ez da zenbaki bat.',confirmNewPage:'Eduki honetan gorde gabe dauden aldaketak galduko dira. Ziur zaude orri berri bat kargatu nahi duzula?',confirmCancel:'Aukera batzuk aldatu egin dira. Ziur zaude elkarrizketa-koadroa itxi nahi duzula?',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:'Zabalera',height:'Altuera',align:'Lerrokatu',alignLeft:'Ezkerrera',alignRight:'Eskuman',alignCenter:'Erdian',alignTop:'Goian',alignMiddle:'Erdian',alignBottom:'Behean',invalidValue:'Invalid value.',invalidHeight:'Altuera zenbaki bat izan behar da.',invalidWidth:'Zabalera zenbaki bat izan behar da.',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, erabilezina</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'Txertatu Karaktere Berezia',title:'Karaktere Berezia Aukeratu',options:'Special Character Options'},link:{toolbar:'Txertatu/Editatu Esteka',other:'<other>',menu:'Aldatu Esteka',title:'Esteka',info:'Estekaren Informazioa',target:'Target (Helburua)',upload:'Gora kargatu',advanced:'Aurreratua',type:'Esteka Mota',toUrl:'URL',toAnchor:'Aingura orrialde honetan',toEmail:'ePosta',targetFrame:'<marko>',targetPopup:'<popup leihoa>',targetFrameName:'Marko Helburuaren Izena',targetPopupName:'Popup Leihoaren Izena',popupFeatures:'Popup Leihoaren Ezaugarriak',popupResizable:'Tamaina Aldakorra',popupStatusBar:'Egoera Barra',popupLocationBar:'Kokaleku Barra',popupToolbar:'Tresna Barra',popupMenuBar:'Menu Barra',popupFullScreen:'Pantaila Osoa (IE)',popupScrollBars:'Korritze Barrak',popupDependent:'Menpekoa (Netscape)',popupLeft:'Ezkerreko Posizioa',popupTop:'Goiko Posizioa',id:'Id',langDir:'Hizkuntzaren Norabidea',langDirLTR:'Ezkerretik Eskumara(LTR)',langDirRTL:'Eskumatik Ezkerrera (RTL)',acccessKey:'Sarbide-gakoa',name:'Izena',langCode:'Hizkuntzaren Norabidea',tabIndex:'Tabulazio Indizea',advisoryTitle:'Izenburua',advisoryContentType:'Eduki Mota (Content Type)',cssClasses:'Estilo-orriko Klaseak',charset:'Estekatutako Karaktere Multzoa',styles:'Estiloa',rel:'Relationship',selectAnchor:'Aingura bat hautatu',anchorName:'Aingura izenagatik',anchorId:'Elementuaren ID-gatik',emailAddress:'ePosta Helbidea',emailSubject:'Mezuaren Gaia',emailBody:'Mezuaren Gorputza',noAnchors:'(Ez daude aingurak eskuragarri dokumentuan)',noUrl:'Mesedez URL esteka idatzi',noEmail:'Mesedez ePosta helbidea idatzi'},anchor:{toolbar:'Aingura',menu:'Ainguraren Ezaugarriak',title:'Ainguraren Ezaugarriak',name:'Ainguraren Izena',errorName:'Idatzi ainguraren izena',remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Bilatu eta Ordeztu',find:'Bilatu',replace:'Ordezkatu',findWhat:'Zer bilatu:',replaceWith:'Zerekin ordeztu:',notFoundMsg:'Idatzitako testua ez da topatu.',findOptions:'Find Options',matchCase:'Maiuskula/minuskula',matchWord:'Esaldi osoa bilatu',matchCyclic:'Bilaketa ziklikoa',replaceAll:'Ordeztu Guztiak',replaceSuccessMsg:'Zenbat aldiz ordeztua: %1'},table:{toolbar:'Taula',title:'Taularen Ezaugarriak',menu:'Taularen Ezaugarriak',deleteTable:'Ezabatu Taula',rows:'Lerroak',columns:'Zutabeak',border:'Ertzaren Zabalera',widthPx:'pixel',widthPc:'ehuneko',widthUnit:'width unit',cellSpace:'Gelaxka arteko tartea',cellPad:'Gelaxken betegarria',caption:'Epigrafea',summary:'Laburpena',headers:'Goiburuak',headersNone:'Bat ere ez',headersColumn:'Lehen zutabea',headersRow:'Lehen lerroa',headersBoth:'Biak',invalidRows:'Lerro kopurua 0 baino handiagoa den zenbakia izan behar da.',invalidCols:'Zutabe kopurua 0 baino handiagoa den zenbakia izan behar da.',invalidBorder:'Ertzaren tamaina zenbaki bat izan behar da.',invalidWidth:'Taularen zabalera zenbaki bat izan behar da.',invalidHeight:'Taularen altuera zenbaki bat izan behar da.',invalidCellSpacing:'Gelaxka arteko tartea zenbaki bat izan behar da.',invalidCellPadding:'Gelaxken betegarria zenbaki bat izan behar da.',cell:{menu:'Gelaxka',insertBefore:'Txertatu Gelaxka Aurretik',insertAfter:'Txertatu Gelaxka Ostean',deleteCell:'Kendu Gelaxkak',merge:'Batu Gelaxkak',mergeRight:'Elkartu Eskumara',mergeDown:'Elkartu Behera',splitHorizontal:'Banatu Gelaxkak Horizontalki',splitVertical:'Banatu Gelaxkak Bertikalki',title:'Gelaxken Ezaugarriak',cellType:'Gelaxka Mota',rowSpan:'Hedatutako Lerroak',colSpan:'Hedatutako Zutabeak',wordWrap:'Itzulbira',hAlign:'Lerrokatze Horizontala',vAlign:'Lerrokatze Bertikala',alignBaseline:'Oinarri-lerroan',bgColor:'Fondoaren Kolorea',borderColor:'Ertzaren Kolorea',data:'Data',header:'Goiburua',yes:'Bai',no:'Ez',invalidWidth:'Gelaxkaren zabalera zenbaki bat izan behar da.',invalidHeight:'Gelaxkaren altuera zenbaki bat izan behar da.',invalidRowSpan:'Lerroen hedapena zenbaki osoa izan behar da.',invalidColSpan:'Zutabeen hedapena zenbaki osoa izan behar da.',chooseColor:'Choose'},row:{menu:'Lerroa',insertBefore:'Txertatu Lerroa Aurretik',insertAfter:'Txertatu Lerroa Ostean',deleteRow:'Ezabatu Lerroak'},column:{menu:'Zutabea',insertBefore:'Txertatu Zutabea Aurretik',insertAfter:'Txertatu Zutabea Ostean',deleteColumn:'Ezabatu Zutabeak'}},button:{title:'Botoiaren Ezaugarriak',text:'Testua (Balorea)',type:'Mota',typeBtn:'Botoia',typeSbm:'Bidali',typeRst:'Garbitu'},checkboxAndRadio:{checkboxTitle:'Kontrol-laukiko Ezaugarriak',radioTitle:'Aukera-botoiaren Ezaugarriak',value:'Balorea',selected:'Hautatuta'},form:{title:'Formularioaren Ezaugarriak',menu:'Formularioaren Ezaugarriak',action:'Ekintza',method:'Metodoa',encoding:'Kodeketa'},select:{title:'Hautespen Eremuaren Ezaugarriak',selectInfo:'Informazioa',opAvail:'Aukera Eskuragarriak',value:'Balorea',size:'Tamaina',lines:'lerro kopurura',chkMulti:'Hautaketa anitzak baimendu',opText:'Testua',opValue:'Balorea',btnAdd:'Gehitu',btnModify:'Aldatu',btnUp:'Gora',btnDown:'Behera',btnSetValue:'Aukeratutako balorea ezarri',btnDelete:'Ezabatu'},textarea:{title:'Testu-arearen Ezaugarriak',cols:'Zutabeak',rows:'Lerroak'},textfield:{title:'Testu Eremuaren Ezaugarriak',name:'Izena',value:'Balorea',charWidth:'Zabalera',maxChars:'Zenbat karaktere gehienez',type:'Mota',typeText:'Testua',typePass:'Pasahitza'},hidden:{title:'Ezkutuko Eremuaren Ezaugarriak',name:'Izena',value:'Balorea'},image:{title:'Irudi Ezaugarriak',titleButton:'Irudi Botoiaren Ezaugarriak',menu:'Irudi Ezaugarriak',infoTab:'Irudi informazioa',btnUpload:'Zerbitzarira bidalia',upload:'Gora Kargatu',alt:'Ordezko Testua',lockRatio:'Erlazioa Blokeatu',resetSize:'Tamaina Berrezarri',border:'Ertza',hSpace:'HSpace',vSpace:'VSpace',alertUrl:'Mesedez Irudiaren URLa idatzi',linkTab:'Esteka',button2Img:'Aukeratutako irudi botoia, irudi normal batean eraldatu nahi duzu?',img2Button:'Aukeratutako irudia, irudi botoi batean eraldatu nahi duzu?',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'Flasharen Ezaugarriak',propertiesTab:'Ezaugarriak',title:'Flasharen Ezaugarriak',chkPlay:'Automatikoki Erreproduzitu',chkLoop:'Begizta',chkMenu:'Flasharen Menua Gaitu',chkFull:'Onartu Pantaila osoa',scale:'Eskalatu',scaleAll:'Dena erakutsi',scaleNoBorder:'Ertzik gabe',scaleFit:'Doitu',access:'Scriptak baimendu',accessAlways:'Beti',accessSameDomain:'Domeinu berdinekoak',accessNever:'Inoiz ere ez',alignAbsBottom:'Abs Behean',alignAbsMiddle:'Abs Erdian',alignBaseline:'Oinan',alignTextTop:'Testua Goian',quality:'Kalitatea',qualityBest:'Hoberena',qualityHigh:'Altua',qualityAutoHigh:'Auto Altua',qualityMedium:'Ertaina',qualityAutoLow:'Auto Baxua',qualityLow:'Baxua',windowModeWindow:'Leihoa',windowModeOpaque:'Opakoa',windowModeTransparent:'Gardena',windowMode:'Leihoaren modua',flashvars:'Flash Aldagaiak',bgcolor:'Atzeko kolorea',hSpace:'HSpace',vSpace:'VSpace',validateSrc:'Mesedez URL esteka idatzi',validateHSpace:'HSpace zenbaki bat izan behar da.',validateVSpace:'VSpace zenbaki bat izan behar da.'},spellCheck:{toolbar:'Ortografia',title:'Ortografia zuzenketa',notAvailable:'Barkatu baina momentu honetan zerbitzua ez dago erabilgarri.',errorLoading:'Errorea gertatu da aplikazioa zerbitzaritik kargatzean: %s.',notInDic:'Ez dago hiztegian',changeTo:'Honekin ordezkatu',btnIgnore:'Ezikusi',btnIgnoreAll:'Denak Ezikusi',btnReplace:'Ordezkatu',btnReplaceAll:'Denak Ordezkatu',btnUndo:'Desegin',noSuggestions:'- Iradokizunik ez -',progress:'Zuzenketa ortografikoa martxan...',noMispell:'Zuzenketa ortografikoa bukatuta: Akatsik ez',noChanges:'Zuzenketa ortografikoa bukatuta: Ez da ezer aldatu',oneChange:'Zuzenketa ortografikoa bukatuta: Hitz bat aldatu da',manyChanges:'Zuzenketa ortografikoa bukatuta: %1 hitz aldatu dira',ieSpellDownload:'Zuzentzaile ortografikoa ez dago instalatuta. Deskargatu nahi duzu?'},smiley:{toolbar:'Aurpegierak',title:'Aurpegiera Sartu',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 elementua'},numberedlist:'Zenbakidun Zerrenda',bulletedlist:'Buletdun Zerrenda',indent:'Handitu Koska',outdent:'Txikitu Koska',justify:{left:'Lerrokatu Ezkerrean',center:'Lerrokatu Erdian',right:'Lerrokatu Eskuman',block:'Justifikatu'},blockquote:'Aipamen blokea',clipboard:{title:'Itsatsi',cutError:'Zure web nabigatzailearen segurtasun ezarpenak testuak automatikoki moztea ez dute baimentzen. Mesedez teklatua erabili ezazu (Ctrl/Cmd+X).',copyError:'Zure web nabigatzailearen segurtasun ezarpenak testuak automatikoki kopiatzea ez dute baimentzen. Mesedez teklatua erabili ezazu (Ctrl/Cmd+C).',pasteMsg:'Mesedez teklatua erabilita (<STRONG>Ctrl/Cmd+V</STRONG>) ondorego eremuan testua itsatsi eta <STRONG>OK</STRONG> sakatu.',securityMsg:'Nabigatzailearen segurtasun ezarpenak direla eta, editoreak ezin du arbela zuzenean erabili. Leiho honetan berriro itsatsi behar duzu.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'Itsatsi nahi duzun testua Wordetik hartua dela dirudi. Itsatsi baino lehen garbitu nahi duzu?',toolbar:'Itsatsi Word-etik',title:'Itsatsi Word-etik',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'Testu Arrunta bezala Itsatsi',title:'Testu Arrunta bezala Itsatsi'},templates:{button:'Txantiloiak',title:'Eduki Txantiloiak',options:'Template Options',insertOption:'Ordeztu oraingo edukiak',selectPromptMsg:'Mesedez txantiloia aukeratu editorean kargatzeko<br>(orain dauden edukiak galduko dira):',emptyListMsg:'(Ez dago definitutako txantiloirik)'},showBlocks:'Blokeak erakutsi',stylesCombo:{label:'Estiloa',panelTitle:'Formatting Styles',panelTitle1:'Bloke Estiloak',panelTitle2:'Inline Estiloak',panelTitle3:'Objektu Estiloak'},format:{label:'Formatua',panelTitle:'Formatua',tag_p:'Arrunta',tag_pre:'Formateatua',tag_address:'Helbidea',tag_h1:'Izenburua 1',tag_h2:'Izenburua 2',tag_h3:'Izenburua 3',tag_h4:'Izenburua 4',tag_h5:'Izenburua 5',tag_h6:'Izenburua 6',tag_div:'Paragrafoa (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'Letra-tipoa',voiceLabel:'Letra-tipoa',panelTitle:'Letra-tipoa'},fontSize:{label:'Tamaina',voiceLabel:'Tamaina',panelTitle:'Tamaina'},colorButton:{textColorTitle:'Testu Kolorea',bgColorTitle:'Atzeko kolorea',panelTitle:'Colors',auto:'Automatikoa',more:'Kolore gehiago...'},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'},scayt:{title:'Ortografia Zuzenketa Idatzi Ahala (SCAYT)',opera_title:'Not supported by Opera',enable:'Gaitu SCAYT',disable:'Desgaitu SCAYT',about:'SCAYTi buruz',toggle:'SCAYT aldatu',options:'Aukerak',langs:'Hizkuntzak',moreSuggestions:'Iradokizun gehiago',ignore:'Baztertu',ignoreAll:'Denak baztertu',addWord:'Hitza Gehitu',emptyDic:'Hiztegiaren izena ezin da hutsik egon.',noSuggestions:'Iradokizunik ez',optionsTab:'Aukerak',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Hizkuntzak',dictionariesTab:'Hiztegiak',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'Honi buruz'},about:{title:'CKEditor(r)i buruz',dlgTitle:'CKEditor(r)i buruz',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'Lizentziari buruzko informazioa gure webgunean:',copy:'Copyright &copy; $1. Eskubide guztiak erreserbaturik.'},maximize:'Maximizatu',minimize:'Minimize',fakeobjects:{anchor:'Aingura',flash:'Flash Animazioa',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Objektu ezezaguna'},resize:'Arrastatu tamaina aldatzeko',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'Dokumentuaren Ezarpenak',title:'Dokumentuaren Ezarpenak',design:'Design',meta:'Meta Informazioa',chooseColor:'Choose',other:'<other>',docTitle:'Orriaren Izenburua',charset:'Karaktere Multzoaren Kodeketa',charsetOther:'Beste Karaktere Multzoko Kodeketa',charsetASCII:'ASCII',charsetCE:'Erdialdeko Europakoa',charsetCT:'Txinatar Tradizionala (Big5)',charsetCR:'Zirilikoa',charsetGR:'Grekoa',charsetJP:'Japoniarra',charsetKR:'Korearra',charsetTR:'Turkiarra',charsetUN:'Unicode (UTF-8)',charsetWE:'Mendebaldeko Europakoa',docType:'Document Type Goiburua',docTypeOther:'Beste Document Type Goiburua',xhtmlDec:'XHTML Ezarpenak',bgColor:'Atzeko Kolorea',bgImage:'Atzeko Irudiaren URL-a',bgFixed:'Korritze gabeko Atzealdea',txtColor:'Testu Kolorea',margin:'Orrialdearen marjinak',marginTop:'Goian',marginLeft:'Ezkerrean',marginRight:'Eskuman',marginBottom:'Behean',metaKeywords:'Dokumentuaren Gako-hitzak (komarekin bananduta)',metaDescription:'Dokumentuaren Deskribapena',metaAuthor:'Egilea',metaCopyright:'Copyright',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/fa.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/fa.js
deleted file mode 100644
index a6b5987..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/fa.js
+++ /dev/null
@@ -1,822 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-/**
- * @fileOverview Defines the {@link CKEDITOR.lang} object for the
- * Persian language.
- */
-
-/**#@+
- @type String
- @example
-*/
-
-/**
- * Contains the dictionary of language entries.
- * @namespace
- */
-CKEDITOR.lang['fa'] =
-{
- /**
- * The language reading direction. Possible values are "rtl" for
- * Right-To-Left languages (like Arabic) and "ltr" for Left-To-Right
- * languages (like English).
- * @default 'ltr'
- */
- dir : 'rtl',
-
- /*
- * Screenreader titles. Please note that screenreaders are not always capable
- * of reading non-English words. So be careful while translating it.
- */
- editorTitle : 'ویرایشگر متن غنی, %1',
- editorHelp : 'کلید Alt+0 را برای راهنمایی بÙشارید',
-
- // ARIA descriptions.
- toolbars : 'نوار ابزار',
- editor : 'ویرایشگر متن غنی',
-
- // Toolbar buttons without dialogs.
- source : 'منبع',
- newPage : 'برگهٴ تازه',
- save : 'ذخیره',
- preview : 'پیشنمایش',
- cut : 'برش',
- copy : 'کپی',
- paste : 'چسباندن',
- print : 'چاپ',
- underline : 'زیرخطدار',
- bold : 'درشت',
- italic : 'خمیده',
- selectAll : 'گزینش همه',
- removeFormat : 'برداشتن Ùرمت',
- strike : 'میانخط',
- subscript : 'زیرنویس',
- superscript : 'بالانویس',
- horizontalrule : 'گنجاندن خط اÙÙ‚ÛŒ',
- pagebreak : 'گنجاندن شکستگی پایان برگه',
- pagebreakAlt : 'شکستن صÙحه',
- unlink : 'برداشتن پیوند',
- undo : 'واچیدن',
- redo : 'بازچیدن',
-
- // Common messages and labels.
- common :
- {
- 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 : 'کلاسهای شیوهنامه(Stylesheet)',
- advisoryTitle : 'عنوان کمکی',
- cssStyle : 'شیوه(style)',
- ok : 'پذیرش',
- cancel : 'انصراÙ',
- close : 'بستن',
- preview : 'پیشنمایش',
- generalTab : 'عمومی',
- advancedTab : 'پیشرÙته',
- validateNumberFailed : 'این مقدار یک عدد نیست.',
- confirmNewPage : 'هر تغییر ایجاد شدهی ذخیره نشده از بین خواهد رÙت. آیا اطمینان دارید Ú©Ù‡ قصد بارگیری صÙحه جدیدی را دارید؟',
- confirmCancel : 'برخی از گزینهها تغییر کردهاند. آیا واقعا قصد بستن این پنجره را دارید؟',
- options : 'گزینهها',
- target : 'مسیر',
- targetNew : 'پنجره جدید (_blank)',
- targetTop : 'بالاترین پنجره (_top)',
- targetSelf : 'همان پنجره (_self)',
- targetParent : 'پنجره والد (_parent)',
- langDirLTR : 'چپ به راست (LTR)',
- langDirRTL : 'راست به چپ (RTL)',
- styles : 'سبک',
- cssClasses : 'کلاسهای شیوهنامه',
- width : 'پهنا',
- height : 'درازا',
- align : 'چینش',
- alignLeft : 'Ú†Ù¾',
- alignRight : 'راست',
- alignCenter : 'وسط',
- alignTop : 'بالا',
- alignMiddle : 'وسط',
- alignBottom : 'پائین',
- invalidValue : 'Invalid value.', // MISSING
- invalidHeight : 'ارتÙاع باید یک عدد باشد.',
- invalidWidth : 'پهنا باید یک عدد باشد.',
- invalidCssLength : 'عدد تعیین شده برای Ùیلد "%1" باید یک عدد مثبت با یا بدون یک واحد اندازه گیری CSS معتبر باشد (px, %, in, cm, mm, em, ex, pt, or pc).',
- invalidHtmlLength : 'عدد تعیین شده برای Ùیلد "%1" باید یک عدد مثبت با یا بدون یک واحد اندازه گیری HTML معتبر باشد (px or %).',
- invalidInlineStyle : 'عدد تعیین شده برای سبک درونخطی(Inline Style) باید دارای یک یا چند چندتایی با شکلی شبیه "name : value" که باید با یک ","(semi-colons) از هم جدا شوند.',
- cssLengthTooltip : 'یک عدد برای یک مقدار بر حسب پیکسل و یا یک عدد با یک واحد CSS معتبر وارد کنید (px, %, in, cm, mm, em, ex, pt, or pc).',
-
- // Put the voice-only part of the label in the span.
- unavailable : '%1<span class="cke_accessibility">، غیر قابل دسترس</span>'
- },
-
- contextmenu :
- {
- options : 'گزینههای منوی زمینه'
- },
-
- // Special char dialog.
- specialChar :
- {
- toolbar : 'گنجاندن نویسهٴ ویژه',
- title : 'گزینش نویسهٴ ویژه',
- options : 'گزینههای نویسههای ویژه'
- },
-
- // Link dialog.
- link :
- {
- toolbar : 'گنجاندن/ویرایش پیوند',
- other : '<سایر>',
- menu : 'ویرایش پیوند',
- title : 'پیوند',
- info : 'اطلاعات پیوند',
- target : 'مقصد',
- upload : 'انتقال به سرور',
- advanced : 'پیشرÙته',
- type : 'نوع پیوند',
- toUrl : 'URL',
- toAnchor : 'لنگر در همین صÙحه',
- toEmail : 'پست الکترونیکی',
- targetFrame : '<Ùریم>',
- targetPopup : '<پنجرهٴ پاپاپ>',
- targetFrameName : 'نام Ùریم مقصد',
- targetPopupName : 'نام پنجرهٴ پاپاپ',
- popupFeatures : 'ویژگیهای پنجرهٴ پاپاپ',
- popupResizable : 'قابل تغییر اندازه',
- popupStatusBar : 'نوار وضعیت',
- popupLocationBar: 'نوار موقعیت',
- popupToolbar : 'نوارابزار',
- popupMenuBar : 'نوار منو',
- popupFullScreen : 'تمامصÙحه (IE)',
- popupScrollBars : 'میلههای پیمایش',
- popupDependent : 'وابسته (Netscape)',
- popupLeft : 'موقعیت چپ',
- popupTop : 'موقعیت بالا',
- id : 'شناسه',
- langDir : 'جهتنمای زبان',
- langDirLTR : 'چپ به راست (LTR)',
- langDirRTL : 'راست به چپ (RTL)',
- acccessKey : 'کلید دستیابی',
- name : 'نام',
- langCode : 'جهتنمای زبان',
- tabIndex : 'نمایهٴ دسترسی با برگه',
- advisoryTitle : 'عنوان کمکی',
- advisoryContentType : 'نوع محتوای کمکی',
- cssClasses : 'کلاسهای شیوهنامه(Stylesheet)',
- charset : 'نویسهگان منبع پیوند شده',
- styles : 'شیوه(style)',
- rel : 'وابستگی',
- selectAnchor : 'یک لنگر برگزینید',
- anchorName : 'با نام لنگر',
- anchorId : 'با شناسهٴ المان',
- emailAddress : 'نشانی پست الکترونیکی',
- emailSubject : 'موضوع پیام',
- emailBody : 'متن پیام',
- noAnchors : '(در این سند لنگری دردسترس نیست)',
- noUrl : 'لطÙا URL پیوند را بنویسید',
- noEmail : 'لطÙا نشانی پست الکترونیکی را بنویسید'
- },
-
- // Anchor dialog
- anchor :
- {
- toolbar : 'گنجاندن/ویرایش لنگر',
- menu : 'ویژگیهای لنگر',
- title : 'ویژگیهای لنگر',
- name : 'نام لنگر',
- errorName : 'لطÙا نام لنگر را بنویسید',
- remove : 'حذ٠لنگر'
- },
-
- // List style dialog
- list:
- {
- numberedTitle : 'ویژگیهای Ùهرست شمارهدار',
- bulletedTitle : 'ویژگیهای Ùهرست گلولهدار',
- type : 'نوع',
- start : 'شروع',
- validateStartNumber :'Ùهرست شماره شروع باید یک عدد صحیح باشد.',
- circle : 'دایره',
- disc : 'صÙحه گرد',
- square : 'چهارگوش',
- none : 'هیچ',
- notset : '<تنظیم نشده>',
- armenian : 'شمارهگذاری ارمنی',
- georgian : 'شمارهگذاری گریگورین (an, ban, gan, etc.)',
- lowerRoman : 'پانویس رومی (i, ii, iii, iv, v, etc.)',
- upperRoman : 'بالانویس رومی (I, II, III, IV, V, etc.)',
- lowerAlpha : 'پانویس الÙبایی (a, b, c, d, e, etc.)',
- upperAlpha : 'بالانویس الÙبایی (A, B, C, D, E, etc.)',
- lowerGreek : 'پانویس یونانی (alpha, beta, gamma, etc.)',
- decimal : 'دهدهی (1, 2, 3, etc.)',
- decimalLeadingZero : 'دهدهی همراه با صÙر (01, 02, 03, etc.)'
- },
-
- // Find And Replace Dialog
- findAndReplace :
- {
- title : 'جستجو و جایگزینی',
- find : 'جستجو',
- replace : 'جایگزینی',
- findWhat : 'چه چیز را مییابید:',
- replaceWith : 'جایگزینی با:',
- notFoundMsg : 'متن موردنظر یاÙت نشد.',
- findOptions : 'گزینههای جستجو',
- matchCase : 'همسانی در بزرگی و کوچکی نویسهها',
- matchWord : 'همسانی با واژهٴ کامل',
- matchCyclic : 'همسانی با چرخه',
- replaceAll : 'جایگزینی همهٴ یاÙتهها',
- replaceSuccessMsg : '%1 رخداد جایگزین شد.'
- },
-
- // Table Dialog
- table :
- {
- toolbar : 'جدول',
- title : 'ویژگیهای جدول',
- menu : 'ویژگیهای جدول',
- deleteTable : 'پاک کردن جدول',
- rows : 'سطرها',
- columns : 'ستونها',
- border : 'اندازهٴ لبه',
- widthPx : 'پیکسل',
- widthPc : 'درصد',
- widthUnit : 'واحد پهنا',
- cellSpace : 'Ùاصلهٴ میان سلولها',
- cellPad : 'Ùاصلهٴ پرشده در سلول',
- caption : 'عنوان',
- summary : 'خلاصه',
- headers : 'سرنویسها',
- headersNone : 'هیچ',
- headersColumn : 'اولین ستون',
- headersRow : 'اولین ردیÙ',
- headersBoth : 'هردو',
- invalidRows : 'تعداد ردیÙها باید یک عدد بزرگتر از 0 باشد.',
- invalidCols : 'تعداد ستونها باید یک عدد بزرگتر از 0 باشد.',
- invalidBorder : 'مقدار اندازه خطوط باید یک عدد باشد.',
- invalidWidth : 'مقدار پهنای جدول باید یک عدد باشد.',
- invalidHeight : 'مقدار ارتÙاع جدول باید یک عدد باشد.',
- invalidCellSpacing : 'مقدار Ùاصلهگذاری سلول باید یک عدد باشد.',
- invalidCellPadding : 'بالشتک سلول باید یک عدد باشد.',
-
- cell :
- {
- menu : 'سلول',
- insertBefore : 'اÙزودن سلول قبل از',
- insertAfter : 'اÙزودن سلول بعد از',
- deleteCell : 'حذ٠سلولها',
- merge : 'ادغام سلولها',
- mergeRight : 'ادغام به راست',
- mergeDown : 'ادغام به پایین',
- splitHorizontal : 'جدا کردن اÙÙ‚ÛŒ سلول',
- splitVertical : 'جدا کردن عمودی سلول',
- title : 'ویژگیهای سلول',
- cellType : 'نوع سلول',
- rowSpan : 'محدوده ردیÙها',
- colSpan : 'محدوده ستونها',
- wordWrap : 'شکستن کلمه',
- hAlign : 'چینش اÙÙ‚ÛŒ',
- vAlign : 'چینش عمودی',
- alignBaseline : 'خط مبنا',
- bgColor : 'رنگ زمینه',
- borderColor : 'رنگ خطوط',
- data : 'اطلاعات',
- header : 'سرنویس',
- yes : 'بله',
- no : 'خیر',
- invalidWidth : 'عرض سلول باید یک عدد باشد.',
- invalidHeight : 'ارتÙاع سلول باید عدد باشد.',
- invalidRowSpan : 'مقدار محدوده ردیÙها باید یک عدد باشد.',
- invalidColSpan : 'مقدار محدوده ستونها باید یک عدد باشد.',
- chooseColor : 'انتخاب'
- },
-
- row :
- {
- menu : 'سطر',
- insertBefore : 'اÙزودن سطر قبل از',
- insertAfter : 'اÙزودن سطر بعد از',
- deleteRow : 'حذ٠سطرها'
- },
-
- column :
- {
- menu : 'ستون',
- insertBefore : 'اÙزودن ستون قبل از',
- insertAfter : 'اÙزودن ستون بعد از',
- deleteColumn : 'حذ٠ستونها'
- }
- },
-
- // Button Dialog.
- button :
- {
- title : 'ویژگیهای دکمه',
- text : 'متن (مقدار)',
- type : 'نوع',
- typeBtn : 'دکمه',
- typeSbm : 'ثبت',
- typeRst : 'بازنشانی (Reset)'
- },
-
- // Checkbox and Radio Button Dialogs.
- checkboxAndRadio :
- {
- checkboxTitle : 'ویژگیهای خانهٴ گزینهای',
- radioTitle : 'ویژگیهای دکمهٴ رادیویی',
- value : 'مقدار',
- selected : 'برگزیده'
- },
-
- // Form Dialog.
- form :
- {
- title : 'ویژگیهای Ùرم',
- menu : 'ویژگیهای Ùرم',
- action : 'رویداد',
- method : 'متد',
- encoding : 'رمزنگاری'
- },
-
- // Select Field Dialog.
- select :
- {
- title : 'ویژگیهای Ùیلد چندگزینهای',
- selectInfo : 'اطلاعات',
- opAvail : 'گزینههای دردسترس',
- value : 'مقدار',
- size : 'اندازه',
- lines : 'خطوط',
- chkMulti : 'گزینش چندگانه Ùراهم باشد',
- opText : 'متن',
- opValue : 'مقدار',
- btnAdd : 'اÙزودن',
- btnModify : 'ویرایش',
- btnUp : 'بالا',
- btnDown : 'پائین',
- btnSetValue : 'تنظیم به عنوان مقدار برگزیده',
- btnDelete : 'پاککردن'
- },
-
- // Textarea Dialog.
- textarea :
- {
- title : 'ویژگیهای ناحیهٴ متنی',
- cols : 'ستونها',
- rows : 'سطرها'
- },
-
- // Text Field Dialog.
- textfield :
- {
- title : 'ویژگیهای Ùیلد متنی',
- name : 'نام',
- value : 'مقدار',
- charWidth : 'پهنای نویسه',
- maxChars : 'بیشینهٴ نویسهها',
- type : 'نوع',
- typeText : 'متن',
- typePass : 'گذرواژه'
- },
-
- // Hidden Field Dialog.
- hidden :
- {
- title : 'ویژگیهای Ùیلد پنهان',
- name : 'نام',
- value : 'مقدار'
- },
-
- // Image Dialog.
- image :
- {
- title : 'ویژگیهای تصویر',
- titleButton : 'ویژگیهای دکمهٴ تصویری',
- menu : 'ویژگیهای تصویر',
- infoTab : 'اطلاعات تصویر',
- btnUpload : 'به سرور بÙرست',
- upload : 'انتقال به سرور',
- alt : 'متن جایگزین',
- lockRatio : 'Ù‚ÙÙ„ کردن نسبت',
- resetSize : 'بازنشانی اندازه',
- border : 'لبه',
- hSpace : 'Ùاصلهٴ اÙÙ‚ÛŒ',
- vSpace : 'Ùاصلهٴ عمودی',
- alertUrl : 'لطÙا URL تصویر را بنویسید',
- linkTab : 'پیوند',
- button2Img : 'آیا مایلید از یک تصویر ساده روی دکمه تصویری انتخاب شده استÙاده کنید؟',
- img2Button : 'آیا مایلید از یک دکمه تصویری روی تصویر انتخاب شده استÙاده کنید؟',
- urlMissing : 'آدرس URL اصلی تصویر یاÙت نشد.',
- validateBorder : 'مقدار خطوط باید یک عدد باشد.',
- validateHSpace : 'مقدار Ùاصلهگذاری اÙÙ‚ÛŒ باید یک عدد باشد.',
- validateVSpace : 'مقدار Ùاصلهگذاری عمودی باید یک عدد باشد.'
- },
-
- // Flash Dialog
- flash :
- {
- properties : 'ویژگیهای Ùلش',
- propertiesTab : 'ویژگیها',
- title : 'ویژگیهای Ùلش',
- chkPlay : 'آغاز خودکار',
- chkLoop : 'اجرای پیاپی',
- chkMenu : 'در دسترس بودن منوی Ùلش',
- chkFull : 'اجازه تمام صÙحه',
- scale : 'مقیاس',
- scaleAll : 'نمایش همه',
- scaleNoBorder : 'بدون کران',
- scaleFit : 'جایگیری کامل',
- access : 'دسترسی به اسکریپت',
- accessAlways : 'همیشه',
- accessSameDomain: 'همان دامنه',
- accessNever : 'هرگز',
- alignAbsBottom : 'پائین مطلق',
- alignAbsMiddle : 'وسط مطلق',
- alignBaseline : 'خط پایه',
- alignTextTop : 'متن بالا',
- quality : 'Ú©ÛŒÙیت',
- qualityBest : 'بهترین',
- qualityHigh : 'بالا',
- qualityAutoHigh : 'بالا - خودکار',
- qualityMedium : 'متوسط',
- qualityAutoLow : 'پایین - خودکار',
- qualityLow : 'پایین',
- windowModeWindow: 'پنجره',
- windowModeOpaque: 'مات',
- windowModeTransparent : 'Ø´ÙاÙ',
- windowMode : 'حالت پنجره',
- flashvars : 'مقادیر برای Ùلش',
- bgcolor : 'رنگ پسزمینه',
- hSpace : 'Ùاصلهٴ اÙÙ‚ÛŒ',
- vSpace : 'Ùاصلهٴ عمودی',
- validateSrc : 'لطÙا URL پیوند را بنویسید',
- validateHSpace : 'مقدار Ùاصلهگذاری اÙÙ‚ÛŒ باید یک عدد باشد.',
- validateVSpace : 'مقدار Ùاصلهگذاری عمودی باید یک عدد باشد.'
- },
-
- // Speller Pages Dialog
- spellCheck :
- {
- toolbar : 'بررسی املا',
- title : 'بررسی املا',
- notAvailable : 'با عرض پوزش خدمات الان در دسترس نیستند.',
- errorLoading : 'خطا در بارگیری برنامه خدمات میزبان: %s.',
- notInDic : 'در واژه~نامه یاÙت نشد',
- changeTo : 'تغییر به',
- btnIgnore : 'چشمپوشی',
- btnIgnoreAll : 'چشمپوشی همه',
- btnReplace : 'جایگزینی',
- btnReplaceAll : 'جایگزینی همه',
- btnUndo : 'واچینش',
- noSuggestions : '- پیشنهادی نیست -',
- progress : 'بررسی املا در حال انجام...',
- noMispell : 'بررسی املا انجام شد. هیچ غلط املائی یاÙت نشد',
- noChanges : 'بررسی املا انجام شد. هیچ واژهای تغییر نیاÙت',
- oneChange : 'بررسی املا انجام شد. یک واژه تغییر یاÙت',
- manyChanges : 'بررسی املا انجام شد. %1 واژه تغییر یاÙت',
- ieSpellDownload : 'بررسی کنندهٴ املا نصب نشده است. آیا میخواهید آن را هماکنون دریاÙت کنید؟'
- },
-
- smiley :
- {
- toolbar : 'خندانک',
- title : 'گنجاندن خندانک',
- options : 'گزینههای خندانک'
- },
-
- elementsPath :
- {
- eleLabel : 'مسیر عناصر',
- eleTitle : '%1 عنصر'
- },
-
- numberedlist : 'Ùهرست شمارهدار',
- bulletedlist : 'Ùهرست نقطهای',
- indent : 'اÙزایش تورÙتگی',
- outdent : 'کاهش تورÙتگی',
-
- justify :
- {
- left : 'چپچین',
- center : 'میانچین',
- right : 'راستچین',
- block : 'بلوکچین'
- },
-
- blockquote : 'بلوک نقل قول',
-
- clipboard :
- {
- title : 'چسباندن',
- cutError : 'تنظیمات امنیتی مرورگر شما اجازه نمیدهد Ú©Ù‡ ویرایشگر به طور خودکار عملکردهای برش را انجام دهد. لطÙا با دکمههای صÙحه کلید این کار را انجام دهید (Ctrl/Cmd+X).',
- copyError : 'تنظیمات امنیتی مرورگر شما اجازه نمیدهد Ú©Ù‡ ویرایشگر به طور خودکار عملکردهای Ú©Ù¾ÛŒ کردن را انجام دهد. لطÙا با دکمههای صÙحه کلید این کار را انجام دهید (Ctrl/Cmd+C).',
- pasteMsg : 'لطÙا متن را با کلیدهای (<STRONG>Ctrl/Cmd+V</STRONG>) در این جعبهٴ متنی بچسبانید Ùˆ <STRONG>پذیرش</STRONG> را بزنید.',
- securityMsg : 'به خاطر تنظیمات امنیتی مرورگر شما، ویرایشگر نمیتواند دسترسی مستقیم به دادههای clipboard داشته باشد. شما باید دوباره آنرا در این پنجره بچسبانید.',
- pasteArea : 'محل چسباندن'
- },
-
- pastefromword :
- {
- confirmCleanup : 'متنی که میخواهید بچسبانید به نظر میرسد که از Word کپی شده است. آیا میخواهید قبل از چسباندن آن را پاکسازی کنید؟',
- toolbar : 'چسباندن از Word',
- title : 'چسباندن از Word',
- error : 'به دلیل بروز خطای داخلی امکان پاکسازی اطلاعات بازنشانی شده وجود ندارد.'
- },
-
- pasteText :
- {
- button : 'چسباندن به عنوان متن Ùساده',
- title : 'چسباندن به عنوان متن Ùساده'
- },
-
- templates :
- {
- button : 'الگوها',
- title : 'الگوهای محتویات',
- options : 'گزینههای الگو',
- insertOption : 'محتویات کنونی جایگزین شوند',
- selectPromptMsg : 'لطÙا الگوی موردنظر را برای بازکردن در ویرایشگر برگزینید<br>(محتویات کنونی از دست خواهند رÙت):',
- emptyListMsg : '(الگوئی تعری٠نشده است)'
- },
-
- showBlocks : 'نمایش بلوکها',
-
- stylesCombo :
- {
- label : 'سبک',
- panelTitle : 'سبکهای قالببندی',
- panelTitle1 : 'سبکهای بلوک',
- panelTitle2 : 'سبکهای درونخطی',
- panelTitle3 : 'سبکهای شیء'
- },
-
- format :
- {
- label : 'Ùرمت',
- panelTitle : 'Ùرمت',
-
- tag_p : 'نرمال',
- tag_pre : 'Ùرمت شده',
- tag_address : 'آدرس',
- tag_h1 : 'سرنویس 1',
- tag_h2 : 'سرنویس 2',
- tag_h3 : 'سرنویس 3',
- tag_h4 : 'سرنویس 4',
- tag_h5 : 'سرنویس 5',
- tag_h6 : 'سرنویس 6',
- tag_div : 'بند'
- },
-
- div :
- {
- title : 'ایجاد یک محل DIV',
- toolbar : 'ایجاد یک محل DIV',
- cssClassInputLabel : 'کلاسهای شیوهنامه',
- styleSelectLabel : 'سبک',
- IdInputLabel : 'شناسه',
- languageCodeInputLabel : ' کد زبان',
- inlineStyleInputLabel : 'سبک درونخطی(Inline Style)',
- advisoryTitleInputLabel : 'عنوان مشاوره',
- langDirLabel : 'جهت نوشتاری زبان',
- langDirLTRLabel : 'چپ به راست (LTR)',
- langDirRTLLabel : 'راست به چپ (RTL)',
- edit : 'ویرایش Div',
- remove : 'حذ٠Div'
- },
-
- iframe :
- {
- title : 'ویژگیهای IFrame',
- toolbar : 'IFrame',
- noUrl : 'لطÙا مسیر URL iframe را درج کنید',
- scrolling : 'نمایش خطکشها',
- border : 'نمایش خطوط frame'
- },
-
- font :
- {
- label : 'قلم',
- voiceLabel : 'قلم',
- panelTitle : 'قلم'
- },
-
- fontSize :
- {
- label : 'اندازه',
- voiceLabel : 'اندازه قلم',
- panelTitle : 'اندازه'
- },
-
- colorButton :
- {
- textColorTitle : 'رنگ متن',
- bgColorTitle : 'رنگ پسزمینه',
- panelTitle : 'رنگها',
- auto : 'خودکار',
- more : 'رنگهای بیشتر...'
- },
-
- 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' : 'سÙید'
- },
-
- scayt :
- {
- title : 'بررسی املای تایپ شما',
- opera_title : 'توسط اپرا پشتیبانی نمیشود',
- enable : 'Ùعالسازی SCAYT',
- disable : 'غیرÙعالسازی SCAYT',
- about : 'درباره SCAYT',
- toggle : 'ضامن SCAYT',
- options : 'گزینهها',
- langs : 'زبانها',
- moreSuggestions : 'پیشنهادهای بیشتر',
- ignore : 'عبور کردن',
- ignoreAll : 'عبور کردن از همه',
- addWord : 'اÙزودن Word',
- emptyDic : 'نام دیکشنری نباید خالی باشد.',
- noSuggestions : 'No suggestions', // MISSING
- optionsTab : 'گزینهها',
- allCaps : 'نادیده گرÙتن همه کلاه-واژهها',
- ignoreDomainNames : 'عبور از نامهای دامنه',
- mixedCase : 'عبور از کلماتی مرکب از حرو٠بزرگ و کوچک',
- mixedWithDigits : 'عبور از کلمات به همراه عدد',
-
- languagesTab : 'زبانها',
-
- dictionariesTab : 'دیکشنریها',
- dic_field_name : 'نام دیکشنری',
- dic_create : 'ایجاد',
- dic_restore : 'بازیاÙت',
- dic_delete : 'حذÙ',
- dic_rename : 'تغییر نام',
- dic_info : 'در ابتدا دیکشنری کاربر در Ú©ÙˆÚ©ÛŒ ذخیره میشود. با این حال، کوکیها در اندازه محدود شدهاند. وقتی Ú©Ù‡ دیکشنری کاربری بزرگ میشود Ùˆ به نقطهای Ú©Ù‡ نمیتواند در Ú©ÙˆÚ©ÛŒ ذخیره شود، پس از آن دیکشنری ممکن است بر روی سرور ما ذخیره شود. برای ذخیره دیکشنری شخصی شما بر روی سرور ما، باید یک نام برای دیکشنری خود مشخص نمایید. اگر شما قبلا یک دیکشنری روی سرور ما ذخیره کردهاید، لطÙا نام آنرا درج Ùˆ روی دکمه بازیاÙت کلیک نمایید.',
-
- aboutTab : 'درباره'
- },
-
- about :
- {
- title : 'درباره CKEditor',
- dlgTitle : 'درباره CKEditor',
- help : 'بررسی $1 برای راهنمایی.',
- userGuide : 'راهنمای کاربران CKEditor',
- moreInfo : 'برای کسب اطلاعات مجوز لطÙا به وب سایت ما مراجعه کنید:',
- copy : 'حق نشر &copy; $1. کلیه حقوق محÙوظ است.'
- },
-
- maximize : 'حداکثر کردن',
- minimize : 'حداقل کردن',
-
- fakeobjects :
- {
- anchor : 'لنگر',
- flash : 'انیمشن Ùلش',
- iframe : 'IFrame',
- hiddenfield : 'Ùیلد پنهان',
- unknown : 'شیء ناشناخته'
- },
-
- resize : 'کشیدن برای تغییر اندازه',
-
- colordialog :
- {
- title : 'انتخاب رنگ',
- options : 'گزینههای رنگ',
- highlight : 'متمایز',
- selected : 'رنگ انتخاب شده',
- clear : 'پاک کردن'
- },
-
- toolbarCollapse : 'بستن نوار ابزار',
- toolbarExpand : 'بازکردن نوار ابزار',
-
- toolbarGroups :
- {
- document : 'سند',
- clipboard : 'حاÙظه موقت/برگشت',
- editing : 'در حال ویرایش',
- forms : 'Ùرمها',
- basicstyles : 'شیوههای پایه',
- paragraph : 'بند',
- links : 'پیوندها',
- insert : 'ورود',
- styles : 'شیوهها',
- colors : 'رنگها',
- tools : 'ابزارها'
- },
-
- bidi :
- {
- ltr : 'نوشتار متن از چپ به راست',
- rtl : 'نوشتار متن از راست به چپ'
- },
-
- docprops :
- {
- label : 'ویژگیهای سند',
- title : 'ویژگیهای سند',
- design : 'طراحی',
- meta : 'Ùراداده',
- chooseColor : 'انتخاب',
- other : '<سایر>',
- docTitle : 'عنوان صÙحه',
- charset : 'رمزگذاری نویسهگان',
- charsetOther : 'رمزگذاری نویسهگان دیگر',
- charsetASCII : 'ASCII',
- charsetCE : 'اروپای مرکزی',
- charsetCT : 'چینی رسمی (Big5)',
- charsetCR : 'سیریلیک',
- charsetGR : 'یونانی',
- charsetJP : 'ژاپنی',
- charsetKR : 'کرهای',
- charsetTR : 'ترکی',
- charsetUN : 'یونیکÙد (UTF-8)',
- charsetWE : 'اروپای غربی',
- docType : 'عنوان نوع سند',
- docTypeOther : 'عنوان نوع سند دیگر',
- xhtmlDec : 'شامل تعاری٠XHTML',
- bgColor : 'رنگ پسزمینه',
- bgImage : 'URL تصویر پسزمینه',
- bgFixed : 'پسزمینهٴ پیمایش ناپذیر',
- txtColor : 'رنگ متن',
- margin : 'حاشیههای صÙحه',
- marginTop : 'بالا',
- marginLeft : 'Ú†Ù¾',
- marginRight : 'راست',
- marginBottom : 'پایین',
- metaKeywords : 'کلیدواژگان نمایهگذاری سند (با کاما جدا شوند)',
- metaDescription : 'توصی٠سند',
- metaAuthor : 'نویسنده',
- metaCopyright : 'حق انتشار',
- previewHtml : '<p>این یک <strong>متن نمونه</strong> است. شما در حال استÙاده از <a href="javascript:void(0)">CKEditor</a> هستید.</p>'
- }
-};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/fi.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/fi.js
deleted file mode 100644
index 2daaa20..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/fi.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.fi={dir:'ltr',editorTitle:'Rikastekstieditori, %1',editorHelp:'Paina ALT 0 nähdäksesi ohjeen',toolbars:'Editorin työkalupalkit',editor:'Rikastekstieditori',source:'Koodi',newPage:'Tyhjennä',save:'Tallenna',preview:'Esikatsele',cut:'Leikkaa',copy:'Kopioi',paste:'Liitä',print:'Tulosta',underline:'Alleviivattu',bold:'Lihavoitu',italic:'Kursivoitu',selectAll:'Valitse kaikki',removeFormat:'Poista muotoilu',strike:'Yliviivattu',subscript:'Alaindeksi',superscript:'Yläindeksi',horizontalrule:'Lisää murtoviiva',pagebreak:'Lisää sivunvaihto',pagebreakAlt:'Sivunvaihto',unlink:'Poista linkki',undo:'Kumoa',redo:'Toista',common:{browseServer:'Selaa palvelinta',url:'Osoite',protocol:'Protokolla',upload:'Lisää tiedosto',uploadSubmit:'Lähetä palvelimelle',image:'Kuva',flash:'Flash-animaatio',form:'Lomake',checkbox:'Valintaruutu',radio:'Radiopainike',textField:'Tekstikenttä',textarea:'Tekstilaatikko',hiddenField:'Piilokenttä',button:'Painike',select:'Valintakenttä',imageButton:'Kuvapainike',notSet:'<ei asetettu>',id:'Tunniste',name:'Nimi',langDir:'Kielen suunta',langDirLtr:'Vasemmalta oikealle (LTR)',langDirRtl:'Oikealta vasemmalle (RTL)',langCode:'Kielikoodi',longDescr:'Pitkän kuvauksen URL',cssClass:'Tyyliluokat',advisoryTitle:'Avustava otsikko',cssStyle:'Tyyli',ok:'OK',cancel:'Peruuta',close:'Sulje',preview:'Esikatselu',generalTab:'Yleinen',advancedTab:'Lisäominaisuudet',validateNumberFailed:'Arvon pitää olla numero.',confirmNewPage:'Kaikki tallentamattomat muutokset tähän sisältöön menetetään. Oletko varma, että haluat ladata uuden sivun?',confirmCancel:'Jotkut asetuksista on muuttuneet. Oletko varma, että haluat sulkea valintaikkunan?',options:'Asetukset',target:'Kohde',targetNew:'Uusi ikkuna (_blank)',targetTop:'Päällimmäinen ikkuna (_top)',targetSelf:'Sama ikkuna (_self)',targetParent:'Ylemmän tason ikkuna (_parent)',langDirLTR:'Vasemmalta oikealle (LTR)',langDirRTL:'Oikealta vasemmalle (RTL)',styles:'Tyyli',cssClasses:'Tyylitiedoston luokat',width:'Leveys',height:'Korkeus',align:'Kohdistus',alignLeft:'Vasemmalle',alignRight:'Oikealle',alignCenter:'Keskelle',alignTop:'Ylös',alignMiddle:'Keskelle',alignBottom:'Alas',invalidValue:'Virheellinen arvo.',invalidHeight:'Korkeuden täytyy olla numero.',invalidWidth:'Leveyden täytyy olla numero.',invalidCssLength:'Kentän "%1" arvon täytyy olla positiivinen luku CSS mittayksikön (px, %, in, cm, mm, em, ex, pt tai pc) kanssa tai ilman.',invalidHtmlLength:'Kentän "%1" arvon täytyy olla positiivinen luku HTML mittayksikön (px tai %) kanssa tai ilman.',invalidInlineStyle:'Tyylille annetun arvon täytyy koostua yhdestä tai useammasta "nimi : arvo" parista, jotka ovat eroteltuna toisistaan puolipisteillä.',cssLengthTooltip:'Anna numeroarvo pikseleinä tai numeroarvo CSS mittayksikön kanssa (px, %, in, cm, mm, em, ex, pt, tai pc).',unavailable:'%1<span class="cke_accessibility">, ei saatavissa</span>'},contextmenu:{options:'Pikavalikon ominaisuudet'},specialChar:{toolbar:'Lisää erikoismerkki',title:'Valitse erikoismerkki',options:'Erikoismerkin ominaisuudet'},link:{toolbar:'Lisää linkki/muokkaa linkkiä',other:'<muu>',menu:'Muokkaa linkkiä',title:'Linkki',info:'Linkin tiedot',target:'Kohde',upload:'Lisää tiedosto',advanced:'Lisäominaisuudet',type:'Linkkityyppi',toUrl:'Osoite',toAnchor:'Ankkuri tässä sivussa',toEmail:'Sähköposti',targetFrame:'<kehys>',targetPopup:'<popup ikkuna>',targetFrameName:'Kohdekehyksen nimi',targetPopupName:'Popup ikkunan nimi',popupFeatures:'Popup ikkunan ominaisuudet',popupResizable:'Venytettävä',popupStatusBar:'Tilarivi',popupLocationBar:'Osoiterivi',popupToolbar:'Vakiopainikkeet',popupMenuBar:'Valikkorivi',popupFullScreen:'Täysi ikkuna (IE)',popupScrollBars:'Vierityspalkit',popupDependent:'Riippuva (Netscape)',popupLeft:'Vasemmalta (px)',popupTop:'Ylhäältä (px)',id:'Tunniste',langDir:'Kielen suunta',langDirLTR:'Vasemmalta oikealle (LTR)',langDirRTL:'Oikealta vasemmalle (RTL)',acccessKey:'Pikanäppäin',name:'Nimi',langCode:'Kielen suunta',tabIndex:'Tabulaattori indeksi',advisoryTitle:'Avustava otsikko',advisoryContentType:'Avustava sisällön tyyppi',cssClasses:'Tyyliluokat',charset:'Linkitetty kirjaimisto',styles:'Tyyli',rel:'Suhde',selectAnchor:'Valitse ankkuri',anchorName:'Ankkurin nimen mukaan',anchorId:'Ankkurin ID:n mukaan',emailAddress:'Sähköpostiosoite',emailSubject:'Aihe',emailBody:'Viesti',noAnchors:'(Ei ankkureita tässä dokumentissa)',noUrl:'Linkille on kirjoitettava URL',noEmail:'Kirjoita sähköpostiosoite'},anchor:{toolbar:'Lisää ankkuri/muokkaa ankkuria',menu:'Ankkurin ominaisuudet',title:'Ankkurin ominaisuudet',name:'Nimi',errorName:'Ankkurille on kirjoitettava nimi',remove:'Poista ankkuri'},list:{numberedTitle:'Numeroidun listan ominaisuudet',bulletedTitle:'Numeroimattoman listan ominaisuudet',type:'Tyyppi',start:'Alku',validateStartNumber:'Listan ensimmäisen numeron tulee olla kokonaisluku.',circle:'Ympyrä',disc:'Levy',square:'Neliö',none:'Ei mikään',notset:'<ei asetettu>',armenian:'Armeenialainen numerointi',georgian:'Georgialainen numerointi (an, ban, gan, etc.)',lowerRoman:'Pienet roomalaiset (i, ii, iii, iv, v, jne.)',upperRoman:'Isot roomalaiset (I, II, III, IV, V, jne.)',lowerAlpha:'Pienet aakkoset (a, b, c, d, e, jne.)',upperAlpha:'Isot aakkoset (A, B, C, D, E, jne.)',lowerGreek:'Pienet kreikkalaiset (alpha, beta, gamma, jne.)',decimal:'Desimaalit (1, 2, 3, jne.)',decimalLeadingZero:'Desimaalit, alussa nolla (01, 02, 03, jne.)'},findAndReplace:{title:'Etsi ja korvaa',find:'Etsi',replace:'Korvaa',findWhat:'Etsi mitä:',replaceWith:'Korvaa tällä:',notFoundMsg:'Etsittyä tekstiä ei löytynyt.',findOptions:'Hakuasetukset',matchCase:'Sama kirjainkoko',matchWord:'Koko sana',matchCyclic:'Kierrä ympäri',replaceAll:'Korvaa kaikki',replaceSuccessMsg:'%1 esiintymä(ä) korvattu.'},table:{toolbar:'Taulu',title:'Taulun ominaisuudet',menu:'Taulun ominaisuudet',deleteTable:'Poista taulu',rows:'Rivit',columns:'Sarakkeet',border:'Rajan paksuus',widthPx:'pikseliä',widthPc:'prosenttia',widthUnit:'leveysyksikkö',cellSpace:'Solujen väli',cellPad:'Solujen sisennys',caption:'Otsikko',summary:'Yhteenveto',headers:'Ylätunnisteet',headersNone:'Ei',headersColumn:'Ensimmäinen sarake',headersRow:'Ensimmäinen rivi',headersBoth:'Molemmat',invalidRows:'Rivien määrän täytyy olla suurempi kuin 0.',invalidCols:'Sarakkeiden määrän täytyy olla suurempi kuin 0.',invalidBorder:'Reunan koon täytyy olla numero.',invalidWidth:'Taulun leveyden täytyy olla numero.',invalidHeight:'Taulun korkeuden täytyy olla numero.',invalidCellSpacing:'Solujen välin täytyy olla numero.',invalidCellPadding:'Solujen sisennyksen täytyy olla numero.',cell:{menu:'Solu',insertBefore:'Lisää solu eteen',insertAfter:'Lisää solu perään',deleteCell:'Poista solut',merge:'Yhdistä solut',mergeRight:'Yhdistä oikealla olevan kanssa',mergeDown:'Yhdistä alla olevan kanssa',splitHorizontal:'Jaa solu vaakasuunnassa',splitVertical:'Jaa solu pystysuunnassa',title:'Solun ominaisuudet',cellType:'Solun tyyppi',rowSpan:'Rivin jatkuvuus',colSpan:'Solun jatkuvuus',wordWrap:'Rivitys',hAlign:'Horisontaali kohdistus',vAlign:'Vertikaali kohdistus',alignBaseline:'Alas (teksti)',bgColor:'Taustan väri',borderColor:'Reunan väri',data:'Data',header:'Ylätunniste',yes:'Kyllä',no:'Ei',invalidWidth:'Solun leveyden täytyy olla numero.',invalidHeight:'Solun korkeuden täytyy olla numero.',invalidRowSpan:'Rivin jatkuvuuden täytyy olla kokonaisluku.',invalidColSpan:'Solun jatkuvuuden täytyy olla kokonaisluku.',chooseColor:'Valitse'},row:{menu:'Rivi',insertBefore:'Lisää rivi yläpuolelle',insertAfter:'Lisää rivi alapuolelle',deleteRow:'Poista rivit'},column:{menu:'Sarake',insertBefore:'Lisää sarake vasemmalle',insertAfter:'Lisää sarake oikealle',deleteColumn:'Poista sarakkeet'}},button:{title:'Painikkeen ominaisuudet',text:'Teksti (arvo)',type:'Tyyppi',typeBtn:'Painike',typeSbm:'Lähetä',typeRst:'Tyhjennä'},checkboxAndRadio:{checkboxTitle:'Valintaruudun ominaisuudet',radioTitle:'Radiopainikkeen ominaisuudet',value:'Arvo',selected:'Valittu'},form:{title:'Lomakkeen ominaisuudet',menu:'Lomakkeen ominaisuudet',action:'Toiminto',method:'Tapa',encoding:'Enkoodaus'},select:{title:'Valintakentän ominaisuudet',selectInfo:'Info',opAvail:'Ominaisuudet',value:'Arvo',size:'Koko',lines:'Rivit',chkMulti:'Salli usea valinta',opText:'Teksti',opValue:'Arvo',btnAdd:'Lisää',btnModify:'Muuta',btnUp:'Ylös',btnDown:'Alas',btnSetValue:'Aseta valituksi',btnDelete:'Poista'},textarea:{title:'Tekstilaatikon ominaisuudet',cols:'Sarakkeita',rows:'Rivejä'},textfield:{title:'Tekstikentän ominaisuudet',name:'Nimi',value:'Arvo',charWidth:'Leveys',maxChars:'Maksimi merkkimäärä',type:'Tyyppi',typeText:'Teksti',typePass:'Salasana'},hidden:{title:'Piilokentän ominaisuudet',name:'Nimi',value:'Arvo'},image:{title:'Kuvan ominaisuudet',titleButton:'Kuvapainikkeen ominaisuudet',menu:'Kuvan ominaisuudet',infoTab:'Kuvan tiedot',btnUpload:'Lähetä palvelimelle',upload:'Lisää kuva',alt:'Vaihtoehtoinen teksti',lockRatio:'Lukitse suhteet',resetSize:'Alkuperäinen koko',border:'Kehys',hSpace:'Vaakatila',vSpace:'Pystytila',alertUrl:'Kirjoita kuvan osoite (URL)',linkTab:'Linkki',button2Img:'Haluatko muuntaa valitun kuvanäppäimen kuvaksi?',img2Button:'Haluatko muuntaa valitun kuvan kuvanäppäimeksi?',urlMissing:'Kuvan lähdeosoite puuttuu.',validateBorder:'Kehyksen täytyy olla kokonaisluku.',validateHSpace:'HSpace-määrityksen täytyy olla kokonaisluku.',validateVSpace:'VSpace-määrityksen täytyy olla kokonaisluku.'},flash:{properties:'Flash-ominaisuudet',propertiesTab:'Ominaisuudet',title:'Flash ominaisuudet',chkPlay:'Automaattinen käynnistys',chkLoop:'Toisto',chkMenu:'Näytä Flash-valikko',chkFull:'Salli kokoruututila',scale:'Levitä',scaleAll:'Näytä kaikki',scaleNoBorder:'Ei rajaa',scaleFit:'Tarkka koko',access:'Skriptien pääsy',accessAlways:'Aina',accessSameDomain:'Sama verkkotunnus',accessNever:'Ei koskaan',alignAbsBottom:'Aivan alas',alignAbsMiddle:'Aivan keskelle',alignBaseline:'Alas (teksti)',alignTextTop:'Ylös (teksti)',quality:'Laatu',qualityBest:'Paras',qualityHigh:'Korkea',qualityAutoHigh:'Automaattinen korkea',qualityMedium:'Keskitaso',qualityAutoLow:'Automaattinen matala',qualityLow:'Matala',windowModeWindow:'Ikkuna',windowModeOpaque:'Läpinäkyvyys',windowModeTransparent:'Läpinäkyvä',windowMode:'Ikkuna tila',flashvars:'Muuttujat Flash:lle',bgcolor:'Taustaväri',hSpace:'Vaakatila',vSpace:'Pystytila',validateSrc:'Linkille on kirjoitettava URL',validateHSpace:'Vaakatilan täytyy olla numero.',validateVSpace:'Pystytilan täytyy olla numero.'},spellCheck:{toolbar:'Tarkista oikeinkirjoitus',title:'Oikoluku',notAvailable:'Valitettavasti oikoluku ei ole käytössä tällä hetkellä.',errorLoading:'Virhe ladattaessa oikolukupalvelua isännältä: %s.',notInDic:'Ei sanakirjassa',changeTo:'Vaihda',btnIgnore:'Jätä huomioimatta',btnIgnoreAll:'Jätä kaikki huomioimatta',btnReplace:'Korvaa',btnReplaceAll:'Korvaa kaikki',btnUndo:'Kumoa',noSuggestions:'Ei ehdotuksia',progress:'Tarkistus käynnissä...',noMispell:'Tarkistus valmis: Ei virheitä',noChanges:'Tarkistus valmis: Yhtään sanaa ei muutettu',oneChange:'Tarkistus valmis: Yksi sana muutettiin',manyChanges:'Tarkistus valmis: %1 sanaa muutettiin',ieSpellDownload:'Oikeinkirjoituksen tarkistusta ei ole asennettu. Haluatko ladata sen nyt?'},smiley:{toolbar:'Hymiö',title:'Lisää hymiö',options:'Hymiön ominaisuudet'},elementsPath:{eleLabel:'Elementin polku',eleTitle:'%1 elementti'},numberedlist:'Numerointi',bulletedlist:'Luottelomerkit',indent:'Suurenna sisennystä',outdent:'Pienennä sisennystä',justify:{left:'Tasaa vasemmat reunat',center:'Keskitä',right:'Tasaa oikeat reunat',block:'Tasaa molemmat reunat'},blockquote:'Lainaus',clipboard:{title:'Liitä',cutError:'Selaimesi turva-asetukset eivät salli editorin toteuttaa leikkaamista. Käytä näppäimistöä leikkaamiseen (Ctrl+X).',copyError:'Selaimesi turva-asetukset eivät salli editorin toteuttaa kopioimista. Käytä näppäimistöä kopioimiseen (Ctrl+C).',pasteMsg:'Liitä painamalla (<STRONG>Ctrl+V</STRONG>) ja painamalla <STRONG>OK</STRONG>.',securityMsg:'Selaimesi turva-asetukset eivät salli editorin käyttää leikepöytää suoraan. Sinun pitää suorittaa liittäminen tässä ikkunassa.',pasteArea:'Leikealue'},pastefromword:{confirmCleanup:'Liittämäsi teksti näyttäisi olevan Word-dokumentista. Haluatko siivota sen ennen liittämistä? (Suositus: Kyllä)',toolbar:'Liitä Word-dokumentista',title:'Liitä Word-dokumentista',error:'Liitetyn tiedon siivoaminen ei onnistunut sisäisen virheen takia'},pasteText:{button:'Liitä tekstinä',title:'Liitä tekstinä'},templates:{button:'Pohjat',title:'Sisältöpohjat',options:'Sisältöpohjan ominaisuudet',insertOption:'Korvaa editorin koko sisältö',selectPromptMsg:'Valitse pohja editoriin<br>(aiempi sisältö menetetään):',emptyListMsg:'(Ei määriteltyjä pohjia)'},showBlocks:'Näytä elementit',stylesCombo:{label:'Tyyli',panelTitle:'Muotoilujen tyylit',panelTitle1:'Lohkojen tyylit',panelTitle2:'Rivinsisäiset tyylit',panelTitle3:'Objektien tyylit'},format:{label:'Muotoilu',panelTitle:'Muotoilu',tag_p:'Normaali',tag_pre:'Muotoiltu',tag_address:'Osoite',tag_h1:'Otsikko 1',tag_h2:'Otsikko 2',tag_h3:'Otsikko 3',tag_h4:'Otsikko 4',tag_h5:'Otsikko 5',tag_h6:'Otsikko 6',tag_div:'Normaali (DIV)'},div:{title:'Luo div-kehikko',toolbar:'Luo div-kehikko',cssClassInputLabel:'Tyylitiedoston luokat',styleSelectLabel:'Tyyli',IdInputLabel:'Id',languageCodeInputLabel:' Kielen koodi',inlineStyleInputLabel:'Sisätyyli',advisoryTitleInputLabel:'Ohjeistava otsikko',langDirLabel:'Kielen suunta',langDirLTRLabel:'Vasemmalta oikealle (LTR)',langDirRTLLabel:'Oikealta vasemmalle (RTL)',edit:'Muokkaa Diviä',remove:'Poista Div'},iframe:{title:'IFrame-kehyksen ominaisuudet',toolbar:'IFrame-kehys',noUrl:'Anna IFrame-kehykselle lähdeosoite (src)',scrolling:'Näytä vierityspalkit',border:'Näytä kehyksen reunat'},font:{label:'Kirjaisinlaji',voiceLabel:'Kirjaisinlaji',panelTitle:'Kirjaisinlaji'},fontSize:{label:'Koko',voiceLabel:'Kirjaisimen koko',panelTitle:'Koko'},colorButton:{textColorTitle:'Tekstiväri',bgColorTitle:'Taustaväri',panelTitle:'Värit',auto:'Automaattinen',more:'Lisää värejä...'},colors:{'000':'Musta',800000:'Kastanjanruskea','8B4513':'Satulanruskea','2F4F4F':'Tumma liuskekivenharmaa','008080':'Sinivihreä','000080':'Laivastonsininen','4B0082':'Indigonsininen',696969:'Tummanharmaa',B22222:'Tiili',A52A2A:'Ruskea',DAA520:'Kultapiisku','006400':'Tummanvihreä','40E0D0':'Turkoosi','0000CD':'Keskisininen',800080:'Purppura',808080:'Harmaa',F00:'Punainen',FF8C00:'Tumma oranssi',FFD700:'Kulta','008000':'Vihreä','0FF':'Syaani','00F':'Sininen',EE82EE:'Violetti',A9A9A9:'Tummanharmaa',FFA07A:'Vaaleanlohenpunainen',FFA500:'Oranssi',FFFF00:'Keltainen','00FF00':'Limetin vihreä',AFEEEE:'Haalea turkoosi',ADD8E6:'Vaaleansininen',DDA0DD:'Luumu',D3D3D3:'Vaaleanharmaa',FFF0F5:'Laventelinpunainen',FAEBD7:'Antiikinvalkoinen',FFFFE0:'Vaaleankeltainen',F0FFF0:'Hunajameloni',F0FFFF:'Asurinsininen',F0F8FF:'Alice Blue -sininen',E6E6FA:'Lavanteli',FFF:'Valkoinen'},scayt:{title:'Oikolue kirjoitettaessa',opera_title:'Opera ei tue tätä ominaisuutta',enable:'Ota käyttöön oikoluku kirjoitettaessa',disable:'Poista käytöstä oikoluku kirjoitetaessa',about:'Tietoja oikoluvusta kirjoitetaessa',toggle:'Vaihda oikoluku kirjoittaessa tilaa',options:'Asetukset',langs:'Kielet',moreSuggestions:'Lisää ehdotuksia',ignore:'Ohita',ignoreAll:'Ohita kaikki',addWord:'Lisää sana',emptyDic:'Sanakirjan nimi on annettava.',noSuggestions:'Ei ehdotuksia',optionsTab:'Asetukset',allCaps:'Ohita sanat, jotka on kirjoitettu kokonaan isoilla kirjaimilla',ignoreDomainNames:'Ohita verkkotunnukset',mixedCase:'Ohita sanat, joissa on sekoitettu isoja ja pieniä kirjaimia',mixedWithDigits:'Ohita sanat, joissa on numeroita',languagesTab:'Kielet',dictionariesTab:'Sanakirjat',dic_field_name:'Sanakirjan nimi',dic_create:'Luo',dic_restore:'Palauta',dic_delete:'Poista',dic_rename:'Nimeä uudelleen',dic_info:'Oletuksena sanakirjat tallennetaan evästeeseen, mutta evästeiden koko on kuitenkin rajallinen. Sanakirjan kasvaessa niin suureksi, ettei se enää mahdu evästeeseen, sanakirja täytyy tallentaa palvelimellemme. Tallentaaksesi sanakirjasi palvelimellemme tulee sinun antaa sille nimi. Jos olet jo tallentanut sanakirjan, anna sen nimi ja klikkaa Palauta-painiketta',aboutTab:'Tietoa'},about:{title:'Tietoa CKEditorista',dlgTitle:'Tietoa CKEditorista',help:'Katso ohjeet: $1.',userGuide:'CKEditorin käyttäjäopas',moreInfo:'Lisenssitiedot löytyvät kotisivuiltamme:',copy:'Copyright &copy; $1. Kaikki oikeuden pidätetään.'},maximize:'Suurenna',minimize:'Pienennä',fakeobjects:{anchor:'Ankkuri',flash:'Flash animaatio',iframe:'IFrame-kehys',hiddenfield:'Piilokenttä',unknown:'Tuntematon objekti'},resize:'Raahaa muuttaaksesi kokoa',colordialog:{title:'Valitse väri',options:'Värin ominaisuudet',highlight:'Korostus',selected:'Valittu',clear:'Poista'},toolbarCollapse:'Kutista työkalupalkki',toolbarExpand:'Laajenna työkalupalkki',toolbarGroups:{document:'Dokumentti',clipboard:'Leikepöytä/Kumoa',editing:'Muokkaus',forms:'Lomakkeet',basicstyles:'Perustyylit',paragraph:'Kappale',links:'Linkit',insert:'Lisää',styles:'Tyylit',colors:'Värit',tools:'Työkalut'},bidi:{ltr:'Tekstin suunta vasemmalta oikealle',rtl:'Tekstin suunta oikealta vasemmalle'},docprops:{label:'Dokumentin ominaisuudet',title:'Dokumentin ominaisuudet',design:'Sommittelu',meta:'Metatieto',chooseColor:'Valitse',other:'<muu>',docTitle:'Sivun nimi',charset:'Merkistökoodaus',charsetOther:'Muu merkistökoodaus',charsetASCII:'ASCII',charsetCE:'Keskieurooppalainen',charsetCT:'Kiina, perinteinen (Big5)',charsetCR:'Kyrillinen',charsetGR:'Kreikka',charsetJP:'Japani',charsetKR:'Korealainen',charsetTR:'Turkkilainen',charsetUN:'Unicode (UTF-8)',charsetWE:'Länsieurooppalainen',docType:'Dokumentin tyyppi',docTypeOther:'Muu dokumentin tyyppi',xhtmlDec:'Lisää XHTML julistukset',bgColor:'Taustaväri',bgImage:'Taustakuva',bgFixed:'Paikallaanpysyvä tausta',txtColor:'Tekstiväri',margin:'Sivun marginaalit',marginTop:'Ylä',marginLeft:'Vasen',marginRight:'Oikea',marginBottom:'Ala',metaKeywords:'Hakusanat (pilkulla erotettuna)',metaDescription:'Kuvaus',metaAuthor:'Tekijä',metaCopyright:'Tekijänoikeudet',previewHtml:'<p>Tämä on <strong>esimerkkitekstiä</strong>. Käytät juuri <a href="javascript:void(0)">CKEditoria</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/fo.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/fo.js
deleted file mode 100644
index 21edbd4..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/fo.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.fo={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Trýst ALT og 0 fyri vegleiðing',toolbars:'Editor toolbars',editor:'Rich Text Editor',source:'Kelda',newPage:'Nýggj síða',save:'Goym',preview:'Frumsýning',cut:'Kvett',copy:'Avrita',paste:'Innrita',print:'Prenta',underline:'Undirstrikað',bold:'Feit skrift',italic:'Skráskrift',selectAll:'Markera alt',removeFormat:'Strika sniðgeving',strike:'Yvirstrikað',subscript:'Lækkað skrift',superscript:'Hækkað skrift',horizontalrule:'Ger vatnrætta linju',pagebreak:'Ger síðuskift',pagebreakAlt:'Síðuskift',unlink:'Strika tilknýti',undo:'Angra',redo:'Vend aftur',common:{browseServer:'Ambætarakagi',url:'URL',protocol:'Protokoll',upload:'Send til ambætaran',uploadSubmit:'Send til ambætaran',image:'Myndir',flash:'Flash',form:'Formur',checkbox:'Flugubein',radio:'Radioknøttur',textField:'Tekstteigur',textarea:'Tekstumráði',hiddenField:'Fjaldur teigur',button:'Knøttur',select:'Valskrá',imageButton:'Myndaknøttur',notSet:'<ikki sett>',id:'Id',name:'Navn',langDir:'Tekstkós',langDirLtr:'Frá vinstru til høgru (LTR)',langDirRtl:'Frá høgru til vinstru (RTL)',langCode:'Málkoda',longDescr:'Víðkað URL frágreiðing',cssClass:'Typografi klassar',advisoryTitle:'Vegleiðandi heiti',cssStyle:'Typografi',ok:'Góðkent',cancel:'Avlýst',close:'Lat aftur',preview:'Frumsýn',generalTab:'Generelt',advancedTab:'Fjølbroytt',validateNumberFailed:'Hetta er ikki eitt tal.',confirmNewPage:'Allar ikki goymdar broytingar í hesum innihaldið hvørva. Skal nýggj síða lesast kortini?',confirmCancel:'Nakrir valmøguleikar eru broyttir. Ert tú vísur í, at dialogurin skal latast aftur?',options:'Options',target:'Target',targetNew:'Nýtt vindeyga (_blank)',targetTop:'Vindeyga ovast (_top)',targetSelf:'Sama vindeyga (_self)',targetParent:'Upphavligt vindeyga (_parent)',langDirLTR:'Frá vinstru til høgru (LTR)',langDirRTL:'Frá høgru til vinstru (RTL)',styles:'Style',cssClasses:'Stylesheet Classes',width:'Breidd',height:'Hædd',align:'Justering',alignLeft:'Vinstra',alignRight:'Høgra',alignCenter:'Miðsett',alignTop:'Ovast',alignMiddle:'Miðja',alignBottom:'Botnur',invalidValue:'Invalid value.',invalidHeight:'Hædd má vera eitt tal.',invalidWidth:'Breidd má vera eitt tal.',invalidCssLength:'Virðið sett í "%1" feltið má vera eitt positivt tal, við ella uttan gyldugum CSS mátieind (px, %, in, cm, mm, em, ex, pt, ella pc).',invalidHtmlLength:'Virðið sett í "%1" feltiðield má vera eitt positivt tal, við ella uttan gyldugum CSS mátieind (px ella %).',invalidInlineStyle:'Virði specifiserað fyri inline style má hava eitt ella fleiri pør (tuples) skrivað sum "name : value", hvørt parið sundurskilt við semi-colon.',cssLengthTooltip:'Skriva eitt tal fyri eitt virði í pixels ella eitt tal við gyldigum CSS eind (px, %, in, cm, mm, em, ex, pt, ella pc).',unavailable:'%1<span class="cke_accessibility">, ikki tøkt</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'Set inn sertekn',title:'Vel sertekn',options:'Møguleikar við serteknum'},link:{toolbar:'Ger/broyt tilknýti',other:'<annað>',menu:'Broyt tilknýti',title:'Tilknýti',info:'Tilknýtis upplýsingar',target:'Target',upload:'Send til ambætaran',advanced:'Fjølbroytt',type:'Tilknýtisslag',toUrl:'URL',toAnchor:'Tilknýti til marknastein í tekstinum',toEmail:'Teldupostur',targetFrame:'<ramma>',targetPopup:'<popup vindeyga>',targetFrameName:'Vís navn vindeygans',targetPopupName:'Popup vindeygans navn',popupFeatures:'Popup vindeygans víðkaðu eginleikar',popupResizable:'Stødd kann broytast',popupStatusBar:'Støðufrágreiðingarbjálki',popupLocationBar:'Adressulinja',popupToolbar:'Amboðsbjálki',popupMenuBar:'Skrábjálki',popupFullScreen:'Fullur skermur (IE)',popupScrollBars:'Rullibjálki',popupDependent:'Bundið (Netscape)',popupLeft:'Frástøða frá vinstru',popupTop:'Frástøða frá íerva',id:'Id',langDir:'Tekstkós',langDirLTR:'Frá vinstru til høgru (LTR)',langDirRTL:'Frá høgru til vinstru (RTL)',acccessKey:'Snarvegisknöttur',name:'Navn',langCode:'Tekstkós',tabIndex:'Tabulator indeks',advisoryTitle:'Vegleiðandi heiti',advisoryContentType:'Vegleiðandi innihaldsslag',cssClasses:'Typografi klassar',charset:'Atknýtt teknsett',styles:'Typografi',rel:'Relatión',selectAnchor:'Vel ein marknastein',anchorName:'Eftir navni á marknasteini',anchorId:'Eftir element Id',emailAddress:'Teldupost-adressa',emailSubject:'Evni',emailBody:'Breyðtekstur',noAnchors:'(Eingir marknasteinar eru í hesum dokumentið)',noUrl:'Vinarliga skriva tilknýti (URL)',noEmail:'Vinarliga skriva teldupost-adressu'},anchor:{toolbar:'Ger/broyt marknastein',menu:'Eginleikar fyri marknastein',title:'Eginleikar fyri marknastein',name:'Heiti marknasteinsins',errorName:'Vinarliga rita marknasteinsins heiti',remove:'Strika marknastein'},list:{numberedTitle:'Eginleikar fyri lista við tølum',bulletedTitle:'Eginleikar fyri lista við prikkum',type:'Slag',start:'Byrjan',validateStartNumber:'Byrjunartalið fyri lista má vera eitt heiltal.',circle:'Sirkul',disc:'Disc',square:'Fýrkantur',none:'Einki',notset:'<ikki sett>',armenian:'Armensk talskipan',georgian:'Georgisk talskipan (an, ban, gan, osv.)',lowerRoman:'Lítil rómaratøl (i, ii, iii, iv, v, etc.)',upperRoman:'Stór rómaratøl (I, II, III, IV, V, etc.)',lowerAlpha:'Lítlir bókstavir (a, b, c, d, e, etc.)',upperAlpha:'Stórir bókstavir (A, B, C, D, E, etc.)',lowerGreek:'Grikskt við lítlum (alpha, beta, gamma, etc.)',decimal:'Vanlig tøl (1, 2, 3, etc.)',decimalLeadingZero:'Tøl við null frammanfyri (01, 02, 03, etc.)'},findAndReplace:{title:'Finn og broyt',find:'Leita',replace:'Yvirskriva',findWhat:'Finn:',replaceWith:'Yvirskriva við:',notFoundMsg:'Leititeksturin varð ikki funnin',findOptions:'Finn møguleikar',matchCase:'Munur á stórum og smáum bókstavum',matchWord:'Bert heil orð',matchCyclic:'Match cyclic',replaceAll:'Yvirskriva alt',replaceSuccessMsg:'%1 úrslit broytt.'},table:{toolbar:'Tabell',title:'Eginleikar fyri tabell',menu:'Eginleikar fyri tabell',deleteTable:'Strika tabell',rows:'Røðir',columns:'Kolonnur',border:'Bordabreidd',widthPx:'pixels',widthPc:'prosent',widthUnit:'breiddar unit',cellSpace:'Fjarstøða millum meskar',cellPad:'Meskubreddi',caption:'Tabellfrágreiðing',summary:'Samandráttur',headers:'Yvirskriftir',headersNone:'Eingin',headersColumn:'Fyrsta kolonna',headersRow:'Fyrsta rað',headersBoth:'Báðir',invalidRows:'Talið av røðum má vera eitt tal størri enn 0.',invalidCols:'Talið av kolonnum má vera eitt tal størri enn 0.',invalidBorder:'Borda-stødd má vera eitt tal.',invalidWidth:'Tabell-breidd má vera eitt tal.',invalidHeight:'Tabell-hædd má vera eitt tal.',invalidCellSpacing:'Cell spacing má vera eitt tal.',invalidCellPadding:'Cell padding má vera eitt tal.',cell:{menu:'Meski',insertBefore:'Set meska inn áðrenn',insertAfter:'Set meska inn aftaná',deleteCell:'Strika meskar',merge:'Flætta meskar',mergeRight:'Flætta meskar til høgru',mergeDown:'Flætta saman',splitHorizontal:'Kloyv meska vatnrætt',splitVertical:'Kloyv meska loddrætt',title:'Mesku eginleikar',cellType:'Mesku slag',rowSpan:'Ræð spenni',colSpan:'Kolonnu spenni',wordWrap:'Orðkloyving',hAlign:'Horisontal plasering',vAlign:'Loddrøtt plasering',alignBaseline:'Basislinja',bgColor:'Bakgrundslitur',borderColor:'Bordalitur',data:'Data',header:'Header',yes:'Ja',no:'Nei',invalidWidth:'Meskubreidd má vera eitt tal.',invalidHeight:'Meskuhædd má vera eitt tal.',invalidRowSpan:'Raðspennið má vera eitt heiltal.',invalidColSpan:'Kolonnuspennið má vera eitt heiltal.',chooseColor:'Vel'},row:{menu:'Rað',insertBefore:'Set rað inn áðrenn',insertAfter:'Set rað inn aftaná',deleteRow:'Strika røðir'},column:{menu:'Kolonna',insertBefore:'Set kolonnu inn áðrenn',insertAfter:'Set kolonnu inn aftaná',deleteColumn:'Strika kolonnur'}},button:{title:'Eginleikar fyri knøtt',text:'Tekstur',type:'Slag',typeBtn:'Knøttur',typeSbm:'Send',typeRst:'Nullstilla'},checkboxAndRadio:{checkboxTitle:'Eginleikar fyri flugubein',radioTitle:'Eginleikar fyri radioknøtt',value:'Virði',selected:'Valt'},form:{title:'Eginleikar fyri Form',menu:'Eginleikar fyri Form',action:'Hending',method:'Háttur',encoding:'Encoding'},select:{title:'Eginleikar fyri valskrá',selectInfo:'Upplýsingar',opAvail:'Tøkir møguleikar',value:'Virði',size:'Stødd',lines:'Linjur',chkMulti:'Loyv fleiri valmøguleikum samstundis',opText:'Tekstur',opValue:'Virði',btnAdd:'Legg afturat',btnModify:'Broyt',btnUp:'Upp',btnDown:'Niður',btnSetValue:'Set sum valt virði',btnDelete:'Strika'},textarea:{title:'Eginleikar fyri tekstumráði',cols:'kolonnur',rows:'røðir'},textfield:{title:'Eginleikar fyri tekstteig',name:'Navn',value:'Virði',charWidth:'Breidd (sjónlig tekn)',maxChars:'Mest loyvdu tekn',type:'Slag',typeText:'Tekstur',typePass:'Loyniorð'},hidden:{title:'Eginleikar fyri fjaldan teig',name:'Navn',value:'Virði'},image:{title:'Myndaeginleikar',titleButton:'Eginleikar fyri myndaknøtt',menu:'Myndaeginleikar',infoTab:'Myndaupplýsingar',btnUpload:'Send til ambætaran',upload:'Send',alt:'Alternativur tekstur',lockRatio:'Læs lutfallið',resetSize:'Upprunastødd',border:'Bordi',hSpace:'Høgri breddi',vSpace:'Vinstri breddi',alertUrl:'Rita slóðina til myndina',linkTab:'Tilknýti',button2Img:'Skal valdi myndaknøttur gerast til vanliga mynd?',img2Button:'Skal valda mynd gerast til myndaknøtt?',urlMissing:'URL til mynd manglar.',validateBorder:'Bordi má vera eitt heiltal.',validateHSpace:'HSpace má vera eitt heiltal.',validateVSpace:'VSpace má vera eitt heiltal.'},flash:{properties:'Flash eginleikar',propertiesTab:'Eginleikar',title:'Flash eginleikar',chkPlay:'Avspælingin byrjar sjálv',chkLoop:'Endurspæl',chkMenu:'Ger Flash skrá virkna',chkFull:'Loyv fullan skerm',scale:'Skalering',scaleAll:'Vís alt',scaleNoBorder:'Eingin bordi',scaleFit:'Neyv skalering',access:'Script atgongd',accessAlways:'Altíð',accessSameDomain:'Sama navnaøki',accessNever:'Ongantíð',alignAbsBottom:'Abs botnur',alignAbsMiddle:'Abs miðja',alignBaseline:'Basislinja',alignTextTop:'Tekst toppur',quality:'Góðska',qualityBest:'Besta',qualityHigh:'Høg',qualityAutoHigh:'Auto høg',qualityMedium:'Meðal',qualityAutoLow:'Auto Lág',qualityLow:'Lág',windowModeWindow:'Rútur',windowModeOpaque:'Ikki transparent',windowModeTransparent:'Transparent',windowMode:'Slag av rúti',flashvars:'Variablar fyri Flash',bgcolor:'Bakgrundslitur',hSpace:'Høgri breddi',vSpace:'Vinstri breddi',validateSrc:'Vinarliga skriva tilknýti (URL)',validateHSpace:'HSpace má vera eitt tal.',validateVSpace:'VSpace má vera eitt tal.'},spellCheck:{toolbar:'Kanna stavseting',title:'Kanna stavseting',notAvailable:'Tíverri, ikki tøkt í løtuni.',errorLoading:'Feilur við innlesing av application service host: %s.',notInDic:'Finst ikki í orðabókini',changeTo:'Broyt til',btnIgnore:'Forfjóna',btnIgnoreAll:'Forfjóna alt',btnReplace:'Yvirskriva',btnReplaceAll:'Yvirskriva alt',btnUndo:'Angra',noSuggestions:'- Einki uppskot -',progress:'Rættstavarin arbeiðir...',noMispell:'Rættstavarin liðugur: Eingin feilur funnin',noChanges:'Rættstavarin liðugur: Einki orð varð broytt',oneChange:'Rættstavarin liðugur: Eitt orð er broytt',manyChanges:'Rættstavarin liðugur: %1 orð broytt',ieSpellDownload:'Rættstavarin er ikki tøkur í tekstviðgeranum. Vilt tú heinta hann nú?'},smiley:{toolbar:'Smiley',title:'Vel Smiley',options:'Møguleikar fyri Smiley'},elementsPath:{eleLabel:'Slóð til elementir',eleTitle:'%1 element'},numberedlist:'Talmerktur listi',bulletedlist:'Punktmerktur listi',indent:'Økja reglubrotarinntriv',outdent:'Minka reglubrotarinntriv',justify:{left:'Vinstrasett',center:'Miðsett',right:'Høgrasett',block:'Javnir tekstkantar'},blockquote:'Blockquote',clipboard:{title:'Innrita',cutError:'Trygdaruppseting alnótskagans forðar tekstviðgeranum í at kvetta tekstin. Vinarliga nýt knappaborðið til at kvetta tekstin (Ctrl/Cmd+X).',copyError:'Trygdaruppseting alnótskagans forðar tekstviðgeranum í at avrita tekstin. Vinarliga nýt knappaborðið til at avrita tekstin (Ctrl/Cmd+C).',pasteMsg:'Vinarliga koyr tekstin í hendan rútin við knappaborðinum (<strong>Ctrl/Cmd+V</strong>) og klikk á <strong>Góðtak</strong>.',securityMsg:'Trygdaruppseting alnótskagans forðar tekstviðgeranum í beinleiðis atgongd til avritingarminnið. Tygum mugu royna aftur í hesum rútinum.',pasteArea:'Avritingarumráði'},pastefromword:{confirmCleanup:'Teksturin, tú roynir at seta inn, sýnist at stava frá Word. Skal teksturin reinsast fyrst?',toolbar:'Innrita frá Word',title:'Innrita frá Word',error:'Tað eydnaðist ikki at reinsa tekstin vegna ein internan feil'},pasteText:{button:'Innrita som reinan tekst',title:'Innrita som reinan tekst'},templates:{button:'Skabelónir',title:'Innihaldsskabelónir',options:'Møguleikar fyri Template',insertOption:'Yvirskriva núverandi innihald',selectPromptMsg:'Vinarliga vel ta skabelón, ið skal opnast í tekstviðgeranum<br>(Hetta yvirskrivar núverandi innihald):',emptyListMsg:'(Ongar skabelónir tøkar)'},showBlocks:'Vís blokkar',stylesCombo:{label:'Typografi',panelTitle:'Formatterings stílir',panelTitle1:'Blokk stílir',panelTitle2:'Inline stílir',panelTitle3:'Object stílir'},format:{label:'Skriftsnið',panelTitle:'Skriftsnið',tag_p:'Vanligt',tag_pre:'Sniðgivið',tag_address:'Adressa',tag_h1:'Yvirskrift 1',tag_h2:'Yvirskrift 2',tag_h3:'Yvirskrift 3',tag_h4:'Yvirskrift 4',tag_h5:'Yvirskrift 5',tag_h6:'Yvirskrift 6',tag_div:'Vanligt (DIV)'},div:{title:'Ger Div Container',toolbar:'Ger Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Vinstru til høgru (LTR)',langDirRTLLabel:'Høgru til vinstru (RTL)',edit:'Redigera Div',remove:'Strika Div'},iframe:{title:'Møguleikar fyri IFrame',toolbar:'IFrame',noUrl:'Vinarliga skriva URL til iframe',scrolling:'Loyv scrollbars',border:'Vís frame kant'},font:{label:'Skrift',voiceLabel:'Skrift',panelTitle:'Skrift'},fontSize:{label:'Skriftstødd',voiceLabel:'Skriftstødd',panelTitle:'Skriftstødd'},colorButton:{textColorTitle:'Tekstlitur',bgColorTitle:'Bakgrundslitur',panelTitle:'Litir',auto:'Automatiskt',more:'Fleiri litir...'},colors:{'000':'Svart',800000:'Maroon','8B4513':'Saðilsbrúnt','2F4F4F':'Dark Slate Gray','008080':'Teal','000080':'Navy','4B0082':'Indigo',696969:'Myrkagrátt',B22222:'Fire Brick',A52A2A:'Brúnt',DAA520:'Gullstavur','006400':'Myrkagrønt','40E0D0':'Turquoise','0000CD':'Meðal blátt',800080:'Purple',808080:'Grátt',F00:'Reytt',FF8C00:'Myrkt appelsingult',FFD700:'Gull','008000':'Grønt','0FF':'Cyan','00F':'Blátt',EE82EE:'Violet',A9A9A9:'Døkt grátt',FFA07A:'Ljósur laksur',FFA500:'Appelsingult',FFFF00:'Gult','00FF00':'Lime',AFEEEE:'Pale Turquoise',ADD8E6:'Ljósablátt',DDA0DD:'Plum',D3D3D3:'Ljósagrátt',FFF0F5:'Lavender Blush',FAEBD7:'Klassiskt hvítt',FFFFE0:'Ljósagult',F0FFF0:'Hunangsdøggur',F0FFFF:'Azure',F0F8FF:'Alice Blátt',E6E6FA:'Lavender',FFF:'Hvítt'},scayt:{title:'Kanna stavseting, meðan tú skrivar',opera_title:'Ikki stuðlað í Opera',enable:'Loyv SCAYT',disable:'Nokta SCAYT',about:'Um SCAYT',toggle:'Toggle SCAYT',options:'Uppseting',langs:'Tungumál',moreSuggestions:'Fleiri tilráðingar',ignore:'Ignorera',ignoreAll:'Ignorera alt',addWord:'Legg orð afturat',emptyDic:'Heiti á orðabók eigur ikki at vera tómt.',noSuggestions:'Einki uppskot',optionsTab:'Uppseting',allCaps:'Loyp orð við bert stórum stavum um',ignoreDomainNames:'loyp økisnøvn um',mixedCase:'Loyp orð við blandaðum smáum og stórum stavum um',mixedWithDigits:'Loyp orð við tølum um',languagesTab:'Tungumál',dictionariesTab:'Orðabøkur',dic_field_name:'Orðabókanavn',dic_create:'Upprætta nýggja',dic_restore:'Endurskapa',dic_delete:'Strika',dic_rename:'Broyt',dic_info:'Upprunaliga er brúkara-orðabókin goymd í eini cookie í tínum egna kaga. Men hesar cookies eru avmarkaðar í stødd. Tá brúkara-orðabókin veksur seg ov stóra til eina cookie, so er møguligt at goyma hana á ambætara okkara. Fyri at goyma persónligu orðabókina á ambætaranum eigur tú at velja eitt navn til tína skuffu. Hevur tú longu goymt eina orðabók, so vinarliga skriva navnið og klikk á knøttin Endurskapa.',aboutTab:'Um'},about:{title:'Um CKEditor',dlgTitle:'Um CKEditor',help:'Kekka $1 fyri hjálp.',userGuide:'CKEditor Brúkaravegleiðing',moreInfo:'Licens upplýsingar finnast á heimasíðu okkara:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Maksimera',minimize:'Minimera',fakeobjects:{anchor:'Anchor',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Fjaldur teigur',unknown:'Ókent Object'},resize:'Drag fyri at broyta stødd',colordialog:{title:'Vel lit',options:'Litmøguleikar',highlight:'Framheva',selected:'Valdur litur',clear:'Strika'},toolbarCollapse:'Lat Toolbar aftur',toolbarExpand:'Vís Toolbar',toolbarGroups:{document:'Dokument',clipboard:'Clipboard/Undo',editing:'Editering',forms:'Formar',basicstyles:'Grundleggjandi Styles',paragraph:'Reglubrot',links:'Leinkjur',insert:'Set inn',styles:'Styles',colors:'Litir',tools:'Tól'},bidi:{ltr:'Tekstkós frá vinstru til høgru',rtl:'Tekstkós frá høgru til vinstru'},docprops:{label:'Eginleikar fyri dokument',title:'Eginleikar fyri dokument',design:'Design',meta:'META-upplýsingar',chooseColor:'Vel',other:'<annað>',docTitle:'Síðuheiti',charset:'Teknsett koda',charsetOther:'Onnur teknsett koda',charsetASCII:'ASCII',charsetCE:'Miðeuropa',charsetCT:'Kinesiskt traditionelt (Big5)',charsetCR:'Cyrilliskt',charsetGR:'Grikst',charsetJP:'Japanskt',charsetKR:'Koreanskt',charsetTR:'Turkiskt',charsetUN:'Unicode (UTF-8)',charsetWE:'Vestureuropa',docType:'Dokumentslag yvirskrift',docTypeOther:'Annað dokumentslag yvirskrift',xhtmlDec:'Viðfest XHTML deklaratiónir',bgColor:'Bakgrundslitur',bgImage:'Leið til bakgrundsmynd (URL)',bgFixed:'Læst bakgrund (rullar ikki)',txtColor:'Tekstlitur',margin:'Síðubreddar',marginTop:'Ovast',marginLeft:'Vinstra',marginRight:'Høgra',marginBottom:'Niðast',metaKeywords:'Dokument index lyklaorð (sundurbýtt við komma)',metaDescription:'Dokumentlýsing',metaAuthor:'Høvundur',metaCopyright:'Upphavsrættindi',previewHtml:'<p>Hetta er ein <strong>royndartekstur</strong>. Tygum brúka <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/fr-ca.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/fr-ca.js
deleted file mode 100644
index de3993c..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/fr-ca.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang['fr-ca']={dir:'ltr',editorTitle:'Editor de text enriquit, %1',editorHelp:'Prem ALT 0 per obtenir ajuda',toolbars:'Editor toolbars',editor:'Rich Text Editor',source:'Source',newPage:'Nouvelle page',save:'Sauvegarder',preview:'Previsualiser',cut:'Couper',copy:'Copier',paste:'Coller',print:'Imprimer',underline:'Souligné',bold:'Gras',italic:'Italique',selectAll:'Tout sélectionner',removeFormat:'Supprimer le formatage',strike:'Barrer',subscript:'Indice',superscript:'Exposant',horizontalrule:'Insérer un séparateur',pagebreak:'Insérer un saut de page',pagebreakAlt:'Page Break',unlink:'Supprimer le lien',undo:'Annuler',redo:'Refaire',common:{browseServer:'Parcourir le serveur',url:'URL',protocol:'Protocole',upload:'Télécharger',uploadSubmit:'Envoyer sur le serveur',image:'Image',flash:'Animation Flash',form:'Formulaire',checkbox:'Case à cocher',radio:'Bouton radio',textField:'Champ texte',textarea:'Zone de texte',hiddenField:'Champ caché',button:'Bouton',select:'Champ de sélection',imageButton:'Bouton image',notSet:'<Par défaut>',id:'Id',name:'Nom',langDir:"Sens d'écriture",langDirLtr:'De gauche à droite (LTR)',langDirRtl:'De droite à gauche (RTL)',langCode:'Code langue',longDescr:'URL de description longue',cssClass:'Classes de feuilles de style',advisoryTitle:'Titre',cssStyle:'Style',ok:'OK',cancel:'Annuler',close:'Close',preview:'Preview',generalTab:'Général',advancedTab:'Avancée',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:'Some of the options have been changed. Are you sure to close the dialog?',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:'Largeur',height:'Hauteur',align:'Alignement',alignLeft:'Gauche',alignRight:'Droite',alignCenter:'Centré',alignTop:'Haut',alignMiddle:'Milieu',alignBottom:'Bas',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'Insérer un caractère spécial',title:'Insérer un caractère spécial',options:'Special Character Options'},link:{toolbar:'Insérer/modifier le lien',other:'<other>',menu:'Modifier le lien',title:'Propriétés du lien',info:'Informations sur le lien',target:'Destination',upload:'Télécharger',advanced:'Avancée',type:'Type de lien',toUrl:'URL',toAnchor:'Ancre dans cette page',toEmail:'E-Mail',targetFrame:'<Cadre>',targetPopup:'<fenêtre popup>',targetFrameName:'Nom du cadre de destination',targetPopupName:'Nom de la fenêtre popup',popupFeatures:'Caractéristiques de la fenêtre popup',popupResizable:'Resizable',popupStatusBar:"Barre d'état",popupLocationBar:"Barre d'adresses",popupToolbar:"Barre d'outils",popupMenuBar:'Barre de menu',popupFullScreen:'Plein écran (IE)',popupScrollBars:'Barres de défilement',popupDependent:'Dépendante (Netscape)',popupLeft:'Position à partir de la gauche',popupTop:'Position à partir du haut',id:'Id',langDir:"Sens d'écriture",langDirLTR:'De gauche à droite (LTR)',langDirRTL:'De droite à gauche (RTL)',acccessKey:'Équivalent clavier',name:'Nom',langCode:"Sens d'écriture",tabIndex:'Ordre de tabulation',advisoryTitle:'Titre',advisoryContentType:'Type de contenu',cssClasses:'Classes de feuilles de style',charset:'Encodage de caractère',styles:'Style',rel:'Relationship',selectAnchor:'Sélectionner une ancre',anchorName:'Par nom',anchorId:'Par id',emailAddress:'Adresse E-Mail',emailSubject:'Sujet du message',emailBody:'Corps du message',noAnchors:"(Pas d'ancre disponible dans le document)",noUrl:"Veuillez saisir l'URL",noEmail:"Veuillez saisir l'adresse e-mail"},anchor:{toolbar:"Insérer/modifier l'ancre",menu:"Propriétés de l'ancre",title:"Propriétés de l'ancre",name:"Nom de l'ancre",errorName:"Veuillez saisir le nom de l'ancre",remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Chercher et Remplacer',find:'Chercher',replace:'Remplacer',findWhat:'Rechercher:',replaceWith:'Remplacer par:',notFoundMsg:'Le texte indiqué est introuvable.',findOptions:'Find Options',matchCase:'Respecter la casse',matchWord:'Mot entier',matchCyclic:'Match cyclic',replaceAll:'Tout remplacer',replaceSuccessMsg:'%1 occurrence(s) replaced.'},table:{toolbar:'Tableau',title:'Propriétés du tableau',menu:'Propriétés du tableau',deleteTable:'Supprimer le tableau',rows:'Lignes',columns:'Colonnes',border:'Taille de la bordure',widthPx:'pixels',widthPc:'pourcentage',widthUnit:'width unit',cellSpace:'Espacement',cellPad:'Contour',caption:'Titre',summary:'Résumé',headers:'Headers',headersNone:'None',headersColumn:'First column',headersRow:'First Row',headersBoth:'Both',invalidRows:'Number of rows must be a number greater than 0.',invalidCols:'Number of columns must be a number greater than 0.',invalidBorder:'Border size must be a number.',invalidWidth:'Table width must be a number.',invalidHeight:'Table height must be a number.',invalidCellSpacing:'Cell spacing must be a positive number.',invalidCellPadding:'Cell padding must be a positive number.',cell:{menu:'Cellule',insertBefore:'Insérer une cellule avant',insertAfter:'Insérer une cellule après',deleteCell:'Supprimer des cellules',merge:'Fusionner les cellules',mergeRight:'Fusionner à droite',mergeDown:'Fusionner en bas',splitHorizontal:'Scinder la cellule horizontalement',splitVertical:'Scinder la cellule verticalement',title:'Cell Properties',cellType:'Cell Type',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Word Wrap',hAlign:'Horizontal Alignment',vAlign:'Vertical Alignment',alignBaseline:'Baseline',bgColor:'Background Color',borderColor:'Border Color',data:'Data',header:'Header',yes:'Yes',no:'No',invalidWidth:'Cell width must be a number.',invalidHeight:'Cell height must be a number.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Choose'},row:{menu:'Ligne',insertBefore:'Insérer une ligne avant',insertAfter:'Insérer une ligne après',deleteRow:'Supprimer des lignes'},column:{menu:'Colonne',insertBefore:'Insérer une colonne avant',insertAfter:'Insérer une colonne après',deleteColumn:'Supprimer des colonnes'}},button:{title:'Propriétés du bouton',text:'Texte (Valeur)',type:'Type',typeBtn:'Bouton',typeSbm:'Soumettre',typeRst:'Réinitialiser'},checkboxAndRadio:{checkboxTitle:'Propriétés de la case à cocher',radioTitle:'Propriétés du bouton radio',value:'Valeur',selected:'Sélectionné'},form:{title:'Propriétés du formulaire',menu:'Propriétés du formulaire',action:'Action',method:'Méthode',encoding:'Encoding'},select:{title:'Propriétés de la liste/du menu',selectInfo:'Info',opAvail:'Options disponibles',value:'Valeur',size:'Taille',lines:'lignes',chkMulti:'Sélection multiple',opText:'Texte',opValue:'Valeur',btnAdd:'Ajouter',btnModify:'Modifier',btnUp:'Monter',btnDown:'Descendre',btnSetValue:'Valeur sélectionnée',btnDelete:'Supprimer'},textarea:{title:'Propriétés de la zone de texte',cols:'Colonnes',rows:'Lignes'},textfield:{title:'Propriétés du champ texte',name:'Nom',value:'Valeur',charWidth:'Largeur en caractères',maxChars:'Nombre maximum de caractères',type:'Type',typeText:'Texte',typePass:'Mot de passe'},hidden:{title:'Propriétés du champ caché',name:'Nom',value:'Valeur'},image:{title:"Propriétés de l'image",titleButton:'Propriétés du bouton image',menu:"Propriétés de l'image",infoTab:"Informations sur l'image",btnUpload:'Envoyer sur le serveur',upload:'Télécharger',alt:'Texte de remplacement',lockRatio:'Garder les proportions',resetSize:'Taille originale',border:'Bordure',hSpace:'Espacement horizontal',vSpace:'Espacement vertical',alertUrl:"Veuillez saisir l'URL de l'image",linkTab:'Lien',button2Img:'Do you want to transform the selected image button on a simple image?',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:"Propriétés de l'animation Flash",propertiesTab:'Properties',title:"Propriétés de l'animation Flash",chkPlay:'Lecture automatique',chkLoop:'Boucle',chkMenu:'Activer le menu Flash',chkFull:'Allow Fullscreen',scale:'Affichage',scaleAll:'Par défaut (tout montrer)',scaleNoBorder:'Sans bordure',scaleFit:'Ajuster aux dimensions',access:'Script Access',accessAlways:'Always',accessSameDomain:'Same domain',accessNever:'Never',alignAbsBottom:'Abs Bas',alignAbsMiddle:'Abs Milieu',alignBaseline:'Bas du texte',alignTextTop:'Haut du texte',quality:'Quality',qualityBest:'Best',qualityHigh:'High',qualityAutoHigh:'Auto High',qualityMedium:'Medium',qualityAutoLow:'Auto Low',qualityLow:'Low',windowModeWindow:'Window',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Window mode',flashvars:'Variables for Flash',bgcolor:'Couleur de fond',hSpace:'Espacement horizontal',vSpace:'Espacement vertical',validateSrc:"Veuillez saisir l'URL",validateHSpace:'HSpace must be a number.',validateVSpace:'VSpace must be a number.'},spellCheck:{toolbar:'Orthographe',title:'Spell Check',notAvailable:'Sorry, but service is unavailable now.',errorLoading:'Error loading application service host: %s.',notInDic:'Pas dans le dictionnaire',changeTo:'Changer en',btnIgnore:'Ignorer',btnIgnoreAll:'Ignorer tout',btnReplace:'Remplacer',btnReplaceAll:'Remplacer tout',btnUndo:'Annuler',noSuggestions:'- Pas de suggestion -',progress:"Vérification d'orthographe en cours...",noMispell:"Vérification d'orthographe terminée: pas d'erreur trouvée",noChanges:"Vérification d'orthographe terminée: Pas de modifications",oneChange:"Vérification d'orthographe terminée: Un mot modifié",manyChanges:"Vérification d'orthographe terminée: %1 mots modifiés",ieSpellDownload:"Le Correcteur d'orthographe n'est pas installé. Souhaitez-vous le télécharger maintenant?"},smiley:{toolbar:'Emoticon',title:'Insérer un Emoticon',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 element'},numberedlist:'Liste numérotée',bulletedlist:'Liste à puces',indent:'Augmenter le retrait',outdent:'Diminuer le retrait',justify:{left:'Aligner à gauche',center:'Centrer',right:'Aligner à Droite',block:'Texte justifié'},blockquote:'Citation',clipboard:{title:'Coller',cutError:"Les paramètres de sécurité de votre navigateur empêchent l'éditeur de couper automatiquement vos données. Veuillez utiliser les équivalents claviers (Ctrl/Cmd+X).",copyError:"Les paramètres de sécurité de votre navigateur empêchent l'éditeur de copier automatiquement vos données. Veuillez utiliser les équivalents claviers (Ctrl/Cmd+C).",pasteMsg:'Veuillez coller dans la zone ci-dessous en utilisant le clavier (<STRONG>Ctrl/Cmd+V</STRONG>) et appuyer sur <STRONG>OK</STRONG>.',securityMsg:"A cause des paramètres de sécurité de votre navigateur, l'éditeur ne peut accéder au presse-papier directement. Vous devez coller à nouveau le contenu dans cette fenêtre.",pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'Coller en tant que Word (formaté)',title:'Coller en tant que Word (formaté)',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'Coller comme texte',title:'Coller comme texte'},templates:{button:'Modèles',title:'Modèles de contenu',options:'Template Options',insertOption:'Remplacer tout le contenu actuel',selectPromptMsg:"Sélectionner le modèle à ouvrir dans l'éditeur<br>(le contenu actuel sera remplacé):",emptyListMsg:'(Aucun modèle disponible)'},showBlocks:'Afficher les blocs',stylesCombo:{label:'Style',panelTitle:'Formatting Styles',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'Format',panelTitle:'Format',tag_p:'Normal',tag_pre:'Formaté',tag_address:'Adresse',tag_h1:'En-tête 1',tag_h2:'En-tête 2',tag_h3:'En-tête 3',tag_h4:'En-tête 4',tag_h5:'En-tête 5',tag_h6:'En-tête 6',tag_div:'Normal (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'Police',voiceLabel:'Font',panelTitle:'Police'},fontSize:{label:'Taille',voiceLabel:'Font Size',panelTitle:'Taille'},colorButton:{textColorTitle:'Couleur de caractère',bgColorTitle:'Couleur de fond',panelTitle:'Colors',auto:'Automatique',more:'Plus de couleurs...'},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'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Options',langs:'Languages',moreSuggestions:'More suggestions',ignore:'Ignore',ignoreAll:'Ignore All',addWord:'Add Word',emptyDic:'Dictionary name should not be empty.',noSuggestions:'Pas de suggestion',optionsTab:'Options',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Languages',dictionariesTab:'Dictionaries',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'About'},about:{title:'About CKEditor',dlgTitle:'About CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'For licensing information please visit our web site:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Maximize',minimize:'Minimize',fakeobjects:{anchor:'Anchor',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Unknown Object'},resize:'Drag to resize',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'Propriétés du document',title:'Propriétés du document',design:'Design',meta:'Méta-Données',chooseColor:'Choose',other:'<other>',docTitle:'Titre de la page',charset:'Encodage de caractère',charsetOther:'Autre encodage de caractère',charsetASCII:'ASCII',charsetCE:'Europe Centrale',charsetCT:'Chinois Traditionnel (Big5)',charsetCR:'Cyrillique',charsetGR:'Grecque',charsetJP:'Japonais',charsetKR:'Coréen',charsetTR:'Turcque',charsetUN:'Unicode (UTF-8)',charsetWE:'Occidental',docType:'Type de document',docTypeOther:'Autre type de document',xhtmlDec:'Inclure les déclarations XHTML',bgColor:'Couleur de fond',bgImage:'Image de fond',bgFixed:'Image fixe sans défilement',txtColor:'Couleur de caractère',margin:'Marges',marginTop:'Haut',marginLeft:'Gauche',marginRight:'Droite',marginBottom:'Bas',metaKeywords:'Mots-clés (séparés par des virgules)',metaDescription:'Description',metaAuthor:'Auteur',metaCopyright:'Copyright',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/fr.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/fr.js
deleted file mode 100644
index 36f7ada..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/fr.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.fr={dir:'ltr',editorTitle:'Éditeur de Texte Enrichi, %1',editorHelp:"Appuyez sur ALT-0 pour l'aide",toolbars:"Barre d'outils de l'éditeur",editor:'Éditeur de Texte Enrichi',source:'Source',newPage:'Nouvelle page',save:'Enregistrer',preview:'Aperçu',cut:'Couper',copy:'Copier',paste:'Coller',print:'Imprimer',underline:'Souligné',bold:'Gras',italic:'Italique',selectAll:'Tout sélectionner',removeFormat:'Supprimer la mise en forme',strike:'Barré',subscript:'Indice',superscript:'Exposant',horizontalrule:'Ligne horizontale',pagebreak:'Saut de page',pagebreakAlt:'Saut de page',unlink:'Supprimer le lien',undo:'Annuler',redo:'Rétablir',common:{browseServer:'Explorer le serveur',url:'URL',protocol:'Protocole',upload:'Envoyer',uploadSubmit:'Envoyer sur le serveur',image:'Image',flash:'Flash',form:'Formulaire',checkbox:'Case à cocher',radio:'Bouton Radio',textField:'Champ texte',textarea:'Zone de texte',hiddenField:'Champ caché',button:'Bouton',select:'Liste déroulante',imageButton:'Bouton image',notSet:'<non défini>',id:'Id',name:'Nom',langDir:"Sens d'écriture",langDirLtr:'Gauche à droite (LTR)',langDirRtl:'Droite à gauche (RTL)',langCode:'Code de langue',longDescr:'URL de description longue (longdesc => malvoyant)',cssClass:'Classe CSS',advisoryTitle:'Description (title)',cssStyle:'Style',ok:'OK',cancel:'Annuler',close:'Fermer',preview:'Aperçu',generalTab:'Général',advancedTab:'Avancé',validateNumberFailed:"Cette valeur n'est pas un nombre.",confirmNewPage:'Les changements non sauvegardés seront perdus. Êtes-vous sûr de vouloir charger une nouvelle page?',confirmCancel:'Certaines options ont été modifiées. Êtes-vous sûr de vouloir fermer?',options:'Options',target:'Cible (Target)',targetNew:'Nouvelle fenêtre (_blank)',targetTop:'Fenêtre supérieure (_top)',targetSelf:'Même fenêtre (_self)',targetParent:'Fenêtre parent (_parent)',langDirLTR:'Gauche à Droite (LTR)',langDirRTL:'Droite à Gauche (RTL)',styles:'Style',cssClasses:'Classes de style',width:'Largeur',height:'Hauteur',align:'Alignement',alignLeft:'Gauche',alignRight:'Droite',alignCenter:'Centré',alignTop:'Haut',alignMiddle:'Milieu',alignBottom:'Bas',invalidValue:'Invalid value.',invalidHeight:'La hauteur doit être un nombre.',invalidWidth:'La largeur doit être un nombre.',invalidCssLength:'La valeur spécifiée pour le champ "%1" doit être un nombre positif avec ou sans unité de mesure CSS valide (px, %, in, cm, mm, em, ex, pt, or pc).',invalidHtmlLength:'La valeur spécifiée pour le champ "%1" doit être un nombre positif avec ou sans unité de mesure HTML valide (px or %).',invalidInlineStyle:'La valeur spécifiée pour le style inline doit être composée d\'un ou plusieurs couples de valeur au format "nom : valeur", separés par des points-virgules.',cssLengthTooltip:'Entrer un nombre pour une valeur en pixels ou un nombre avec une unité de mesure CSS valide (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, Indisponible</span>'},contextmenu:{options:'Options du menu contextuel'},specialChar:{toolbar:'Insérer un caractère spécial',title:'Sélectionnez un caractère',options:'Options des caractères spéciaux'},link:{toolbar:'Lien',other:'<autre>',menu:'Editer le lien',title:'Lien',info:'Infos sur le lien',target:'Cible',upload:'Envoyer',advanced:'Avancé',type:'Type de lien',toUrl:'URL',toAnchor:'Transformer le lien en ancre dans le texte',toEmail:'E-mail',targetFrame:'<cadre>',targetPopup:'<fenêtre popup>',targetFrameName:'Nom du Cadre destination',targetPopupName:'Nom de la fenêtre popup',popupFeatures:'Options de la fenêtre popup',popupResizable:'Redimensionnable',popupStatusBar:'Barre de status',popupLocationBar:"Barre d'adresse",popupToolbar:"Barre d'outils",popupMenuBar:'Barre de menu',popupFullScreen:'Plein écran (IE)',popupScrollBars:'Barres de défilement',popupDependent:'Dépendante (Netscape)',popupLeft:'Position gauche',popupTop:'Position haute',id:'Id',langDir:"Sens d'écriture",langDirLTR:'Gauche à droite',langDirRTL:'Droite à gauche',acccessKey:"Touche d'accessibilité",name:'Nom',langCode:'Code de langue',tabIndex:'Index de tabulation',advisoryTitle:'Description (title)',advisoryContentType:'Type de contenu (ex: text/html)',cssClasses:'Classe CSS',charset:'Charset de la cible',styles:'Style',rel:'Relation',selectAnchor:"Sélectionner l'ancre",anchorName:"Par nom d'ancre",anchorId:"Par ID d'élément",emailAddress:'Adresse E-Mail',emailSubject:'Sujet du message',emailBody:'Corps du message',noAnchors:'(Aucune ancre disponible dans ce document)',noUrl:"Veuillez entrer l'adresse du lien",noEmail:"Veuillez entrer l'adresse e-mail"},anchor:{toolbar:'Ancre',menu:"Editer l'ancre",title:"Propriétés de l'ancre",name:"Nom de l'ancre",errorName:"Veuillez entrer le nom de l'ancre.",remove:"Supprimer l'ancre"},list:{numberedTitle:'Propriétés de la liste numérotée',bulletedTitle:'Propriétés de la liste à puces',type:'Type',start:'Début',validateStartNumber:'Le premier élément de la liste doit être un nombre entier.',circle:'Cercle',disc:'Disque',square:'Carré',none:'Aucun',notset:'<Non défini>',armenian:'Numération arménienne',georgian:'Numération géorgienne (an, ban, gan, etc.)',lowerRoman:'Nombres romains minuscules (i, ii, iii, iv, v, etc.)',upperRoman:'Nombres romains majuscules (I, II, III, IV, V, etc.)',lowerAlpha:'Alphabétique minuscules (a, b, c, d, e, etc.)',upperAlpha:'Alphabétique majuscules (A, B, C, D, E, etc.)',lowerGreek:'Grec minuscule (alpha, beta, gamma, etc.)',decimal:'Décimal (1, 2, 3, etc.)',decimalLeadingZero:'Décimal précédé par un 0 (01, 02, 03, etc.)'},findAndReplace:{title:'Trouver et remplacer',find:'Trouver',replace:'Remplacer',findWhat:'Expression à trouver: ',replaceWith:'Remplacer par: ',notFoundMsg:'Le texte spécifié ne peut être trouvé.',findOptions:'Options de recherche',matchCase:'Respecter la casse',matchWord:'Mot entier uniquement',matchCyclic:'Boucler',replaceAll:'Remplacer tout',replaceSuccessMsg:'%1 occurrence(s) replacée(s).'},table:{toolbar:'Tableau',title:'Propriétés du tableau',menu:'Propriétés du tableau',deleteTable:'Supprimer le tableau',rows:'Lignes',columns:'Colonnes',border:'Taille de la bordure',widthPx:'pixels',widthPc:'% pourcents',widthUnit:'unité de largeur',cellSpace:'Espacement des cellules',cellPad:'Marge interne des cellules',caption:'Titre du tableau',summary:'Résumé (description)',headers:'En-Têtes',headersNone:'Aucunes',headersColumn:'Première colonne',headersRow:'Première ligne',headersBoth:'Les deux',invalidRows:'Le nombre de lignes doit être supérieur à 0.',invalidCols:'Le nombre de colonnes doit être supérieur à 0.',invalidBorder:'La taille de la bordure doit être un nombre.',invalidWidth:'La largeur du tableau doit être un nombre.',invalidHeight:'La hauteur du tableau doit être un nombre.',invalidCellSpacing:"L'espacement des cellules doit être un nombre positif.",invalidCellPadding:'La marge intérieure des cellules doit être un nombre positif.',cell:{menu:'Cellule',insertBefore:'Insérer une cellule avant',insertAfter:'Insérer une cellule après',deleteCell:'Supprimer les cellules',merge:'Fusionner les cellules',mergeRight:'Fusionner à droite',mergeDown:'Fusionner en bas',splitHorizontal:'Fractionner horizontalement',splitVertical:'Fractionner verticalement',title:'Propriétés de la cellule',cellType:'Type de cellule',rowSpan:'Fusion de lignes',colSpan:'Fusion de colonnes',wordWrap:'Césure',hAlign:'Alignement Horizontal',vAlign:'Alignement Vertical',alignBaseline:'Bas du texte',bgColor:"Couleur d'arrière-plan",borderColor:'Couleur de Bordure',data:'Données',header:'Entête',yes:'Oui',no:'Non',invalidWidth:'La Largeur de Cellule doit être un nombre.',invalidHeight:'La Hauteur de Cellule doit être un nombre.',invalidRowSpan:'La fusion de lignes doit être un nombre entier.',invalidColSpan:'La fusion de colonnes doit être un nombre entier.',chooseColor:'Choisissez'},row:{menu:'Ligne',insertBefore:'Insérer une ligne avant',insertAfter:'Insérer une ligne après',deleteRow:'Supprimer les lignes'},column:{menu:'Colonnes',insertBefore:'Insérer une colonne avant',insertAfter:'Insérer une colonne après',deleteColumn:'Supprimer les colonnes'}},button:{title:'Propriétés du bouton',text:'Texte (Value)',type:'Type',typeBtn:'Bouton',typeSbm:'Validation (submit)',typeRst:'Remise à zéro'},checkboxAndRadio:{checkboxTitle:'Propriétés de la case à cocher',radioTitle:'Propriétés du bouton Radio',value:'Valeur',selected:'Sélectionné'},form:{title:'Propriétés du formulaire',menu:'Propriétés du formulaire',action:'Action',method:'Méthode',encoding:'Encodage'},select:{title:'Propriétés du menu déroulant',selectInfo:'Informations sur le menu déroulant',opAvail:'Options disponibles',value:'Valeur',size:'Taille',lines:'Lignes',chkMulti:'Permettre les sélections multiples',opText:'Texte',opValue:'Valeur',btnAdd:'Ajouter',btnModify:'Modifier',btnUp:'Haut',btnDown:'Bas',btnSetValue:'Définir comme valeur sélectionnée',btnDelete:'Supprimer'},textarea:{title:'Propriétés de la zone de texte',cols:'Colonnes',rows:'Lignes'},textfield:{title:'Propriétés du champ texte',name:'Nom',value:'Valeur',charWidth:'Taille des caractères',maxChars:'Nombre maximum de caractères',type:'Type',typeText:'Texte',typePass:'Mot de passe'},hidden:{title:'Propriétés du champ caché',name:'Nom',value:'Valeur'},image:{title:"Propriétés de l'image",titleButton:'Propriétés du bouton image',menu:"Propriétés de l'image",infoTab:"Informations sur l'image",btnUpload:'Envoyer sur le serveur',upload:'Envoyer',alt:'Texte de remplacement',lockRatio:'Conserver les proportions',resetSize:"Taille d'origine",border:'Bordure',hSpace:'Espacement horizontal',vSpace:'Espacement vertical',alertUrl:"Veuillez entrer l'adresse de l'image",linkTab:'Lien',button2Img:'Voulez-vous transformer le bouton image sélectionné en simple image?',img2Button:"Voulez-vous transformer l'image en bouton image?",urlMissing:"L'adresse source de l'image est manquante.",validateBorder:'Bordure doit être un entier.',validateHSpace:'HSpace doit être un entier.',validateVSpace:'VSpace doit être un entier.'},flash:{properties:'Propriétés du Flash',propertiesTab:'Propriétés',title:'Propriétés du Flash',chkPlay:'Jouer automatiquement',chkLoop:'Boucle',chkMenu:'Activer le menu Flash',chkFull:'Permettre le plein écran',scale:'Echelle',scaleAll:'Afficher tout',scaleNoBorder:'Pas de bordure',scaleFit:"Taille d'origine",access:'Accès aux scripts',accessAlways:'Toujours',accessSameDomain:'Même domaine',accessNever:'Jamais',alignAbsBottom:'Bas absolu',alignAbsMiddle:'Milieu absolu',alignBaseline:'Bas du texte',alignTextTop:'Haut du texte',quality:'Qualité',qualityBest:'Meilleure',qualityHigh:'Haute',qualityAutoHigh:'Haute Auto',qualityMedium:'Moyenne',qualityAutoLow:'Basse Auto',qualityLow:'Basse',windowModeWindow:'Fenêtre',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Mode fenêtre',flashvars:'Variables du Flash',bgcolor:"Couleur d'arrière-plan",hSpace:'Espacement horizontal',vSpace:'Espacement vertical',validateSrc:"L'adresse ne doit pas être vide.",validateHSpace:"L'espacement horizontal doit être un nombre.",validateVSpace:"L'espacement vertical doit être un nombre."},spellCheck:{toolbar:"Vérifier l'orthographe",title:"Vérifier l'orthographe",notAvailable:'Désolé, le service est indisponible actuellement.',errorLoading:"Erreur du chargement du service depuis l'hôte : %s.",notInDic:"N'existe pas dans le dictionnaire.",changeTo:'Modifier pour',btnIgnore:'Ignorer',btnIgnoreAll:'Ignorer tout',btnReplace:'Remplacer',btnReplaceAll:'Remplacer tout',btnUndo:'Annuler',noSuggestions:'- Aucune suggestion -',progress:"Vérification de l'orthographe en cours...",noMispell:"Vérification de l'orthographe terminée : aucune erreur trouvée.",noChanges:"Vérification de l'orthographe terminée : Aucun mot corrigé.",oneChange:"Vérification de l'orthographe terminée : Un seul mot corrigé.",manyChanges:"Vérification de l'orthographe terminée : %1 mots corrigés.",ieSpellDownload:"La vérification d'orthographe n'est pas installée. Voulez-vous la télécharger maintenant?"},smiley:{toolbar:'Émoticones',title:'Insérer un émoticone',options:'Options des émoticones'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 éléments'},numberedlist:'Insérer/Supprimer la liste numérotée',bulletedlist:'Insérer/Supprimer la liste à puces',indent:'Augmenter le retrait (tabulation)',outdent:'Diminuer le retrait (tabulation)',justify:{left:'Aligner à gauche',center:'Centrer',right:'Aligner à droite',block:'Justifier'},blockquote:'Citation',clipboard:{title:'Coller',cutError:"Les paramètres de sécurité de votre navigateur ne permettent pas à l'éditeur d'exécuter automatiquement l'opération \"couper\". Veuillez utiliser le raccourci clavier (Ctrl/Cmd+X).",copyError:"Les paramètres de sécurité de votre navigateur ne permettent pas à l'éditeur d'exécuter automatiquement des opérations de copie. Veuillez utiliser le raccourci clavier (Ctrl/Cmd+C).",pasteMsg:'Veuillez coller le texte dans la zone suivante en utilisant le raccourci clavier (<strong>Ctrl/Cmd+V</strong>) et cliquez sur OK.',securityMsg:"A cause des paramètres de sécurité de votre navigateur, l'éditeur n'est pas en mesure d'accéder directement à vos données contenues dans le presse-papier. Vous devriez réessayer de coller les données dans la fenêtre.",pasteArea:'Coller la zone'},pastefromword:{confirmCleanup:'Le texte à coller semble provenir de Word. Désirez-vous le nettoyer avant de coller?',toolbar:'Coller depuis Word',title:'Coller depuis Word',error:"Il n'a pas été possible de nettoyer les données collées à la suite d'une erreur interne."},pasteText:{button:'Coller comme texte sans mise en forme',title:'Coller comme texte sans mise en forme'},templates:{button:'Modèles',title:'Contenu des modèles',options:'Options des modèles',insertOption:'Remplacer le contenu actuel',selectPromptMsg:"Veuillez sélectionner le modèle pour l'ouvrir dans l'éditeur",emptyListMsg:'(Aucun modèle disponible)'},showBlocks:'Afficher les blocs',stylesCombo:{label:'Styles',panelTitle:'Styles de mise en page',panelTitle1:'Styles de blocs',panelTitle2:'Styles en ligne',panelTitle3:"Styles d'objet"},format:{label:'Format',panelTitle:'Format de paragraphe',tag_p:'Normal',tag_pre:'Formaté',tag_address:'Adresse',tag_h1:'Titre 1',tag_h2:'Titre 2',tag_h3:'Titre 3',tag_h4:'Titre 4',tag_h5:'Titre 5',tag_h6:'Titre 6',tag_div:'Normal (DIV)'},div:{title:'Créer un container DIV',toolbar:'Créer un container DIV',cssClassInputLabel:'Classe CSS',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:'Code de langue',inlineStyleInputLabel:'Style en ligne',advisoryTitleInputLabel:'Advisory Title',langDirLabel:"Sens d'écriture",langDirLTRLabel:'Gauche à droite (LTR)',langDirRTLLabel:'Droite à gauche (RTL)',edit:'Éditer la DIV',remove:'Enlever la DIV'},iframe:{title:'Propriétés de la IFrame',toolbar:'IFrame',noUrl:"Veuillez entrer l'adresse du lien de la IFrame",scrolling:'Permettre à la barre de défilement',border:'Afficher une bordure de la IFrame'},font:{label:'Police',voiceLabel:'Police',panelTitle:'Style de police'},fontSize:{label:'Taille',voiceLabel:'Taille de police',panelTitle:'Taille de police'},colorButton:{textColorTitle:'Couleur de texte',bgColorTitle:"Couleur d'arrière plan",panelTitle:'Couleurs',auto:'Automatique',more:'Plus de couleurs...'},colors:{'000':'Noir',800000:'Marron','8B4513':'Brun moyen','2F4F4F':'Vert sombre','008080':'Canard','000080':'Bleu marine','4B0082':'Indigo',696969:'Gris foncé',B22222:'Rouge brique',A52A2A:'Brun',DAA520:'Or terni','006400':'Vert foncé','40E0D0':'Turquoise','0000CD':'Bleu royal',800080:'Pourpre',808080:'Gris',F00:'Rouge',FF8C00:'Orange foncé',FFD700:'Or','008000':'Vert','0FF':'Cyan','00F':'Bleu',EE82EE:'Violet',A9A9A9:'Gris moyen',FFA07A:'Saumon',FFA500:'Orange',FFFF00:'Jaune','00FF00':'Lime',AFEEEE:'Turquoise clair',ADD8E6:'Bleu clair',DDA0DD:'Prune',D3D3D3:'Gris clair',FFF0F5:'Fard Lavande',FAEBD7:'Blanc antique',FFFFE0:'Jaune clair',F0FFF0:'Honeydew',F0FFFF:'Azur',F0F8FF:'Bleu Alice',E6E6FA:'Lavande',FFF:'Blanc'},scayt:{title:"Vérification de l'Orthographe en Cours de Frappe (SCAYT)",opera_title:'Non supporté par Opera',enable:'Activer SCAYT',disable:'Désactiver SCAYT',about:'A propos de SCAYT',toggle:'Activer/Désactiver SCAYT',options:'Options',langs:'Langues',moreSuggestions:'Plus de suggestions',ignore:'Ignorer',ignoreAll:'Ignorer Tout',addWord:'Ajouter le mot',emptyDic:'Le nom du dictionnaire ne devrait pas être vide.',noSuggestions:'Aucune suggestion',optionsTab:'Options',allCaps:'Ignorer les mots entièrement en majuscules',ignoreDomainNames:'Ignorer les noms de domaines',mixedCase:'Ignorer les mots à casse multiple',mixedWithDigits:'Ignorer les mots contenant des chiffres',languagesTab:'Langues',dictionariesTab:'Dictionnaires',dic_field_name:'Nom du dictionnaire',dic_create:'Créer',dic_restore:'Restaurer',dic_delete:'Effacer',dic_rename:'Renommer',dic_info:"Initialement, le dictionnaire de l'utilisateur est stocké dans un cookie. Cependant, les cookies sont limités en taille. Quand le dictionnaire atteint une taille qu'il n'est plus possible de stocker dans un cookie, il peut alors être stocké sur nos serveurs. Afin de stocker votre dictionnaire personnel sur nos serveurs, vous devez spécifier un nom pour ce dictionnaire. Si vous avez déjà un dictionnaire stocké, merci de taper son nom puis cliquer sur Restaurer pour le récupérer.",aboutTab:'À propos de'},about:{title:'À propos de CKEditor',dlgTitle:'À propos de CKEditor',help:"Consulter $1 pour l'aide.",userGuide:"Guide de l'utilisateur CKEditor en anglais",moreInfo:'Pour les informations de licence, veuillez visiter notre site web:',copy:'Copyright &copy; $1. Tous droits réservés.'},maximize:'Agrandir',minimize:'Minimiser',fakeobjects:{anchor:'Ancre',flash:'Animation Flash',iframe:'IFrame',hiddenfield:'Champ caché',unknown:'Objet inconnu'},resize:'Déplacer pour modifier la taille',colordialog:{title:'Choisir une couleur',options:'Option des couleurs',highlight:'Détails',selected:'Couleur choisie',clear:'Effacer'},toolbarCollapse:"Enrouler la barre d'outils",toolbarExpand:"Dérouler la barre d'outils",toolbarGroups:{document:'Document',clipboard:'Presse-papier/Défaire',editing:'Editer',forms:'Formulaires',basicstyles:'Styles de base',paragraph:'Paragraphe',links:'Liens',insert:'Insérer',styles:'Styles',colors:'Couleurs',tools:'Outils'},bidi:{ltr:'Direction du texte de la gauche vers la droite',rtl:'Direction du texte de la droite vers la gauche'},docprops:{label:'Propriétés du document',title:'Propriétés du document',design:'Design',meta:'Métadonnées',chooseColor:'Choisissez',other:'<autre>',docTitle:'Titre de la page',charset:'Encodage de caractère',charsetOther:'Autre encodage de caractère',charsetASCII:'ASCII',charsetCE:'Europe Centrale',charsetCT:'Chinois Traditionnel (Big5)',charsetCR:'Cyrillique',charsetGR:'Grec',charsetJP:'Japonais',charsetKR:'Coréen',charsetTR:'Turc',charsetUN:'Unicode (UTF-8)',charsetWE:'Occidental',docType:'Type de document',docTypeOther:'Autre type de document',xhtmlDec:'Inclure les déclarations XHTML',bgColor:'Couleur de fond',bgImage:'Image de fond',bgFixed:'Image fixe sans défilement',txtColor:'Couleur de texte',margin:'Marges',marginTop:'Haut',marginLeft:'Gauche',marginRight:'Droite',marginBottom:'Bas',metaKeywords:'Mots-clés (séparés par des virgules)',metaDescription:'Description',metaAuthor:'Auteur',metaCopyright:'Copyright',previewHtml:'<p>Ceci est un <strong>texte d\'exemple</strong>. Vous utilisez <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/gl.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/gl.js
deleted file mode 100644
index 2765808..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/gl.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.gl={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'Editor toolbars',editor:'Rich Text Editor',source:'Código Fonte',newPage:'Nova Páxina',save:'Gardar',preview:'Vista Previa',cut:'Cortar',copy:'Copiar',paste:'Pegar',print:'Imprimir',underline:'Sub-raiado',bold:'Negrita',italic:'Cursiva',selectAll:'Seleccionar todo',removeFormat:'Eliminar Formato',strike:'Tachado',subscript:'Subíndice',superscript:'Superíndice',horizontalrule:'Inserir Liña Horizontal',pagebreak:'Inserir Salto de Páxina',pagebreakAlt:'Page Break',unlink:'Eliminar Ligazón',undo:'Desfacer',redo:'Refacer',common:{browseServer:'Navegar no Servidor',url:'URL',protocol:'Protocolo',upload:'Carregar',uploadSubmit:'Enviar ó Servidor',image:'Imaxe',flash:'Flash',form:'Formulario',checkbox:'Cadro de Verificación',radio:'Botón de Radio',textField:'Campo de Texto',textarea:'Ãrea de Texto',hiddenField:'Campo Oculto',button:'Botón',select:'Campo de Selección',imageButton:'Botón de Imaxe',notSet:'<non definido>',id:'Id',name:'Nome',langDir:'Orientación do Idioma',langDirLtr:'Esquerda a Dereita (LTR)',langDirRtl:'Dereita a Esquerda (RTL)',langCode:'Código do Idioma',longDescr:'Descrición Completa da URL',cssClass:'Clases da Folla de Estilos',advisoryTitle:'Título',cssStyle:'Estilo',ok:'OK',cancel:'Cancelar',close:'Close',preview:'Preview',generalTab:'General',advancedTab:'Advanzado',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:'Some of the options have been changed. Are you sure to close the dialog?',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:'Largura',height:'Altura',align:'Aliñamento',alignLeft:'Esquerda',alignRight:'Dereita',alignCenter:'Centro',alignTop:'Tope',alignMiddle:'Centro',alignBottom:'Pé',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'Inserir Carácter Especial',title:'Seleccione Caracter Especial',options:'Special Character Options'},link:{toolbar:'Inserir/Editar Ligazón',other:'<outro>',menu:'Editar Ligazón',title:'Ligazón',info:'Información da Ligazón',target:'Destino',upload:'Carregar',advanced:'Advanzado',type:'Tipo de Ligazón',toUrl:'URL',toAnchor:'Referencia nesta páxina',toEmail:'E-Mail',targetFrame:'<frame>',targetPopup:'<Xanela Emerxente>',targetFrameName:'Nome do Marco Destino',targetPopupName:'Nome da Xanela Emerxente',popupFeatures:'Características da Xanela Emerxente',popupResizable:'Resizable',popupStatusBar:'Barra de Estado',popupLocationBar:'Barra de Localización',popupToolbar:'Barra de Ferramentas',popupMenuBar:'Barra de Menú',popupFullScreen:'A Toda Pantalla (IE)',popupScrollBars:'Barras de Desplazamento',popupDependent:'Dependente (Netscape)',popupLeft:'Posición Esquerda',popupTop:'Posición dende Arriba',id:'Id',langDir:'Orientación do Idioma',langDirLTR:'Esquerda a Dereita (LTR)',langDirRTL:'Dereita a Esquerda (RTL)',acccessKey:'Chave de Acceso',name:'Nome',langCode:'Orientación do Idioma',tabIndex:'Ãndice de Tabulación',advisoryTitle:'Título',advisoryContentType:'Tipo de Contido',cssClasses:'Clases da Folla de Estilos',charset:'Fonte de Caracteres Vinculado',styles:'Estilo',rel:'Relationship',selectAnchor:'Seleccionar unha Referencia',anchorName:'Por Nome de Referencia',anchorId:'Por Element Id',emailAddress:'Enderezo de E-Mail',emailSubject:'Asunto do Mensaxe',emailBody:'Corpo do Mensaxe',noAnchors:'(Non hai referencias disponibles no documento)',noUrl:'Por favor, escriba a ligazón URL',noEmail:'Por favor, escriba o enderezo de e-mail'},anchor:{toolbar:'Inserir/Editar Referencia',menu:'Propriedades da Referencia',title:'Propriedades da Referencia',name:'Nome da Referencia',errorName:'Por favor, escriba o nome da referencia',remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Find and Replace',find:'Procurar',replace:'Substituir',findWhat:'Texto a procurar:',replaceWith:'Substituir con:',notFoundMsg:'Non te atopou o texto indicado.',findOptions:'Find Options',matchCase:'Coincidir Mai./min.',matchWord:'Coincidir con toda a palabra',matchCyclic:'Match cyclic',replaceAll:'Substitiur Todo',replaceSuccessMsg:'%1 occurrence(s) replaced.'},table:{toolbar:'Tabla',title:'Propiedades da Táboa',menu:'Propiedades da Táboa',deleteTable:'Borrar Táboa',rows:'Filas',columns:'Columnas',border:'Tamaño do Borde',widthPx:'pixels',widthPc:'percent',widthUnit:'width unit',cellSpace:'Marxe entre Celas',cellPad:'Marxe interior',caption:'Título',summary:'Sumario',headers:'Headers',headersNone:'None',headersColumn:'First column',headersRow:'First Row',headersBoth:'Both',invalidRows:'Number of rows must be a number greater than 0.',invalidCols:'Number of columns must be a number greater than 0.',invalidBorder:'Border size must be a number.',invalidWidth:'Table width must be a number.',invalidHeight:'Table height must be a number.',invalidCellSpacing:'Cell spacing must be a positive number.',invalidCellPadding:'Cell padding must be a positive number.',cell:{menu:'Cela',insertBefore:'Insert Cell Before',insertAfter:'Insert Cell After',deleteCell:'Borrar Cela',merge:'Unir Celas',mergeRight:'Merge Right',mergeDown:'Merge Down',splitHorizontal:'Split Cell Horizontally',splitVertical:'Split Cell Vertically',title:'Cell Properties',cellType:'Cell Type',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Word Wrap',hAlign:'Horizontal Alignment',vAlign:'Vertical Alignment',alignBaseline:'Baseline',bgColor:'Background Color',borderColor:'Border Color',data:'Data',header:'Header',yes:'Yes',no:'No',invalidWidth:'Cell width must be a number.',invalidHeight:'Cell height must be a number.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Choose'},row:{menu:'Fila',insertBefore:'Insert Row Before',insertAfter:'Insert Row After',deleteRow:'Borrar Filas'},column:{menu:'Columna',insertBefore:'Insert Column Before',insertAfter:'Insert Column After',deleteColumn:'Borrar Columnas'}},button:{title:'Propriedades do Botón',text:'Texto (Valor)',type:'Tipo',typeBtn:'Button',typeSbm:'Submit',typeRst:'Reset'},checkboxAndRadio:{checkboxTitle:'Propriedades do Cadro de Verificación',radioTitle:'Propriedades do Botón de Radio',value:'Valor',selected:'Seleccionado'},form:{title:'Propriedades do Formulario',menu:'Propriedades do Formulario',action:'Acción',method:'Método',encoding:'Encoding'},select:{title:'Propriedades do Campo de Selección',selectInfo:'Info',opAvail:'Opcións Disponibles',value:'Valor',size:'Tamaño',lines:'liñas',chkMulti:'Permitir múltiples seleccións',opText:'Texto',opValue:'Valor',btnAdd:'Engadir',btnModify:'Modificar',btnUp:'Subir',btnDown:'Baixar',btnSetValue:'Definir como valor por defecto',btnDelete:'Borrar'},textarea:{title:'Propriedades da Ãrea de Texto',cols:'Columnas',rows:'Filas'},textfield:{title:'Propriedades do Campo de Texto',name:'Nome',value:'Valor',charWidth:'Tamaño do Caracter',maxChars:'Máximo de Caracteres',type:'Tipo',typeText:'Texto',typePass:'Chave'},hidden:{title:'Propriedades do Campo Oculto',name:'Nome',value:'Valor'},image:{title:'Propriedades da Imaxe',titleButton:'Propriedades do Botón de Imaxe',menu:'Propriedades da Imaxe',infoTab:'Información da Imaxe',btnUpload:'Enviar ó Servidor',upload:'Carregar',alt:'Texto Alternativo',lockRatio:'Proporcional',resetSize:'Tamaño Orixinal',border:'Límite',hSpace:'Esp. Horiz.',vSpace:'Esp. Vert.',alertUrl:'Por favor, escriba a URL da imaxe',linkTab:'Ligazón',button2Img:'Do you want to transform the selected image button on a simple image?',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'Propriedades Flash',propertiesTab:'Properties',title:'Propriedades Flash',chkPlay:'Auto Execución',chkLoop:'Bucle',chkMenu:'Activar Menú Flash',chkFull:'Allow Fullscreen',scale:'Escalar',scaleAll:'Amosar Todo',scaleNoBorder:'Sen Borde',scaleFit:'Encaixar axustando',access:'Script Access',accessAlways:'Always',accessSameDomain:'Same domain',accessNever:'Never',alignAbsBottom:'Abs Inferior',alignAbsMiddle:'Abs Centro',alignBaseline:'Liña Base',alignTextTop:'Tope do Texto',quality:'Quality',qualityBest:'Best',qualityHigh:'High',qualityAutoHigh:'Auto High',qualityMedium:'Medium',qualityAutoLow:'Auto Low',qualityLow:'Low',windowModeWindow:'Window',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Window mode',flashvars:'Variables for Flash',bgcolor:'Cor do Fondo',hSpace:'Esp. Horiz.',vSpace:'Esp. Vert.',validateSrc:'Por favor, escriba a ligazón URL',validateHSpace:'HSpace must be a number.',validateVSpace:'VSpace must be a number.'},spellCheck:{toolbar:'Corrección Ortográfica',title:'Spell Check',notAvailable:'Sorry, but service is unavailable now.',errorLoading:'Error loading application service host: %s.',notInDic:'Non está no diccionario',changeTo:'Cambiar a',btnIgnore:'Ignorar',btnIgnoreAll:'Ignorar Todas',btnReplace:'Substituir',btnReplaceAll:'Substituir Todas',btnUndo:'Desfacer',noSuggestions:'- Sen candidatos -',progress:'Corrección ortográfica en progreso...',noMispell:'Corrección ortográfica rematada: Non se atoparon erros',noChanges:'Corrección ortográfica rematada: Non se substituiu nengunha verba',oneChange:'Corrección ortográfica rematada: Unha verba substituida',manyChanges:'Corrección ortográfica rematada: %1 verbas substituidas',ieSpellDownload:'O corrector ortográfico non está instalado. ¿Quere descargalo agora?'},smiley:{toolbar:'Smiley',title:'Inserte un Smiley',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 element'},numberedlist:'Lista Numerada',bulletedlist:'Marcas',indent:'Aumentar Sangría',outdent:'Disminuir Sangría',justify:{left:'Aliñar á Esquerda',center:'Centrado',right:'Aliñar á Dereita',block:'Xustificado'},blockquote:'Block Quote',clipboard:{title:'Pegar',cutError:'Os axustes de seguridade do seu navegador non permiten que o editor realice automáticamente as tarefas de corte. Por favor, use o teclado para iso (Ctrl/Cmd+X).',copyError:'Os axustes de seguridade do seu navegador non permiten que o editor realice automáticamente as tarefas de copia. Por favor, use o teclado para iso (Ctrl/Cmd+C).',pasteMsg:'Por favor, pegue dentro do seguinte cadro usando o teclado (<STRONG>Ctrl/Cmd+V</STRONG>) e pulse <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.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'Pegar dende Word',title:'Pegar dende Word',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'Pegar como texto plano',title:'Pegar como texto plano'},templates:{button:'Plantillas',title:'Plantillas de Contido',options:'Template Options',insertOption:'Replace actual contents',selectPromptMsg:'Por favor, seleccione a plantilla a abrir no editor<br>(o contido actual perderase):',emptyListMsg:'(Non hai plantillas definidas)'},showBlocks:'Show Blocks',stylesCombo:{label:'Estilo',panelTitle:'Formatting Styles',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'Formato',panelTitle:'Formato',tag_p:'Normal',tag_pre:'Formateado',tag_address:'Enderezo',tag_h1:'Enacabezado 1',tag_h2:'Encabezado 2',tag_h3:'Encabezado 3',tag_h4:'Encabezado 4',tag_h5:'Encabezado 5',tag_h6:'Encabezado 6',tag_div:'Paragraph (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'Tipo',voiceLabel:'Font',panelTitle:'Tipo'},fontSize:{label:'Tamaño',voiceLabel:'Font Size',panelTitle:'Tamaño'},colorButton:{textColorTitle:'Cor do Texto',bgColorTitle:'Cor do Fondo',panelTitle:'Colors',auto:'Automático',more:'Máis Cores...'},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'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Options',langs:'Languages',moreSuggestions:'More suggestions',ignore:'Ignore',ignoreAll:'Ignore All',addWord:'Add Word',emptyDic:'Dictionary name should not be empty.',noSuggestions:'Sen candidatos',optionsTab:'Options',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Languages',dictionariesTab:'Dictionaries',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'About'},about:{title:'About CKEditor',dlgTitle:'About CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'For licensing information please visit our web site:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Maximize',minimize:'Minimize',fakeobjects:{anchor:'Anchor',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Unknown Object'},resize:'Drag to resize',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'Propriedades do Documento',title:'Propriedades do Documento',design:'Design',meta:'Meta Tags',chooseColor:'Choose',other:'<outro>',docTitle:'Título da Páxina',charset:'Codificación do Xogo de Caracteres',charsetOther:'Outra Codificación do Xogo de Caracteres',charsetASCII:'ASCII',charsetCE:'Central European',charsetCT:'Chinese Traditional (Big5)',charsetCR:'Cyrillic',charsetGR:'Greek',charsetJP:'Japanese',charsetKR:'Korean',charsetTR:'Turkish',charsetUN:'Unicode (UTF-8)',charsetWE:'Western European',docType:'Encabezado do Tipo de Documento',docTypeOther:'Outro Encabezado do Tipo de Documento',xhtmlDec:'Incluir Declaracións XHTML',bgColor:'Cor de Fondo',bgImage:'URL da Imaxe de Fondo',bgFixed:'Fondo Fixo',txtColor:'Cor do Texto',margin:'Marxes da Páxina',marginTop:'Arriba',marginLeft:'Esquerda',marginRight:'Dereita',marginBottom:'Abaixo',metaKeywords:'Palabras Chave de Indexación do Documento (separadas por comas)',metaDescription:'Descripción do Documento',metaAuthor:'Autor',metaCopyright:'Copyright',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/gu.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/gu.js
deleted file mode 100644
index a37a566..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/gu.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.gu={dir:'ltr',editorTitle:'રીચ ટેકà«àª·à«àª¤à« àªàª¡àª¿àªŸàª°, %1',editorHelp:'પà«àª°à«‡àª¸ ALT 0 મદદ માટ',toolbars:'àªàª¡à«€àªŸàª° ટૂલ બાર',editor:'રીચ ટેકà«àª·à«àª¤à« àªàª¡à«€àªŸàª°',source:'મૂળ કે પà«àª°àª¾àª¥àª®àª¿àª• દસà«àª¤àª¾àªµà«‡àªœ',newPage:'નવૠપાનà«àª‚',save:'સેવ',preview:'પૂરà«àªµàª¦àª°à«àª¶àª¨',cut:'કાપવà«àª‚',copy:'નકલ',paste:'પેસà«àªŸ',print:'પà«àª°àª¿àª¨à«àªŸ',underline:'અનà«àª¡àª°à«àª²àª¾àª‡àª¨, નીચે લીટી',bold:'બોલà«àª¡/સà«àªªàª·à«àªŸ',italic:'ઇટેલિક, તà«àª°àª¾àª‚સા',selectAll:'બઘà«àª‚ પસંદ કરવà«àª‚',removeFormat:'ફૉરà«àª®àªŸ કાઢવà«àª‚',strike:'છેકી નાખવà«àª‚',subscript:'àªàª• ચિહà«àª¨àª¨à«€ નીચે કરેલà«àª‚ બીજà«àª‚ ચિહà«àª¨',superscript:'àªàª• ચિહà«àª¨ ઉપર કરેલà«àª‚ બીજà«àª‚ ચિહà«àª¨.',horizontalrule:'સમસà«àª¤àª°à«€àª¯ રેખા ઇનà«àª¸àª°à«àªŸ/દાખલ કરવી',pagebreak:'ઇનà«àª¸àª°à«àªŸ પેજબà«àª°à«‡àª•/પાનાને અલગ કરવà«àª‚/દાખલ કરવà«àª‚',pagebreakAlt:'નવà«àª‚ પાનà«àª‚',unlink:'લિંક કાઢવી',undo:'રદ કરવà«àª‚; પહેલાં હતી àªàªµà«€ સà«àª¥àª¿àª¤àª¿ પાછી લાવવી',redo:'રિડૂ; પછી હતી àªàªµà«€ સà«àª¥àª¿àª¤àª¿ પાછી લાવવી',common:{browseServer:'સરà«àªµàª° બà«àª°àª¾àª‰àª કરો',url:'URL',protocol:'પà«àª°à«‹àªŸà«‹àª•à«‰àª²',upload:'અપલોડ',uploadSubmit:'આ સરà«àªµàª°àª¨à«‡ મોકલવà«àª‚',image:'ચિતà«àª°',flash:'ફà«àª²à«…શ',form:'ફૉરà«àª®/પતà«àª°àª•',checkbox:'ચેક બોકà«àª¸',radio:'રેડિઓ બટન',textField:'ટેકà«àª¸à«àªŸ ફીલà«àª¡, શબà«àª¦ કà«àª·à«‡àª¤à«àª°',textarea:'ટેકà«àª¸à«àªŸ àªàª°àª¿àª†, શબà«àª¦ વિસà«àª¤àª¾àª°',hiddenField:'ગà«àªªà«àª¤ કà«àª·à«‡àª¤à«àª°',button:'બટન',select:'પસંદગી કà«àª·à«‡àª¤à«àª°',imageButton:'ચિતà«àª° બટન',notSet:'<સેટ નથી>',id:'Id',name:'નામ',langDir:'ભાષા લેખવાની પદà«àª§àª¤àª¿',langDirLtr:'ડાબે થી જમણે (LTR)',langDirRtl:'જમણે થી ડાબે (RTL)',langCode:'ભાષા કોડ',longDescr:'વધારે માહિતી માટે URL',cssClass:'સà«àªŸàª¾àª‡àª²-શીટ કà«àª²àª¾àª¸',advisoryTitle:'મà«àª–à«àª¯ મથાળà«àª‚',cssStyle:'સà«àªŸàª¾àª‡àª²',ok:'ઠીક છે',cancel:'રદ કરવà«àª‚',close:'બંધ કરવà«àª‚',preview:'જોવà«àª‚',generalTab:'જનરલ',advancedTab:'અડà«àªµàª¾àª¨à«àª¸àª¡',validateNumberFailed:'આ રકમ આકડો નથી.',confirmNewPage:'સવે કારà«àª¯ વગરનà«àª‚ ફકરો ખોવાઈ જશે. તમને ખાતરી છે કે તમને નવà«àª‚ પાનà«àª‚ ખોલવà«àª‚ છે?',confirmCancel:'ઘણા વિકલà«àªªà«‹ બદલાયા છે. તમારે આ બોકà«àª·à« બંધ કરવà«àª‚ છે?',options:'વિકલà«àªªà«‹',target:'લકà«àª·à«àª¯',targetNew:'નવી વિનà«àª¡à«‹ (_blank)',targetTop:'ઉપરની વિનà«àª¡à«‹ (_top)',targetSelf:'àªàªœ વિનà«àª¡à«‹ (_self)',targetParent:'પેરનટ વિનà«àª¡à«‹ (_parent)',langDirLTR:'ડાબે થી જમણે (LTR)',langDirRTL:'જમણે થી ડાબે (RTL)',styles:'શૈલી',cssClasses:'શૈલી કલાસીસ',width:'પહોળાઈ',height:'ઊંચાઈ',align:'લાઇનદોરીમાં ગોઠવવà«àª‚',alignLeft:'ડાબી બાજૠગોઠવવà«àª‚',alignRight:'જમણી',alignCenter:'મધà«àª¯ સેનà«àªŸàª°',alignTop:'ઉપર',alignMiddle:'વચà«àªšà«‡',alignBottom:'નીચે',invalidValue:'Invalid value.',invalidHeight:'ઉંચાઈ àªàª• આંકડો હોવો જોઈàª.',invalidWidth:'પોહળ ઈ àªàª• આંકડો હોવો જોઈàª.',invalidCssLength:'"%1" ની વેલà«àª¯à« àªàª• પોસીટીવ આંકડો હોવો જોઈઠઅથવા CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc) વગર.',invalidHtmlLength:'"%1" ની વેલà«àª¯à« àªàª• પોસીટીવ આંકડો હોવો જોઈઠઅથવા HTML measurement unit (px or %) વગર.',invalidInlineStyle:'ઈનલાઈન સà«àªŸàª¾àªˆàª² ની વેલà«àª¯à« "name : value" ના ફોરà«àª®à«‡àªŸ માં હોવી જોઈàª, વચà«àªšà«‡ સેમી-કોલોન જોઈàª.',cssLengthTooltip:'પિકà«àª·à«àª²à« નો આંકડો CSS unit (px, %, in, cm, mm, em, ex, pt, or pc) માં નાખો.',unavailable:'%1<span class="cke_accessibility">, નથી મળતà«àª‚</span>'},contextmenu:{options:'કોનà«àª¤à«‡àª•à«àª·à«àª¤à« મેનà«àª¨àª¾ વિકલà«àªªà«‹'},specialChar:{toolbar:'વિશિષà«àªŸ અકà«àª·àª° ઇનà«àª¸àª°à«àªŸ/દાખલ કરવà«àª‚',title:'સà«àªªà«‡àª¶àª¿àª…લ વિશિષà«àªŸ અકà«àª·àª° પસંદ કરો',options:'સà«àªªà«‡àª¶àª¿àª…લ કરેકà«àªŸàª°àª¨àª¾ વિકલà«àªªà«‹'},link:{toolbar:'લિંક ઇનà«àª¸àª°à«àªŸ/દાખલ કરવી',other:'<other> <અનà«àª¯>',menu:' લિંક àªàª¡àª¿àªŸ/માં ફેરફાર કરવો',title:'લિંક',info:'લિંક ઇનà«àª«à«‰ ટૅબ',target:'ટારà«àª—ેટ/લકà«àª·à«àª¯',upload:'અપલોડ',advanced:'અડà«àªµàª¾àª¨à«àª¸àª¡',type:'લિંક પà«àª°àª•àª¾àª°',toUrl:'URL',toAnchor:'આ પેજનો àªàª‚કર',toEmail:'ઈ-મેલ',targetFrame:'<ફà«àª°à«‡àª®>',targetPopup:'<પૉપ-અપ વિનà«àª¡à«‹>',targetFrameName:'ટારà«àª—ેટ ફà«àª°à«‡àª® નà«àª‚ નામ',targetPopupName:'પૉપ-અપ વિનà«àª¡à«‹ નà«àª‚ નામ',popupFeatures:'પૉપ-અપ વિનà«àª¡à«‹ ફીચરસૅ',popupResizable:'રીસાઈàªàªàª¬àª²',popupStatusBar:'સà«àªŸà«…ટસ બાર',popupLocationBar:'લોકેશન બાર',popupToolbar:'ટૂલ બાર',popupMenuBar:'મેનà«àª¯à«‚ બાર',popupFullScreen:'ફà«àª² સà«àª•à«àª°à«€àª¨ (IE)',popupScrollBars:'સà«àª•à«àª°à«‹àª² બાર',popupDependent:'ડિપેનà«àª¡àª¨à«àªŸ (Netscape)',popupLeft:'ડાબી બાજà«',popupTop:'જમણી બાજà«',id:'Id',langDir:'ભાષા લેખવાની પદà«àª§àª¤àª¿',langDirLTR:'ડાબે થી જમણે (LTR)',langDirRTL:'જમણે થી ડાબે (RTL)',acccessKey:'àªàª•à«àª¸à«‡àª¸ કી',name:'નામ',langCode:'ભાષા લેખવાની પદà«àª§àª¤àª¿',tabIndex:'ટૅબ ઇનà«àª¡à«‡àª•à«àª¸',advisoryTitle:'મà«àª–à«àª¯ મથાળà«àª‚',advisoryContentType:'મà«àª–à«àª¯ કનà«àªŸà«‡àª¨à«àªŸ પà«àª°àª•àª¾àª°',cssClasses:'સà«àªŸàª¾àª‡àª²-શીટ કà«àª²àª¾àª¸',charset:'લિંક રિસૉરà«àª¸ કૅરિકà«àªŸàª° સેટ',styles:'સà«àªŸàª¾àª‡àª²',rel:'સંબંધની સà«àª¥àª¿àª¤àª¿',selectAnchor:'àªàª‚કર પસંદ કરો',anchorName:'àªàª‚કર નામથી પસંદ કરો',anchorId:'àªàª‚કર àªàª²àª¿àª®àª¨à«àªŸ Id થી પસંદ કરો',emailAddress:'ઈ-મેલ સરનામà«àª‚',emailSubject:'ઈ-મેલ વિષય',emailBody:'સંદેશ',noAnchors:'(ડૉકà«àª¯à«àª®àª¨à«àªŸàª®àª¾àª‚ àªàª‚કરની સંખà«àª¯àª¾)',noUrl:'લિંક URL ટાઇપ કરો',noEmail:'ઈ-મેલ સરનામà«àª‚ ટાઇપ કરો'},anchor:{toolbar:'àªàª‚કર ઇનà«àª¸àª°à«àªŸ/દાખલ કરવી',menu:'àªàª‚કરના ગà«àª£',title:'àªàª‚કરના ગà«àª£',name:'àªàª‚કરનà«àª‚ નામ',errorName:'àªàª‚કરનà«àª‚ નામ ટાઈપ કરો',remove:'સà«àª¥àª¿àª° નકરવà«àª‚'},list:{numberedTitle:'આંકડાના લીસà«àªŸàª¨àª¾ ગà«àª£',bulletedTitle:'બà«àª²à«‡àªŸà«‡àª¡ લીસà«àªŸàª¨àª¾ ગà«àª£',type:'પà«àª°àª•àª¾àª°',start:'શરૠકરવà«àª‚',validateStartNumber:'લીસà«àªŸàª¨àª¾ સરà«àª†àª¤àª¨à«‹ આંકડો પà«àª°à«‹ હોવો જોઈàª.',circle:'વરà«àª¤à«àª³',disc:'ડિસà«àª•',square:'ચોરસ',none:'કસૠ',notset:'<સેટ નથી>',armenian:'અરમેનિયન આંકડા પદà«àª§àª¤àª¿',georgian:'ગેઓરà«àª—િયન આંકડા પદà«àª§àª¤àª¿ (an, ban, gan, etc.)',lowerRoman:'રોમન નાના (i, ii, iii, iv, v, etc.)',upperRoman:'રોમન મોટા (I, II, III, IV, V, etc.)',lowerAlpha:'આલà«àª«àª¾ નાના (a, b, c, d, e, etc.)',upperAlpha:'આલà«àª«àª¾ મોટા (A, B, C, D, E, etc.)',lowerGreek:'ગà«àª°à«€àª• નાના (alpha, beta, gamma, etc.)',decimal:'આંકડા (1, 2, 3, etc.)',decimalLeadingZero:'સà«àª¨à«àª¯ આગળ આંકડા (01, 02, 03, etc.)'},findAndReplace:{title:'શોધવà«àª‚ અને બદલવà«àª‚',find:'શોધવà«àª‚',replace:'રિપà«àª²à«‡àª¸/બદલવà«àª‚',findWhat:'આ શોધો',replaceWith:'આનાથી બદલો',notFoundMsg:'તમે શોધેલી ટેકà«àª¸à«àªŸ નથી મળી',findOptions:'વીકલà«àªª શોધો',matchCase:'કેસ સરખા રાખો',matchWord:'બઘા શબà«àª¦ સરખા રાખો',matchCyclic:'સરખાવવા બધા',replaceAll:'બઘા બદલી ',replaceSuccessMsg:'%1 ફેરફારો બાદલાયા છે.'},table:{toolbar:'ટેબલ, કોઠો',title:'ટેબલ, કોઠાનà«àª‚ મથાળà«àª‚',menu:'ટેબલ, કોઠાનà«àª‚ મથાળà«àª‚',deleteTable:'કોઠો ડિલીટ/કાઢી નાખવà«àª‚',rows:'પંકà«àª¤àª¿àª¨àª¾ ખાના',columns:'કૉલમ/ઊભી કટાર',border:'કોઠાની બાજà«(બોરà«àª¡àª°) સાઇàª',widthPx:'પિકસલ',widthPc:'પà«àª°àª¤àª¿àª¶àª¤',widthUnit:'પોહાલાઈ àªàª•àª®',cellSpace:'સેલ અંતર',cellPad:'સેલ પૅડિંગ',caption:'મથાળà«àª‚/કૅપà«àª¶àª¨ ',summary:'ટૂંકો àªàª¹à«‡àªµàª¾àª²',headers:'મથાળા',headersNone:'નથી ',headersColumn:'પહેલી ઊભી કટાર',headersRow:'પહેલી કટાર',headersBoth:'બેવà«àª‚',invalidRows:'આડી કટાર, 0 કરતા વધારે હોવી જોઈàª.',invalidCols:'ઉભી કટાર, 0 કરતા વધારે હોવી જોઈàª.',invalidBorder:'બોરà«àª¡àª° àªàª• આંકડો હોવો જોઈàª',invalidWidth:'ટેબલની પોહલાઈ આંકડો હોવો જોઈàª.',invalidHeight:'ટેબલની ઊંચાઈ આંકડો હોવો જોઈàª.',invalidCellSpacing:'સેલ વચà«àªšà«‡àª¨à«€ જગà«àª¯àª¾ સà«àª¨à«àª¯ કરતા વધારે હોવી જોઈàª.',invalidCellPadding:'સેલની અંદરની જગà«àª¯àª¾ સà«àª¨à«àª¯ કરતા વધારે હોવી જોઈàª.',cell:{menu:'કોષના ખાના',insertBefore:'પહેલાં કોષ ઉમેરવો',insertAfter:'પછી કોષ ઉમેરવો',deleteCell:'કોષ ડિલીટ/કાઢી નાખવો',merge:'કોષ ભેગા કરવા',mergeRight:'જમણી બાજૠભેગા કરવા',mergeDown:'નીચે ભેગા કરવા',splitHorizontal:'કોષને સમસà«àª¤àª°à«€àª¯ વિભાજન કરવà«àª‚',splitVertical:'કોષને સીધà«àª‚ ને ઊભà«àª‚ વિભાજન કરવà«àª‚',title:'સેલના ગà«àª£',cellType:'સેલનો પà«àª°àª•àª¾àª°',rowSpan:'આડી કટારની જગà«àª¯àª¾',colSpan:'ઊભી કતારની જગà«àª¯àª¾',wordWrap:'વરà«àª¡ રેપ',hAlign:'સપાટ લાઈનદોરી',vAlign:'ઊભી લાઈનદોરી',alignBaseline:'બસે લાઈન',bgColor:'પાછાળનો રંગ',borderColor:'બોરà«àª¡à«‡àª° રંગ',data:'સà«àªµà«€àª•à«ƒàª¤ માહિતી',header:'મથાળà«àª‚',yes:'હા',no:'ના',invalidWidth:'સેલની પોહલાઈ આંકડો હોવો જોઈàª.',invalidHeight:'સેલની ઊંચાઈ આંકડો હોવો જોઈàª.',invalidRowSpan:'રો સà«àªªàª¾àª¨ આંકડો હોવો જોઈàª.',invalidColSpan:'કોલમ સà«àªªàª¾àª¨ આંકડો હોવો જોઈàª.',chooseColor:'પસંદ કરવà«àª‚'},row:{menu:'પંકà«àª¤àª¿àª¨àª¾ ખાના',insertBefore:'પહેલાં પંકà«àª¤àª¿ ઉમેરવી',insertAfter:'પછી પંકà«àª¤àª¿ ઉમેરવી',deleteRow:'પંકà«àª¤àª¿àª“ ડિલીટ/કાઢી નાખવી'},column:{menu:'કૉલમ/ઊભી કટાર',insertBefore:'પહેલાં કૉલમ/ઊભી કટાર ઉમેરવી',insertAfter:'પછી કૉલમ/ઊભી કટાર ઉમેરવી',deleteColumn:'કૉલમ/ઊભી કટાર ડિલીટ/કાઢી નાખવી'}},button:{title:'બટનના ગà«àª£',text:'ટેકà«àª¸à«àªŸ (વૅલà«àª¯à«‚)',type:'પà«àª°àª•àª¾àª°',typeBtn:'બટન',typeSbm:'સબà«àª®àª¿àªŸ',typeRst:'રિસેટ'},checkboxAndRadio:{checkboxTitle:'ચેક બોકà«àª¸ ગà«àª£',radioTitle:'રેડિઓ બટનના ગà«àª£',value:'વૅલà«àª¯à«‚',selected:'સિલેકà«àªŸà«‡àª¡'},form:{title:'ફૉરà«àª®/પતà«àª°àª•àª¨àª¾ ગà«àª£',menu:'ફૉરà«àª®/પતà«àª°àª•àª¨àª¾ ગà«àª£',action:'કà«àª°àª¿àª¯àª¾',method:'પદà«àª§àª¤àª¿',encoding:'અનà«àª•à«‹àª¡à«€àª¨à«àª—'},select:{title:'પસંદગી કà«àª·à«‡àª¤à«àª°àª¨àª¾ ગà«àª£',selectInfo:'સૂચના',opAvail:'ઉપલબà«àª§ વિકલà«àªª',value:'વૅલà«àª¯à«‚',size:'સાઇàª',lines:'લીટીઓ',chkMulti:'àªàª•àª¥à«€ વધારે પસંદ કરી શકો',opText:'ટેકà«àª¸à«àªŸ',opValue:'વૅલà«àª¯à«‚',btnAdd:'ઉમેરવà«àª‚',btnModify:'બદલવà«àª‚',btnUp:'ઉપર',btnDown:'નીચે',btnSetValue:'પસંદ કરલી વૅલà«àª¯à«‚ સેટ કરો',btnDelete:'રદ કરવà«àª‚'},textarea:{title:'ટેકà«àª¸à«àªŸ àªàª…રિઆ, શબà«àª¦ વિસà«àª¤àª¾àª°àª¨àª¾ ગà«àª£',cols:'કૉલમ/ઊભી કટાર',rows:'પંકà«àª¤àª¿àª“'},textfield:{title:'ટેકà«àª¸à«àªŸ ફીલà«àª¡, શબà«àª¦ કà«àª·à«‡àª¤à«àª°àª¨àª¾ ગà«àª£',name:'નામ',value:'વૅલà«àª¯à«‚',charWidth:'કેરેકà«àªŸàª°àª¨à«€ પહોળાઈ',maxChars:'અધિકતમ કેરેકà«àªŸàª°',type:'ટાઇપ',typeText:'ટેકà«àª¸à«àªŸ',typePass:'પાસવરà«àª¡'},hidden:{title:'ગà«àªªà«àª¤ કà«àª·à«‡àª¤à«àª°àª¨àª¾ ગà«àª£',name:'નામ',value:'વૅલà«àª¯à«‚'},image:{title:'ચિતà«àª°àª¨àª¾ ગà«àª£',titleButton:'ચિતà«àª° બટનના ગà«àª£',menu:'ચિતà«àª°àª¨àª¾ ગà«àª£',infoTab:'ચિતà«àª° ની જાણકારી',btnUpload:'આ સરà«àªµàª°àª¨à«‡ મોકલવà«àª‚',upload:'અપલોડ',alt:'ઑલà«àªŸàª°à«àª¨àªŸ ટેકà«àª¸à«àªŸ',lockRatio:'લૉક ગà«àª£à«‹àª¤à«àª¤àª°',resetSize:'રીસેટ સાઇàª',border:'બોરà«àª¡àª°',hSpace:'સમસà«àª¤àª°à«€àª¯ જગà«àª¯àª¾',vSpace:'લંબરૂપ જગà«àª¯àª¾',alertUrl:'ચિતà«àª°àª¨à«€ URL ટાઇપ કરો',linkTab:'લિંક',button2Img:'તમારે ઈમેજ બટનને સાદી ઈમેજમાં બદલવà«àª‚ છે.',img2Button:'તમારે સાદી ઈમેજને ઈમેજ બટનમાં બદલવà«àª‚ છે.',urlMissing:'ઈમેજની મૂળ URL છે નહી.',validateBorder:'બોરà«àª¡à«‡àª° આંકડો હોવો જોઈàª.',validateHSpace:'HSpaceઆંકડો હોવો જોઈàª.',validateVSpace:'VSpace આંકડો હોવો જોઈàª. '},flash:{properties:'ફà«àª²à«…શના ગà«àª£',propertiesTab:'ગà«àª£',title:'ફà«àª²à«…શ ગà«àª£',chkPlay:'ઑટો/સà«àªµàª¯àª‚ પà«àª²à«‡',chkLoop:'લૂપ',chkMenu:'ફà«àª²à«…શ મેનà«àª¯à«‚ નો પà«àª°àª¯à«‹àª— કરો',chkFull:'ફૂલ સà«àª•à«àª°à«€àª¨ કરવà«àª‚',scale:'સà«àª•à«‡àª²',scaleAll:'સà«àª•à«‡àª² ઓલ/બધૠબતાવો',scaleNoBorder:'સà«àª•à«‡àª² બોરà«àª¡àª° વગર',scaleFit:'સà«àª•à«‡àª² àªàª•àª¦àª® ફીટ',access:'સà«àª•à«àª°à«€àªªà«àªŸ àªàª•à«àª¸à«‡àª¸',accessAlways:'હમેશાં',accessSameDomain:'àªàªœ ડોમેન',accessNever:'નહી',alignAbsBottom:'Abs નીચે',alignAbsMiddle:'Abs ઉપર',alignBaseline:'આધાર લીટી',alignTextTop:'ટેકà«àª¸à«àªŸ ઉપર',quality:'ગà«àª£àª§àª°à«àª®',qualityBest:'શà«àª°à«‡àª·à«àª ',qualityHigh:'ઊંચà«àª‚',qualityAutoHigh:'ઓટો ઊંચà«àª‚',qualityMedium:'મધà«àª¯àª®',qualityAutoLow:'ઓટો નીચà«àª‚',qualityLow:'નીચà«àª‚',windowModeWindow:'વિનà«àª¡à«‹',windowModeOpaque:'અપારદરà«àª¶àª•',windowModeTransparent:'પારદરà«àª¶àª•',windowMode:'વિનà«àª¡à«‹ મોડ',flashvars:'ફલેશ ના વિકલà«àªªà«‹',bgcolor:'બૅકગà«àª°àª¾àª‰àª¨à«àª¡ રંગ,',hSpace:'સમસà«àª¤àª°à«€àª¯ જગà«àª¯àª¾',vSpace:'લંબરૂપ જગà«àª¯àª¾',validateSrc:'લિંક URL ટાઇપ કરો',validateHSpace:'HSpace આંકડો હોવો જોઈàª.',validateVSpace:'VSpace આંકડો હોવો જોઈàª.'},spellCheck:{toolbar:'જોડણી (સà«àªªà«‡àª²àª¿àª‚ગ) તપાસવી',title:'સà«àªªà«‡àª² ',notAvailable:'માફ કરશો, આ સà«àªµàª¿àª§àª¾ ઉપલબà«àª§ નથી',errorLoading:'સરà«àªµàª¿àª¸ àªàªªà«àª²à«€àª•à«‡àª¶àª¨ લોડ નથી થ: %s.',notInDic:'શબà«àª¦àª•à«‹àª¶àª®àª¾àª‚ નથી',changeTo:'આનાથી બદલવà«àª‚',btnIgnore:'ઇગà«àª¨à«‹àª°/અવગણના કરવી',btnIgnoreAll:'બધાની ઇગà«àª¨à«‹àª°/અવગણના કરવી',btnReplace:'બદલવà«àª‚',btnReplaceAll:'બધા બદલી કરો',btnUndo:'અનà«àª¡à«‚',noSuggestions:'- કઇ સજેશન નથી -',progress:'શબà«àª¦àª¨à«€ જોડણી/સà«àªªà«‡àª² ચેક ચાલૠછે...',noMispell:'શબà«àª¦àª¨à«€ જોડણી/સà«àªªà«‡àª² ચેક પૂરà«àª£: ખોટી જોડણી મળી નથી',noChanges:'શબà«àª¦àª¨à«€ જોડણી/સà«àªªà«‡àª² ચેક પૂરà«àª£: àªàª•àªªàª£ શબà«àª¦ બદલયો નથી',oneChange:'શબà«àª¦àª¨à«€ જોડણી/સà«àªªà«‡àª² ચેક પૂરà«àª£: àªàª• શબà«àª¦ બદલયો છે',manyChanges:'શબà«àª¦àª¨à«€ જોડણી/સà«àªªà«‡àª² ચેક પૂરà«àª£: %1 શબà«àª¦ બદલયા છે',ieSpellDownload:'સà«àªªà«‡àª²-ચેકર ઇનà«àª¸à«àªŸà«‹àª² નથી. શà«àª‚ તમે ડાઉનલોડ કરવા માંગો છો?'},smiley:{toolbar:'સà«àª®àª¾àª‡àª²à«€',title:'સà«àª®àª¾àª‡àª²à«€ પસંદ કરો',options:'સમà«àª¯à«àª²à«€ વિકલà«àªªà«‹'},elementsPath:{eleLabel:'àªàª²à«€àª®à«‡àª¨à«àªŸà«àª¸ નો ',eleTitle:'àªàª²à«€àª®à«‡àª¨à«àªŸ %1'},numberedlist:'સંખà«àª¯àª¾àª‚કન સૂચિ',bulletedlist:'બà«àª²à«‡àªŸ સૂચિ',indent:'ઇનà«àª¡à«‡àª¨à«àªŸ, લીટીના આરંભમાં જગà«àª¯àª¾ વધારવી',outdent:'ઇનà«àª¡à«‡àª¨à«àªŸ લીટીના આરંભમાં જગà«àª¯àª¾ ઘટાડવી',justify:{left:'ડાબી બાજà«àª/બાજૠતરફ',center:'સંકેંદà«àª°àª£/સેંટરિંગ',right:'જમણી બાજà«àª/બાજૠતરફ',block:'બà«àª²à«‰àª•, અંતરાય જસà«àªŸàª¿àª«àª¾àª‡'},blockquote:'બà«àª²à«‰àª•-કોટ, અવતરણચિહà«àª¨à«‹',clipboard:{title:'પેસà«àªŸ',cutError:'તમારા બà«àª°àª¾àª‰àªàª° ની સà«àª°àª•à«àª·àª¿àª¤ સેટિંગસ કટ કરવાની પરવાનગી નથી આપતી. (Ctrl/Cmd+X) નો ઉપયોગ કરો.',copyError:'તમારા બà«àª°àª¾àª‰àªàª° ની સà«àª°àª•à«àª·àª¿àª¤ સેટિંગસ કોપી કરવાની પરવાનગી નથી આપતી. (Ctrl/Cmd+C) का पà¥à¤°à¤¯à¥‹à¤— करें।',pasteMsg:'Ctrl/Cmd+V નો પà«àª°àª¯à«‹àª— કરી પેસà«àªŸ કરો',securityMsg:'તમારા બà«àª°àª¾àª‰àªàª° ની સà«àª°àª•à«àª·àª¿àª¤ સેટિંગસના કારણે,àªàª¡àª¿àªŸàª° તમારા કિલà«àªªàª¬à«‹àª°à«àª¡ ડેટા ને કોપી નથી કરી શકતો. તમારે આ વિનà«àª¡à«‹àª®àª¾àª‚ ફરીથી પેસà«àªŸ કરવà«àª‚ પડશે.',pasteArea:'પેસà«àªŸ કરવાની જગà«àª¯àª¾'},pastefromword:{confirmCleanup:'તમે જે ટેકà«àª·à«àª¤à« કોપી કરી રહà«àª¯àª¾ છો ટે વરà«àª¡ ની છે. કોપી કરતા પેહલા સાફ કરવી છે?',toolbar:'પેસà«àªŸ (વડૅ ટેકà«àª¸à«àªŸ)',title:'પેસà«àªŸ (વડૅ ટેકà«àª¸à«àªŸ)',error:'પેસà«àªŸ કરેલો ડેટા ઇનà«àªŸàª°àª¨àª² àªàª°àª° ના લીથે સાફ કરી શકાયો નથી.'},pasteText:{button:'પેસà«àªŸ (ટેકà«àª¸à«àªŸ)',title:'પેસà«àªŸ (ટેકà«àª¸à«àªŸ)'},templates:{button:'ટેમà«àªªà«àª²à«‡àªŸ',title:'કનà«àªŸà«‡àª¨à«àªŸ ટેમà«àªªà«àª²à«‡àªŸ',options:'ટેમà«àªªà«àª²à«‡àªŸàª¨àª¾ વિકલà«àªªà«‹',insertOption:'મૂળ શબà«àª¦àª¨à«‡ બદલો',selectPromptMsg:'àªàª¡àª¿àªŸàª°àª®àª¾àª‚ ઓપન કરવા ટેમà«àªªà«àª²à«‡àªŸ પસંદ કરો (વરà«àª¤àª®àª¾àª¨ કનà«àªŸà«‡àª¨à«àªŸ સેવ નહીં થાય):',emptyListMsg:'(કોઈ ટેમà«àªªà«àª²à«‡àªŸ ડિફાઇન નથી)'},showBlocks:'બà«àª²à«‰àª• બતાવવà«àª‚',stylesCombo:{label:'શૈલી/રીત',panelTitle:'ફોરà«àª®à«‡àªŸ ',panelTitle1:'બà«àª²à«‹àª• ',panelTitle2:'ઈનલાઈન ',panelTitle3:'ઓબà«àªœà«‡àª•à«àªŸ પદà«àª§àª¤àª¿'},format:{label:'ફૉનà«àªŸ ફૉરà«àª®àªŸ, રચનાની શૈલી',panelTitle:'ફૉનà«àªŸ ફૉરà«àª®àªŸ, રચનાની શૈલી',tag_p:'સામાનà«àª¯',tag_pre:'ફૉરà«àª®àªŸà«‡àª¡',tag_address:'સરનામà«àª‚',tag_h1:'શીરà«àª·àª• 1',tag_h2:'શીરà«àª·àª• 2',tag_h3:'શીરà«àª·àª• 3',tag_h4:'શીરà«àª·àª• 4',tag_h5:'શીરà«àª·àª• 5',tag_h6:'શીરà«àª·àª• 6',tag_div:'શીરà«àª·àª• (DIV)'},div:{title:'Div કનà«àªŸà«‡àª¨àª° બનાવà«àª‚વà«àª‚',toolbar:'Div કનà«àªŸà«‡àª¨àª° બનાવà«àª‚વà«àª‚',cssClassInputLabel:'સà«àªŸàª¾àªˆàª²àª¶à«€àªŸ કલાસીસ',styleSelectLabel:'સà«àªŸàª¾àªˆàª²',IdInputLabel:'Id',languageCodeInputLabel:'ભાષાનો કોડ',inlineStyleInputLabel:'ઈનલાઈન પદà«àª§àª¤àª¿',advisoryTitleInputLabel:'àªàª¡àªµàª¾àªˆàªàª° શીરà«àª·àª•',langDirLabel:'ભાષાની દિશા',langDirLTRLabel:'ડાબે થી જમણે (LTR)',langDirRTLLabel:'જમણે થી ડાબે (RTL)',edit:'ડીવીમાં ફેરફાર કરવો',remove:'ડીવી કાઢી કાઢવà«àª‚'},iframe:{title:'IFrame વિકલà«àªªà«‹',toolbar:'IFrame',noUrl:'iframe URL ટાઈપૠકરો',scrolling:'સà«àª•à«àª°à«‹àª²àª¬àª¾àª° ચાલૠકરવા',border:'ફà«àª°à«‡àª® બોરà«àª¡à«‡àª° બતાવવી'},font:{label:'ફૉનà«àªŸ',voiceLabel:'ફોનà«àªŸ',panelTitle:'ફૉનà«àªŸ'},fontSize:{label:'ફૉનà«àªŸ સાઇàª/કદ',voiceLabel:'ફોનà«àªŸ સાઈàª',panelTitle:'ફૉનà«àªŸ સાઇàª/કદ'},colorButton:{textColorTitle:'શબà«àª¦àª¨à«‹ રંગ',bgColorTitle:'બૅકગà«àª°àª¾àª‰àª¨à«àª¡ રંગ,',panelTitle:'રંગ',auto:'સà«àªµàªšàª¾àª²àª¿àª¤',more:'ઔર રંગ...'},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:'સફેદ'},scayt:{title:'ટાઈપ કરતા સà«àªªà«‡àª² તપાસો',opera_title:'ઓપેરામાં સપોરà«àªŸ નથી',enable:'SCAYT àªàª¨à«‡àª¬àª² કરવà«àª‚',disable:'SCAYT ડિસેબલ કરવà«àª‚',about:'SCAYT વિષે',toggle:'SCAYT ટોગલ',options:'વિકલà«àªªà«‹',langs:'ભાષાઓ',moreSuggestions:'વધારે વિકલà«àªªà«‹',ignore:'ઇગà«àª¨à«‹àª°',ignoreAll:'બધા ઇગà«àª¨à«‹àª° ',addWord:'શબà«àª¦ ઉમેરવો',emptyDic:'ડિકà«àª¸àª¨àª°à«€àª¨à«àª‚ નામ ખાલી ના હોય.',noSuggestions:'No suggestions',optionsTab:'વિકલà«àªªà«‹',allCaps:'ઓલ-કેપà«àª¸ વરà«àª¡ છોડી દો.',ignoreDomainNames:'ડોમેન નામ છોડી દો.',mixedCase:'મિકà«àª¸ કેસ વરà«àª¡ છોડી દો.',mixedWithDigits:'આંકડા વાળા શબà«àª¦ છોડી દો.',languagesTab:'ભાષા',dictionariesTab:'શબà«àª¦àª•à«‹àª¶',dic_field_name:'શબà«àª¦àª•à«‹àª¶ નામ',dic_create:'બનાવવà«àª‚',dic_restore:'પાછà«àª‚ ',dic_delete:'કાઢી નાખવà«àª‚',dic_rename:'નવà«àª‚ નામ આપવà«àª‚',dic_info:'પેહલા User Dictionary, Cookie તરીકે સà«àªŸà«‹àª° થાય છે. પણ Cookie ની સમતા ઓછી છે. જયારે User Dictionary, Cookie તરીકે સà«àªŸà«‹àª° ના કરી શકાય, તà«àª¯àª¾àª°à«‡ તે અમારા સરà«àªµàª° પર સà«àªŸà«‹àª° થાય છે. તમારી વà«àª¯àª¤àª¿àª—ત ડીકસà«àª¨àª°à«€ ને સરà«àªµàª° પર સà«àªŸà«‹àª° કરવા માટે તમારે તેનà«àª‚ નામ આપવà«àª‚ પડશે. જો તમે તમારી ડીકસà«àª¨àª°à«€ નà«àª‚ નામ આપેલà«àª‚ હોય તો તમે રિસà«àªŸà«‹àª° બટન કà«àª²à«€àª• કરી શકો.',aboutTab:'વિષે'},about:{title:'CKEditor વિષે',dlgTitle:'CKEditor વિષે',help:'મદદ માટે $1 તપાસો',userGuide:'CKEditor યà«àªàª°à«àª¸ ગાઈડ',moreInfo:'લાયસનસની માહિતી માટે અમારી વેબ સાઈટ',copy:'કોપીરાઈટ &copy; $1. ઓલ રાઈટà«àª¸ '},maximize:'મોટà«àª‚ કરવà«àª‚',minimize:'નાનà«àª‚ કરવà«àª‚',fakeobjects:{anchor:'અનકર',flash:'ફà«àª²à«‡àª¶ ',iframe:'IFrame',hiddenfield:'હિડન ',unknown:'અનનોન ઓબà«àªœà«‡àª•à«àªŸ'},resize:'ખેંચી ને યોગà«àª¯ કરવà«àª‚',colordialog:{title:'રંગ પસંદ કરો',options:'રંગના વિકલà«àªª',highlight:'હાઈઈટ',selected:'પસંદ કરેલો રંગ',clear:'સાફ કરવà«àª‚'},toolbarCollapse:'ટૂલબાર નાનà«àª‚ કરવà«àª‚',toolbarExpand:'ટૂલબાર મોટà«àª‚ કરવà«àª‚',toolbarGroups:{document:'દસà«àª¤àª¾àªµà«‡àªœ',clipboard:'કà«àª²àª¿àªªàª¬à«‹àª°à«àª¡/અન',editing:'àªàª¡à«€àªŸ કરવà«àª‚',forms:'ફોરà«àª®',basicstyles:'બેસિકૠસà«àªŸàª¾àª‡àª²',paragraph:'ફકરો',links:'લીંક',insert:'ઉમેરવà«àª‚',styles:'સà«àªŸàª¾àª‡àª²',colors:'રંગ',tools:'ટૂલà«àª¸'},bidi:{ltr:'ટેકà«àª·à«àª¤à« ની દિશા ડાબે થી જમણે',rtl:'ટેકà«àª·à«àª¤à« ની દિશા જમણે થી ડાબે'},docprops:{label:'ડૉકà«àª¯à«àª®àª¨à«àªŸ ગà«àª£/પà«àª°à«‰àªªàª°à«àªŸàª¿àª',title:'ડૉકà«àª¯à«àª®àª¨à«àªŸ ગà«àª£/પà«àª°à«‰àªªàª°à«àªŸàª¿àª',design:'ડીસા',meta:'મેટાડૅટા',chooseColor:'વિકલà«àªª',other:'<other>',docTitle:'પેજ મથાળà«àª‚/ટાઇટલ',charset:'કેરેકà«àªŸàª° સેટ àªàª¨à«àª•à«‹àª¡àª¿àª‚ગ',charsetOther:'અનà«àª¯ કેરેકà«àªŸàª° સેટ àªàª¨à«àª•à«‹àª¡àª¿àª‚ગ',charsetASCII:'ASCII',charsetCE:'મધà«àª¯ યà«àª°à«‹àªªàª¿àª…ન (Central European)',charsetCT:'ચાઇનીઠ(Chinese Traditional Big5)',charsetCR:'સિરીલિક (Cyrillic)',charsetGR:'ગà«àª°à«€àª• (Greek)',charsetJP:'જાપાનિઠ(Japanese)',charsetKR:'કોરીયન (Korean)',charsetTR:'ટરà«àª•àª¿ (Turkish)',charsetUN:'યૂનિકોડ (UTF-8)',charsetWE:'પશà«àªšàª¿àª® યà«àª°à«‹àªªàª¿àª…ન (Western European)',docType:'ડૉકà«àª¯à«àª®àª¨à«àªŸ પà«àª°àª•àª¾àª° શીરà«àª·àª•',docTypeOther:'અનà«àª¯ ડૉકà«àª¯à«àª®àª¨à«àªŸ પà«àª°àª•àª¾àª° શીરà«àª·àª•',xhtmlDec:'XHTML સૂચના સમાવિષà«àªŸ કરવી',bgColor:'બૅકગà«àª°àª¾àª‰àª¨à«àª¡ રંગ',bgImage:'બૅકગà«àª°àª¾àª‰àª¨à«àª¡ ચિતà«àª° URL',bgFixed:'સà«àª•à«àª°à«‹àª² ન થાય તેવà«àª‚ બૅકગà«àª°àª¾àª‰àª¨à«àª¡',txtColor:'શબà«àª¦àª¨à«‹ રંગ',margin:'પેજ મારà«àªœàª¿àª¨',marginTop:'ઉપર',marginLeft:'ડાબી',marginRight:'જમણી',marginBottom:'નીચે',metaKeywords:'ડૉકà«àª¯à«àª®àª¨à«àªŸ ઇનà«àª¡à«‡àª•à«àª¸ સંકેતશબà«àª¦ (અલà«àªªàªµàª¿àª°àª¾àª® (,) થી અલગ કરો)',metaDescription:'ડૉકà«àª¯à«àª®àª¨à«àªŸ વરà«àª£àª¨',metaAuthor:'લેખક',metaCopyright:'કૉપિરાઇટ',previewHtml:'<p>આ àªàª• <strong>સેમà«àªªàª² ટેકà«àª·à«àª¤à«</strong> છે. તમે <a href="javascript:void(0)">CKEditor</a> વાપરો છો.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/he.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/he.js
deleted file mode 100644
index 1d9bc69..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/he.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.he={dir:'rtl',editorTitle:'עורך טקסט עשיר, %1',editorHelp:'לחץ ×לט ALT + 0 לעזרה',toolbars:'סרגלי ×›×œ×™× ×©×œ העורך',editor:'עורך טקסט עשיר',source:'מקור',newPage:'דף חדש',save:'שמירה',preview:'תצוגה מקדימה',cut:'גזירה',copy:'העתקה',paste:'הדבקה',print:'הדפסה',underline:'קו תחתון',bold:'מודגש',italic:'נטוי',selectAll:'בחירת הכל',removeFormat:'הסרת העיצוב',strike:'כתיב מחוק',subscript:'כתיב תחתון',superscript:'כתיב עליון',horizontalrule:'הוספת קו ×ופקי',pagebreak:'הוספת שבירת דף',pagebreakAlt:'שבירת דף',unlink:'הסרת הקישור',undo:'ביטול צעד ×חרון',redo:'חזרה על צעד ×חרון',common:{browseServer:'סייר השרת',url:'כתובת (URL)',protocol:'פרוטוקול',upload:'העל××”',uploadSubmit:'שליחה לשרת',image:'תמונה',flash:'פל×ש',form:'טופס',checkbox:'תיבת סימון',radio:'לחצן ×פשרויות',textField:'שדה טקסט',textarea:'×יזור טקסט',hiddenField:'שדה חבוי',button:'כפתור',select:'שדה בחירה',imageButton:'כפתור תמונה',notSet:'<×œ× × ×§×‘×¢>',id:'זיהוי (ID)',name:'ש×',langDir:'כיוון שפה',langDirLtr:'שמ×ל לימין (LTR)',langDirRtl:'ימין לשמ×ל (RTL)',langCode:'קוד שפה',longDescr:'קישור לתי×ור מפורט',cssClass:'מחלקת עיצוב (CSS Class)',advisoryTitle:'כותרת מוצעת',cssStyle:'סגנון',ok:'×ישור',cancel:'ביטול',close:'סגירה',preview:'תצוגה מקדימה',generalTab:'כללי',advancedTab:'×פשרויות מתקדמות',validateNumberFailed:'הערך חייב להיות מספרי.',confirmNewPage:'כל ×”×©×™× ×•×™×™× ×©×œ× × ×©×ž×¨×• ×™×בדו. ×”×× ×œ×”×¢×œ×•×ª דף חדש?',confirmCancel:'חלק מה×פשרויות שונו, ×”×× ×œ×¡×’×•×¨ ×ת הדי×לוג?',options:'×פשרויות',target:'מטרה',targetNew:'חלון חדש (_blank)',targetTop:'החלון העליון ביותר (_top)',targetSelf:'×ותו חלון (_self)',targetParent:'חלון ×”×ב (_parent)',langDirLTR:'שמ×ל לימין (LTR)',langDirRTL:'ימין לשמ×ל (RTL)',styles:'סגנון',cssClasses:'מחלקות גליונות סגנון',width:'רוחב',height:'גובה',align:'יישור',alignLeft:'לשמ×ל',alignRight:'לימין',alignCenter:'מרכז',alignTop:'למעלה',alignMiddle:'ל×מצע',alignBottom:'לתחתית',invalidValue:'Invalid value.',invalidHeight:'הגובה חייב להיות מספר.',invalidWidth:'הרוחב חייב להיות מספר.',invalidCssLength:'הערך שצוין לשדה "%1" חייב להיות מספר חיובי ×¢× ×ו ×œ×œ× ×™×—×™×“×ª מידה חוקית של CSS (px, %, in, cm, mm, em, ex, pt, ×ו pc).',invalidHtmlLength:'הערך שצוין לשדה "%1" חייב להיות מספר חיובי ×¢× ×ו ×œ×œ× ×™×—×™×“×ª מידה חוקית של HTML (px ×ו %).',invalidInlineStyle:'הערך שצויין לשדה הסגנון חייב להכיל זוג ×¢×¨×›×™× ×חד ×ו יותר בפורמט "×©× : ערך", ×ž×•×¤×¨×“×™× ×¢×œ ידי נקודה-פסיק.',cssLengthTooltip:'יש להכניס מספר המייצג ×¤×™×§×¡×œ×™× ×ו מספר ×¢× ×™×—×™×“×ª גליונות סגנון תקינה (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, ×œ× ×–×ž×™×Ÿ</span>'},contextmenu:{options:'×פשרויות תפריט ההקשר'},specialChar:{toolbar:'הוספת תו מיוחד',title:'בחירת תו מיוחד',options:'×פשרויות ×ª×•×•×™× ×ž×™×•×—×“×™×'},link:{toolbar:'הוספת/עריכת קישור',other:'<×חר>',menu:'מ×פייני קישור',title:'קישור',info:'מידע על הקישור',target:'מטרה',upload:'העל××”',advanced:'×פשרויות מתקדמות',type:'סוג קישור',toUrl:'כתובת (URL)',toAnchor:'עוגן בעמוד ×–×”',toEmail:'דו×"ל',targetFrame:'<מסגרת>',targetPopup:'<חלון קופץ>',targetFrameName:'×©× ×ž×¡×’×¨×ª היעד',targetPopupName:'×©× ×”×—×œ×•×Ÿ הקופץ',popupFeatures:'תכונות החלון הקופץ',popupResizable:'שינוי גודל',popupStatusBar:'סרגל חיווי',popupLocationBar:'סרגל כתובת',popupToolbar:'סרגל הכלי×',popupMenuBar:'סרגל תפריט',popupFullScreen:'מסך ×ž×œ× (IE)',popupScrollBars:'ניתן לגלילה',popupDependent:'תלוי (Netscape)',popupLeft:'×ž×™×§×•× ×¦×“ שמ×ל',popupTop:'×ž×™×§×•× ×¦×“ עליון',id:'זיהוי (ID)',langDir:'כיוון שפה',langDirLTR:'שמ×ל לימין (LTR)',langDirRTL:'ימין לשמ×ל (RTL)',acccessKey:'מקש גישה',name:'ש×',langCode:'קוד שפה',tabIndex:'מספר ט×ב',advisoryTitle:'כותרת מוצעת',advisoryContentType:'Content Type מוצע',cssClasses:'גיליונות עיצוב קבוצות',charset:'קידוד המש×ב המקושר',styles:'סגנון',rel:'קשר גומלין',selectAnchor:'בחירת עוגן',anchorName:'עפ"×™ ×©× ×”×¢×•×’×Ÿ',anchorId:'עפ"×™ זיהוי (ID) ×”×למנט',emailAddress:'כתובת הדו×"ל',emailSubject:'× ×•×©× ×”×”×•×“×¢×”',emailBody:'גוף ההודעה',noAnchors:'(×ין ×¢×•×’× ×™× ×–×ž×™× ×™× ×‘×“×£)',noUrl:'יש להקליד ×ת כתובת הקישור (URL)',noEmail:'יש להקליד ×ת כתובת הדו×"ל'},anchor:{toolbar:'הוספת/עריכת נקודת עיגון',menu:'מ×פייני נקודת עיגון',title:'מ×פייני נקודת עיגון',name:'×©× ×œ× ×§×•×“×ª עיגון',errorName:'יש להקליד ×©× ×œ× ×§×•×“×ª עיגון',remove:'מחיקת נקודת עיגון'},list:{numberedTitle:'תכונות רשימה ממוספרת',bulletedTitle:'תכונות רשימת תבליטי×',type:'סוג',start:'תחילת מספור',validateStartNumber:'שדה תחילת המספור חייב להכיל מספר של×.',circle:'עיגול ריק',disc:'עיגול מל×',square:'ריבוע',none:'לל×',notset:'<×œ× × ×§×‘×¢>',armenian:'ספרות ×רמניות',georgian:"ספרות ×’×™×ורגיות (an, ban, gan וכו')",lowerRoman:"ספירה רומית ב×ותיות קטנות (i, ii, iii, iv, v וכו')",upperRoman:"ספירה רומיות ב×ותיות גדולות (I, II, III, IV, V וכו')",lowerAlpha:"×ותיות ×נגליות קטנות (a, b, c, d, e וכו')",upperAlpha:"×ותיות ×נגליות גדולות (A, B, C, D, E וכו')",lowerGreek:"×ותיות יווניות קטנות (alpha, beta, gamma וכו')",decimal:"ספרות (1, 2, 3 וכו')",decimalLeadingZero:"ספרות ×¢× 0 בהתחלה (01, 02, 03 וכו')"},findAndReplace:{title:'חיפוש והחלפה',find:'חיפוש',replace:'החלפה',findWhat:'חיפוש מחרוזת:',replaceWith:'החלפה במחרוזת:',notFoundMsg:'הטקסט המבוקש ×œ× × ×ž×¦×.',findOptions:'×פשרויות חיפוש',matchCase:'הבחנה בין ×ותיות רשיות לקטנות (Case)',matchWord:'הת×מה למילה המל××”',matchCyclic:'הת×מה מחזורית',replaceAll:'החלפה בכל העמוד',replaceSuccessMsg:'%1 ×˜×§×¡×˜×™× ×”×•×—×œ×¤×•.'},table:{toolbar:'טבלה',title:'מ×פייני טבלה',menu:'מ×פייני טבלה',deleteTable:'מחק טבלה',rows:'שורות',columns:'עמודות',border:'גודל מסגרת',widthPx:'פיקסלי×',widthPc:'×חוז',widthUnit:'יחידת רוחב',cellSpace:'מרווח ת×',cellPad:'ריפוד ת×',caption:'כיתוב',summary:'תקציר',headers:'כותרות',headersNone:'×ין',headersColumn:'עמודה ר×שונה',headersRow:'שורה ר×שונה',headersBoth:'שניה×',invalidRows:'שדה מספר השורות חייב להיות מספר גדול מ 0.',invalidCols:'שדה מספר העמודות חייב להיות מספר גדול מ 0.',invalidBorder:'שדה גודל המסגרת חייב להיות מספר.',invalidWidth:'שדה רוחב הטבלה חייב להיות מספר.',invalidHeight:'שדה גובה הטבלה חייב להיות מספר.',invalidCellSpacing:'שדה ריווח הת××™× ×—×™×™×‘ להיות מספר חיובי.',invalidCellPadding:'שדה ריפוד הת××™× ×—×™×™×‘ להיות מספר חיובי.',cell:{menu:'מ×פייני ת×',insertBefore:'הוספת ×ª× ×œ×¤× ×™',insertAfter:'הוספת ×ª× ×חרי',deleteCell:'מחיקת ת××™×',merge:'מיזוג ת××™×',mergeRight:'מזג ימינה',mergeDown:'מזג למטה',splitHorizontal:'פיצול ×ª× ×ופקית',splitVertical:'פיצול ×ª× ×נכית',title:'תכונות הת×',cellType:'סוג הת×',rowSpan:'מתיחת השורות',colSpan:'מתיחת הת××™×',wordWrap:'מניעת גלישת שורות',hAlign:'יישור ×ופקי',vAlign:'יישור ×× ×›×™',alignBaseline:'שורת בסיס',bgColor:'צבע רקע',borderColor:'צבע מסגרת',data:'מידע',header:'כותרת',yes:'כן',no:'ל×',invalidWidth:'שדה רוחב ×”×ª× ×—×™×™×‘ להיות מספר.',invalidHeight:'שדה גובה ×”×ª× ×—×™×™×‘ להיות מספר.',invalidRowSpan:'שדה מתיחת השורות חייב להיות מספר של×.',invalidColSpan:'שדה מתיחת העמודות חייב להיות מספר של×.',chooseColor:'בחר'},row:{menu:'שורה',insertBefore:'הוספת שורה לפני',insertAfter:'הוספת שורה ×חרי',deleteRow:'מחיקת שורות'},column:{menu:'עמודה',insertBefore:'הוספת עמודה לפני',insertAfter:'הוספת עמודה ×חרי',deleteColumn:'מחיקת עמודות'}},button:{title:'מ×פייני כפתור',text:'טקסט (ערך)',type:'סוג',typeBtn:'כפתור',typeSbm:'שליחה',typeRst:'×יפוס'},checkboxAndRadio:{checkboxTitle:'מ×פייני תיבת סימון',radioTitle:'מ×פייני לחצן ×פשרויות',value:'ערך',selected:'מסומן'},form:{title:'מ×פיני טופס',menu:'מ×פיני טופס',action:'שלח ×ל',method:'סוג שליחה',encoding:'קידוד'},select:{title:'מ×פייני שדה בחירה',selectInfo:'מידע',opAvail:'×פשרויות זמינות',value:'ערך',size:'גודל',lines:'שורות',chkMulti:'×יפשור בחירות מרובות',opText:'טקסט',opValue:'ערך',btnAdd:'הוספה',btnModify:'שינוי',btnUp:'למעלה',btnDown:'למטה',btnSetValue:'קביעה כברירת מחדל',btnDelete:'מחיקה'},textarea:{title:'מ×פייני ×יזור טקסט',cols:'עמודות',rows:'שורות'},textfield:{title:'מ×פייני שדה טקסט',name:'ש×',value:'ערך',charWidth:'רוחב לפי תווי×',maxChars:'×ž×§×¡×™×ž×•× ×ª×•×•×™×',type:'סוג',typeText:'טקסט',typePass:'סיסמה'},hidden:{title:'מ×פיני שדה חבוי',name:'ש×',value:'ערך'},image:{title:'מ×פייני התמונה',titleButton:'מ×פיני כפתור תמונה',menu:'תכונות התמונה',infoTab:'מידע על התמונה',btnUpload:'שליחה לשרת',upload:'העל××”',alt:'טקסט חלופי',lockRatio:'נעילת היחס',resetSize:'×יפוס הגודל',border:'מסגרת',hSpace:'מרווח ×ופקי',vSpace:'מרווח ×× ×›×™',alertUrl:'יש להקליד ×ת כתובת התמונה',linkTab:'קישור',button2Img:'×”×× ×œ×”×¤×•×š ×ת תמונת הכפתור לתמונה פשוטה?',img2Button:'×”×× ×œ×”×¤×•×š ×ת התמונה לכפתור תמונה?',urlMissing:'כתובת התמונה חסרה.',validateBorder:'שדה המסגרת חייב להיות מספר של×.',validateHSpace:'שדה המרווח ×”×ופקי חייב להיות מספר של×.',validateVSpace:'שדה המרווח ×”×× ×›×™ חייב להיות מספר של×.'},flash:{properties:'מ×פייני פל×ש',propertiesTab:'מ×פייני×',title:'מ×פיני פל×ש',chkPlay:'ניגון ×וטומטי',chkLoop:'לול××”',chkMenu:'×פשר תפריט פל×ש',chkFull:'×פשר חלון מל×',scale:'גודל',scaleAll:'הצג הכל',scaleNoBorder:'×œ×œ× ×’×‘×•×œ×•×ª',scaleFit:'הת×מה מושלמת',access:'גישת סקריפט',accessAlways:'תמיד',accessSameDomain:'דומיין ×–×”×”',accessNever:'××£ פע×',alignAbsBottom:'לתחתית ×”×בסולוטית',alignAbsMiddle:'מרכוז ×בסולוטי',alignBaseline:'לקו התחתית',alignTextTop:'לר×ש הטקסט',quality:'×יכות',qualityBest:'מעולה',qualityHigh:'גבוהה',qualityAutoHigh:'גבוהה ×וטומטית',qualityMedium:'ממוצעת',qualityAutoLow:'נמוכה ×וטומטית',qualityLow:'נמוכה',windowModeWindow:'חלון',windowModeOpaque:'×טו×',windowModeTransparent:'שקוף',windowMode:'מצב חלון',flashvars:'×ž×©×ª× ×™× ×œ×¤×œ×ש',bgcolor:'צבע רקע',hSpace:'מרווח ×ופקי',vSpace:'מרווח ×× ×›×™',validateSrc:'יש להקליד ×ת כתובת סרטון הפל×ש (URL)',validateHSpace:'המרווח ×”×ופקי חייב להיות מספר.',validateVSpace:'המרווח ×”×× ×›×™ חייב להיות מספר.'},spellCheck:{toolbar:'בדיקת ×יות',title:'בדיקת ×יות',notAvailable:'×œ× × ×ž×¦× ×©×™×¨×•×ª זמין.',errorLoading:'שגי××” בהעל×ת השירות: %s.',notInDic:'×œ× × ×ž×¦× ×‘×ž×™×œ×•×Ÿ',changeTo:'שינוי ל',btnIgnore:'התעלמות',btnIgnoreAll:'התעלמות מהכל',btnReplace:'החלפה',btnReplaceAll:'החלפת הכל',btnUndo:'החזרה',noSuggestions:'- ×ין הצעות -',progress:'בודק ×”×יות בתהליך בדיקה....',noMispell:'בדיקות ×יות הסתיימה: ×œ× × ×ž×¦×ו שגי×ות כתיב',noChanges:'בדיקות ×יות הסתיימה: ×œ× ×©×•× ×ª×” ××£ מילה',oneChange:'בדיקות ×יות הסתיימה: שונתה מילה ×חת',manyChanges:'בדיקות ×יות הסתיימה: %1 ×ž×™×œ×™× ×©×•× ×•',ieSpellDownload:'בודק ×”×יות ×œ× ×ž×•×ª×§×Ÿ, ×”×× ×œ×”×•×¨×™×“×•?'},smiley:{toolbar:'סמיילי',title:'הוספת סמיילי',options:'×פשרויות סמיילי×'},elementsPath:{eleLabel:'×¢×¥ ×”×למנטי×',eleTitle:'%1 ×למנט'},numberedlist:'רשימה ממוספרת',bulletedlist:'רשימת נקודות',indent:'הגדלת ×”×–×—×”',outdent:'הקטנת ×”×–×—×”',justify:{left:'יישור לשמ×ל',center:'מרכוז',right:'יישור לימין',block:'יישור לשוליי×'},blockquote:'בלוק ציטוט',clipboard:{title:'הדבקה',cutError:'הגדרות ×”×בטחה בדפדפן שלך ×œ× ×ž×פשרות לעורך לבצע פעולות גזירה ×וטומטיות. יש להשתמש במקלדת ×œ×©× ×›×š (Ctrl/Cmd+X).',copyError:'הגדרות ×”×בטחה בדפדפן שלך ×œ× ×ž×פשרות לעורך לבצע פעולות העתקה ×וטומטיות. יש להשתמש במקלדת ×œ×©× ×›×š (Ctrl/Cmd+C).',pasteMsg:'× × ×œ×”×“×‘×™×§ בתוך הקופסה ב×מצעות (<b>Ctrl/Cmd+V</b>) וללחוץ על <b>×ישור</b>.',securityMsg:'עקב הגדרות ×בטחה בדפדפן, ×œ× × ×™×ª×Ÿ לגשת ×ל לוח ×”×’×–×™×¨×™× (Clipboard) בצורה ישירה. × × ×œ×”×“×‘×™×§ שוב בחלון ×–×”.',pasteArea:'×יזור הדבקה'},pastefromword:{confirmCleanup:'נר××” הטקסט שבכוונתך להדביק מקורו בקובץ וורד. ×”×× ×‘×¨×¦×•× ×š לנקות ×ותו ×˜×¨× ×”×”×“×‘×§×”?',toolbar:'הדבקה מ-Word',title:'הדבקה מ-Word',error:'×œ× × ×™×ª×Ÿ ×”×™×” לנקות ×ת המידע בשל תקלה פנימית.'},pasteText:{button:'הדבקה כטקסט פשוט',title:'הדבקה כטקסט פשוט'},templates:{button:'תבניות',title:'תביות תוכן',options:'×פשרויות התבניות',insertOption:'החלפת תוכן ממשי',selectPromptMsg:'יש לבחור תבנית לפתיחה בעורך.<br />התוכן המקורי ימחק:',emptyListMsg:'(×œ× ×”×•×’×“×¨×• תבניות)'},showBlocks:'הצגת בלוקי×',stylesCombo:{label:'סגנון',panelTitle:'סגנונות פורמט',panelTitle1:'סגנונות בלוק',panelTitle2:'סגנונות רצף',panelTitle3:'סגנונות ×ובייקט'},format:{label:'עיצוב',panelTitle:'עיצוב',tag_p:'נורמלי',tag_pre:'קוד',tag_address:'כתובת',tag_h1:'כותרת',tag_h2:'כותרת 2',tag_h3:'כותרת 3',tag_h4:'כותרת 4',tag_h5:'כותרת 5',tag_h6:'כותרת 6',tag_div:'נורמלי (DIV)'},div:{title:'יצירת מיכל (Div)',toolbar:'יצירת מיכל (Div)',cssClassInputLabel:'מחלקת עיצוב',styleSelectLabel:'סגנון',IdInputLabel:'מזהה (ID)',languageCodeInputLabel:'קוד שפה',inlineStyleInputLabel:'סגנון פנימי',advisoryTitleInputLabel:'כותרת מוצעת',langDirLabel:'כיוון שפה',langDirLTRLabel:'שמ×ל לימין (LTR)',langDirRTLLabel:'ימין לשמ×ל (RTL)',edit:'עריכת מיכל (Div)',remove:'הסרת מיכל (Div)'},iframe:{title:'מ×פייני חלון פנימי (iframe)',toolbar:'חלון פנימי (iframe)',noUrl:'יש להכניס כתובת לחלון.',scrolling:'×פשר פסי גלילה',border:'הר××” מסגרת לחלון'},font:{label:'גופן',voiceLabel:'גופן',panelTitle:'גופן'},fontSize:{label:'גודל',voiceLabel:'גודל',panelTitle:'גודל'},colorButton:{textColorTitle:'צבע טקסט',bgColorTitle:'צבע רקע',panelTitle:'צבעי×',auto:'×וטומטי',more:'×¦×‘×¢×™× × ×•×¡×¤×™×...'},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:'לבן'},scayt:{title:'בדיקת ×יות בזמן כתיבה (SCAYT)',opera_title:'×œ× ×–×ž×™×Ÿ בדפדפן ×ופרה',enable:'×פשר SCAYT',disable:'בטל SCAYT',about:'×ודות SCAYT',toggle:'שינוי SCAYT',options:'×פשרויות',langs:'שפות',moreSuggestions:'הצעות נוספות',ignore:'התעלמות',ignoreAll:'התעלמות מהכל',addWord:'הוספת מילה',emptyDic:'יש לבחור מילון.',noSuggestions:'×ין הצעות',optionsTab:'×פשרויות',allCaps:'×”×ª×¢×œ× ×ž×ž×™×œ×™× ×©×›×œ ×ותיותיהן גדולות',ignoreDomainNames:'×”×ª×¢×œ× ×ž×©×ž×•×ª מתח×',mixedCase:'×”×ª×¢×œ× ×ž×ž×™×œ×™× ×¢× ×ותיות גדולות וקטנות ביחד',mixedWithDigits:'×”×ª×¢×œ× ×ž×ž×™×œ×™× ×¢× ×ž×¡×¤×¨×™×',languagesTab:'שפות',dictionariesTab:'מילון',dic_field_name:'×©× ×”×ž×™×œ×•×Ÿ',dic_create:'יצירה',dic_restore:'שחזור',dic_delete:'מחיקה',dic_rename:'שינוי ש×',dic_info:'בהתחלה מילון המשתמש מ×וחסן בעוגיה, ×ך עוגיות מוגבלות במקו×. ×›×שר המילון מגיע לגודל בו ×”×•× ×ינו יכול להת×כסן בעוגיה, המילון צריך להת×כסן בשרתנו. ×œ×©× ×›×š עליך לתת ×©× ×œ×ž×™×œ×•×Ÿ. ×× ×›×‘×¨ יש לך מילון מ×וחסן, יש להכניס ×ת שמו וללחוץ על כפתור השחזור.',aboutTab:'×ודות'},about:{title:'×ודות CKEditor',dlgTitle:'×ודות CKEditor',help:'היכנסו ל$1 לעזרה.',userGuide:'מדריך המשתמש של CKEditor',moreInfo:'למידע נוסף בקרו ב×תרנו:',copy:'Copyright &copy; $1. כל הזכויות שמורות.'},maximize:'הגדלה למקסימו×',minimize:'הקטנה למינימו×',fakeobjects:{anchor:'עוגן',flash:'סרטון פל×ש',iframe:'חלון פנימי (iframe)',hiddenfield:'שדה חבוי',unknown:'×ובייקט ×œ× ×™×“×•×¢'},resize:'יש לגרור בכדי לשנות ×ת הגודל',colordialog:{title:'בחירת צבע',options:'×פשרויות צבע',highlight:'סימון',selected:'בחירה',clear:'ניקוי'},toolbarCollapse:'מזעור סרגל כלי×',toolbarExpand:'הרחבת סרגל כלי×',toolbarGroups:{document:'מסמך',clipboard:'לוח ×”×’×–×™×¨×™× (Clipboard)/צעד ×חרון',editing:'עריכה',forms:'טפסי×',basicstyles:'עיצוב בסיסי',paragraph:'פסקה',links:'קישורי×',insert:'הכנסה',styles:'עיצוב',colors:'צבעי×',tools:'כלי×'},bidi:{ltr:'כיוון טקסט משמ×ל לימין (LTR)',rtl:'כיוון טקסט מימין לשמ×ל (RTL)'},docprops:{label:'מ×פייני מסמך',title:'מ×פייני מסמך',design:'עיצוב',meta:'תגי Meta',chooseColor:'בחירה',other:'×חר...',docTitle:'כותרת עמוד',charset:'קידוד תווי×',charsetOther:'קידוד ×ª×•×•×™× ×חר',charsetASCII:'ASCII',charsetCE:'מרכז ×ירופ××™',charsetCT:'סיני מסורתי (Big5)',charsetCR:'קירילי',charsetGR:'יווני',charsetJP:'יפני',charsetKR:'קורי×× ×™',charsetTR:'טורקי',charsetUN:'יוניקוד (UTF-8)',charsetWE:'מערב ×ירופ××™',docType:'כותר סוג מסמך',docTypeOther:'כותר סוג מסמך ×חר',xhtmlDec:'כלול הכרזות XHTML',bgColor:'צבע רקע',bgImage:'כתובת של תמונת רקע',bgFixed:'רקע ×œ× × ×’×œ×œ (צמוד)',txtColor:'צבע טקסט',margin:'מרווחי עמוד',marginTop:'עליון',marginLeft:'שמ×לי',marginRight:'ימני',marginBottom:'תחתון',metaKeywords:'מילות מפתח של המסמך (מופרדות בפסיק)',metaDescription:'תי×ור המסמך',metaAuthor:'מחבר/ת',metaCopyright:'זכויות יוצרי×',previewHtml:'<p>זהו <strong>טקסט הדגמה</strong>. ×ת/×” משתמש/ת ב<a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/hi.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/hi.js
deleted file mode 100644
index da7155c..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/hi.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.hi={dir:'ltr',editorTitle:'रिच टेकà¥à¤¸à¥à¤Ÿ à¤à¤¡à¤¿à¤Ÿà¤°, %1',editorHelp:'मदद के लिये ALT 0 दबाà¤',toolbars:'à¤à¤¡à¤¿à¤Ÿà¤° टूलबार',editor:'रिच टेकà¥à¤¸à¥à¤Ÿ à¤à¤¡à¤¿à¤Ÿà¤°',source:'सोरà¥à¤¸',newPage:'नया पेज',save:'सेव',preview:'पà¥à¤°à¥€à¤µà¥à¤¯à¥‚',cut:'कट',copy:'कॉपी',paste:'पेसà¥à¤Ÿ',print:'पà¥à¤°à¤¿à¤¨à¥à¤Ÿ',underline:'रेखांकण',bold:'बोलà¥à¤¡',italic:'इटैलिक',selectAll:'सब सॅलॅकà¥à¤Ÿ करें',removeFormat:'फ़ॉरà¥à¤®à¥ˆà¤Ÿ हटायें',strike:'सà¥à¤Ÿà¥à¤°à¤¾à¤‡à¤• थà¥à¤°à¥‚',subscript:'अधोलेख',superscript:'अभिलेख',horizontalrule:'हॉरिज़ॉनà¥à¤Ÿà¤² रेखा इनà¥à¤¸à¤°à¥à¤Ÿ करें',pagebreak:'पेज बà¥à¤°à¥‡à¤• इनà¥à¤¸à¤°à¥à¤Ÿà¥ करें',pagebreakAlt:'पेज बà¥à¤°à¥‡à¤•',unlink:'लिंक हटायें',undo:'अनà¥à¤¡à¥‚',redo:'रीडू',common:{browseServer:'सरà¥à¤µà¤° बà¥à¤°à¤¾à¤‰à¥› करें',url:'URL',protocol:'पà¥à¤°à¥‹à¤Ÿà¥‹à¤•à¥‰à¤²',upload:'अपलोड',uploadSubmit:'इसे सरà¥à¤µà¤° को भेजें',image:'तसà¥à¤µà¥€à¤°',flash:'फ़à¥à¤²à¥ˆà¤¶',form:'फ़ॉरà¥à¤®',checkbox:'चॅक बॉकà¥à¤¸',radio:'रेडिओ बटन',textField:'टेकà¥à¤¸à¥à¤Ÿ फ़ीलà¥à¤¡',textarea:'टेकà¥à¤¸à¥à¤Ÿ à¤à¤°à¤¿à¤¯à¤¾',hiddenField:'गà¥à¤ªà¥à¤¤ फ़ीलà¥à¤¡',button:'बटन',select:'चà¥à¤¨à¤¾à¤µ फ़ीलà¥à¤¡',imageButton:'तसà¥à¤µà¥€à¤° बटन',notSet:'<सॅट नहीं>',id:'Id',name:'नाम',langDir:'भाषा लिखने की दिशा',langDirLtr:'बायें से दायें (LTR)',langDirRtl:'दायें से बायें (RTL)',langCode:'भाषा कोड',longDescr:'अधिक विवरण के लिठURL',cssClass:'सà¥à¤Ÿà¤¾à¤‡à¤²-शीट कà¥à¤²à¤¾à¤¸',advisoryTitle:'परामरà¥à¤¶ शीरà¥à¤¶à¤•',cssStyle:'सà¥à¤Ÿà¤¾à¤‡à¤²',ok:'ठीक है',cancel:'रदà¥à¤¦ करें',close:'Close',preview:'Preview',generalTab:'सामानà¥à¤¯',advancedTab:'à¤à¤¡à¥à¤µà¤¾à¤¨à¥à¤¸à¥à¤¡',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:'Some of the options have been changed. Are you sure to close the dialog?',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:'चौड़ाई',height:'ऊà¤à¤šà¤¾à¤ˆ',align:'à¤à¤²à¤¾à¤‡à¤¨',alignLeft:'दायें',alignRight:'दायें',alignCenter:'बीच में',alignTop:'ऊपर',alignMiddle:'मधà¥à¤¯',alignBottom:'नीचे',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'विशेष करॅकà¥à¤Ÿà¤° इनà¥à¤¸à¤°à¥à¤Ÿ करें',title:'विशेष करॅकà¥à¤Ÿà¤° चà¥à¤¨à¥‡à¤‚',options:'Special Character Options'},link:{toolbar:'लिंक इनà¥à¤¸à¤°à¥à¤Ÿ/संपादन',other:'<अनà¥à¤¯>',menu:'लिंक संपादन',title:'लिंक',info:'लिंक ',target:'टारà¥à¤—ेट',upload:'अपलोड',advanced:'à¤à¤¡à¥à¤µà¤¾à¤¨à¥à¤¸à¥à¤¡',type:'लिंक पà¥à¤°à¤•à¤¾à¤°',toUrl:'URL',toAnchor:'इस पेज का à¤à¤‚कर',toEmail:'ई-मेल',targetFrame:'<फ़à¥à¤°à¥‡à¤®>',targetPopup:'<पॉप-अप विनà¥à¤¡à¥‹>',targetFrameName:'टारà¥à¤—ेट फ़à¥à¤°à¥‡à¤® का नाम',targetPopupName:'पॉप-अप विनà¥à¤¡à¥‹ का नाम',popupFeatures:'पॉप-अप विनà¥à¤¡à¥‹ फ़ीचरà¥à¤¸',popupResizable:'Resizable',popupStatusBar:'सà¥à¤Ÿà¥‡à¤Ÿà¤¸ बार',popupLocationBar:'लोकेशन बार',popupToolbar:'टूल बार',popupMenuBar:'मॅनà¥à¤¯à¥‚ बार',popupFullScreen:'फ़à¥à¤² सà¥à¤•à¥à¤°à¥€à¤¨ (IE)',popupScrollBars:'सà¥à¤•à¥à¤°à¥‰à¤² बार',popupDependent:'डिपेनà¥à¤¡à¥…नà¥à¤Ÿ (Netscape)',popupLeft:'बायीं तरफ',popupTop:'दायीं तरफ',id:'Id',langDir:'भाषा लिखने की दिशा',langDirLTR:'बायें से दायें (LTR)',langDirRTL:'दायें से बायें (RTL)',acccessKey:'à¤à¤•à¥à¤¸à¥…स की',name:'नाम',langCode:'भाषा लिखने की दिशा',tabIndex:'टैब इनà¥à¤¡à¥…कà¥à¤¸',advisoryTitle:'परामरà¥à¤¶ शीरà¥à¤¶à¤•',advisoryContentType:'परामरà¥à¤¶ कनà¥à¤Ÿà¥…नà¥à¤Ÿ पà¥à¤°à¤•à¤¾à¤°',cssClasses:'सà¥à¤Ÿà¤¾à¤‡à¤²-शीट कà¥à¤²à¤¾à¤¸',charset:'लिंक रिसोरà¥à¤¸ करॅकà¥à¤Ÿà¤° सॅट',styles:'सà¥à¤Ÿà¤¾à¤‡à¤²',rel:'Relationship',selectAnchor:'à¤à¤‚कर चà¥à¤¨à¥‡à¤‚',anchorName:'à¤à¤‚कर नाम से',anchorId:'à¤à¤²à¥€à¤®à¥…नà¥à¤Ÿ Id से',emailAddress:'ई-मेल पता',emailSubject:'संदेश विषय',emailBody:'संदेश',noAnchors:'(डॉकà¥à¤¯à¥‚मॅनà¥à¤Ÿ में à¤à¤‚करà¥à¤¸ की संखà¥à¤¯à¤¾)',noUrl:'लिंक URL टाइप करें',noEmail:'ई-मेल पता टाइप करें'},anchor:{toolbar:'à¤à¤‚कर इनà¥à¤¸à¤°à¥à¤Ÿ/संपादन',menu:'à¤à¤‚कर पà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›',title:'à¤à¤‚कर पà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›',name:'à¤à¤‚कर का नाम',errorName:'à¤à¤‚कर का नाम टाइप करें',remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'खोजें और बदलें',find:'खोजें',replace:'रीपà¥à¤²à¥‡à¤¸',findWhat:'यह खोजें:',replaceWith:'इससे रिपà¥à¤²à¥‡à¤¸ करें:',notFoundMsg:'आपके दà¥à¤µà¤¾à¤°à¤¾ दिया गया टेकà¥à¤¸à¥à¤Ÿ नहीं मिला',findOptions:'Find Options',matchCase:'केस मिलायें',matchWord:'पूरा शबà¥à¤¦ मिलायें',matchCyclic:'Match cyclic',replaceAll:'सभी रिपà¥à¤²à¥‡à¤¸ करें',replaceSuccessMsg:'%1 occurrence(s) replaced.'},table:{toolbar:'टेबल',title:'टेबल पà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›',menu:'टेबल पà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›',deleteTable:'टेबल डिलीट करें',rows:'पंकà¥à¤¤à¤¿à¤¯à¤¾à¤',columns:'कालम',border:'बॉरà¥à¤¡à¤° साइज़',widthPx:'पिकà¥à¤¸à¥ˆà¤²',widthPc:'पà¥à¤°à¤¤à¤¿à¤¶à¤¤',widthUnit:'width unit',cellSpace:'सैल अंतर',cellPad:'सैल पैडिंग',caption:'शीरà¥à¤·à¤•',summary:'सारांश',headers:'Headers',headersNone:'None',headersColumn:'First column',headersRow:'First Row',headersBoth:'Both',invalidRows:'Number of rows must be a number greater than 0.',invalidCols:'Number of columns must be a number greater than 0.',invalidBorder:'Border size must be a number.',invalidWidth:'Table width must be a number.',invalidHeight:'Table height must be a number.',invalidCellSpacing:'Cell spacing must be a positive number.',invalidCellPadding:'Cell padding must be a positive number.',cell:{menu:'खाना',insertBefore:'पहले सैल डालें',insertAfter:'बाद में सैल डालें',deleteCell:'सैल डिलीट करें',merge:'सैल मिलायें',mergeRight:'बाà¤à¤¯à¤¾ विलय',mergeDown:'नीचे विलय करें',splitHorizontal:'सैल को कà¥à¤·à¥ˆà¤¤à¤¿à¤œ सà¥à¤¥à¤¿à¤¤à¤¿ में विभाजित करें',splitVertical:'सैल को लमà¥à¤¬à¤¾à¤•à¤¾à¤° में विभाजित करें',title:'Cell Properties',cellType:'Cell Type',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Word Wrap',hAlign:'Horizontal Alignment',vAlign:'Vertical Alignment',alignBaseline:'Baseline',bgColor:'Background Color',borderColor:'Border Color',data:'Data',header:'Header',yes:'Yes',no:'No',invalidWidth:'Cell width must be a number.',invalidHeight:'Cell height must be a number.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Choose'},row:{menu:'पंकà¥à¤¤à¤¿',insertBefore:'पहले पंकà¥à¤¤à¤¿ डालें',insertAfter:'बाद में पंकà¥à¤¤à¤¿ डालें',deleteRow:'पंकà¥à¤¤à¤¿à¤¯à¤¾à¤ डिलीट करें'},column:{menu:'कालम',insertBefore:'पहले कालम डालें',insertAfter:'बाद में कालम डालें',deleteColumn:'कालम डिलीट करें'}},button:{title:'बटन पà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›',text:'टेकà¥à¤¸à¥à¤Ÿ (वैलà¥à¤¯à¥‚)',type:'पà¥à¤°à¤•à¤¾à¤°',typeBtn:'बटन',typeSbm:'सबà¥à¤®à¤¿à¤Ÿ',typeRst:'रिसेट'},checkboxAndRadio:{checkboxTitle:'चॅक बॉकà¥à¤¸ पà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›',radioTitle:'रेडिओ बटन पà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›',value:'वैलà¥à¤¯à¥‚',selected:'सॅलॅकà¥à¤Ÿà¥…ड'},form:{title:'फ़ॉरà¥à¤® पà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›',menu:'फ़ॉरà¥à¤® पà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›',action:'कà¥à¤°à¤¿à¤¯à¤¾',method:'तरीका',encoding:'Encoding'},select:{title:'चà¥à¤¨à¤¾à¤µ फ़ीलà¥à¤¡ पà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›',selectInfo:'सूचना',opAvail:'उपलबà¥à¤§ विकलà¥à¤ª',value:'वैलà¥à¤¯à¥‚',size:'साइज़',lines:'पंकà¥à¤¤à¤¿à¤¯à¤¾à¤',chkMulti:'à¤à¤• से जà¥à¤¯à¤¾à¤¦à¤¾ विकलà¥à¤ª चà¥à¤¨à¤¨à¥‡ दें',opText:'टेकà¥à¤¸à¥à¤Ÿ',opValue:'वैलà¥à¤¯à¥‚',btnAdd:'जोड़ें',btnModify:'बदलें',btnUp:'ऊपर',btnDown:'नीचे',btnSetValue:'चà¥à¤¨à¥€ गई वैलà¥à¤¯à¥‚ सॅट करें',btnDelete:'डिलीट'},textarea:{title:'टेकà¥à¤¸à¥à¤¤ à¤à¤°à¤¿à¤¯à¤¾ पà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›',cols:'कालम',rows:'पंकà¥à¤¤à¤¿à¤¯à¤¾à¤‚'},textfield:{title:'टेकà¥à¤¸à¥à¤Ÿ फ़ीलà¥à¤¡ पà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›',name:'नाम',value:'वैलà¥à¤¯à¥‚',charWidth:'करॅकà¥à¤Ÿà¤° की चौà¥à¤¾à¤ˆ',maxChars:'अधिकतम करॅकà¥à¤Ÿà¤°',type:'टाइप',typeText:'टेकà¥à¤¸à¥à¤Ÿ',typePass:'पासà¥à¤µà¤°à¥à¤¡'},hidden:{title:'गà¥à¤ªà¥à¤¤ फ़ीलà¥à¤¡ पà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›',name:'नाम',value:'वैलà¥à¤¯à¥‚'},image:{title:'तसà¥à¤µà¥€à¤° पà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›',titleButton:'तसà¥à¤µà¥€à¤° बटन पà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›',menu:'तसà¥à¤µà¥€à¤° पà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›',infoTab:'तसà¥à¤µà¥€à¤° की जानकारी',btnUpload:'इसे सरà¥à¤µà¤° को भेजें',upload:'अपलोड',alt:'वैकलà¥à¤ªà¤¿à¤• टेकà¥à¤¸à¥à¤Ÿ',lockRatio:'लॉक अनà¥à¤ªà¤¾à¤¤',resetSize:'रीसॅट साइज़',border:'बॉरà¥à¤¡à¤°',hSpace:'हॉरिज़ॉनà¥à¤Ÿà¤² सà¥à¤ªà¥‡à¤¸',vSpace:'वरà¥à¤Ÿà¤¿à¤•à¤² सà¥à¤ªà¥‡à¤¸',alertUrl:'तसà¥à¤µà¥€à¤° का URL टाइप करें ',linkTab:'लिंक',button2Img:'Do you want to transform the selected image button on a simple image?',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'फ़à¥à¤²à¥ˆà¤¶ पà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›',propertiesTab:'Properties',title:'फ़à¥à¤²à¥ˆà¤¶ पà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›',chkPlay:'ऑटो पà¥à¤²à¥‡',chkLoop:'लूप',chkMenu:'फ़à¥à¤²à¥ˆà¤¶ मॅनà¥à¤¯à¥‚ का पà¥à¤°à¤¯à¥‹à¤— करें',chkFull:'Allow Fullscreen',scale:'सà¥à¤•à¥‡à¤²',scaleAll:'सभी दिखायें',scaleNoBorder:'कोई बॉरà¥à¤¡à¤° नहीं',scaleFit:'बिलà¥à¤•à¥à¤² फ़िट',access:'Script Access',accessAlways:'Always',accessSameDomain:'Same domain',accessNever:'Never',alignAbsBottom:'Abs नीचे',alignAbsMiddle:'Abs ऊपर',alignBaseline:'मूल रेखा',alignTextTop:'टेकà¥à¤¸à¥à¤Ÿ ऊपर',quality:'Quality',qualityBest:'Best',qualityHigh:'High',qualityAutoHigh:'Auto High',qualityMedium:'Medium',qualityAutoLow:'Auto Low',qualityLow:'Low',windowModeWindow:'Window',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Window mode',flashvars:'Variables for Flash',bgcolor:'बैकà¥à¤—à¥à¤°à¤¾à¤‰à¤¨à¥à¤¡ रंग',hSpace:'हॉरिज़ॉनà¥à¤Ÿà¤² सà¥à¤ªà¥‡à¤¸',vSpace:'वरà¥à¤Ÿà¤¿à¤•à¤² सà¥à¤ªà¥‡à¤¸',validateSrc:'लिंक URL टाइप करें',validateHSpace:'HSpace must be a number.',validateVSpace:'VSpace must be a number.'},spellCheck:{toolbar:'वरà¥à¤¤à¤¨à¥€ (सà¥à¤ªà¥‡à¤²à¤¿à¤‚ग) जाà¤à¤š',title:'Spell Check',notAvailable:'Sorry, but service is unavailable now.',errorLoading:'Error loading application service host: %s.',notInDic:'शबà¥à¤¦à¤•à¥‹à¤¶ में नहीं',changeTo:'इसमें बदलें',btnIgnore:'इगà¥à¤¨à¥‹à¤°',btnIgnoreAll:'सभी इगà¥à¤¨à¥‹à¤° करें',btnReplace:'रिपà¥à¤²à¥‡à¤¸',btnReplaceAll:'सभी रिपà¥à¤²à¥‡à¤¸ करें',btnUndo:'अनà¥à¤¡à¥‚',noSuggestions:'- कोई सà¥à¤à¤¾à¤µ नहीं -',progress:'वरà¥à¤¤à¤¨à¥€ की जाà¤à¤š (सà¥à¤ªà¥…ल-चॅक) जारी है...',noMispell:'वरà¥à¤¤à¤¨à¥€ की जाà¤à¤š : कोई गलत वरà¥à¤¤à¤¨à¥€ (सà¥à¤ªà¥…लिंग) नहीं पाई गई',noChanges:'वरà¥à¤¤à¤¨à¥€ की जाà¤à¤š :कोई शबà¥à¤¦ नहीं बदला गया',oneChange:'वरà¥à¤¤à¤¨à¥€ की जाà¤à¤š : à¤à¤• शबà¥à¤¦ बदला गया',manyChanges:'वरà¥à¤¤à¤¨à¥€ की जाà¤à¤š : %1 शबà¥à¤¦ बदले गये',ieSpellDownload:'सà¥à¤ªà¥…ल-चॅकर इनà¥à¤¸à¥à¤Ÿà¤¾à¤² नहीं किया गया है। कà¥à¤¯à¤¾ आप इसे डाउनलोड करना चाहेंगे?'},smiley:{toolbar:'सà¥à¤®à¤¾à¤‡à¤²à¥€',title:'सà¥à¤®à¤¾à¤‡à¤²à¥€ इनà¥à¤¸à¤°à¥à¤Ÿ करें',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 element'},numberedlist:'अंकीय सूची',bulletedlist:'बà¥à¤²à¥…ट सूची',indent:'इनà¥à¤¡à¥…नà¥à¤Ÿ बà¥à¤¾à¤¯à¥‡à¤‚',outdent:'इनà¥à¤¡à¥…नà¥à¤Ÿ कम करें',justify:{left:'बायीं तरफ',center:'बीच में',right:'दायीं तरफ',block:'बà¥à¤²à¥‰à¤• जसà¥à¤Ÿà¥€à¥žà¤¾à¤ˆ'},blockquote:'बà¥à¤²à¥‰à¤•-कोट',clipboard:{title:'पेसà¥à¤Ÿ',cutError:'आपके बà¥à¤°à¤¾à¤‰à¥›à¤° की सà¥à¤°à¤•à¥à¤·à¤¾ सॅटिनà¥à¤—à¥à¤¸ ने कट करने की अनà¥à¤®à¤¤à¤¿ नहीं पà¥à¤°à¤¦à¤¾à¤¨ की है। (Ctrl/Cmd+X) का पà¥à¤°à¤¯à¥‹à¤— करें।',copyError:'आपके बà¥à¤°à¤¾à¤†à¤‰à¥›à¤° की सà¥à¤°à¤•à¥à¤·à¤¾ सॅटिनà¥à¤—à¥à¤¸ ने कॉपी करने की अनà¥à¤®à¤¤à¤¿ नहीं पà¥à¤°à¤¦à¤¾à¤¨ की है। (Ctrl/Cmd+C) का पà¥à¤°à¤¯à¥‹à¤— करें।',pasteMsg:'Ctrl/Cmd+V का पà¥à¤°à¤¯à¥‹à¤— करके पेसà¥à¤Ÿ करें और ठीक है करें.',securityMsg:'आपके बà¥à¤°à¤¾à¤‰à¥›à¤° की सà¥à¤°à¤•à¥à¤·à¤¾ आपके बà¥à¤°à¤¾à¤‰à¥›à¤° की सà¥à¤°Kश सैटिंग के कारण, à¤à¤¡à¤¿à¤Ÿà¤° आपके कà¥à¤²à¤¿à¤ªà¤¬à¥‹à¤°à¥à¤¡ डेटा को नहीं पा सकता है. आपको उसे इस विनà¥à¤¡à¥‹ में दोबारा पेसà¥à¤Ÿ करना होगा.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'पेसà¥à¤Ÿ (वरà¥à¤¡ से)',title:'पेसà¥à¤Ÿ (वरà¥à¤¡ से)',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'पेसà¥à¤Ÿ (सादा टॅकà¥à¤¸à¥à¤Ÿ)',title:'पेसà¥à¤Ÿ (सादा टॅकà¥à¤¸à¥à¤Ÿ)'},templates:{button:'टॅमà¥à¤ªà¥à¤²à¥‡à¤Ÿ',title:'कनà¥à¤Ÿà¥‡à¤¨à¥à¤Ÿ टॅमà¥à¤ªà¥à¤²à¥‡à¤Ÿ',options:'Template Options',insertOption:'मूल शबà¥à¤¦à¥‹à¤‚ को बदलें',selectPromptMsg:'à¤à¤¡à¤¿à¤Ÿà¤° में ओपन करने हेतॠटॅमà¥à¤ªà¥à¤²à¥‡à¤Ÿ चà¥à¤¨à¥‡à¤‚(वरà¥à¤¤à¤®à¤¾à¤¨ कनà¥à¤Ÿà¥…नà¥à¤Ÿ सेव नहीं होंगे):',emptyListMsg:'(कोई टॅमà¥à¤ªà¥à¤²à¥‡à¤Ÿ डिफ़ाइन नहीं किया गया है)'},showBlocks:'बà¥à¤²à¥‰à¤• दिखायें',stylesCombo:{label:'सà¥à¤Ÿà¤¾à¤‡à¤²',panelTitle:'Formatting Styles',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'फ़ॉरà¥à¤®à¥ˆà¤Ÿ',panelTitle:'फ़ॉरà¥à¤®à¥ˆà¤Ÿ',tag_p:'साधारण',tag_pre:'फ़ॉरà¥à¤®à¥ˆà¤Ÿà¥…ड',tag_address:'पता',tag_h1:'शीरà¥à¤·à¤• 1',tag_h2:'शीरà¥à¤·à¤• 2',tag_h3:'शीरà¥à¤·à¤• 3',tag_h4:'शीरà¥à¤·à¤• 4',tag_h5:'शीरà¥à¤·à¤• 5',tag_h6:'शीरà¥à¤·à¤• 6',tag_div:'शीरà¥à¤·à¤• (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'फ़ॉनà¥à¤Ÿ',voiceLabel:'Font',panelTitle:'फ़ॉनà¥à¤Ÿ'},fontSize:{label:'साइज़',voiceLabel:'Font Size',panelTitle:'साइज़'},colorButton:{textColorTitle:'टेकà¥à¤¸à¥à¤Ÿ रंग',bgColorTitle:'बैकà¥à¤—à¥à¤°à¤¾à¤‰à¤¨à¥à¤¡ रंग',panelTitle:'Colors',auto:'सà¥à¤µà¤šà¤¾à¤²à¤¿à¤¤',more:'और रंग...'},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'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Options',langs:'Languages',moreSuggestions:'More suggestions',ignore:'Ignore',ignoreAll:'Ignore All',addWord:'Add Word',emptyDic:'Dictionary name should not be empty.',noSuggestions:'कोई सà¥à¤à¤¾à¤µ नहीं',optionsTab:'Options',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Languages',dictionariesTab:'Dictionaries',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'About'},about:{title:'About CKEditor',dlgTitle:'About CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'For licensing information please visit our web site:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'मेकà¥à¤¸à¤¿à¤®à¤¾à¤ˆà¤œà¤¼',minimize:'मिनिमाईज़',fakeobjects:{anchor:'Anchor',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Unknown Object'},resize:'Drag to resize',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'डॉकà¥à¤¯à¥‚मॅनà¥à¤Ÿ पà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›',title:'डॉकà¥à¤¯à¥‚मॅनà¥à¤Ÿ पà¥à¤°à¥‰à¤ªà¤°à¥à¤Ÿà¥€à¥›',design:'Design',meta:'मॅटाडेटा',chooseColor:'Choose',other:'<अनà¥à¤¯>',docTitle:'पेज शीरà¥à¤·à¤•',charset:'करेकà¥à¤Ÿà¤° सॅट à¤à¤¨à¥à¤•à¥‹à¤¡à¤¿à¤‚ग',charsetOther:'अनà¥à¤¯ करेकà¥à¤Ÿà¤° सॅट à¤à¤¨à¥à¤•à¥‹à¤¡à¤¿à¤‚ग',charsetASCII:'ASCII',charsetCE:'मधà¥à¤¯ यूरोपीय (Central European)',charsetCT:'चीनी (Chinese Traditional Big5)',charsetCR:'सिरीलिक (Cyrillic)',charsetGR:'यवन (Greek)',charsetJP:'जापानी (Japanese)',charsetKR:'कोरीयन (Korean)',charsetTR:'तà¥à¤°à¥à¤•à¥€ (Turkish)',charsetUN:'यूनीकोड (UTF-8)',charsetWE:'पशà¥à¤šà¤¿à¤® यूरोपीय (Western European)',docType:'डॉकà¥à¤¯à¥‚मॅनà¥à¤Ÿ पà¥à¤°à¤•à¤¾à¤° शीरà¥à¤·à¤•',docTypeOther:'अनà¥à¤¯ डॉकà¥à¤¯à¥‚मॅनà¥à¤Ÿ पà¥à¤°à¤•à¤¾à¤° शीरà¥à¤·à¤•',xhtmlDec:'XHTML सूचना समà¥à¤®à¤¿à¤²à¤¿à¤¤ करें',bgColor:'बैकà¥à¤—à¥à¤°à¤¾à¤‰à¤¨à¥à¤¡ रंग',bgImage:'बैकà¥à¤—à¥à¤°à¤¾à¤‰à¤¨à¥à¤¡ तसà¥à¤µà¥€à¤° URL',bgFixed:'सà¥à¤•à¥à¤°à¥‰à¤² न करने वाला बैकà¥à¤—à¥à¤°à¤¾à¤‰à¤¨à¥à¤¡',txtColor:'टेकà¥à¤¸à¥à¤Ÿ रंग',margin:'पेज मारà¥à¤œà¤¿à¤¨',marginTop:'ऊपर',marginLeft:'बायें',marginRight:'दायें',marginBottom:'नीचे',metaKeywords:'डॉकà¥à¤¯à¥à¤®à¥…नà¥à¤Ÿ इनà¥à¤¡à¥‡à¤•à¥à¤¸ संकेतशबà¥à¤¦ (अलà¥à¤ªà¤µà¤¿à¤°à¤¾à¤® से अलग करें)',metaDescription:'डॉकà¥à¤¯à¥‚मॅनà¥à¤Ÿ करॅकà¥à¤Ÿà¤°à¤¨',metaAuthor:'लेखक',metaCopyright:'कॉपीराइट',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/hr.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/hr.js
deleted file mode 100644
index a07e404..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/hr.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.hr={dir:'ltr',editorTitle:'Bogati ureÄ‘ivaÄ teksta, %1',editorHelp:'Pritisni ALT 0 za pomoć',toolbars:'Alatne trake ureÄ‘ivaÄa teksta',editor:'Bogati ureÄ‘ivaÄ teksta',source:'Kôd',newPage:'Nova stranica',save:'Snimi',preview:'Pregledaj',cut:'Izreži',copy:'Kopiraj',paste:'Zalijepi',print:'IspiÅ¡i',underline:'Potcrtano',bold:'Podebljaj',italic:'Ukosi',selectAll:'Odaberi sve',removeFormat:'Ukloni formatiranje',strike:'Precrtano',subscript:'Subscript',superscript:'Superscript',horizontalrule:'Ubaci vodoravnu liniju',pagebreak:'Ubaci prijelom stranice',pagebreakAlt:'Prijelom stranice',unlink:'Ukloni link',undo:'PoniÅ¡ti',redo:'Ponovi',common:{browseServer:'Pretraži server',url:'URL',protocol:'Protokol',upload:'PoÅ¡alji',uploadSubmit:'PoÅ¡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 postavljeno>',id:'Id',name:'Naziv',langDir:'Smjer jezika',langDirLtr:'S lijeva na desno (LTR)',langDirRtl:'S desna na lijevo (RTL)',langCode:'Kôd jezika',longDescr:'DugaÄki opis URL',cssClass:'Stylesheet klase',advisoryTitle:'Advisory naslov',cssStyle:'Stil',ok:'OK',cancel:'PoniÅ¡ti',close:'Zatvori',preview:'Pregledaj',generalTab:'Općenito',advancedTab:'Napredno',validateNumberFailed:'Ova vrijednost nije broj.',confirmNewPage:'Sve napravljene promjene će biti izgubljene ukoliko ih niste snimili. Sigurno želite uÄitati novu stranicu?',confirmCancel:'Neke od opcija su promjenjene. Sigurno želite zatvoriti ovaj prozor?',options:'Opcije',target:'OdrediÅ¡te',targetNew:'Novi prozor (_blank)',targetTop:'VrÅ¡ni prozor (_top)',targetSelf:'Isti prozor (_self)',targetParent:'Roditeljski prozor (_parent)',langDirLTR:'S lijeva na desno (LTR)',langDirRTL:'S desna na lijevo (RTL)',styles:'Stil',cssClasses:'Klase stilova',width:'Å irina',height:'Visina',align:'Poravnaj',alignLeft:'Lijevo',alignRight:'Desno',alignCenter:'SrediÅ¡nje',alignTop:'Vrh',alignMiddle:'Sredina',alignBottom:'Dolje',invalidValue:'Invalid value.',invalidHeight:'Visina mora biti broj.',invalidWidth:'Å irina mora biti broj.',invalidCssLength:'Vrijednost odreÄ‘ena za "%1" polje mora biti pozitivni broj sa ili bez važećih CSS mjernih jedinica (px, %, in, cm, mm, em, ex, pt ili pc).',invalidHtmlLength:'Vrijednost odreÄ‘ena za "%1" polje mora biti pozitivni broj sa ili bez važećih HTML mjernih jedinica (px ili %).',invalidInlineStyle:'Vrijednost za linijski stil mora sadržavati jednu ili viÅ¡e definicija s formatom "naziv:vrijednost", odvojenih toÄka-zarezom.',cssLengthTooltip:'Unesite broj za vrijednost u pikselima ili broj s važećim CSS mjernim jedinicama (px, %, in, cm, mm, em, ex, pt ili pc).',unavailable:'%1<span class="cke_accessibility">, nedostupno</span>'},contextmenu:{options:'Opcije izbornika'},specialChar:{toolbar:'Ubaci posebne znakove',title:'Odaberite posebni karakter',options:'Opcije specijalnih znakova'},link:{toolbar:'Ubaci/promijeni link',other:'<drugi>',menu:'Promijeni link',title:'Link',info:'Link Info',target:'Meta',upload:'PoÅ¡alji',advanced:'Napredno',type:'Link vrsta',toUrl:'URL',toAnchor:'Sidro na ovoj stranici',toEmail:'E-Mail',targetFrame:'<okvir>',targetPopup:'<popup prozor>',targetFrameName:'Ime ciljnog okvira',targetPopupName:'Naziv popup prozora',popupFeatures:'Mogućnosti popup prozora',popupResizable:'Promjenjiva veliÄina',popupStatusBar:'Statusna traka',popupLocationBar:'Traka za lokaciju',popupToolbar:'Traka s alatima',popupMenuBar:'Izborna traka',popupFullScreen:'Cijeli ekran (IE)',popupScrollBars:'Scroll traka',popupDependent:'Ovisno (Netscape)',popupLeft:'Lijeva pozicija',popupTop:'Gornja pozicija',id:'Id',langDir:'Smjer jezika',langDirLTR:'S lijeva na desno (LTR)',langDirRTL:'S desna na lijevo (RTL)',acccessKey:'Pristupna tipka',name:'Naziv',langCode:'Smjer jezika',tabIndex:'Tab Indeks',advisoryTitle:'Advisory naslov',advisoryContentType:'Advisory vrsta sadržaja',cssClasses:'Stylesheet klase',charset:'Kodna stranica povezanih resursa',styles:'Stil',rel:'Veza',selectAnchor:'Odaberi sidro',anchorName:'Po nazivu sidra',anchorId:'Po Id elementa',emailAddress:'E-Mail adresa',emailSubject:'Naslov',emailBody:'Sadržaj poruke',noAnchors:'(Nema dostupnih sidra)',noUrl:'Molimo upiÅ¡ite URL link',noEmail:'Molimo upiÅ¡ite e-mail adresu'},anchor:{toolbar:'Ubaci/promijeni sidro',menu:'Svojstva sidra',title:'Svojstva sidra',name:'Ime sidra',errorName:'Molimo unesite ime sidra',remove:'Ukloni sidro'},list:{numberedTitle:'Svojstva brojÄane liste',bulletedTitle:'Svojstva liste',type:'Vrsta',start:'PoÄetak',validateStartNumber:'PoÄetak brojÄane liste mora biti cijeli broj.',circle:'Krug',disc:'Disk',square:'Kvadrat',none:'Bez',notset:'<nije odreÄ‘en>',armenian:'Armenijska numeracija',georgian:'Gruzijska numeracija(an, ban, gan, etc.)',lowerRoman:'Romanska numeracija mala slova (i, ii, iii, iv, v, itd.)',upperRoman:'Romanska numeracija velika slova (I, II, III, IV, V, itd.)',lowerAlpha:'Znakovi mala slova (a, b, c, d, e, itd.)',upperAlpha:'Znakovi velika slova (A, B, C, D, E, itd.)',lowerGreek:'GrÄka numeracija mala slova (alfa, beta, gama, itd).',decimal:'Decimalna numeracija (1, 2, 3, itd.)',decimalLeadingZero:'Decimalna s vodećom nulom (01, 02, 03, itd)'},findAndReplace:{title:'PronaÄ‘i i zamijeni',find:'PronaÄ‘i',replace:'Zamijeni',findWhat:'PronaÄ‘i:',replaceWith:'Zamijeni s:',notFoundMsg:'Traženi tekst nije pronaÄ‘en.',findOptions:'Opcije traženja',matchCase:'Usporedi mala/velika slova',matchWord:'Usporedi cijele rijeÄi',matchCyclic:'Usporedi kružno',replaceAll:'Zamijeni sve',replaceSuccessMsg:'Zamijenjeno %1 pojmova.'},table:{toolbar:'Tablica',title:'Svojstva tablice',menu:'Svojstva tablice',deleteTable:'IzbriÅ¡i tablicu',rows:'Redova',columns:'Kolona',border:'VeliÄina okvira',widthPx:'piksela',widthPc:'postotaka',widthUnit:'jedinica Å¡irine',cellSpace:'Prostornost ćelija',cellPad:'Razmak ćelija',caption:'Naslov',summary:'Sažetak',headers:'Zaglavlje',headersNone:'NiÅ¡ta',headersColumn:'Prva kolona',headersRow:'Prvi red',headersBoth:'Oba',invalidRows:'Broj redova mora biti broj veći od 0.',invalidCols:'Broj kolona mora biti broj veći od 0.',invalidBorder:'Debljina ruba mora biti broj.',invalidWidth:'Å irina tablice mora biti broj.',invalidHeight:'Visina tablice mora biti broj.',invalidCellSpacing:'Prostornost ćelija mora biti broj.',invalidCellPadding:'Razmak ćelija mora biti broj.',cell:{menu:'Ćelija',insertBefore:'Ubaci ćeliju prije',insertAfter:'Ubaci ćeliju poslije',deleteCell:'IzbriÅ¡i ćelije',merge:'Spoji ćelije',mergeRight:'Spoji desno',mergeDown:'Spoji dolje',splitHorizontal:'Podijeli ćeliju vodoravno',splitVertical:'Podijeli ćeliju okomito',title:'Svojstva ćelije',cellType:'Vrsta ćelije',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Prelazak u novi red',hAlign:'Vodoravno poravnanje',vAlign:'Okomito poravnanje',alignBaseline:'Osnovna linija',bgColor:'Boja pozadine',borderColor:'Boja ruba',data:'Podatak',header:'Zaglavlje',yes:'Da',no:'ne',invalidWidth:'Å irina ćelije mora biti broj.',invalidHeight:'Visina ćelije mora biti broj.',invalidRowSpan:'Rows span mora biti cijeli broj.',invalidColSpan:'Columns span mora biti cijeli broj.',chooseColor:'Odaberi'},row:{menu:'Red',insertBefore:'Ubaci red prije',insertAfter:'Ubaci red poslije',deleteRow:'IzbriÅ¡i redove'},column:{menu:'Kolona',insertBefore:'Ubaci kolonu prije',insertAfter:'Ubaci kolonu poslije',deleteColumn:'IzbriÅ¡i kolone'}},button:{title:'Image Button svojstva',text:'Tekst (vrijednost)',type:'Vrsta',typeBtn:'Gumb',typeSbm:'PoÅ¡alji',typeRst:'PoniÅ¡ti'},checkboxAndRadio:{checkboxTitle:'Checkbox svojstva',radioTitle:'Radio Button svojstva',value:'Vrijednost',selected:'Odabrano'},form:{title:'Form svojstva',menu:'Form svojstva',action:'Akcija',method:'Metoda',encoding:'Encoding'},select:{title:'Selection svojstva',selectInfo:'Info',opAvail:'Dostupne opcije',value:'Vrijednost',size:'VeliÄina',lines:'linija',chkMulti:'Dozvoli viÅ¡estruki odabir',opText:'Tekst',opValue:'Vrijednost',btnAdd:'Dodaj',btnModify:'Promijeni',btnUp:'Gore',btnDown:'Dolje',btnSetValue:'Postavi kao odabranu vrijednost',btnDelete:'ObriÅ¡i'},textarea:{title:'Textarea svojstva',cols:'Kolona',rows:'Redova'},textfield:{title:'Text Field svojstva',name:'Ime',value:'Vrijednost',charWidth:'Å irina',maxChars:'NajviÅ¡e karaktera',type:'Vrsta',typeText:'Tekst',typePass:'Å ifra'},hidden:{title:'Hidden Field svojstva',name:'Ime',value:'Vrijednost'},image:{title:'Svojstva slika',titleButton:'Image Button svojstva',menu:'Svojstva slika',infoTab:'Info slike',btnUpload:'PoÅ¡alji na server',upload:'PoÅ¡alji',alt:'Alternativni tekst',lockRatio:'ZakljuÄaj odnos',resetSize:'ObriÅ¡i veliÄinu',border:'Okvir',hSpace:'HSpace',vSpace:'VSpace',alertUrl:'Unesite URL slike',linkTab:'Link',button2Img:'Želite li promijeniti odabrani gumb u jednostavnu sliku?',img2Button:'Želite li promijeniti odabranu sliku u gumb?',urlMissing:'Nedostaje URL slike.',validateBorder:'Okvir mora biti cijeli broj.',validateHSpace:'HSpace mora biti cijeli broj',validateVSpace:'VSpace mora biti cijeli broj.'},flash:{properties:'Flash svojstva',propertiesTab:'Svojstva',title:'Flash svojstva',chkPlay:'Auto Play',chkLoop:'Ponavljaj',chkMenu:'Omogući Flash izbornik',chkFull:'Omogući Fullscreen',scale:'Omjer',scaleAll:'Prikaži sve',scaleNoBorder:'Bez okvira',scaleFit:'ToÄna veliÄina',access:'Script Access',accessAlways:'Uvijek',accessSameDomain:'Ista domena',accessNever:'Nikad',alignAbsBottom:'Abs dolje',alignAbsMiddle:'Abs sredina',alignBaseline:'Bazno',alignTextTop:'Vrh teksta',quality:'Kvaliteta',qualityBest:'Best',qualityHigh:'High',qualityAutoHigh:'Auto High',qualityMedium:'Medium',qualityAutoLow:'Auto Low',qualityLow:'Low',windowModeWindow:'Window',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Vrsta prozora',flashvars:'Varijable za Flash',bgcolor:'Boja pozadine',hSpace:'HSpace',vSpace:'VSpace',validateSrc:'Molimo upiÅ¡ite URL link',validateHSpace:'HSpace mora biti broj.',validateVSpace:'VSpace mora biti broj.'},spellCheck:{toolbar:'Provjeri pravopis',title:'Provjera pravopisa',notAvailable:'Žao nam je, ali usluga trenutno nije dostupna.',errorLoading:'GreÅ¡ka uÄitavanja aplikacije: %s.',notInDic:'Nije u rjeÄniku',changeTo:'Promijeni u',btnIgnore:'Zanemari',btnIgnoreAll:'Zanemari sve',btnReplace:'Zamijeni',btnReplaceAll:'Zamijeni sve',btnUndo:'Vrati',noSuggestions:'-Nema preporuke-',progress:'Provjera u tijeku...',noMispell:'Provjera zavrÅ¡ena: Nema greÅ¡aka',noChanges:'Provjera zavrÅ¡ena: Nije napravljena promjena',oneChange:'Provjera zavrÅ¡ena: Jedna rijeÄ promjenjena',manyChanges:'Provjera zavrÅ¡ena: Promijenjeno %1 rijeÄi',ieSpellDownload:'Provjera pravopisa nije instalirana. Želite li skinuti provjeru pravopisa?'},smiley:{toolbar:'SmjeÅ¡ko',title:'Ubaci smjeÅ¡ka',options:'Opcije smjeÅ¡ka'},elementsPath:{eleLabel:'Putanja elemenata',eleTitle:'%1 element'},numberedlist:'BrojÄana lista',bulletedlist:'ObiÄna lista',indent:'Pomakni udesno',outdent:'Pomakni ulijevo',justify:{left:'Lijevo poravnanje',center:'SrediÅ¡nje poravnanje',right:'Desno poravnanje',block:'Blok poravnanje'},blockquote:'Blockquote',clipboard:{title:'Zalijepi',cutError:'Sigurnosne postavke VaÅ¡eg pretraživaÄa ne dozvoljavaju operacije automatskog izrezivanja. Molimo koristite kraticu na tipkovnici (Ctrl/Cmd+X).',copyError:'Sigurnosne postavke VaÅ¡eg pretraživaÄa ne dozvoljavaju operacije automatskog kopiranja. Molimo koristite kraticu na tipkovnici (Ctrl/Cmd+C).',pasteMsg:'Molimo zaljepite unutar doljnjeg okvira koristeći tipkovnicu (<STRONG>Ctrl/Cmd+V</STRONG>) i kliknite <STRONG>OK</STRONG>.',securityMsg:'Zbog sigurnosnih postavki VaÅ¡eg pretraživaÄa, editor nema direktan pristup VaÅ¡em meÄ‘uspremniku. Potrebno je ponovno zalijepiti tekst u ovaj prozor.',pasteArea:'Prostor za ljepljenje'},pastefromword:{confirmCleanup:'Tekst koji želite zalijepiti Äini se da je kopiran iz Worda. Želite li prije oÄistiti tekst?',toolbar:'Zalijepi iz Worda',title:'Zalijepi iz Worda',error:'Nije moguće oÄistiti podatke za ljepljenje zbog interne greÅ¡ke'},pasteText:{button:'Zalijepi kao Äisti tekst',title:'Zalijepi kao Äisti tekst'},templates:{button:'PredloÅ¡ci',title:'PredloÅ¡ci sadržaja',options:'Opcije predložaka',insertOption:'Zamijeni trenutne sadržaje',selectPromptMsg:'Molimo odaberite predložak koji želite otvoriti<br>(stvarni sadržaj će biti izgubljen):',emptyListMsg:'(Nema definiranih predložaka)'},showBlocks:'Prikaži blokove',stylesCombo:{label:'Stil',panelTitle:'Stilovi formatiranja',panelTitle1:'Block stilovi',panelTitle2:'Inline stilovi',panelTitle3:'Object stilovi'},format:{label:'Format',panelTitle:'Format',tag_p:'Normal',tag_pre:'Formatirano',tag_address:'Address',tag_h1:'Heading 1',tag_h2:'Heading 2',tag_h3:'Heading 3',tag_h4:'Heading 4',tag_h5:'Heading 5',tag_h6:'Heading 6',tag_div:'Normal (DIV)'},div:{title:'Napravi DIV kontejner',toolbar:'Napravi DIV kontejner',cssClassInputLabel:'Klase stilova',styleSelectLabel:'Stil',IdInputLabel:'Id',languageCodeInputLabel:'JeziÄni kod',inlineStyleInputLabel:'Stil u liniji',advisoryTitleInputLabel:'Savjetodavni naslov',langDirLabel:'Smjer jezika',langDirLTRLabel:'S lijeva na desno (LTR)',langDirRTLLabel:'S desna na lijevo (RTL)',edit:'Uredi DIV',remove:'Ukloni DIV'},iframe:{title:'IFrame svojstva',toolbar:'IFrame',noUrl:'Unesite URL iframe-a',scrolling:'Omogući trake za skrolanje',border:'Prikaži okvir IFrame-a'},font:{label:'Font',voiceLabel:'Font',panelTitle:'Font'},fontSize:{label:'VeliÄina',voiceLabel:'VeliÄina slova',panelTitle:'VeliÄina'},colorButton:{textColorTitle:'Boja teksta',bgColorTitle:'Boja pozadine',panelTitle:'Boje',auto:'Automatski',more:'ViÅ¡e boja...'},colors:{'000':'Crna',800000:'Kesten','8B4513':'SmeÄ‘a','2F4F4F':'Tamno siva','008080':'Teal','000080':'Mornarska','4B0082':'Indigo',696969:'Tamno siva',B22222:'Vatrena cigla',A52A2A:'SmeÄ‘a',DAA520:'Zlatna','006400':'Tamno zelena','40E0D0':'Tirkizna','0000CD':'Srednje plava',800080:'LjubiÄasta',808080:'Siva',F00:'Crvena',FF8C00:'Tamno naranÄ‘asta',FFD700:'Zlatna','008000':'Zelena','0FF':'Cijan','00F':'Plava',EE82EE:'LjubiÄasta',A9A9A9:'Mutno siva',FFA07A:'Svijetli losos',FFA500:'NaranÄ‘asto',FFFF00:'Žuto','00FF00':'Limun',AFEEEE:'Blijedo tirkizna',ADD8E6:'Svijetlo plava',DDA0DD:'Å ljiva',D3D3D3:'Svijetlo siva',FFF0F5:'Lavanda rumeno',FAEBD7:'Antikno bijela',FFFFE0:'Svijetlo žuta',F0FFF0:'Med',F0FFFF:'Azurna',F0F8FF:'Alice plava',E6E6FA:'Lavanda',FFF:'Bijela'},scayt:{title:'Provjeri pravopis tijekom tipkanja (SCAYT)',opera_title:'Nije podržano u Operi',enable:'Omogući SCAYT',disable:'Onemogući SCAYT',about:'O SCAYT',toggle:'Omoguću/Onemogući SCAYT',options:'Opcije',langs:'Jezici',moreSuggestions:'ViÅ¡e prijedloga',ignore:'Zanemari',ignoreAll:'Zanemari sve',addWord:'Dodaj rijeÄ',emptyDic:'Naziv rjeÄnika ne smije biti prazno.',noSuggestions:'Nema preporuke',optionsTab:'Opcije',allCaps:'Ignoriraj rijeÄi s velikim slovima',ignoreDomainNames:'Ignoriraj nazive domena',mixedCase:'Ignoriraj rijeÄi s mijeÅ¡anim slovima',mixedWithDigits:'Ignoriraj rijeÄi s brojevima',languagesTab:'Jezici',dictionariesTab:'RjeÄnici',dic_field_name:'Naziv rijeÄnika',dic_create:'Napravi',dic_restore:'Povrati',dic_delete:'ObriÅ¡i',dic_rename:'Promijeni naziv',dic_info:'Na poÄetku se korisniÄki RijeÄnik sprema u Cookie. Nažalost, veliÄina im je ograniÄena. Kada korisniÄki RijeÄnik naraste preko te veliÄine, RijeÄnik će biti smjeÅ¡ten na naÅ¡ server. Kako bi se korisniÄki RijeÄnik spremio na naÅ¡ server morate odabrati naziv VaÅ¡eg RijeÄnika. Ukoliko ste već prije spremali RijeÄnik na naÅ¡e servere, unesite naziv RijeÄnika i pritisnite na Povrati.',aboutTab:'O SCAYT'},about:{title:'O CKEditoru',dlgTitle:'O CKEditoru',help:'Provjeri $1 za pomoć.',userGuide:'VodiÄ za CKEditor korisnike',moreInfo:'Za informacije o licencama posjetite naÅ¡u web stranicu:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Povećaj',minimize:'Smanji',fakeobjects:{anchor:'Sidro',flash:'Flash animacija',iframe:'IFrame',hiddenfield:'Sakriveno polje',unknown:'Nepoznati objekt'},resize:'Povuci za promjenu veliÄine',colordialog:{title:'Odaberi boju',options:'Opcije boje',highlight:'Istaknuto',selected:'Odabrana boja',clear:'OÄisti'},toolbarCollapse:'Smanji alatnu traku',toolbarExpand:'ProÅ¡iri alatnu traku',toolbarGroups:{document:'Dokument',clipboard:'MeÄ‘uspremnik/PoniÅ¡ti',editing:'UreÄ‘ivanje',forms:'Forme',basicstyles:'Osnovni stilovi',paragraph:'Paragraf',links:'Veze',insert:'Umetni',styles:'Stilovi',colors:'Boje',tools:'Alatke'},bidi:{ltr:'Smjer teksta s lijeva na desno',rtl:'Smjer teksta s desna na lijevo'},docprops:{label:'Svojstva dokumenta',title:'Svojstva dokumenta',design:'Dizajn',meta:'Meta Data',chooseColor:'Odaberi',other:'<drugi>',docTitle:'Naslov stranice',charset:'Enkodiranje znakova',charsetOther:'Ostalo enkodiranje znakova',charsetASCII:'ASCII',charsetCE:'SrediÅ¡nja Europa',charsetCT:'Tradicionalna kineska (Big5)',charsetCR:'Ćirilica',charsetGR:'GrÄka',charsetJP:'Japanska',charsetKR:'Koreanska',charsetTR:'Turska',charsetUN:'Unicode (UTF-8)',charsetWE:'Zapadna Europa',docType:'Zaglavlje vrste dokumenta',docTypeOther:'Ostalo zaglavlje vrste dokumenta',xhtmlDec:'Ubaci XHTML deklaracije',bgColor:'Boja pozadine',bgImage:'URL slike pozadine',bgFixed:'Pozadine se ne pomiÄe',txtColor:'Boja teksta',margin:'Margine stranice',marginTop:'Vrh',marginLeft:'Lijevo',marginRight:'Desno',marginBottom:'Dolje',metaKeywords:'KljuÄne rijeÄi dokumenta (odvojene zarezom)',metaDescription:'Opis dokumenta',metaAuthor:'Autor',metaCopyright:'Autorska prava',previewHtml:'<p>Ovo je neki <strong>primjer teksta</strong>. Vi koristite <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/hu.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/hu.js
deleted file mode 100644
index ea4a909..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/hu.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.hu={dir:'ltr',editorTitle:'HTML szerkesztÅ‘, %1',editorHelp:'Press ALT 0 for help',toolbars:'SzerkesztÅ‘ Eszköztár',editor:'HTML szerkesztÅ‘',source:'Forráskód',newPage:'Új oldal',save:'Mentés',preview:'ElÅ‘nézet',cut:'Kivágás',copy:'Másolás',paste:'Beillesztés',print:'Nyomtatás',underline:'Aláhúzott',bold:'Félkövér',italic:'DÅ‘lt',selectAll:'Mindent kijelöl',removeFormat:'Formázás eltávolítása',strike:'Ãthúzott',subscript:'Alsó index',superscript:'FelsÅ‘ index',horizontalrule:'Elválasztóvonal beillesztése',pagebreak:'Oldaltörés beillesztése',pagebreakAlt:'Oldaltörés',unlink:'Hivatkozás törlése',undo:'Visszavonás',redo:'Ismétlés',common:{browseServer:'Böngészés a szerveren',url:'Hivatkozás',protocol:'Protokoll',upload:'Feltöltés',uploadSubmit:'Küldés a szerverre',image:'Kép',flash:'Flash',form:'Å°rlap',checkbox:'JelölÅ‘négyzet',radio:'Választógomb',textField:'SzövegmezÅ‘',textarea:'Szövegterület',hiddenField:'RejtettmezÅ‘',button:'Gomb',select:'LegördülÅ‘ lista',imageButton:'Képgomb',notSet:'<nincs beállítva>',id:'Azonosító',name:'Név',langDir:'Ãrás iránya',langDirLtr:'Balról jobbra',langDirRtl:'Jobbról balra',langCode:'Nyelv kódja',longDescr:'Részletes leírás webcíme',cssClass:'Stíluskészlet',advisoryTitle:'Súgócimke',cssStyle:'Stílus',ok:'Rendben',cancel:'Mégsem',close:'Bezárás',preview:'ElÅ‘nézet',generalTab:'Ãltalános',advancedTab:'További opciók',validateNumberFailed:'A mezÅ‘be csak számokat írhat.',confirmNewPage:'Minden nem mentett változás el fog veszni! Biztosan be szeretné tölteni az oldalt?',confirmCancel:'Az űrlap tartalma megváltozott, ám a változásokat nem rögzítette. Biztosan be szeretné zárni az űrlapot?',options:'Beállítások',target:'Cél',targetNew:'Új ablak (_blank)',targetTop:'LegfelsÅ‘ ablak (_top)',targetSelf:'Aktuális ablakban (_self)',targetParent:'SzülÅ‘ ablak (_parent)',langDirLTR:'Balról jobbra (LTR)',langDirRTL:'Jobbról balra (RTL)',styles:'Stílus',cssClasses:'Stíluslap osztály',width:'Szélesség',height:'Magasság',align:'Igazítás',alignLeft:'Bal',alignRight:'Jobbra',alignCenter:'Középre',alignTop:'Tetejére',alignMiddle:'Középre',alignBottom:'Aljára',invalidValue:'Invalid value.',invalidHeight:'A magasság mezÅ‘be csak számokat írhat.',invalidWidth:'A szélesség mezÅ‘be csak számokat írhat.',invalidCssLength:'"%1"-hez megadott érték csakis egy pozitív szám lehet, esetleg egy érvényes CSS egységgel megjelölve(px, %, in, cm, mm, em, ex, pt vagy pc).',invalidHtmlLength:'"%1"-hez megadott érték csakis egy pozitív szám lehet, esetleg egy érvényes HTML egységgel megjelölve(px vagy %).',invalidInlineStyle:'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, nem elérhetÅ‘</span>'},contextmenu:{options:'Helyi menü opciók'},specialChar:{toolbar:'Speciális karakter beillesztése',title:'Speciális karakter választása',options:'Speciális karakter opciók'},link:{toolbar:'Hivatkozás beillesztése/módosítása',other:'<más>',menu:'Hivatkozás módosítása',title:'Hivatkozás tulajdonságai',info:'Alaptulajdonságok',target:'Tartalom megjelenítése',upload:'Feltöltés',advanced:'További opciók',type:'Hivatkozás típusa',toUrl:'URL',toAnchor:'Horgony az oldalon',toEmail:'E-Mail',targetFrame:'<keretben>',targetPopup:'<felugró ablakban>',targetFrameName:'Keret neve',targetPopupName:'Felugró ablak neve',popupFeatures:'Felugró ablak jellemzÅ‘i',popupResizable:'Ãtméretezés',popupStatusBar:'Ãllapotsor',popupLocationBar:'Címsor',popupToolbar:'Eszköztár',popupMenuBar:'Menü sor',popupFullScreen:'Teljes képernyÅ‘ (csak IE)',popupScrollBars:'GördítÅ‘sáv',popupDependent:'SzülÅ‘höz kapcsolt (csak Netscape)',popupLeft:'Bal pozíció',popupTop:'FelsÅ‘ pozíció',id:'Id',langDir:'Ãrás iránya',langDirLTR:'Balról jobbra',langDirRTL:'Jobbról balra',acccessKey:'Billentyűkombináció',name:'Név',langCode:'Ãrás iránya',tabIndex:'Tabulátor index',advisoryTitle:'Súgócimke',advisoryContentType:'Súgó tartalomtípusa',cssClasses:'Stíluskészlet',charset:'Hivatkozott tartalom kódlapja',styles:'Stílus',rel:'Kapcsolat típusa',selectAnchor:'Horgony választása',anchorName:'Horgony név szerint',anchorId:'Azonosító szerint',emailAddress:'E-Mail cím',emailSubject:'Ãœzenet tárgya',emailBody:'Ãœzenet',noAnchors:'(Nincs horgony a dokumentumban)',noUrl:'Adja meg a hivatkozás webcímét',noEmail:'Adja meg az E-Mail címet'},anchor:{toolbar:'Horgony beillesztése/szerkesztése',menu:'Horgony tulajdonságai',title:'Horgony tulajdonságai',name:'Horgony neve',errorName:'Kérem adja meg a horgony nevét',remove:'Horgony eltávolítása'},list:{numberedTitle:'Sorszámozott lista tulajdonságai',bulletedTitle:'Pontozott lista tulajdonságai',type:'Típus',start:'KezdÅ‘szám',validateStartNumber:'A kezdÅ‘szám nem lehet tört érték.',circle:'Kör',disc:'Korong',square:'Négyzet',none:'Nincs',notset:'<Nincs beállítva>',armenian:'Örmény számozás',georgian:'Grúz számozás (an, ban, gan, stb.)',lowerRoman:'Római kisbetűs (i, ii, iii, iv, v, stb.)',upperRoman:'Római nagybetűs (I, II, III, IV, V, stb.)',lowerAlpha:'Kisbetűs (a, b, c, d, e, stb.)',upperAlpha:'Nagybetűs (A, B, C, D, E, stb.)',lowerGreek:'Görög (alpha, beta, gamma, stb.)',decimal:'Arab számozás (1, 2, 3, stb.)',decimalLeadingZero:'Számozás bevezetÅ‘ nullákkal (01, 02, 03, stb.)'},findAndReplace:{title:'Keresés és csere',find:'Keresés',replace:'Csere',findWhat:'Keresett szöveg:',replaceWith:'Csere erre:',notFoundMsg:'A keresett szöveg nem található.',findOptions:'Find Options',matchCase:'kis- és nagybetű megkülönböztetése',matchWord:'csak ha ez a teljes szó',matchCyclic:'Ciklikus keresés',replaceAll:'Az összes cseréje',replaceSuccessMsg:'%1 egyezÅ‘ség cserélve.'},table:{toolbar:'Táblázat',title:'Táblázat tulajdonságai',menu:'Táblázat tulajdonságai',deleteTable:'Táblázat törlése',rows:'Sorok',columns:'Oszlopok',border:'Szegélyméret',widthPx:'képpont',widthPc:'százalék',widthUnit:'Szélesség egység',cellSpace:'Cella térköz',cellPad:'Cella belsÅ‘ margó',caption:'Felirat',summary:'Leírás',headers:'Fejlécek',headersNone:'Nincsenek',headersColumn:'ElsÅ‘ oszlop',headersRow:'ElsÅ‘ sor',headersBoth:'MindkettÅ‘',invalidRows:'A sorok számának nagyobbnak kell lenni mint 0.',invalidCols:'Az oszlopok számának nagyobbnak kell lenni mint 0.',invalidBorder:'A szegélyméret mezÅ‘be csak számokat írhat.',invalidWidth:'A szélesség mezÅ‘be csak számokat írhat.',invalidHeight:'A magasság mezÅ‘be csak számokat írhat.',invalidCellSpacing:'A cella térköz mezÅ‘be csak számokat írhat.',invalidCellPadding:'A cella belsÅ‘ margó mezÅ‘be csak számokat írhat.',cell:{menu:'Cella',insertBefore:'Beszúrás balra',insertAfter:'Beszúrás jobbra',deleteCell:'Cellák törlése',merge:'Cellák egyesítése',mergeRight:'Cellák egyesítése jobbra',mergeDown:'Cellák egyesítése lefelé',splitHorizontal:'Cellák szétválasztása vízszintesen',splitVertical:'Cellák szétválasztása függÅ‘legesen',title:'Cella tulajdonságai',cellType:'Cella típusa',rowSpan:'FüggÅ‘leges egyesítés',colSpan:'Vízszintes egyesítés',wordWrap:'Hosszú sorok törése',hAlign:'Vízszintes igazítás',vAlign:'FüggÅ‘leges igazítás',alignBaseline:'Alapvonalra',bgColor:'Háttér színe',borderColor:'Keret színe',data:'Adat',header:'Fejléc',yes:'Igen',no:'Nem',invalidWidth:'A szélesség mezÅ‘be csak számokat írhat.',invalidHeight:'A magasság mezÅ‘be csak számokat írhat.',invalidRowSpan:'A függÅ‘leges egyesítés mezÅ‘be csak számokat írhat.',invalidColSpan:'A vízszintes egyesítés mezÅ‘be csak számokat írhat.',chooseColor:'Válasszon'},row:{menu:'Sor',insertBefore:'Beszúrás fölé',insertAfter:'Beszúrás alá',deleteRow:'Sorok törlése'},column:{menu:'Oszlop',insertBefore:'Beszúrás balra',insertAfter:'Beszúrás jobbra',deleteColumn:'Oszlopok törlése'}},button:{title:'Gomb tulajdonságai',text:'Szöveg (Érték)',type:'Típus',typeBtn:'Gomb',typeSbm:'Küldés',typeRst:'Alaphelyzet'},checkboxAndRadio:{checkboxTitle:'JelölÅ‘négyzet tulajdonságai',radioTitle:'Választógomb tulajdonságai',value:'Érték',selected:'Kiválasztott'},form:{title:'Å°rlap tulajdonságai',menu:'Å°rlap tulajdonságai',action:'Adatfeldolgozást végzÅ‘ hivatkozás',method:'Adatküldés módja',encoding:'Kódolás'},select:{title:'LegördülÅ‘ lista tulajdonságai',selectInfo:'Alaptulajdonságok',opAvail:'ElérhetÅ‘ opciók',value:'Érték',size:'Méret',lines:'sor',chkMulti:'több sor is kiválasztható',opText:'Szöveg',opValue:'Érték',btnAdd:'Hozzáad',btnModify:'Módosít',btnUp:'Fel',btnDown:'Le',btnSetValue:'Legyen az alapértelmezett érték',btnDelete:'Töröl'},textarea:{title:'Szövegterület tulajdonságai',cols:'Karakterek száma egy sorban',rows:'Sorok száma'},textfield:{title:'SzövegmezÅ‘ tulajdonságai',name:'Név',value:'Érték',charWidth:'Megjelenített karakterek száma',maxChars:'Maximális karakterszám',type:'Típus',typeText:'Szöveg',typePass:'Jelszó'},hidden:{title:'Rejtett mezÅ‘ tulajdonságai',name:'Név',value:'Érték'},image:{title:'Kép tulajdonságai',titleButton:'Képgomb tulajdonságai',menu:'Kép tulajdonságai',infoTab:'Alaptulajdonságok',btnUpload:'Küldés a szerverre',upload:'Feltöltés',alt:'Buborék szöveg',lockRatio:'Arány megtartása',resetSize:'Eredeti méret',border:'Keret',hSpace:'Vízsz. táv',vSpace:'Függ. táv',alertUrl:'Töltse ki a kép webcímét',linkTab:'Hivatkozás',button2Img:'A kiválasztott képgombból sima képet szeretne csinálni?',img2Button:'A kiválasztott képbÅ‘l képgombot szeretne csinálni?',urlMissing:'Hiányzik a kép URL-je',validateBorder:'A keret méretének egész számot kell beírni!',validateHSpace:'Vízszintes távolságnak egész számot kell beírni!',validateVSpace:'FüggÅ‘leges távolságnak egész számot kell beírni!'},flash:{properties:'Flash tulajdonságai',propertiesTab:'Tulajdonságok',title:'Flash tulajdonságai',chkPlay:'Automata lejátszás',chkLoop:'Folyamatosan',chkMenu:'Flash menü engedélyezése',chkFull:'Teljes képernyÅ‘ engedélyezése',scale:'Méretezés',scaleAll:'Mindent mutat',scaleNoBorder:'Keret nélkül',scaleFit:'Teljes kitöltés',access:'Szkript hozzáférés',accessAlways:'Mindig',accessSameDomain:'Azonos domainrÅ‘l',accessNever:'Soha',alignAbsBottom:'Legaljára',alignAbsMiddle:'Közepére',alignBaseline:'Alapvonalhoz',alignTextTop:'Szöveg tetejére',quality:'MinÅ‘ség',qualityBest:'Legjobb',qualityHigh:'Jó',qualityAutoHigh:'Automata jó',qualityMedium:'Közepes',qualityAutoLow:'Automata gyenge',qualityLow:'Gyenge',windowModeWindow:'Window',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Ablak mód',flashvars:'Flash változók',bgcolor:'Háttérszín',hSpace:'Vízsz. táv',vSpace:'Függ. táv',validateSrc:'Adja meg a hivatkozás webcímét',validateHSpace:'A vízszintes távolsűág mezÅ‘be csak számokat írhat.',validateVSpace:'A függÅ‘leges távolsűág mezÅ‘be csak számokat írhat.'},spellCheck:{toolbar:'Helyesírás-ellenÅ‘rzés',title:'Helyesírás ellenörzÅ‘',notAvailable:'Sajnálom, de a szolgáltatás jelenleg nem elérhetÅ‘.',errorLoading:'Hiba a szolgáltatás host betöltése közben: %s.',notInDic:'Nincs a szótárban',changeTo:'Módosítás',btnIgnore:'Kihagyja',btnIgnoreAll:'Mindet kihagyja',btnReplace:'Csere',btnReplaceAll:'Összes cseréje',btnUndo:'Visszavonás',noSuggestions:'Nincs javaslat',progress:'Helyesírás-ellenÅ‘rzés folyamatban...',noMispell:'Helyesírás-ellenÅ‘rzés kész: Nem találtam hibát',noChanges:'Helyesírás-ellenÅ‘rzés kész: Nincs változtatott szó',oneChange:'Helyesírás-ellenÅ‘rzés kész: Egy szó cserélve',manyChanges:'Helyesírás-ellenÅ‘rzés kész: %1 szó cserélve',ieSpellDownload:'A helyesírás-ellenÅ‘rzÅ‘ nincs telepítve. Szeretné letölteni most?'},smiley:{toolbar:'Hangulatjelek',title:'Hangulatjel beszúrása',options:'Hangulatjel opciók'},elementsPath:{eleLabel:'Elem utak',eleTitle:'%1 elem'},numberedlist:'Számozás',bulletedlist:'Felsorolás',indent:'Behúzás növelése',outdent:'Behúzás csökkentése',justify:{left:'Balra',center:'Középre',right:'Jobbra',block:'Sorkizárt'},blockquote:'Idézet blokk',clipboard:{title:'Beillesztés',cutError:'A böngészÅ‘ biztonsági beállításai nem engedélyezik a szerkesztÅ‘nek, hogy végrehajtsa a kivágás műveletet. Használja az alábbi billentyűkombinációt (Ctrl/Cmd+X).',copyError:'A böngészÅ‘ biztonsági beállításai nem engedélyezik a szerkesztÅ‘nek, hogy végrehajtsa a másolás műveletet. Használja az alábbi billentyűkombinációt (Ctrl/Cmd+X).',pasteMsg:'Másolja be az alábbi mezÅ‘be a <STRONG>Ctrl/Cmd+V</STRONG> billentyűk lenyomásával, majd nyomjon <STRONG>Rendben</STRONG>-t.',securityMsg:'A böngészÅ‘ biztonsági beállításai miatt a szerkesztÅ‘ nem képes hozzáférni a vágólap adataihoz. Illeszd be újra ebben az ablakban.',pasteArea:'Beszúrás mezÅ‘'},pastefromword:{confirmCleanup:'Úgy tűnik a beillesztett szöveget Word-bÅ‘l másolt át. Meg szeretné tisztítani a szöveget? (ajánlott)',toolbar:'Beillesztés Word-bÅ‘l',title:'Beillesztés Word-bÅ‘l',error:'Egy belsÅ‘ hiba miatt nem sikerült megtisztítani a szöveget'},pasteText:{button:'Beillesztés formázatlan szövegként',title:'Beillesztés formázatlan szövegként'},templates:{button:'Sablonok',title:'ElérhetÅ‘ sablonok',options:'Sablon opciók',insertOption:'Kicseréli a jelenlegi tartalmat',selectPromptMsg:'Válassza ki melyik sablon nyíljon meg a szerkesztÅ‘ben<br>(a jelenlegi tartalom elveszik):',emptyListMsg:'(Nincs sablon megadva)'},showBlocks:'Blokkok megjelenítése',stylesCombo:{label:'Stílus',panelTitle:'Formázási stílusok',panelTitle1:'Blokk stílusok',panelTitle2:'Inline stílusok',panelTitle3:'Objektum stílusok'},format:{label:'Formátum',panelTitle:'Formátum',tag_p:'Normál',tag_pre:'Formázott',tag_address:'Címsor',tag_h1:'Fejléc 1',tag_h2:'Fejléc 2',tag_h3:'Fejléc 3',tag_h4:'Fejléc 4',tag_h5:'Fejléc 5',tag_h6:'Fejléc 6',tag_div:'Bekezdés (DIV)'},div:{title:'DIV tároló létrehozása',toolbar:'DIV tároló létrehozása',cssClassInputLabel:'Stíluslap osztály',styleSelectLabel:'Stílus',IdInputLabel:'Azonosító',languageCodeInputLabel:' Nyelv kódja',inlineStyleInputLabel:'Inline stílus',advisoryTitleInputLabel:'Tipp szöveg',langDirLabel:'Nyelvi irány',langDirLTRLabel:'Balról jobbra (LTR)',langDirRTLLabel:'Jobbról balra (RTL)',edit:'DIV szerkesztése',remove:'DIV eltávolítása'},iframe:{title:'IFrame Tulajdonságok',toolbar:'IFrame',noUrl:'Kérem írja be a iframe URL-t',scrolling:'GördítÅ‘sáv bekapcsolása',border:'Legyen keret'},font:{label:'Betűtípus',voiceLabel:'Betűtípus',panelTitle:'Betűtípus'},fontSize:{label:'Méret',voiceLabel:'Betűméret',panelTitle:'Méret'},colorButton:{textColorTitle:'Betűszín',bgColorTitle:'Háttérszín',panelTitle:'Színek',auto:'Automatikus',more:'További színek...'},colors:{'000':'Fekete',800000:'Bordó','8B4513':'Barna','2F4F4F':'Sötét türkiz','008080':'Türkiz','000080':'Király kék','4B0082':'Indigó kék',696969:'Szürke',B22222:'Tégla vörös',A52A2A:'Vörös',DAA520:'Arany sárga','006400':'Sötét zöld','40E0D0':'Türkiz','0000CD':'Kék',800080:'Lila',808080:'Szürke',F00:'Piros',FF8C00:'Sötét narancs',FFD700:'Arany','008000':'Zöld','0FF':'Türkiz','00F':'Kék',EE82EE:'Rózsaszín',A9A9A9:'Sötét szürke',FFA07A:'Lazac',FFA500:'Narancs',FFFF00:'Citromsárga','00FF00':'Neon zöld',AFEEEE:'Világos türkiz',ADD8E6:'Világos kék',DDA0DD:'Világos lila',D3D3D3:'Világos szürke',FFF0F5:'Lavender Blush',FAEBD7:'Törtfehér',FFFFE0:'Világos sárga',F0FFF0:'Menta',F0FFFF:'Azúr kék',F0F8FF:'Halvány kék',E6E6FA:'Lavender',FFF:'Fehér'},scayt:{title:'Helyesírás ellenÅ‘rzés gépelés közben',opera_title:'Az Opera nem támogatja',enable:'SCAYT engedélyezése',disable:'SCAYT letiltása',about:'SCAYT névjegy',toggle:'SCAYT kapcsolása',options:'Beállítások',langs:'Nyelvek',moreSuggestions:'További javaslatok',ignore:'Kihagy',ignoreAll:'Összes kihagyása',addWord:'Szó hozzáadása',emptyDic:'A szótár nevét meg kell adni.',noSuggestions:'Nincs javaslat',optionsTab:'Beállítások',allCaps:'Nagybetűs szavak kihagyása',ignoreDomainNames:'Domain nevek kihagyása',mixedCase:'Kis és nagybetűt is tartalmazó szavak kihagyása',mixedWithDigits:'Számokat tartalmazó szavak kihagyása',languagesTab:'Nyelvek',dictionariesTab:'Szótár',dic_field_name:'Szótár neve',dic_create:'Létrehozás',dic_restore:'Visszaállítás',dic_delete:'Törlés',dic_rename:'Ãtnevezés',dic_info:'Kezdetben a felhasználói szótár böngészÅ‘ sütiben tárolódik. Azonban a sütik maximális mérete korlátozott. Amikora a szótár akkora lesz, hogy már sütiben nem lehet tárolni, akkor a szótárat tárolhatja a szerveren is. Ehhez egy nevet kell megadni a szótárhoz. Amennyiben már van szerveren tárolt szótára, adja meg a nevét és kattintson a visszaállítás gombra.',aboutTab:'Névjegy'},about:{title:'CKEditor névjegy',dlgTitle:'CKEditor névjegy',help:'Itt találsz segítséget: $1',userGuide:'CKEditor Felhasználói útmutató',moreInfo:'Licenszelési információkért kérjük látogassa meg weboldalunkat:',copy:'Copyright &copy; $1. Minden jog fenntartva.'},maximize:'Teljes méret',minimize:'Kis méret',fakeobjects:{anchor:'Horgony',flash:'Flash animáció',iframe:'IFrame',hiddenfield:'Rejtett mezõ',unknown:'Ismeretlen objektum'},resize:'Húzza az átméretezéshez',colordialog:{title:'Válasszon színt',options:'Szín opciók',highlight:'Nagyítás',selected:'Kiválasztott',clear:'Ãœrítés'},toolbarCollapse:'Eszköztár összecsukása',toolbarExpand:'Eszköztár szétnyitása',toolbarGroups:{document:'Dokumentum',clipboard:'Vágólap/Visszavonás',editing:'Szerkesztés',forms:'Å°rlapok',basicstyles:'Alapstílusok',paragraph:'Bekezdés',links:'Hivatkozások',insert:'Beszúrás',styles:'Stílusok',colors:'Színek',tools:'Eszközök'},bidi:{ltr:'Szöveg iránya balról jobbra',rtl:'Szöveg iránya jobbról balra'},docprops:{label:'Dokumentum tulajdonságai',title:'Dokumentum tulajdonságai',design:'Design',meta:'Meta adatok',chooseColor:'Válasszon',other:'<más>',docTitle:'Oldalcím',charset:'Karakterkódolás',charsetOther:'Más karakterkódolás',charsetASCII:'ASCII',charsetCE:'Közép-Európai',charsetCT:'Kínai Tradicionális (Big5)',charsetCR:'Cyrill',charsetGR:'Görög',charsetJP:'Japán',charsetKR:'Koreai',charsetTR:'Török',charsetUN:'Unicode (UTF-8)',charsetWE:'Nyugat-Európai',docType:'Dokumentum típus fejléc',docTypeOther:'Más dokumentum típus fejléc',xhtmlDec:'XHTML deklarációk beillesztése',bgColor:'Háttérszín',bgImage:'Háttérkép cím',bgFixed:'Nem gördíthetÅ‘ háttér',txtColor:'Betűszín',margin:'Oldal margók',marginTop:'FelsÅ‘',marginLeft:'Bal',marginRight:'Jobb',marginBottom:'Alsó',metaKeywords:'Dokumentum keresÅ‘szavak (vesszÅ‘vel elválasztva)',metaDescription:'Dokumentum leírás',metaAuthor:'SzerzÅ‘',metaCopyright:'SzerzÅ‘i jog',previewHtml:'<p>Ez itt egy <strong>példa</strong>. A <a href="javascript:void(0)">CKEditor</a>-t használod.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/id.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/id.js
deleted file mode 100644
index fcaeab6..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/id.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.id={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'Editor toolbars',editor:'Rich Text Editor',source:'Source',newPage:'New Page',save:'Save',preview:'Preview',cut:'Cut',copy:'Copy',paste:'Paste',print:'Print',underline:'Underline',bold:'Bold',italic:'Italic',selectAll:'Select All',removeFormat:'Remove Format',strike:'Strike Through',subscript:'Subscript',superscript:'Superscript',horizontalrule:'Insert Horizontal Line',pagebreak:'Insert Page Break for Printing',pagebreakAlt:'Page Break',unlink:'Unlink',undo:'Undo',redo:'Redo',common:{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',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:'Some of the options have been changed. Are you sure to close the dialog?',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:'Alignment',alignLeft:'Left',alignRight:'Right',alignCenter:'Center',alignTop:'Top',alignMiddle:'Middle',alignBottom:'Bottom',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'Insert Special Character',title:'Select Special Character',options:'Special Character Options'},link:{toolbar:'Link',other:'<other>',menu:'Edit Link',title:'Link',info:'Link Info',target:'Target',upload:'Upload',advanced:'Advanced',type:'Link Type',toUrl:'URL',toAnchor:'Link to anchor in the text',toEmail:'E-mail',targetFrame:'<frame>',targetPopup:'<popup window>',targetFrameName:'Target Frame Name',targetPopupName:'Popup Window Name',popupFeatures:'Popup Window Features',popupResizable:'Resizable',popupStatusBar:'Status Bar',popupLocationBar:'Location Bar',popupToolbar:'Toolbar',popupMenuBar:'Menu Bar',popupFullScreen:'Full Screen (IE)',popupScrollBars:'Scroll Bars',popupDependent:'Dependent (Netscape)',popupLeft:'Left Position',popupTop:'Top Position',id:'Id',langDir:'Language Direction',langDirLTR:'Left to Right (LTR)',langDirRTL:'Right to Left (RTL)',acccessKey:'Access Key',name:'Name',langCode:'Language Code',tabIndex:'Tab Index',advisoryTitle:'Advisory Title',advisoryContentType:'Advisory Content Type',cssClasses:'Stylesheet Classes',charset:'Linked Resource Charset',styles:'Style',rel:'Relationship',selectAnchor:'Select an Anchor',anchorName:'By Anchor Name',anchorId:'By Element Id',emailAddress:'E-Mail Address',emailSubject:'Message Subject',emailBody:'Message Body',noAnchors:'(No anchors available in the document)',noUrl:'Please type the link URL',noEmail:'Please type the e-mail address'},anchor:{toolbar:'Anchor',menu:'Edit Anchor',title:'Anchor Properties',name:'Anchor Name',errorName:'Please type the anchor name',remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Find and Replace',find:'Find',replace:'Replace',findWhat:'Find what:',replaceWith:'Replace with:',notFoundMsg:'The specified text was not found.',findOptions:'Find Options',matchCase:'Match case',matchWord:'Match whole word',matchCyclic:'Match cyclic',replaceAll:'Replace All',replaceSuccessMsg:'%1 occurrence(s) replaced.'},table:{toolbar:'Table',title:'Table Properties',menu:'Table Properties',deleteTable:'Delete Table',rows:'Rows',columns:'Columns',border:'Border size',widthPx:'pixels',widthPc:'percent',widthUnit:'width unit',cellSpace:'Cell spacing',cellPad:'Cell padding',caption:'Caption',summary:'Summary',headers:'Headers',headersNone:'None',headersColumn:'First column',headersRow:'First Row',headersBoth:'Both',invalidRows:'Number of rows must be a number greater than 0.',invalidCols:'Number of columns must be a number greater than 0.',invalidBorder:'Border size must be a number.',invalidWidth:'Table width must be a number.',invalidHeight:'Table height must be a number.',invalidCellSpacing:'Cell spacing must be a positive number.',invalidCellPadding:'Cell padding must be a positive number.',cell:{menu:'Cell',insertBefore:'Insert Cell Before',insertAfter:'Insert Cell After',deleteCell:'Delete Cells',merge:'Merge Cells',mergeRight:'Merge Right',mergeDown:'Merge Down',splitHorizontal:'Split Cell Horizontally',splitVertical:'Split Cell Vertically',title:'Cell Properties',cellType:'Cell Type',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Word Wrap',hAlign:'Horizontal Alignment',vAlign:'Vertical Alignment',alignBaseline:'Baseline',bgColor:'Background Color',borderColor:'Border Color',data:'Data',header:'Header',yes:'Yes',no:'No',invalidWidth:'Cell width must be a number.',invalidHeight:'Cell height must be a number.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Choose'},row:{menu:'Row',insertBefore:'Insert Row Before',insertAfter:'Insert Row After',deleteRow:'Delete Rows'},column:{menu:'Column',insertBefore:'Insert Column Before',insertAfter:'Insert Column After',deleteColumn:'Delete Columns'}},button:{title:'Button Properties',text:'Text (Value)',type:'Type',typeBtn:'Button',typeSbm:'Submit',typeRst:'Reset'},checkboxAndRadio:{checkboxTitle:'Checkbox Properties',radioTitle:'Radio Button Properties',value:'Value',selected:'Selected'},form:{title:'Form Properties',menu:'Form Properties',action:'Action',method:'Method',encoding:'Encoding'},select:{title:'Selection Field Properties',selectInfo:'Select Info',opAvail:'Available Options',value:'Value',size:'Size',lines:'lines',chkMulti:'Allow multiple selections',opText:'Text',opValue:'Value',btnAdd:'Add',btnModify:'Modify',btnUp:'Up',btnDown:'Down',btnSetValue:'Set as selected value',btnDelete:'Delete'},textarea:{title:'Textarea Properties',cols:'Columns',rows:'Rows'},textfield:{title:'Text Field Properties',name:'Name',value:'Value',charWidth:'Character Width',maxChars:'Maximum Characters',type:'Type',typeText:'Text',typePass:'Password'},hidden:{title:'Hidden Field Properties',name:'Name',value:'Value'},image:{title:'Image Properties',titleButton:'Image Button Properties',menu:'Image Properties',infoTab:'Image Info',btnUpload:'Send it to the Server',upload:'Upload',alt:'Alternative Text',lockRatio:'Lock Ratio',resetSize:'Reset Size',border:'Border',hSpace:'HSpace',vSpace:'VSpace',alertUrl:'Please type the image URL',linkTab:'Link',button2Img:'Do you want to transform the selected image button on a simple image?',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'Flash Properties',propertiesTab:'Properties',title:'Flash Properties',chkPlay:'Auto Play',chkLoop:'Loop',chkMenu:'Enable Flash Menu',chkFull:'Allow Fullscreen',scale:'Scale',scaleAll:'Show all',scaleNoBorder:'No Border',scaleFit:'Exact Fit',access:'Script Access',accessAlways:'Always',accessSameDomain:'Same domain',accessNever:'Never',alignAbsBottom:'Abs Bottom',alignAbsMiddle:'Abs Middle',alignBaseline:'Baseline',alignTextTop:'Text Top',quality:'Quality',qualityBest:'Best',qualityHigh:'High',qualityAutoHigh:'Auto High',qualityMedium:'Medium',qualityAutoLow:'Auto Low',qualityLow:'Low',windowModeWindow:'Window',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Window mode',flashvars:'Variables for Flash',bgcolor:'Background color',hSpace:'HSpace',vSpace:'VSpace',validateSrc:'URL must not be empty.',validateHSpace:'HSpace must be a number.',validateVSpace:'VSpace must be a number.'},spellCheck:{toolbar:'Check Spelling',title:'Spell Check',notAvailable:'Sorry, but service is unavailable now.',errorLoading:'Error loading application service host: %s.',notInDic:'Not in dictionary',changeTo:'Change to',btnIgnore:'Ignore',btnIgnoreAll:'Ignore All',btnReplace:'Replace',btnReplaceAll:'Replace All',btnUndo:'Undo',noSuggestions:'- No suggestions -',progress:'Spell check in progress...',noMispell:'Spell check complete: No misspellings found',noChanges:'Spell check complete: No words changed',oneChange:'Spell check complete: One word changed',manyChanges:'Spell check complete: %1 words changed',ieSpellDownload:'Spell checker not installed. Do you want to download it now?'},smiley:{toolbar:'Smiley',title:'Insert a Smiley',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 element'},numberedlist:'Insert/Remove Numbered List',bulletedlist:'Insert/Remove Bulleted List',indent:'Increase Indent',outdent:'Decrease Indent',justify:{left:'Align Left',center:'Center',right:'Align Right',block:'Justify'},blockquote:'Block Quote',clipboard:{title:'Paste',cutError:"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).",copyError:"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).",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.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'Paste from Word',title:'Paste from Word',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'Paste as plain text',title:'Paste as Plain Text'},templates:{button:'Templates',title:'Content Templates',options:'Template Options',insertOption:'Replace actual contents',selectPromptMsg:'Please select the template to open in the editor',emptyListMsg:'(No templates defined)'},showBlocks:'Show Blocks',stylesCombo:{label:'Styles',panelTitle:'Formatting Styles',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'Format',panelTitle:'Paragraph Format',tag_p:'Normal',tag_pre:'Formatted',tag_address:'Address',tag_h1:'Heading 1',tag_h2:'Heading 2',tag_h3:'Heading 3',tag_h4:'Heading 4',tag_h5:'Heading 5',tag_h6:'Heading 6',tag_div:'Normal (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'Font',voiceLabel:'Font',panelTitle:'Font Name'},fontSize:{label:'Size',voiceLabel:'Font Size',panelTitle:'Font Size'},colorButton:{textColorTitle:'Text Color',bgColorTitle:'Background Color',panelTitle:'Colors',auto:'Automatic',more:'More Colors...'},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'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Options',langs:'Languages',moreSuggestions:'More suggestions',ignore:'Ignore',ignoreAll:'Ignore All',addWord:'Add Word',emptyDic:'Dictionary name should not be empty.',noSuggestions:'No suggestions',optionsTab:'Options',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Languages',dictionariesTab:'Dictionaries',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'About'},about:{title:'About CKEditor',dlgTitle:'About CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'For licensing information please visit our web site:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Maximize',minimize:'Minimize',fakeobjects:{anchor:'Anchor',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Unknown Object'},resize:'Drag to resize',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'Document Properties',title:'Document Properties',design:'Design',meta:'Meta Tags',chooseColor:'Choose',other:'Other...',docTitle:'Page Title',charset:'Character Set Encoding',charsetOther:'Other Character Set Encoding',charsetASCII:'ASCII',charsetCE:'Central European',charsetCT:'Chinese Traditional (Big5)',charsetCR:'Cyrillic',charsetGR:'Greek',charsetJP:'Japanese',charsetKR:'Korean',charsetTR:'Turkish',charsetUN:'Unicode (UTF-8)',charsetWE:'Western European',docType:'Document Type Heading',docTypeOther:'Other Document Type Heading',xhtmlDec:'Include XHTML Declarations',bgColor:'Background Color',bgImage:'Background Image URL',bgFixed:'Non-scrolling (Fixed) Background',txtColor:'Text Color',margin:'Page Margins',marginTop:'Top',marginLeft:'Left',marginRight:'Right',marginBottom:'Bottom',metaKeywords:'Document Indexing Keywords (comma separated)',metaDescription:'Document Description',metaAuthor:'Author',metaCopyright:'Copyright',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/is.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/is.js
deleted file mode 100644
index 5cd0370..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/is.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.is={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'Editor toolbars',editor:'Rich Text Editor',source:'Kóði',newPage:'Ný síða',save:'Vista',preview:'Forskoða',cut:'Klippa',copy:'Afrita',paste:'Líma',print:'Prenta',underline:'Undirstrikað',bold:'Feitletrað',italic:'Skáletrað',selectAll:'Velja allt',removeFormat:'Fjarlægja snið',strike:'Yfirstrikað',subscript:'Niðurskrifað',superscript:'Uppskrifað',horizontalrule:'Lóðrétt lína',pagebreak:'Setja inn síðuskil',pagebreakAlt:'Page Break',unlink:'Fjarlægja stiklu',undo:'Afturkalla',redo:'Hætta við afturköllun',common:{browseServer:'Fletta í skjalasafni',url:'Vefslóð',protocol:'Samskiptastaðall',upload:'Senda upp',uploadSubmit:'Hlaða upp',image:'Setja inn mynd',flash:'Flash',form:'Setja inn innsláttarform',checkbox:'Setja inn hökunarreit',radio:'Setja inn valhnapp',textField:'Setja inn textareit',textarea:'Setja inn textasvæði',hiddenField:'Setja inn falið svæði',button:'Setja inn hnapp',select:'Setja inn lista',imageButton:'Setja inn myndahnapp',notSet:'<ekkert valið>',id:'Auðkenni',name:'Nafn',langDir:'Lesstefna',langDirLtr:'Frá vinstri til hægri (LTR)',langDirRtl:'Frá hægri til vinstri (RTL)',langCode:'Tungumálakóði',longDescr:'Nánari lýsing',cssClass:'Stílsniðsflokkur',advisoryTitle:'Titill',cssStyle:'Stíll',ok:'à lagi',cancel:'Hætta við',close:'Close',preview:'Preview',generalTab:'Almennt',advancedTab:'Tæknilegt',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:'Some of the options have been changed. Are you sure to close the dialog?',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:'Breidd',height:'Hæð',align:'Jöfnun',alignLeft:'Vinstri',alignRight:'Hægri',alignCenter:'Miðjað',alignTop:'Efst',alignMiddle:'Miðjuð',alignBottom:'Neðst',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'Setja inn merki',title:'Velja tákn',options:'Special Character Options'},link:{toolbar:'Stofna/breyta stiklu',other:'<annar>',menu:'Breyta stiklu',title:'Stikla',info:'Almennt',target:'Mark',upload:'Senda upp',advanced:'Tæknilegt',type:'Stikluflokkur',toUrl:'URL',toAnchor:'Bókamerki á þessari síðu',toEmail:'Netfang',targetFrame:'<rammi>',targetPopup:'<sprettigluggi>',targetFrameName:'Nafn markglugga',targetPopupName:'Nafn sprettiglugga',popupFeatures:'Eigindi sprettiglugga',popupResizable:'Resizable',popupStatusBar:'Stöðustika',popupLocationBar:'Fanglína',popupToolbar:'Verkfærastika',popupMenuBar:'Vallína',popupFullScreen:'Heilskjár (IE)',popupScrollBars:'Skrunstikur',popupDependent:'Háð venslum (Netscape)',popupLeft:'Fjarlægð frá vinstri',popupTop:'Fjarlægð frá efri brún',id:'Id',langDir:'Lesstefna',langDirLTR:'Frá vinstri til hægri (LTR)',langDirRTL:'Frá hægri til vinstri (RTL)',acccessKey:'Skammvalshnappur',name:'Nafn',langCode:'Lesstefna',tabIndex:'Raðnúmer innsláttarreits',advisoryTitle:'Titill',advisoryContentType:'Tegund innihalds',cssClasses:'Stílsniðsflokkur',charset:'Táknróf',styles:'Stíll',rel:'Relationship',selectAnchor:'Veldu akkeri',anchorName:'Eftir akkerisnafni',anchorId:'Eftir auðkenni einingar',emailAddress:'Netfang',emailSubject:'Efni',emailBody:'Meginmál',noAnchors:'<Engin bókamerki á skrá>',noUrl:'Sláðu inn veffang stiklunnar!',noEmail:'Sláðu inn netfang!'},anchor:{toolbar:'Stofna/breyta kaflamerki',menu:'Eigindi kaflamerkis',title:'Eigindi kaflamerkis',name:'Nafn bókamerkis',errorName:'Sláðu inn nafn bókamerkis!',remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Finna og skipta',find:'Leita',replace:'Skipta út',findWhat:'Leita að:',replaceWith:'Skipta út fyrir:',notFoundMsg:'Leitartexti fannst ekki!',findOptions:'Find Options',matchCase:'Gera greinarmun á¡ há¡- og lágstöfum',matchWord:'Aðeins heil orð',matchCyclic:'Match cyclic',replaceAll:'Skipta út allsstaðar',replaceSuccessMsg:'%1 occurrence(s) replaced.'},table:{toolbar:'Tafla',title:'Eigindi töflu',menu:'Eigindi töflu',deleteTable:'Fella töflu',rows:'Raðir',columns:'Dálkar',border:'Breidd ramma',widthPx:'myndeindir',widthPc:'prósent',widthUnit:'width unit',cellSpace:'Bil milli reita',cellPad:'Reitaspássía',caption:'Titill',summary:'Ãfram',headers:'Fyrirsagnir',headersNone:'Engar',headersColumn:'Fyrsti dálkur',headersRow:'Fyrsta röð',headersBoth:'Hvort tveggja',invalidRows:'Number of rows must be a number greater than 0.',invalidCols:'Number of columns must be a number greater than 0.',invalidBorder:'Border size must be a number.',invalidWidth:'Table width must be a number.',invalidHeight:'Table height must be a number.',invalidCellSpacing:'Cell spacing must be a positive number.',invalidCellPadding:'Cell padding must be a positive number.',cell:{menu:'Reitur',insertBefore:'Skjóta inn reiti fyrir aftan',insertAfter:'Skjóta inn reiti fyrir framan',deleteCell:'Fella reit',merge:'Sameina reiti',mergeRight:'Sameina til hægri',mergeDown:'Sameina niður á við',splitHorizontal:'Kljúfa reit lárétt',splitVertical:'Kljúfa reit lóðrétt',title:'Cell Properties',cellType:'Cell Type',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Word Wrap',hAlign:'Horizontal Alignment',vAlign:'Vertical Alignment',alignBaseline:'Baseline',bgColor:'Background Color',borderColor:'Border Color',data:'Data',header:'Header',yes:'Yes',no:'No',invalidWidth:'Cell width must be a number.',invalidHeight:'Cell height must be a number.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Choose'},row:{menu:'Röð',insertBefore:'Skjóta inn röð fyrir ofan',insertAfter:'Skjóta inn röð fyrir neðan',deleteRow:'Eyða röð'},column:{menu:'Dálkur',insertBefore:'Skjóta inn dálki vinstra megin',insertAfter:'Skjóta inn dálki hægra megin',deleteColumn:'Fella dálk'}},button:{title:'Eigindi hnapps',text:'Texti',type:'Gerð',typeBtn:'Hnappur',typeSbm:'Staðfesta',typeRst:'Hreinsa'},checkboxAndRadio:{checkboxTitle:'Eigindi markreits',radioTitle:'Eigindi valhnapps',value:'Gildi',selected:'Valið'},form:{title:'Eigindi innsláttarforms',menu:'Eigindi innsláttarforms',action:'Aðgerð',method:'Aðferð',encoding:'Encoding'},select:{title:'Eigindi lista',selectInfo:'Upplýsingar',opAvail:'Kostir',value:'Gildi',size:'Stærð',lines:'línur',chkMulti:'Leyfa fleiri kosti',opText:'Texti',opValue:'Gildi',btnAdd:'Bæta við',btnModify:'Breyta',btnUp:'Upp',btnDown:'Niður',btnSetValue:'Merkja sem valið',btnDelete:'Eyða'},textarea:{title:'Eigindi textasvæðis',cols:'Dálkar',rows:'Línur'},textfield:{title:'Eigindi textareits',name:'Nafn',value:'Gildi',charWidth:'Breidd (leturtákn)',maxChars:'Hámarksfjöldi leturtákna',type:'Gerð',typeText:'Texti',typePass:'Lykilorð'},hidden:{title:'Eigindi falins svæðis',name:'Nafn',value:'Gildi'},image:{title:'Eigindi myndar',titleButton:'Eigindi myndahnapps',menu:'Eigindi myndar',infoTab:'Almennt',btnUpload:'Hlaða upp',upload:'Hlaða upp',alt:'Baklægur texti',lockRatio:'Festa stærðarhlutfall',resetSize:'Reikna stærð',border:'Rammi',hSpace:'Vinstri bil',vSpace:'Hægri bil',alertUrl:'Sláðu inn slóðina að myndinni',linkTab:'Stikla',button2Img:'Do you want to transform the selected image button on a simple image?',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'Eigindi Flash',propertiesTab:'Properties',title:'Eigindi Flash',chkPlay:'Sjálfvirk spilun',chkLoop:'Endurtekning',chkMenu:'Sýna Flash-valmynd',chkFull:'Allow Fullscreen',scale:'Skali',scaleAll:'Sýna allt',scaleNoBorder:'Ãn ramma',scaleFit:'Fella skala að stærð',access:'Script Access',accessAlways:'Always',accessSameDomain:'Same domain',accessNever:'Never',alignAbsBottom:'Abs neðst',alignAbsMiddle:'Abs miðjuð',alignBaseline:'Grunnlína',alignTextTop:'Efri brún texta',quality:'Quality',qualityBest:'Best',qualityHigh:'High',qualityAutoHigh:'Auto High',qualityMedium:'Medium',qualityAutoLow:'Auto Low',qualityLow:'Low',windowModeWindow:'Window',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Window mode',flashvars:'Variables for Flash',bgcolor:'Bakgrunnslitur',hSpace:'Vinstri bil',vSpace:'Hægri bil',validateSrc:'Sláðu inn veffang stiklunnar!',validateHSpace:'HSpace must be a number.',validateVSpace:'VSpace must be a number.'},spellCheck:{toolbar:'Villuleit',title:'Spell Check',notAvailable:'Sorry, but service is unavailable now.',errorLoading:'Error loading application service host: %s.',notInDic:'Ekki í orðabókinni',changeTo:'Tillaga',btnIgnore:'Hunsa',btnIgnoreAll:'Hunsa allt',btnReplace:'Skipta',btnReplaceAll:'Skipta öllu',btnUndo:'Til baka',noSuggestions:'- engar tillögur -',progress:'Villuleit í gangi...',noMispell:'Villuleit lokið: Engin villa fannst',noChanges:'Villuleit lokið: Engu orði breytt',oneChange:'Villuleit lokið: Einu orði breytt',manyChanges:'Villuleit lokið: %1 orðum breytt',ieSpellDownload:'Villuleit ekki sett upp.<br>Viltu setja hana upp?'},smiley:{toolbar:'Svipur',title:'Velja svip',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 element'},numberedlist:'Númeraður listi',bulletedlist:'Punktalisti',indent:'Minnka inndrátt',outdent:'Auka inndrátt',justify:{left:'Vinstrijöfnun',center:'Miðja texta',right:'Hægrijöfnun',block:'Jafna báðum megin'},blockquote:'Inndráttur',clipboard:{title:'Líma',cutError:'Öryggisstillingar vafrans þíns leyfa ekki klippingu texta með músaraðgerð. Notaðu lyklaborðið í klippa (Ctrl/Cmd+X).',copyError:'Öryggisstillingar vafrans þíns leyfa ekki afritun texta með músaraðgerð. Notaðu lyklaborðið í afrita (Ctrl/Cmd+C).',pasteMsg:'Límdu í svæðið hér að neðan og (<STRONG>Ctrl/Cmd+V</STRONG>) og smelltu á <STRONG>OK</STRONG>.',securityMsg:'Vegna öryggisstillinga í vafranum þínum fær ritillinn ekki beinan aðgang að klippuborðinu. Þú verður að líma innihaldið aftur inn í þennan glugga.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'Líma úr Word',title:'Líma úr Word',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'Líma sem ósniðinn texta',title:'Líma sem ósniðinn texta'},templates:{button:'Sniðmát',title:'Innihaldssniðmát',options:'Template Options',insertOption:'Skipta út raunverulegu innihaldi',selectPromptMsg:'Veldu sniðmát til að opna í ritlinum.<br>(Núverandi innihald víkur fyrir því!):',emptyListMsg:'(Ekkert sniðmát er skilgreint!)'},showBlocks:'Sýna blokkir',stylesCombo:{label:'Stílflokkur',panelTitle:'Formatting Styles',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'Stílsnið',panelTitle:'Stílsnið',tag_p:'Venjulegt letur',tag_pre:'Forsniðið',tag_address:'Vistfang',tag_h1:'Fyrirsögn 1',tag_h2:'Fyrirsögn 2',tag_h3:'Fyrirsögn 3',tag_h4:'Fyrirsögn 4',tag_h5:'Fyrirsögn 5',tag_h6:'Fyrirsögn 6',tag_div:'Venjulegt (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'Leturgerð ',voiceLabel:'Font',panelTitle:'Leturgerð '},fontSize:{label:'Leturstærð ',voiceLabel:'Font Size',panelTitle:'Leturstærð '},colorButton:{textColorTitle:'Litur texta',bgColorTitle:'Bakgrunnslitur',panelTitle:'Colors',auto:'Sjálfval',more:'Fleiri liti...'},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'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Options',langs:'Languages',moreSuggestions:'More suggestions',ignore:'Ignore',ignoreAll:'Ignore All',addWord:'Add Word',emptyDic:'Dictionary name should not be empty.',noSuggestions:'engar tillögur',optionsTab:'Options',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Languages',dictionariesTab:'Dictionaries',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'About'},about:{title:'About CKEditor',dlgTitle:'About CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'For licensing information please visit our web site:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Maximize',minimize:'Minimize',fakeobjects:{anchor:'Anchor',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Unknown Object'},resize:'Drag to resize',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'Eigindi skjals',title:'Eigindi skjals',design:'Design',meta:'Lýsigögn',chooseColor:'Choose',other:'<annar>',docTitle:'Titill síðu',charset:'Letursett',charsetOther:'Annað letursett',charsetASCII:'ASCII',charsetCE:'Mið-evrópskt',charsetCT:'Kínverskt, hefðbundið (Big5)',charsetCR:'Kýrilskt',charsetGR:'Grískt',charsetJP:'Japanskt',charsetKR:'Kóreskt',charsetTR:'Tyrkneskt',charsetUN:'Unicode (UTF-8)',charsetWE:'Vestur-evrópst',docType:'Flokkur skjalategunda',docTypeOther:'Annar flokkur skjalategunda',xhtmlDec:'Fella inn XHTML lýsingu',bgColor:'Bakgrunnslitur',bgImage:'Slóð bakgrunnsmyndar',bgFixed:'Læstur bakgrunnur',txtColor:'Litur texta',margin:'Hliðarspássía',marginTop:'Efst',marginLeft:'Vinstri',marginRight:'Hægri',marginBottom:'Neðst',metaKeywords:'Lykilorð efnisorðaskrár (aðgreind með kommum)',metaDescription:'Lýsing skjals',metaAuthor:'Höfundur',metaCopyright:'Höfundarréttur',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/it.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/it.js
deleted file mode 100644
index 1d2064d..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/it.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.it={dir:'ltr',editorTitle:'Editor di testo Rich Text, %1',editorHelp:'Premi ALT 0 per aiuto',toolbars:'Editor toolbar',editor:'Rich Text Editor',source:'Codice Sorgente',newPage:'Nuova pagina vuota',save:'Salva',preview:'Anteprima',cut:'Taglia',copy:'Copia',paste:'Incolla',print:'Stampa',underline:'Sottolineato',bold:'Grassetto',italic:'Corsivo',selectAll:'Seleziona tutto',removeFormat:'Elimina formattazione',strike:'Barrato',subscript:'Pedice',superscript:'Apice',horizontalrule:'Inserisci riga orizzontale',pagebreak:'Inserisci interruzione di pagina',pagebreakAlt:'Interruzione di pagina',unlink:'Elimina collegamento',undo:'Annulla',redo:'Ripristina',common:{browseServer:'Cerca sul server',url:'URL',protocol:'Protocollo',upload:'Carica',uploadSubmit:'Invia al server',image:'Immagine',flash:'Oggetto Flash',form:'Modulo',checkbox:'Checkbox',radio:'Radio Button',textField:'Campo di testo',textarea:'Area di testo',hiddenField:'Campo nascosto',button:'Bottone',select:'Menu di selezione',imageButton:'Bottone immagine',notSet:'<non impostato>',id:'Id',name:'Nome',langDir:'Direzione scrittura',langDirLtr:'Da Sinistra a Destra (LTR)',langDirRtl:'Da Destra a Sinistra (RTL)',langCode:'Codice Lingua',longDescr:'URL descrizione estesa',cssClass:'Nome classe CSS',advisoryTitle:'Titolo',cssStyle:'Stile',ok:'OK',cancel:'Annulla',close:'Chiudi',preview:'Anteprima',generalTab:'Generale',advancedTab:'Avanzate',validateNumberFailed:'Il valore inserito non è un numero.',confirmNewPage:'Ogni modifica non salvata sarà persa. Sei sicuro di voler caricare una nuova pagina?',confirmCancel:'Alcune delle opzioni sono state cambiate. Sei sicuro di voler chiudere la finestra di dialogo?',options:'Opzioni',target:'Destinazione',targetNew:'Nuova finestra (_blank)',targetTop:'Finestra in primo piano (_top)',targetSelf:'Stessa finestra (_self)',targetParent:'Finestra Padre (_parent)',langDirLTR:'Da sinistra a destra (LTR)',langDirRTL:'Da destra a sinistra (RTL)',styles:'Stile',cssClasses:'Classi di stile',width:'Larghezza',height:'Altezza',align:'Allineamento',alignLeft:'Sinistra',alignRight:'Destra',alignCenter:'Centrato',alignTop:'In Alto',alignMiddle:'Centrato',alignBottom:'In Basso',invalidValue:'Valore non valido.',invalidHeight:"L'altezza dev'essere un numero",invalidWidth:"La Larghezza dev'essere un numero",invalidCssLength:'Il valore indicato per il campo "%1" deve essere un numero positivo con o senza indicazione di una valida unità di misura per le classi CSS (px, %, in, cm, mm, em, ex, pt, o pc).',invalidHtmlLength:'Il valore indicato per il campo "%1" deve essere un numero positivo con o senza indicazione di una valida unità di misura per le pagine HTML (px o %).',invalidInlineStyle:'Il valore specificato per lo stile inline deve consistere in una o più tuple con il formato di "name : value", separati da semicolonne.',cssLengthTooltip:'Inserisci un numero per il valore in pixel oppure un numero con una valida unità CSS (px, %, in, cm, mm, ex, pt, o pc).',unavailable:'%1<span class="cke_accessibility">, non disponibile</span>'},contextmenu:{options:'Opzioni del menù contestuale'},specialChar:{toolbar:'Inserisci carattere speciale',title:'Seleziona carattere speciale',options:'Opzioni carattere speciale'},link:{toolbar:'Inserisci/Modifica collegamento',other:'<altro>',menu:'Modifica collegamento',title:'Collegamento',info:'Informazioni collegamento',target:'Destinazione',upload:'Carica',advanced:'Avanzate',type:'Tipo di Collegamento',toUrl:'URL',toAnchor:'Ancora nella pagina',toEmail:'E-Mail',targetFrame:'<riquadro>',targetPopup:'<finestra popup>',targetFrameName:'Nome del riquadro di destinazione',targetPopupName:'Nome finestra popup',popupFeatures:'Caratteristiche finestra popup',popupResizable:'Ridimensionabile',popupStatusBar:'Barra di stato',popupLocationBar:'Barra degli indirizzi',popupToolbar:'Barra degli strumenti',popupMenuBar:'Barra del menu',popupFullScreen:'A tutto schermo (IE)',popupScrollBars:'Barre di scorrimento',popupDependent:'Dipendente (Netscape)',popupLeft:'Posizione da sinistra',popupTop:"Posizione dall'alto",id:'Id',langDir:'Direzione scrittura',langDirLTR:'Da Sinistra a Destra (LTR)',langDirRTL:'Da Destra a Sinistra (RTL)',acccessKey:'Scorciatoia<br />da tastiera',name:'Nome',langCode:'Direzione scrittura',tabIndex:'Ordine di tabulazione',advisoryTitle:'Titolo',advisoryContentType:'Tipo della risorsa collegata',cssClasses:'Nome classe CSS',charset:'Set di caretteri della risorsa collegata',styles:'Stile',rel:'Relazioni',selectAnchor:'Scegli Ancora',anchorName:'Per Nome',anchorId:'Per id elemento',emailAddress:'Indirizzo E-Mail',emailSubject:'Oggetto del messaggio',emailBody:'Corpo del messaggio',noAnchors:'(Nessuna ancora disponibile nel documento)',noUrl:"Devi inserire l'URL del collegamento",noEmail:"Devi inserire un'indirizzo e-mail"},anchor:{toolbar:'Inserisci/Modifica Ancora',menu:'Proprietà ancora',title:'Proprietà ancora',name:'Nome ancora',errorName:"Inserici il nome dell'ancora",remove:"Rimuovi l'ancora"},list:{numberedTitle:'Proprietà liste numerate',bulletedTitle:'Proprietà liste puntate',type:'Tipo',start:'Inizio',validateStartNumber:'Il numero di inizio di una lista numerata deve essere un numero intero.',circle:'Cerchio',disc:'Disco',square:'Quadrato',none:'Nessuno',notset:'<non impostato>',armenian:'Numerazione Armena',georgian:'Numerazione Georgiana (an, ban, gan, ecc.)',lowerRoman:'Numerazione Romana minuscola (i, ii, iii, iv, v, ecc.)',upperRoman:'Numerazione Romana maiuscola (I, II, III, IV, V, ecc.)',lowerAlpha:'Alfabetico minuscolo (a, b, c, d, e, ecc.)',upperAlpha:'Alfabetico maiuscolo (A, B, C, D, E, ecc.)',lowerGreek:'Greco minuscolo (alpha, beta, gamma, ecc.)',decimal:'Decimale (1, 2, 3, ecc.)',decimalLeadingZero:'Decimale preceduto da 0 (01, 02, 03, ecc.)'},findAndReplace:{title:'Cerca e Sostituisci',find:'Trova',replace:'Sostituisci',findWhat:'Trova:',replaceWith:'Sostituisci con:',notFoundMsg:"L'elemento cercato non è stato trovato.",findOptions:'Opzioni di ricerca',matchCase:'Maiuscole/minuscole',matchWord:'Solo parole intere',matchCyclic:'Ricerca ciclica',replaceAll:'Sostituisci tutto',replaceSuccessMsg:'%1 occorrenza(e) sostituite.'},table:{toolbar:'Tabella',title:'Proprietà tabella',menu:'Proprietà tabella',deleteTable:'Cancella Tabella',rows:'Righe',columns:'Colonne',border:'Dimensione bordo',widthPx:'pixel',widthPc:'percento',widthUnit:'unità larghezza',cellSpace:'Spaziatura celle',cellPad:'Padding celle',caption:'Intestazione',summary:'Indice',headers:'Intestazione',headersNone:'Nessuna',headersColumn:'Prima Colonna',headersRow:'Prima Riga',headersBoth:'Entrambe',invalidRows:"Il numero di righe dev'essere un numero maggiore di 0.",invalidCols:"Il numero di colonne dev'essere un numero maggiore di 0.",invalidBorder:"La dimensione del bordo dev'essere un numero.",invalidWidth:"La larghezza della tabella dev'essere un numero.",invalidHeight:"L'altezza della tabella dev'essere un numero.",invalidCellSpacing:"La spaziatura tra le celle dev'essere un numero.",invalidCellPadding:"Il paging delle celle dev'essere un numero",cell:{menu:'Cella',insertBefore:'Inserisci Cella Prima',insertAfter:'Inserisci Cella Dopo',deleteCell:'Elimina celle',merge:'Unisce celle',mergeRight:'Unisci a Destra',mergeDown:'Unisci in Basso',splitHorizontal:'Dividi Cella Orizzontalmente',splitVertical:'Dividi Cella Verticalmente',title:'Proprietà della cella',cellType:'Tipo di cella',rowSpan:'Su più righe',colSpan:'Su più colonne',wordWrap:'Ritorno a capo',hAlign:'Allineamento orizzontale',vAlign:'Allineamento verticale',alignBaseline:'Linea Base',bgColor:'Colore di Sfondo',borderColor:'Colore del Bordo',data:'Dati',header:'Intestazione',yes:'Si',no:'No',invalidWidth:"La larghezza della cella dev'essere un numero.",invalidHeight:"L'altezza della cella dev'essere un numero.",invalidRowSpan:"Il numero di righe dev'essere un numero intero.",invalidColSpan:"Il numero di colonne dev'essere un numero intero.",chooseColor:'Scegli'},row:{menu:'Riga',insertBefore:'Inserisci Riga Prima',insertAfter:'Inserisci Riga Dopo',deleteRow:'Elimina righe'},column:{menu:'Colonna',insertBefore:'Inserisci Colonna Prima',insertAfter:'Inserisci Colonna Dopo',deleteColumn:'Elimina colonne'}},button:{title:'Proprietà bottone',text:'Testo (Valore)',type:'Tipo',typeBtn:'Bottone',typeSbm:'Invio',typeRst:'Annulla'},checkboxAndRadio:{checkboxTitle:'Proprietà checkbox',radioTitle:'Proprietà radio button',value:'Valore',selected:'Selezionato'},form:{title:'Proprietà modulo',menu:'Proprietà modulo',action:'Azione',method:'Metodo',encoding:'Codifica'},select:{title:'Proprietà menu di selezione',selectInfo:'Info',opAvail:'Opzioni disponibili',value:'Valore',size:'Dimensione',lines:'righe',chkMulti:'Permetti selezione multipla',opText:'Testo',opValue:'Valore',btnAdd:'Aggiungi',btnModify:'Modifica',btnUp:'Su',btnDown:'Gi',btnSetValue:'Imposta come predefinito',btnDelete:'Rimuovi'},textarea:{title:'Proprietà area di testo',cols:'Colonne',rows:'Righe'},textfield:{title:'Proprietà campo di testo',name:'Nome',value:'Valore',charWidth:'Larghezza',maxChars:'Numero massimo di caratteri',type:'Tipo',typeText:'Testo',typePass:'Password'},hidden:{title:'Proprietà campo nascosto',name:'Nome',value:'Valore'},image:{title:'Proprietà immagine',titleButton:'Proprietà bottone immagine',menu:'Proprietà immagine',infoTab:'Informazioni immagine',btnUpload:'Invia al server',upload:'Carica',alt:'Testo alternativo',lockRatio:'Blocca rapporto',resetSize:'Reimposta dimensione',border:'Bordo',hSpace:'HSpace',vSpace:'VSpace',alertUrl:"Devi inserire l'URL per l'immagine",linkTab:'Collegamento',button2Img:"Vuoi trasformare il bottone immagine selezionato in un'immagine semplice?",img2Button:"Vuoi trasferomare l'immagine selezionata in un bottone immagine?",urlMissing:"Manca l'URL dell'immagine.",validateBorder:'Il campo Bordo deve essere un numero intero.',validateHSpace:'Il campo HSpace deve essere un numero intero.',validateVSpace:'Il campo VSpace deve essere un numero intero.'},flash:{properties:'Proprietà Oggetto Flash',propertiesTab:'Proprietà',title:'Proprietà Oggetto Flash',chkPlay:'Avvio Automatico',chkLoop:'Riavvio automatico',chkMenu:'Abilita Menu di Flash',chkFull:'Permetti la modalità tutto schermo',scale:'Ridimensiona',scaleAll:'Mostra Tutto',scaleNoBorder:'Senza Bordo',scaleFit:'Dimensione Esatta',access:'Accesso Script',accessAlways:'Sempre',accessSameDomain:'Solo stesso dominio',accessNever:'Mai',alignAbsBottom:'In basso assoluto',alignAbsMiddle:'Centrato assoluto',alignBaseline:'Linea base',alignTextTop:'In alto al testo',quality:'Qualità',qualityBest:'Massima',qualityHigh:'Alta',qualityAutoHigh:'Alta Automatica',qualityMedium:'Intermedia',qualityAutoLow:'Bassa Automatica',qualityLow:'Bassa',windowModeWindow:'Finestra',windowModeOpaque:'Opaca',windowModeTransparent:'Trasparente',windowMode:'Modalità finestra',flashvars:'Variabili per Flash',bgcolor:'Colore sfondo',hSpace:'HSpace',vSpace:'VSpace',validateSrc:"Devi inserire l'URL del collegamento",validateHSpace:"L'HSpace dev'essere un numero.",validateVSpace:"Il VSpace dev'essere un numero."},spellCheck:{toolbar:'Correttore ortografico',title:'Controllo ortografico',notAvailable:'Il servizio non è momentaneamente disponibile.',errorLoading:"Errore nel caricamento dell'host col servizio applicativo: %s.",notInDic:'Non nel dizionario',changeTo:'Cambia in',btnIgnore:'Ignora',btnIgnoreAll:'Ignora tutto',btnReplace:'Cambia',btnReplaceAll:'Cambia tutto',btnUndo:'Annulla',noSuggestions:'- Nessun suggerimento -',progress:'Controllo ortografico in corso',noMispell:'Controllo ortografico completato: nessun errore trovato',noChanges:'Controllo ortografico completato: nessuna parola cambiata',oneChange:'Controllo ortografico completato: 1 parola cambiata',manyChanges:'Controllo ortografico completato: %1 parole cambiate',ieSpellDownload:'Contollo ortografico non installato. Lo vuoi scaricare ora?'},smiley:{toolbar:'Emoticon',title:'Inserisci emoticon',options:'Opzioni Smiley'},elementsPath:{eleLabel:'Percorso degli elementi',eleTitle:'%1 elemento'},numberedlist:'Elenco numerato',bulletedlist:'Elenco puntato',indent:'Aumenta rientro',outdent:'Riduci rientro',justify:{left:'Allinea a sinistra',center:'Centra',right:'Allinea a destra',block:'Giustifica'},blockquote:'Citazione',clipboard:{title:'Incolla',cutError:'Le impostazioni di sicurezza del browser non permettono di tagliare automaticamente il testo. Usa la tastiera (Ctrl/Cmd+X).',copyError:'Le impostazioni di sicurezza del browser non permettono di copiare automaticamente il testo. Usa la tastiera (Ctrl/Cmd+C).',pasteMsg:"Incolla il testo all'interno dell'area sottostante usando la scorciatoia di tastiere (<STRONG>Ctrl/Cmd+V</STRONG>) e premi <STRONG>OK</STRONG>.",securityMsg:"A causa delle impostazioni di sicurezza del browser,l'editor non è in grado di accedere direttamente agli appunti. E' pertanto necessario incollarli di nuovo in questa finestra.",pasteArea:'Incolla'},pastefromword:{confirmCleanup:'Il testo da incollare sembra provenire da Word. Desideri pulirlo prima di incollare?',toolbar:'Incolla da Word',title:'Incolla da Word',error:'Non è stato possibile eliminarre il testo incollato a causa di un errore interno.'},pasteText:{button:'Incolla come testo semplice',title:'Incolla come testo semplice'},templates:{button:'Modelli',title:'Contenuto dei modelli',options:'Opzioni del Modello',insertOption:'Cancella il contenuto corrente',selectPromptMsg:"Seleziona il modello da aprire nell'editor<br />(il contenuto attuale verrà eliminato):",emptyListMsg:'(Nessun modello definito)'},showBlocks:'Visualizza Blocchi',stylesCombo:{label:'Stile',panelTitle:'Stili di formattazione',panelTitle1:'Stili per blocchi',panelTitle2:'Stili in linea',panelTitle3:'Stili per oggetti'},format:{label:'Formato',panelTitle:'Formato',tag_p:'Normale',tag_pre:'Formattato',tag_address:'Indirizzo',tag_h1:'Titolo 1',tag_h2:'Titolo 2',tag_h3:'Titolo 3',tag_h4:'Titolo 4',tag_h5:'Titolo 5',tag_h6:'Titolo 6',tag_div:'Paragrafo (DIV)'},div:{title:'Crea DIV contenitore',toolbar:'Crea DIV contenitore',cssClassInputLabel:'Classi di stile',styleSelectLabel:'Stile',IdInputLabel:'Id',languageCodeInputLabel:'Codice lingua',inlineStyleInputLabel:'Stile Inline',advisoryTitleInputLabel:'Titolo Avviso',langDirLabel:'Direzione di scrittura',langDirLTRLabel:'Da sinistra a destra (LTR)',langDirRTLLabel:'Da destra a sinistra (RTL)',edit:'Modifica DIV',remove:'Rimuovi DIV'},iframe:{title:'Proprietà IFrame',toolbar:'IFrame',noUrl:"Inserire l'URL del campo IFrame",scrolling:'Abilita scrollbar',border:'Mostra il bordo'},font:{label:'Carattere',voiceLabel:'Carattere',panelTitle:'Carattere'},fontSize:{label:'Dimensione',voiceLabel:'Dimensione Carattere',panelTitle:'Dimensione'},colorButton:{textColorTitle:'Colore testo',bgColorTitle:'Colore sfondo',panelTitle:'Colori',auto:'Automatico',more:'Altri colori...'},colors:{'000':'Nero',800000:'Marrone Castagna','8B4513':'Marrone Cuoio','2F4F4F':'Grigio Fumo di Londra','008080':'Acquamarina','000080':'Blu Oceano','4B0082':'Indigo',696969:'Grigio Scuro',B22222:'Giallo Fiamma',A52A2A:'Marrone',DAA520:'Giallo Mimosa','006400':'Verde Scuro','40E0D0':'Turchese','0000CD':'Blue Scuro',800080:'Viola',808080:'Grigio',F00:'Rosso',FF8C00:'Arancio Scuro',FFD700:'Oro','008000':'Verde','0FF':'Ciano','00F':'Blu',EE82EE:'Violetto',A9A9A9:'Grigio Scuro',FFA07A:'Salmone',FFA500:'Arancio',FFFF00:'Giallo','00FF00':'Lime',AFEEEE:'Turchese Chiaro',ADD8E6:'Blu Chiaro',DDA0DD:'Rosso Ciliegia',D3D3D3:'Grigio Chiaro',FFF0F5:'Lavanda Chiara',FAEBD7:'Bianco Antico',FFFFE0:'Giallo Chiaro',F0FFF0:'Verde Mela',F0FFFF:'Azzurro',F0F8FF:'Celeste',E6E6FA:'Lavanda',FFF:'Bianco'},scayt:{title:'Controllo Ortografico Mentre Scrivi',opera_title:'Non supportato da Opera',enable:'Abilita COMS',disable:'Disabilita COMS',about:'About COMS',toggle:'Inverti abilitazione SCOMS',options:'Opzioni',langs:'Lingue',moreSuggestions:'Altri suggerimenti',ignore:'Ignora',ignoreAll:'Ignora tutti',addWord:'Aggiungi Parola',emptyDic:'Il nome del dizionario non può essere vuoto.',noSuggestions:'Nessun suggerimento',optionsTab:'Opzioni',allCaps:'Ignora Parole in maiuscolo',ignoreDomainNames:'Ignora nomi di dominio',mixedCase:'Ignora parole con maiuscole e minuscole',mixedWithDigits:'Ignora parole con numeri',languagesTab:'Lingue',dictionariesTab:'Dizionari',dic_field_name:'Nome del dizionario',dic_create:'Crea',dic_restore:'Ripristina',dic_delete:'Cancella',dic_rename:'Rinomina',dic_info:'Inizialmente il dizionario utente è memorizzato in un Cookie. I Cookie però hanno una dimensioni massima limitata. Quando il dizionario utente creasce a tal punto da non poter più essere memorizzato in un Cookie, allora il dizionario può essere memorizzato sul nostro server. Per memorizzare il proprio dizionario personale sul nostro server, è necessario specificare un nome per il proprio dizionario. Se avete già memorizzato un dizionario, inserite il nome che gli avete dato e premete il pulsante Ripristina.',aboutTab:'Info'},about:{title:'Riguardo CKEditor',dlgTitle:'Riguardo CKEditor',help:"Vedi $1 per l'aiuto.",userGuide:'Guida Utente CKEditor',moreInfo:'Per le informazioni sulla licenza si prega di visitare il nostro sito:',copy:'Copyright &copy; $1. Tutti i diritti riservati.'},maximize:'Massimizza',minimize:'Minimizza',fakeobjects:{anchor:'Ancora',flash:'Animazione Flash',iframe:'IFrame',hiddenfield:'Campo Nascosto',unknown:'Oggetto sconosciuto'},resize:'Trascina per ridimensionare',colordialog:{title:'Selezionare il colore',options:'Opzioni colore',highlight:'Evidenzia',selected:'Seleziona il colore',clear:'cancella'},toolbarCollapse:'Minimizza Toolbar',toolbarExpand:'Espandi Toolbar',toolbarGroups:{document:'Documento',clipboard:'Copia negli appunti/Indietro',editing:'Modifica',forms:'Form',basicstyles:'Stili di base',paragraph:'Paragrafo',links:'Link',insert:'Inserisci',styles:'Stili',colors:'Colori',tools:'Strumenti'},bidi:{ltr:'Direzione del testo da sinistra verso destra',rtl:'Direzione del testo da destra verso sinistra'},docprops:{label:'Proprietà del Documento',title:'Proprietà del Documento',design:'Disegna',meta:'Meta Data',chooseColor:'Scegli',other:'<altro>',docTitle:'Titolo pagina',charset:'Set di caretteri',charsetOther:'Altro set di caretteri',charsetASCII:'ASCII',charsetCE:'Europa Centrale',charsetCT:'Cinese Tradizionale (Big5)',charsetCR:'Cirillico',charsetGR:'Greco',charsetJP:'Giapponese',charsetKR:'Coreano',charsetTR:'Turco',charsetUN:'Unicode (UTF-8)',charsetWE:'Europa Occidentale',docType:'Intestazione DocType',docTypeOther:'Altra intestazione DocType',xhtmlDec:'Includi dichiarazione XHTML',bgColor:'Colore di sfondo',bgImage:'Immagine di sfondo',bgFixed:'Sfondo fissato',txtColor:'Colore testo',margin:'Margini',marginTop:'In Alto',marginLeft:'A Sinistra',marginRight:'A Destra',marginBottom:'In Basso',metaKeywords:'Chiavi di indicizzazione documento (separate da virgola)',metaDescription:'Descrizione documento',metaAuthor:'Autore',metaCopyright:'Copyright',previewHtml:'<p>Questo è un <strong>testo di esempio</strong>. State usando <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/ja.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/ja.js
deleted file mode 100644
index 9f5f253..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/ja.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.ja={dir:'ltr',editorTitle:'リッãƒãƒ†ã‚­ã‚¹ãƒˆã‚¨ãƒ‡ã‚£ã‚¿, %1',editorHelp:'ヘルプ㯠ALT 0 を押ã—ã¦ãã ã•ã„',toolbars:'Editor toolbars',editor:'リッãƒãƒ†ã‚­ã‚¹ãƒˆã‚¨ãƒ‡ã‚£ã‚¿',source:'ソース',newPage:'æ–°ã—ã„ページ',save:'ä¿å­˜',preview:'プレビュー',cut:'切りå–ã‚Š',copy:'コピー',paste:'貼り付ã‘',print:'å°åˆ·',underline:'下線',bold:'太字',italic:'斜体',selectAll:'ã™ã¹ã¦é¸æŠž',removeFormat:'フォーマット削除',strike:'打ã¡æ¶ˆã—ç·š',subscript:'æ·»ãˆå­—',superscript:'上付ã文字',horizontalrule:'横罫線',pagebreak:'改ページ挿入',pagebreakAlt:'Page Break',unlink:'リンク削除',undo:'å…ƒã«æˆ»ã™',redo:'ã‚„ã‚Šç›´ã—',common:{browseServer:'サーãƒãƒ¼ãƒ–ラウザー',url:'URL',protocol:'プロトコル',upload:'アップロード',uploadSubmit:'サーãƒãƒ¼ã«é€ä¿¡',image:'イメージ',flash:'Flash',form:'フォーム',checkbox:'ãƒã‚§ãƒƒã‚¯ãƒœãƒƒã‚¯ã‚¹',radio:'ラジオボタン',textField:'1行テキスト',textarea:'テキストエリア',hiddenField:'ä¸å¯è¦–フィールド',button:'ボタン',select:'é¸æŠžãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰',imageButton:'ç”»åƒãƒœã‚¿ãƒ³',notSet:'<ãªã—>',id:'Id',name:'Name属性',langDir:'文字表記ã®æ–¹å‘',langDirLtr:'å·¦ã‹ã‚‰å³ (LTR)',langDirRtl:'å³ã‹ã‚‰å·¦ (RTL)',langCode:'言語コード',longDescr:'longdesc属性(長文説明)',cssClass:'スタイルシートクラス',advisoryTitle:'Title属性',cssStyle:'スタイルシート',ok:'OK',cancel:'キャンセル',close:'é–‰ã˜ã‚‹',preview:'プレビュー',generalTab:'全般',advancedTab:'高度ãªè¨­å®š',validateNumberFailed:'値ãŒæ•°ã§ã¯ã‚ã‚Šã¾ã›ã‚“',confirmNewPage:'変更内容をä¿å­˜ã›ãšã€ æ–°ã—ã„ページを開ã„ã¦ã‚‚よã‚ã—ã„ã§ã—ょã†ã‹ï¼Ÿ',confirmCancel:'オプション設定を変更ã—ã¾ã—ãŸã€‚ダイアログを閉ã˜ã¦ã‚‚よã‚ã—ã„ã§ã—ょã†ã‹ï¼Ÿ',options:'オプション',target:'ターゲット',targetNew:'æ–°ã—ã„ウィンドウ (_空白)',targetTop:'最上部ウィンドウ (_トップ)',targetSelf:'åŒã˜ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ (_åŒä¸€)',targetParent:'親ウィンドウ (_親)',langDirLTR:'å·¦ã‹ã‚‰å³ (LTR)',langDirRTL:'å³ã‹ã‚‰å·¦ (RTL)',styles:'スタイル',cssClasses:'スタイルシートクラス',width:'å¹…',height:'高ã•',align:'è¡Œæƒãˆ',alignLeft:'å·¦',alignRight:'å³',alignCenter:'中央',alignTop:'上',alignMiddle:'中央',alignBottom:'下',invalidValue:'Invalid value.',invalidHeight:'高ã•ã¯æ•°å€¤ã§å…¥åŠ›ã—ã¦ãã ã•ã„。',invalidWidth:'å¹…ã¯æ•°å€¤ã§å…¥åŠ›ã—ã¦ãã ã•ã„。',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, 利用ä¸å¯èƒ½</span>'},contextmenu:{options:'コンテキストメニューオプション'},specialChar:{toolbar:'特殊文字挿入',title:'特殊文字é¸æŠž',options:'特殊文字オプション'},link:{toolbar:'リンク挿入/編集',other:'<ãã®ä»–ã®>',menu:'リンク編集',title:'ãƒã‚¤ãƒ‘ーリンク',info:'ãƒã‚¤ãƒ‘ーリンク 情報',target:'ターゲット',upload:'アップロード',advanced:'高度ãªè¨­å®š',type:'リンクタイプ',toUrl:'URL',toAnchor:'ã“ã®ãƒšãƒ¼ã‚¸ã®ã‚¢ãƒ³ã‚«ãƒ¼',toEmail:'E-Mail',targetFrame:'<フレーム>',targetPopup:'<ãƒãƒƒãƒ—アップウィンドウ>',targetFrameName:'目的ã®ãƒ•ãƒ¬ãƒ¼ãƒ å',targetPopupName:'ãƒãƒƒãƒ—アップウィンドウå',popupFeatures:'ãƒãƒƒãƒ—アップウィンドウ特徴',popupResizable:'サイズå¯å¤‰',popupStatusBar:'ステータスãƒãƒ¼',popupLocationBar:'ロケーションãƒãƒ¼',popupToolbar:'ツールãƒãƒ¼',popupMenuBar:'メニューãƒãƒ¼',popupFullScreen:'全画é¢ãƒ¢ãƒ¼ãƒ‰(IE)',popupScrollBars:'スクロールãƒãƒ¼',popupDependent:'é–‹ã„ãŸã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã«é€£å‹•ã—ã¦é–‰ã˜ã‚‹ (Netscape)',popupLeft:'左端ã‹ã‚‰ã®åº§æ¨™ã§æŒ‡å®š',popupTop:'上端ã‹ã‚‰ã®åº§æ¨™ã§æŒ‡å®š',id:'Id',langDir:'文字表記ã®æ–¹å‘',langDirLTR:'å·¦ã‹ã‚‰å³ (LTR)',langDirRTL:'å³ã‹ã‚‰å·¦ (RTL)',acccessKey:'アクセスキー',name:'Name属性',langCode:'言語コード',tabIndex:'タブインデックス',advisoryTitle:'Title属性',advisoryContentType:'Content Type属性',cssClasses:'スタイルシートクラス',charset:'リンクcharset属性',styles:'スタイルシート',rel:'Relationship',selectAnchor:'アンカーをé¸æŠž',anchorName:'アンカーå',anchorId:'エレメントID',emailAddress:'E-Mail アドレス',emailSubject:'件å',emailBody:'本文',noAnchors:'(ドキュメントã«ãŠã„ã¦åˆ©ç”¨å¯èƒ½ãªã‚¢ãƒ³ã‚«ãƒ¼ã¯ã‚ã‚Šã¾ã›ã‚“。)',noUrl:'リンクURLを入力ã—ã¦ãã ã•ã„。',noEmail:'メールアドレスを入力ã—ã¦ãã ã•ã„。'},anchor:{toolbar:'アンカー挿入/編集',menu:'アンカー プロパティ',title:'アンカー プロパティ',name:'アンカーå',errorName:'アンカーåã‚’å¿…ãšå…¥åŠ›ã—ã¦ãã ã•ã„。',remove:'Remove Anchor'},list:{numberedTitle:'段è½ç•ªå· プロパティ',bulletedTitle:'箇æ¡æ›¸ã プロパティ',type:'タイプ',start:'開始',validateStartNumber:'リスト開始番å·ã¯æ•°å€¤ã§å…¥åŠ›ã—ã¦ãã ã•ã„。',circle:'白丸',disc:'黒丸',square:'四角',none:'ãªã—',notset:'<ãªã—>',armenian:'アルメニア数字',georgian:'グルジア数字 (an, ban, gan, etc.)',lowerRoman:'å°æ–‡å­—ローマ数字 (i, ii, iii, iv, v, etc.)',upperRoman:'大文字ローマ数字 (I, II, III, IV, V, etc.)',lowerAlpha:'å°æ–‡å­—アルファベット (a, b, c, d, e, etc.)',upperAlpha:'大文字アルファベット (A, B, C, D, E, etc.)',lowerGreek:'å°æ–‡å­—ギリシャ文字 (alpha, beta, gamma, etc.)',decimal:'æ•°å­— (1, 2, 3, etc.)',decimalLeadingZero:'上ä½æ¡ã«0ã‚’ã¤ã‘ãŸæ•°å­— (01, 02, 03, etc.)'},findAndReplace:{title:'検索ã—ã¦ç½®æ›',find:'検索',replace:'ç½®ãæ›ãˆ',findWhat:'検索ã™ã‚‹æ–‡å­—列:',replaceWith:'ç½®æ›ãˆã™ã‚‹æ–‡å­—列:',notFoundMsg:'指定ã•ã‚ŒãŸæ–‡å­—列ã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚',findOptions:'Find Options',matchCase:'大文字ã¨å°æ–‡å­—を区別ã™ã‚‹',matchWord:'å˜èªžå˜ä½ã§æŽ¢ã™',matchCyclic:'一周ã™ã‚‹',replaceAll:'ã™ã¹ã¦ç½®æ›ãˆ',replaceSuccessMsg:'%1 個置æ›ã—ã¾ã—ãŸã€‚'},table:{toolbar:'テーブル',title:'テーブル プロパティ',menu:'テーブル プロパティ',deleteTable:'テーブル削除',rows:'è¡Œ',columns:'列',border:'ボーダーサイズ',widthPx:'ピクセル',widthPc:'パーセント',widthUnit:'ユニット',cellSpace:'セル内余白',cellPad:'セル内間隔',caption:'キャプション',summary:'テーブルã®æ¦‚è¦',headers:'テーブルヘッダ(th)',headersNone:'ãªã—',headersColumn:'åˆã‚ã®åˆ—ã®ã¿',headersRow:'åˆã‚ã®è¡Œã®ã¿',headersBoth:'両方',invalidRows:'è¡Œã¯0より大ããªæ•°å€¤ã§å…¥åŠ›ã—ã¦ãã ã•ã„。',invalidCols:'列ã¯0より大ããªæ•°å€¤ã§å…¥åŠ›ã—ã¦ãã ã•ã„。',invalidBorder:'ボーダーサイズã¯æ•°å€¤ã§å…¥åŠ›ã—ã¦ãã ã•ã„。',invalidWidth:'å¹…ã¯æ•°å€¤ã§å…¥åŠ›ã—ã¦ãã ã•ã„。',invalidHeight:'高ã•ã¯æ•°å€¤ã§å…¥åŠ›ã—ã¦ãã ã•ã„。',invalidCellSpacing:'セル内余白ã¯æ•°å€¤ã§å…¥åŠ›ã—ã¦ãã ã•ã„。',invalidCellPadding:'セル内間隔ã¯æ•°å€¤ã§å…¥åŠ›ã—ã¦ãã ã•ã„。',cell:{menu:'セル',insertBefore:'セルã®å‰ã«æŒ¿å…¥',insertAfter:'セルã®å¾Œã«æŒ¿å…¥',deleteCell:'セル削除',merge:'セルçµåˆ',mergeRight:'å³ã«çµåˆ',mergeDown:'下ã«çµåˆ',splitHorizontal:'セルを水平方å‘分割',splitVertical:'セルを垂直方å‘ã«åˆ†å‰²',title:'セルプロパティ',cellType:'セルタイプ',rowSpan:'縦幅(行数)',colSpan:'横幅(列数)',wordWrap:'折り返ã—',hAlign:'セル横ã®æ•´åˆ—',vAlign:'セル縦ã®æ•´åˆ—',alignBaseline:'ベースライン',bgColor:'背景色',borderColor:'ボーダーカラー',data:'テーブルデータ(td)',header:'テーブルヘッダ(th)',yes:'Yes',no:'No',invalidWidth:'セル幅ã¯æ•°å€¤ã§å…¥åŠ›ã—ã¦ãã ã•ã„。',invalidHeight:'セル高ã•ã¯æ•°å€¤ã§å…¥åŠ›ã—ã¦ãã ã•ã„。',invalidRowSpan:'縦幅(行数)ã¯æ•°å€¤ã§å…¥åŠ›ã—ã¦ãã ã•ã„。',invalidColSpan:'横幅(列数)ã¯æ•°å€¤ã§å…¥åŠ›ã—ã¦ãã ã•ã„。',chooseColor:'色ã®é¸æŠž'},row:{menu:'è¡Œ',insertBefore:'è¡Œã®å‰ã«æŒ¿å…¥',insertAfter:'è¡Œã®å¾Œã«æŒ¿å…¥',deleteRow:'行削除'},column:{menu:'カラム',insertBefore:'カラムã®å‰ã«æŒ¿å…¥',insertAfter:'カラムã®å¾Œã«æŒ¿å…¥',deleteColumn:'列削除'}},button:{title:'ボタン プロパティ',text:'テキスト (値)',type:'タイプ',typeBtn:'ボタン',typeSbm:'é€ä¿¡',typeRst:'リセット'},checkboxAndRadio:{checkboxTitle:'ãƒã‚§ãƒƒã‚¯ãƒœãƒƒã‚¯ã‚¹ プロパティ',radioTitle:'ラジオボタン プロパティ',value:'値',selected:'é¸æŠžæ¸ˆã¿'},form:{title:'フォーム プロパティ',menu:'フォーム プロパティ',action:'アクション',method:'メソッド',encoding:'エンコーディング'},select:{title:'é¸æŠžãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ プロパティ',selectInfo:'情報',opAvail:'利用å¯èƒ½ãªã‚ªãƒ—ション',value:'é¸æŠžé …目値',size:'サイズ',lines:'è¡Œ',chkMulti:'複数項目é¸æŠžã‚’許å¯',opText:'é¸æŠžé …ç›®å',opValue:'値',btnAdd:'追加',btnModify:'編集',btnUp:'上ã¸',btnDown:'下ã¸',btnSetValue:'é¸æŠžã—ãŸå€¤ã‚’設定',btnDelete:'削除'},textarea:{title:'テキストエリア プロパティ',cols:'列',rows:'è¡Œ'},textfield:{title:'1行テキスト プロパティ',name:'åå‰',value:'値',charWidth:'サイズ',maxChars:'最大長',type:'タイプ',typeText:'テキスト',typePass:'パスワード入力'},hidden:{title:'ä¸å¯è¦–フィールド プロパティ',name:'åå‰',value:'値'},image:{title:'イメージ プロパティ',titleButton:'ç”»åƒãƒœã‚¿ãƒ³ プロパティ',menu:'イメージ プロパティ',infoTab:'イメージ 情報',btnUpload:'サーãƒãƒ¼ã«é€ä¿¡',upload:'アップロード',alt:'代替テキスト',lockRatio:'ロック比率',resetSize:'サイズリセット',border:'ボーダー',hSpace:'横間隔',vSpace:'縦間隔',alertUrl:'イメージã®URLを入力ã—ã¦ãã ã•ã„。',linkTab:'リンク',button2Img:'é¸æŠžã—ãŸãƒœã‚¿ãƒ³ã‚’ç”»åƒã«ç½®ãæ›ãˆã¾ã™ã‹ï¼Ÿ',img2Button:'é¸æŠžã—ãŸç”»åƒã‚’ボタンã«ç½®ãæ›ãˆã¾ã™ã‹ï¼Ÿ',urlMissing:'イメージã®URLを入力ã—ã¦ãã ã•ã„。',validateBorder:'ボーダーã¯æ•°å€¤ã§å…¥åŠ›ã—ã¦ãã ã•ã„。',validateHSpace:'横間隔ã¯æ•°å€¤ã§å…¥åŠ›ã—ã¦ãã ã•ã„。',validateVSpace:'縦間隔ã¯æ•°å€¤ã§å…¥åŠ›ã—ã¦ãã ã•ã„。'},flash:{properties:'Flash プロパティ',propertiesTab:'プロパティ',title:'Flash プロパティ',chkPlay:'å†ç”Ÿ',chkLoop:'ループå†ç”Ÿ',chkMenu:'Flashメニューå¯èƒ½',chkFull:'フルスクリーン許å¯',scale:'拡大縮å°è¨­å®š',scaleAll:'ã™ã¹ã¦è¡¨ç¤º',scaleNoBorder:'外ãŒè¦‹ãˆãªã„様ã«æ‹¡å¤§',scaleFit:'上下左å³ã«ãƒ•ã‚£ãƒƒãƒˆ',access:'スプリクトアクセス(AllowScriptAccess)',accessAlways:'ã™ã¹ã¦ã®å ´åˆã«é€šä¿¡å¯èƒ½(Always)',accessSameDomain:'åŒä¸€ãƒ‰ãƒ¡ã‚¤ãƒ³ã®ã¿ã«é€šä¿¡å¯èƒ½(Same domain)',accessNever:'ã™ã¹ã¦ã®å ´åˆã«é€šä¿¡ä¸å¯èƒ½(Never)',alignAbsBottom:'下部(絶対的)',alignAbsMiddle:'中央(絶対的)',alignBaseline:'ベースライン',alignTextTop:'テキスト上部',quality:'画質',qualityBest:'å“質優先',qualityHigh:'高',qualityAutoHigh:'自動/高',qualityMedium:'中',qualityAutoLow:'自動/低',qualityLow:'低',windowModeWindow:'標準',windowModeOpaque:'背景をä¸é€æ˜Žè¨­å®š',windowModeTransparent:'背景をé€éŽè¨­å®š',windowMode:'ウィンドウモード',flashvars:'フラッシュã«æ¸¡ã™å¤‰æ•°(FlashVars)',bgcolor:'背景色',hSpace:'横間隔',vSpace:'縦間隔',validateSrc:'リンクURLを入力ã—ã¦ãã ã•ã„。',validateHSpace:'横間隔ã¯æ•°å€¤ã§å…¥åŠ›ã—ã¦ãã ã•ã„。',validateVSpace:'縦間隔ã¯æ•°å€¤ã§å…¥åŠ›ã—ã¦ãã ã•ã„。'},spellCheck:{toolbar:'スペルãƒã‚§ãƒƒã‚¯',title:'スペルãƒã‚§ãƒƒã‚¯',notAvailable:'申ã—訳ã‚ã‚Šã¾ã›ã‚“ã€ç¾åœ¨ã‚µãƒ¼ãƒ“スを利用ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“',errorLoading:'アプリケーションサービスホスト読込ã¿ã‚¨ãƒ©ãƒ¼: %s.',notInDic:'辞書ã«ã‚ã‚Šã¾ã›ã‚“',changeTo:'変更',btnIgnore:'無視',btnIgnoreAll:'ã™ã¹ã¦ç„¡è¦–',btnReplace:'ç½®æ›',btnReplaceAll:'ã™ã¹ã¦ç½®æ›',btnUndo:'ã‚„ã‚Šç›´ã—',noSuggestions:'- 該当ãªã— -',progress:'スペルãƒã‚§ãƒƒã‚¯å‡¦ç†ä¸­...',noMispell:'スペルãƒã‚§ãƒƒã‚¯å®Œäº†: スペルã®èª¤ã‚Šã¯ã‚ã‚Šã¾ã›ã‚“ã§ã—ãŸ',noChanges:'スペルãƒã‚§ãƒƒã‚¯å®Œäº†: 語å¥ã¯å¤‰æ›´ã•ã‚Œã¾ã›ã‚“ã§ã—ãŸ',oneChange:'スペルãƒã‚§ãƒƒã‚¯å®Œäº†: 1語å¥å¤‰æ›´ã•ã‚Œã¾ã—ãŸ',manyChanges:'スペルãƒã‚§ãƒƒã‚¯å®Œäº†: %1 語å¥å¤‰æ›´ã•ã‚Œã¾ã—ãŸ',ieSpellDownload:'スペルãƒã‚§ãƒƒã‚«ãƒ¼ãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã¾ã›ã‚“。今ã™ãダウンロードã—ã¾ã™ã‹?'},smiley:{toolbar:'絵文字',title:'顔文字挿入',options:'絵文字オプション'},elementsPath:{eleLabel:'エレメントパス',eleTitle:'%1 エレメント'},numberedlist:'段è½ç•ªå·',bulletedlist:'箇æ¡æ›¸ã',indent:'インデント',outdent:'インデント解除',justify:{left:'å·¦æƒãˆ',center:'中央æƒãˆ',right:'å³æƒãˆ',block:'両端æƒãˆ'},blockquote:'ブロック引用',clipboard:{title:'貼り付ã‘',cutError:'ブラウザーã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£è¨­å®šã«ã‚ˆã‚Šã‚¨ãƒ‡ã‚£ã‚¿ã®åˆ‡ã‚Šå–ã‚Šæ“作ãŒè‡ªå‹•ã§å®Ÿè¡Œã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。実行ã™ã‚‹ã«ã¯æ‰‹å‹•ã§ã‚­ãƒ¼ãƒœãƒ¼ãƒ‰ã®(Ctrl/Cmd+X)を使用ã—ã¦ãã ã•ã„。',copyError:'ブラウザーã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£è¨­å®šã«ã‚ˆã‚Šã‚¨ãƒ‡ã‚£ã‚¿ã®ã‚³ãƒ”ーæ“作ãŒè‡ªå‹•ã§å®Ÿè¡Œã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。実行ã™ã‚‹ã«ã¯æ‰‹å‹•ã§ã‚­ãƒ¼ãƒœãƒ¼ãƒ‰ã®(Ctrl/Cmd+C)を使用ã—ã¦ãã ã•ã„。',pasteMsg:'キーボード(<STRONG>Ctrl/Cmd+V</STRONG>)を使用ã—ã¦ã€æ¬¡ã®å…¥åŠ›ã‚¨ãƒªã‚¢å†…ã§è²¼ã£ã¦ã€<STRONG>OK</STRONG>を押ã—ã¦ãã ã•ã„。',securityMsg:'ブラウザã®ã‚»ã‚­ãƒ¥ãƒªãƒ†ã‚£è¨­å®šã«ã‚ˆã‚Šã€ã‚¨ãƒ‡ã‚£ã‚¿ã¯ã‚¯ãƒªãƒƒãƒ—ボード・データã«ç›´æŽ¥ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。ã“ã®ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã¯è²¼ã‚Šä»˜ã‘æ“作を行ã†åº¦ã«è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚',pasteArea:'貼り付ã‘場所'},pastefromword:{confirmCleanup:'貼り付ã‘ã‚’è¡Œã†ãƒ†ã‚­ã‚¹ãƒˆã¯ã€ãƒ¯ãƒ¼ãƒ‰æ–‡ç« ã‹ã‚‰ã‚³ãƒ”ーã•ã‚Œã‚ˆã†ã¨ã—ã¦ã„ã¾ã™ã€‚貼り付ã‘ã‚‹å‰ã«ã‚¯ãƒªãƒ¼ãƒ‹ãƒ³ã‚°ã‚’è¡Œã„ã¾ã™ã‹ï¼Ÿ',toolbar:'ワード文章ã‹ã‚‰è²¼ã‚Šä»˜ã‘',title:'ワード文章ã‹ã‚‰è²¼ã‚Šä»˜ã‘',error:'内部エラーã«ã‚ˆã‚Šè²¼ã‚Šä»˜ã‘ãŸãƒ‡ãƒ¼ã‚¿ãŒã‚¯ãƒªã‚¢ã§ãã¾ã›ã‚“ã§ã—ãŸ'},pasteText:{button:'プレーンテキスト貼り付ã‘',title:'プレーンテキスト貼り付ã‘'},templates:{button:'テンプレート(雛形)',title:'テンプレート内容',options:'テンプレートオプション',insertOption:'ç¾åœ¨ã®ã‚¨ãƒ‡ã‚£ã‚¿ã®å†…容ã¨ç½®æ›ãˆã‚’ã—ã¾ã™',selectPromptMsg:'エディターã§ä½¿ç”¨ã™ã‚‹ãƒ†ãƒ³ãƒ—レートをé¸æŠžã—ã¦ãã ã•ã„。<br>(ç¾åœ¨ã®ã‚¨ãƒ‡ã‚£ã‚¿ã®å†…容ã¯å¤±ã‚ã‚Œã¾ã™):',emptyListMsg:'(テンプレートãŒå®šç¾©ã•ã‚Œã¦ã„ã¾ã›ã‚“)'},showBlocks:'ブロック表示',stylesCombo:{label:'スタイル',panelTitle:'スタイル',panelTitle1:'ブロックスタイル',panelTitle2:'インラインスタイル',panelTitle3:'オブジェクトスタイル'},format:{label:'フォーマット',panelTitle:'フォーマット',tag_p:'標準',tag_pre:'書å¼ä»˜ã',tag_address:'アドレス',tag_h1:'見出㗠1',tag_h2:'見出㗠2',tag_h3:'見出㗠3',tag_h4:'見出㗠4',tag_h5:'見出㗠5',tag_h6:'見出㗠6',tag_div:'標準 (DIV)'},div:{title:'Divコンテナ',toolbar:'Divコンテナ',cssClassInputLabel:'スタイルシートクラス',styleSelectLabel:'スタイル',IdInputLabel:'Id',languageCodeInputLabel:' 言語コード',inlineStyleInputLabel:'インラインスタイル',advisoryTitleInputLabel:'Title属性',langDirLabel:'文字表記ã®æ–¹å‘',langDirLTRLabel:'å·¦ã‹ã‚‰å³ (LTR)',langDirRTLLabel:'å³ã‹ã‚‰å·¦ (RTL)',edit:'Divコンテナ 編集',remove:'Divコンテナ 削除'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'フォント',voiceLabel:'フォント',panelTitle:'フォント'},fontSize:{label:'サイズ',voiceLabel:'フォントサイズ',panelTitle:'サイズ'},colorButton:{textColorTitle:'テキスト色',bgColorTitle:'背景色',panelTitle:'色',auto:'自動',more:'ãã®ä»–ã®è‰²...'},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'},scayt:{title:'スペルãƒã‚§ãƒƒã‚¯è¨­å®š(SCAYT)',opera_title:'Operaã§ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã›ã‚“',enable:'SCAYT有効',disable:'SCAYT無効',about:'SCAYTバージョï¾',toggle:'SCAYT切替',options:'オプション',langs:'言語',moreSuggestions:'ä»–ã®å€™è£œ',ignore:'無視',ignoreAll:'ã™ã¹ã¦ç„¡è¦–',addWord:'語å¥è¿½åŠ ',emptyDic:'辞書åã¯å¿…ãšå…¥åŠ›ã—ã¦ãã ã•ã„',noSuggestions:'該当ãªã—',optionsTab:'オプション',allCaps:'å…¨ã¦å¤§æ–‡å­—ã®å˜èªžã‚’無視',ignoreDomainNames:'ドメインåを無視',mixedCase:'大文字å°æ–‡å­—混在ã®å˜èªžã‚’無視',mixedWithDigits:'数字付ãå˜èªžã‚’無視',languagesTab:'言語',dictionariesTab:'辞書',dic_field_name:'辞書å',dic_create:'登録',dic_restore:'å…ƒã«æˆ»ã™',dic_delete:'削除',dic_rename:'åå‰å¤‰æ›´',dic_info:'始ã‚ユーザーディレクトリã¯ã€Cookieã«ä¿å­˜ã•ã‚Œã¾ã™ã€‚但㗠Cookie ã¯ã‚µã‚¤ã‚ºã«åˆ¶é™ãŒã‚ã‚Šã¾ã™ã€‚ユーザーディレクトリãŒCookieã«ä¿å­˜ã§ããªã„サイズã«åˆ°é”ã™ã‚‹ã¨ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¯ã‚µãƒ¼ãƒãƒ¼ä¸Šã«ä¿å­˜ã•ã‚Œã¾ã™ã€‚個人ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’サーãƒãƒ¼ä¸Šã«ä¿å­˜ã™ã‚‹ã«ã¯ã€ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªåを明示ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ã‚‚ã—æ—¢ã«ä¿å­˜ã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒã‚ã‚‹å ´åˆã€ãã®åå‰ã‚’入力ã—ã€å…ƒã«æˆ»ã™ãƒœã‚¿ãƒ³ã‚’押ã—ã¦ãã ã•ã„。',aboutTab:'ãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…å ±'},about:{title:'CKEditorãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…å ±',dlgTitle:'CKEditorãƒãƒ¼ã‚¸ãƒ§ãƒ³æƒ…å ±',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'ライセンス情報ã®è©³ç´°ã¯ã‚¦ã‚§ãƒ–サイトã«ã¦ç¢ºèªã—ã¦ãã ã•ã„:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'最大化',minimize:'最å°åŒ–',fakeobjects:{anchor:'アンカー',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Unknown Object'},resize:'ドラッグã—ã¦ãƒªã‚µã‚¤ã‚º',colordialog:{title:'色é¸æŠž',options:'カラーオプション',highlight:'ãƒã‚¤ãƒ©ã‚¤ãƒˆ',selected:'é¸æŠžã•ã‚ŒãŸè‰²',clear:'クリア'},toolbarCollapse:'ツールãƒãƒ¼ã‚’é–‰ã˜ã‚‹',toolbarExpand:'ツールãƒãƒ¼ã‚’é–‹ã',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'},bidi:{ltr:'テキストã®å‘ã : å·¦ã‹ã‚‰å³ã¸',rtl:'テキストã®å‘ã : å³ã‹ã‚‰å·¦ã¸'},docprops:{label:'文書 プロパティ',title:'文書 プロパティ',design:'Design',meta:'メタデータ',chooseColor:'色ã®é¸æŠž',other:'<ãã®ä»–ã®>',docTitle:'ページタイトル',charset:'文字セット符å·åŒ–',charsetOther:'ä»–ã®æ–‡å­—セット符å·åŒ–',charsetASCII:'ASCII',charsetCE:'Central European',charsetCT:'Chinese Traditional (Big5)',charsetCR:'Cyrillic',charsetGR:'Greek',charsetJP:'Japanese',charsetKR:'Korean',charsetTR:'Turkish',charsetUN:'Unicode (UTF-8)',charsetWE:'Western European',docType:'文書タイプヘッダー',docTypeOther:'ãã®ä»–文書タイプヘッダー',xhtmlDec:'XHTML宣言をインクルード',bgColor:'背景色',bgImage:'èƒŒæ™¯ç”»åƒ URL',bgFixed:'スクロールã—ãªã„背景',txtColor:'テキスト色',margin:'ページ・マージン',marginTop:'上部',marginLeft:'å·¦',marginRight:'å³',marginBottom:'下部',metaKeywords:'文書ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰(カンマ区切り)',metaDescription:'文書ã®æ¦‚è¦',metaAuthor:'文書ã®ä½œè€…',metaCopyright:'文書ã®è‘—作権',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/ka.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/ka.js
deleted file mode 100644
index 1418956..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/ka.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.ka={dir:'ltr',editorTitle:'ტექსტის რედáƒáƒ¥áƒ¢áƒáƒ áƒ˜, %1',editorHelp:'დáƒáƒáƒ­áƒ˜áƒ áƒ”თ ALT 0-ს დáƒáƒ®áƒ›áƒáƒ áƒ”ბის მისáƒáƒ¦áƒ”ბáƒáƒ“',toolbars:'Editor toolbars',editor:'ტექსტის რედáƒáƒ¥áƒ¢áƒáƒ áƒ˜',source:'კáƒáƒ“ები',newPage:'áƒáƒ®áƒáƒšáƒ˜ გვერდი',save:'ჩáƒáƒ¬áƒ”რáƒ',preview:'გáƒáƒ“áƒáƒ®áƒ”დვáƒ',cut:'áƒáƒ›áƒáƒ­áƒ áƒ',copy:'áƒáƒ¡áƒšáƒ˜',paste:'ჩáƒáƒ¡áƒ›áƒ',print:'ბეჭდვáƒ',underline:'გáƒáƒ®áƒáƒ–ული',bold:'მსხვილი',italic:'დáƒáƒ®áƒ áƒ˜áƒšáƒ˜',selectAll:'ყველáƒáƒ¤áƒ áƒ˜áƒ¡ მáƒáƒœáƒ˜áƒ¨áƒœáƒ•áƒ',removeFormat:'ფáƒáƒ áƒ›áƒáƒ¢áƒ˜áƒ áƒ”ბის მáƒáƒ®áƒ¡áƒœáƒ',strike:'გáƒáƒ“áƒáƒ®áƒáƒ–ული',subscript:'ინდექსი',superscript:'ხáƒáƒ áƒ˜áƒ¡áƒ®áƒ˜',horizontalrule:'ჰáƒáƒ áƒ˜áƒ–áƒáƒœáƒ¢áƒáƒšáƒ£áƒ áƒ˜ ხáƒáƒ–ის ჩáƒáƒ¡áƒ›áƒ',pagebreak:'გვერდის წყვეტრბეჭდვისთვის',pagebreakAlt:'გვერდის წყვეტáƒ',unlink:'ბმულის მáƒáƒ®áƒ¡áƒœáƒ',undo:'გáƒáƒ£áƒ¥áƒ›áƒ”ბáƒ',redo:'გáƒáƒ›áƒ”áƒáƒ áƒ”ბáƒ',common:{browseServer:'სერვერზე დáƒáƒ—ვáƒáƒšáƒ˜áƒ”რებáƒ',url:'URL',protocol:'პრáƒáƒ¢áƒáƒ™áƒáƒšáƒ˜',upload:'áƒáƒ¢áƒ•áƒ˜áƒ áƒ—ვáƒ',uploadSubmit:'სერვერზე გáƒáƒ’ზáƒáƒ•áƒœáƒ',image:'სურáƒáƒ—ი',flash:'Flash',form:'ფáƒáƒ áƒ›áƒ',checkbox:'მáƒáƒœáƒ˜áƒ¨áƒ•áƒœáƒ˜áƒ¡ ღილáƒáƒ™áƒ˜',radio:'áƒáƒ›áƒáƒ áƒ©áƒ”ვის ღილáƒáƒ™áƒ˜',textField:'ტექსტური ველი',textarea:'ტექსტური áƒáƒ áƒ”',hiddenField:'მáƒáƒšáƒ£áƒšáƒ˜ ველი',button:'ღილáƒáƒ™áƒ˜',select:'áƒáƒ áƒ©áƒ”ვის ველი',imageButton:'სურáƒáƒ—იáƒáƒœáƒ˜ ღილáƒáƒ™áƒ˜',notSet:'<áƒáƒ áƒáƒ¤áƒ”რი>',id:'Id',name:'სáƒáƒ®áƒ”ლი',langDir:'ენის მიმáƒáƒ áƒ—ულებáƒ',langDirLtr:'მáƒáƒ áƒªáƒ®áƒœáƒ˜áƒ“áƒáƒœ მáƒáƒ áƒ¯áƒ•áƒœáƒ˜áƒ• (LTR)',langDirRtl:'მáƒáƒ áƒ¯áƒ•áƒœáƒ˜áƒ“áƒáƒœ მáƒáƒ áƒªáƒ®áƒœáƒ˜áƒ• (RTL)',langCode:'ენის კáƒáƒ“ი',longDescr:'დიდი áƒáƒ¦áƒ¬áƒ”რის URL',cssClass:'CSS კლáƒáƒ¡áƒ˜',advisoryTitle:'სáƒáƒ—áƒáƒ£áƒ áƒ˜',cssStyle:'CSS სტილი',ok:'დიáƒáƒ®',cancel:'გáƒáƒ£áƒ¥áƒ›áƒ”ბáƒ',close:'დáƒáƒ®áƒ£áƒ áƒ•áƒ',preview:'გáƒáƒ“áƒáƒ®áƒ”დვáƒ',generalTab:'ინფáƒáƒ áƒ›áƒáƒªáƒ˜áƒ',advancedTab:'გáƒáƒ¤áƒáƒ áƒ—áƒáƒ”ბული',validateNumberFailed:'ეს მნიშვნელáƒáƒ‘რáƒáƒ áƒáƒ რიცხვი.',confirmNewPage:'áƒáƒ› დáƒáƒ™áƒ£áƒ›áƒ”ნტში ყველრჩáƒáƒ£áƒ¬áƒ”რელი ცვლილებრდáƒáƒ˜áƒ™áƒáƒ áƒ’ებáƒ. დáƒáƒ áƒ¬áƒ›áƒ£áƒœáƒ”ბული ხáƒáƒ áƒ— რáƒáƒ› áƒáƒ®áƒáƒšáƒ˜ გვერდის ჩáƒáƒ¢áƒ•áƒ˜áƒ áƒ—ვრგინდáƒáƒ—?',confirmCancel:'ზáƒáƒ’იერთი პáƒáƒ áƒáƒ›áƒ”ტრი შეცვლილიáƒ, დáƒáƒ áƒ¬áƒ›áƒ£áƒœáƒ”ბულილ ხáƒáƒ áƒ— რáƒáƒ› ფáƒáƒœáƒ¯áƒ áƒ˜áƒ¡ დáƒáƒ®áƒ£áƒ áƒ•áƒ გსურთ?',options:'პáƒáƒ áƒáƒ›áƒ”ტრები',target:'გáƒáƒ®áƒ¡áƒœáƒ˜áƒ¡ áƒáƒ“გილი',targetNew:'áƒáƒ®áƒáƒšáƒ˜ ფáƒáƒœáƒ¯áƒáƒ áƒ (_blank)',targetTop:'ზედრფáƒáƒœáƒ¯áƒáƒ áƒ (_top)',targetSelf:'იგივე ფáƒáƒœáƒ¯áƒáƒ áƒ (_self)',targetParent:'მშáƒáƒ‘ელი ფáƒáƒœáƒ¯áƒáƒ áƒ (_parent)',langDirLTR:'მáƒáƒ áƒªáƒ®áƒœáƒ˜áƒ“áƒáƒœ მáƒáƒ áƒ¯áƒ•áƒœáƒ˜áƒ• (LTR)',langDirRTL:'მáƒáƒ áƒ¯áƒ•áƒœáƒ˜áƒ“áƒáƒœ მáƒáƒ áƒªáƒ®áƒœáƒ˜áƒ• (RTL)',styles:'სტილი',cssClasses:'CSS კლáƒáƒ¡áƒ˜',width:'სიგáƒáƒœáƒ”',height:'სიმáƒáƒ¦áƒšáƒ”',align:'სწáƒáƒ áƒ”ბáƒ',alignLeft:'მáƒáƒ áƒªáƒ®áƒ”ნáƒ',alignRight:'მáƒáƒ áƒ¯áƒ•áƒ”ნáƒ',alignCenter:'შუáƒ',alignTop:'ზემáƒáƒ—áƒ',alignMiddle:'შუáƒ',alignBottom:'ქვემáƒáƒ—áƒ',invalidValue:'Invalid value.',invalidHeight:'სიმáƒáƒ¦áƒšáƒ” რიცხვით უნდრიყáƒáƒ¡ წáƒáƒ áƒ›áƒáƒ“გენილი.',invalidWidth:'სიგáƒáƒœáƒ” რიცხვით უნდრიყáƒáƒ¡ წáƒáƒ áƒ›áƒáƒ“გენილი.',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, მიუწვდáƒáƒ›áƒ”ლიáƒ</span>'},contextmenu:{options:'კáƒáƒœáƒ¢áƒ”ქსტური მენიუს პáƒáƒ áƒáƒ›áƒ”ტრები'},specialChar:{toolbar:'სპეციáƒáƒšáƒ£áƒ áƒ˜ სიმბáƒáƒšáƒáƒ¡ ჩáƒáƒ¡áƒ›áƒ',title:'სპეციáƒáƒšáƒ£áƒ áƒ˜ სიმბáƒáƒšáƒáƒ¡ áƒáƒ áƒ©áƒ”ვáƒ',options:'სპეციáƒáƒšáƒ£áƒ áƒ˜ სიმბáƒáƒšáƒáƒ¡ პáƒáƒ áƒáƒ›áƒ”ტრები'},link:{toolbar:'ბმული',other:'<სხვáƒ>',menu:'ბმულის რედáƒáƒ¥áƒ¢áƒ˜áƒ áƒ”ბáƒ',title:'ბმული',info:'ბმულის ინფáƒáƒ áƒ›áƒáƒªáƒ˜áƒ',target:'გáƒáƒ®áƒ¡áƒœáƒ˜áƒ¡ áƒáƒ“გილი',upload:'áƒáƒ¥áƒáƒ©áƒ•áƒ',advanced:'დáƒáƒ¬áƒ•áƒ áƒ˜áƒšáƒ”ბით',type:'ბმულის ტიპი',toUrl:'URL',toAnchor:'ბმული ტექსტში ღუზáƒáƒ–ე',toEmail:'ელფáƒáƒ¡áƒ¢áƒ',targetFrame:'<frame>',targetPopup:'<popup ფáƒáƒœáƒ¯áƒáƒ áƒ>',targetFrameName:'Frame-ის სáƒáƒ®áƒ”ლი',targetPopupName:'Popup ფáƒáƒœáƒ¯áƒ áƒ˜áƒ¡ სáƒáƒ®áƒ”ლი',popupFeatures:'Popup ფáƒáƒœáƒ¯áƒ áƒ˜áƒ¡ პáƒáƒ áƒáƒ›áƒ”ტრები',popupResizable:'ცვáƒáƒšáƒ”ბáƒáƒ“ი ზáƒáƒ›áƒ˜áƒ—',popupStatusBar:'სტáƒáƒ¢áƒ£áƒ¡áƒ˜áƒ¡ ზáƒáƒšáƒ˜',popupLocationBar:'ნáƒáƒ•áƒ˜áƒ’áƒáƒªáƒ˜áƒ˜áƒ¡ ზáƒáƒšáƒ˜',popupToolbar:'ხელსáƒáƒ¬áƒ§áƒáƒ—რზáƒáƒšáƒ˜',popupMenuBar:'მენიუს ზáƒáƒšáƒ˜',popupFullScreen:'მთელი ეკრáƒáƒœáƒ˜ (IE)',popupScrollBars:'გáƒáƒ“áƒáƒ®áƒ•áƒ”ვის ზáƒáƒšáƒ”ბი',popupDependent:'დáƒáƒ›áƒáƒ™áƒ˜áƒ“ებული (Netscape)',popupLeft:'მáƒáƒ áƒªáƒ®áƒ”ნრპáƒáƒ–იციáƒ',popupTop:'ზედრპáƒáƒ–იციáƒ',id:'Id',langDir:'ენის მიმáƒáƒ áƒ—ულებáƒ',langDirLTR:'მáƒáƒ áƒªáƒ®áƒœáƒ˜áƒ“áƒáƒœ მáƒáƒ áƒ¯áƒ•áƒœáƒ˜áƒ• (LTR)',langDirRTL:'მáƒáƒ áƒ¯áƒ•áƒœáƒ˜áƒ“áƒáƒœ მáƒáƒ áƒªáƒ®áƒœáƒ˜áƒ• (RTL)',acccessKey:'წვდáƒáƒ›áƒ˜áƒ¡ ღილáƒáƒ™áƒ˜',name:'სáƒáƒ®áƒ”ლი',langCode:'ენის კáƒáƒ“ი',tabIndex:'Tab-ის ინდექსი',advisoryTitle:'სáƒáƒ—áƒáƒ£áƒ áƒ˜',advisoryContentType:'შიგთáƒáƒ•áƒ¡áƒ˜áƒ¡ ტიპი',cssClasses:'CSS კლáƒáƒ¡áƒ˜',charset:'კáƒáƒ“ირებáƒ',styles:'CSS სტილი',rel:'კáƒáƒ•áƒ¨áƒ˜áƒ áƒ˜',selectAnchor:'áƒáƒ˜áƒ áƒ©áƒ˜áƒ”თ ღუზáƒ',anchorName:'ღუზის სáƒáƒ®áƒ”ლით',anchorId:'ელემენტის Id-თ',emailAddress:'ელფáƒáƒ¡áƒ¢áƒ˜áƒ¡ მისáƒáƒ›áƒáƒ áƒ—ები',emailSubject:'წერილის სáƒáƒ—áƒáƒ£áƒ áƒ˜',emailBody:'წერილის ტექსტი',noAnchors:'(áƒáƒ› დáƒáƒ™áƒ£áƒ›áƒ”ნტში ღუზრáƒáƒ áƒáƒ)',noUrl:'áƒáƒ™áƒ áƒ˜áƒ¤áƒ”თ ბმულის URL',noEmail:'áƒáƒ™áƒ áƒ˜áƒ¤áƒ”თ ელფáƒáƒ¡áƒ¢áƒ˜áƒ¡ მისáƒáƒ›áƒáƒ áƒ—ი'},anchor:{toolbar:'ღუზáƒ',menu:'ღუზის რედáƒáƒ¥áƒ¢áƒ˜áƒ áƒ”ბáƒ',title:'ღუზის პáƒáƒ áƒáƒ›áƒ”ტრები',name:'ღუზუს სáƒáƒ®áƒ”ლი',errorName:'áƒáƒ™áƒ áƒ˜áƒ¤áƒ”თ ღუზის სáƒáƒ®áƒ”ლი',remove:'Remove Anchor'},list:{numberedTitle:'გáƒáƒ“áƒáƒœáƒáƒ›áƒ áƒ˜áƒšáƒ˜ სიის პáƒáƒ áƒáƒ›áƒ”ტრები',bulletedTitle:'ღილებიáƒáƒœáƒ˜ სიის პáƒáƒ áƒáƒ›áƒ”ტრები',type:'ტიპი',start:'სáƒáƒ¬áƒ§áƒ˜áƒ¡áƒ˜',validateStartNumber:'სიის სáƒáƒ¬áƒ§áƒ˜áƒ¡áƒ˜ მთელი რიცხვი უნდრიყáƒáƒ¡.',circle:'წრეწირი',disc:'წრე',square:'კვáƒáƒ“რáƒáƒ¢áƒ˜',none:'áƒáƒ áƒáƒ¤áƒ”რი',notset:'<áƒáƒ áƒáƒ¤áƒ”რი>',armenian:'სáƒáƒ›áƒ®áƒ£áƒ áƒ˜ გáƒáƒ“áƒáƒœáƒáƒ›áƒ áƒ•áƒ',georgian:'ქáƒáƒ áƒ—ული გáƒáƒ“áƒáƒœáƒáƒ›áƒ áƒ•áƒ (áƒáƒœ, ბáƒáƒœ, გáƒáƒœ, ..)',lowerRoman:'რáƒáƒ›áƒáƒ£áƒšáƒ˜ გáƒáƒ“áƒáƒœáƒáƒ›áƒ áƒ•áƒªáƒ პáƒáƒ¢áƒáƒ áƒ ციფრებით (i, ii, iii, iv, v, ..)',upperRoman:'რáƒáƒ›áƒáƒ£áƒšáƒ˜ გáƒáƒ“áƒáƒœáƒáƒ›áƒ áƒ•áƒ დიდი ციფრებით (I, II, III, IV, V, etc.)',lowerAlpha:'პáƒáƒ¢áƒáƒ áƒ ლáƒáƒ—ინური áƒáƒ¡áƒáƒ”ბით (a, b, c, d, e, ..)',upperAlpha:'დიდი ლáƒáƒ—ინური áƒáƒ¡áƒáƒ”ბით (A, B, C, D, E, ..)',lowerGreek:'პáƒáƒ¢áƒáƒ áƒ ბერძნული áƒáƒ¡áƒáƒ”ბით (áƒáƒšáƒ¤áƒ, ბეტáƒ, გáƒáƒ›áƒ, ..)',decimal:'რიცხვებით (1, 2, 3, ..)',decimalLeadingZero:'ნულით დáƒáƒ¬áƒ§áƒ”ბული რიცხვებით (01, 02, 03, ..)'},findAndReplace:{title:'ძებნრდრშეცვლáƒ',find:'ძებნáƒ',replace:'შეცვლáƒ',findWhat:'სáƒáƒ«áƒ˜áƒ”ბელი ტექსტი:',replaceWith:'შეცვლის ტექსტი:',notFoundMsg:'მითითებული ტექსტი áƒáƒ  მáƒáƒ˜áƒ«áƒ”ბნáƒ.',findOptions:'Find Options',matchCase:'დიდი დრპáƒáƒ¢áƒáƒ áƒ áƒáƒ¡áƒáƒ”ბის დáƒáƒ›áƒ—ხვევáƒ',matchWord:'მთელი სიტყვის დáƒáƒ›áƒ—ხვევáƒ',matchCyclic:'დáƒáƒ™áƒ£áƒ›áƒ”ნტის ბáƒáƒšáƒáƒ¨áƒ˜ გáƒáƒ¡áƒ•áƒšáƒ˜áƒ¡ მერე თáƒáƒ•áƒ˜áƒ“áƒáƒœ დáƒáƒ¬áƒ§áƒ”ბáƒ',replaceAll:'ყველáƒáƒ¡ შეცვლáƒ',replaceSuccessMsg:'%1 მáƒáƒ«áƒ”ბნილი შეიცვáƒáƒšáƒ.'},table:{toolbar:'ცხრილი',title:'ცხრილის პáƒáƒ áƒáƒ›áƒ”ტრები',menu:'ცხრილის პáƒáƒ áƒáƒ›áƒ”ტრები',deleteTable:'ცხრილის წáƒáƒ¨áƒšáƒ',rows:'სტრიქáƒáƒœáƒ˜',columns:'სვეტი',border:'ჩáƒáƒ áƒ©áƒáƒ¡ ზáƒáƒ›áƒ',widthPx:'წერტილი',widthPc:'პრáƒáƒªáƒ”ნტი',widthUnit:'სáƒáƒ–áƒáƒ›áƒ˜ ერთეული',cellSpace:'უჯრის სივრცე (spacing)',cellPad:'უჯრის კიდე (padding)',caption:'სáƒáƒ—áƒáƒ£áƒ áƒ˜',summary:'შეჯáƒáƒ›áƒ”ბáƒ',headers:'სáƒáƒ—áƒáƒ£áƒ áƒ”ბი',headersNone:'áƒáƒ áƒáƒ¤áƒ”რი',headersColumn:'პირველი სვეტი',headersRow:'პირველი სტრიქáƒáƒœáƒ˜',headersBoth:'áƒáƒ áƒ˜áƒ•áƒ”',invalidRows:'სტრიქáƒáƒœáƒ”ბის რáƒáƒáƒ“ენáƒáƒ‘რდáƒáƒ“ებითი რიცხვი უნდრიყáƒáƒ¡.',invalidCols:'სვეტების რáƒáƒáƒ“ენáƒáƒ‘რდáƒáƒ“ებითი რიცხვი უნდრიყáƒáƒ¡.',invalidBorder:'ჩáƒáƒ áƒ©áƒáƒ¡ ზáƒáƒ›áƒ რიცხვით უდნრიყáƒáƒ¡ წáƒáƒ áƒ›áƒáƒ“გენილი.',invalidWidth:'ცხრილის სიგáƒáƒœáƒ” რიცხვით უნდრიყáƒáƒ¡ წáƒáƒ áƒ›áƒáƒ“გენილი.',invalidHeight:'ცხრილის სიმáƒáƒ¦áƒšáƒ” რიცხვით უნდრიყáƒáƒ¡ წáƒáƒ áƒ›áƒáƒ“გენილი.',invalidCellSpacing:'უჯრის სივრცე (spacing) რიცხვით უნდრიყáƒáƒ¡ წáƒáƒ áƒ›áƒáƒ“გენილი.',invalidCellPadding:'უჯრის კიდე (padding) რიცხვით უნდრიყáƒáƒ¡ წáƒáƒ áƒ›áƒáƒ“გენილი.',cell:{menu:'უჯრáƒ',insertBefore:'უჯრის ჩáƒáƒ¡áƒ›áƒ მáƒáƒœáƒáƒ›áƒ“ე',insertAfter:'უჯრის ჩáƒáƒ¡áƒ›áƒ მერე',deleteCell:'უჯრების წáƒáƒ¨áƒšáƒ',merge:'უჯრების შეერთებáƒ',mergeRight:'შეერთებრმáƒáƒ áƒ¯áƒ•áƒ”ნáƒáƒ¡áƒ—áƒáƒœ',mergeDown:'შეერთებრქვემáƒáƒ—áƒáƒ¡áƒ—áƒáƒœ',splitHorizontal:'გáƒáƒ§áƒáƒ¤áƒ ჰáƒáƒ áƒ˜áƒ–áƒáƒœáƒ¢áƒáƒšáƒ£áƒ áƒáƒ“',splitVertical:'გáƒáƒ§áƒáƒ¤áƒ ვერტიკáƒáƒšáƒ£áƒ áƒáƒ“',title:'უჯრის პáƒáƒ áƒáƒ›áƒ”ტრები',cellType:'უჯრის ტიპი',rowSpan:'სტრიქáƒáƒœáƒ”ბის áƒáƒ“ენáƒáƒ‘áƒ',colSpan:'სვეტების áƒáƒ“ენáƒáƒ‘áƒ',wordWrap:'სტრიქáƒáƒœáƒ˜áƒ¡ გáƒáƒ“áƒáƒ¢áƒáƒœáƒ (Word Wrap)',hAlign:'ჰáƒáƒ áƒ˜áƒ–áƒáƒœáƒ¢áƒáƒšáƒ£áƒ áƒ˜ სწáƒáƒ áƒ”ბáƒ',vAlign:'ვერტიკáƒáƒšáƒ£áƒ áƒ˜ სწáƒáƒ áƒ”ბáƒ',alignBaseline:'ძირითáƒáƒ“ი ხáƒáƒ–ის გáƒáƒ¡áƒ¬áƒ•áƒ áƒ˜áƒ•',bgColor:'ფáƒáƒœáƒ˜áƒ¡ ფერი',borderColor:'ჩáƒáƒ áƒ©áƒáƒ¡ ფერი',data:'მáƒáƒœáƒáƒªáƒ”მები',header:'სáƒáƒ—áƒáƒ£áƒ áƒ˜',yes:'დიáƒáƒ®',no:'áƒáƒ áƒ',invalidWidth:'უჯრის სიგáƒáƒœáƒ” რიცხვით უნდრიყáƒáƒ¡ წáƒáƒ áƒ›áƒáƒ“გენილი.',invalidHeight:'უჯრის სიმáƒáƒ¦áƒšáƒ” რიცხვით უნდრიყáƒáƒ¡ წáƒáƒ áƒ›áƒáƒ“გენილი.',invalidRowSpan:'სტრიქáƒáƒœáƒ”ბის რáƒáƒáƒ“ენáƒáƒ‘რმთელი რიცხვი უნდრიყáƒáƒ¡.',invalidColSpan:'სვეტების რáƒáƒáƒ“ენáƒáƒ‘რმთელი რიცხვი უნდრიყáƒáƒ¡.',chooseColor:'áƒáƒ áƒ©áƒ”ვáƒ'},row:{menu:'სტრიქáƒáƒœáƒ˜',insertBefore:'სტრიქáƒáƒœáƒ˜áƒ¡ ჩáƒáƒ›áƒáƒ¢áƒ”ბრწინ',insertAfter:'სტრიქáƒáƒœáƒ˜áƒ¡ ჩáƒáƒ›áƒáƒ¢áƒ”ბრმერე',deleteRow:'სტრიქáƒáƒœáƒ”ბის წáƒáƒ¨áƒšáƒ'},column:{menu:'სვეტი',insertBefore:'სვეტის ჩáƒáƒ›áƒáƒ¢áƒ”ბრწინ',insertAfter:'სვეტის ჩáƒáƒ›áƒáƒ¢áƒ”ბრმერე',deleteColumn:'სვეტების წáƒáƒ¨áƒšáƒ'}},button:{title:'ღილáƒáƒ™áƒ˜áƒ¡ პáƒáƒ áƒáƒ›áƒ”ტრები',text:'ტექსტი',type:'ტიპი',typeBtn:'ღილáƒáƒ™áƒ˜',typeSbm:'გáƒáƒ’ზáƒáƒ•áƒœáƒ',typeRst:'გáƒáƒ¡áƒ£áƒ¤áƒ—áƒáƒ•áƒ”ბáƒ'},checkboxAndRadio:{checkboxTitle:'მáƒáƒœáƒ˜áƒ¨áƒ•áƒœáƒ˜áƒ¡ ღილáƒáƒ™áƒ˜áƒ¡ (Checkbox) პáƒáƒ áƒáƒ›áƒ”ტრები',radioTitle:'áƒáƒ¡áƒáƒ áƒ©áƒ”ვი ღილáƒáƒ™áƒ˜áƒ¡ (Radio) პáƒáƒ áƒáƒ›áƒ”ტრები',value:'ტექსტი',selected:'áƒáƒ áƒ©áƒ”ული'},form:{title:'ფáƒáƒ áƒ›áƒ˜áƒ¡ პáƒáƒ áƒáƒ›áƒ”ტრები',menu:'ფáƒáƒ áƒ›áƒ˜áƒ¡ პáƒáƒ áƒáƒ›áƒ”ტრები',action:'ქმედებáƒ',method:'მეთáƒáƒ“ი',encoding:'კáƒáƒ“ირებáƒ'},select:{title:'áƒáƒ áƒ©áƒ”ვის ველის პáƒáƒ áƒáƒ›áƒ”ტრები',selectInfo:'ინფáƒáƒ áƒ›áƒáƒªáƒ˜áƒ',opAvail:'შესáƒáƒ«áƒšáƒ”ბელი ვáƒáƒ áƒ˜áƒáƒœáƒ¢áƒ”ბი',value:'მნიშვნელáƒáƒ‘áƒ',size:'ზáƒáƒ›áƒ',lines:'ხáƒáƒ–ები',chkMulti:'მრáƒáƒ•áƒšáƒáƒ‘ითი áƒáƒ áƒ©áƒ”ვáƒáƒœáƒ˜áƒ¡ სáƒáƒ¨áƒ£áƒáƒšáƒ”ბáƒ',opText:'ტექსტი',opValue:'მნიშვნელáƒáƒ‘áƒ',btnAdd:'დáƒáƒ›áƒáƒ¢áƒ”ბáƒ',btnModify:'შეცვლáƒ',btnUp:'ზემáƒáƒ—',btnDown:'ქვემáƒáƒ—',btnSetValue:'áƒáƒ›áƒáƒ áƒ©áƒ”ულ მნიშვნელáƒáƒ•áƒœáƒáƒ“ დáƒáƒ§áƒ”ნებáƒ',btnDelete:'წáƒáƒ¨áƒšáƒ'},textarea:{title:'ტექსტური áƒáƒ áƒ˜áƒ¡ პáƒáƒ áƒáƒ›áƒ”ტრები',cols:'სვეტები',rows:'სტრიქáƒáƒœáƒ”ბი'},textfield:{title:'ტექსტური ველის პáƒáƒ áƒáƒ›áƒ”ტრები',name:'სáƒáƒ®áƒ”ლი',value:'მნიშვნელáƒáƒ‘áƒ',charWidth:'სიმბáƒáƒšáƒáƒ¡ ზáƒáƒ›áƒ',maxChars:'áƒáƒ¡áƒáƒ”ბის მáƒáƒ¥áƒ¡áƒ˜áƒ›áƒáƒšáƒ£áƒ áƒ˜ áƒáƒ“ენáƒáƒ‘áƒ',type:'ტიპი',typeText:'ტექსტი',typePass:'პáƒáƒ áƒáƒšáƒ˜'},hidden:{title:'მáƒáƒšáƒ£áƒšáƒ˜ ველის პáƒáƒ áƒáƒ›áƒ”ტრები',name:'სáƒáƒ®áƒ”ლი',value:'მნიშვნელáƒáƒ‘áƒ'},image:{title:'სურáƒáƒ—ის პáƒáƒ áƒáƒ›áƒ”ტრები',titleButton:'სურáƒáƒ—იáƒáƒœáƒ˜ ღილáƒáƒ™áƒ˜áƒ¡ პáƒáƒ áƒáƒ›áƒ”ტრები',menu:'სურáƒáƒ—ის პáƒáƒ áƒáƒ›áƒ”ტრები',infoTab:'სურáƒáƒ—ის ინფáƒáƒ áƒ›áƒªáƒ˜áƒ',btnUpload:'სერვერისთვის გáƒáƒ’ზáƒáƒ•áƒœáƒ',upload:'áƒáƒ¢áƒ•áƒ˜áƒ áƒ—ვáƒ',alt:'სáƒáƒœáƒáƒªáƒ•áƒšáƒ ტექსტი',lockRatio:'პრáƒáƒžáƒáƒ áƒªáƒ˜áƒ˜áƒ¡ შენáƒáƒ áƒ©áƒ£áƒœáƒ”ბáƒ',resetSize:'ზáƒáƒ›áƒ˜áƒ¡ დáƒáƒ‘რუნებáƒ',border:'ჩáƒáƒ áƒ©áƒ',hSpace:'ჰáƒáƒ áƒ˜áƒ–áƒáƒœáƒ¢áƒáƒšáƒ£áƒ áƒ˜ სივრცე',vSpace:'ვერტიკáƒáƒšáƒ£áƒ áƒ˜ სივრცე',alertUrl:'áƒáƒ™áƒ áƒ˜áƒ¤áƒ”თ სურáƒáƒ—ის URL',linkTab:'ბმული',button2Img:'გსურთ áƒáƒ áƒ©áƒ”ული სურáƒáƒ—იáƒáƒœáƒ˜ ღილáƒáƒ™áƒ˜áƒ¡ გáƒáƒ“áƒáƒ¥áƒªáƒ”ვრჩვეულებრივ ღილáƒáƒ™áƒáƒ“?',img2Button:'გსურთ áƒáƒ áƒ©áƒ”ული ჩვეულებრივი ღილáƒáƒ™áƒ˜áƒ¡ გáƒáƒ“áƒáƒ¥áƒªáƒ”ვრსურáƒáƒ—იáƒáƒœ ღილáƒáƒ™áƒáƒ“?',urlMissing:'სურáƒáƒ—ის URL áƒáƒ áƒáƒ შევსებული.',validateBorder:'ჩáƒáƒ áƒ©áƒ მთელი რიცხვი უნდრიყáƒáƒ¡.',validateHSpace:'ჰáƒáƒ áƒ˜áƒ–áƒáƒœáƒ¢áƒáƒšáƒ£áƒ áƒ˜ სივრცე მთელი რიცხვი უნდრიყáƒáƒ¡.',validateVSpace:'ვერტიკáƒáƒšáƒ£áƒ áƒ˜ სივრცე მთელი რიცხვი უნდრიყáƒáƒ¡.'},flash:{properties:'Flash-ის პáƒáƒ áƒáƒ›áƒ”ტრები',propertiesTab:'პáƒáƒ áƒáƒ›áƒ”ტრები',title:'Flash-ის პáƒáƒ áƒáƒ›áƒ”ტრები',chkPlay:'áƒáƒ•áƒ¢áƒ გáƒáƒ¨áƒ•áƒ”ბáƒ',chkLoop:'ჩáƒáƒªáƒ˜áƒ™áƒšáƒ•áƒ',chkMenu:'Flash-ის მენიუს დáƒáƒ¨áƒ•áƒ”ბáƒ',chkFull:'მთელი ეკრáƒáƒœáƒ˜áƒ¡ დáƒáƒ¨áƒ•áƒ”ბáƒ',scale:'მáƒáƒ¡áƒ¨áƒ¢áƒáƒ‘ირებáƒ',scaleAll:'ყველáƒáƒ¤áƒ áƒ˜áƒ¡ ჩვენებáƒ',scaleNoBorder:'ჩáƒáƒ áƒ©áƒáƒ¡ გáƒáƒ áƒ”შე',scaleFit:'ზუსტი ჩáƒáƒ¡áƒ›áƒ',access:'სკრიპტის წვდáƒáƒ›áƒ',accessAlways:'ყáƒáƒ•áƒ”ლთვის',accessSameDomain:'იგივე დáƒáƒ›áƒ”ნი',accessNever:'áƒáƒ áƒáƒ¡áƒ“რáƒáƒ¡',alignAbsBottom:'ჩáƒáƒ áƒ©áƒáƒ¡ ქვემáƒáƒ—რნáƒáƒ¬áƒ˜áƒšáƒ˜áƒ¡ სწáƒáƒ áƒ”ბრტექსტისთვის',alignAbsMiddle:'ჩáƒáƒ áƒ©áƒáƒ¡ შურნáƒáƒ¬áƒ˜áƒšáƒ˜áƒ¡ სწáƒáƒ áƒ”ბრტექსტისთვის',alignBaseline:'სáƒáƒ‘áƒáƒ–ისრხáƒáƒ–ის სწáƒáƒ áƒ”ბáƒ',alignTextTop:'ტექსტი ზემáƒáƒ“áƒáƒœ',quality:'ხáƒáƒ áƒ˜áƒ¡áƒ®áƒ˜',qualityBest:'სáƒáƒ£áƒ™áƒ”თესáƒ',qualityHigh:'მáƒáƒ¦áƒáƒšáƒ˜',qualityAutoHigh:'მáƒáƒ¦áƒáƒšáƒ˜ (áƒáƒ•áƒ¢áƒáƒ›áƒáƒ¢áƒ£áƒ áƒ˜)',qualityMedium:'სáƒáƒ¨áƒ£áƒáƒšáƒ',qualityAutoLow:'ძáƒáƒšáƒ˜áƒáƒœ დáƒáƒ‘áƒáƒšáƒ˜',qualityLow:'დáƒáƒ‘áƒáƒšáƒ˜',windowModeWindow:'ფáƒáƒœáƒ¯áƒáƒ áƒ',windowModeOpaque:'გáƒáƒ£áƒ›áƒ­áƒ•áƒ˜áƒ áƒ•áƒáƒšáƒ”',windowModeTransparent:'გáƒáƒ›áƒ­áƒ•áƒ˜áƒ áƒ•áƒáƒšáƒ”',windowMode:'ფáƒáƒœáƒ¯áƒ áƒ˜áƒ¡ რეჟიმი',flashvars:'ცვლáƒáƒ“ები Flash-ისთვის',bgcolor:'ფáƒáƒœáƒ˜áƒ¡ ფერი',hSpace:'ჰáƒáƒ áƒ˜áƒ–. სივრცე',vSpace:'ვერტ. სივრცე',validateSrc:'URL áƒáƒ  უნდრიყáƒáƒ¡ ცáƒáƒ áƒ˜áƒ”ლი.',validateHSpace:'ჰáƒáƒ áƒ˜áƒ–áƒáƒœáƒ¢áƒáƒšáƒ£áƒ áƒ˜ სივრცე áƒáƒ  უნდრიყáƒáƒ¡ ცáƒáƒ áƒ˜áƒ”ლი.',validateVSpace:'ვერტიკáƒáƒšáƒ£áƒ áƒ˜ სივრცე áƒáƒ  უნდრიყáƒáƒ¡ ცáƒáƒ áƒ˜áƒ”ლი.'},spellCheck:{toolbar:'მáƒáƒ áƒ—ლწერáƒ',title:'მáƒáƒ áƒ—ლწერáƒ',notAvailable:'უკáƒáƒªáƒ áƒáƒ•áƒáƒ“, ეს სერვისი áƒáƒ›áƒŸáƒáƒ›áƒáƒ“ მიუწვდáƒáƒ›áƒ”ლიáƒ.',errorLoading:'სერვისის გáƒáƒ›áƒáƒ«áƒáƒ®áƒ”ბის შეცდáƒáƒ›áƒ: %s.',notInDic:'áƒáƒ áƒáƒ ლექსიკáƒáƒœáƒ¨áƒ˜',changeTo:'შეცვლელი',btnIgnore:'უგულებელყáƒáƒ¤áƒ',btnIgnoreAll:'ყველáƒáƒ¡ უგულებელყáƒáƒ¤áƒ',btnReplace:'შეცვლáƒ',btnReplaceAll:'ყველáƒáƒ¡ შეცვლáƒ',btnUndo:'გáƒáƒ£áƒ¥áƒ›áƒ”ბáƒ',noSuggestions:'- áƒáƒ áƒáƒ შემáƒáƒ—áƒáƒ•áƒáƒ–ებრ-',progress:'მიმდინáƒáƒ áƒ”áƒáƒ‘ს მáƒáƒ áƒ—ლწერის შემáƒáƒ¬áƒ›áƒ”ბáƒ...',noMispell:'მáƒáƒ áƒ—ლწერის შემáƒáƒ¬áƒ›áƒ”ბáƒ: შეცდáƒáƒ›áƒ áƒáƒ  მáƒáƒ˜áƒ«áƒ”ბნáƒ',noChanges:'მáƒáƒ áƒ—ლწერის შემáƒáƒ¬áƒ›áƒ”ბáƒ: áƒáƒ áƒáƒ¤áƒ”რი შეცვლილáƒ',oneChange:'მáƒáƒ áƒ—ლწერის შემáƒáƒ¬áƒ›áƒ”ბáƒ: ერთი სიტყვრშეიცვáƒáƒšáƒ',manyChanges:'მáƒáƒ áƒ—ლწერის შემáƒáƒ¬áƒ›áƒ”ბáƒ: %1 სიტყვრშეიცვáƒáƒšáƒ',ieSpellDownload:'მáƒáƒ áƒ—ლწერის შემáƒáƒ¬áƒ›áƒ”ბრáƒáƒ áƒáƒ დáƒáƒ˜áƒœáƒ¡áƒ¢áƒáƒšáƒ˜áƒ áƒ”ბული. ჩáƒáƒ›áƒáƒ•áƒ¥áƒáƒ©áƒáƒ— ინტერნეტიდáƒáƒœ?'},smiley:{toolbar:'სიცილáƒáƒ™áƒ”ბი',title:'სიცილáƒáƒ™áƒ˜áƒ¡ ჩáƒáƒ¡áƒ›áƒ',options:'სიცილáƒáƒ™áƒ˜áƒ¡ პáƒáƒ áƒáƒ›áƒ”ტრები'},elementsPath:{eleLabel:'ელემეტის გზáƒ',eleTitle:'%1 ელემენტი'},numberedlist:'გáƒáƒ“áƒáƒœáƒáƒ›áƒ áƒ˜áƒšáƒ˜ სიáƒ',bulletedlist:'ღილიáƒáƒœáƒ˜ სიáƒ',indent:'მეტáƒáƒ“ შეწევáƒ',outdent:'ნáƒáƒ™áƒšáƒ”ბáƒáƒ“ შეწევáƒ',justify:{left:'მáƒáƒ áƒªáƒ®áƒœáƒ˜áƒ• სწáƒáƒ áƒ”ბáƒ',center:'შუáƒáƒ¨áƒ˜ სწáƒáƒ áƒ”ბáƒ',right:'მáƒáƒ áƒ¯áƒ•áƒœáƒ˜áƒ• სწáƒáƒ áƒ”ბáƒ',block:'გáƒáƒ“áƒáƒ¡áƒ¬áƒáƒ áƒ”ბáƒ'},blockquote:'ციტáƒáƒ¢áƒ',clipboard:{title:'ჩáƒáƒ¡áƒ›áƒ',cutError:'თქვენი ბრáƒáƒ£áƒ–ერის უსáƒáƒ¤áƒ áƒ—ხáƒáƒ”ბის პáƒáƒ áƒáƒ›áƒ”ტრები áƒáƒ  იძლევრáƒáƒ›áƒáƒ­áƒ áƒ˜áƒ¡ áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ˜áƒ¡ áƒáƒ•áƒ¢áƒáƒ›áƒáƒ¢áƒ£áƒ áƒáƒ“ გáƒáƒœáƒ®áƒáƒ áƒªáƒ˜áƒ”ლების სáƒáƒ¨áƒ£áƒáƒšáƒ”ბáƒáƒ¡. გáƒáƒ›áƒáƒ˜áƒ§áƒ”ნეთ კლáƒáƒ•áƒ˜áƒáƒ¢áƒ£áƒ áƒ áƒáƒ›áƒ˜áƒ¡áƒ—ვის (Ctrl/Cmd+X).',copyError:'თქვენი ბრáƒáƒ£áƒ–ერის უსáƒáƒ¤áƒ áƒ—ხáƒáƒ”ბის პáƒáƒ áƒáƒ›áƒ”ტრები áƒáƒ  იძლევრáƒáƒ¡áƒšáƒ˜áƒ¡ áƒáƒžáƒ”რáƒáƒªáƒ˜áƒ˜áƒ¡ áƒáƒ•áƒ¢áƒáƒ›áƒáƒ¢áƒ£áƒ áƒáƒ“ გáƒáƒœáƒ®áƒáƒ áƒªáƒ˜áƒ”ლების სáƒáƒ¨áƒ£áƒáƒšáƒ”ბáƒáƒ¡. გáƒáƒ›áƒáƒ˜áƒ§áƒ”ნეთ კლáƒáƒ•áƒ˜áƒáƒ¢áƒ£áƒ áƒ áƒáƒ›áƒ˜áƒ¡áƒ—ვის (Ctrl/Cmd+C).',pasteMsg:'ჩáƒáƒ¡áƒ•áƒ˜áƒ— áƒáƒ› áƒáƒ áƒ˜áƒ¡ შიგნით კლáƒáƒ•áƒ˜áƒáƒ¢áƒ£áƒ áƒ˜áƒ¡ გáƒáƒ›áƒáƒ§áƒ”ნებით (<strong>Ctrl/Cmd+V</strong>) დრდáƒáƒáƒ­áƒ˜áƒ áƒ”თ OK-ს',securityMsg:'თქვენი ბრáƒáƒ£áƒ–ერის უსáƒáƒ¤áƒ áƒ—ხáƒáƒ”ბის პáƒáƒ áƒáƒ›áƒ”ტრები áƒáƒ  იძლევრclipboard-ის მáƒáƒœáƒáƒªáƒ”მების წვდáƒáƒ›áƒ˜áƒ¡ უფლებáƒáƒ¡. კიდევ უნდრჩáƒáƒ¡áƒ•áƒáƒ— ტექსტი áƒáƒ› ფáƒáƒœáƒ¯áƒáƒ áƒáƒ¨áƒ˜.',pasteArea:'ჩáƒáƒ¡áƒ›áƒ˜áƒ¡ áƒáƒ áƒ”'},pastefromword:{confirmCleanup:'ჩáƒáƒ¡áƒáƒ¡áƒ›áƒ”ლი ტექსტი ვáƒáƒ áƒ“იდáƒáƒœ გáƒáƒ“მáƒáƒ¢áƒáƒœáƒ˜áƒšáƒ¡ გáƒáƒ•áƒ¡ - გინდáƒáƒ— მისი წინáƒáƒ¡áƒ¬áƒáƒ  გáƒáƒ¬áƒ›áƒ”ნდáƒ?',toolbar:'ვáƒáƒ áƒ“იდáƒáƒœ ჩáƒáƒ¡áƒ›áƒ',title:'ვáƒáƒ áƒ“იდáƒáƒœ ჩáƒáƒ¡áƒ›áƒ',error:'შიდრშეცდáƒáƒ›áƒ˜áƒ¡ გáƒáƒ›áƒ ვერ მáƒáƒ®áƒ”რხდრტექსტის გáƒáƒ¬áƒ›áƒ”ნდáƒ'},pasteText:{button:'მხáƒáƒšáƒáƒ“ ტექსტის ჩáƒáƒ¡áƒ›áƒ',title:'მხáƒáƒšáƒáƒ“ ტექსტის ჩáƒáƒ¡áƒ›áƒ'},templates:{button:'თáƒáƒ áƒ’ები',title:'თáƒáƒ áƒ’ები',options:'თáƒáƒ áƒ’ების პáƒáƒ áƒáƒ›áƒ”ტრები',insertOption:'მიმდინáƒáƒ áƒ” შეგთáƒáƒ•áƒ¡áƒ˜áƒ¡ შეცვლáƒ',selectPromptMsg:'áƒáƒ˜áƒ áƒ©áƒ˜áƒ”თ თáƒáƒ áƒ’ი რედáƒáƒ¥áƒ¢áƒáƒ áƒ˜áƒ¡áƒ—ვის',emptyListMsg:'(თáƒáƒ áƒ’ი áƒáƒ áƒáƒ გáƒáƒœáƒ¡áƒáƒ–ღვრული)'},showBlocks:'áƒáƒ áƒ”ების ჩვენებáƒ',stylesCombo:{label:'სტილები',panelTitle:'ფáƒáƒ áƒ›áƒáƒ¢áƒ˜áƒ áƒ”ბის სტილები',panelTitle1:'áƒáƒ áƒ˜áƒ¡ სტილები',panelTitle2:'თáƒáƒœáƒ“áƒáƒ áƒ—ული სტილები',panelTitle3:'áƒáƒ‘იექტის სტილები'},format:{label:'ფიáƒáƒ áƒ›áƒáƒ¢áƒ˜áƒ áƒ”ბáƒ',panelTitle:'ფáƒáƒ áƒ›áƒáƒ¢áƒ˜áƒ áƒ”ბáƒ',tag_p:'ჩვეულებრივი',tag_pre:'ფáƒáƒ áƒ›áƒáƒ¢áƒ˜áƒ áƒ”ბული',tag_address:'მისáƒáƒ›áƒáƒ áƒ—ი',tag_h1:'სáƒáƒ—áƒáƒ£áƒ áƒ˜ 1',tag_h2:'სáƒáƒ—áƒáƒ£áƒ áƒ˜ 2',tag_h3:'სáƒáƒ—áƒáƒ£áƒ áƒ˜ 3',tag_h4:'სáƒáƒ—áƒáƒ£áƒ áƒ˜ 4',tag_h5:'სáƒáƒ—áƒáƒ£áƒ áƒ˜ 5',tag_h6:'სáƒáƒ—áƒáƒ£áƒ áƒ˜ 6',tag_div:'ჩვეულებრივი (DIV)'},div:{title:'Div კáƒáƒœáƒ¢áƒ”ინერის შექმნáƒ',toolbar:'Div კáƒáƒœáƒ¢áƒ”ინერის შექმნáƒ',cssClassInputLabel:'CSS კლáƒáƒ¡áƒ”ბი',styleSelectLabel:'სტილი',IdInputLabel:'Id',languageCodeInputLabel:'ენის კáƒáƒ“ი',inlineStyleInputLabel:'თáƒáƒœáƒ“áƒáƒ áƒ—ული სტილი',advisoryTitleInputLabel:'სáƒáƒ—áƒáƒ£áƒ áƒ˜',langDirLabel:'ენის მინáƒáƒ áƒ—ულებáƒ',langDirLTRLabel:'მáƒáƒ áƒªáƒ®áƒœáƒ˜áƒ“áƒáƒœ მáƒáƒ áƒ¯áƒ•áƒœáƒ˜áƒª (LTR)',langDirRTLLabel:'მáƒáƒ áƒ¯áƒ•áƒœáƒ˜áƒ“áƒáƒœ მáƒáƒ áƒªáƒ®áƒœáƒ˜áƒ• (RTL)',edit:'Div-ის რედáƒáƒ¥áƒ¢áƒ˜áƒ áƒ”ბáƒ',remove:'Div-ის წáƒáƒ¨áƒšáƒ'},iframe:{title:'IFrame-ის პáƒáƒ áƒáƒ›áƒ”ტრები',toolbar:'IFrame',noUrl:'áƒáƒ™áƒ áƒ˜áƒ¤áƒ”თ iframe-ის URL',scrolling:'გáƒáƒ“áƒáƒ®áƒ•áƒ”ვის ზáƒáƒšáƒ”ბის დáƒáƒ¨áƒ•áƒ”ბáƒ',border:'ჩáƒáƒ áƒ©áƒáƒ¡ გáƒáƒ›áƒáƒ©áƒ”ნáƒ'},font:{label:'ფáƒáƒœáƒ¢áƒ˜',voiceLabel:'ფáƒáƒœáƒ¢áƒ˜',panelTitle:'ფáƒáƒœáƒ¢áƒ˜áƒ¡ სáƒáƒ®áƒ”ლი'},fontSize:{label:'ზáƒáƒ›áƒ',voiceLabel:'ტექსტის ზáƒáƒ›áƒ',panelTitle:'ტექსტის ზáƒáƒ›áƒ'},colorButton:{textColorTitle:'ტექსტის ფერი',bgColorTitle:'ფáƒáƒœáƒ˜áƒ¡ ფერი',panelTitle:'ფერები',auto:'áƒáƒ•áƒ¢áƒáƒ›áƒáƒ¢áƒ£áƒ áƒ˜',more:'მეტი ფერი...'},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:'ღირცისფერი 2',F0F8FF:'ღირცისფერი 3',E6E6FA:'ღირიისფერი 2',FFF:'თეთრი'},scayt:{title:'მáƒáƒ áƒ—ლწერის შემáƒáƒ¬áƒ›áƒ”ბრკრეფისáƒáƒ¡',opera_title:'áƒáƒ áƒáƒ მხáƒáƒ áƒ“áƒáƒ­áƒ”რილი Opera-ს მიერ',enable:'SCAYT-ის ჩáƒáƒ áƒ—ვáƒ',disable:'SCAYT-ის გáƒáƒ›áƒáƒ áƒ—ვáƒ',about:'SCAYT-ის შესáƒáƒ®áƒ”ბ',toggle:'SCAYT-ის გáƒáƒ“áƒáƒ áƒ—ვáƒ',options:'პáƒáƒ áƒáƒ›áƒ”ტრები',langs:'ენები',moreSuggestions:'მეტი შემáƒáƒ—áƒáƒ•áƒáƒ–ებáƒ',ignore:'უგულებელყáƒáƒ¤áƒ',ignoreAll:'ყველáƒáƒ¡ უგულებელყáƒáƒ¤áƒ',addWord:'სიტყვის დáƒáƒ›áƒáƒ¢áƒ”ბáƒ',emptyDic:'ლექსიკáƒáƒœáƒ˜áƒ¡ სიტყვრáƒáƒ  უნდრიყáƒáƒ¡ ცáƒáƒ áƒ˜áƒ”ლი.',noSuggestions:'No suggestions',optionsTab:'პáƒáƒ áƒáƒ›áƒ”ტრები',allCaps:'დიდი áƒáƒ¡áƒáƒ”ბით დáƒáƒ¬áƒ”რილი სიტყვების უგულებელყáƒáƒ¤áƒ',ignoreDomainNames:'დáƒáƒ›áƒ”ნური სáƒáƒ®áƒ”ლების უგულებელყáƒáƒ¤áƒ',mixedCase:'შერეული áƒáƒ¡áƒáƒ”ბáƒáƒœáƒ˜ სიტყვების უგულებელყáƒáƒ¤áƒ',mixedWithDigits:'ციფრებიáƒáƒœáƒ˜ სიტყვების უგულებელყáƒáƒ¤áƒ',languagesTab:'ენები',dictionariesTab:'ლექსიკáƒáƒœáƒ”ბი',dic_field_name:'ლექსიკáƒáƒœáƒ˜áƒ¡ სáƒáƒ®áƒ”ლი',dic_create:'შექმნáƒ',dic_restore:'დáƒáƒ‘რუნებáƒ',dic_delete:'წáƒáƒ¨áƒšáƒ',dic_rename:'გáƒáƒ“áƒáƒ áƒ¥áƒ›áƒ”ვáƒ',dic_info:'თáƒáƒ•áƒ“áƒáƒžáƒ˜áƒ áƒ•áƒ”ლáƒáƒ“ მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბლის ლექსიკáƒáƒœáƒ˜ ინáƒáƒ®áƒ”ბრCookie-ში. თუმცრCookie შეზღუდულირზáƒáƒ›áƒáƒ¨áƒ˜. რáƒáƒªáƒ ლექსიკáƒáƒœáƒ˜áƒ¡ ზáƒáƒ›áƒ გáƒáƒ˜áƒ–რდებრსáƒáƒ™áƒ›áƒáƒáƒ“ ის შეიძლებრშევინáƒáƒ®áƒáƒ— ჩვენს სერვერზე. ჩვენს სერვერზე ლექსიკáƒáƒœáƒ¡ შესáƒáƒœáƒáƒ®áƒáƒ“ უნდრმიუთითáƒáƒ— მისი სáƒáƒ®áƒ”ლი. თუ უკე გáƒáƒ¥áƒ•áƒ— ლექსიკáƒáƒœáƒ˜, áƒáƒ™áƒ áƒ˜áƒ¤áƒ”თ მისი სáƒáƒ®áƒ”ლი დრდáƒáƒáƒ­áƒ˜áƒ áƒ”თ "დáƒáƒ‘რუნების" ღილáƒáƒ™áƒ¡.',aboutTab:'ინფáƒáƒ áƒ›áƒáƒªáƒ˜áƒ'},about:{title:'CKEditor-ის შესáƒáƒ®áƒ”ბ',dlgTitle:'CKEditor-ის შესáƒáƒ®áƒ”ბ',help:'დáƒáƒ®áƒ›áƒáƒ áƒ”ბისთვის იხილეთ $1.',userGuide:'CKEditor-ის მáƒáƒ›áƒ®áƒ›áƒáƒ áƒ”ბლის სáƒáƒ®áƒ”ლმძღვáƒáƒœáƒ”ლáƒ',moreInfo:'ლიცენზიის ინფáƒáƒ áƒ›áƒáƒªáƒ˜áƒ˜áƒ¡áƒ—ვის ეწვიეთ ჩვენს სáƒáƒ˜áƒ¢áƒ¡:',copy:'Copyright &copy; $1. ყველრუფლებრდáƒáƒªáƒ£áƒšáƒ˜áƒ.'},maximize:'გáƒáƒ“იდებáƒ',minimize:'დáƒáƒžáƒáƒ¢áƒáƒ áƒáƒ•áƒ”ბáƒ',fakeobjects:{anchor:'ღუზáƒ',flash:'Flash áƒáƒœáƒ˜áƒ›áƒáƒªáƒ˜áƒ',iframe:'IFrame',hiddenfield:'მáƒáƒšáƒ£áƒšáƒ˜ ველი',unknown:'უცნáƒáƒ‘ი áƒáƒ‘იექტი'},resize:'გáƒáƒ¬áƒ˜áƒ” ზáƒáƒ›áƒ˜áƒ¡ შესáƒáƒªáƒ•áƒšáƒ”ლáƒáƒ“',colordialog:{title:'ფერის შეცვლáƒ',options:'ფერის პáƒáƒ áƒáƒ›áƒ”ტრები',highlight:'ჩვენებáƒ',selected:'áƒáƒ áƒ©áƒ”ული ფერი',clear:'გáƒáƒ¡áƒ£áƒ¤áƒ—áƒáƒ•áƒ”ბáƒ'},toolbarCollapse:'ხელსáƒáƒ¬áƒ§áƒáƒ—რზáƒáƒšáƒ˜áƒ¡ შეწევáƒ',toolbarExpand:'ხელსáƒáƒ¬áƒ§áƒáƒ—რზáƒáƒšáƒ˜áƒ¡ გáƒáƒ›áƒáƒ¬áƒ”ვáƒ',toolbarGroups:{document:'დáƒáƒ™áƒ£áƒ›áƒ”ნტი',clipboard:'Clipboard/გáƒáƒ£áƒ¥áƒ›áƒ”ბáƒ',editing:'რედáƒáƒ¥áƒ¢áƒ˜áƒ áƒ”ბáƒ',forms:'ფáƒáƒ áƒ›áƒ”ბი',basicstyles:'ძირითáƒáƒ“ი სტილები',paragraph:'áƒáƒ‘ზáƒáƒªáƒ˜',links:'ბმულები',insert:'ჩáƒáƒ¡áƒ›áƒ',styles:'სტილები',colors:'ფერები',tools:'ხელსáƒáƒ¬áƒ§áƒáƒ”ბი'},bidi:{ltr:'ტექსტის მიმáƒáƒ áƒ—ულებრმáƒáƒ áƒªáƒ®áƒœáƒ˜áƒ“áƒáƒœ მáƒáƒ áƒ¯áƒ•áƒœáƒ˜áƒ•',rtl:'ტექსტის მიმáƒáƒ áƒ—ულებრმáƒáƒ áƒ¯áƒ•áƒœáƒ˜áƒ“áƒáƒœ მáƒáƒ áƒªáƒ®áƒœáƒ˜áƒ•'},docprops:{label:'დáƒáƒ™áƒ£áƒ›áƒ”ნტის პáƒáƒ áƒáƒ›áƒ”ტრები',title:'დáƒáƒ™áƒ£áƒ›áƒ”ნტის პáƒáƒ áƒáƒ›áƒ”ტრები',design:'დიზáƒáƒ˜áƒœáƒ˜',meta:'მეტáƒTag-ები',chooseColor:'áƒáƒ áƒ©áƒ”ვáƒ',other:'სხვáƒ...',docTitle:'გვერდის სáƒáƒ—áƒáƒ£áƒ áƒ˜',charset:'კáƒáƒ“ირებáƒ',charsetOther:'სხვრკáƒáƒ“ირებები',charsetASCII:'áƒáƒ›áƒ”რიკული (ASCII)',charsetCE:'ცენტრáƒáƒšáƒ£áƒ  ევრáƒáƒžáƒ£áƒšáƒ˜',charsetCT:'ტრáƒáƒ“იციული ჩინური (Big5)',charsetCR:'კირილური',charsetGR:'ბერძნული',charsetJP:'იáƒáƒžáƒáƒœáƒ£áƒ áƒ˜',charsetKR:'კáƒáƒ áƒ”ული',charsetTR:'თურქული',charsetUN:'უნიკáƒáƒ“ი (UTF-8)',charsetWE:'დáƒáƒ¡áƒáƒ•áƒšáƒ”თ ევრáƒáƒžáƒ£áƒšáƒ˜',docType:'დáƒáƒ™áƒ£áƒ›áƒ”ნტის ტიპი',docTypeOther:'სხვრტიპის დáƒáƒ™áƒ£áƒ›áƒ”ნტი',xhtmlDec:'XHTML დეკლáƒáƒ áƒáƒªáƒ˜áƒ”ბის ჩáƒáƒ áƒ—ვáƒ',bgColor:'ფáƒáƒœáƒ˜áƒ¡ ფერი',bgImage:'ფáƒáƒœáƒ£áƒ áƒ˜ სურáƒáƒ—ის URL',bgFixed:'უმáƒáƒ«áƒ áƒáƒ (ფიქსირებული) ფáƒáƒœáƒ˜',txtColor:'ტექსტის ფერი',margin:'გვერდის კიდეები',marginTop:'ზედáƒ',marginLeft:'მáƒáƒ áƒªáƒ®áƒ”ნáƒ',marginRight:'მáƒáƒ áƒ¯áƒ•áƒ”ნáƒ',marginBottom:'ქვედáƒ',metaKeywords:'დáƒáƒ™áƒ£áƒ›áƒ”ნტის სáƒáƒ™áƒ•áƒáƒœáƒ«áƒ სიტყვები (მძიმით გáƒáƒ›áƒáƒ§áƒáƒ¤áƒ˜áƒšáƒ˜)',metaDescription:'დáƒáƒ™áƒ£áƒ›áƒ”ნტის áƒáƒ¦áƒ¬áƒ”რáƒ',metaAuthor:'áƒáƒ•áƒ¢áƒáƒ áƒ˜',metaCopyright:'Copyright',previewHtml:'<p>ეს áƒáƒ áƒ˜áƒ¡ <strong>სáƒáƒªáƒ“ელი ტექსტი</strong>. თქვენ <a href="javascript:void(0)">CKEditor</a>-ით სáƒáƒ áƒ’ებლáƒáƒ‘თ.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/km.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/km.js
deleted file mode 100644
index 3831930..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/km.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.km={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'Editor toolbars',editor:'Rich Text Editor',source:'កូáž',newPage:'ទំពáŸážšážáŸ’មី',save:'រក្សាទុក',preview:'មើលសាកល្បង',cut:'កាážáŸ‹áž™áž€',copy:'ចំលងយក',paste:'ចំលងដាក់',print:'បោះពុម្ភ',underline:'ដិážáž”ន្ទាážáŸ‹áž–ីក្រោមអក្សរ',bold:'អក្សរដិážáž’ំ',italic:'អក្សរផ្ážáŸáž€',selectAll:'ជ្រើសរើសទាំងអស់',removeFormat:'លប់ចោល ការរចនា',strike:'ដិážáž”ន្ទាážáŸ‹áž–ាក់កណ្ážáž¶áž›áž¢áž€áŸ’សរ',subscript:'អក្សរážáž¼áž…ក្រោម',superscript:'អក្សរážáž¼áž…លើ',horizontalrule:'បន្ážáŸ‚មបន្ទាážáŸ‹áž•áŸ’ážáŸáž€',pagebreak:'បន្ážáŸ‚ម ការផ្ážáž¶áž…់ទំពáŸážš',pagebreakAlt:'Page Break',unlink:'លប់ឈ្នាប់',undo:'សារឡើងវិញ',redo:'ធ្វើឡើងវិញ',common:{browseServer:'មើល',url:'URL',protocol:'ប្រូážáž¼áž€áž¼áž›',upload:'ទាញយក',uploadSubmit:'បញ្ជូនទៅកាន់ម៉ាស៊ីនផ្ážáž›áŸ‹ážŸáŸážœáž¶',image:'រូបភាព',flash:'Flash',form:'បែបបទ',checkbox:'ប្រអប់ជ្រើសរើស',radio:'ប៉ូážáž»áž“រង្វង់មូល',textField:'ជួរសរសáŸážšáž¢ážáŸ’ážáž”áž‘',textarea:'ážáŸ†áž”ន់សរសáŸážšáž¢ážáŸ’ážáž”áž‘',hiddenField:'ជួរលាក់',button:'ប៉ូážáž»áž“',select:'ជួរជ្រើសរើស',imageButton:'ប៉ូážáž»áž“រូបភាព',notSet:'<មិនមែន>',id:'Id',name:'ឈ្មោះ',langDir:'ទិសដៅភាសា',langDirLtr:'ពីឆ្វáŸáž„ទៅស្ážáž¶áŸ†(LTR)',langDirRtl:'ពីស្ážáž¶áŸ†áž‘ៅឆ្វáŸáž„(RTL)',langCode:'áž›áŸážáž€áž¼ážáž—ាសា',longDescr:'អធិប្បាយ URL វែង',cssClass:'Stylesheet Classes',advisoryTitle:'ចំណងជើង ប្រឹក្សា',cssStyle:'ម៉ូáž',ok:'យល់ព្រម',cancel:'មិនយល់ព្រម',close:'Close',preview:'Preview',generalTab:'General',advancedTab:'កំរិážážáŸ’ពស់',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:'Some of the options have been changed. Are you sure to close the dialog?',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:'ទទឹង',height:'កំពស់',align:'កំណážáŸ‹áž‘ីážáž¶áŸ†áž„',alignLeft:'ážáž¶áž„ឆ្វង',alignRight:'ážáž¶áž„ស្ážáž¶áŸ†',alignCenter:'កណ្ážáž¶áž›',alignTop:'ážáž¶áž„លើ',alignMiddle:'កណ្ážáž¶áž›',alignBottom:'ážáž¶áž„ក្រោម',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'បន្ážáŸ‚មអក្សរពិសáŸážŸ',title:'ážáž¼áž¢áž€áŸ’សរពិសáŸážŸ',options:'Special Character Options'},link:{toolbar:'បន្ážáŸ‚ម/កែប្រែ ឈ្នាប់',other:'<other>',menu:'កែប្រែឈ្នាប់',title:'ឈ្នាប់',info:'áž–ážáŸŒáž˜áž¶áž“អំពីឈ្នាប់',target:'គោលដៅ',upload:'ទាញយក',advanced:'កំរិážážáŸ’ពស់',type:'ប្រភáŸáž‘ឈ្នាប់',toUrl:'URL',toAnchor:'យុážáŸ’កានៅក្នុងទំពáŸážšáž“áŸáŸ‡',toEmail:'អ៊ីមែល',targetFrame:'<ហ្វ្រáŸáž˜>',targetPopup:'<វីនដូវ លោáž>',targetFrameName:'ឈ្មោះហ្រ្វáŸáž˜ážŠáŸ‚លជាគោលដៅ',targetPopupName:'ឈ្មោះវីនដូវលោáž',popupFeatures:'លក្ážážŽáŸ‡ážšáž”ស់វីនដូលលោáž',popupResizable:'Resizable',popupStatusBar:'របា áž–ážáŸŒáž˜áž¶áž“',popupLocationBar:'របា ទីážáž¶áŸ†áž„',popupToolbar:'របា ឩបករណáŸ',popupMenuBar:'របា មឺនុយ',popupFullScreen:'អáŸáž€áŸ’រុងពáŸáž‰(IE)',popupScrollBars:'របា ទាញ',popupDependent:'អាស្រáŸáž™áž›áž¾ (Netscape)',popupLeft:'ទីážáž¶áŸ†áž„ážáž¶áž„ឆ្វáŸáž„',popupTop:'ទីážáž¶áŸ†áž„ážáž¶áž„លើ',id:'Id',langDir:'ទិសដៅភាសា',langDirLTR:'ពីឆ្វáŸáž„ទៅស្ážáž¶áŸ†(LTR)',langDirRTL:'ពីស្ážáž¶áŸ†áž‘ៅឆ្វáŸáž„(RTL)',acccessKey:'ឃី សំរាប់ចូល',name:'ឈ្មោះ',langCode:'ទិសដៅភាសា',tabIndex:'áž›áŸáž Tab',advisoryTitle:'ចំណងជើង ប្រឹក្សា',advisoryContentType:'ប្រភáŸáž‘អážáŸ’ážáž”áž‘ ប្រឹក្សា',cssClasses:'Stylesheet Classes',charset:'áž›áŸážáž€áž¼ážáž¢áž€áŸ’សររបស់ឈ្នាប់',styles:'ម៉ូáž',rel:'Relationship',selectAnchor:'ជ្រើសរើសយុážáŸ’កា',anchorName:'ážáž¶áž˜ážˆáŸ’មោះរបស់យុážáŸ’កា',anchorId:'ážáž¶áž˜ Id',emailAddress:'អ៊ីមែល',emailSubject:'ចំណងជើងអážáŸ’ážáž”áž‘',emailBody:'អážáŸ’ážáž”áž‘',noAnchors:'(No anchors available in the document)',noUrl:'សូមសរសáŸážš អាសáŸáž™ážŠáŸ’ឋាន URL',noEmail:'សូមសរសáŸážš អាសáŸáž™ážŠáŸ’ឋាន អ៊ីមែល'},anchor:{toolbar:'បន្ážáŸ‚ម/កែប្រែ យុážáŸ’កា',menu:'ការកំណážáŸ‹áž™áž»ážáŸ’កា',title:'ការកំណážáŸ‹áž™áž»ážáŸ’កា',name:'ឈ្មោះយុទ្ធážáŸ’កា',errorName:'សូមសរសáŸážš ឈ្មោះយុទ្ធážáŸ’កា',remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Find and Replace',find:'ស្វែងរក',replace:'ជំនួស',findWhat:'ស្វែងរកអ្វី:',replaceWith:'ជំនួសជាមួយ:',notFoundMsg:'ពាក្យនáŸáŸ‡ រកមិនឃើញទ០។',findOptions:'Find Options',matchCase:'ករណ៉ážáŸ’រូវរក',matchWord:'ážáŸ’រូវពាក្យទាំងអស់',matchCyclic:'Match cyclic',replaceAll:'ជំនួសទាំងអស់',replaceSuccessMsg:'%1 occurrence(s) replaced.'},table:{toolbar:'ážáž¶ážšáž¶áž„',title:'ការកំណážáŸ‹ ážáž¶ážšáž¶áž„',menu:'ការកំណážáŸ‹ ážáž¶ážšáž¶áž„',deleteTable:'លប់ážáž¶ážšáž¶áž„',rows:'ជួរផ្ážáŸáž€',columns:'ជួរឈរ',border:'ទំហំស៊ុម',widthPx:'ភីកសែល',widthPc:'ភាគរយ',widthUnit:'width unit',cellSpace:'គំលាážážŸáŸ‚áž›',cellPad:'គែមសែល',caption:'ចំណងជើង',summary:'សáŸáž…ក្ážáž¸ážŸáž„្ážáŸáž”',headers:'Headers',headersNone:'None',headersColumn:'First column',headersRow:'First Row',headersBoth:'Both',invalidRows:'Number of rows must be a number greater than 0.',invalidCols:'Number of columns must be a number greater than 0.',invalidBorder:'Border size must be a number.',invalidWidth:'Table width must be a number.',invalidHeight:'Table height must be a number.',invalidCellSpacing:'Cell spacing must be a positive number.',invalidCellPadding:'Cell padding must be a positive number.',cell:{menu:'Cell',insertBefore:'Insert Cell Before',insertAfter:'Insert Cell After',deleteCell:'លប់សែល',merge:'បញ្ជូលសែល',mergeRight:'Merge Right',mergeDown:'Merge Down',splitHorizontal:'Split Cell Horizontally',splitVertical:'Split Cell Vertically',title:'Cell Properties',cellType:'Cell Type',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Word Wrap',hAlign:'Horizontal Alignment',vAlign:'Vertical Alignment',alignBaseline:'Baseline',bgColor:'Background Color',borderColor:'Border Color',data:'Data',header:'Header',yes:'Yes',no:'No',invalidWidth:'Cell width must be a number.',invalidHeight:'Cell height must be a number.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Choose'},row:{menu:'Row',insertBefore:'Insert Row Before',insertAfter:'Insert Row After',deleteRow:'លប់ជួរផ្ážáŸáž€'},column:{menu:'Column',insertBefore:'Insert Column Before',insertAfter:'Insert Column After',deleteColumn:'លប់ជួរឈរ'}},button:{title:'ការកំណážáŸ‹ ប៉ូážáž»áž“',text:'អážáŸ’ážáž”áž‘(ážáŸ†áž›áŸƒ)',type:'ប្រភáŸáž‘',typeBtn:'Button',typeSbm:'Submit',typeRst:'Reset'},checkboxAndRadio:{checkboxTitle:'ការកំណážáŸ‹áž”្រអប់ជ្រើសរើស',radioTitle:'ការកំណážáŸ‹áž”៉ូážáž»áž“រង្វង់',value:'ážáŸ†áž›áŸƒ',selected:'បានជ្រើសរើស'},form:{title:'ការកំណážáŸ‹áž”ែបបទ',menu:'ការកំណážáŸ‹áž”ែបបទ',action:'សកម្មភាព',method:'វិធី',encoding:'Encoding'},select:{title:'ការកំណážáŸ‹áž‡áž½ážšáž‡áŸ’រើសរើស',selectInfo:'áž–ážáŸŒáž˜áž¶áž“',opAvail:'ការកំណážáŸ‹áž‡áŸ’រើសរើស ដែលអាចកំណážáŸ‹áž”ាន',value:'ážáŸ†áž›áŸƒ',size:'ទំហំ',lines:'បន្ទាážáŸ‹',chkMulti:'អនុញ្ញាážáž¢áŸ„យជ្រើសរើសច្រើន',opText:'ពាក្យ',opValue:'ážáŸ†áž›áŸƒ',btnAdd:'បន្ážáŸ‚ម',btnModify:'ផ្លាស់ប្ážáž¼ážš',btnUp:'លើ',btnDown:'ក្រោម',btnSetValue:'Set as selected value',btnDelete:'លប់'},textarea:{title:'ការកំណážáŸ‹áž€áž“្លែងសរសáŸážšáž¢ážáŸ’ážáž”áž‘',cols:'ជូរឈរ',rows:'ជូរផ្ážáŸáž€'},textfield:{title:'ការកំណážáŸ‹áž‡áž½ážšáž¢ážáŸ’ážáž”áž‘',name:'ឈ្មោះ',value:'ážáŸ†áž›áŸƒ',charWidth:'ទទឹង អក្សរ',maxChars:'អក្សរអážáž·áž”រិមា',type:'ប្រភáŸáž‘',typeText:'ពាក្យ',typePass:'ពាក្យសំងាážáŸ‹'},hidden:{title:'ការកំណážáŸ‹áž‡áž½ážšáž›áž¶áž€áŸ‹',name:'ឈ្មោះ',value:'ážáŸ†áž›áŸƒ'},image:{title:'ការកំណážáŸ‹ážšáž¼áž”ភាព',titleButton:'ការកំណážáŸ‹áž”៉ូážáž»áž“រូបភាព',menu:'ការកំណážáŸ‹ážšáž¼áž”ភាព',infoTab:'áž–ážáŸŒáž˜áž¶áž“អំពីរូបភាព',btnUpload:'បញ្ជូនទៅកាន់ម៉ាស៊ីនផ្ážáž›áŸ‹ážŸáŸážœáž¶',upload:'ទាញយក',alt:'អážáŸ’ážáž”ទជំនួស',lockRatio:'អážáŸ’រាឡុក',resetSize:'កំណážáŸ‹áž‘ំហំឡើងវិញ',border:'ស៊ុម',hSpace:'គំលាážáž‘ទឹង',vSpace:'គំលាážáž”ណ្ážáŸ„áž™',alertUrl:'សូមសរសáŸážšáž„ាសáŸáž™ážŠáŸ’ឋានរបស់រូបភាព',linkTab:'ឈ្នាប់',button2Img:'Do you want to transform the selected image button on a simple image?',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'ការកំណážáŸ‹ Flash',propertiesTab:'Properties',title:'ការកំណážáŸ‹ Flash',chkPlay:'áž›áŸáž„ដោយស្វáŸáž™áž”្រវážáŸ’áž',chkLoop:'ចំនួនដង',chkMenu:'បង្ហាញ មឺនុយរបស់ Flash',chkFull:'Allow Fullscreen',scale:'ទំហំ',scaleAll:'បង្ហាញទាំងអស់',scaleNoBorder:'មិនបង្ហាញស៊ុម',scaleFit:'ážáŸ’រូវល្មម',access:'Script Access',accessAlways:'Always',accessSameDomain:'Same domain',accessNever:'Never',alignAbsBottom:'Abs Bottom',alignAbsMiddle:'Abs Middle',alignBaseline:'បន្ទាážáŸ‹áž‡áž¶áž˜áž¼áž›ážŠáŸ’ឋាន',alignTextTop:'លើអážáŸ’ážáž”áž‘',quality:'Quality',qualityBest:'Best',qualityHigh:'High',qualityAutoHigh:'Auto High',qualityMedium:'Medium',qualityAutoLow:'Auto Low',qualityLow:'Low',windowModeWindow:'Window',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Window mode',flashvars:'Variables for Flash',bgcolor:'ពណ៌ផ្ទៃážáž¶áž„ក្រោយ',hSpace:'គំលាážáž‘ទឹង',vSpace:'គំលាážáž”ណ្ážáŸ„áž™',validateSrc:'សូមសរសáŸážš អាសáŸáž™ážŠáŸ’ឋាន URL',validateHSpace:'HSpace must be a number.',validateVSpace:'VSpace must be a number.'},spellCheck:{toolbar:'áž–áž·áž“áž·ážáŸ’យអក្ážážšáž¶ážœáž·ážšáž»áž‘្ធ',title:'Spell Check',notAvailable:'Sorry, but service is unavailable now.',errorLoading:'Error loading application service host: %s.',notInDic:'គ្មានក្នុងវចនានុក្រម',changeTo:'ផ្លាស់ប្ážáž¼ážšáž‘ៅ',btnIgnore:'មិនផ្លាស់ប្ážáž¼ážš',btnIgnoreAll:'មិនផ្លាស់ប្ážáž¼ážš ទាំងអស់',btnReplace:'ជំនួស',btnReplaceAll:'ជំនួសទាំងអស់',btnUndo:'សារឡើងវិញ',noSuggestions:'- គ្មានសំណើរ -',progress:'កំពុងពិនិážáŸ’យអក្ážážšáž¶ážœáž·ážšáž»áž‘្ធ...',noMispell:'ការពិនិážáŸ’យអក្ážážšáž¶ážœáž·ážšáž»áž‘្ធបានចប់: គ្មានកំហុស',noChanges:'ការពិនិážáŸ’យអក្ážážšáž¶ážœáž·ážšáž»áž‘្ធបានចប់: ពុំមានផ្លាស់ប្ážáž¼ážš',oneChange:'ការពិនិážáŸ’យអក្ážážšáž¶ážœáž·ážšáž»áž‘្ធបានចប់: ពាក្យមួយážáŸ’រូចបានផ្លាស់ប្ážáž¼ážš',manyChanges:'ការពិនិážáŸ’យអក្ážážšáž¶ážœáž·ážšáž»áž‘្ធបានចប់: %1 ពាក្យបានផ្លាស់ប្ážáž¼ážš',ieSpellDownload:'ពុំមានកម្មវិធីពិនិážáŸ’យអក្ážážšáž¶ážœáž·ážšáž»áž‘្ធ ។ ážáž¾áž…ង់ទាញយកពីណា?'},smiley:{toolbar:'រូបភាព',title:'បញ្ជូលរូបភាព',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 element'},numberedlist:'បញ្ជីជាអក្សរ',bulletedlist:'បញ្ជីជារង្វង់មូល',indent:'បន្ážáŸ‚មការចូលបន្ទាážáŸ‹',outdent:'បន្ážáž™áž€áž¶ážšáž…ូលបន្ទាážáŸ‹',justify:{left:'ážáŸ†ážšáž¹áž˜áž†áŸ’ážœáŸáž„',center:'ážáŸ†ážšáž¹áž˜áž€ážŽáŸ’ážáž¶áž›',right:'ážáŸ†ážšáž¹áž˜ážŸáŸ’ážáž¶áŸ†',block:'ážáŸ†ážšáž¹áž˜ážŸáž„ážáž¶áž„'},blockquote:'Block Quote',clipboard:{title:'ចំលងដាក់',cutError:'ការកំណážáŸ‹ážŸáž»ážœážáŸ’ážáž—ាពរបស់កម្មវិធីរុករករបស់លោកអ្នក áž“áŸáŸ‡â€‹áž˜áž·áž“អាចធ្វើកម្មវិធីážáž¶áž€áŸ‹ážáŸ‚ងអážáŸ’ážáž”áž‘ កាážáŸ‹áž¢ážáŸ’ážáž”ទយកដោយស្វáŸáž™áž”្រវážáŸ’ážáž”ានឡើយ ។ សូមប្រើប្រាស់បន្សំ ឃីដូចនáŸáŸ‡ (Ctrl/Cmd+X) ។',copyError:'ការកំណážáŸ‹ážŸáž»ážœážáŸ’ážáž—ាពរបស់កម្មវិធីរុករករបស់លោកអ្នក áž“áŸáŸ‡â€‹áž˜áž·áž“អាចធ្វើកម្មវិធីážáž¶áž€áŸ‹ážáŸ‚ងអážáŸ’ážáž”áž‘ ចំលងអážáŸ’ážáž”ទយកដោយស្វáŸáž™áž”្រវážáŸ’ážáž”ានឡើយ ។ សូមប្រើប្រាស់បន្សំ ឃីដូចនáŸáŸ‡ (Ctrl/Cmd+C)។',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.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'ចំលងដាក់ពី Word',title:'ចំលងដាក់ពី Word',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'ចំលងដាក់អážáŸ’ážáž”ទធម្មážáž¶',title:'ចំលងដាក់អážáŸ’ážáž”ទធម្មážáž¶'},templates:{button:'ឯកសារគំរូ',title:'ឯកសារគំរូ របស់អážáŸ’ážáž“áŸáž™',options:'Template Options',insertOption:'Replace actual contents',selectPromptMsg:'សូមជ្រើសរើសឯកសារគំរូ ដើម្បីបើកនៅក្នុងកម្មវិធីážáž¶áž€áŸ‹ážáŸ‚ងអážáŸ’ážáž”áž‘<br>(អážáŸ’ážáž”ទនឹងបាážáŸ‹áž”ង់):',emptyListMsg:'(ពុំមានឯកសារគំរូážáŸ’រូវបានកំណážáŸ‹)'},showBlocks:'Show Blocks',stylesCombo:{label:'ម៉ូáž',panelTitle:'Formatting Styles',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'រចនា',panelTitle:'រចនា',tag_p:'Normal',tag_pre:'Formatted',tag_address:'Address',tag_h1:'Heading 1',tag_h2:'Heading 2',tag_h3:'Heading 3',tag_h4:'Heading 4',tag_h5:'Heading 5',tag_h6:'Heading 6',tag_div:'Normal (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'ហ្វុង',voiceLabel:'Font',panelTitle:'ហ្វុង'},fontSize:{label:'ទំហំ',voiceLabel:'Font Size',panelTitle:'ទំហំ'},colorButton:{textColorTitle:'ពណ៌អក្សរ',bgColorTitle:'ពណ៌ផ្ទៃážáž¶áž„ក្រោយ',panelTitle:'Colors',auto:'ស្វáŸáž™áž”្រវážáŸ’áž',more:'ពណ៌ផ្សáŸáž„ទៀáž..'},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'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Options',langs:'Languages',moreSuggestions:'More suggestions',ignore:'Ignore',ignoreAll:'Ignore All',addWord:'Add Word',emptyDic:'Dictionary name should not be empty.',noSuggestions:' គ្មានសំណើរ ',optionsTab:'Options',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Languages',dictionariesTab:'Dictionaries',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'About'},about:{title:'About CKEditor',dlgTitle:'About CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'For licensing information please visit our web site:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Maximize',minimize:'Minimize',fakeobjects:{anchor:'Anchor',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Unknown Object'},resize:'Drag to resize',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'ការកំណážáŸ‹ ឯកសារ',title:'ការកំណážáŸ‹ ឯកសារ',design:'Design',meta:'ទិន្ននáŸáž™áž˜áŸ',chooseColor:'Choose',other:'<other>',docTitle:'ចំណងជើងទំពáŸážš',charset:'កំណážáŸ‹áž›áŸážáž€áž¼ážáž—ាសា',charsetOther:'កំណážáŸ‹áž›áŸážáž€áž¼ážáž—ាសាផ្សáŸáž„ទៀáž',charsetASCII:'ASCII',charsetCE:'Central European',charsetCT:'Chinese Traditional (Big5)',charsetCR:'Cyrillic',charsetGR:'Greek',charsetJP:'Japanese',charsetKR:'Korean',charsetTR:'Turkish',charsetUN:'Unicode (UTF-8)',charsetWE:'Western European',docType:'ប្រភáŸáž‘ក្បាលទំពáŸážš',docTypeOther:'ប្រភáŸáž‘ក្បាលទំពáŸážšáž•áŸ’សáŸáž„ទៀáž',xhtmlDec:'បញ្ជូល XHTML',bgColor:'ពណ៌ážáž¶áž„ក្រោម',bgImage:'URL របស់រូបភាពážáž¶áž„ក្រោម',bgFixed:'ទំពáŸážšáž€áŸ’រោមមិនប្ážáž¼ážš',txtColor:'ពណ៌អក្សរ',margin:'ស៊ុមទំពáŸážš',marginTop:'លើ',marginLeft:'ឆ្វáŸáž„',marginRight:'ស្ដាំ',marginBottom:'ក្រោម',metaKeywords:'ពាក្យនៅក្នុងឯកសារ (ផ្ážáž¶áž…់ពីគ្នាដោយក្បៀស)',metaDescription:'សáŸáž…ក្ážáž¸áž¢ážáŸ’ážáž¶áž’ិប្បាយអំពីឯកសារ',metaAuthor:'អ្នកនិពន្ធ',metaCopyright:'រក្សាសិទ្ធិáŸ',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/ko.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/ko.js
deleted file mode 100644
index 14e1de6..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/ko.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.ko={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'Editor toolbars',editor:'Rich Text Editor',source:'소스',newPage:'새 문서',save:'저장하기',preview:'미리보기',cut:'잘ë¼ë‚´ê¸°',copy:'복사하기',paste:'붙여넣기',print:'ì¸ì‡„하기',underline:'밑줄',bold:'진하게',italic:'ì´í…”릭',selectAll:'ì „ì²´ì„ íƒ',removeFormat:'í¬ë§· 지우기',strike:'취소선',subscript:'아래 첨ìž',superscript:'위 첨ìž',horizontalrule:'수í‰ì„  삽입',pagebreak:'Insert Page Break for Printing',pagebreakAlt:'Page Break',unlink:'ë§í¬ ì‚­ì œ',undo:'취소',redo:'재실행',common:{browseServer:'서버 보기',url:'URL',protocol:'프로토콜',upload:'업로드',uploadSubmit:'서버로 전송',image:'ì´ë¯¸ì§€',flash:'플래쉬',form:'í¼',checkbox:'ì²´í¬ë°•ìŠ¤',radio:'ë¼ë””오버튼',textField:'입력필드',textarea:'ìž…ë ¥ì˜ì—­',hiddenField:'숨김필드',button:'버튼',select:'펼침목ë¡',imageButton:'ì´ë¯¸ì§€ë²„튼',notSet:'<설정ë˜ì§€ ì•ŠìŒ>',id:'ID',name:'Name',langDir:'쓰기 ë°©í–¥',langDirLtr:'왼쪽ì—ì„œ 오른쪽 (LTR)',langDirRtl:'오른쪽ì—ì„œ 왼쪽 (RTL)',langCode:'언어 코드',longDescr:'URL 설명',cssClass:'Stylesheet Classes',advisoryTitle:'Advisory Title',cssStyle:'Style',ok:'예',cancel:'아니오',close:'Close',preview:'Preview',generalTab:'General',advancedTab:'ìžì„¸ížˆ',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:'Some of the options have been changed. Are you sure to close the dialog?',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:'너비',height:'높ì´',align:'ì •ë ¬',alignLeft:'왼쪽',alignRight:'오른쪽',alignCenter:'가운ë°',alignTop:'위',alignMiddle:'중간',alignBottom:'아래',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'íŠ¹ìˆ˜ë¬¸ìž ì‚½ìž…',title:'íŠ¹ìˆ˜ë¬¸ìž ì„ íƒ',options:'Special Character Options'},link:{toolbar:'ë§í¬ 삽입/변경',other:'<기타>',menu:'ë§í¬ 수정',title:'ë§í¬',info:'ë§í¬ ì •ë³´',target:'타겟',upload:'업로드',advanced:'ìžì„¸ížˆ',type:'ë§í¬ 종류',toUrl:'URL',toAnchor:'책갈피',toEmail:'ì´ë©”ì¼',targetFrame:'<프레임>',targetPopup:'<íŒì—…ì°½>',targetFrameName:'타겟 프레임 ì´ë¦„',targetPopupName:'íŒì—…ì°½ ì´ë¦„',popupFeatures:'íŒì—…ì°½ 설정',popupResizable:'Resizable',popupStatusBar:'ìƒíƒœë°”',popupLocationBar:'주소표시줄',popupToolbar:'툴바',popupMenuBar:'메뉴바',popupFullScreen:'전체화면 (IE)',popupScrollBars:'스í¬ë¡¤ë°”',popupDependent:'Dependent (Netscape)',popupLeft:'왼쪽 위치',popupTop:'윗쪽 위치',id:'Id',langDir:'쓰기 ë°©í–¥',langDirLTR:'왼쪽ì—ì„œ 오른쪽 (LTR)',langDirRTL:'오른쪽ì—ì„œ 왼쪽 (RTL)',acccessKey:'엑세스 키',name:'Name',langCode:'쓰기 ë°©í–¥',tabIndex:'탭 순서',advisoryTitle:'Advisory Title',advisoryContentType:'Advisory Content Type',cssClasses:'Stylesheet Classes',charset:'Linked Resource Charset',styles:'Style',rel:'Relationship',selectAnchor:'책갈피 ì„ íƒ',anchorName:'책갈피 ì´ë¦„',anchorId:'책갈피 ID',emailAddress:'ì´ë©”ì¼ ì£¼ì†Œ',emailSubject:'제목',emailBody:'ë‚´ìš©',noAnchors:'(ë¬¸ì„œì— ì±…ê°ˆí”¼ê°€ 없습니다.)',noUrl:'ë§í¬ URLì„ ìž…ë ¥í•˜ì‹­ì‹œìš”.',noEmail:'ì´ë©”ì¼ì£¼ì†Œë¥¼ 입력하십시요.'},anchor:{toolbar:'책갈피 삽입/변경',menu:'책갈피 ì†ì„±',title:'책갈피 ì†ì„±',name:'책갈피 ì´ë¦„',errorName:'책갈피 ì´ë¦„ì„ ìž…ë ¥í•˜ì‹­ì‹œìš”.',remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'찾기 & 바꾸기',find:'찾기',replace:'바꾸기',findWhat:'ì°¾ì„ ë¬¸ìžì—´:',replaceWith:'바꿀 문ìžì—´:',notFoundMsg:'문ìžì—´ì„ ì°¾ì„ ìˆ˜ 없습니다.',findOptions:'Find Options',matchCase:'ëŒ€ì†Œë¬¸ìž êµ¬ë¶„',matchWord:'온전한 단어',matchCyclic:'Match cyclic',replaceAll:'ëª¨ë‘ ë°”ê¾¸ê¸°',replaceSuccessMsg:'%1 occurrence(s) replaced.'},table:{toolbar:'í‘œ',title:'í‘œ 설정',menu:'í‘œ 설정',deleteTable:'í‘œ ì‚­ì œ',rows:'가로줄',columns:'세로줄',border:'í…Œë‘리 í¬ê¸°',widthPx:'픽셀',widthPc:'í¼ì„¼íŠ¸',widthUnit:'width unit',cellSpace:'ì…€ 간격',cellPad:'ì…€ 여백',caption:'캡션',summary:'Summary',headers:'Headers',headersNone:'None',headersColumn:'First column',headersRow:'First Row',headersBoth:'Both',invalidRows:'Number of rows must be a number greater than 0.',invalidCols:'Number of columns must be a number greater than 0.',invalidBorder:'Border size must be a number.',invalidWidth:'Table width must be a number.',invalidHeight:'Table height must be a number.',invalidCellSpacing:'Cell spacing must be a positive number.',invalidCellPadding:'Cell padding must be a positive number.',cell:{menu:'ì…€/칸(Cell)',insertBefore:'ì•žì— ì…€/칸 삽입',insertAfter:'ë’¤ì— ì…€/칸 삽입',deleteCell:'ì…€ ì‚­ì œ',merge:'ì…€ 합치기',mergeRight:'오른쪽 뭉치기',mergeDown:'왼쪽 뭉치기',splitHorizontal:'ìˆ˜í‰ ë‚˜ëˆ„ê¸°',splitVertical:'ìˆ˜ì§ ë‚˜ëˆ„ê¸°',title:'Cell Properties',cellType:'Cell Type',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Word Wrap',hAlign:'Horizontal Alignment',vAlign:'Vertical Alignment',alignBaseline:'Baseline',bgColor:'Background Color',borderColor:'Border Color',data:'Data',header:'Header',yes:'Yes',no:'No',invalidWidth:'Cell width must be a number.',invalidHeight:'Cell height must be a number.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Choose'},row:{menu:'í–‰(Row)',insertBefore:'ì•žì— í–‰ 삽입',insertAfter:'ë’¤ì— í–‰ 삽입',deleteRow:'가로줄 ì‚­ì œ'},column:{menu:'ì—´(Column)',insertBefore:'ì•žì— ì—´ 삽입',insertAfter:'ë’¤ì— ì—´ 삽입',deleteColumn:'세로줄 ì‚­ì œ'}},button:{title:'버튼 ì†ì„±',text:'버튼글ìž(ê°’)',type:'버튼종류',typeBtn:'Button',typeSbm:'Submit',typeRst:'Reset'},checkboxAndRadio:{checkboxTitle:'ì²´í¬ë°•ìŠ¤ ì†ì„±',radioTitle:'ë¼ë””오버튼 ì†ì„±',value:'ê°’',selected:'ì„ íƒë¨'},form:{title:'í¼ ì†ì„±',menu:'í¼ ì†ì„±',action:'실행경로(Action)',method:'방법(Method)',encoding:'Encoding'},select:{title:'íŽ¼ì¹¨ëª©ë¡ ì†ì„±',selectInfo:'ì •ë³´',opAvail:'ì„ íƒì˜µì…˜',value:'ê°’',size:'세로í¬ê¸°',lines:'줄',chkMulti:'여러항목 ì„ íƒ í—ˆìš©',opText:'ì´ë¦„',opValue:'ê°’',btnAdd:'추가',btnModify:'변경',btnUp:'위로',btnDown:'아래로',btnSetValue:'ì„ íƒëœê²ƒìœ¼ë¡œ 설정',btnDelete:'ì‚­ì œ'},textarea:{title:'ìž…ë ¥ì˜ì—­ ì†ì„±',cols:'칸수',rows:'줄수'},textfield:{title:'입력필드 ì†ì„±',name:'ì´ë¦„',value:'ê°’',charWidth:'ê¸€ìž ë„ˆë¹„',maxChars:'최대 글ìžìˆ˜',type:'종류',typeText:'문ìžì—´',typePass:'비밀번호'},hidden:{title:'숨김필드 ì†ì„±',name:'ì´ë¦„',value:'ê°’'},image:{title:'ì´ë¯¸ì§€ 설정',titleButton:'ì´ë¯¸ì§€ë²„튼 ì†ì„±',menu:'ì´ë¯¸ì§€ 설정',infoTab:'ì´ë¯¸ì§€ ì •ë³´',btnUpload:'서버로 전송',upload:'업로드',alt:'ì´ë¯¸ì§€ 설명',lockRatio:'비율 유지',resetSize:'ì›ëž˜ í¬ê¸°ë¡œ',border:'í…Œë‘리',hSpace:'수í‰ì—¬ë°±',vSpace:'수ì§ì—¬ë°±',alertUrl:'ì´ë¯¸ì§€ URLì„ ìž…ë ¥í•˜ì‹­ì‹œìš”',linkTab:'ë§í¬',button2Img:'Do you want to transform the selected image button on a simple image?',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'플래쉬 ì†ì„±',propertiesTab:'Properties',title:'플래쉬 등ë¡ì •ë³´',chkPlay:'ìžë™ìž¬ìƒ',chkLoop:'반복',chkMenu:'플래쉬메뉴 가능',chkFull:'Allow Fullscreen',scale:'ì˜ì—­',scaleAll:'모ë‘보기',scaleNoBorder:'경계선없ìŒ',scaleFit:'ì˜ì—­ìžë™ì¡°ì ˆ',access:'Script Access',accessAlways:'Always',accessSameDomain:'Same domain',accessNever:'Never',alignAbsBottom:'줄아래(Abs Bottom)',alignAbsMiddle:'줄중간(Abs Middle)',alignBaseline:'기준선',alignTextTop:'글ìžìƒë‹¨',quality:'Quality',qualityBest:'Best',qualityHigh:'High',qualityAutoHigh:'Auto High',qualityMedium:'Medium',qualityAutoLow:'Auto Low',qualityLow:'Low',windowModeWindow:'Window',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Window mode',flashvars:'Variables for Flash',bgcolor:'ë°°ê²½ 색ìƒ',hSpace:'수í‰ì—¬ë°±',vSpace:'수ì§ì—¬ë°±',validateSrc:'ë§í¬ URLì„ ìž…ë ¥í•˜ì‹­ì‹œìš”.',validateHSpace:'HSpace must be a number.',validateVSpace:'VSpace must be a number.'},spellCheck:{toolbar:'ì² ìžê²€ì‚¬',title:'Spell Check',notAvailable:'Sorry, but service is unavailable now.',errorLoading:'Error loading application service host: %s.',notInDic:'ì‚¬ì „ì— ì—†ëŠ” 단어',changeTo:'변경할 단어',btnIgnore:'건너뜀',btnIgnoreAll:'ëª¨ë‘ ê±´ë„ˆëœ€',btnReplace:'변경',btnReplaceAll:'ëª¨ë‘ ë³€ê²½',btnUndo:'취소',noSuggestions:'- 추천단어 ì—†ìŒ -',progress:'ì² ìžê²€ì‚¬ë¥¼ 진행중입니다...',noMispell:'ì² ìžê²€ì‚¬ 완료: ìž˜ëª»ëœ ì² ìžê°€ 없습니다.',noChanges:'ì² ìžê²€ì‚¬ 완료: ë³€ê²½ëœ ë‹¨ì–´ê°€ 없습니다.',oneChange:'ì² ìžê²€ì‚¬ 완료: 단어가 변경ë˜ì—ˆìŠµë‹ˆë‹¤.',manyChanges:'ì² ìžê²€ì‚¬ 완료: %1 단어가 변경ë˜ì—ˆìŠµë‹ˆë‹¤.',ieSpellDownload:'ì² ìž ê²€ì‚¬ê¸°ê°€ 철치ë˜ì§€ 않았습니다. 지금 다운로드하시겠습니까?'},smiley:{toolbar:'ì•„ì´ì½˜',title:'ì•„ì´ì½˜ 삽입',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 element'},numberedlist:'순서있는 목ë¡',bulletedlist:'순서없는 목ë¡',indent:'들여쓰기',outdent:'내어쓰기',justify:{left:'왼쪽 ì •ë ¬',center:'ê°€ìš´ë° ì •ë ¬',right:'오른쪽 ì •ë ¬',block:'양쪽 맞춤'},blockquote:'Block Quote',clipboard:{title:'붙여넣기',cutError:'브ë¼ìš°ì €ì˜ ë³´ì•ˆì„¤ì •ë•Œë¬¸ì— ìž˜ë¼ë‚´ê¸° ê¸°ëŠ¥ì„ ì‹¤í–‰í•  수 없습니다. 키보드 ëª…ë ¹ì„ ì‚¬ìš©í•˜ì‹­ì‹œìš”. (Ctrl/Cmd+X).',copyError:'브ë¼ìš°ì €ì˜ ë³´ì•ˆì„¤ì •ë•Œë¬¸ì— ë³µì‚¬í•˜ê¸° ê¸°ëŠ¥ì„ ì‹¤í–‰í•  수 없습니다. 키보드 ëª…ë ¹ì„ ì‚¬ìš©í•˜ì‹­ì‹œìš”. (Ctrl/Cmd+C).',pasteMsg:'í‚¤ë³´ë“œì˜ (<STRONG>Ctrl/Cmd+V</STRONG>) 를 ì´ìš©í•´ì„œ ìƒìžì•ˆì— 붙여넣고 <STRONG>OK</STRONG> 를 누르세요.',securityMsg:'브러우저 보안 설정으로 ì¸í•´, í´ë¦½ë³´ë“œì˜ ìžë£Œë¥¼ ì§ì ‘ 접근할 수 없습니다. ì´ ì°½ì— ë‹¤ì‹œ 붙여넣기 하십시오.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'MS Word 형ì‹ì—ì„œ 붙여넣기',title:'MS Word 형ì‹ì—ì„œ 붙여넣기',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'í…스트로 붙여넣기',title:'í…스트로 붙여넣기'},templates:{button:'템플릿',title:'ë‚´ìš© 템플릿',options:'Template Options',insertOption:'현재 ë‚´ìš© 바꾸기',selectPromptMsg:'ì—디터ì—ì„œ 사용할 í…œí”Œë¦¿ì„ ì„ íƒí•˜ì‹­ì‹œìš”.<br>(지금까지 ìž‘ì„±ëœ ë‚´ìš©ì€ ì‚¬ë¼ì§‘니다.):',emptyListMsg:'(í…œí”Œë¦¿ì´ ì—†ìŠµë‹ˆë‹¤.)'},showBlocks:'Show Blocks',stylesCombo:{label:'스타ì¼',panelTitle:'Formatting Styles',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'í¬ë§·',panelTitle:'í¬ë§·',tag_p:'Normal',tag_pre:'Formatted',tag_address:'Address',tag_h1:'Heading 1',tag_h2:'Heading 2',tag_h3:'Heading 3',tag_h4:'Heading 4',tag_h5:'Heading 5',tag_h6:'Heading 6',tag_div:'Normal (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'í°íŠ¸',voiceLabel:'Font',panelTitle:'í°íŠ¸'},fontSize:{label:'ê¸€ìž í¬ê¸°',voiceLabel:'Font Size',panelTitle:'ê¸€ìž í¬ê¸°'},colorButton:{textColorTitle:'ê¸€ìž ìƒ‰ìƒ',bgColorTitle:'ë°°ê²½ 색ìƒ',panelTitle:'Colors',auto:'기본색ìƒ',more:'색ìƒì„ íƒ...'},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'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Options',langs:'Languages',moreSuggestions:'More suggestions',ignore:'Ignore',ignoreAll:'Ignore All',addWord:'Add Word',emptyDic:'Dictionary name should not be empty.',noSuggestions:'추천단어 ì—†ìŒ',optionsTab:'Options',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Languages',dictionariesTab:'Dictionaries',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'About'},about:{title:'About CKEditor',dlgTitle:'About CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'For licensing information please visit our web site:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Maximize',minimize:'Minimize',fakeobjects:{anchor:'Anchor',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Unknown Object'},resize:'Drag to resize',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'문서 ì†ì„±',title:'문서 ì†ì„±',design:'Design',meta:'메타ë°ì´í„°',chooseColor:'Choose',other:'<기타>',docTitle:'페ì´ì§€ëª…',charset:'ìºë¦­í„°ì…‹ ì¸ì½”딩',charsetOther:'다른 ìºë¦­í„°ì…‹ ì¸ì½”딩',charsetASCII:'ASCII',charsetCE:'Central European',charsetCT:'Chinese Traditional (Big5)',charsetCR:'Cyrillic',charsetGR:'Greek',charsetJP:'Japanese',charsetKR:'Korean',charsetTR:'Turkish',charsetUN:'Unicode (UTF-8)',charsetWE:'Western European',docType:'문서 헤드',docTypeOther:'다른 문서헤드',xhtmlDec:'XHTML ë¬¸ì„œì •ì˜ í¬í•¨',bgColor:'배경색ìƒ',bgImage:'ë°°ê²½ì´ë¯¸ì§€ URL',bgFixed:'스í¬ë¡¤ë˜ì§€ì•ŠëŠ” ë°°ê²½',txtColor:'ê¸€ìž ìƒ‰ìƒ',margin:'페ì´ì§€ 여백',marginTop:'위',marginLeft:'왼쪽',marginRight:'오른쪽',marginBottom:'아래',metaKeywords:'문서 키워드 (콤마로 구분)',metaDescription:'문서 설명',metaAuthor:'작성ìž',metaCopyright:'저작권',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/ku.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/ku.js
deleted file mode 100644
index 0c914ff..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/ku.js
+++ /dev/null
@@ -1,821 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-/**
-* @fileOverview
-*/
-
-/**#@+
- @type String
- @example
-*/
-
-/**
- * Contains the dictionary of language entries.
- * @namespace
- */
-CKEDITOR.lang['ku'] =
-{
- /**
- * The language reading direction. Possible values are "rtl" for
- * Right-To-Left languages (like Arabic) and "ltr" for Left-To-Right
- * languages (like English).
- * @default 'ltr'
- */
- dir : 'rtl',
-
- /*
- * Screenreader titles. Please note that screenreaders are not always capable
- * of reading non-English words. So be careful while translating it.
- */
- editorTitle : 'ده‌سکاریکه‌ری ناونیشان',
- editorHelp : 'کلیکی ALT له‌گه‌ڵ 0 بکه‌ بۆ یارمه‌تی',
-
- // ARIA descriptions.
- toolbars : 'تووڵاەرازی دەسکاریکەر',
- editor : 'سەرنووسەی دەقی بەپیت',
-
- // Toolbar buttons without dialogs.
- source : 'سەرچاوە',
- newPage : 'پەڕەیەکی نوێ',
- save : 'پاشکەوتکردن',
- preview : 'پێشبینین',
- cut : 'بڕین',
- copy : 'لەبەرگرنتەوه',
- paste : 'لکاندن',
- print : 'چاپکردن',
- underline : 'ژێرهێڵ',
- bold : 'Ù‚Û•ÚµÛ•Ùˆ',
- italic : 'لار',
- selectAll : 'نیشانکردنی هەمووی',
- removeFormat : 'لابردنی داڕشتەکە',
- strike : 'لێدان',
- subscript : 'ژێرنووس',
- superscript : 'سەرنووس',
- horizontalrule : 'دانانی هێلی ئاسۆیی',
- pagebreak : 'دانانی پشووی پەڕە بۆ چاپکردن',
- pagebreakAlt : 'پشووی پەڕە',
- unlink : 'لابردنی بەستەر',
- undo : 'پووچکردنەوه',
- redo : 'هەڵگەڕاندنەوه',
-
- // Common messages and labels.
- common :
- {
- 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 : 'پێشبینین',
- generalTab : 'گشتی',
- advancedTab : 'په‌ره‌سه‌ندوو',
- validateNumberFailed : 'ئەم نرخە ژمارە نیه، تکایە نرخێکی ژمارە بنووسە.',
- confirmNewPage : 'سەرجەم گۆڕانکاریەکان و پێکهاتەکانی ناوەووە لەدەست دەدەی گەر بێتوو پاشکەوتی نەکەی یەکەم جار، تۆ هەر دڵنیایی لەکردنەوەی پەنجەرەکی نوێ؟',
- confirmCancel : 'هەندێك هەڵبژاردە گۆڕدراوە. تۆ دڵنیایی له‌داخستنی ئەم دیالۆگە؟',
- options : 'هەڵبژاردە',
- target : 'ئامانج',
- targetNew : 'پەنجەرەیه‌کی نوێ (_blank)',
- targetTop : 'لووتکەی پەنجەرە (_top)',
- targetSelf : 'لەهەمان پەنجەرە (_self)',
- targetParent : 'پەنجەرەی باوان (_parent)',
- langDirLTR : 'چەپ بۆ ڕاست (LTR)',
- langDirRTL : 'ڕاست بۆ چەپ (RTL)',
- styles : 'شێواز',
- cssClasses : 'شێوازی چینی پەڕە',
- width : 'پانی',
- height : 'درێژی',
- align : 'ڕێککەرەوە',
- alignLeft : 'Ú†Û•Ù¾',
- alignRight : 'ڕاست',
- alignCenter : 'ناوەڕاست',
- alignTop : 'سەرەوە',
- alignMiddle : 'ناوەند',
- alignBottom : 'ژێرەوە',
- invalidValue : 'نرخێکی نادرووست.',
- invalidHeight : 'درێژی دەبێت ژمارە بێت.',
- invalidWidth : 'پانی دەبێت ژمارە بێت.',
- invalidCssLength : 'ئەم نرخەی دراوە بۆ خانەی "%1" دەبێت ژمارەکی درووست بێت یان بێ ناونیشانی ئامرازی (px, %, in, cm, mm, em, ex, pt, یان pc).',
- invalidHtmlLength : 'ئەم نرخەی دراوە بۆ خانەی "%1" دەبێت ژمارەکی درووست بێت یان بێ ناونیشانی ئامرازی HTML (px یان %).',
- invalidInlineStyle : 'دانه‌ی نرخی شێوازی ناوهێڵ ده‌بێت پێکهاتبێت له‌یه‌ك یان زیاتری داڕشته‌ "ناو : نرخ", جیاکردنه‌وه‌ی به‌Ùاریزه‌وخاڵ',
- cssLengthTooltip : 'ژماره‌یه‌ك بنووسه‌ بۆ نرخی piksel یان ئامرازێکی درووستی CSS (px, %, in, cm, mm, em, ex, pt, یان pc).',
-
- // Put the voice-only part of the label in the span.
- unavailable : '%1<span class="cke_accessibility">, ئامادە نیە</span>'
- },
-
- contextmenu :
- {
- options : 'هەڵبژاردەی لیستەی کلیکی دەستی ڕاست'
- },
-
- // Special char dialog.
- specialChar :
- {
- toolbar : 'دانانەی نووسەی تایبەتی',
- title : 'هەڵبژاردنی نووسەی تایبەتی',
- options : 'هەڵبژاردەی نووسەی تایبەتی'
- },
-
- // Link dialog.
- link :
- {
- toolbar : 'دانان/ڕێکخستنی بەستەر',
- other : '<هیتر>',
- menu : 'چاکسازی بەستەر',
- title : 'بەستەر',
- info : 'زانیاری بەستەر',
- target : 'ئامانج',
- upload : 'بارکردن',
- advanced : 'پێشکه‌وتوو',
- type : 'جۆری به‌سته‌ر',
- toUrl : 'ناونیشانی به‌سته‌ر',
- toAnchor : 'به‌سته‌ر بۆ له‌نگه‌ر له‌ ده‌ق',
- toEmail : 'ئیمه‌یل',
- targetFrame : '<چووارچێوه>',
- targetPopup : '<په‌نجه‌ره‌ی سه‌رهه‌ڵده‌ر>',
- targetFrameName : 'ناوی ئامانجی چووارچێوه',
- targetPopupName : 'ناوی په‌نجه‌ره‌ی سه‌رهه‌ڵده‌ر',
- popupFeatures : 'خاسیه‌تی په‌نجه‌ره‌ی سه‌رهه‌ڵده‌ر',
- popupResizable : 'توانای گۆڕینی قه‌باره‌',
- popupStatusBar : 'هێڵی دۆخ',
- popupLocationBar: 'هێڵی ناونیشانی به‌سته‌ر',
- popupToolbar : 'هێڵی تووڵامراز',
- popupMenuBar : 'هێڵی لیسته',
- popupFullScreen : 'پڕ به‌پڕی شاشه‌ (IE)',
- popupScrollBars : 'هێڵی هاتووچۆپێکردن',
- popupDependent : 'پێوه‌به‌ستراو (Netscape)',
- popupLeft : 'جێگای چه‌پ',
- popupTop : 'جێگای سه‌ره‌وه‌',
- id : 'ناسنامه',
- langDir : 'ئاراسته‌ی زمان',
- langDirLTR : 'چه‌پ بۆ ڕاست (LTR)',
- langDirRTL : 'ڕاست بۆ چه‌پ (RTL)',
- acccessKey : 'کلیلی ده‌ستپێگه‌یشتن',
- name : 'ناو',
- langCode : 'هێمای زمان',
- tabIndex : 'بازده‌ری تابی ئیندێکس',
- advisoryTitle : 'ڕاوێژکاری سه‌ردێڕ',
- advisoryContentType : 'جۆری ناوه‌ڕۆکی ڕاویژکار',
- cssClasses : 'شێوازی چینی په‌ڕه‌',
- charset : 'بەستەری سەرچاوەی نووسه',
- styles : 'شێواز',
- rel : 'په‌یوه‌ندی (rel)',
- selectAnchor : 'هه‌ڵبژاردنی له‌نگه‌رێك',
- anchorName : 'به‌پێی ناوی له‌نگه‌ر',
- anchorId : 'به‌پێی ناسنامه‌ی توخم',
- emailAddress : 'ناونیشانی ئیمه‌یل',
- emailSubject : 'بابه‌تی نامه',
- emailBody : 'ناوه‌ڕۆکی نامه',
- noAnchors : '(هیچ جۆرێکی له‌نگه‌ر ئاماده‌ نیه له‌م په‌ڕه‌یه)',
- noUrl : 'تکایه‌ ناونیشانی به‌سته‌ر بنووسه',
- noEmail : 'تکایه‌ ناونیشانی ئیمه‌یل بنووسه'
- },
-
- // Anchor dialog
- anchor :
- {
- toolbar : 'دانان/چاکسازی له‌نگه‌ر',
- menu : 'چاکسازی له‌نگه‌ر',
- title : 'خاسیه‌تی له‌نگه‌ر',
- name : 'ناوی له‌نگه‌ر',
- errorName : 'تکایه‌ ناوی له‌نگه‌ر بنووسه',
- remove : 'لابردنی له‌نگه‌ر'
- },
-
- // List style dialog
- list:
- {
- numberedTitle : 'خاسیه‌تی لیستی ژماره‌یی',
- bulletedTitle : 'خاسیه‌تی لیستی خاڵی',
- type : 'جۆر',
- start : 'ده‌ستپێکردن',
- validateStartNumber :'ده‌ستپێکه‌ری لیستی ژماره‌یی ده‌بێت ته‌نها ژماره‌ بێت.',
- circle : 'بازنه',
- disc : 'په‌پکه',
- square : 'چووراگۆشه',
- none : 'هیچ',
- notset : '<دانه‌ندراوه>',
- armenian : 'ئاراسته‌ی ژماره‌ی ئه‌رمه‌نی',
- georgian : 'ئاراسته‌ی ژماره‌ی جۆڕجی (an, ban, gan, وه‌هیتر.)',
- lowerRoman : 'ژماره‌ی ڕۆمی بچووك (i, ii, iii, iv, v, وه‌هیتر.)',
- upperRoman : 'ژماره‌ی ڕۆمی گه‌وره (I, II, III, IV, V, وه‌هیتر.)',
- lowerAlpha : 'ئه‌لÙابێی بچووك (a, b, c, d, e, وه‌هیتر.)',
- upperAlpha : 'ئه‌لÙابێی گه‌وره‌ (A, B, C, D, E, وه‌هیتر.)',
- lowerGreek : 'یۆنانی بچووك (alpha, beta, gamma, وه‌هیتر.)',
- decimal : 'ژماره (1, 2, 3, وه‌هیتر.)',
- decimalLeadingZero : 'ژماره‌ سÙÚ•ÛŒ له‌پێشه‌وه (01, 02, 03, وه‌هیتر.)'
- },
-
- // Find And Replace Dialog
- findAndReplace :
- {
- title : 'گه‌ڕان وه‌ له‌بریدانان',
- find : 'گه‌ڕان',
- replace : 'له‌بریدانان',
- findWhat : 'گه‌ڕان به‌دووای:',
- replaceWith : 'له‌بریدانان به‌:',
- notFoundMsg : 'هیچ ده‌قه‌ گه‌ڕانێك نه‌دۆزراوه.',
- findOptions : 'هه‌ڵبژارده‌کانی گه‌ڕان',
- matchCase : 'جیاکردنه‌وه‌ له‌نێوان پیتی گه‌وره‌و بچووك',
- matchWord : 'ته‌نها هه‌موو وشه‌که‌',
- matchCyclic : 'گه‌ڕان له‌هه‌موو په‌ڕه‌که',
- replaceAll : 'له‌بریدانانی هه‌مووی',
- replaceSuccessMsg : ' پێشهاته(ی) له‌بری دانرا. %1'
- },
-
- // Table Dialog
- table :
- {
- toolbar : 'خشته',
- title : 'خاسیه‌تی خشته',
- menu : 'خاسیه‌تی خشته',
- deleteTable : 'سڕینه‌وه‌ی خشته',
- rows : 'ڕیز',
- columns : 'ستوونه‌کان',
- border : 'گه‌وره‌یی په‌راوێز',
- widthPx : 'وێنه‌خاڵ - پیکسل',
- widthPc : 'له‌سه‌دا',
- widthUnit : 'پانی یه‌که‌',
- cellSpace : 'بۆشایی خانه',
- cellPad : 'بۆشایی ناوپۆش',
- caption : 'سه‌ردێڕ',
- summary : 'کورته',
- headers : 'سه‌رپه‌ڕه‌',
- headersNone : 'هیچ',
- headersColumn : 'یه‌که‌م ئه‌ستوون',
- headersRow : 'یه‌که‌م ڕیز',
- headersBoth : 'هه‌ردووك',
- invalidRows : 'ژماره‌ی ڕیز ده‌بێت گه‌وره‌تر بێت له‌ژماره‌ی 0.',
- invalidCols : 'ژماره‌ی ئه‌ستوونی ده‌بێت گه‌وره‌تر بێت له‌ژماره‌ی 0.',
- invalidBorder : 'ژماره‌ی په‌راوێز ده‌بێت ته‌نها ژماره‌ بێت.',
- invalidWidth : 'پانی خشته‌ ده‌بێت ته‌نها ژماره‌ بێت.',
- invalidHeight : 'درێژی خشته ده‌بێت ته‌نها ژماره‌ بێت.',
- invalidCellSpacing : 'بۆشایی خانه‌ ده‌بێت ژماره‌کی درووست بێت.',
- invalidCellPadding : 'ناوپۆشی خانه‌ ده‌بێت ژماره‌کی درووست بێت.',
-
- cell :
- {
- menu : 'خانه',
- insertBefore : 'دانانی خانه‌ له‌پێش',
- insertAfter : 'دانانی خانه له‌پاش',
- deleteCell : 'سڕینه‌وه‌ی خانه',
- merge : 'تێکه‌ڵکردنی خانه',
- mergeRight : 'تێکه‌ڵکردنی له‌گه‌ڵ ڕاست',
- mergeDown : 'تێکه‌ڵکردنی له‌گه‌ڵ خواره‌وه',
- splitHorizontal : 'دابه‌شکردنی خانه‌ی ئاسۆیی',
- splitVertical : 'دابه‌شکردنی خانه‌ی ئه‌ستونی',
- title : 'خاسیه‌تی خانه',
- cellType : 'جۆری خانه',
- rowSpan : 'ماوه‌ی نێوان ڕیز',
- colSpan : 'بستی ئه‌ستونی',
- wordWrap : 'پێچانه‌وه‌ی وشه',
- hAlign : 'ڕیزکردنی ئاسۆیی',
- vAlign : 'ڕیزکردنی ئه‌ستونی',
- alignBaseline : 'هێڵه‌بنه‌ڕه‌ت',
- bgColor : 'ڕه‌نگی پاشبنه‌ما',
- borderColor : 'ڕه‌نگی په‌راوێز',
- data : 'داتا',
- header : 'سه‌رپه‌ڕه‌',
- yes : 'به‌ڵێ',
- no : 'نه‌خێر',
- invalidWidth : 'پانی خانه‌ ده‌بێت به‌ته‌واوی ژماره‌ بێت.',
- invalidHeight : 'درێژی خانه‌ به‌ته‌واوی ده‌بێت ژماره‌ بێت.',
- invalidRowSpan : 'ماوه‌ی نێوان ڕیز به‌ته‌واوی ده‌بێت ژماره‌ بێت.',
- invalidColSpan : 'ماوه‌ی نێوان ئه‌ستونی به‌ته‌واوی ده‌بێت ژماره‌ بێت.',
- chooseColor : 'هه‌ڵبژاردن'
- },
-
- row :
- {
- menu : 'ڕیز',
- insertBefore : 'دانانی ڕیز له‌پێش',
- insertAfter : 'دانانی ڕیز له‌پاش',
- deleteRow : 'سڕینه‌وه‌ی ڕیز'
- },
-
- column :
- {
- menu : 'ئه‌ستون',
- insertBefore : 'دانانی ئه‌ستون له‌پێش',
- insertAfter : 'دانانی ئه‌ستوون له‌پاش',
- deleteColumn : 'سڕینه‌وه‌ی ئه‌ستوون'
- }
- },
-
- // Button Dialog.
- button :
- {
- title : 'خاسیه‌تی دوگمه',
- text : '(نرخی) ده‌ق',
- type : 'جۆر',
- typeBtn : 'دوگمه‌',
- typeSbm : 'ناردن',
- typeRst : 'ڕێکخستنه‌وه'
- },
-
- // Checkbox and Radio Button Dialogs.
- checkboxAndRadio :
- {
- checkboxTitle : 'خاسیه‌تی چووارگۆشی پشکنین',
- radioTitle : 'خاسیه‌تی جێگره‌وه‌ی دوگمه',
- value : 'نرخ',
- selected : 'هه‌ڵبژاردرا'
- },
-
- // Form Dialog.
- form :
- {
- title : 'خاسیه‌تی داڕشته',
- menu : 'خاسیه‌تی داڕشته',
- action : 'کردار',
- method : 'Ú•ÛŽÚ¯Ù‡',
- encoding : 'به‌کۆدکه‌ر'
- },
-
- // Select Field Dialog.
- select :
- {
- title : 'هه‌ڵبژارده‌ی خاسیه‌تی خانه',
- selectInfo : 'زانیاری',
- opAvail : 'هه‌ڵبژارده‌ی هه‌بوو',
- value : 'نرخ',
- size : 'گه‌وره‌یی',
- lines : 'هێڵه‌کان',
- chkMulti : 'ڕێدان به‌Ùره‌ هه‌ڵبژارده',
- opText : 'ده‌ق',
- opValue : 'نرخ',
- btnAdd : 'زیادکردن',
- btnModify : 'گۆڕانکاری',
- btnUp : 'سه‌ره‌وه',
- btnDown : 'خواره‌وه',
- btnSetValue : 'دابنێ وه‌ك نرخێکی هه‌ڵبژێردراو',
- btnDelete : 'سڕینه‌وه'
- },
-
- // Textarea Dialog.
- textarea :
- {
- title : 'خاسیه‌تی ڕووبه‌ری ده‌ق',
- cols : 'ئه‌ستونیه‌کان',
- rows : 'ڕیزه‌کان'
- },
-
- // Text Field Dialog.
- textfield :
- {
- title : 'خاسیه‌تی خانه‌ی ده‌ق',
- name : 'ناو',
- value : 'نرخ',
- charWidth : 'پانی نووسه',
- maxChars : 'ئه‌وپه‌ڕی نووسه',
- type : 'جۆر',
- typeText : 'ده‌ق',
- typePass : 'پێپه‌ڕه‌وشه'
- },
-
- // Hidden Field Dialog.
- hidden :
- {
- title : 'خاسیه‌تی خانه‌ی شاردراوه',
- name : 'ناو',
- value : 'نرخ'
- },
-
- // Image Dialog.
- image :
- {
- title : 'خاسیه‌تی وێنه',
- titleButton : 'خاسیه‌تی دوگمه‌ی وێنه',
- menu : 'خاسیه‌تی وێنه',
- infoTab : 'زانیاری وێنه',
- btnUpload : 'ناردنی بۆ ڕاژه',
- upload : 'بارکردن',
- alt : 'جێگره‌وه‌ی ده‌ق',
- lockRatio : 'داخستنی ڕێژه',
- resetSize : 'ڕێکخستنه‌وه‌ی قه‌باره',
- border : 'په‌راوێز',
- hSpace : 'بۆشایی ئاسۆیی',
- vSpace : 'بۆشایی ئه‌ستونی',
- alertUrl : 'تکایه‌ ناونیشانی به‌سته‌ری وێنه‌ بنووسه',
- linkTab : 'به‌سته‌ر',
- button2Img : 'تۆ ده‌ته‌وێت دوگمه‌ی وێنه‌ی دیاریکراو بگۆڕیت بۆ وێنه‌کی ئاسایی؟',
- img2Button : 'تۆ ده‌ته‌وێت وێنه‌ی دیاریکراو بگۆڕیت بۆ دوگمه‌ی وێنه؟',
- urlMissing : 'سه‌رچاوه‌ی به‌سته‌ری وێنه‌ بزره',
- validateBorder : 'په‌راوێز ده‌بێت به‌ته‌واوی ته‌نها ژماره‌ بێت.',
- validateHSpace : 'بۆشایی ئاسۆیی ده‌بێت به‌ته‌واوی ته‌نها ژماره‌ بێت.',
- validateVSpace : 'بۆشایی ئه‌ستونی ده‌بێت به‌ته‌واوی ته‌نها ژماره‌ بێت.'
- },
-
- // Flash Dialog
- flash :
- {
- properties : 'خاسیه‌تی Ùلاش',
- propertiesTab : 'خاسیه‌ت',
- title : 'خاسیه‌تی Ùلاش',
- chkPlay : 'پێکردنی یان لێدانی خۆکار',
- chkLoop : 'گرێ',
- chkMenu : 'چالاککردنی لیسته‌ی Ùلاش',
- chkFull : 'ڕێپێدان به‌ پڕ به‌پڕی شاشه',
- scale : 'پێوانه',
- scaleAll : 'نیشاندانی هه‌موو',
- scaleNoBorder : 'بێ په‌راوێز',
- scaleFit : 'به‌وردی بگونجێت',
- access : 'ده‌ستپێگه‌یشتنی نووسراو',
- accessAlways : 'هه‌میشه',
- accessSameDomain: 'هه‌مان دۆمه‌ین',
- accessNever : 'هه‌رگیز',
- alignAbsBottom : 'له‌ ژێره‌وه',
- alignAbsMiddle : 'له‌ناوه‌ند',
- alignBaseline : 'هێڵەبنەڕەت',
- alignTextTop : 'ده‌ق له‌سه‌ره‌وه',
- quality : 'جۆرایه‌تی',
- qualityBest : 'باشترین',
- qualityHigh : 'به‌رزی',
- qualityAutoHigh : 'به‌رزی خۆکار',
- qualityMedium : 'مامناوه‌ند',
- qualityAutoLow : 'نزمی خۆکار',
- qualityLow : 'نزم',
- windowModeWindow: 'په‌نجه‌ره',
- windowModeOpaque: 'ناڕوون',
- windowModeTransparent : 'ڕۆشن',
- windowMode : 'شێوازی په‌نجه‌ره',
- flashvars : 'گۆڕاوه‌کان بۆ Ùلاش',
- bgcolor : 'ڕه‌نگی پاشبنه‌ما',
- hSpace : 'بۆشایی ئاسۆیی',
- vSpace : 'بۆشایی ئه‌ستونی',
- validateSrc : 'ناونیشانی به‌سته‌ر نابێت خاڵی بێت',
- validateHSpace : 'بۆشایی ئاسۆیی ده‌بێت ژماره‌ بێت.',
- validateVSpace : 'بۆشایی ئه‌ستونی ده‌بێت ژماره‌ بێت.'
- },
-
- // Speller Pages Dialog
- spellCheck :
- {
- toolbar : 'پشکنینی ڕێنووس',
- title : 'پشکنینی ڕێنووس',
- notAvailable : 'ببووره‌، له‌مکاته‌دا ڕاژه‌که له‌به‌رده‌ستا نیه.',
- errorLoading : 'هه‌ڵه‌ له‌هێنانی داخوازینامه‌ی خانه‌خۆێی ڕاژه: %s.',
- notInDic : 'له‌Ùه‌رهه‌نگ دانیه',
- changeTo : 'گۆڕینی بۆ',
- btnIgnore : 'پشتگوێ کردن',
- btnIgnoreAll : 'پشتگوێکردنی هه‌مووی',
- btnReplace : 'له‌بریدانن',
- btnReplaceAll : 'له‌بریدانانی هه‌مووی',
- btnUndo : 'پووچکردنه‌وه',
- noSuggestions : '- هیچ پێشنیارێك -',
- progress : 'پشکنینی ڕێنووس له‌به‌رده‌وامبوون دایه...',
- noMispell : 'پشکنینی ڕێنووس کۆتای هات: هیچ هه‌ڵه‌یه‌کی ڕێنووس نه‌دۆزراوه',
- noChanges : 'پشکنینی ڕێنووس کۆتای هات: هیچ وشه‌یه‌ك نۆگۆڕدرا',
- oneChange : 'پشکنینی ڕێنووس کۆتای هات: یه‌ك وشه گۆڕدرا',
- manyChanges : 'پشکنینی ڕێنووس کۆتای هات: له‌سه‌دا %1 ی وشه‌کان گۆڕدرا',
- ieSpellDownload : 'پشکنینی ڕێنووس دانه‌مزراوه. ده‌ته‌وێت ئێستا دایبگریت?'
- },
-
- smiley :
- {
- toolbar : 'زه‌رده‌خه‌نه',
- title : 'دانانی زه‌رده‌خه‌نه‌یه‌ك',
- options : 'هه‌ڵبژارده‌ی زه‌رده‌خه‌نه'
- },
-
- elementsPath :
- {
- eleLabel : 'ڕێڕه‌وی توخمه‌کان',
- eleTitle : '%1 توخم'
- },
-
- numberedlist : 'دانان/لابردنی ژمارەی لیست',
- bulletedlist : 'دانان/لابردنی خاڵی لیست',
- indent : 'زیادکردنی بۆشایی',
- outdent : 'کەمکردنەوەی بۆشایی',
-
- justify :
- {
- left : 'به‌هێڵ کردنی چه‌پ',
- center : 'ناوه‌ڕاست',
- right : 'به‌هێڵ کردنی ڕاست',
- block : 'هاوستوونی'
- },
-
- blockquote : 'بەربەستکردنی وتەی وەرگیراو',
-
- clipboard :
- {
- title : 'لکاندن',
- cutError : 'پارێزی وێبگەڕەکەت ڕێگه‌نادات بە سەرنووسەکە له‌بڕینی خۆکار. تکایە لەبری ئەمە ئەم Ùەرمانە بەکاربهێنە بەداگرتنی کلیلی (Ctrl/Cmd+X).',
- copyError : 'پارێزی وێبگەڕەکەت ڕێگه‌نادات بەسەرنووسەکە Ù„Û• لکاندنی دەقی خۆکار. تکایە لەبری ئەمە ئەم Ùەرمانە بەکاربهێنە بەداگرتنی کلیلی (Ctrl/Cmd+C).',
- pasteMsg : 'تکایه‌ بیلکێنه‌ له‌ناوه‌وه‌ی ئه‌م سنوقه له‌ڕێی ته‌خته‌کلیله‌که‌ت به‌باکارهێنانی کلیلی (<STRONG>Ctrl/Cmd+V</STRONG>) دووای کلیکی باشه‌ بکه.',
- securityMsg : 'به‌هۆی شێوه‌پێدانی پارێزی وێبگه‌ڕه‌که‌ت، سه‌رنووسه‌که‌ ناتوانێت ده‌ستبگه‌یه‌نێت به‌هه‌ڵگیراوه‌که ڕاسته‌وخۆ. بۆیه‌ پێویسته دووباره‌ بیلکێنیت له‌م په‌نجه‌ره‌یه‌.',
- pasteArea : 'ناوچه‌ی لکاندن'
- },
-
- pastefromword :
- {
- confirmCleanup : 'ئه‌م ده‌قه‌ی به‌ته‌مای بیلکێنی پێده‌چێت له‌ word هێنرابێت. ده‌ته‌وێت پاکی بکه‌یوه‌ پێش ئه‌وه‌ی بیلکێنی؟',
- toolbar : 'لکاندنی له‌ڕێی Word',
- title : 'لکاندنی له‌لایه‌ن Word',
- error : 'هیچ ڕێگه‌یه‌ك نه‌بوو له‌لکاندنی ده‌قه‌که‌ به‌هۆی هه‌ڵه‌کی ناوه‌خۆیی'
- },
-
- pasteText :
- {
- button : 'لکاندنی وه‌ك ده‌قی ڕوون',
- title : 'لکاندنی وه‌ك ده‌قی ڕوون'
- },
-
- templates :
- {
- button : 'ڕووکار',
- title : 'پێکهاته‌ی ڕووکار',
- options : 'هه‌ڵبژارده‌کانی ڕووکار',
- insertOption : 'له‌شوێن دانانی ئه‌م پێکهاتانه‌ی ئێستا',
- selectPromptMsg : 'ڕووکارێك هه‌ڵبژێره‌ بۆ کردنه‌وه‌ی له‌ سه‌رنووسه‌ر:',
- emptyListMsg : '(هیچ ڕووکارێك دیارینه‌کراوه)'
- },
-
- showBlocks : 'نیشاندانی بەربەستەکان',
-
- stylesCombo :
- {
- label : 'شێواز',
- panelTitle : 'شێوازی ڕازاندنه‌وه',
- panelTitle1 : 'شێوازی خشت',
- panelTitle2 : 'شێوازی ناوهێڵ',
- panelTitle3 : 'شێوازی به‌رکار'
- },
-
- format :
- {
- label : 'ڕازاندنه‌وه',
- panelTitle : 'به‌شی ڕازاندنه‌وه‌',
-
- tag_p : 'ئاسایی',
- tag_pre : 'شێوازکراو',
- tag_address : 'ناونیشان',
- tag_h1 : 'سه‌رنووسه‌ی ١',
- tag_h2 : 'سه‌رنووسه‌ی ٢',
- tag_h3 : 'سه‌رنووسه‌ی ٣',
- tag_h4 : 'سه‌رنووسه‌ی ٤',
- tag_h5 : 'سه‌رنووسه‌ی ٥',
- tag_h6 : 'سه‌رنووسه‌ی ٦',
- tag_div : '(DIV)-ی ئاسایی'
- },
-
- div :
- {
- title : 'دانانی له‌خۆگری Div',
- toolbar : 'دانانی له‌خۆگری Div',
- cssClassInputLabel : 'شێوازی چینی په‌ڕه',
- styleSelectLabel : 'شێواز',
- IdInputLabel : 'ناسنامه',
- languageCodeInputLabel : 'هێمای زمان',
- inlineStyleInputLabel : 'شێوازی ناوهێڵ',
- advisoryTitleInputLabel : 'سه‌ردێڕ',
- langDirLabel : 'ئاراسته‌ی زمان',
- langDirLTRLabel : 'چه‌پ بۆ ڕاست (LTR)',
- langDirRTLLabel : 'ڕاست بۆ چه‌پ (RTL)',
- edit : 'چاکسازی Div',
- remove : 'لابردنی Div'
- },
-
- iframe :
- {
- title : 'دیالۆگی چووارچێوه',
- toolbar : 'چووارچێوه',
- noUrl : 'تکایه‌ ناونیشانی به‌سته‌ر بنووسه‌ بۆ چووارچێوه‌',
- scrolling : 'چالاککردنی هاتووچۆپێکردن',
- border : 'نیشاندانی لاکێشه‌ به‌چووارده‌وری چووارچێوه'
- },
-
- font :
- {
- label : 'Ùۆنت',
- voiceLabel : 'Ùۆنت',
- panelTitle : 'ناوی Ùۆنت'
- },
-
- fontSize :
- {
- label : 'گه‌وره‌یی',
- voiceLabel : 'گه‌وره‌یی Ùۆنت',
- panelTitle : 'گه‌وره‌یی Ùۆنت'
- },
-
- colorButton :
- {
- textColorTitle : 'ڕه‌نگی ده‌ق',
- bgColorTitle : 'ڕه‌نگی پاشبنه‌ما',
- panelTitle : 'ڕه‌نگه‌کان',
- auto : 'خۆکار',
- more : 'ڕه‌نگی زیاتر...'
- },
-
- 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' : 'سپی'
- },
-
- scayt :
- {
- title : 'پشکنینی نووسه‌ له‌کاتی نووسین',
- opera_title : 'پشتیوانی نه‌کراوه له‌لایه‌ن Opera',
- enable : 'چالاککردنی SCAYT',
- disable : 'ناچالاککردنی SCAYT',
- about : 'ده‌رباره‌ی SCAYT',
- toggle : 'گۆڕینی SCAYT',
- options : 'هه‌ڵبژارده',
- langs : 'زمانه‌کان',
- moreSuggestions : 'پێشنیاری زیاتر',
- ignore : 'پشتگوێخستن',
- ignoreAll : 'پشتگوێخستنی هه‌مووی',
- addWord : 'زیادکردنی ووشه',
- emptyDic : 'ناوی Ùه‌رهه‌نگ نابێت خاڵی بێت.',
- noSuggestions : 'No suggestions', // MISSING
- optionsTab : 'هه‌ڵبژارده',
- allCaps : 'پشتگوێخستنی وشانه‌ی پێکهاتووه له‌پیتی گه‌وره‌',
- ignoreDomainNames : 'پشتگوێخستنی دۆمه‌ین',
- mixedCase : 'پشتگوێخستنی وشانه‌ی پێکهاتووه له‌پیتی گه‌وره‌و بچووك',
- mixedWithDigits : 'پشتگوێخستنی وشانه‌ی پێکهاتووه له‌ژماره',
-
- languagesTab : 'زمانه‌کان',
-
- dictionariesTab : 'Ùه‌رهه‌نگه‌کان',
- dic_field_name : 'ناوی Ùه‌رهه‌نگ',
- dic_create : 'درووستکردن',
- dic_restore : 'گه‌ڕاندنه‌وه',
- dic_delete : 'سڕینه‌وه',
- dic_rename : 'گۆڕینی ناو',
- dic_info : 'له‌بنچینه‌دا Ùه‌رهه‌نگی به‌کارهێنه‌ر کۆگاکردن کراوه‌ له‌ شه‌کرۆکه Cookie, هه‌رچۆنێك بێت شه‌کۆرکه سنووردار کراوه له‌ قه‌باره کۆگاکردن.کاتێك Ùه‌رهه‌نگی به‌کارهێنه‌ر گه‌یشته‌ ئه‌م خاڵه‌ی که‌ناتوانرێت زیاتر کۆگاکردن بکرێت له‌ شه‌کرۆکه‌، ئه‌وسا Ùه‌رهه‌نگه‌که‌ پێویسته‌ کۆگابکرێت له‌ ڕاژه‌که‌ی ئێمه‌.‌ بۆ کۆگاکردنی زانیاری تایبه‌تی Ùه‌رهه‌نگه‌که‌ له‌ ڕاژه‌که‌ی ئێمه, پێویسته‌ ناوێك هه‌ڵبژێریت بۆ Ùه‌رهه‌نگه‌که‌. گه‌ر تۆ Ùه‌رهه‌نگێکی کۆگاکراوت هه‌یه‌, تکایه‌ ناوی Ùه‌رهه‌نگه‌که‌ بنووسه‌ وه‌ کلیکی دوگمه‌ی گه‌ڕاندنه‌وه‌ بکه.',
-
- aboutTab : 'ده‌رباره‌ی'
- },
-
- about :
- {
- title : 'ده‌رباره‌ی CKEditor',
- dlgTitle : 'ده‌رباره‌ی CKEditor',
- help : 'سه‌یری $1 بکه‌ بۆ یارمه‌تی.',
- userGuide : 'ڕێپیشانده‌ری CKEditors',
- moreInfo : 'بۆ زانیاری زیاتری مۆڵه‌ت, تکایه‌ سه‌ردانی ماڵپه‌ڕه‌که‌مان بکه:',
- copy : 'ماÙÛŒ له‌به‌رگرتنه‌وه‌ی &copy; $1. گشتی پارێزراوه.'
- },
-
- maximize : 'ئەوپه‌ڕی گەورەیی',
- minimize : 'ئەوپەڕی بچووکی',
-
- fakeobjects :
- {
- anchor : 'له‌نگه‌ر',
- flash : 'Ùلاش',
- iframe : 'له‌چوارچێوه',
- hiddenfield : 'شاردنه‌وه‌ی خانه',
- unknown : 'به‌رکارێکی نه‌ناسراو'
- },
-
- resize : 'ڕابکێشە بۆ گۆڕینی قەبارەکەی',
-
- colordialog :
- {
- title : 'هه‌ڵبژاردنی ڕه‌نگ',
- options : 'هه‌ڵبژارده‌ی ڕه‌نگه‌کان',
- highlight : 'نیشانکردن',
- selected : 'هه‌ڵبژاردرا',
- clear : 'پاککردنه‌وه'
- },
-
- toolbarCollapse : 'شاردنەوی هێڵی تووڵامراز',
- toolbarExpand : 'نیشاندانی هێڵی تووڵامراز',
-
- toolbarGroups :
- {
- document : 'په‌ڕه',
- clipboard : 'بڕین/پووچکردنه‌وه',
- editing : 'چاکسازی',
- forms : 'داڕشته',
- basicstyles : 'شێوازی بنچینه‌یی',
- paragraph : 'بڕگه',
- links : 'به‌سته‌ر',
- insert : 'خستنه‌ ناو',
- styles : 'شێواز',
- colors : 'ڕه‌نگه‌کان',
- tools : 'ئامرازه‌کان'
- },
-
- bidi :
- {
- ltr : 'ئاراسته‌ی نووسه‌ له‌چه‌پ بۆ ڕاست',
- rtl : 'ئاراسته‌ی نووسه‌ له‌ڕاست بۆ چه‌پ'
- },
-
- docprops :
- {
- label : 'خاسییه‌تی په‌ڕه',
- title : 'خاسییه‌تی په‌ڕه',
- design : 'شێوه‌کار',
- meta : 'زانیاری مێتا',
- chooseColor : '‌هه‌ڵبژێره',
- other : 'هیتر...',
- docTitle : 'سه‌ردێڕی په‌ڕه',
- charset : 'ده‌سته‌ی نووسه‌ی به‌کۆده‌که‌ر',
- charsetOther : 'ده‌سته‌ی نووسه‌ی به‌کۆده‌که‌ری تر',
- charsetASCII : 'ASCII',
- charsetCE : 'ناوه‌ڕاست ئه‌وروپا',
- charsetCT : 'چینی(Big5)',
- charsetCR : 'سیریلیك',
- charsetGR : 'یۆنانی',
- charsetJP : 'ژاپۆن',
- charsetKR : 'کۆریا',
- charsetTR : 'تورکیا',
- charsetUN : 'Unicode (UTF-8)',
- charsetWE : 'ڕۆژئاوای ئه‌وروپا',
- docType : 'سه‌رپه‌ڕه‌ی جۆری په‌ڕه',
- docTypeOther : 'سه‌رپه‌ڕه‌ی جۆری په‌ڕه‌ی تر',
- xhtmlDec : 'به‌یاننامه‌کانی XHTML له‌گه‌ڵدابێت',
- bgColor : 'ڕه‌نگی پاشبنه‌ما',
- bgImage : 'ناونیشانی به‌سته‌ری وێنه‌ی پاشبنه‌ما',
- bgFixed : 'بێ هاتووچوپێکردنی (چه‌سپاو) پاشبنه‌مای وێنه',
- txtColor : 'ڕه‌نگی ده‌ق',
- margin : 'ته‌نیشت په‌ڕه‌',
- marginTop : 'سه‌ره‌وه',
- marginLeft : 'چه‌پ',
- marginRight : 'ڕاست',
- marginBottom : 'ژێره‌وه',
- metaKeywords : 'به‌ڵگه‌نامه‌ی وشه‌ی کاریگه‌ر(به‌ کۆما لێکیان جیابکه‌وه)',
- metaDescription : 'پێناسه‌ی لاپه‌ڕه',
- metaAuthor : 'نووسه‌ر',
- metaCopyright : 'ماÙÛŒ بڵاوکردنه‌وه‌ی',
- previewHtml : '<p>ئه‌مه‌ وه‌ك نموونه‌ی <strong>ده‌قه</strong>. تۆ به‌کارده‌هێنیت <a href="javascript:void(0)">CKEditor</a>.</p>'
- }
-};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/lt.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/lt.js
deleted file mode 100644
index 3aa2215..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/lt.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.lt={dir:'ltr',editorTitle:'Pilnas redaktorius, %1',editorHelp:'Spauskite ALT 0 dÄ—l pagalbos',toolbars:'Redaktoriaus įrankiai',editor:'Pilnas redaktorius',source:'Å altinis',newPage:'Naujas puslapis',save:'IÅ¡saugoti',preview:'PeržiÅ«ra',cut:'IÅ¡kirpti',copy:'Kopijuoti',paste:'Ä®dÄ—ti',print:'Spausdinti',underline:'Pabrauktas',bold:'Pusjuodis',italic:'Kursyvas',selectAll:'PažymÄ—ti viskÄ…',removeFormat:'Panaikinti formatÄ…',strike:'Perbrauktas',subscript:'Apatinis indeksas',superscript:'VirÅ¡utinis indeksas',horizontalrule:'Ä®terpti horizontaliÄ… linijÄ…',pagebreak:'Ä®terpti puslapių skirtukÄ…',pagebreakAlt:'Puslapio skirtukas',unlink:'Panaikinti nuorodÄ…',undo:'AtÅ¡aukti',redo:'Atstatyti',common:{browseServer:'NarÅ¡yti po serverį',url:'URL',protocol:'Protokolas',upload:'Siųsti',uploadSubmit:'Siųsti į serverį',image:'Vaizdas',flash:'Flash',form:'Forma',checkbox:'Žymimasis langelis',radio:'Žymimoji akutÄ—',textField:'Teksto laukas',textarea:'Teksto sritis',hiddenField:'Nerodomas laukas',button:'Mygtukas',select:'Atrankos laukas',imageButton:'Vaizdinis mygtukas',notSet:'<nÄ—ra nustatyta>',id:'Id',name:'Vardas',langDir:'Teksto kryptis',langDirLtr:'IÅ¡ kairÄ—s į deÅ¡inÄ™ (LTR)',langDirRtl:'IÅ¡ deÅ¡inÄ—s į kairÄ™ (RTL)',langCode:'Kalbos kodas',longDescr:'Ilgas apraÅ¡ymas URL',cssClass:'Stilių lentelÄ—s klasÄ—s',advisoryTitle:'KonsultacinÄ— antraÅ¡tÄ—',cssStyle:'Stilius',ok:'OK',cancel:'Nutraukti',close:'Uždaryti',preview:'PeržiÅ«rÄ—ti',generalTab:'Bendros savybÄ—s',advancedTab:'Papildomas',validateNumberFailed:'Å i reikÅ¡mÄ— nÄ—ra skaiÄius.',confirmNewPage:'Visas neiÅ¡saugotas turinys bus prarastas. Ar tikrai norite įkrauti naujÄ… puslapį?',confirmCancel:'Kai kurie parametrai pasikeitÄ—. Ar tikrai norite užverti langÄ…?',options:'Parametrai',target:'TikslinÄ— nuoroda',targetNew:'Naujas langas (_blank)',targetTop:'VirÅ¡utinis langas (_top)',targetSelf:'Esamas langas (_self)',targetParent:'Paskutinis langas (_parent)',langDirLTR:'IÅ¡ kairÄ—s į deÅ¡inÄ™ (LTR)',langDirRTL:'IÅ¡ deÅ¡inÄ—s į kairÄ™ (RTL)',styles:'Stilius',cssClasses:'Stilių klasÄ—s',width:'Plotis',height:'AukÅ¡tis',align:'Lygiuoti',alignLeft:'KairÄ™',alignRight:'DeÅ¡inÄ™',alignCenter:'CentrÄ…',alignTop:'VirÅ¡Å«nÄ™',alignMiddle:'Vidurį',alignBottom:'ApaÄiÄ…',invalidValue:'Invalid value.',invalidHeight:'AukÅ¡tis turi bÅ«ti nurodytas skaiÄiais.',invalidWidth:'Plotis turi bÅ«ti nurodytas skaiÄiais.',invalidCssLength:'ReikÅ¡mÄ— nurodyta "%1" laukui, turi bÅ«ti teigiamas skaiÄius su arba be tinkamo CSS matavimo vieneto (px, %, in, cm, mm, em, ex, pt arba pc).',invalidHtmlLength:'ReikÅ¡mÄ— nurodyta "%1" laukui, turi bÅ«ti teigiamas skaiÄius su arba be tinkamo HTML matavimo vieneto (px arba %).',invalidInlineStyle:'ReikÅ¡mÄ— nurodyta vidiniame stiliuje turi bÅ«ti sudaryta iÅ¡ vieno Å¡ių reikÅ¡mių "vardas : reikÅ¡mÄ—", atskirta kabliataÅ¡kiais.',cssLengthTooltip:'Ä®veskite reikÅ¡mÄ™ pikseliais arba skaiÄiais su tinkamu CSS vienetu (px, %, in, cm, mm, em, ex, pt arba pc).',unavailable:'%1<span class="cke_accessibility">, netinkamas</span>'},contextmenu:{options:'Kontekstinio meniu parametrai'},specialChar:{toolbar:'Ä®terpti specialų simbolį',title:'Pasirinkite specialų simbolį',options:'Specialaus simbolio nustatymai'},link:{toolbar:'Ä®terpti/taisyti nuorodÄ…',other:'<kitas>',menu:'Taisyti nuorodÄ…',title:'Nuoroda',info:'Nuorodos informacija',target:'Paskirties vieta',upload:'Siųsti',advanced:'Papildomas',type:'Nuorodos tipas',toUrl:'Nuoroda',toAnchor:'ŽymÄ— Å¡iame puslapyje',toEmail:'El.paÅ¡tas',targetFrame:'<kadras>',targetPopup:'<iÅ¡skleidžiamas langas>',targetFrameName:'Paskirties kadro vardas',targetPopupName:'Paskirties lango vardas',popupFeatures:'IÅ¡skleidžiamo lango savybÄ—s',popupResizable:'Kintamas dydis',popupStatusBar:'BÅ«senos juosta',popupLocationBar:'Adreso juosta',popupToolbar:'Mygtukų juosta',popupMenuBar:'Meniu juosta',popupFullScreen:'Visas ekranas (IE)',popupScrollBars:'Slinkties juostos',popupDependent:'Priklausomas (Netscape)',popupLeft:'KairÄ— pozicija',popupTop:'VirÅ¡utinÄ— pozicija',id:'Id',langDir:'Teksto kryptis',langDirLTR:'IÅ¡ kairÄ—s į deÅ¡inÄ™ (LTR)',langDirRTL:'IÅ¡ deÅ¡inÄ—s į kairÄ™ (RTL)',acccessKey:'Prieigos raktas',name:'Vardas',langCode:'Teksto kryptis',tabIndex:'Tabuliavimo indeksas',advisoryTitle:'KonsultacinÄ— antraÅ¡tÄ—',advisoryContentType:'Konsultacinio turinio tipas',cssClasses:'Stilių lentelÄ—s klasÄ—s',charset:'Susietų iÅ¡teklių simbolių lentelÄ—',styles:'Stilius',rel:'SÄ…sajos',selectAnchor:'Pasirinkite žymÄ™',anchorName:'Pagal žymÄ—s vardÄ…',anchorId:'Pagal žymÄ—s Id',emailAddress:'El.paÅ¡to adresas',emailSubject:'ŽinutÄ—s tema',emailBody:'ŽinutÄ—s turinys',noAnchors:'(Å iame dokumente žymių nÄ—ra)',noUrl:'PraÅ¡ome įvesti nuorodos URL',noEmail:'PraÅ¡ome įvesti el.paÅ¡to adresÄ…'},anchor:{toolbar:'Ä®terpti/modifikuoti žymÄ™',menu:'ŽymÄ—s savybÄ—s',title:'ŽymÄ—s savybÄ—s',name:'ŽymÄ—s vardas',errorName:'PraÅ¡ome įvesti žymÄ—s vardÄ…',remove:'PaÅ¡alinti žymÄ™'},list:{numberedTitle:'Skaitmeninio sÄ…raÅ¡o nustatymai',bulletedTitle:'Ženklelinio sÄ…raÅ¡o nustatymai',type:'RÅ«Å¡is',start:'Pradžia',validateStartNumber:'SÄ…raÅ¡o pradžios skaitmuo turi bÅ«ti sveikas skaiÄius.',circle:'Apskritimas',disc:'Diskas',square:'Kvadratas',none:'Niekas',notset:'<nenurodytas>',armenian:'ArmÄ—niÅ¡ki skaitmenys',georgian:'GruziniÅ¡ki skaitmenys (an, ban, gan, t.t)',lowerRoman:'Mažosios RomÄ—nų (i, ii, iii, iv, v, t.t)',upperRoman:'Didžiosios RomÄ—nų (I, II, III, IV, V, t.t)',lowerAlpha:'Mažosios Alpha (a, b, c, d, e, t.t)',upperAlpha:'Didžiosios Alpha (A, B, C, D, E, t.t)',lowerGreek:'Mažosios Graikų (alpha, beta, gamma, t.t)',decimal:'DeÅ¡imtainis (1, 2, 3, t.t)',decimalLeadingZero:'DeÅ¡imtainis su nuliu priekyje (01, 02, 03, t.t)'},findAndReplace:{title:'Surasti ir pakeisti',find:'Rasti',replace:'Pakeisti',findWhat:'Surasti tekstÄ…:',replaceWith:'Pakeisti tekstu:',notFoundMsg:'Nurodytas tekstas nerastas.',findOptions:'PaieÅ¡kos nustatymai',matchCase:'Skirti didžiÄ…sias ir mažąsias raides',matchWord:'Atitikti pilnÄ… žodį',matchCyclic:'Sutampantis cikliÅ¡kumas',replaceAll:'Pakeisti viskÄ…',replaceSuccessMsg:'%1 sutapimas(ų) buvo pakeisti.'},table:{toolbar:'LentelÄ—',title:'LentelÄ—s savybÄ—s',menu:'LentelÄ—s savybÄ—s',deleteTable:'Å alinti lentelÄ™',rows:'EilutÄ—s',columns:'Stulpeliai',border:'RÄ—melio dydis',widthPx:'taÅ¡kais',widthPc:'procentais',widthUnit:'ploÄio vienetas',cellSpace:'Tarpas tarp langelių',cellPad:'Trapas nuo langelio rÄ—mo iki teksto',caption:'AntraÅ¡tÄ—',summary:'Santrauka',headers:'AntraÅ¡tÄ—s',headersNone:'NÄ—ra',headersColumn:'Pirmas stulpelis',headersRow:'Pirma eilutÄ—',headersBoth:'Abu',invalidRows:'SkaiÄius turi bÅ«ti didesnis nei 0.',invalidCols:'SkaiÄius turi bÅ«ti didesnis nei 0.',invalidBorder:'ReikÅ¡mÄ— turi bÅ«ti nurodyta skaiÄiumi.',invalidWidth:'ReikÅ¡mÄ— turi bÅ«ti nurodyta skaiÄiumi.',invalidHeight:'ReikÅ¡mÄ— turi bÅ«ti nurodyta skaiÄiumi.',invalidCellSpacing:'ReikÅ¡mÄ— turi bÅ«ti nurodyta skaiÄiumi.',invalidCellPadding:'ReikÅ¡mÄ— turi bÅ«ti nurodyta skaiÄiumi.',cell:{menu:'Langelis',insertBefore:'Ä®terpti langelį prieÅ¡',insertAfter:'Ä®terpti langelį po',deleteCell:'Å alinti langelius',merge:'Sujungti langelius',mergeRight:'Sujungti su deÅ¡ine',mergeDown:'Sujungti su apaÄia',splitHorizontal:'Skaidyti langelį horizontaliai',splitVertical:'Skaidyti langelį vertikaliai',title:'Cell nustatymai',cellType:'Cell rÅ«Å¡is',rowSpan:'EiluÄių Span',colSpan:'Stulpelių Span',wordWrap:'Sutraukti raides',hAlign:'Horizontalus lygiavimas',vAlign:'Vertikalus lygiavimas',alignBaseline:'ApatinÄ— linija',bgColor:'Fono spalva',borderColor:'RÄ—melio spalva',data:'Data',header:'AntraÅ¡tÄ—',yes:'Taip',no:'Ne',invalidWidth:'ReikÅ¡mÄ— turi bÅ«ti skaiÄius.',invalidHeight:'ReikÅ¡mÄ— turi bÅ«ti skaiÄius.',invalidRowSpan:'ReikÅ¡mÄ— turi bÅ«ti skaiÄius.',invalidColSpan:'ReikÅ¡mÄ— turi bÅ«ti skaiÄius.',chooseColor:'Pasirinkite'},row:{menu:'EilutÄ—',insertBefore:'Ä®terpti eilutÄ™ prieÅ¡',insertAfter:'Ä®terpti eilutÄ™ po',deleteRow:'Å alinti eilutes'},column:{menu:'Stulpelis',insertBefore:'Ä®terpti stulpelį prieÅ¡',insertAfter:'Ä®terpti stulpelį po',deleteColumn:'Å alinti stulpelius'}},button:{title:'Mygtuko savybÄ—s',text:'Tekstas (ReikÅ¡mÄ—)',type:'Tipas',typeBtn:'Mygtukas',typeSbm:'Siųsti',typeRst:'IÅ¡valyti'},checkboxAndRadio:{checkboxTitle:'Žymimojo langelio savybÄ—s',radioTitle:'Žymimosios akutÄ—s savybÄ—s',value:'ReikÅ¡mÄ—',selected:'PažymÄ—tas'},form:{title:'Formos savybÄ—s',menu:'Formos savybÄ—s',action:'Veiksmas',method:'Metodas',encoding:'Kodavimas'},select:{title:'Atrankos lauko savybÄ—s',selectInfo:'Informacija',opAvail:'Galimos parinktys',value:'ReikÅ¡mÄ—',size:'Dydis',lines:'eiluÄių',chkMulti:'Leisti daugeriopÄ… atrankÄ…',opText:'Tekstas',opValue:'ReikÅ¡mÄ—',btnAdd:'Ä®traukti',btnModify:'Modifikuoti',btnUp:'AukÅ¡tyn',btnDown:'Žemyn',btnSetValue:'Laikyti pažymÄ—ta reikÅ¡me',btnDelete:'Trinti'},textarea:{title:'Teksto srities savybÄ—s',cols:'Ilgis',rows:'Plotis'},textfield:{title:'Teksto lauko savybÄ—s',name:'Vardas',value:'ReikÅ¡mÄ—',charWidth:'Ilgis simboliais',maxChars:'Maksimalus simbolių skaiÄius',type:'Tipas',typeText:'Tekstas',typePass:'Slaptažodis'},hidden:{title:'Nerodomo lauko savybÄ—s',name:'Vardas',value:'ReikÅ¡mÄ—'},image:{title:'Vaizdo savybÄ—s',titleButton:'Vaizdinio mygtuko savybÄ—s',menu:'Vaizdo savybÄ—s',infoTab:'Vaizdo informacija',btnUpload:'Siųsti į serverį',upload:'Nusiųsti',alt:'Alternatyvus Tekstas',lockRatio:'IÅ¡laikyti proporcijÄ…',resetSize:'Atstatyti dydį',border:'RÄ—melis',hSpace:'Hor.ErdvÄ—',vSpace:'Vert.ErdvÄ—',alertUrl:'PraÅ¡ome įvesti vaizdo URL',linkTab:'Nuoroda',button2Img:'Ar norite mygtukÄ… paversti paprastu paveiksliuku?',img2Button:'Ar norite paveiksliukÄ… paversti mygtuku?',urlMissing:'Paveiksliuko nuorodos nÄ—ra.',validateBorder:'ReikÅ¡mÄ— turi bÅ«ti sveikas skaiÄius.',validateHSpace:'ReikÅ¡mÄ— turi bÅ«ti sveikas skaiÄius.',validateVSpace:'ReikÅ¡mÄ— turi bÅ«ti sveikas skaiÄius.'},flash:{properties:'Flash savybÄ—s',propertiesTab:'Nustatymai',title:'Flash savybÄ—s',chkPlay:'Automatinis paleidimas',chkLoop:'Ciklas',chkMenu:'Leisti Flash meniu',chkFull:'Leisti per visÄ… ekranÄ…',scale:'Mastelis',scaleAll:'Rodyti visÄ…',scaleNoBorder:'Be rÄ—melio',scaleFit:'Tikslus atitikimas',access:'Skripto priÄ—jimas',accessAlways:'Visada',accessSameDomain:'Tas pats domenas',accessNever:'Niekada',alignAbsBottom:'AbsoliuÄiÄ… apaÄiÄ…',alignAbsMiddle:'Absoliutų vidurį',alignBaseline:'ApatinÄ™ linijÄ…',alignTextTop:'Teksto virÅ¡Å«nÄ™',quality:'KokybÄ—',qualityBest:'Geriausia',qualityHigh:'Gera',qualityAutoHigh:'AutomatiÅ¡kai Gera',qualityMedium:'VidutinÄ—',qualityAutoLow:'AutomatiÅ¡kai Žema',qualityLow:'Žema',windowModeWindow:'Langas',windowModeOpaque:'Nepermatomas',windowModeTransparent:'Permatomas',windowMode:'Lango režimas',flashvars:'Flash kintamieji',bgcolor:'Fono spalva',hSpace:'Hor.ErdvÄ—',vSpace:'Vert.ErdvÄ—',validateSrc:'PraÅ¡ome įvesti nuorodos URL',validateHSpace:'HSpace turi bÅ«ti skaiÄius.',validateVSpace:'VSpace turi bÅ«ti skaiÄius.'},spellCheck:{toolbar:'RaÅ¡ybos tikrinimas',title:'Tikrinti klaidas',notAvailable:'Atleiskite, Å¡iuo metu servisas neprieinamas.',errorLoading:'Klaida įkraunant servisÄ…: %s.',notInDic:'Žodyne nerastas',changeTo:'Pakeisti į',btnIgnore:'Ignoruoti',btnIgnoreAll:'Ignoruoti visus',btnReplace:'Pakeisti',btnReplaceAll:'Pakeisti visus',btnUndo:'AtÅ¡aukti',noSuggestions:'- NÄ—ra pasiÅ«lymų -',progress:'Vyksta raÅ¡ybos tikrinimas...',noMispell:'RaÅ¡ybos tikrinimas baigtas: Nerasta raÅ¡ybos klaidų',noChanges:'RaÅ¡ybos tikrinimas baigtas: NÄ—ra pakeistų žodžių',oneChange:'RaÅ¡ybos tikrinimas baigtas: Vienas žodis pakeistas',manyChanges:'RaÅ¡ybos tikrinimas baigtas: Pakeista %1 žodžių',ieSpellDownload:'RaÅ¡ybos tikrinimas neinstaliuotas. Ar JÅ«s norite jį dabar atsisiųsti?'},smiley:{toolbar:'Veideliai',title:'Ä®terpti veidelį',options:'Å ypsenÄ—lių nustatymai'},elementsPath:{eleLabel:'Elemento kelias',eleTitle:'%1 elementas'},numberedlist:'Numeruotas sÄ…raÅ¡as',bulletedlist:'Suženklintas sÄ…raÅ¡as',indent:'Padidinti įtraukÄ…',outdent:'Sumažinti įtraukÄ…',justify:{left:'Lygiuoti kairÄ™',center:'Centruoti',right:'Lygiuoti deÅ¡inÄ™',block:'Lygiuoti abi puses'},blockquote:'Citata',clipboard:{title:'Ä®dÄ—ti',cutError:'JÅ«sų narÅ¡yklÄ—s saugumo nustatymai neleidžia redaktoriui automatiÅ¡kai įvykdyti iÅ¡kirpimo operacijų. Tam praÅ¡ome naudoti klaviatÅ«rÄ… (Ctrl/Cmd+X).',copyError:'JÅ«sų narÅ¡yklÄ—s saugumo nustatymai neleidžia redaktoriui automatiÅ¡kai įvykdyti kopijavimo operacijų. Tam praÅ¡ome naudoti klaviatÅ«rÄ… (Ctrl/Cmd+C).',pasteMsg:'Žemiau esanÄiame įvedimo lauke įdÄ—kite tekstÄ…, naudodami klaviatÅ«rÄ… (<STRONG>Ctrl/Cmd+V</STRONG>) ir paspauskite mygtukÄ… <STRONG>OK</STRONG>.',securityMsg:'DÄ—l jÅ«sų narÅ¡yklÄ—s saugumo nustatymų, redaktorius negali tiesiogiai pasiekti laikinosios atminties. Jums reikia nukopijuoti dar kartÄ… į šį langÄ….',pasteArea:'Ä®kelti dalį'},pastefromword:{confirmCleanup:'Tekstas, kurį įkeliate yra kopijuojamas iÅ¡ Word. Ar norite jį iÅ¡valyti prieÅ¡ įkeliant?',toolbar:'Ä®dÄ—ti iÅ¡ Word',title:'Ä®dÄ—ti iÅ¡ Word',error:'DÄ—l vidinių sutrikimų, nepavyko iÅ¡valyti įkeliamo teksto'},pasteText:{button:'Ä®dÄ—ti kaip grynÄ… tekstÄ…',title:'Ä®dÄ—ti kaip grynÄ… tekstÄ…'},templates:{button:'Å ablonai',title:'Turinio Å¡ablonai',options:'Template Options',insertOption:'Pakeisti dabartinį turinį pasirinktu Å¡ablonu',selectPromptMsg:'Pasirinkite norimÄ… Å¡ablonÄ…<br>(<b>DÄ—mesio!</b> esamas turinys bus prarastas):',emptyListMsg:'(Å ablonų sÄ…raÅ¡as tuÅ¡Äias)'},showBlocks:'Rodyti blokus',stylesCombo:{label:'Stilius',panelTitle:'Stilių formatavimas',panelTitle1:'Blokų stiliai',panelTitle2:'Vidiniai stiliai',panelTitle3:'Objektų stiliai'},format:{label:'Å rifto formatas',panelTitle:'Å rifto formatas',tag_p:'Normalus',tag_pre:'Formuotas',tag_address:'Kreipinio',tag_h1:'AntraÅ¡tinis 1',tag_h2:'AntraÅ¡tinis 2',tag_h3:'AntraÅ¡tinis 3',tag_h4:'AntraÅ¡tinis 4',tag_h5:'AntraÅ¡tinis 5',tag_h6:'AntraÅ¡tinis 6',tag_div:'Normalus (DIV)'},div:{title:'Sukurti Div elementÄ…',toolbar:'Sukurti Div elementÄ…',cssClassInputLabel:'Stilių klasÄ—s',styleSelectLabel:'Stilius',IdInputLabel:'Id',languageCodeInputLabel:' Kalbos kodas',inlineStyleInputLabel:'Vidiniai stiliai',advisoryTitleInputLabel:'Patariamas pavadinimas',langDirLabel:'Kalbos nurodymai',langDirLTRLabel:'IÅ¡ kairÄ—s į deÅ¡inÄ™ (LTR)',langDirRTLLabel:'IÅ¡ deÅ¡inÄ—s į kairÄ™ (RTL)',edit:'Redaguoti Div',remove:'PaÅ¡alinti Div'},iframe:{title:'IFrame nustatymai',toolbar:'IFrame',noUrl:'Nurodykite iframe nuorodÄ…',scrolling:'Ä®jungti slankiklius',border:'Rodyti rÄ—melį'},font:{label:'Å riftas',voiceLabel:'Å riftas',panelTitle:'Å riftas'},fontSize:{label:'Å rifto dydis',voiceLabel:'Å rifto dydis',panelTitle:'Å rifto dydis'},colorButton:{textColorTitle:'Teksto spalva',bgColorTitle:'Fono spalva',panelTitle:'Spalva',auto:'Automatinis',more:'Daugiau spalvų...'},colors:{'000':'Juoda',800000:'KaÅ¡toninÄ—','8B4513':'Tamsiai ruda','2F4F4F':'Pilka tamsaus Å¡iferio','008080':'Teal','000080':'Karinis','4B0082':'Indigo',696969:'Tamsiai pilka',B22222:'Ugnies',A52A2A:'Ruda',DAA520:'Aukso','006400':'Tamsiai žalia','40E0D0':'Turquoise','0000CD':'VidutinÄ— mÄ—lyna',800080:'VioletinÄ—',808080:'Pilka',F00:'Raudona',FF8C00:'Tamsiai oranžinÄ—',FFD700:'AuksinÄ—','008000':'Žalia','0FF':'Žydra','00F':'MÄ—lyna',EE82EE:'VioletinÄ—',A9A9A9:'Dim Gray',FFA07A:'Light Salmon',FFA500:'OranžinÄ—',FFFF00:'Geltona','00FF00':'Citrinų',AFEEEE:'Pale Turquoise',ADD8E6:'Å viesiai mÄ—lyna',DDA0DD:'Plum',D3D3D3:'Å viesiai pilka',FFF0F5:'Lavender Blush',FAEBD7:'Antique White',FFFFE0:'Å viesiai geltona',F0FFF0:'Honeydew',F0FFFF:'Azure',F0F8FF:'Alice Blue',E6E6FA:'Lavender',FFF:'Balta'},scayt:{title:'Tikrinti klaidas kai raÅ¡oma',opera_title:'Nepalaikoma narÅ¡yklÄ—je Opera',enable:'Ä®jungti SCAYT',disable:'IÅ¡jungti SCAYT',about:'Apie SCAYT',toggle:'Perjungti SCAYT',options:'Parametrai',langs:'Kalbos',moreSuggestions:'Daugiau patarimų',ignore:'Ignoruoti',ignoreAll:'Ignoruoti viskÄ…',addWord:'PridÄ—ti žodį',emptyDic:'Žodyno vardas neturÄ—tų bÅ«ti tuÅ¡Äias.',noSuggestions:'No suggestions',optionsTab:'Parametrai',allCaps:'Ignoruoti visas didžiÄ…sias raides',ignoreDomainNames:'Ignoruoti domenų vardus',mixedCase:'Ignoruoti maiÅ¡yto dydžio raides',mixedWithDigits:'Ignoruoti raides su skaiÄiais',languagesTab:'Kalbos',dictionariesTab:'Žodynai',dic_field_name:'Žodyno pavadinimas',dic_create:'Sukurti',dic_restore:'Atstatyti',dic_delete:'IÅ¡trinti',dic_rename:'Pervadinti',dic_info:'Paprastai žodynas yra saugojamas sausainÄ—liuose (cookies), kurių dydis, bet kokiu atveju, yra apribotas. Esant sausainÄ—lių apimties perviÅ¡iui, viskas bus saugoma serveryje. Jei norite iÅ¡ kart viskÄ… saugoti serveryje, turite sugalvoti žodynui pavadinimÄ…. Jei jau turite žodynÄ…, įraÅ¡ykite pavadinimÄ… ir nuspauskite Atstatyti mygtukÄ….',aboutTab:'Apie'},about:{title:'Apie CKEditor',dlgTitle:'Apie CKEditor',help:'Patikrinkite $1 dÄ—l pagalbos.',userGuide:'CKEditor Vartotojo Gidas',moreInfo:'DÄ—l licencijavimo apsilankykite mÅ«sų svetainÄ—je:',copy:'Copyright &copy; $1. Visos teiss saugomos.'},maximize:'IÅ¡didinti',minimize:'Sumažinti',fakeobjects:{anchor:'ŽymÄ—',flash:'Flash animacija',iframe:'IFrame',hiddenfield:'PaslÄ—ptas laukas',unknown:'Nežinomas objektas'},resize:'Pavilkite, kad pakeistumÄ—te dydį',colordialog:{title:'Pasirinkite spalvÄ…',options:'Spalvos nustatymai',highlight:'ParyÅ¡kinti',selected:'Pasirinkta spalva',clear:'IÅ¡valyti'},toolbarCollapse:'Apjungti įrankių juostÄ…',toolbarExpand:'IÅ¡plÄ—sti įrankių juostÄ…',toolbarGroups:{document:'Dokumentas',clipboard:'AtmintinÄ—/Atgal',editing:'Redagavimas',forms:'Formos',basicstyles:'Pagrindiniai stiliai',paragraph:'Paragrafas',links:'Nuorodos',insert:'Ä®terpti',styles:'Stiliai',colors:'Spalvos',tools:'Ä®rankiai'},bidi:{ltr:'Tekstas iÅ¡ kairÄ—s į deÅ¡inÄ™',rtl:'Tekstas iÅ¡ deÅ¡inÄ—s į kairÄ™'},docprops:{label:'Dokumento savybÄ—s',title:'Dokumento savybÄ—s',design:'IÅ¡dÄ—stymas',meta:'Meta duomenys',chooseColor:'Pasirinkite',other:'<kitas>',docTitle:'Puslapio antraÅ¡tÄ—',charset:'Simbolių kodavimo lentelÄ—',charsetOther:'Kita simbolių kodavimo lentelÄ—',charsetASCII:'ASCII',charsetCE:'CentrinÄ—s Europos',charsetCT:'TradicinÄ—s kinų (Big5)',charsetCR:'Kirilica',charsetGR:'Graikų',charsetJP:'Japonų',charsetKR:'KorÄ—jieÄių',charsetTR:'Turkų',charsetUN:'Unikodas (UTF-8)',charsetWE:'Vakarų Europos',docType:'Dokumento tipo antraÅ¡tÄ—',docTypeOther:'Kita dokumento tipo antraÅ¡tÄ—',xhtmlDec:'Ä®traukti XHTML deklaracijas',bgColor:'Fono spalva',bgImage:'Fono paveikslÄ—lio nuoroda (URL)',bgFixed:'Neslenkantis fonas',txtColor:'Teksto spalva',margin:'Puslapio kraÅ¡tinÄ—s',marginTop:'VirÅ¡uje',marginLeft:'KairÄ—je',marginRight:'DeÅ¡inÄ—je',marginBottom:'ApaÄioje',metaKeywords:'Dokumento indeksavimo raktiniai žodžiai (atskirti kableliais)',metaDescription:'Dokumento apibÅ«dinimas',metaAuthor:'Autorius',metaCopyright:'AutorinÄ—s teisÄ—s',previewHtml:'<p>Tai yra <strong>pavyzdinis tekstas</strong>. JÅ«s naudojate <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/lv.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/lv.js
deleted file mode 100644
index 322ffab..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/lv.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.lv={dir:'ltr',editorTitle:'BagÄtinÄtÄ teksta redaktors, %1',editorHelp:'PalÄ«dzÄ«bai, nospiediet ALT 0 ',toolbars:'Redaktora rÄ«kjoslas',editor:'BagÄtinÄtÄ teksta redaktors',source:'HTML kods',newPage:'Jauna lapa',save:'SaglabÄt',preview:'PriekÅ¡skatÄ«t',cut:'Izgriezt',copy:'KopÄ“t',paste:'IelÄ«mÄ“t',print:'DrukÄt',underline:'PasvÄ«trots',bold:'TrekninÄts',italic:'KursÄ«vs',selectAll:'IezÄ«mÄ“t visu',removeFormat:'Noņemt stilus',strike:'PÄrsvÄ«trots',subscript:'ApakÅ¡rakstÄ',superscript:'AugÅ¡rakstÄ',horizontalrule:'Ievietot horizontÄlu AtdalÄ«tÄjsvÄ«tru',pagebreak:'Ievietot lapas pÄrtraukumu drukai',pagebreakAlt:'Lapas pÄrnesums',unlink:'Noņemt hipersaiti',undo:'Atcelt',redo:'AtkÄrtot',common:{browseServer:'SkatÄ«t servera saturu',url:'URL',protocol:'Protokols',upload:'AugÅ¡upielÄdÄ“t',uploadSubmit:'NosÅ«tÄ«t serverim',image:'AttÄ“ls',flash:'Flash',form:'Forma',checkbox:'IzvÄ“les rÅ«tiņa',radio:'Radio poga',textField:'Teksta rinda',textarea:'Teksta laukums',hiddenField:'PaslÄ“pts lauks',button:'Poga',select:'IezÄ«mÄ“Å¡anas lauks',imageButton:'AttÄ“lpoga',notSet:'<nav iestatÄ«ts>',id:'Id',name:'Nosaukums',langDir:'Valodas lasÄ«Å¡anas virziens',langDirLtr:'No kreisÄs uz labo (LTR)',langDirRtl:'No labÄs uz kreiso (RTL)',langCode:'Valodas kods',longDescr:'Gara apraksta Hipersaite',cssClass:'Stilu saraksta klases',advisoryTitle:'KonsultatÄ«vs virsraksts',cssStyle:'Stils',ok:'ApstiprinÄt',cancel:'Atcelt',close:'AizvÄ“rt',preview:'PriekÅ¡skatÄ«jums',generalTab:'VispÄrÄ«gi',advancedTab:'IzvÄ“rstais',validateNumberFailed:'Å Ä« vÄ“rtÄ«ba nav skaitlis',confirmNewPage:'Jebkuras nesaglabÄtÄs izmaiņas tiks zaudÄ“tas. Vai tieÅ¡Äm vÄ“laties atvÄ“rt jaunu lapu?',confirmCancel:'Daži no uzstÄdÄ«jumiem ir mainÄ«ti. Vai tieÅ¡Äm vÄ“laties aizvÄ“rt Å¡o dialogu?',options:'UzstÄdÄ«jumi',target:'MÄ“rÄ·is',targetNew:'Jauns logs (_blank)',targetTop:'VirsÄ“jais logs (_top)',targetSelf:'Tas pats logs (_self)',targetParent:'Avota logs (_parent)',langDirLTR:'Kreisais uz Labo (LTR)',langDirRTL:'Labais uz Kreiso (RTL)',styles:'Stils',cssClasses:'Stilu klases',width:'Platums',height:'Augstums',align:'LÄ«dzinÄjums',alignLeft:'Pa kreisi',alignRight:'Pa labi',alignCenter:'CentrÄ“ti',alignTop:'AugÅ¡Ä',alignMiddle:'Pa vidu',alignBottom:'ApakÅ¡Ä',invalidValue:'Nekorekta vÄ“rtÄ«ba',invalidHeight:'Augstumam jÄbÅ«t skaitlim.',invalidWidth:'Platumam jÄbÅ«t skaitlim',invalidCssLength:'Laukam "%1" norÄdÄ«tajai vÄ“rtÄ«bai jÄbÅ«t pozitÄ«vam skaitlim ar vai bez korektÄm CSS mÄ“rvienÄ«bÄm (px, %, in, cm, mm, em, ex, pt, vai pc).',invalidHtmlLength:'Laukam "%1" norÄdÄ«tajai vÄ“rtÄ«bai jÄbÅ«t pozitÄ«vam skaitlim ar vai bez korektÄm HTML mÄ“rvienÄ«bÄm (px vai %).',invalidInlineStyle:'IekļautajÄ stilÄ norÄdÄ«tajai vÄ“rtÄ«bai jÄsastÄv no viena vai vairÄkiem pÄriem pÄ“c forma\'ta "nosaukums: vÄ“rtÄ«ba", atdalÄ«tiem ar semikolu.',cssLengthTooltip:'Ievadiet vÄ“rtÄ«bu pikseļos vai skaitli ar derÄ«gu CSS mÄ“rvienÄ«bu (px, %, in, cm, mm, em, ex, pt, vai pc).',unavailable:'%1<span class="cke_accessibility">, nav pieejams</span>'},contextmenu:{options:'UznirstoÅ¡Äs izvÄ“lnes uzstÄdÄ«jumi'},specialChar:{toolbar:'Ievietot speciÄlo simbolu',title:'Ievietot Ä«paÅ¡u simbolu',options:'SpeciÄlo simbolu uzstÄdÄ«jumi'},link:{toolbar:'Ievietot/Labot hipersaiti',other:'<cits>',menu:'Labot hipersaiti',title:'Hipersaite',info:'Hipersaites informÄcija',target:'MÄ“rÄ·is',upload:'AugÅ¡upielÄdÄ“t',advanced:'IzvÄ“rstais',type:'Hipersaites tips',toUrl:'Adrese',toAnchor:'IezÄ«me Å¡ajÄ lapÄ',toEmail:'E-pasts',targetFrame:'<ietvars>',targetPopup:'<uznirstoÅ¡Ä logÄ>',targetFrameName:'MÄ“rÄ·a ietvara nosaukums',targetPopupName:'UznirstoÅ¡Ä loga nosaukums',popupFeatures:'UznirstoÅ¡Ä loga nosaukums Ä«paÅ¡Ä«bas',popupResizable:'MÄ“rogojams',popupStatusBar:'Statusa josla',popupLocationBar:'AtraÅ¡anÄs vietas josla',popupToolbar:'RÄ«ku josla',popupMenuBar:'IzvÄ“lnes josla',popupFullScreen:'PilnÄ ekrÄnÄ (IE)',popupScrollBars:'Ritjoslas',popupDependent:'AtkarÄ«gs (Netscape)',popupLeft:'KreisÄ koordinÄte',popupTop:'AugÅ¡Ä“jÄ koordinÄte',id:'ID',langDir:'Valodas lasÄ«Å¡anas virziens',langDirLTR:'No kreisÄs uz labo (LTR)',langDirRTL:'No labÄs uz kreiso (RTL)',acccessKey:'Pieejas taustiņš',name:'Nosaukums',langCode:'Valodas kods',tabIndex:'Ciļņu indekss',advisoryTitle:'KonsultatÄ«vs virsraksts',advisoryContentType:'KonsultatÄ«vs satura tips',cssClasses:'Stilu saraksta klases',charset:'PievienotÄ resursa kodÄ“jums',styles:'Stils',rel:'RelÄcija',selectAnchor:'IzvÄ“lÄ“ties iezÄ«mi',anchorName:'PÄ“c iezÄ«mes nosaukuma',anchorId:'PÄ“c elementa ID',emailAddress:'E-pasta adrese',emailSubject:'Ziņas tÄ“ma',emailBody:'Ziņas saturs',noAnchors:'(Å ajÄ dokumentÄ nav iezÄ«mju)',noUrl:'LÅ«dzu norÄdi hipersaiti',noEmail:'LÅ«dzu norÄdi e-pasta adresi'},anchor:{toolbar:'Ievietot/Labot iezÄ«mi',menu:'Labot iezÄ«mi',title:'IezÄ«mes uzstÄdÄ«jumi',name:'IezÄ«mes nosaukums',errorName:'LÅ«dzu norÄdiet iezÄ«mes nosaukumu',remove:'Noņemt iezÄ«mi'},list:{numberedTitle:'NumurÄ“ta saraksta uzstÄdÄ«jumi',bulletedTitle:'VienkÄrÅ¡a saraksta uzstÄdÄ«jumi',type:'Tips',start:'SÄkt',validateStartNumber:'Saraksta sÄkuma numuram jÄbÅ«t veselam skaitlim',circle:'Aplis',disc:'Disks',square:'KvadrÄts',none:'Nekas',notset:'<nav norÄdÄ«ts>',armenian:'Armēņu skaitļi',georgian:'Gruzīņu skaitļi (an, ban, gan, utt)',lowerRoman:'Mazie romÄņu (i, ii, iii, iv, v, utt)',upperRoman:'Lielie romÄņu (I, II, III, IV, V, utt)',lowerAlpha:'Mazie alfabÄ“ta (a, b, c, d, e, utt)',upperAlpha:'Lielie alfabÄ“ta (A, B, C, D, E, utt)',lowerGreek:'Mazie grieÄ·u (alfa, beta, gamma, utt)',decimal:'DecimÄlie (1, 2, 3, utt)',decimalLeadingZero:'DecimÄlie ar nulli (01, 02, 03, utt)'},findAndReplace:{title:'MeklÄ“t un aizvietot',find:'MeklÄ“t',replace:'NomainÄ«t',findWhat:'MeklÄ“t:',replaceWith:'NomainÄ«t uz:',notFoundMsg:'NorÄdÄ«tÄ frÄze netika atrasta.',findOptions:'MeklÄ“t uzstÄdÄ«jumi',matchCase:'ReÄ£istrjÅ«tÄ«gs',matchWord:'JÄsakrÄ«t pilnÄ«bÄ',matchCyclic:'Sakrist cikliski',replaceAll:'Aizvietot visu',replaceSuccessMsg:'%1 gadÄ«jums(i) aizvietoti'},table:{toolbar:'Tabula',title:'Tabulas Ä«paÅ¡Ä«bas',menu:'Tabulas Ä«paÅ¡Ä«bas',deleteTable:'DzÄ“st tabulu',rows:'Rindas',columns:'Kolonnas',border:'RÄmja izmÄ“rs',widthPx:'pikseļos',widthPc:'procentuÄli',widthUnit:'platuma mÄ“rvienÄ«ba',cellSpace:'RÅ«tiņu atstatums',cellPad:'RÅ«tiņu nobÄ«de',caption:'LeÄ£enda',summary:'AnotÄcija',headers:'Virsraksti',headersNone:'Nekas',headersColumn:'PirmÄ kolona',headersRow:'PirmÄ rinda',headersBoth:'Abi',invalidRows:'Rindu skaitam jÄbÅ«t lielÄkam par 0',invalidCols:'Kolonu skaitam jÄbÅ«t lielÄkam par 0',invalidBorder:'RÄmju izmÄ“ram jÄbÅ«t skaitlim',invalidWidth:'Tabulas platumam jÄbÅ«t skaitlim',invalidHeight:'Tabulas augstumam jÄbÅ«t skaitlim',invalidCellSpacing:'Å Å«nu atstarpÄ“m jÄbÅ«t pozitÄ«vam skaitlim',invalidCellPadding:'Å Å«nu atkÄpÄ“m jÄbÅ«t pozitÄ«vam skaitlim',cell:{menu:'Å Å«na',insertBefore:'Pievienot Å¡Å«nu pirms',insertAfter:'Pievienot Å¡Å«nu pÄ“c',deleteCell:'DzÄ“st rÅ«tiņas',merge:'Apvienot rÅ«tiņas',mergeRight:'Apvieno pa labi',mergeDown:'Apvienot uz leju',splitHorizontal:'SadalÄ«t Å¡Å«nu horizontÄli',splitVertical:'SadalÄ«t Å¡Å«nu vertikÄli',title:'Å Å«nas uzstÄdÄ«jumi',cellType:'Å Å«nas tips',rowSpan:'Apvienotas rindas',colSpan:'Apvienotas kolonas',wordWrap:'VÄrdu pÄrnese',hAlign:'HorizontÄlais novietojums',vAlign:'VertikÄlais novietojums',alignBaseline:'Pamatrinda',bgColor:'Fona krÄsa',borderColor:'RÄmja krÄsa',data:'Dati',header:'Virsraksts',yes:'JÄ',no:'NÄ“',invalidWidth:'Å Å«nas platumam jÄbÅ«t skaitlim',invalidHeight:'Å Å«nas augstumam jÄbÅ«t skaitlim',invalidRowSpan:'Apvienojamo rindu skaitam jÄbÅ«t veselam skaitlim',invalidColSpan:'Apvienojamo kolonu skaitam jÄbÅ«t veselam skaitlim',chooseColor:'IzvÄ“lÄ“ties'},row:{menu:'Rinda',insertBefore:'Ievietot rindu pirms',insertAfter:'Ievietot rindu pÄ“c',deleteRow:'DzÄ“st rindas'},column:{menu:'Kolonna',insertBefore:'Ievietot kolonu pirms',insertAfter:'Ievieto kolonu pÄ“c',deleteColumn:'DzÄ“st kolonnas'}},button:{title:'Pogas Ä«paÅ¡Ä«bas',text:'Teksts (vÄ“rtÄ«ba)',type:'Tips',typeBtn:'Poga',typeSbm:'NosÅ«tÄ«t',typeRst:'Atcelt'},checkboxAndRadio:{checkboxTitle:'AtzÄ«mÄ“Å¡anas kastÄ«tes Ä«paÅ¡Ä«bas',radioTitle:'IzvÄ“les poga Ä«paÅ¡Ä«bas',value:'VÄ“rtÄ«ba',selected:'IezÄ«mÄ“ts'},form:{title:'Formas Ä«paÅ¡Ä«bas',menu:'Formas Ä«paÅ¡Ä«bas',action:'DarbÄ«ba',method:'Metode',encoding:'KodÄ“jums'},select:{title:'IezÄ«mÄ“Å¡anas lauka Ä«paÅ¡Ä«bas',selectInfo:'InformÄcija',opAvail:'PieejamÄs iespÄ“jas',value:'VÄ“rtÄ«ba',size:'IzmÄ“rs',lines:'rindas',chkMulti:'Atļaut vairÄkus iezÄ«mÄ“jumus',opText:'Teksts',opValue:'VÄ“rtÄ«ba',btnAdd:'Pievienot',btnModify:'Veikt izmaiņas',btnUp:'AugÅ¡up',btnDown:'Lejup',btnSetValue:'Noteikt kÄ iezÄ«mÄ“to vÄ“rtÄ«bu',btnDelete:'DzÄ“st'},textarea:{title:'Teksta laukuma Ä«paÅ¡Ä«bas',cols:'Kolonnas',rows:'Rindas'},textfield:{title:'Teksta rindas Ä«paÅ¡Ä«bas',name:'Nosaukums',value:'VÄ“rtÄ«ba',charWidth:'Simbolu platums',maxChars:'Simbolu maksimÄlais daudzums',type:'Tips',typeText:'Teksts',typePass:'Parole'},hidden:{title:'PaslÄ“ptÄs teksta rindas Ä«paÅ¡Ä«bas',name:'Nosaukums',value:'VÄ“rtÄ«ba'},image:{title:'AttÄ“la Ä«paÅ¡Ä«bas',titleButton:'AttÄ“lpogas Ä«paÅ¡Ä«bas',menu:'AttÄ“la Ä«paÅ¡Ä«bas',infoTab:'InformÄcija par attÄ“lu',btnUpload:'NosÅ«tÄ«t serverim',upload:'AugÅ¡upielÄdÄ“t',alt:'AlternatÄ«vais teksts',lockRatio:'NemainÄ«ga Augstuma/Platuma attiecÄ«ba',resetSize:'Atjaunot sÄkotnÄ“jo izmÄ“ru',border:'RÄmis',hSpace:'HorizontÄlÄ telpa',vSpace:'VertikÄlÄ telpa',alertUrl:'LÅ«dzu norÄdÄ«t attÄ“la hipersaiti',linkTab:'Hipersaite',button2Img:'Vai vÄ“laties pÄrveidot izvÄ“lÄ“to attÄ“la pogu uz attÄ“la?',img2Button:'Vai vÄ“laties pÄrveidot izvÄ“lÄ“to attÄ“lu uz attÄ“la pogas?',urlMissing:'TrÅ«kst attÄ“la atraÅ¡anÄs adrese.',validateBorder:'Apmalei jÄbÅ«t veselam skaitlim',validateHSpace:'HSpace jÄbÅ«t veselam skaitlim',validateVSpace:'VSpace jÄbÅ«t veselam skaitlim'},flash:{properties:'Flash Ä«paÅ¡Ä«bas',propertiesTab:'UzstÄdÄ«jumi',title:'Flash Ä«paÅ¡Ä«bas',chkPlay:'AutomÄtiska atskaņoÅ¡ana',chkLoop:'NepÄrtraukti',chkMenu:'Atļaut Flash izvÄ“lni',chkFull:'PilnekrÄns',scale:'MainÄ«t izmÄ“ru',scaleAll:'RÄdÄ«t visu',scaleNoBorder:'Bez rÄmja',scaleFit:'PrecÄ«zs izmÄ“rs',access:'Skripta pieeja',accessAlways:'VienmÄ“r',accessSameDomain:'Tas pats domÄ“ns',accessNever:'Nekad',alignAbsBottom:'AbsolÅ«ti apakÅ¡Ä',alignAbsMiddle:'AbsolÅ«ti vertikÄli centrÄ“ts',alignBaseline:'PamatrindÄ',alignTextTop:'Teksta augÅ¡Ä',quality:'KvalitÄte',qualityBest:'LabÄkÄ',qualityHigh:'Augsta',qualityAutoHigh:'AutomÄtiski Augsta',qualityMedium:'VidÄ“ja',qualityAutoLow:'AutomÄtiski Zema',qualityLow:'Zema',windowModeWindow:'Logs',windowModeOpaque:'NecaurspÄ«dÄ«gs',windowModeTransparent:'CaurspÄ«dÄ«gs',windowMode:'Loga režīms',flashvars:'Flash mainÄ«gie',bgcolor:'Fona krÄsa',hSpace:'HorizontÄlÄ telpa',vSpace:'VertikÄlÄ telpa',validateSrc:'LÅ«dzu norÄdi hipersaiti',validateHSpace:'Hspace jÄbÅ«t skaitlim',validateVSpace:'Vspace jÄbÅ«t skaitlim'},spellCheck:{toolbar:'PareizrakstÄ«bas pÄrbaude',title:'PÄrbaudÄ«t gramatiku',notAvailable:'Atvainojiet, bet serviss Å¡obrÄ«d nav pieejams.',errorLoading:'Kļūda ielÄdÄ“jot aplikÄcijas servisa adresi: %s.',notInDic:'Netika atrasts vÄrdnÄ«cÄ',changeTo:'NomainÄ«t uz',btnIgnore:'IgnorÄ“t',btnIgnoreAll:'IgnorÄ“t visu',btnReplace:'Aizvietot',btnReplaceAll:'Aizvietot visu',btnUndo:'Atcelt',noSuggestions:'- Nav ieteikumu -',progress:'Notiek pareizrakstÄ«bas pÄrbaude...',noMispell:'PareizrakstÄ«bas pÄrbaude pabeigta: kļūdas netika atrastas',noChanges:'PareizrakstÄ«bas pÄrbaude pabeigta: nekas netika labots',oneChange:'PareizrakstÄ«bas pÄrbaude pabeigta: 1 vÄrds izmainÄ«ts',manyChanges:'PareizrakstÄ«bas pÄrbaude pabeigta: %1 vÄrdi tika mainÄ«ti',ieSpellDownload:'PareizrakstÄ«bas pÄrbaudÄ«tÄjs nav pievienots. Vai vÄ“laties to lejupielÄdÄ“t tagad?'},smiley:{toolbar:'Smaidiņi',title:'Ievietot smaidiņu',options:'Smaidiņu uzstÄdÄ«jumi'},elementsPath:{eleLabel:'Elementa ceļš',eleTitle:'%1 elements'},numberedlist:'NumurÄ“ts saraksts',bulletedlist:'Pievienot/Noņemt vienkÄrÅ¡u sarakstu',indent:'PalielinÄt atkÄpi',outdent:'SamazinÄt atkÄpi',justify:{left:'IzlÄ«dzinÄt pa kreisi',center:'IzlÄ«dzinÄt pret centru',right:'IzlÄ«dzinÄt pa labi',block:'IzlÄ«dzinÄt malas'},blockquote:'Bloka citÄts',clipboard:{title:'Ievietot',cutError:'JÅ«su pÄrlÅ«kprogrammas droÅ¡Ä«bas iestatÄ«jumi nepieļauj redaktoram automÄtiski veikt izgriezÅ¡anas darbÄ«bu. LÅ«dzu, izmantojiet (Ctrl/Cmd+X), lai veiktu Å¡o darbÄ«bu.',copyError:'JÅ«su pÄrlÅ«kprogrammas droÅ¡Ä«bas iestatÄ«jumi nepieļauj redaktoram automÄtiski veikt kopÄ“Å¡anas darbÄ«bu. LÅ«dzu, izmantojiet (Ctrl/Cmd+C), lai veiktu Å¡o darbÄ«bu.',pasteMsg:'LÅ«dzu, ievietojiet tekstu Å¡ajÄ laukumÄ, izmantojot klaviatÅ«ru (<STRONG>Ctrl/Cmd+V</STRONG>) un apstipriniet ar <STRONG>DarÄ«ts!</STRONG>.',securityMsg:'JÅ«su pÄrlÅ«ka droÅ¡Ä«bas uzstÄdÄ«jumu dēļ, nav iespÄ“jams tieÅ¡i piekļūt jÅ«su starpliktuvei. Jums jÄielÄ«mÄ“ atkÄrtoti Å¡ajÄ logÄ.',pasteArea:'IelÄ«mÄ“Å¡anas zona'},pastefromword:{confirmCleanup:'Teksts, kuru vÄ“laties ielÄ«mÄ“t, izskatÄs ir nokopÄ“ts no Word. Vai vÄ“laties to iztÄ«rÄ«t pirms ielÄ«mÄ“Å¡anas?',toolbar:'Ievietot no Worda',title:'Ievietot no Worda',error:'IekÅ¡Ä“jas kļūdas dēļ, neizdevÄs iztÄ«rÄ«t ielÄ«mÄ“tos datus.'},pasteText:{button:'Ievietot kÄ vienkÄrÅ¡u tekstu',title:'Ievietot kÄ vienkÄrÅ¡u tekstu'},templates:{button:'Sagataves',title:'Satura sagataves',options:'Sagataves uzstÄdÄ«jumi',insertOption:'Aizvietot paÅ¡reizÄ“jo saturu',selectPromptMsg:'LÅ«dzu, norÄdiet sagatavi, ko atvÄ“rt editorÄ<br>(patreizÄ“jie dati tiks zaudÄ“ti):',emptyListMsg:'(Nav norÄdÄ«tas sagataves)'},showBlocks:'ParÄdÄ«t blokus',stylesCombo:{label:'Stils',panelTitle:'FormatÄ“Å¡anas stili',panelTitle1:'Bloka stili',panelTitle2:'iekļautie stili',panelTitle3:'Objekta stili'},format:{label:'FormÄts',panelTitle:'FormÄts',tag_p:'NormÄls teksts',tag_pre:'FormatÄ“ts teksts',tag_address:'Adrese',tag_h1:'Virsraksts 1',tag_h2:'Virsraksts 2',tag_h3:'Virsraksts 3',tag_h4:'Virsraksts 4',tag_h5:'Virsraksts 5',tag_h6:'Virsraksts 6',tag_div:'Rindkopa (DIV)'},div:{title:'Izveidot div konteineri',toolbar:'Izveidot div konteineri',cssClassInputLabel:'Stilu klases',styleSelectLabel:'Stils',IdInputLabel:'Id',languageCodeInputLabel:'Valodas kods',inlineStyleInputLabel:'Iekļautais stils',advisoryTitleInputLabel:'KonsultatÄ«vs virsraksts',langDirLabel:'Valodas virziens',langDirLTRLabel:'Kreisais uz Labo (LTR)',langDirRTLLabel:'Labais uz kreiso (RTL)',edit:'Labot Div',remove:'Noņemt Div'},iframe:{title:'IFrame uzstÄdÄ«jumi',toolbar:'IFrame',noUrl:'NorÄdiet iframe adresi',scrolling:'Atļaut ritjoslas',border:'RÄdÄ«t rÄmi'},font:{label:'Å rifts',voiceLabel:'Fonts',panelTitle:'Å rifts'},fontSize:{label:'IzmÄ“rs',voiceLabel:'Fonta izmeÅ—s',panelTitle:'IzmÄ“rs'},colorButton:{textColorTitle:'Teksta krÄsa',bgColorTitle:'Fona krÄsa',panelTitle:'KrÄsa',auto:'AutomÄtiska',more:'PlaÅ¡Äka palete...'},colors:{'000':'Melns',800000:'SarkanbrÅ«ns','8B4513':'Sedlu brÅ«ns','2F4F4F':'TumÅ¡as tÄfeles pelÄ“ks','008080':'Zili-zaļš','000080':'JÅ«ras','4B0082':'Indigo',696969:'TumÅ¡i pelÄ“ks',B22222:'ĶieÄ£eļsarkans',A52A2A:'BrÅ«ns',DAA520:'Zelta','006400':'TumÅ¡i zaļš','40E0D0':'TirkÄ«zs','0000CD':'VidÄ“ji zils',800080:'Purpurs',808080:'PelÄ“ks',F00:'Sarkans',FF8C00:'TumÅ¡i oranžs',FFD700:'Zelta','008000':'Zaļš','0FF':'TumÅ¡zils','00F':'Zils',EE82EE:'Violets',A9A9A9:'PelÄ“ks',FFA07A:'GaiÅ¡i laÅ¡krÄsas',FFA500:'Oranžs',FFFF00:'Dzeltens','00FF00':'Laima',AFEEEE:'GaiÅ¡i tirkÄ«za',ADD8E6:'GaiÅ¡i zils',DDA0DD:'PlÅ«mju',D3D3D3:'GaiÅ¡i pelÄ“ks',FFF0F5:'Lavandas sÄrts',FAEBD7:'AntÄ«ki balts',FFFFE0:'GaiÅ¡i dzeltens',F0FFF0:'Meduspile',F0FFFF:'Debesszils',F0F8FF:'Alises zils',E6E6FA:'Lavanda',FFF:'Balts'},scayt:{title:'PÄrbaudÄ«t gramatiku rakstot',opera_title:'Opera neatbalsta',enable:'IeslÄ“gt SCAYT',disable:'AtslÄ“gt SCAYT',about:'Par SCAYT',toggle:'PÄrslÄ“gt SCAYT',options:'UzstÄdÄ«jumi',langs:'Valodas',moreSuggestions:'VairÄk ieteikumi',ignore:'IgnorÄ“t',ignoreAll:'IgnorÄ“t visu',addWord:'Pievienot vÄrdu',emptyDic:'VÄrdnÄ«cas nosaukums nevar bÅ«t tukÅ¡s.',noSuggestions:'No suggestions',optionsTab:'UzstÄdÄ«jumi',allCaps:'IgnorÄ“t vÄrdus ar lielajiem burtiem',ignoreDomainNames:'IgnorÄ“t domÄ“nu nosaukumus',mixedCase:'IgnorÄ“t vÄrdus ar jauktu reÄ£istru burtiem',mixedWithDigits:'IgnorÄ“t vÄrdus ar skaitļiem',languagesTab:'Valodas',dictionariesTab:'VÄrdnÄ«cas',dic_field_name:'VÄrdnÄ«cas nosaukums',dic_create:'Izveidot',dic_restore:'Atjaunot',dic_delete:'DzÄ“st',dic_rename:'PÄrsaukt',dic_info:'SÄkumÄ lietotÄja vÄrdnÄ«ca tiek glabÄta Cookie. Diemžēl, Cookie ir ierobežots izmÄ“rs. Kad vÄrdnÄ«ca sasniegs izmÄ“ru, ka to vairs nevar glabÄt Cookie, tÄ tiks noglabÄta uz servera. Lai saglabÄtu personÄ«go vÄrdnÄ«cu uz jÅ«su servera, jums jÄnorÄda tÄs nosaukums. Ja jÅ«s jau esiet noglabÄjuÅ¡i vÄrdnÄ«cu, lÅ«dzu ierakstiet tÄs nosaukum un nospiediet Atjaunot pogu.',aboutTab:'Par'},about:{title:'Par CKEditor',dlgTitle:'Par CKEditor',help:'PÄrbaudiet $1 palÄ«dzÄ«bai.',userGuide:'CKEditor LietotÄja pamÄcÄ«ba',moreInfo:'InformÄcijai par licenzÄ“Å¡anu apmeklÄ“jiet mÅ«su mÄjas lapu:',copy:'KopÄ“Å¡anas tiesÄ«bas &copy; $1. Visas tiesÄ«bas rezervÄ“tas.'},maximize:'MaksimizÄ“t',minimize:'MinimizÄ“t',fakeobjects:{anchor:'IezÄ«me',flash:'Flash animÄcija',iframe:'Iframe',hiddenfield:'SlÄ“pts lauks',unknown:'NezinÄms objekts'},resize:'Velciet lai mÄ“rogotu',colordialog:{title:'IzvÄ“lies krÄsu',options:'KrÄsas uzstÄdÄ«jumi',highlight:'Paraugs',selected:'IzvÄ“lÄ“tÄ krÄsa',clear:'NotÄ«rÄ«t'},toolbarCollapse:'AizvÄ“rt rÄ«kjoslu',toolbarExpand:'AtvÄ“rt rÄ«kjoslu',toolbarGroups:{document:'Dokuments',clipboard:'Starpliktuve/Atcelt',editing:'LaboÅ¡ana',forms:'Formas',basicstyles:'Pamata stili',paragraph:'ParagrÄfs',links:'Saites',insert:'Ievietot',styles:'Stili',colors:'KrÄsas',tools:'RÄ«ki'},bidi:{ltr:'Teksta virziens no kreisÄs uz labo',rtl:'Teksta virziens no labÄs uz kreiso'},docprops:{label:'Dokumenta Ä«paÅ¡Ä«bas',title:'Dokumenta Ä«paÅ¡Ä«bas',design:'Dizains',meta:'META dati',chooseColor:'IzvÄ“lÄ“ties',other:'<cits>',docTitle:'Dokumenta virsraksts <Title>',charset:'Simbolu kodÄ“jums',charsetOther:'Cits simbolu kodÄ“jums',charsetASCII:'ASCII',charsetCE:'CentrÄleiropas',charsetCT:'ĶīnieÅ¡u tradicionÄlÄ (Big5)',charsetCR:'Kirilica',charsetGR:'GrieÄ·u',charsetJP:'JapÄņu',charsetKR:'KorejieÅ¡u',charsetTR:'Turku',charsetUN:'Unikods (UTF-8)',charsetWE:'Rietumeiropas',docType:'Dokumenta tips',docTypeOther:'Cits dokumenta tips',xhtmlDec:'Ietvert XHTML deklarÄcijas',bgColor:'Fona krÄsa',bgImage:'Fona attÄ“la hipersaite',bgFixed:'Fona attÄ“ls ir fiksÄ“ts',txtColor:'Teksta krÄsa',margin:'Lapas robežas',marginTop:'AugÅ¡Ä',marginLeft:'Pa kreisi',marginRight:'Pa labi',marginBottom:'ApakÅ¡Ä',metaKeywords:'Dokumentu aprakstoÅ¡i atslÄ“gvÄrdi (atdalÄ«ti ar komatu)',metaDescription:'Dokumenta apraksts',metaAuthor:'Autors',metaCopyright:'AutortiesÄ«bas',previewHtml:'<p>Å is ir <strong>parauga teksts</strong>. JÅ«s izmantojiet <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/mk.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/mk.js
deleted file mode 100644
index 2d078e0..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/mk.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.mk={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'Editor toolbars',editor:'Rich Text Editor',source:'Source',newPage:'New Page',save:'Save',preview:'Preview',cut:'Cut',copy:'Copy',paste:'Paste',print:'Print',underline:'Underline',bold:'Bold',italic:'Italic',selectAll:'Select All',removeFormat:'Remove Format',strike:'Strike Through',subscript:'Subscript',superscript:'Superscript',horizontalrule:'Insert Horizontal Line',pagebreak:'Insert Page Break for Printing',pagebreakAlt:'Page Break',unlink:'Unlink',undo:'Undo',redo:'Redo',common:{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',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:'Some of the options have been changed. Are you sure to close the dialog?',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:'Alignment',alignLeft:'Left',alignRight:'Right',alignCenter:'Center',alignTop:'Top',alignMiddle:'Middle',alignBottom:'Bottom',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'Insert Special Character',title:'Select Special Character',options:'Special Character Options'},link:{toolbar:'Link',other:'<other>',menu:'Edit Link',title:'Link',info:'Link Info',target:'Target',upload:'Upload',advanced:'Advanced',type:'Link Type',toUrl:'URL',toAnchor:'Link to anchor in the text',toEmail:'E-mail',targetFrame:'<frame>',targetPopup:'<popup window>',targetFrameName:'Target Frame Name',targetPopupName:'Popup Window Name',popupFeatures:'Popup Window Features',popupResizable:'Resizable',popupStatusBar:'Status Bar',popupLocationBar:'Location Bar',popupToolbar:'Toolbar',popupMenuBar:'Menu Bar',popupFullScreen:'Full Screen (IE)',popupScrollBars:'Scroll Bars',popupDependent:'Dependent (Netscape)',popupLeft:'Left Position',popupTop:'Top Position',id:'Id',langDir:'Language Direction',langDirLTR:'Left to Right (LTR)',langDirRTL:'Right to Left (RTL)',acccessKey:'Access Key',name:'Name',langCode:'Language Code',tabIndex:'Tab Index',advisoryTitle:'Advisory Title',advisoryContentType:'Advisory Content Type',cssClasses:'Stylesheet Classes',charset:'Linked Resource Charset',styles:'Style',rel:'Relationship',selectAnchor:'Select an Anchor',anchorName:'By Anchor Name',anchorId:'By Element Id',emailAddress:'E-Mail Address',emailSubject:'Message Subject',emailBody:'Message Body',noAnchors:'(No anchors available in the document)',noUrl:'Please type the link URL',noEmail:'Please type the e-mail address'},anchor:{toolbar:'Anchor',menu:'Edit Anchor',title:'Anchor Properties',name:'Anchor Name',errorName:'Please type the anchor name',remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Find and Replace',find:'Find',replace:'Replace',findWhat:'Find what:',replaceWith:'Replace with:',notFoundMsg:'The specified text was not found.',findOptions:'Find Options',matchCase:'Match case',matchWord:'Match whole word',matchCyclic:'Match cyclic',replaceAll:'Replace All',replaceSuccessMsg:'%1 occurrence(s) replaced.'},table:{toolbar:'Table',title:'Table Properties',menu:'Table Properties',deleteTable:'Delete Table',rows:'Rows',columns:'Columns',border:'Border size',widthPx:'pixels',widthPc:'percent',widthUnit:'width unit',cellSpace:'Cell spacing',cellPad:'Cell padding',caption:'Caption',summary:'Summary',headers:'Headers',headersNone:'None',headersColumn:'First column',headersRow:'First Row',headersBoth:'Both',invalidRows:'Number of rows must be a number greater than 0.',invalidCols:'Number of columns must be a number greater than 0.',invalidBorder:'Border size must be a number.',invalidWidth:'Table width must be a number.',invalidHeight:'Table height must be a number.',invalidCellSpacing:'Cell spacing must be a positive number.',invalidCellPadding:'Cell padding must be a positive number.',cell:{menu:'Cell',insertBefore:'Insert Cell Before',insertAfter:'Insert Cell After',deleteCell:'Delete Cells',merge:'Merge Cells',mergeRight:'Merge Right',mergeDown:'Merge Down',splitHorizontal:'Split Cell Horizontally',splitVertical:'Split Cell Vertically',title:'Cell Properties',cellType:'Cell Type',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Word Wrap',hAlign:'Horizontal Alignment',vAlign:'Vertical Alignment',alignBaseline:'Baseline',bgColor:'Background Color',borderColor:'Border Color',data:'Data',header:'Header',yes:'Yes',no:'No',invalidWidth:'Cell width must be a number.',invalidHeight:'Cell height must be a number.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Choose'},row:{menu:'Row',insertBefore:'Insert Row Before',insertAfter:'Insert Row After',deleteRow:'Delete Rows'},column:{menu:'Column',insertBefore:'Insert Column Before',insertAfter:'Insert Column After',deleteColumn:'Delete Columns'}},button:{title:'Button Properties',text:'Text (Value)',type:'Type',typeBtn:'Button',typeSbm:'Submit',typeRst:'Reset'},checkboxAndRadio:{checkboxTitle:'Checkbox Properties',radioTitle:'Radio Button Properties',value:'Value',selected:'Selected'},form:{title:'Form Properties',menu:'Form Properties',action:'Action',method:'Method',encoding:'Encoding'},select:{title:'Selection Field Properties',selectInfo:'Select Info',opAvail:'Available Options',value:'Value',size:'Size',lines:'lines',chkMulti:'Allow multiple selections',opText:'Text',opValue:'Value',btnAdd:'Add',btnModify:'Modify',btnUp:'Up',btnDown:'Down',btnSetValue:'Set as selected value',btnDelete:'Delete'},textarea:{title:'Textarea Properties',cols:'Columns',rows:'Rows'},textfield:{title:'Text Field Properties',name:'Name',value:'Value',charWidth:'Character Width',maxChars:'Maximum Characters',type:'Type',typeText:'Text',typePass:'Password'},hidden:{title:'Hidden Field Properties',name:'Name',value:'Value'},image:{title:'Image Properties',titleButton:'Image Button Properties',menu:'Image Properties',infoTab:'Image Info',btnUpload:'Send it to the Server',upload:'Upload',alt:'Alternative Text',lockRatio:'Lock Ratio',resetSize:'Reset Size',border:'Border',hSpace:'HSpace',vSpace:'VSpace',alertUrl:'Please type the image URL',linkTab:'Link',button2Img:'Do you want to transform the selected image button on a simple image?',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'Flash Properties',propertiesTab:'Properties',title:'Flash Properties',chkPlay:'Auto Play',chkLoop:'Loop',chkMenu:'Enable Flash Menu',chkFull:'Allow Fullscreen',scale:'Scale',scaleAll:'Show all',scaleNoBorder:'No Border',scaleFit:'Exact Fit',access:'Script Access',accessAlways:'Always',accessSameDomain:'Same domain',accessNever:'Never',alignAbsBottom:'Abs Bottom',alignAbsMiddle:'Abs Middle',alignBaseline:'Baseline',alignTextTop:'Text Top',quality:'Quality',qualityBest:'Best',qualityHigh:'High',qualityAutoHigh:'Auto High',qualityMedium:'Medium',qualityAutoLow:'Auto Low',qualityLow:'Low',windowModeWindow:'Window',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Window mode',flashvars:'Variables for Flash',bgcolor:'Background color',hSpace:'HSpace',vSpace:'VSpace',validateSrc:'URL must not be empty.',validateHSpace:'HSpace must be a number.',validateVSpace:'VSpace must be a number.'},spellCheck:{toolbar:'Check Spelling',title:'Spell Check',notAvailable:'Sorry, but service is unavailable now.',errorLoading:'Error loading application service host: %s.',notInDic:'Not in dictionary',changeTo:'Change to',btnIgnore:'Ignore',btnIgnoreAll:'Ignore All',btnReplace:'Replace',btnReplaceAll:'Replace All',btnUndo:'Undo',noSuggestions:'- No suggestions -',progress:'Spell check in progress...',noMispell:'Spell check complete: No misspellings found',noChanges:'Spell check complete: No words changed',oneChange:'Spell check complete: One word changed',manyChanges:'Spell check complete: %1 words changed',ieSpellDownload:'Spell checker not installed. Do you want to download it now?'},smiley:{toolbar:'Smiley',title:'Insert a Smiley',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 element'},numberedlist:'Insert/Remove Numbered List',bulletedlist:'Insert/Remove Bulleted List',indent:'Increase Indent',outdent:'Decrease Indent',justify:{left:'Align Left',center:'Center',right:'Align Right',block:'Justify'},blockquote:'Block Quote',clipboard:{title:'Paste',cutError:"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).",copyError:"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).",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.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'Paste from Word',title:'Paste from Word',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'Paste as plain text',title:'Paste as Plain Text'},templates:{button:'Templates',title:'Content Templates',options:'Template Options',insertOption:'Replace actual contents',selectPromptMsg:'Please select the template to open in the editor',emptyListMsg:'(No templates defined)'},showBlocks:'Show Blocks',stylesCombo:{label:'Styles',panelTitle:'Formatting Styles',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'Format',panelTitle:'Paragraph Format',tag_p:'Normal',tag_pre:'Formatted',tag_address:'Address',tag_h1:'Heading 1',tag_h2:'Heading 2',tag_h3:'Heading 3',tag_h4:'Heading 4',tag_h5:'Heading 5',tag_h6:'Heading 6',tag_div:'Normal (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'Font',voiceLabel:'Font',panelTitle:'Font Name'},fontSize:{label:'Size',voiceLabel:'Font Size',panelTitle:'Font Size'},colorButton:{textColorTitle:'Text Color',bgColorTitle:'Background Color',panelTitle:'Colors',auto:'Automatic',more:'More Colors...'},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'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Options',langs:'Languages',moreSuggestions:'More suggestions',ignore:'Ignore',ignoreAll:'Ignore All',addWord:'Add Word',emptyDic:'Dictionary name should not be empty.',noSuggestions:'No suggestions',optionsTab:'Options',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Languages',dictionariesTab:'Dictionaries',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'About'},about:{title:'About CKEditor',dlgTitle:'About CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'For licensing information please visit our web site:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Maximize',minimize:'Minimize',fakeobjects:{anchor:'Anchor',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Unknown Object'},resize:'Drag to resize',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'Document Properties',title:'Document Properties',design:'Design',meta:'Meta Tags',chooseColor:'Choose',other:'Other...',docTitle:'Page Title',charset:'Character Set Encoding',charsetOther:'Other Character Set Encoding',charsetASCII:'ASCII',charsetCE:'Central European',charsetCT:'Chinese Traditional (Big5)',charsetCR:'Cyrillic',charsetGR:'Greek',charsetJP:'Japanese',charsetKR:'Korean',charsetTR:'Turkish',charsetUN:'Unicode (UTF-8)',charsetWE:'Western European',docType:'Document Type Heading',docTypeOther:'Other Document Type Heading',xhtmlDec:'Include XHTML Declarations',bgColor:'Background Color',bgImage:'Background Image URL',bgFixed:'Non-scrolling (Fixed) Background',txtColor:'Text Color',margin:'Page Margins',marginTop:'Top',marginLeft:'Left',marginRight:'Right',marginBottom:'Bottom',metaKeywords:'Document Indexing Keywords (comma separated)',metaDescription:'Document Description',metaAuthor:'Author',metaCopyright:'Copyright',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/mn.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/mn.js
deleted file mode 100644
index 3baf8fe..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/mn.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.mn={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'БолоÑруулагчийн Ñ…ÑÑ€ÑгÑлийн Ñамбар',editor:'Ð¥ÑлбÑрт бичвÑÑ€ боловÑруулагч',source:'Код',newPage:'Ð¨Ð¸Ð½Ñ Ñ…ÑƒÑƒÐ´Ð°Ñ',save:'Хадгалах',preview:'Уридчлан харах',cut:'Хайчлах',copy:'Хуулах',paste:'Буулгах',print:'Ð¥ÑвлÑÑ…',underline:'Доогуур нь зурааÑтай болгох',bold:'Тод бүдүүн',italic:'Ðалуу',selectAll:'Бүгдийг нь Ñонгох',removeFormat:'Параргафын загварыг авч хаÑÑ…',strike:'Дундуур нь зурааÑтай болгох',subscript:'Суурь болгох',superscript:'ЗÑÑ€Ñг болгох',horizontalrule:'Хөндлөн Ð·ÑƒÑ€Ð°Ð°Ñ Ð¾Ñ€ÑƒÑƒÐ»Ð°Ñ…',pagebreak:'Ð¥ÑƒÑƒÐ´Ð°Ñ Ñ‚ÑƒÑгаарлагч оруулах',pagebreakAlt:'Page Break',unlink:'Ð¥Ð¾Ð»Ð±Ð¾Ð¾Ñ Ð°Ð²Ñ‡ хаÑÑ…',undo:'Хүчингүй болгох',redo:'Өмнөх үйлдлÑÑ ÑÑргÑÑÑ…',common:{browseServer:'Сервер харуулах',url:'URL',protocol:'Протокол',upload:'Хуулах',uploadSubmit:'Үүнийг ÑервÑррүү илгÑÑ',image:'Зураг',flash:'Флаш',form:'Форм',checkbox:'ЧекбокÑ',radio:'Радио товч',textField:'Техт талбар',textarea:'Техт орчин',hiddenField:'Ðууц талбар',button:'Товч',select:'Сонгогч талбар',imageButton:'Зурагтай товч',notSet:'<Оноохгүй>',id:'Id',name:'ÐÑÑ€',langDir:'Ð¥Ñлний чиглÑл',langDirLtr:'ЗүүнÑÑÑ Ð±Ð°Ñ€ÑƒÑƒÐ½ (LTR)',langDirRtl:'Ð‘Ð°Ñ€ÑƒÑƒÐ½Ð°Ð°Ñ Ð·Ò¯Ò¯Ð½ (RTL)',langCode:'Ð¥Ñлний код',longDescr:'URL-ын тайлбар',cssClass:'Stylesheet клаÑÑууд',advisoryTitle:'Зөвлөлдөх гарчиг',cssStyle:'Загвар',ok:'OK',cancel:'Болих',close:'Хаах',preview:'Preview',generalTab:'Ерөнхий',advancedTab:'ÐÑмÑлт',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:'Some of the options have been changed. Are you sure to close the dialog?',options:'Сонголт',target:'Бай',targetNew:'New Window (_blank)',targetTop:'Topmost Window (_top)',targetSelf:'Same Window (_self)',targetParent:'Parent Window (_parent)',langDirLTR:'Зүүн Ñ‚Ð°Ð»Ð°Ð°Ñ Ð±Ð°Ñ€ÑƒÑƒÐ½ тийшÑÑ (LTR)',langDirRTL:'Баруун Ñ‚Ð°Ð»Ð°Ð°Ñ Ð·Ò¯Ò¯Ð½ тийшÑÑ (RTL)',styles:'Загвар',cssClasses:'Stylesheet Classes',width:'Өргөн',height:'Өндөр',align:'Тулгах тал',alignLeft:'Зүүн',alignRight:'Баруун',alignCenter:'Төвд',alignTop:'ДÑÑд талд',alignMiddle:'Дунд талд',alignBottom:'Доод талд',invalidValue:'Invalid value.',invalidHeight:'Өндөр нь тоо байх Ñ‘Ñтой.',invalidWidth:'Өргөн нь тоо байх Ñ‘Ñтой.',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'Онцгой Ñ‚ÑмдÑгт оруулах',title:'Онцгой Ñ‚ÑмдÑгт Ñонгох',options:'Special Character Options'},link:{toolbar:'ХолбооÑ',other:'<other>',menu:'Ð¥Ð¾Ð»Ð±Ð¾Ð¾Ñ Ð·Ð°Ñварлах',title:'ХолбооÑ',info:'ХолбооÑын тухай мÑдÑÑлÑл',target:'Байрлал',upload:'Хуулах',advanced:'ÐÑмÑлт',type:'Линкийн төрөл',toUrl:'цахим хуудаÑны хаÑг (URL)',toAnchor:'Ð­Ð½Ñ Ð±Ð¸Ñ‡Ð²ÑÑ€ дÑÑ… зангуу руу очих холбооÑ',toEmail:'Э-захиа',targetFrame:'<Ðгуулах хүрÑÑ>',targetPopup:'<popup цонх>',targetFrameName:'Очих фремын нÑÑ€',targetPopupName:'Popup цонхны нÑÑ€',popupFeatures:'Popup цонхны онцлог',popupResizable:'Resizable',popupStatusBar:'Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ñ…ÑÑÑг',popupLocationBar:'Location Ñ…ÑÑÑг',popupToolbar:'Багажны Ñамбар',popupMenuBar:'ЦÑÑний Ñамбар',popupFullScreen:'Цонх дүүргÑÑ… (Internet Explorer)',popupScrollBars:'Скрол Ñ…ÑÑÑгүүд',popupDependent:'Хамаатай (Netscape)',popupLeft:'Зүүн байрлал',popupTop:'ДÑÑд байрлал',id:'Id',langDir:'Ð¥Ñлний чиглÑл',langDirLTR:'ЗүүнÑÑÑ Ð±Ð°Ñ€ÑƒÑƒÐ½ (LTR)',langDirRTL:'Ð‘Ð°Ñ€ÑƒÑƒÐ½Ð°Ð°Ñ Ð·Ò¯Ò¯Ð½ (RTL)',acccessKey:'Холбох түлхүүр',name:'ÐÑÑ€',langCode:'Ð¥Ñлний код',tabIndex:'Tab индекÑ',advisoryTitle:'Зөвлөлдөх гарчиг',advisoryContentType:'Зөвлөлдөх төрлийн агуулга',cssClasses:'Stylesheet клаÑÑууд',charset:'ТÑмдÑгт оноох нөөцөд холбогдÑон',styles:'Загвар',rel:'Relationship',selectAnchor:'ÐÑг зангууг Ñонгоно уу',anchorName:'Зангуугийн нÑÑ€ÑÑÑ€',anchorId:'ЭлемÑнтйн Id нÑÑ€ÑÑÑ€',emailAddress:'Э-шуудангийн хаÑг',emailSubject:'ЗурваÑны гарчиг',emailBody:'ЗурваÑны их бие',noAnchors:'(Баримт бичиг зангуугүй байна)',noUrl:'ХолбооÑны URL хаÑгийг ÑˆÐ¸Ð²Ð½Ñ Ò¯Ò¯',noEmail:'Э-шуудангий хаÑгаа ÑˆÐ¸Ð²Ð½Ñ Ò¯Ò¯'},anchor:{toolbar:'Зангуу',menu:'Зангууг болоÑруулах',title:'Зангуугийн шинж чанар',name:'Зангуугийн нÑÑ€',errorName:'Зангуугийн нÑрийг оруулна уу',remove:'Зангууг уÑтгах'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Төрөл',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Хайж орлуулах',find:'Хайх',replace:'Орлуулах',findWhat:'Хайх үг/Ò¯ÑÑг:',replaceWith:'Солих үг:',notFoundMsg:'ХайÑан бичвÑрийг олÑонгүй.',findOptions:'Хайх Ñонголтууд',matchCase:'ТÑнцÑÑ… төлөв',matchWord:'ТÑнцÑÑ… бүтÑн үг',matchCyclic:'Match cyclic',replaceAll:'Бүгдийг нь Ñолих',replaceSuccessMsg:'%1 occurrence(s) replaced.'},table:{toolbar:'Ð¥Ò¯ÑнÑгт',title:'Ð¥Ò¯ÑнÑгт',menu:'Ð¥Ò¯ÑнÑгт',deleteTable:'Ð¥Ò¯ÑнÑгт уÑтгах',rows:'Мөр',columns:'Багана',border:'ХүрÑÑний Ñ…ÑмжÑÑ',widthPx:'цÑг',widthPc:'хувь',widthUnit:'өргөний нÑгж',cellSpace:'Ðүх хоорондын зай (spacing)',cellPad:'Ðүх доторлох(padding)',caption:'Тайлбар',summary:'Тайлбар',headers:'Headers',headersNone:'None',headersColumn:'First column',headersRow:'First Row',headersBoth:'Both',invalidRows:'Number of rows must be a number greater than 0.',invalidCols:'Number of columns must be a number greater than 0.',invalidBorder:'Border size must be a number.',invalidWidth:'Ð¥Ò¯ÑнÑгтийн өргөн нь тоо байх Ñ‘Ñтой.',invalidHeight:'Table height must be a number.',invalidCellSpacing:'Cell spacing must be a positive number.',invalidCellPadding:'Cell padding must be a positive number.',cell:{menu:'Ðүх/зай',insertBefore:'Ðүх/зай өмнө нь оруулах',insertAfter:'Ðүх/зай дараа нь оруулах',deleteCell:'Ðүх уÑтгах',merge:'Ðүх нÑгтÑÑ…',mergeRight:'Баруун тийш нÑгтгÑÑ…',mergeDown:'Доош нÑгтгÑÑ…',splitHorizontal:'Ðүх/зайг боÑоогоор нь туÑгаарлах',splitVertical:'Ðүх/зайг хөндлөнгөөр нь туÑгаарлах',title:'Cell Properties',cellType:'Cell Type',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Word Wrap',hAlign:'Ð¥ÑвтÑÑд Ñ‚ÑгшлÑÑ… арга',vAlign:'БоÑоод Ñ‚ÑгшлÑÑ… арга',alignBaseline:'Baseline',bgColor:'ДÑвÑгÑÑ€ өнгө',borderColor:'ХүрÑÑний өнгө',data:'Data',header:'Header',yes:'Тийм',no:'Үгүй',invalidWidth:'Ðүдний өргөн нь тоо байх Ñ‘Ñтой.',invalidHeight:'Cell height must be a number.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Сонгох'},row:{menu:'Мөр',insertBefore:'Мөр өмнө нь оруулах',insertAfter:'Мөр дараа нь оруулах',deleteRow:'Мөр уÑтгах'},column:{menu:'Багана',insertBefore:'Багана өмнө нь оруулах',insertAfter:'Багана дараа нь оруулах',deleteColumn:'Багана уÑтгах'}},button:{title:'Товчны шинж чанар',text:'ТÑкÑÑ‚ (Утга)',type:'Төрөл',typeBtn:'Товч',typeSbm:'Submit',typeRst:'Болих'},checkboxAndRadio:{checkboxTitle:'ЧекбокÑны шинж чанар',radioTitle:'Радио товчны шинж чанар',value:'Утга',selected:'СонгогдÑон'},form:{title:'Форм шинж чанар',menu:'Форм шинж чанар',action:'ҮйлдÑл',method:'Ðрга',encoding:'Encoding'},select:{title:'Согогч талбарын шинж чанар',selectInfo:'ÐœÑдÑÑлÑл',opAvail:'ИдвÑÑ…Ñ‚Ñй Ñонголт',value:'Утга',size:'Ð¥ÑмжÑÑ',lines:'Мөр',chkMulti:'Олон зүйл зÑÑ€Ñг Ñонгохыг зөвшөөрөх',opText:'ТÑкÑÑ‚',opValue:'Утга',btnAdd:'ÐÑмÑÑ…',btnModify:'Өөрчлөх',btnUp:'ДÑÑш',btnDown:'Доош',btnSetValue:'СонгогдÑан утга оноох',btnDelete:'УÑтгах'},textarea:{title:'ТекÑÑ‚ орчны шинж чанар',cols:'Багана',rows:'Мөр'},textfield:{title:'ТекÑÑ‚ талбарын шинж чанар',name:'ÐÑÑ€',value:'Утга',charWidth:'ТÑмдÑгтын өргөн',maxChars:'Хамгийн их Ñ‚ÑмдÑгт',type:'Төрөл',typeText:'ТекÑÑ‚',typePass:'Ðууц үг'},hidden:{title:'Ðууц талбарын шинж чанар',name:'ÐÑÑ€',value:'Утга'},image:{title:'Зураг',titleButton:'Зурган товчны шинж чанар',menu:'Зураг',infoTab:'Зурагны мÑдÑÑлÑл',btnUpload:'Үүнийг ÑервÑррүү илгÑÑ',upload:'Хуулах',alt:'Зургийг орлох бичвÑÑ€',lockRatio:'Радио түгжих',resetSize:'Ñ…ÑмжÑÑ Ð´Ð°Ñ…Ð¸Ð½ оноох',border:'ХүрÑÑ',hSpace:'Хөндлөн зай',vSpace:'БоÑоо зай',alertUrl:'Зурагны URL-ын төрлийн Ñонгоно уу',linkTab:'ХолбооÑ',button2Img:'Do you want to transform the selected image button on a simple image?',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Зургийн ÑÑ… Ñурвалжийн хаÑг (URL) байхгүй байна.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'Флаш шинж чанар',propertiesTab:'Properties',title:'Флаш шинж чанар',chkPlay:'Ðвтоматаар тоглох',chkLoop:'Давтах',chkMenu:'Флаш цÑÑ Ð¸Ð´Ð²ÑхжүүлÑÑ…',chkFull:'Allow Fullscreen',scale:'Өргөгтгөх',scaleAll:'Бүгдийг харуулах',scaleNoBorder:'ХүрÑÑгүй',scaleFit:'Яг тааруулах',access:'Script Access',accessAlways:'Онцлогууд',accessSameDomain:'Байнга',accessNever:'Ð¥ÑзÑÑ Ñ‡ үгүй',alignAbsBottom:'Abs доод талд',alignAbsMiddle:'Abs Дунд талд',alignBaseline:'Baseline',alignTextTop:'ТекÑÑ‚ дÑÑÑ€',quality:'Quality',qualityBest:'Best',qualityHigh:'High',qualityAutoHigh:'Auto High',qualityMedium:'Medium',qualityAutoLow:'Auto Low',qualityLow:'Low',windowModeWindow:'Window',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Window mode',flashvars:'Variables for Flash',bgcolor:'ДÑвÑгÑÑ€ өнгө',hSpace:'Хөндлөн зай',vSpace:'БоÑоо зай',validateSrc:'Линк URL-ÑÑ Ñ‚Ó©Ñ€Ó©Ð»Ð¶Ò¯Ò¯Ð»Ð½Ñ Ò¯Ò¯',validateHSpace:'HSpace must be a number.',validateVSpace:'VSpace must be a number.'},spellCheck:{toolbar:'Үгийн дүрÑÑ… шалгах',title:'Spell Check',notAvailable:'Sorry, but service is unavailable now.',errorLoading:'Error loading application service host: %s.',notInDic:'Толь бичиггүй',changeTo:'Өөрчлөх',btnIgnore:'Зөвшөөрөх',btnIgnoreAll:'Бүгдийг зөвшөөрөх',btnReplace:'Солих',btnReplaceAll:'Бүгдийг Дарж бичих',btnUndo:'Буцаах',noSuggestions:'- Тайлбаргүй -',progress:'ДүрÑм шалгаж байгаа үйл Ñвц...',noMispell:'ДүрÑм шалгаад дууÑÑан: Ðлдаа олдÑонгүй',noChanges:'ДүрÑм шалгаад дууÑÑан: үг өөрчлөгдөөгүй',oneChange:'ДүрÑм шалгаад дууÑÑан: 1 үг өөрчлөгдÑөн',manyChanges:'ДүрÑм шалгаад дууÑÑан: %1 үг өөрчлөгдÑөн',ieSpellDownload:'ДүрÑм шалгагч Ñуугаагүй байна. Татаж авахыг Ñ…Ò¯Ñч байна уу?'},smiley:{toolbar:'Тодорхойлолт',title:'Тодорхойлолт оруулах',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 element'},numberedlist:'ДугаарлагдÑан жагÑаалт',bulletedlist:'ЦÑгтÑй жагÑаалт',indent:'Догол мөр хаÑах',outdent:'Догол мөр нÑмÑÑ…',justify:{left:'Зүүн талд тулгах',center:'Голлуулах',right:'Баруун талд тулгах',block:'ТÑгшлÑÑ…'},blockquote:'ИшлÑл Ñ…ÑÑÑг',clipboard:{title:'Буулгах',cutError:'Таны browser-ын хамгаалалтын тохиргоо editor-д автоматаар хайчлах үйлдÑлийг зөвшөөрөхгүй байна. (Ctrl/Cmd+X) товчны хоÑлолыг ашиглана уу.',copyError:'Таны browser-ын хамгаалалтын тохиргоо editor-д автоматаар хуулах үйлдÑлийг зөвшөөрөхгүй байна. (Ctrl/Cmd+C) товчны хоÑлолыг ашиглана уу.',pasteMsg:'(<strong>Ctrl/Cmd+V</strong>) товчийг ашиглан paste Ñ…Ð¸Ð¹Ð½Ñ Ò¯Ò¯. Мөн <strong>OK</strong> дар.',securityMsg:'Таны үзүүлÑгч/browser/-н хамгаалалтын Ñ‚Ð¾Ñ…Ð¸Ñ€Ð³Ð¾Ð¾Ð½Ð¾Ð¾Ñ Ð±Ð¾Ð»Ð¾Ð¾Ð´ editor clipboard өгөгдөлрүү шууд хандах боломжгүй. Ð­Ð½Ñ Ñ†Ð¾Ð½Ñ…Ð¾Ð´ дахин paste хийхийг оролд.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'Word-Ð¾Ð¾Ñ Ð±ÑƒÑƒÐ»Ð³Ð°Ñ…',title:'Word-Ð¾Ð¾Ñ Ð±ÑƒÑƒÐ»Ð³Ð°Ñ…',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'Энгийн бичвÑÑ€ÑÑÑ€ буулгах',title:'Энгийн бичвÑÑ€ÑÑÑ€ буулгах'},templates:{button:'Загварууд',title:'Загварын агуулга',options:'Template Options',insertOption:'Одоогийн агууллагыг дарж бичих',selectPromptMsg:'Загварыг нÑÑж editor-Ñ€Ò¯Ò¯ Ñонгож оруулна уу<br />(Одоогийн агууллагыг уÑтаж магадгүй):',emptyListMsg:'(Загвар тодорхойлогдоогүй байна)'},showBlocks:'Хавтангуудыг харуулах',stylesCombo:{label:'Загвар',panelTitle:'Загвар Ñ…ÑлбÑржүүлÑÑ…',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'Параргафын загвар',panelTitle:'Параргафын загвар',tag_p:'Ð¥Ñвийн',tag_pre:'Formatted',tag_address:'ХаÑг',tag_h1:'Гарчиг 1',tag_h2:'Гарчиг 2',tag_h3:'Гарчиг 3',tag_h4:'Гарчиг 4',tag_h5:'Гарчиг 5',tag_h6:'Гарчиг 6',tag_div:'Paragraph (DIV)'},div:{title:'Div гÑдÑг Ñ…ÑÑÑг бий болгох',toolbar:'Div гÑдÑг Ñ…ÑÑÑг бий болгох',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Зүүн Ñ‚Ð°Ð»Ð°Ð°Ñ Ð±Ð°Ñ€ÑƒÑƒÐ½ тишÑÑ (LTR)',langDirRTLLabel:'Баруун Ñ‚Ð°Ð»Ð°Ð°Ñ Ð·Ò¯Ò¯Ð½ тишÑÑ (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'Ò®Ñгийн Ñ…ÑлбÑÑ€',voiceLabel:'ҮгÑийн Ñ…ÑлбÑÑ€',panelTitle:'ҮгÑийн Ñ…ÑлбÑрийн нÑÑ€'},fontSize:{label:'Ð¥ÑмжÑÑ',voiceLabel:'Ò®Ñгийн Ñ…ÑмжÑÑ',panelTitle:'Ò®Ñгийн Ñ…ÑмжÑÑ'},colorButton:{textColorTitle:'БичвÑрийн өнгө',bgColorTitle:'ДÑвÑгÑÑ€ өнгө',panelTitle:'Өнгөнүүд',auto:'Ðвтоматаар',more:'ÐÑмÑлт өнгөнүүд...'},colors:{'000':'Хар',800000:'ХүрÑн','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:'Саарал',F00:'Улаан',FF8C00:'Dark Orange',FFD700:'Ðлт','008000':'Ðогоон','0FF':'ЦÑнхÑÑ€','00F':'Ð¥Ó©Ñ…',EE82EE:'Ягаан',A9A9A9:'Dim Gray',FFA07A:'Light Salmon',FFA500:'Улбар шар',FFFF00:'Шар','00FF00':'Lime',AFEEEE:'Pale Turquoise',ADD8E6:'Light Blue',DDA0DD:'Plum',D3D3D3:'Цайвар Ñаарал',FFF0F5:'Lavender Blush',FAEBD7:'Antique White',FFFFE0:'Light Yellow',F0FFF0:'Honeydew',F0FFFF:'Azure',F0F8FF:'Alice Blue',E6E6FA:'Lavender',FFF:'Цагаан'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Сонголт',langs:'Ð¥Ñлүүд',moreSuggestions:'More suggestions',ignore:'Ignore',ignoreAll:'Ignore All',addWord:'Add Word',emptyDic:'Dictionary name should not be empty.',noSuggestions:'No suggestions',optionsTab:'Сонголт',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Ð¥Ñлүүд',dictionariesTab:'Толь бичгүүд',dic_field_name:'Dictionary name',dic_create:'Бий болгох',dic_restore:'Restore',dic_delete:'УÑтгах',dic_rename:'ÐÑрийг Ñолих',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'About'},about:{title:'About CKEditor',dlgTitle:'About CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'For licensing information please visit our web site:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'ДÑлгÑц дүүргÑÑ…',minimize:'Цонхыг багÑгаж харуулах',fakeobjects:{anchor:'Зангуу',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Unknown Object'},resize:'Drag to resize',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},toolbarCollapse:'Collapse Toolbar',toolbarExpand:'Expand Toolbar',toolbarGroups:{document:'Document',clipboard:'Clipboard/Undo',editing:'Editing',forms:'Forms',basicstyles:'Basic Styles',paragraph:'Paragraph',links:'ХолбооÑууд',insert:'Оруулах',styles:'Загварууд',colors:'Онгөнүүд',tools:'Ð¥ÑÑ€ÑгÑлүүд'},bidi:{ltr:'ЗүүнÑÑÑ Ð±Ð°Ñ€ÑƒÑƒÐ½ тийш бичлÑг',rtl:'Ð‘Ð°Ñ€ÑƒÑƒÐ½Ð°Ð°Ñ Ð·Ò¯Ò¯Ð½ тийш бичлÑг'},docprops:{label:'Баримт бичиг шинж чанар',title:'Баримт бичиг шинж чанар',design:'Design',meta:'Meta өгөгдөл',chooseColor:'Сонгох',other:'<other>',docTitle:'ХуудаÑны гарчиг',charset:'Encoding Ñ‚ÑмдÑгт',charsetOther:'Encoding-д Ó©Ó©Ñ€ Ñ‚ÑмдÑгт оноох',charsetASCII:'ASCII',charsetCE:'Төв европ',charsetCT:'Ð¥Ñтадын уламжлалт (Big5)',charsetCR:'Крил',charsetGR:'Гред',charsetJP:'Япон',charsetKR:'СолонгоÑ',charsetTR:'Tурк',charsetUN:'Юникод (UTF-8)',charsetWE:'Баруун европ',docType:'Баримт бичгийн төрөл Heading',docTypeOther:'БуÑад баримт бичгийн төрөл Heading',xhtmlDec:'XHTML-ийн мÑдÑÑллийг агуулах',bgColor:'Фоно өнгө',bgImage:'Фоно зурагны URL',bgFixed:'ГүйдÑггүй фоно',txtColor:'Фонтны өнгө',margin:'ХуудаÑны захын зай',marginTop:'ДÑÑд тал',marginLeft:'Зүүн тал',marginRight:'Баруун тал',marginBottom:'Доод тал',metaKeywords:'Баримт бичгийн Ð¸Ð½Ð´ÐµÐºÑ Ñ‚Ò¯Ð»Ñ…Ò¯Ò¯Ñ€ үг (таÑлалаар туÑгаарлагдана)',metaDescription:'Баримт бичгийн тайлбар',metaAuthor:'Зохиогч',metaCopyright:'Зохиогчийн Ñрх',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/ms.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/ms.js
deleted file mode 100644
index 0c4d272..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/ms.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.ms={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'Editor toolbars',editor:'Rich Text Editor',source:'Sumber',newPage:'Helaian Baru',save:'Simpan',preview:'Prebiu',cut:'Potong',copy:'Salin',paste:'Tampal',print:'Cetak',underline:'Underline',bold:'Bold',italic:'Italic',selectAll:'Pilih Semua',removeFormat:'Buang Format',strike:'Strike Through',subscript:'Subscript',superscript:'Superscript',horizontalrule:'Masukkan Garisan Membujur',pagebreak:'Insert Page Break for Printing',pagebreakAlt:'Page Break',unlink:'Buang Sambungan',undo:'Batalkan',redo:'Ulangkan',common:{browseServer:'Browse Server',url:'URL',protocol:'Protokol',upload:'Muat Naik',uploadSubmit:'Hantar ke Server',image:'Gambar',flash:'Flash',form:'Borang',checkbox:'Checkbox',radio:'Butang Radio',textField:'Text Field',textarea:'Textarea',hiddenField:'Field Tersembunyi',button:'Butang',select:'Field Pilihan',imageButton:'Butang Bergambar',notSet:'<tidak di set>',id:'Id',name:'Nama',langDir:'Arah Tulisan',langDirLtr:'Kiri ke Kanan (LTR)',langDirRtl:'Kanan ke Kiri (RTL)',langCode:'Kod Bahasa',longDescr:'Butiran Panjang URL',cssClass:'Kelas-kelas Stylesheet',advisoryTitle:'Tajuk Makluman',cssStyle:'Stail',ok:'OK',cancel:'Batal',close:'Close',preview:'Preview',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:'Some of the options have been changed. Are you sure to close the dialog?',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:'Lebar',height:'Tinggi',align:'Jajaran',alignLeft:'Kiri',alignRight:'Kanan',alignCenter:'Tengah',alignTop:'Atas',alignMiddle:'Pertengahan',alignBottom:'Bawah',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'Masukkan Huruf Istimewa',title:'Sila pilih huruf istimewa',options:'Special Character Options'},link:{toolbar:'Masukkan/Sunting Sambungan',other:'<lain>',menu:'Sunting Sambungan',title:'Sambungan',info:'Butiran Sambungan',target:'Sasaran',upload:'Muat Naik',advanced:'Advanced',type:'Jenis Sambungan',toUrl:'URL',toAnchor:'Pautan dalam muka surat ini',toEmail:'E-Mail',targetFrame:'<bingkai>',targetPopup:'<tetingkap popup>',targetFrameName:'Nama Bingkai Sasaran',targetPopupName:'Nama Tetingkap Popup',popupFeatures:'Ciri Tetingkap Popup',popupResizable:'Resizable',popupStatusBar:'Bar Status',popupLocationBar:'Bar Lokasi',popupToolbar:'Toolbar',popupMenuBar:'Bar Menu',popupFullScreen:'Skrin Penuh (IE)',popupScrollBars:'Bar-bar skrol',popupDependent:'Bergantungan (Netscape)',popupLeft:'Posisi Kiri',popupTop:'Posisi Atas',id:'Id',langDir:'Arah Tulisan',langDirLTR:'Kiri ke Kanan (LTR)',langDirRTL:'Kanan ke Kiri (RTL)',acccessKey:'Kunci Akses',name:'Nama',langCode:'Arah Tulisan',tabIndex:'Indeks Tab ',advisoryTitle:'Tajuk Makluman',advisoryContentType:'Jenis Kandungan Makluman',cssClasses:'Kelas-kelas Stylesheet',charset:'Linked Resource Charset',styles:'Stail',rel:'Relationship',selectAnchor:'Sila pilih pautan',anchorName:'dengan menggunakan nama pautan',anchorId:'dengan menggunakan ID elemen',emailAddress:'Alamat E-Mail',emailSubject:'Subjek Mesej',emailBody:'Isi Kandungan Mesej',noAnchors:'(Tiada pautan terdapat dalam dokumen ini)',noUrl:'Sila taip sambungan URL',noEmail:'Sila taip alamat e-mail'},anchor:{toolbar:'Masukkan/Sunting Pautan',menu:'Ciri-ciri Pautan',title:'Ciri-ciri Pautan',name:'Nama Pautan',errorName:'Sila taip nama pautan',remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Find and Replace',find:'Cari',replace:'Ganti',findWhat:'Perkataan yang dicari:',replaceWith:'Diganti dengan:',notFoundMsg:'Text yang dicari tidak dijumpai.',findOptions:'Find Options',matchCase:'Padanan case huruf',matchWord:'Padana Keseluruhan perkataan',matchCyclic:'Match cyclic',replaceAll:'Ganti semua',replaceSuccessMsg:'%1 occurrence(s) replaced.'},table:{toolbar:'Jadual',title:'Ciri-ciri Jadual',menu:'Ciri-ciri Jadual',deleteTable:'Delete Table',rows:'Barisan',columns:'Jaluran',border:'Saiz Border',widthPx:'piksel-piksel',widthPc:'peratus',widthUnit:'width unit',cellSpace:'Ruangan Antara Sel',cellPad:'Tambahan Ruang Sel',caption:'Keterangan',summary:'Summary',headers:'Headers',headersNone:'None',headersColumn:'First column',headersRow:'First Row',headersBoth:'Both',invalidRows:'Number of rows must be a number greater than 0.',invalidCols:'Number of columns must be a number greater than 0.',invalidBorder:'Border size must be a number.',invalidWidth:'Table width must be a number.',invalidHeight:'Table height must be a number.',invalidCellSpacing:'Cell spacing must be a positive number.',invalidCellPadding:'Cell padding must be a positive number.',cell:{menu:'Cell',insertBefore:'Insert Cell Before',insertAfter:'Insert Cell After',deleteCell:'Buangkan Sel-sel',merge:'Cantumkan Sel-sel',mergeRight:'Merge Right',mergeDown:'Merge Down',splitHorizontal:'Split Cell Horizontally',splitVertical:'Split Cell Vertically',title:'Cell Properties',cellType:'Cell Type',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Word Wrap',hAlign:'Horizontal Alignment',vAlign:'Vertical Alignment',alignBaseline:'Baseline',bgColor:'Background Color',borderColor:'Border Color',data:'Data',header:'Header',yes:'Yes',no:'No',invalidWidth:'Cell width must be a number.',invalidHeight:'Cell height must be a number.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Choose'},row:{menu:'Row',insertBefore:'Insert Row Before',insertAfter:'Insert Row After',deleteRow:'Buangkan Baris'},column:{menu:'Column',insertBefore:'Insert Column Before',insertAfter:'Insert Column After',deleteColumn:'Buangkan Lajur'}},button:{title:'Ciri-ciri Butang',text:'Teks (Nilai)',type:'Jenis',typeBtn:'Button',typeSbm:'Submit',typeRst:'Reset'},checkboxAndRadio:{checkboxTitle:'Ciri-ciri Checkbox',radioTitle:'Ciri-ciri Butang Radio',value:'Nilai',selected:'Dipilih'},form:{title:'Ciri-ciri Borang',menu:'Ciri-ciri Borang',action:'Tindakan borang',method:'Cara borang dihantar',encoding:'Encoding'},select:{title:'Ciri-ciri Selection Field',selectInfo:'Select Info',opAvail:'Pilihan sediada',value:'Nilai',size:'Saiz',lines:'garisan',chkMulti:'Benarkan pilihan pelbagai',opText:'Teks',opValue:'Nilai',btnAdd:'Tambah Pilihan',btnModify:'Ubah Pilihan',btnUp:'Naik ke atas',btnDown:'Turun ke bawah',btnSetValue:'Set sebagai nilai terpilih',btnDelete:'Padam'},textarea:{title:'Ciri-ciri Textarea',cols:'Lajur',rows:'Baris'},textfield:{title:'Ciri-ciri Text Field',name:'Nama',value:'Nilai',charWidth:'Lebar isian',maxChars:'Isian Maksimum',type:'Jenis',typeText:'Teks',typePass:'Kata Laluan'},hidden:{title:'Ciri-ciri Field Tersembunyi',name:'Nama',value:'Nilai'},image:{title:'Ciri-ciri Imej',titleButton:'Ciri-ciri Butang Bergambar',menu:'Ciri-ciri Imej',infoTab:'Info Imej',btnUpload:'Hantar ke Server',upload:'Muat Naik',alt:'Text Alternatif',lockRatio:'Tetapkan Nisbah',resetSize:'Saiz Set Semula',border:'Border',hSpace:'Ruang Melintang',vSpace:'Ruang Menegak',alertUrl:'Sila taip URL untuk fail gambar',linkTab:'Sambungan',button2Img:'Do you want to transform the selected image button on a simple image?',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'Flash Properties',propertiesTab:'Properties',title:'Flash Properties',chkPlay:'Auto Play',chkLoop:'Loop',chkMenu:'Enable Flash Menu',chkFull:'Allow Fullscreen',scale:'Scale',scaleAll:'Show all',scaleNoBorder:'No Border',scaleFit:'Exact Fit',access:'Script Access',accessAlways:'Always',accessSameDomain:'Same domain',accessNever:'Never',alignAbsBottom:'Bawah Mutlak',alignAbsMiddle:'Pertengahan Mutlak',alignBaseline:'Garis Dasar',alignTextTop:'Atas Text',quality:'Quality',qualityBest:'Best',qualityHigh:'High',qualityAutoHigh:'Auto High',qualityMedium:'Medium',qualityAutoLow:'Auto Low',qualityLow:'Low',windowModeWindow:'Window',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Window mode',flashvars:'Variables for Flash',bgcolor:'Warna Latarbelakang',hSpace:'Ruang Melintang',vSpace:'Ruang Menegak',validateSrc:'Sila taip sambungan URL',validateHSpace:'HSpace must be a number.',validateVSpace:'VSpace must be a number.'},spellCheck:{toolbar:'Semak Ejaan',title:'Spell Check',notAvailable:'Sorry, but service is unavailable now.',errorLoading:'Error loading application service host: %s.',notInDic:'Tidak terdapat didalam kamus',changeTo:'Tukarkan kepada',btnIgnore:'Biar',btnIgnoreAll:'Biarkan semua',btnReplace:'Ganti',btnReplaceAll:'Gantikan Semua',btnUndo:'Batalkan',noSuggestions:'- Tiada cadangan -',progress:'Pemeriksaan ejaan sedang diproses...',noMispell:'Pemeriksaan ejaan siap: Tiada salah ejaan',noChanges:'Pemeriksaan ejaan siap: Tiada perkataan diubah',oneChange:'Pemeriksaan ejaan siap: Satu perkataan telah diubah',manyChanges:'Pemeriksaan ejaan siap: %1 perkataan diubah',ieSpellDownload:'Pemeriksa ejaan tidak dipasang. Adakah anda mahu muat turun sekarang?'},smiley:{toolbar:'Smiley',title:'Masukkan Smiley',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 element'},numberedlist:'Senarai bernombor',bulletedlist:'Senarai tidak bernombor',indent:'Tambahkan Inden',outdent:'Kurangkan Inden',justify:{left:'Jajaran Kiri',center:'Jajaran Tengah',right:'Jajaran Kanan',block:'Jajaran Blok'},blockquote:'Block Quote',clipboard:{title:'Tampal',cutError:'Keselamatan perisian browser anda tidak membenarkan operasi suntingan text/imej. Sila gunakan papan kekunci (Ctrl/Cmd+X).',copyError:'Keselamatan perisian browser anda tidak membenarkan operasi salinan text/imej. Sila gunakan papan kekunci (Ctrl/Cmd+C).',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.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'Tampal dari Word',title:'Tampal dari Word',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'Tampal sebagai text biasa',title:'Tampal sebagai text biasa'},templates:{button:'Templat',title:'Templat Kandungan',options:'Template Options',insertOption:'Replace actual contents',selectPromptMsg:'Sila pilih templat untuk dibuka oleh editor<br>(kandungan sebenar akan hilang):',emptyListMsg:'(Tiada Templat Disimpan)'},showBlocks:'Show Blocks',stylesCombo:{label:'Stail',panelTitle:'Formatting Styles',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'Format',panelTitle:'Format',tag_p:'Normal',tag_pre:'Telah Diformat',tag_address:'Alamat',tag_h1:'Heading 1',tag_h2:'Heading 2',tag_h3:'Heading 3',tag_h4:'Heading 4',tag_h5:'Heading 5',tag_h6:'Heading 6',tag_div:'Perenggan (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'Font',voiceLabel:'Font',panelTitle:'Font'},fontSize:{label:'Saiz',voiceLabel:'Font Size',panelTitle:'Saiz'},colorButton:{textColorTitle:'Warna Text',bgColorTitle:'Warna Latarbelakang',panelTitle:'Colors',auto:'Otomatik',more:'Warna lain-lain...'},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'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Options',langs:'Languages',moreSuggestions:'More suggestions',ignore:'Ignore',ignoreAll:'Ignore All',addWord:'Add Word',emptyDic:'Dictionary name should not be empty.',noSuggestions:'Tiada cadangan',optionsTab:'Options',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Languages',dictionariesTab:'Dictionaries',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'About'},about:{title:'About CKEditor',dlgTitle:'About CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'For licensing information please visit our web site:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Maximize',minimize:'Minimize',fakeobjects:{anchor:'Anchor',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Unknown Object'},resize:'Drag to resize',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'Ciri-ciri dokumen',title:'Ciri-ciri dokumen',design:'Design',meta:'Data Meta',chooseColor:'Choose',other:'<lain>',docTitle:'Tajuk Muka Surat',charset:'Enkod Set Huruf',charsetOther:'Enkod Set Huruf yang Lain',charsetASCII:'ASCII',charsetCE:'Central European',charsetCT:'Chinese Traditional (Big5)',charsetCR:'Cyrillic',charsetGR:'Greek',charsetJP:'Japanese',charsetKR:'Korean',charsetTR:'Turkish',charsetUN:'Unicode (UTF-8)',charsetWE:'Western European',docType:'Jenis Kepala Dokumen',docTypeOther:'Jenis Kepala Dokumen yang Lain',xhtmlDec:'Masukkan pemula kod XHTML',bgColor:'Warna Latarbelakang',bgImage:'URL Gambar Latarbelakang',bgFixed:'Imej Latarbelakang tanpa Skrol',txtColor:'Warna Text',margin:'Margin Muka Surat',marginTop:'Atas',marginLeft:'Kiri',marginRight:'Kanan',marginBottom:'Bawah',metaKeywords:'Kata Kunci Indeks Dokumen (dipisahkan oleh koma)',metaDescription:'Keterangan Dokumen',metaAuthor:'Penulis',metaCopyright:'Hakcipta',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/nb.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/nb.js
deleted file mode 100644
index 066ac24..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/nb.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.nb={dir:'ltr',editorTitle:'Rikteksteditor, %1',editorHelp:'Trykk ALT 0 for hjelp',toolbars:'Verktøylinjer for editor',editor:'Rikteksteditor',source:'Kilde',newPage:'Ny side',save:'Lagre',preview:'Forhåndsvis',cut:'Klipp ut',copy:'Kopier',paste:'Lim inn',print:'Skriv ut',underline:'Understreking',bold:'Fet',italic:'Kursiv',selectAll:'Merk alt',removeFormat:'Fjern formatering',strike:'Gjennomstreking',subscript:'Senket skrift',superscript:'Hevet skrift',horizontalrule:'Sett inn horisontal linje',pagebreak:'Sett inn sideskift for utskrift',pagebreakAlt:'Sideskift',unlink:'Fjern lenke',undo:'Angre',redo:'Gjør om',common:{browseServer:'Bla igjennom server',url:'URL',protocol:'Protokoll',upload:'Last opp',uploadSubmit:'Send det til serveren',image:'Bilde',flash:'Flash',form:'Skjema',checkbox:'Avmerkingsboks',radio:'Alternativknapp',textField:'Tekstboks',textarea:'Tekstområde',hiddenField:'Skjult felt',button:'Knapp',select:'Rullegardinliste',imageButton:'Bildeknapp',notSet:'<ikke satt>',id:'Id',name:'Navn',langDir:'Språkretning',langDirLtr:'Venstre til høyre (VTH)',langDirRtl:'Høyre til venstre (HTV)',langCode:'Språkkode',longDescr:'Utvidet beskrivelse',cssClass:'Stilarkklasser',advisoryTitle:'Tittel',cssStyle:'Stil',ok:'OK',cancel:'Avbryt',close:'Lukk',preview:'Forhåndsvis',generalTab:'Generelt',advancedTab:'Avansert',validateNumberFailed:'Denne verdien er ikke et tall.',confirmNewPage:'Alle ulagrede endringer som er gjort i dette innholdet vil bli tapt. Er du sikker på at du vil laste en ny side?',confirmCancel:'Noen av valgene har blitt endret. Er du sikker på at du vil lukke dialogen?',options:'Valg',target:'Mål',targetNew:'Nytt vindu (_blank)',targetTop:'Hele vindu (_top)',targetSelf:'Samme vindu (_self)',targetParent:'Foreldrevindu (_parent)',langDirLTR:'Venstre til høyre (VTH)',langDirRTL:'Høyre til venstre (HTV)',styles:'Stil',cssClasses:'Stilarkklasser',width:'Bredde',height:'Høyde',align:'Juster',alignLeft:'Venstre',alignRight:'Høyre',alignCenter:'Midtjuster',alignTop:'Topp',alignMiddle:'Midten',alignBottom:'Bunn',invalidValue:'Ugyldig verdi.',invalidHeight:'Høyde må være et tall.',invalidWidth:'Bredde må være et tall.',invalidCssLength:'Den angitte verdien for feltet "%1" må være et positivt tall med eller uten en gyldig CSS-målingsenhet (px, %, in, cm, mm, em, ex, pt, eller pc).',invalidHtmlLength:'Den angitte verdien for feltet "%1" må være et positivt tall med eller uten en gyldig HTML-målingsenhet (px eller %).',invalidInlineStyle:'Verdi angitt for inline stil må bestå av en eller flere sett med formatet "navn : verdi", separert med semikolon',cssLengthTooltip:'Skriv inn et tall for en piksel-verdi eller et tall med en gyldig CSS-enhet (px, %, in, cm, mm, em, ex, pt, eller pc).',unavailable:'%1<span class="cke_accessibility">, utilgjenglig</span>'},contextmenu:{options:'Alternativer for høyreklikkmeny'},specialChar:{toolbar:'Sett inn spesialtegn',title:'Velg spesialtegn',options:'Alternativer for spesialtegn'},link:{toolbar:'Sett inn/Rediger lenke',other:'<annen>',menu:'Rediger lenke',title:'Lenke',info:'Lenkeinfo',target:'Mål',upload:'Last opp',advanced:'Avansert',type:'Lenketype',toUrl:'URL',toAnchor:'Lenke til anker i teksten',toEmail:'E-post',targetFrame:'<ramme>',targetPopup:'<popup-vindu>',targetFrameName:'Målramme',targetPopupName:'Navn på popup-vindu',popupFeatures:'Egenskaper for popup-vindu',popupResizable:'Skalerbar',popupStatusBar:'Statuslinje',popupLocationBar:'Adresselinje',popupToolbar:'Verktøylinje',popupMenuBar:'Menylinje',popupFullScreen:'Fullskjerm (IE)',popupScrollBars:'Scrollbar',popupDependent:'Avhenging (Netscape)',popupLeft:'Venstre posisjon',popupTop:'Topp-posisjon',id:'Id',langDir:'Språkretning',langDirLTR:'Venstre til høyre (VTH)',langDirRTL:'Høyre til venstre (HTV)',acccessKey:'Aksessknapp',name:'Navn',langCode:'Språkkode',tabIndex:'Tabindeks',advisoryTitle:'Tittel',advisoryContentType:'Type',cssClasses:'Stilarkklasser',charset:'Lenket tegnsett',styles:'Stil',rel:'Relasjon (rel)',selectAnchor:'Velg et anker',anchorName:'Anker etter navn',anchorId:'Element etter ID',emailAddress:'E-postadresse',emailSubject:'Meldingsemne',emailBody:'Melding',noAnchors:'(Ingen anker i dokumentet)',noUrl:'Vennligst skriv inn lenkens URL',noEmail:'Vennligst skriv inn e-postadressen'},anchor:{toolbar:'Sett inn/Rediger anker',menu:'Egenskaper for anker',title:'Egenskaper for anker',name:'Ankernavn',errorName:'Vennligst skriv inn ankernavnet',remove:'Fjern anker'},list:{numberedTitle:'Egenskaper for nummerert liste',bulletedTitle:'Egenskaper for punktmerket liste',type:'Type',start:'Start',validateStartNumber:'Starten på listen må være et heltall.',circle:'Sirkel',disc:'Disk',square:'Firkant',none:'Ingen',notset:'<ikke satt>',armenian:'Armensk nummerering',georgian:'Georgisk nummerering (an, ban, gan, osv.)',lowerRoman:'Romertall, små (i, ii, iii, iv, v, osv.)',upperRoman:'Romertall, store (I, II, III, IV, V, osv.)',lowerAlpha:'Alfabetisk, små (a, b, c, d, e, osv.)',upperAlpha:'Alfabetisk, store (A, B, C, D, E, osv.)',lowerGreek:'Gresk, små (alpha, beta, gamma, osv.)',decimal:'Tall (1, 2, 3, osv.)',decimalLeadingZero:'Tall, med førstesiffer null (01, 02, 03, osv.)'},findAndReplace:{title:'Søk og erstatt',find:'Søk',replace:'Erstatt',findWhat:'Søk etter:',replaceWith:'Erstatt med:',notFoundMsg:'Fant ikke søketeksten.',findOptions:'Søkealternativer',matchCase:'Skill mellom store og små bokstaver',matchWord:'Bare hele ord',matchCyclic:'Søk i hele dokumentet',replaceAll:'Erstatt alle',replaceSuccessMsg:'%1 tilfelle(r) erstattet.'},table:{toolbar:'Tabell',title:'Egenskaper for tabell',menu:'Egenskaper for tabell',deleteTable:'Slett tabell',rows:'Rader',columns:'Kolonner',border:'Rammestørrelse',widthPx:'piksler',widthPc:'prosent',widthUnit:'Bredde-enhet',cellSpace:'Cellemarg',cellPad:'Cellepolstring',caption:'Tittel',summary:'Sammendrag',headers:'Overskrifter',headersNone:'Ingen',headersColumn:'Første kolonne',headersRow:'Første rad',headersBoth:'Begge',invalidRows:'Antall rader må være et tall større enn 0.',invalidCols:'Antall kolonner må være et tall større enn 0.',invalidBorder:'Rammestørrelse må være et tall.',invalidWidth:'Tabellbredde må være et tall.',invalidHeight:'Tabellhøyde må være et tall.',invalidCellSpacing:'Cellemarg må være et positivt tall.',invalidCellPadding:'Cellepolstring må være et positivt tall.',cell:{menu:'Celle',insertBefore:'Sett inn celle før',insertAfter:'Sett inn celle etter',deleteCell:'Slett celler',merge:'Slå sammen celler',mergeRight:'Slå sammen høyre',mergeDown:'Slå sammen ned',splitHorizontal:'Del celle horisontalt',splitVertical:'Del celle vertikalt',title:'Celleegenskaper',cellType:'Celletype',rowSpan:'Radspenn',colSpan:'Kolonnespenn',wordWrap:'Tekstbrytning',hAlign:'Horisontal justering',vAlign:'Vertikal justering',alignBaseline:'Grunnlinje',bgColor:'Bakgrunnsfarge',borderColor:'Rammefarge',data:'Data',header:'Overskrift',yes:'Ja',no:'Nei',invalidWidth:'Cellebredde må være et tall.',invalidHeight:'Cellehøyde må være et tall.',invalidRowSpan:'Radspenn må være et heltall.',invalidColSpan:'Kolonnespenn må være et heltall.',chooseColor:'Velg'},row:{menu:'Rader',insertBefore:'Sett inn rad før',insertAfter:'Sett inn rad etter',deleteRow:'Slett rader'},column:{menu:'Kolonne',insertBefore:'Sett inn kolonne før',insertAfter:'Sett inn kolonne etter',deleteColumn:'Slett kolonner'}},button:{title:'Egenskaper for knapp',text:'Tekst (verdi)',type:'Type',typeBtn:'Knapp',typeSbm:'Send',typeRst:'Nullstill'},checkboxAndRadio:{checkboxTitle:'Egenskaper for avmerkingsboks',radioTitle:'Egenskaper for alternativknapp',value:'Verdi',selected:'Valgt'},form:{title:'Egenskaper for skjema',menu:'Egenskaper for skjema',action:'Handling',method:'Metode',encoding:'Encoding'},select:{title:'Egenskaper for rullegardinliste',selectInfo:'Info',opAvail:'Tilgjenglige alternativer',value:'Verdi',size:'Størrelse',lines:'Linjer',chkMulti:'Tillat flervalg',opText:'Tekst',opValue:'Verdi',btnAdd:'Legg til',btnModify:'Endre',btnUp:'Opp',btnDown:'Ned',btnSetValue:'Sett som valgt',btnDelete:'Slett'},textarea:{title:'Egenskaper for tekstområde',cols:'Kolonner',rows:'Rader'},textfield:{title:'Egenskaper for tekstfelt',name:'Navn',value:'Verdi',charWidth:'Tegnbredde',maxChars:'Maks antall tegn',type:'Type',typeText:'Tekst',typePass:'Passord'},hidden:{title:'Egenskaper for skjult felt',name:'Navn',value:'Verdi'},image:{title:'Bildeegenskaper',titleButton:'Egenskaper for bildeknapp',menu:'Bildeegenskaper',infoTab:'Bildeinformasjon',btnUpload:'Send det til serveren',upload:'Last opp',alt:'Alternativ tekst',lockRatio:'Lås forhold',resetSize:'Tilbakestill størrelse',border:'Ramme',hSpace:'HMarg',vSpace:'VMarg',alertUrl:'Vennligst skriv bilde-urlen',linkTab:'Lenke',button2Img:'Vil du endre den valgte bildeknappen til et vanlig bilde?',img2Button:'Vil du endre det valgte bildet til en bildeknapp?',urlMissing:'Bildets adresse mangler.',validateBorder:'Ramme må være et heltall.',validateHSpace:'HMarg må være et heltall.',validateVSpace:'VMarg må være et heltall.'},flash:{properties:'Egenskaper for Flash-objekt',propertiesTab:'Egenskaper',title:'Flash-egenskaper',chkPlay:'Autospill',chkLoop:'Loop',chkMenu:'Slå på Flash-meny',chkFull:'Tillat fullskjerm',scale:'Skaler',scaleAll:'Vis alt',scaleNoBorder:'Ingen ramme',scaleFit:'Skaler til å passe',access:'Scripttilgang',accessAlways:'Alltid',accessSameDomain:'Samme domene',accessNever:'Aldri',alignAbsBottom:'Abs bunn',alignAbsMiddle:'Abs midten',alignBaseline:'Bunnlinje',alignTextTop:'Tekst topp',quality:'Kvalitet',qualityBest:'Best',qualityHigh:'Høy',qualityAutoHigh:'Auto høy',qualityMedium:'Medium',qualityAutoLow:'Auto lav',qualityLow:'Lav',windowModeWindow:'Vindu',windowModeOpaque:'Opaque',windowModeTransparent:'Gjennomsiktig',windowMode:'Vindumodus',flashvars:'Variabler for flash',bgcolor:'Bakgrunnsfarge',hSpace:'HMarg',vSpace:'VMarg',validateSrc:'Vennligst skriv inn lenkens url.',validateHSpace:'HMarg må være et tall.',validateVSpace:'VMarg må være et tall.'},spellCheck:{toolbar:'Stavekontroll',title:'Stavekontroll',notAvailable:'Beklager, tjenesten er utilgjenglig nå.',errorLoading:'Feil under lasting av applikasjonstjenestetjener: %s.',notInDic:'Ikke i ordboken',changeTo:'Endre til',btnIgnore:'Ignorer',btnIgnoreAll:'Ignorer alle',btnReplace:'Erstatt',btnReplaceAll:'Erstatt alle',btnUndo:'Angre',noSuggestions:'- Ingen forslag -',progress:'Stavekontroll pågår...',noMispell:'Stavekontroll fullført: ingen feilstavinger funnet',noChanges:'Stavekontroll fullført: ingen ord endret',oneChange:'Stavekontroll fullført: Ett ord endret',manyChanges:'Stavekontroll fullført: %1 ord endret',ieSpellDownload:'Stavekontroll er ikke installert. Vil du laste den ned nå?'},smiley:{toolbar:'Smil',title:'Sett inn smil',options:'Alternativer for smil'},elementsPath:{eleLabel:'Element-sti',eleTitle:'%1 element'},numberedlist:'Legg til/Fjern nummerert liste',bulletedlist:'Legg til/Fjern punktmerket liste',indent:'Øk innrykk',outdent:'Reduser innrykk',justify:{left:'Venstrejuster',center:'Midtstill',right:'Høyrejuster',block:'Blokkjuster'},blockquote:'Sitatblokk',clipboard:{title:'Lim inn',cutError:'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk utklipping av tekst. Vennligst bruk snarveien (Ctrl/Cmd+X).',copyError:'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk snarveien (Ctrl/Cmd+C).',pasteMsg:'Vennligst lim inn i følgende boks med tastaturet (<STRONG>Ctrl/Cmd+V</STRONG>) og trykk <STRONG>OK</STRONG>.',securityMsg:'Din nettlesers sikkerhetsinstillinger gir ikke redigeringsverktøyet direkte tilgang til utklippstavlen. Du må derfor lime det inn på nytt i dette vinduet.',pasteArea:'Innlimingsområde'},pastefromword:{confirmCleanup:'Teksten du limer inn ser ut til å være kopiert fra Word. Vil du renske den før du limer den inn?',toolbar:'Lim inn fra Word',title:'Lim inn fra Word',error:'Det var ikke mulig å renske den innlimte teksten på grunn av en intern feil'},pasteText:{button:'Lim inn som ren tekst',title:'Lim inn som ren tekst'},templates:{button:'Maler',title:'Innholdsmaler',options:'Alternativer for mal',insertOption:'Erstatt gjeldende innhold',selectPromptMsg:'Velg malen du vil åpne i redigeringsverktøyet:',emptyListMsg:'(Ingen maler definert)'},showBlocks:'Vis blokker',stylesCombo:{label:'Stil',panelTitle:'Stilformater',panelTitle1:'Blokkstiler',panelTitle2:'Inlinestiler',panelTitle3:'Objektstiler'},format:{label:'Format',panelTitle:'Avsnittsformat',tag_p:'Normal',tag_pre:'Formatert',tag_address:'Adresse',tag_h1:'Overskrift 1',tag_h2:'Overskrift 2',tag_h3:'Overskrift 3',tag_h4:'Overskrift 4',tag_h5:'Overskrift 5',tag_h6:'Overskrift 6',tag_div:'Normal (DIV)'},div:{title:'Sett inn Div Container',toolbar:'Sett inn Div Container',cssClassInputLabel:'Stilark-klasser',styleSelectLabel:'Stil',IdInputLabel:'Id',languageCodeInputLabel:' Språkkode',inlineStyleInputLabel:'Inlinestiler',advisoryTitleInputLabel:'Tittel',langDirLabel:'Språkretning',langDirLTRLabel:'Venstre til høyre (VTH)',langDirRTLLabel:'Høyre til venstre (HTV)',edit:'Rediger Div',remove:'Fjern Div'},iframe:{title:'Egenskaper for IFrame',toolbar:'IFrame',noUrl:'Vennligst skriv inn URL for iframe',scrolling:'Aktiver scrollefelt',border:'Viss ramme rundt iframe'},font:{label:'Skrift',voiceLabel:'Font',panelTitle:'Skrift'},fontSize:{label:'Størrelse',voiceLabel:'Font Størrelse',panelTitle:'Størrelse'},colorButton:{textColorTitle:'Tekstfarge',bgColorTitle:'Bakgrunnsfarge',panelTitle:'Farger',auto:'Automatisk',more:'Flere farger...'},colors:{'000':'Svart',800000:'Rødbrun','8B4513':'Salbrun','2F4F4F':'Grønnsvart','008080':'Blågrønn','000080':'Marineblått','4B0082':'Indigo',696969:'Mørk grå',B22222:'Mørkerød',A52A2A:'Brun',DAA520:'Lys brun','006400':'Mørk grønn','40E0D0':'Turkis','0000CD':'Medium blå',800080:'Purpur',808080:'Grå',F00:'Rød',FF8C00:'Mørk oransje',FFD700:'Gull','008000':'Grønn','0FF':'Cyan','00F':'Blå',EE82EE:'Fiolett',A9A9A9:'Svak grå',FFA07A:'Rosa-oransje',FFA500:'Oransje',FFFF00:'Gul','00FF00':'Lime',AFEEEE:'Svak turkis',ADD8E6:'Lys Blå',DDA0DD:'Plomme',D3D3D3:'Lys grå',FFF0F5:'Svak lavendelrosa',FAEBD7:'Antikk-hvit',FFFFE0:'Lys gul',F0FFF0:'Honningmelon',F0FFFF:'Svakt asurblått',F0F8FF:'Svak cyan',E6E6FA:'Lavendel',FFF:'Hvit'},scayt:{title:'Stavekontroll mens du skriver',opera_title:'Ikke støttet av Opera',enable:'Slå på SCAYT',disable:'Slå av SCAYT',about:'Om SCAYT',toggle:'Veksle SCAYT',options:'Valg',langs:'Språk',moreSuggestions:'Flere forslag',ignore:'Ignorer',ignoreAll:'Ignorer Alle',addWord:'Legg til ord',emptyDic:'Ordboknavn bør ikke være tom.',noSuggestions:'Ingen forslag',optionsTab:'Valg',allCaps:'Ikke kontroller ord med kun store bokstaver',ignoreDomainNames:'Ikke kontroller domenenavn',mixedCase:'Ikke kontroller ord med blandet små og store bokstaver',mixedWithDigits:'Ikke kontroller ord som inneholder tall',languagesTab:'Språk',dictionariesTab:'Ordbøker',dic_field_name:'Ordboknavn',dic_create:'Opprett',dic_restore:'Gjenopprett',dic_delete:'Slett',dic_rename:'Gi nytt navn',dic_info:'Brukerordboken lagres først i en informasjonskapsel på din maskin, men det er en begrensning på hvor mye som kan lagres her. Når ordboken blir for stor til å lagres i en informasjonskapsel, vil vi i stedet lagre ordboken på vår server. For å lagre din personlige ordbok på vår server, burde du velge et navn for ordboken din. Hvis du allerede har lagret en ordbok, vennligst skriv inn ordbokens navn og klikk på Gjenopprett-knappen.',aboutTab:'Om'},about:{title:'Om CKEditor',dlgTitle:'Om CKEditor',help:'Se $1 for hjelp.',userGuide:'CKEditors brukerveiledning',moreInfo:'For lisensieringsinformasjon, vennligst besøk vårt nettsted:',copy:'Copyright &copy; $1. Alle rettigheter reservert.'},maximize:'Maksimer',minimize:'Minimer',fakeobjects:{anchor:'Anker',flash:'Flash-animasjon',iframe:'IFrame',hiddenfield:'Skjult felt',unknown:'Ukjent objekt'},resize:'Dra for å skalere',colordialog:{title:'Velg farge',options:'Alternativer for farge',highlight:'Merk',selected:'Valgt',clear:'Tøm'},toolbarCollapse:'Skjul verktøylinje',toolbarExpand:'Vis verktøylinje',toolbarGroups:{document:'Dokument',clipboard:'Utklippstavle/Angre',editing:'Redigering',forms:'Skjema',basicstyles:'Basisstiler',paragraph:'Avsnitt',links:'Lenker',insert:'Innsetting',styles:'Stiler',colors:'Farger',tools:'Verktøy'},bidi:{ltr:'Tekstretning fra venstre til høyre',rtl:'Tekstretning fra høyre til venstre'},docprops:{label:'Dokumentegenskaper',title:'Dokumentegenskaper',design:'Design',meta:'Meta-data',chooseColor:'Velg',other:'<annen>',docTitle:'Sidetittel',charset:'Tegnsett',charsetOther:'Annet tegnsett',charsetASCII:'ASCII',charsetCE:'Sentraleuropeisk',charsetCT:'Tradisonell kinesisk(Big5)',charsetCR:'Kyrillisk',charsetGR:'Gresk',charsetJP:'Japansk',charsetKR:'Koreansk',charsetTR:'Tyrkisk',charsetUN:'Unicode (UTF-8)',charsetWE:'Vesteuropeisk',docType:'Dokumenttype header',docTypeOther:'Annet dokumenttype header',xhtmlDec:'Inkluder XHTML-deklarasjon',bgColor:'Bakgrunnsfarge',bgImage:'URL for bakgrunnsbilde',bgFixed:'Lås bakgrunnsbilde',txtColor:'Tekstfarge',margin:'Sidemargin',marginTop:'Topp',marginLeft:'Venstre',marginRight:'Høyre',marginBottom:'Bunn',metaKeywords:'Dokument nøkkelord (kommaseparert)',metaDescription:'Dokumentbeskrivelse',metaAuthor:'Forfatter',metaCopyright:'Kopirett',previewHtml:'<p>Dette er en <strong>eksempeltekst</strong>. Du bruker <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/nl.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/nl.js
deleted file mode 100644
index 86d052e..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/nl.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.nl={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'Werkbalken',editor:'Tekstverwerker',source:'Code',newPage:'Nieuwe pagina',save:'Opslaan',preview:'Voorbeeld',cut:'Knippen',copy:'Kopiëren',paste:'Plakken',print:'Printen',underline:'Onderstreept',bold:'Vet',italic:'Cursief',selectAll:'Alles selecteren',removeFormat:'Opmaak verwijderen',strike:'Doorhalen',subscript:'Subscript',superscript:'Superscript',horizontalrule:'Horizontale lijn invoegen',pagebreak:'Pagina-einde invoegen',pagebreakAlt:'Pagina-einde',unlink:'Link verwijderen',undo:'Ongedaan maken',redo:'Opnieuw uitvoeren',common:{browseServer:'Bladeren op server',url:'URL',protocol:'Protocol',upload:'Upload',uploadSubmit:'Naar server verzenden',image:'Afbeelding',flash:'Flash',form:'Formulier',checkbox:'Aanvinkvakje',radio:'Selectievakje',textField:'Tekstveld',textarea:'Tekstvak',hiddenField:'Verborgen veld',button:'Knop',select:'Selectieveld',imageButton:'Afbeeldingsknop',notSet:'<niet ingevuld>',id:'Id',name:'Naam',langDir:'Schrijfrichting',langDirLtr:'Links naar rechts (LTR)',langDirRtl:'Rechts naar links (RTL)',langCode:'Taalcode',longDescr:'Lange URL-omschrijving',cssClass:'Stylesheet-klassen',advisoryTitle:'Adviserende titel',cssStyle:'Stijl',ok:'OK',cancel:'Annuleren',close:'Sluiten',preview:'Voorbeeld',generalTab:'Algemeen',advancedTab:'Geavanceerd',validateNumberFailed:'Deze waarde is geen geldig getal.',confirmNewPage:'Alle aangebrachte wijzigingen gaan verloren. Weet u zeker dat u een nieuwe pagina wilt openen?',confirmCancel:'Enkele opties zijn gewijzigd. Weet u zeker dat u dit dialoogvenster wilt sluiten?',options:'Opties',target:'Doelvenster',targetNew:'Nieuw venster (_blank)',targetTop:'Hele venster (_top)',targetSelf:'Zelfde venster (_self)',targetParent:'Origineel venster (_parent)',langDirLTR:'Links naar rechts (LTR)',langDirRTL:'Rechts naar links (RTL)',styles:'Stijl',cssClasses:'Stylesheet klassen',width:'Breedte',height:'Hoogte',align:'Uitlijning',alignLeft:'Links',alignRight:'Rechts',alignCenter:'Centreren',alignTop:'Boven',alignMiddle:'Midden',alignBottom:'Onder',invalidValue:'Invalid value.',invalidHeight:'De hoogte moet een getal zijn.',invalidWidth:'De breedte moet een getal zijn.',invalidCssLength:'Waarde in veld "%1" moet een positief nummer zijn, met of zonder een geldige CSS meeteenheid (px, %, in, cm, mm, em, ex, pt of pc).',invalidHtmlLength:'Waarde in veld "%1" moet een positief nummer zijn, met of zonder een geldige HTML meeteenheid (px of %).',invalidInlineStyle:'Waarde voor de online stijl moet bestaan uit een of meerdere tupels met het formaat "naam : waarde", gescheiden door puntkomma\'s.',cssLengthTooltip:'Geef een nummer in voor een waarde in pixels of geef een nummer in met een geldige CSS eenheid (px, %, in, cm, mm, em, ex, pt, of pc).',unavailable:'%1<span class="cke_accessibility">, niet beschikbaar</span>'},contextmenu:{options:'Contextmenu opties'},specialChar:{toolbar:'Speciaal teken invoegen',title:'Selecteer speciaal teken',options:'Speciale tekens opties'},link:{toolbar:'Link invoegen/wijzigen',other:'<ander>',menu:'Link wijzigen',title:'Link',info:'Linkomschrijving',target:'Doelvenster',upload:'Upload',advanced:'Geavanceerd',type:'Linktype',toUrl:'URL',toAnchor:'Interne link in pagina',toEmail:'E-mail',targetFrame:'<frame>',targetPopup:'<popupvenster>',targetFrameName:'Naam doelframe',targetPopupName:'Naam popupvenster',popupFeatures:'Instellingen popupvenster',popupResizable:'Herschaalbaar',popupStatusBar:'Statusbalk',popupLocationBar:'Locatiemenu',popupToolbar:'Werkbalk',popupMenuBar:'Menubalk',popupFullScreen:'Volledig scherm (IE)',popupScrollBars:'Schuifbalken',popupDependent:'Afhankelijk (Netscape)',popupLeft:'Positie links',popupTop:'Positie boven',id:'Id',langDir:'Schrijfrichting',langDirLTR:'Links naar rechts (LTR)',langDirRTL:'Rechts naar links (RTL)',acccessKey:'Toegangstoets',name:'Naam',langCode:'Taalcode',tabIndex:'Tabvolgorde',advisoryTitle:'Adviserende titel',advisoryContentType:'Aanbevolen content-type',cssClasses:'Stylesheet-klassen',charset:'Karakterset van gelinkte bron',styles:'Stijl',rel:'Relatie',selectAnchor:'Kies een interne link',anchorName:'Op naam interne link',anchorId:'Op kenmerk interne link',emailAddress:'E-mailadres',emailSubject:'Onderwerp bericht',emailBody:'Inhoud bericht',noAnchors:'(Geen interne links in document gevonden)',noUrl:'Geef de link van de URL',noEmail:'Geef een e-mailadres'},anchor:{toolbar:'Interne link',menu:'Eigenschappen interne link',title:'Eigenschappen interne link',name:'Naam interne link',errorName:'Geef de naam van de interne link op',remove:'Interne link verwijderen'},list:{numberedTitle:'Eigenschappen genummerde lijst',bulletedTitle:'Eigenschappen lijst met opsommingstekens',type:'Type',start:'Start',validateStartNumber:'Startnummer van de lijst moet een heel nummer zijn.',circle:'Cirkel',disc:'Schijf',square:'Vierkant',none:'Geen',notset:'<niet gezet>',armenian:'Armeense nummering',georgian:'Georgische nummering (an, ban, gan, etc.)',lowerRoman:'Romeins kleine letters (i, ii, iii, iv, v, etc.)',upperRoman:'Romeinse hoofdletters (I, II, III, IV, V, etc.)',lowerAlpha:'Kleine letters (a, b, c, d, e, etc.)',upperAlpha:'Hoofdletters (A, B, C, D, E, etc.)',lowerGreek:'Grieks kleine letters (alpha, beta, gamma, etc.)',decimal:'Cijfers (1, 2, 3, etc.)',decimalLeadingZero:'Cijfers beginnen met nul (01, 02, 03, etc.)'},findAndReplace:{title:'Zoeken en vervangen',find:'Zoeken',replace:'Vervangen',findWhat:'Zoeken naar:',replaceWith:'Vervangen met:',notFoundMsg:'De opgegeven tekst is niet gevonden.',findOptions:'Zoekopties',matchCase:'Hoofdlettergevoelig',matchWord:'Hele woord moet voorkomen',matchCyclic:'Doorlopend zoeken',replaceAll:'Alles vervangen',replaceSuccessMsg:'%1 resultaten vervangen.'},table:{toolbar:'Tabel',title:'Eigenschappen tabel',menu:'Eigenschappen tabel',deleteTable:'Tabel verwijderen',rows:'Rijen',columns:'Kolommen',border:'Breedte rand',widthPx:'pixels',widthPc:'procent',widthUnit:'eenheid breedte',cellSpace:'Afstand tussen cellen',cellPad:'Ruimte in de cel',caption:'Naam',summary:'Samenvatting',headers:'Koppen',headersNone:'Geen',headersColumn:'Eerste kolom',headersRow:'Eerste rij',headersBoth:'Beide',invalidRows:'Het aantal rijen moet een getal zijn groter dan 0.',invalidCols:'Het aantal kolommen moet een getal zijn groter dan 0.',invalidBorder:'De rand breedte moet een getal zijn.',invalidWidth:'De tabelbreedte moet een getal zijn.',invalidHeight:'De tabelhoogte moet een getal zijn.',invalidCellSpacing:'Afstand tussen cellen moet een getal zijn.',invalidCellPadding:'Ruimte in de cel moet een getal zijn.',cell:{menu:'Cel',insertBefore:'Voeg cel in voor',insertAfter:'Voeg cel in achter',deleteCell:'Cellen verwijderen',merge:'Cellen samenvoegen',mergeRight:'Voeg samen naar rechts',mergeDown:'Voeg samen naar beneden',splitHorizontal:'Splits cellen horizontaal',splitVertical:'Splits cellen verticaal',title:'Cel eigenschappen',cellType:'Cel type',rowSpan:'Rijen samenvoegen',colSpan:'Kolommen samenvoegen',wordWrap:'Automatische terugloop',hAlign:'Horizontale uitlijning',vAlign:'Verticale uitlijning',alignBaseline:'Basislijn',bgColor:'Achtergrondkleur',borderColor:'Kleur rand',data:'Inhoud',header:'Kop',yes:'Ja',no:'Nee',invalidWidth:'De celbreedte moet een getal zijn.',invalidHeight:'De celhoogte moet een getal zijn.',invalidRowSpan:'Rijen samenvoegen moet een heel getal zijn.',invalidColSpan:'Kolommen samenvoegen moet een heel getal zijn.',chooseColor:'Kies'},row:{menu:'Rij',insertBefore:'Voeg rij in voor',insertAfter:'Voeg rij in achter',deleteRow:'Rijen verwijderen'},column:{menu:'Kolom',insertBefore:'Voeg kolom in voor',insertAfter:'Voeg kolom in achter',deleteColumn:'Kolommen verwijderen'}},button:{title:'Eigenschappen knop',text:'Tekst (waarde)',type:'Soort',typeBtn:'Knop',typeSbm:'Versturen',typeRst:'Leegmaken'},checkboxAndRadio:{checkboxTitle:'Eigenschappen aanvinkvakje',radioTitle:'Eigenschappen selectievakje',value:'Waarde',selected:'Geselecteerd'},form:{title:'Eigenschappen formulier',menu:'Eigenschappen formulier',action:'Actie',method:'Methode',encoding:'Codering'},select:{title:'Eigenschappen selectieveld',selectInfo:'Informatie',opAvail:'Beschikbare opties',value:'Waarde',size:'Grootte',lines:'Regels',chkMulti:'Gecombineerde selecties toestaan',opText:'Tekst',opValue:'Waarde',btnAdd:'Toevoegen',btnModify:'Wijzigen',btnUp:'Omhoog',btnDown:'Omlaag',btnSetValue:'Als geselecteerde waarde instellen',btnDelete:'Verwijderen'},textarea:{title:'Eigenschappen tekstvak',cols:'Kolommen',rows:'Rijen'},textfield:{title:'Eigenschappen tekstveld',name:'Naam',value:'Waarde',charWidth:'Breedte (tekens)',maxChars:'Maximum aantal tekens',type:'Soort',typeText:'Tekst',typePass:'Wachtwoord'},hidden:{title:'Eigenschappen verborgen veld',name:'Naam',value:'Waarde'},image:{title:'Eigenschappen afbeelding',titleButton:'Eigenschappen afbeeldingsknop',menu:'Eigenschappen afbeelding',infoTab:'Informatie afbeelding',btnUpload:'Naar server verzenden',upload:'Upload',alt:'Alternatieve tekst',lockRatio:'Afmetingen vergrendelen',resetSize:'Afmetingen resetten',border:'Rand',hSpace:'HSpace',vSpace:'VSpace',alertUrl:'Geef de URL van de afbeelding',linkTab:'Link',button2Img:'Wilt u de geselecteerde afbeeldingsknop vervangen door een eenvoudige afbeelding?',img2Button:'Wilt u de geselecteerde afbeelding vervangen door een afbeeldingsknop?',urlMissing:'De URL naar de afbeelding ontbreekt.',validateBorder:'Rand moet een heel nummer zijn.',validateHSpace:'HSpace moet een heel nummer zijn.',validateVSpace:'VSpace moet een heel nummer zijn.'},flash:{properties:'Eigenschappen Flash',propertiesTab:'Eigenschappen',title:'Eigenschappen Flash',chkPlay:'Automatisch afspelen',chkLoop:'Herhalen',chkMenu:"Flashmenu's inschakelen",chkFull:'Schermvullend toestaan',scale:'Schaal',scaleAll:'Alles tonen',scaleNoBorder:'Geen rand',scaleFit:'Precies passend',access:'Script toegang',accessAlways:'Altijd',accessSameDomain:'Zelfde domeinnaam',accessNever:'Nooit',alignAbsBottom:'Absoluut-onder',alignAbsMiddle:'Absoluut-midden',alignBaseline:'Basislijn',alignTextTop:'Boven tekst',quality:'Kwaliteit',qualityBest:'Beste',qualityHigh:'Hoog',qualityAutoHigh:'Automatisch hoog',qualityMedium:'Gemiddeld',qualityAutoLow:'Automatisch laag',qualityLow:'Laag',windowModeWindow:'Venster',windowModeOpaque:'Ondoorzichtig',windowModeTransparent:'Doorzichtig',windowMode:'Venster modus',flashvars:'Variabelen voor Flash',bgcolor:'Achtergrondkleur',hSpace:'HSpace',vSpace:'VSpace',validateSrc:'De URL mag niet leeg zijn.',validateHSpace:'De HSpace moet een getal zijn.',validateVSpace:'De VSpace moet een getal zijn.'},spellCheck:{toolbar:'Spellingscontrole',title:'Spellingscontrole',notAvailable:'Excuses, deze dienst is momenteel niet beschikbaar.',errorLoading:'Er is een fout opgetreden bij het laden van de dienst: %s.',notInDic:'Niet in het woordenboek',changeTo:'Wijzig in',btnIgnore:'Negeren',btnIgnoreAll:'Alles negeren',btnReplace:'Vervangen',btnReplaceAll:'Alles vervangen',btnUndo:'Ongedaan maken',noSuggestions:'- Geen suggesties -',progress:'Bezig met spellingscontrole...',noMispell:'Klaar met spellingscontrole: geen fouten gevonden',noChanges:'Klaar met spellingscontrole: geen woorden aangepast',oneChange:'Klaar met spellingscontrole: één woord aangepast',manyChanges:'Klaar met spellingscontrole: %1 woorden aangepast',ieSpellDownload:'De spellingscontrole is niet geïnstalleerd. Wilt u deze nu downloaden?'},smiley:{toolbar:'Smiley',title:'Smiley invoegen',options:'Smiley opties'},elementsPath:{eleLabel:'Elementenpad',eleTitle:'%1 element'},numberedlist:'Genummerde lijst',bulletedlist:'Opsomming',indent:'Inspringing vergroten',outdent:'Inspringing verkleinen',justify:{left:'Links uitlijnen',center:'Centreren',right:'Rechts uitlijnen',block:'Uitvullen'},blockquote:'Citaatblok',clipboard:{title:'Plakken',cutError:'De beveiligingsinstelling van de browser verhinderen het automatisch knippen. Gebruik de sneltoets Ctrl/Cmd+X van het toetsenbord.',copyError:'De beveiligingsinstelling van de browser verhinderen het automatisch kopiëren. Gebruik de sneltoets Ctrl/Cmd+C van het toetsenbord.',pasteMsg:'Plak de tekst in het volgende vak gebruikmakend van uw toetsenbord (<strong>Ctrl/Cmd+V</strong>) en klik op OK.',securityMsg:'Door de beveiligingsinstellingen van uw browser is het niet mogelijk om direct vanuit het klembord in de editor te plakken. Middels opnieuw plakken in dit venster kunt u de tekst alsnog plakken in de editor.',pasteArea:'Plakgebied'},pastefromword:{confirmCleanup:'De tekst die u plakte lijkt gekopieerd te zijn vanuit Word. Wilt u de tekst opschonen voordat deze geplakt wordt?',toolbar:'Plakken als Word-gegevens',title:'Plakken als Word-gegevens',error:'Het was niet mogelijk om de geplakte tekst op te schonen door een interne fout'},pasteText:{button:'Plakken als platte tekst',title:'Plakken als platte tekst'},templates:{button:'Sjablonen',title:'Inhoud sjablonen',options:'Template opties',insertOption:'Vervang de huidige inhoud',selectPromptMsg:'Selecteer het sjabloon dat in de editor geopend moet worden (de actuele inhoud gaat verloren):',emptyListMsg:'(Geen sjablonen gedefinieerd)'},showBlocks:'Toon blokken',stylesCombo:{label:'Stijl',panelTitle:'Opmaakstijlen',panelTitle1:'Blok stijlen',panelTitle2:'Inline stijlen',panelTitle3:'Object stijlen'},format:{label:'Opmaak',panelTitle:'Opmaak',tag_p:'Normaal',tag_pre:'Met opmaak',tag_address:'Adres',tag_h1:'Kop 1',tag_h2:'Kop 2',tag_h3:'Kop 3',tag_h4:'Kop 4',tag_h5:'Kop 5',tag_h6:'Kop 6',tag_div:'Normaal (DIV)'},div:{title:'Div aanmaken',toolbar:'Div aanmaken',cssClassInputLabel:'Stylesheet klassen',styleSelectLabel:'Stijl',IdInputLabel:'Id',languageCodeInputLabel:' Taalcode',inlineStyleInputLabel:'Inline stijl',advisoryTitleInputLabel:'Adviserende titel',langDirLabel:'Schrijfrichting',langDirLTRLabel:'Links naar rechts (LTR)',langDirRTLLabel:'Rechts naar links (RTL)',edit:'Div wijzigen',remove:'Div verwijderen'},iframe:{title:'IFrame eigenschappen',toolbar:'IFrame',noUrl:'Geef de IFrame URL in',scrolling:'Scrollbalken inschakelen',border:'Framerand tonen'},font:{label:'Lettertype',voiceLabel:'Lettertype',panelTitle:'Lettertype'},fontSize:{label:'Lettergrootte',voiceLabel:'Lettergrootte',panelTitle:'Lettergrootte'},colorButton:{textColorTitle:'Tekstkleur',bgColorTitle:'Achtergrondkleur',panelTitle:'Kleuren',auto:'Automatisch',more:'Meer kleuren...'},colors:{'000':'Zwart',800000:'Kastanjebruin','8B4513':'Chocoladebruin','2F4F4F':'Donkerleigrijs','008080':'Blauwgroen','000080':'Marine','4B0082':'Indigo',696969:'Donkergrijs',B22222:'Baksteen',A52A2A:'Bruin',DAA520:'Donkergeel','006400':'Donkergroen','40E0D0':'Turquoise','0000CD':'Middenblauw',800080:'Paars',808080:'Grijs',F00:'Rood',FF8C00:'Donkeroranje',FFD700:'Goud','008000':'Groen','0FF':'Cyaan','00F':'Blauw',EE82EE:'Violet',A9A9A9:'Donkergrijs',FFA07A:'Lichtzalm',FFA500:'Oranje',FFFF00:'Geel','00FF00':'Felgroen',AFEEEE:'Lichtturquoise',ADD8E6:'Lichtblauw',DDA0DD:'Pruim',D3D3D3:'Lichtgrijs',FFF0F5:'Linnen',FAEBD7:'Ivoor',FFFFE0:'Lichtgeel',F0FFF0:'Honingdauw',F0FFFF:'Azuur',F0F8FF:'Licht hemelsblauw',E6E6FA:'Lavendel',FFF:'Wit'},scayt:{title:'Controleer de spelling tijdens het typen',opera_title:'Niet ondersteund door Opera',enable:'SCAYT inschakelen',disable:'SCAYT uitschakelen',about:'Over SCAYT',toggle:'SCAYT in/uitschakelen',options:'Opties',langs:'Talen',moreSuggestions:'Meer suggesties',ignore:'Negeren',ignoreAll:'Alles negeren',addWord:'Woord toevoegen',emptyDic:'De naam van het woordenboek mag niet leeg zijn.',noSuggestions:'Geen suggesties',optionsTab:'Opties',allCaps:'Negeer woorden helemaal in hoofdletters',ignoreDomainNames:'Negeer domeinnamen',mixedCase:'Negeer woorden met hoofd- en kleine letters',mixedWithDigits:'Negeer woorden met cijfers',languagesTab:'Talen',dictionariesTab:'Woordenboeken',dic_field_name:'Naam woordenboek',dic_create:'Aanmaken',dic_restore:'Terugzetten',dic_delete:'Verwijderen',dic_rename:'Hernoemen',dic_info:'Initieel wordt het gebruikerswoordenboek opgeslagen in een cookie. Cookies zijn echter beperkt in grootte. Zodra het gebruikerswoordenboek het punt bereikt waarop het niet meer in een cookie opgeslagen kan worden, dan wordt het woordenboek op de server opgeslagen. Om je persoonlijke woordenboek op je eigen server op te slaan, moet je een mapnaam opgeven. Indien je al een woordenboek hebt opgeslagen, typ dan de naam en klik op de Terugzetten knop.',aboutTab:'Over'},about:{title:'Over CKEditor',dlgTitle:'Over CKEditor',help:'Bekijk de $1 voor hulp.',userGuide:'CKEditor gebruiksaanwijzing',moreInfo:'Voor licentie informatie, bezoek onze website:',copy:'Copyright &copy; $1. Alle rechten voorbehouden.'},maximize:'Maximaliseren',minimize:'Minimaliseren',fakeobjects:{anchor:'Interne link',flash:'Flash animatie',iframe:'IFrame',hiddenfield:'Verborgen veld',unknown:'Onbekend object'},resize:'Sleep om te herschalen',colordialog:{title:'Selecteer kleur',options:'Kleuropties',highlight:'Actief',selected:'Geselecteerde kleur',clear:'Wissen'},toolbarCollapse:'Werkbalk inklappen',toolbarExpand:'Werkbalk uitklappen',toolbarGroups:{document:'Document',clipboard:'Klembord/Ongedaan maken',editing:'Bewerken',forms:'Formulieren',basicstyles:'Basisstijlen',paragraph:'Paragraaf',links:'Links',insert:'Invoegen',styles:'Stijlen',colors:'Kleuren',tools:'Toepassingen'},bidi:{ltr:'Schrijfrichting van links naar rechts',rtl:'Schrijfrichting van rechts naar links'},docprops:{label:'Documenteigenschappen',title:'Documenteigenschappen',design:'Ontwerp',meta:'Meta tags',chooseColor:'Kies',other:'Anders...',docTitle:'Paginatitel',charset:'Tekencodering',charsetOther:'Andere tekencodering',charsetASCII:'ASCII',charsetCE:'Centraal Europees',charsetCT:'Traditioneel Chinees (Big5)',charsetCR:'Cyrillisch',charsetGR:'Grieks',charsetJP:'Japans',charsetKR:'Koreaans',charsetTR:'Turks',charsetUN:'Unicode (UTF-8)',charsetWE:'West Europees',docType:'Documenttype-definitie',docTypeOther:'Andere documenttype-definitie',xhtmlDec:'XHTML declaratie invoegen',bgColor:'Achtergrondkleur',bgImage:'Achtergrondafbeelding URL',bgFixed:'Niet-scrollend (gefixeerde) achtergrond',txtColor:'Tekstkleur',margin:'Pagina marges',marginTop:'Boven',marginLeft:'Links',marginRight:'Rechts',marginBottom:'Onder',metaKeywords:'Trefwoorden voor indexering (komma-gescheiden)',metaDescription:'Documentbeschrijving',metaAuthor:'Auteur',metaCopyright:'Auteursrechten',previewHtml:'<p>Dit is <strong>voorbeeld tekst</strong>. Je gebruikt <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/no.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/no.js
deleted file mode 100644
index a3fbf3c..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/no.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.no={dir:'ltr',editorTitle:'Rikteksteditor, %1',editorHelp:'Trykk ALT 0 for hjelp',toolbars:'Verktøylinjer for editor',editor:'Rikteksteditor',source:'Kilde',newPage:'Ny side',save:'Lagre',preview:'Forhåndsvis',cut:'Klipp ut',copy:'Kopier',paste:'Lim inn',print:'Skriv ut',underline:'Understreking',bold:'Fet',italic:'Kursiv',selectAll:'Merk alt',removeFormat:'Fjern formatering',strike:'Gjennomstreking',subscript:'Senket skrift',superscript:'Hevet skrift',horizontalrule:'Sett inn horisontal linje',pagebreak:'Sett inn sideskift for utskrift',pagebreakAlt:'Sideskift',unlink:'Fjern lenke',undo:'Angre',redo:'Gjør om',common:{browseServer:'Bla igjennom server',url:'URL',protocol:'Protokoll',upload:'Last opp',uploadSubmit:'Send det til serveren',image:'Bilde',flash:'Flash',form:'Skjema',checkbox:'Avmerkingsboks',radio:'Alternativknapp',textField:'Tekstboks',textarea:'Tekstområde',hiddenField:'Skjult felt',button:'Knapp',select:'Rullegardinliste',imageButton:'Bildeknapp',notSet:'<ikke satt>',id:'Id',name:'Navn',langDir:'Språkretning',langDirLtr:'Venstre til høyre (VTH)',langDirRtl:'Høyre til venstre (HTV)',langCode:'Språkkode',longDescr:'Utvidet beskrivelse',cssClass:'Stilarkklasser',advisoryTitle:'Tittel',cssStyle:'Stil',ok:'OK',cancel:'Avbryt',close:'Lukk',preview:'Forhåndsvis',generalTab:'Generelt',advancedTab:'Avansert',validateNumberFailed:'Denne verdien er ikke et tall.',confirmNewPage:'Alle ulagrede endringer som er gjort i dette innholdet vil bli tapt. Er du sikker på at du vil laste en ny side?',confirmCancel:'Noen av valgene har blitt endret. Er du sikker på at du vil lukke dialogen?',options:'Valg',target:'Mål',targetNew:'Nytt vindu (_blank)',targetTop:'Hele vindu (_top)',targetSelf:'Samme vindu (_self)',targetParent:'Foreldrevindu (_parent)',langDirLTR:'Venstre til høyre (VTH)',langDirRTL:'Høyre til venstre (HTV)',styles:'Stil',cssClasses:'Stilarkklasser',width:'Bredde',height:'Høyde',align:'Juster',alignLeft:'Venstre',alignRight:'Høyre',alignCenter:'Midtjuster',alignTop:'Topp',alignMiddle:'Midten',alignBottom:'Bunn',invalidValue:'Ugyldig verdi.',invalidHeight:'Høyde må være et tall.',invalidWidth:'Bredde må være et tall.',invalidCssLength:'Den angitte verdien for feltet "%1" må være et positivt tall med eller uten en gyldig CSS-målingsenhet (px, %, in, cm, mm, em, ex, pt, eller pc).',invalidHtmlLength:'Den angitte verdien for feltet "%1" må være et positivt tall med eller uten en gyldig HTML-målingsenhet (px eller %).',invalidInlineStyle:'Verdi angitt for inline stil må bestå av en eller flere sett med formatet "navn : verdi", separert med semikolon',cssLengthTooltip:'Skriv inn et tall for en piksel-verdi eller et tall med en gyldig CSS-enhet (px, %, in, cm, mm, em, ex, pt, eller pc).',unavailable:'%1<span class="cke_accessibility">, utilgjenglig</span>'},contextmenu:{options:'Alternativer for høyreklikkmeny'},specialChar:{toolbar:'Sett inn spesialtegn',title:'Velg spesialtegn',options:'Alternativer for spesialtegn'},link:{toolbar:'Sett inn/Rediger lenke',other:'<annen>',menu:'Rediger lenke',title:'Lenke',info:'Lenkeinfo',target:'Mål',upload:'Last opp',advanced:'Avansert',type:'Lenketype',toUrl:'URL',toAnchor:'Lenke til anker i teksten',toEmail:'E-post',targetFrame:'<ramme>',targetPopup:'<popup-vindu>',targetFrameName:'Målramme',targetPopupName:'Navn på popup-vindu',popupFeatures:'Egenskaper for popup-vindu',popupResizable:'Skalerbar',popupStatusBar:'Statuslinje',popupLocationBar:'Adresselinje',popupToolbar:'Verktøylinje',popupMenuBar:'Menylinje',popupFullScreen:'Fullskjerm (IE)',popupScrollBars:'Scrollbar',popupDependent:'Avhenging (Netscape)',popupLeft:'Venstre posisjon',popupTop:'Topp-posisjon',id:'Id',langDir:'Språkretning',langDirLTR:'Venstre til høyre (VTH)',langDirRTL:'Høyre til venstre (HTV)',acccessKey:'Aksessknapp',name:'Navn',langCode:'Språkkode',tabIndex:'Tabindeks',advisoryTitle:'Tittel',advisoryContentType:'Type',cssClasses:'Stilarkklasser',charset:'Lenket tegnsett',styles:'Stil',rel:'Relasjon (rel)',selectAnchor:'Velg et anker',anchorName:'Anker etter navn',anchorId:'Element etter ID',emailAddress:'E-postadresse',emailSubject:'Meldingsemne',emailBody:'Melding',noAnchors:'(Ingen anker i dokumentet)',noUrl:'Vennligst skriv inn lenkens URL',noEmail:'Vennligst skriv inn e-postadressen'},anchor:{toolbar:'Sett inn/Rediger anker',menu:'Egenskaper for anker',title:'Egenskaper for anker',name:'Ankernavn',errorName:'Vennligst skriv inn ankernavnet',remove:'Fjern anker'},list:{numberedTitle:'Egenskaper for nummerert liste',bulletedTitle:'Egenskaper for punktmerket liste',type:'Type',start:'Start',validateStartNumber:'Starten på listen må være et heltall.',circle:'Sirkel',disc:'Disk',square:'Firkant',none:'Ingen',notset:'<ikke satt>',armenian:'Armensk nummerering',georgian:'Georgisk nummerering (an, ban, gan, osv.)',lowerRoman:'Romertall, små (i, ii, iii, iv, v, osv.)',upperRoman:'Romertall, store (I, II, III, IV, V, osv.)',lowerAlpha:'Alfabetisk, små (a, b, c, d, e, osv.)',upperAlpha:'Alfabetisk, store (A, B, C, D, E, osv.)',lowerGreek:'Gresk, små (alpha, beta, gamma, osv.)',decimal:'Tall (1, 2, 3, osv.)',decimalLeadingZero:'Tall, med førstesiffer null (01, 02, 03, osv.)'},findAndReplace:{title:'Søk og erstatt',find:'Søk',replace:'Erstatt',findWhat:'Søk etter:',replaceWith:'Erstatt med:',notFoundMsg:'Fant ikke søketeksten.',findOptions:'Søkealternativer',matchCase:'Skill mellom store og små bokstaver',matchWord:'Bare hele ord',matchCyclic:'Søk i hele dokumentet',replaceAll:'Erstatt alle',replaceSuccessMsg:'%1 tilfelle(r) erstattet.'},table:{toolbar:'Tabell',title:'Egenskaper for tabell',menu:'Egenskaper for tabell',deleteTable:'Slett tabell',rows:'Rader',columns:'Kolonner',border:'Rammestørrelse',widthPx:'piksler',widthPc:'prosent',widthUnit:'Bredde-enhet',cellSpace:'Cellemarg',cellPad:'Cellepolstring',caption:'Tittel',summary:'Sammendrag',headers:'Overskrifter',headersNone:'Ingen',headersColumn:'Første kolonne',headersRow:'Første rad',headersBoth:'Begge',invalidRows:'Antall rader må være et tall større enn 0.',invalidCols:'Antall kolonner må være et tall større enn 0.',invalidBorder:'Rammestørrelse må være et tall.',invalidWidth:'Tabellbredde må være et tall.',invalidHeight:'Tabellhøyde må være et tall.',invalidCellSpacing:'Cellemarg må være et positivt tall.',invalidCellPadding:'Cellepolstring må være et positivt tall.',cell:{menu:'Celle',insertBefore:'Sett inn celle før',insertAfter:'Sett inn celle etter',deleteCell:'Slett celler',merge:'Slå sammen celler',mergeRight:'Slå sammen høyre',mergeDown:'Slå sammen ned',splitHorizontal:'Del celle horisontalt',splitVertical:'Del celle vertikalt',title:'Celleegenskaper',cellType:'Celletype',rowSpan:'Radspenn',colSpan:'Kolonnespenn',wordWrap:'Tekstbrytning',hAlign:'Horisontal justering',vAlign:'Vertikal justering',alignBaseline:'Grunnlinje',bgColor:'Bakgrunnsfarge',borderColor:'Rammefarge',data:'Data',header:'Overskrift',yes:'Ja',no:'Nei',invalidWidth:'Cellebredde må være et tall.',invalidHeight:'Cellehøyde må være et tall.',invalidRowSpan:'Radspenn må være et heltall.',invalidColSpan:'Kolonnespenn må være et heltall.',chooseColor:'Velg'},row:{menu:'Rader',insertBefore:'Sett inn rad før',insertAfter:'Sett inn rad etter',deleteRow:'Slett rader'},column:{menu:'Kolonne',insertBefore:'Sett inn kolonne før',insertAfter:'Sett inn kolonne etter',deleteColumn:'Slett kolonner'}},button:{title:'Egenskaper for knapp',text:'Tekst (verdi)',type:'Type',typeBtn:'Knapp',typeSbm:'Send',typeRst:'Nullstill'},checkboxAndRadio:{checkboxTitle:'Egenskaper for avmerkingsboks',radioTitle:'Egenskaper for alternativknapp',value:'Verdi',selected:'Valgt'},form:{title:'Egenskaper for skjema',menu:'Egenskaper for skjema',action:'Handling',method:'Metode',encoding:'Encoding'},select:{title:'Egenskaper for rullegardinliste',selectInfo:'Info',opAvail:'Tilgjenglige alternativer',value:'Verdi',size:'Størrelse',lines:'Linjer',chkMulti:'Tillat flervalg',opText:'Tekst',opValue:'Verdi',btnAdd:'Legg til',btnModify:'Endre',btnUp:'Opp',btnDown:'Ned',btnSetValue:'Sett som valgt',btnDelete:'Slett'},textarea:{title:'Egenskaper for tekstområde',cols:'Kolonner',rows:'Rader'},textfield:{title:'Egenskaper for tekstfelt',name:'Navn',value:'Verdi',charWidth:'Tegnbredde',maxChars:'Maks antall tegn',type:'Type',typeText:'Tekst',typePass:'Passord'},hidden:{title:'Egenskaper for skjult felt',name:'Navn',value:'Verdi'},image:{title:'Bildeegenskaper',titleButton:'Egenskaper for bildeknapp',menu:'Bildeegenskaper',infoTab:'Bildeinformasjon',btnUpload:'Send det til serveren',upload:'Last opp',alt:'Alternativ tekst',lockRatio:'Lås forhold',resetSize:'Tilbakestill størrelse',border:'Ramme',hSpace:'HMarg',vSpace:'VMarg',alertUrl:'Vennligst skriv bilde-urlen',linkTab:'Lenke',button2Img:'Vil du endre den valgte bildeknappen til et vanlig bilde?',img2Button:'Vil du endre det valgte bildet til en bildeknapp?',urlMissing:'Bildets adresse mangler.',validateBorder:'Ramme må være et heltall.',validateHSpace:'HMarg må være et heltall.',validateVSpace:'VMarg må være et heltall.'},flash:{properties:'Egenskaper for Flash-objekt',propertiesTab:'Egenskaper',title:'Flash-egenskaper',chkPlay:'Autospill',chkLoop:'Loop',chkMenu:'Slå på Flash-meny',chkFull:'Tillat fullskjerm',scale:'Skaler',scaleAll:'Vis alt',scaleNoBorder:'Ingen ramme',scaleFit:'Skaler til å passe',access:'Scripttilgang',accessAlways:'Alltid',accessSameDomain:'Samme domene',accessNever:'Aldri',alignAbsBottom:'Abs bunn',alignAbsMiddle:'Abs midten',alignBaseline:'Bunnlinje',alignTextTop:'Tekst topp',quality:'Kvalitet',qualityBest:'Best',qualityHigh:'Høy',qualityAutoHigh:'Auto høy',qualityMedium:'Medium',qualityAutoLow:'Auto lav',qualityLow:'Lav',windowModeWindow:'Vindu',windowModeOpaque:'Opaque',windowModeTransparent:'Gjennomsiktig',windowMode:'Vindumodus',flashvars:'Variabler for flash',bgcolor:'Bakgrunnsfarge',hSpace:'HMarg',vSpace:'VMarg',validateSrc:'Vennligst skriv inn lenkens url.',validateHSpace:'HMarg må være et tall.',validateVSpace:'VMarg må være et tall.'},spellCheck:{toolbar:'Stavekontroll',title:'Stavekontroll',notAvailable:'Beklager, tjenesten er utilgjenglig nå.',errorLoading:'Feil under lasting av applikasjonstjenestetjener: %s.',notInDic:'Ikke i ordboken',changeTo:'Endre til',btnIgnore:'Ignorer',btnIgnoreAll:'Ignorer alle',btnReplace:'Erstatt',btnReplaceAll:'Erstatt alle',btnUndo:'Angre',noSuggestions:'- Ingen forslag -',progress:'Stavekontroll pågår...',noMispell:'Stavekontroll fullført: ingen feilstavinger funnet',noChanges:'Stavekontroll fullført: ingen ord endret',oneChange:'Stavekontroll fullført: Ett ord endret',manyChanges:'Stavekontroll fullført: %1 ord endret',ieSpellDownload:'Stavekontroll er ikke installert. Vil du laste den ned nå?'},smiley:{toolbar:'Smil',title:'Sett inn smil',options:'Alternativer for smil'},elementsPath:{eleLabel:'Element-sti',eleTitle:'%1 element'},numberedlist:'Legg til/Fjern nummerert liste',bulletedlist:'Legg til/Fjern punktmerket liste',indent:'Øk innrykk',outdent:'Reduser innrykk',justify:{left:'Venstrejuster',center:'Midtstill',right:'Høyrejuster',block:'Blokkjuster'},blockquote:'Sitatblokk',clipboard:{title:'Lim inn',cutError:'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk utklipping av tekst. Vennligst bruk snarveien (Ctrl/Cmd+X).',copyError:'Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk snarveien (Ctrl/Cmd+C).',pasteMsg:'Vennligst lim inn i følgende boks med tastaturet (<STRONG>Ctrl/Cmd+V</STRONG>) og trykk <STRONG>OK</STRONG>.',securityMsg:'Din nettlesers sikkerhetsinstillinger gir ikke redigeringsverktøyet direkte tilgang til utklippstavlen. Du må derfor lime det inn på nytt i dette vinduet.',pasteArea:'Innlimingsområde'},pastefromword:{confirmCleanup:'Teksten du limer inn ser ut til å være kopiert fra Word. Vil du renske den før du limer den inn?',toolbar:'Lim inn fra Word',title:'Lim inn fra Word',error:'Det var ikke mulig å renske den innlimte teksten på grunn av en intern feil'},pasteText:{button:'Lim inn som ren tekst',title:'Lim inn som ren tekst'},templates:{button:'Maler',title:'Innholdsmaler',options:'Alternativer for mal',insertOption:'Erstatt gjeldende innhold',selectPromptMsg:'Velg malen du vil åpne i redigeringsverktøyet:',emptyListMsg:'(Ingen maler definert)'},showBlocks:'Vis blokker',stylesCombo:{label:'Stil',panelTitle:'Stilformater',panelTitle1:'Blokkstiler',panelTitle2:'Inlinestiler',panelTitle3:'Objektstiler'},format:{label:'Format',panelTitle:'Avsnittsformat',tag_p:'Normal',tag_pre:'Formatert',tag_address:'Adresse',tag_h1:'Overskrift 1',tag_h2:'Overskrift 2',tag_h3:'Overskrift 3',tag_h4:'Overskrift 4',tag_h5:'Overskrift 5',tag_h6:'Overskrift 6',tag_div:'Normal (DIV)'},div:{title:'Sett inn Div Container',toolbar:'Sett inn Div Container',cssClassInputLabel:'Stilark-klasser',styleSelectLabel:'Stil',IdInputLabel:'Id',languageCodeInputLabel:' Språkkode',inlineStyleInputLabel:'Inlinestiler',advisoryTitleInputLabel:'Tittel',langDirLabel:'Språkretning',langDirLTRLabel:'Venstre til høyre (VTH)',langDirRTLLabel:'Høyre til venstre (HTV)',edit:'Rediger Div',remove:'Fjern Div'},iframe:{title:'Egenskaper for IFrame',toolbar:'IFrame',noUrl:'Vennligst skriv inn URL for iframe',scrolling:'Aktiver scrollefelt',border:'Viss ramme rundt iframe'},font:{label:'Skrift',voiceLabel:'Font',panelTitle:'Skrift'},fontSize:{label:'Størrelse',voiceLabel:'Font Størrelse',panelTitle:'Størrelse'},colorButton:{textColorTitle:'Tekstfarge',bgColorTitle:'Bakgrunnsfarge',panelTitle:'Farger',auto:'Automatisk',more:'Flere farger...'},colors:{'000':'Svart',800000:'Rødbrun','8B4513':'Salbrun','2F4F4F':'Grønnsvart','008080':'Blågrønn','000080':'Marineblått','4B0082':'Indigo',696969:'Mørk grå',B22222:'Mørkerød',A52A2A:'Brun',DAA520:'Lys brun','006400':'Mørk grønn','40E0D0':'Turkis','0000CD':'Medium blå',800080:'Purpur',808080:'Grå',F00:'Rød',FF8C00:'Mørk oransje',FFD700:'Gull','008000':'Grønn','0FF':'Cyan','00F':'Blå',EE82EE:'Fiolett',A9A9A9:'Svak grå',FFA07A:'Rosa-oransje',FFA500:'Oransje',FFFF00:'Gul','00FF00':'Lime',AFEEEE:'Svak turkis',ADD8E6:'Lys Blå',DDA0DD:'Plomme',D3D3D3:'Lys grå',FFF0F5:'Svak lavendelrosa',FAEBD7:'Antikk-hvit',FFFFE0:'Lys gul',F0FFF0:'Honningmelon',F0FFFF:'Svakt asurblått',F0F8FF:'Svak cyan',E6E6FA:'Lavendel',FFF:'Hvit'},scayt:{title:'Stavekontroll mens du skriver',opera_title:'Ikke støttet av Opera',enable:'Slå på SCAYT',disable:'Slå av SCAYT',about:'Om SCAYT',toggle:'Veksle SCAYT',options:'Valg',langs:'Språk',moreSuggestions:'Flere forslag',ignore:'Ignorer',ignoreAll:'Ignorer Alle',addWord:'Legg til ord',emptyDic:'Ordboknavn bør ikke være tom.',noSuggestions:'Ingen forslag',optionsTab:'Valg',allCaps:'Ikke kontroller ord med kun store bokstaver',ignoreDomainNames:'Ikke kontroller domenenavn',mixedCase:'Ikke kontroller ord med blandet små og store bokstaver',mixedWithDigits:'Ikke kontroller ord som inneholder tall',languagesTab:'Språk',dictionariesTab:'Ordbøker',dic_field_name:'Ordboknavn',dic_create:'Opprett',dic_restore:'Gjenopprett',dic_delete:'Slett',dic_rename:'Gi nytt navn',dic_info:'Brukerordboken lagres først i en informasjonskapsel på din maskin, men det er en begrensning på hvor mye som kan lagres her. Når ordboken blir for stor til å lagres i en informasjonskapsel, vil vi i stedet lagre ordboken på vår server. For å lagre din personlige ordbok på vår server, burde du velge et navn for ordboken din. Hvis du allerede har lagret en ordbok, vennligst skriv inn ordbokens navn og klikk på Gjenopprett-knappen.',aboutTab:'Om'},about:{title:'Om CKEditor',dlgTitle:'Om CKEditor',help:'Se $1 for hjelp.',userGuide:'CKEditors brukerveiledning',moreInfo:'For lisensieringsinformasjon, vennligst besøk vårt nettsted:',copy:'Copyright &copy; $1. Alle rettigheter reservert.'},maximize:'Maksimer',minimize:'Minimer',fakeobjects:{anchor:'Anker',flash:'Flash-animasjon',iframe:'IFrame',hiddenfield:'Skjult felt',unknown:'Ukjent objekt'},resize:'Dra for å skalere',colordialog:{title:'Velg farge',options:'Alternativer for farge',highlight:'Merk',selected:'Valgt',clear:'Tøm'},toolbarCollapse:'Skjul verktøylinje',toolbarExpand:'Vis verktøylinje',toolbarGroups:{document:'Dokument',clipboard:'Utklippstavle/Angre',editing:'Redigering',forms:'Skjema',basicstyles:'Basisstiler',paragraph:'Avsnitt',links:'Lenker',insert:'Innsetting',styles:'Stiler',colors:'Farger',tools:'Verktøy'},bidi:{ltr:'Tekstretning fra venstre til høyre',rtl:'Tekstretning fra høyre til venstre'},docprops:{label:'Dokumentegenskaper',title:'Dokumentegenskaper',design:'Design',meta:'Meta-data',chooseColor:'Velg',other:'<annen>',docTitle:'Sidetittel',charset:'Tegnsett',charsetOther:'Annet tegnsett',charsetASCII:'ASCII',charsetCE:'Sentraleuropeisk',charsetCT:'Tradisonell kinesisk(Big5)',charsetCR:'Kyrillisk',charsetGR:'Gresk',charsetJP:'Japansk',charsetKR:'Koreansk',charsetTR:'Tyrkisk',charsetUN:'Unicode (UTF-8)',charsetWE:'Vesteuropeisk',docType:'Dokumenttype header',docTypeOther:'Annet dokumenttype header',xhtmlDec:'Inkluder XHTML-deklarasjon',bgColor:'Bakgrunnsfarge',bgImage:'URL for bakgrunnsbilde',bgFixed:'Lås bakgrunnsbilde',txtColor:'Tekstfarge',margin:'Sidemargin',marginTop:'Topp',marginLeft:'Venstre',marginRight:'Høyre',marginBottom:'Bunn',metaKeywords:'Dokument nøkkelord (kommaseparert)',metaDescription:'Dokumentbeskrivelse',metaAuthor:'Forfatter',metaCopyright:'Kopirett',previewHtml:'<p>Dette er en <strong>eksempeltekst</strong>. Du bruker <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/pl.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/pl.js
deleted file mode 100644
index 1effcfc..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/pl.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.pl={dir:'ltr',editorTitle:'Edytor tekstu sformatowanego, %1',editorHelp:'W celu uzyskania pomocy naciÅ›nij ALT 0',toolbars:'Paski narzÄ™dzi edytora',editor:'Edytor tekstu sformatowanego',source:'ŹródÅ‚o dokumentu',newPage:'Nowa strona',save:'Zapisz',preview:'PodglÄ…d',cut:'Wytnij',copy:'Kopiuj',paste:'Wklej',print:'Drukuj',underline:'PodkreÅ›lenie',bold:'Pogrubienie',italic:'Kursywa',selectAll:'Zaznacz wszystko',removeFormat:'UsuÅ„ formatowanie',strike:'PrzekreÅ›lenie',subscript:'Indeks dolny',superscript:'Indeks górny',horizontalrule:'Wstaw poziomÄ… liniÄ™',pagebreak:'Wstaw podziaÅ‚ strony',pagebreakAlt:'Wstaw podziaÅ‚ strony',unlink:'UsuÅ„ odnoÅ›nik',undo:'Cofnij',redo:'Ponów',common:{browseServer:'PrzeglÄ…daj',url:'Adres URL',protocol:'Protokół',upload:'WyÅ›lij',uploadSubmit:'WyÅ›lij',image:'Obrazek',flash:'Flash',form:'Formularz',checkbox:'Pole wyboru (checkbox)',radio:'Przycisk opcji (radio)',textField:'Pole tekstowe',textarea:'Obszar tekstowy',hiddenField:'Pole ukryte',button:'Przycisk',select:'Lista wyboru',imageButton:'Przycisk graficzny',notSet:'<nie ustawiono>',id:'Id',name:'Nazwa',langDir:'Kierunek tekstu',langDirLtr:'Od lewej do prawej (LTR)',langDirRtl:'Od prawej do lewej (RTL)',langCode:'Kod jÄ™zyka',longDescr:'Adres URL dÅ‚ugiego opisu',cssClass:'Nazwa klasy CSS',advisoryTitle:'Opis obiektu docelowego',cssStyle:'Styl',ok:'OK',cancel:'Anuluj',close:'Zamknij',preview:'PodglÄ…d',generalTab:'Ogólne',advancedTab:'Zaawansowane',validateNumberFailed:'Ta wartość nie jest liczbÄ….',confirmNewPage:'Wszystkie niezapisane zmiany zostanÄ… utracone. Czy na pewno wczytać nowÄ… stronÄ™?',confirmCancel:'Pewne opcje zostaÅ‚y zmienione. Czy na pewno zamknąć okno dialogowe?',options:'Opcje',target:'Obiekt docelowy',targetNew:'Nowe okno (_blank)',targetTop:'Okno najwyżej w hierarchii (_top)',targetSelf:'To samo okno (_self)',targetParent:'Okno nadrzÄ™dne (_parent)',langDirLTR:'Od lewej do prawej (LTR)',langDirRTL:'Od prawej do lewej (RTL)',styles:'Style',cssClasses:'Klasy arkusza stylów',width:'Szerokość',height:'Wysokość',align:'Wyrównaj',alignLeft:'Do lewej',alignRight:'Do prawej',alignCenter:'Do Å›rodka',alignTop:'Do góry',alignMiddle:'Do Å›rodka',alignBottom:'Do doÅ‚u',invalidValue:'Invalid value.',invalidHeight:'Wysokość musi być liczbÄ….',invalidWidth:'Szerokość musi być liczbÄ….',invalidCssLength:'Wartość podana dla pola "%1" musi być liczbÄ… dodatniÄ… bez jednostki lub z poprawnÄ… jednostkÄ… dÅ‚ugoÅ›ci zgodnÄ… z CSS (px, %, in, cm, mm, em, ex, pt lub pc).',invalidHtmlLength:'Wartość podana dla pola "%1" musi być liczbÄ… dodatniÄ… bez jednostki lub z poprawnÄ… jednostkÄ… dÅ‚ugoÅ›ci zgodnÄ… z HTML (px lub %).',invalidInlineStyle:'Wartość podana dla stylu musi skÅ‚adać siÄ™ z jednej lub wiÄ™kszej liczby krotek w formacie "nazwa : wartość", rozdzielonych Å›rednikami.',cssLengthTooltip:'Wpisz liczbÄ™ dla wartoÅ›ci w pikselach lub liczbÄ™ wraz z jednostkÄ… dÅ‚ugoÅ›ci zgodnÄ… z CSS (px, %, in, cm, mm, em, ex, pt lub pc).',unavailable:'%1<span class="cke_accessibility">, niedostÄ™pne</span>'},contextmenu:{options:'Opcje menu kontekstowego'},specialChar:{toolbar:'Wstaw znak specjalny',title:'Wybierz znak specjalny',options:'Opcje znaków specjalnych'},link:{toolbar:'Wstaw/edytuj odnoÅ›nik',other:'<inny>',menu:'Edytuj odnoÅ›nik',title:'OdnoÅ›nik',info:'Informacje ',target:'Obiekt docelowy',upload:'WyÅ›lij',advanced:'Zaawansowane',type:'Typ odnoÅ›nika',toUrl:'Adres URL',toAnchor:'OdnoÅ›nik wewnÄ…trz strony (kotwica)',toEmail:'Adres e-mail',targetFrame:'<ramka>',targetPopup:'<wyskakujÄ…ce okno>',targetFrameName:'Nazwa ramki docelowej',targetPopupName:'Nazwa wyskakujÄ…cego okna',popupFeatures:'WÅ‚aÅ›ciwoÅ›ci wyskakujÄ…cego okna',popupResizable:'Skalowalny',popupStatusBar:'Pasek statusu',popupLocationBar:'Pasek adresu',popupToolbar:'Pasek narzÄ™dzi',popupMenuBar:'Pasek menu',popupFullScreen:'PeÅ‚ny ekran (IE)',popupScrollBars:'Paski przewijania',popupDependent:'Okno zależne (Netscape)',popupLeft:'Pozycja w poziomie',popupTop:'Pozycja w pionie',id:'Id',langDir:'Kierunek tekstu',langDirLTR:'Od lewej do prawej (LTR)',langDirRTL:'Od prawej do lewej (RTL)',acccessKey:'Klawisz dostÄ™pu',name:'Nazwa',langCode:'Kod jÄ™zyka',tabIndex:'Indeks kolejnoÅ›ci',advisoryTitle:'Opis obiektu docelowego',advisoryContentType:'Typ MIME obiektu docelowego',cssClasses:'Nazwa klasy CSS',charset:'Kodowanie znaków obiektu docelowego',styles:'Styl',rel:'Relacja',selectAnchor:'Wybierz kotwicÄ™',anchorName:'Wg nazwy',anchorId:'Wg identyfikatora',emailAddress:'Adres e-mail',emailSubject:'Temat',emailBody:'Treść',noAnchors:'(W dokumencie nie zdefiniowano żadnych kotwic)',noUrl:'Podaj adres URL',noEmail:'Podaj adres e-mail'},anchor:{toolbar:'Wstaw/edytuj kotwicÄ™',menu:'WÅ‚aÅ›ciwoÅ›ci kotwicy',title:'WÅ‚aÅ›ciwoÅ›ci kotwicy',name:'Nazwa kotwicy',errorName:'Wpisz nazwÄ™ kotwicy',remove:'UsuÅ„ kotwicÄ™'},list:{numberedTitle:'WÅ‚aÅ›ciwoÅ›ci list numerowanych',bulletedTitle:'WÅ‚aÅ›ciwoÅ›ci list wypunktowanych',type:'Typ punktora',start:'PoczÄ…tek',validateStartNumber:'ListÄ™ musi rozpoczynać liczba caÅ‚kowita.',circle:'KoÅ‚o',disc:'OkrÄ…g',square:'Kwadrat',none:'Brak',notset:'<nie ustawiono>',armenian:'Numerowanie armeÅ„skie',georgian:'Numerowanie gruziÅ„skie (an, ban, gan itd.)',lowerRoman:'MaÅ‚e cyfry rzymskie (i, ii, iii, iv, v itd.)',upperRoman:'Duże cyfry rzymskie (I, II, III, IV, V itd.)',lowerAlpha:'MaÅ‚e litery (a, b, c, d, e itd.)',upperAlpha:'Duże litery (A, B, C, D, E itd.)',lowerGreek:'MaÅ‚e litery greckie (alpha, beta, gamma itd.)',decimal:'Liczby (1, 2, 3 itd.)',decimalLeadingZero:'Liczby z poczÄ…tkowym zerem (01, 02, 03 itd.)'},findAndReplace:{title:'Znajdź i zamieÅ„',find:'Znajdź',replace:'ZamieÅ„',findWhat:'Znajdź:',replaceWith:'ZastÄ…p przez:',notFoundMsg:'Nie znaleziono szukanego hasÅ‚a.',findOptions:'Opcje wyszukiwania',matchCase:'UwzglÄ™dnij wielkość liter',matchWord:'CaÅ‚e sÅ‚owa',matchCyclic:'Cykliczne dopasowanie',replaceAll:'ZamieÅ„ wszystko',replaceSuccessMsg:'%1 wystÄ…pieÅ„ zastÄ…pionych.'},table:{toolbar:'Tabela',title:'WÅ‚aÅ›ciwoÅ›ci tabeli',menu:'WÅ‚aÅ›ciwoÅ›ci tabeli',deleteTable:'UsuÅ„ tabelÄ™',rows:'Liczba wierszy',columns:'Liczba kolumn',border:'Grubość obramowania',widthPx:'piksele',widthPc:'%',widthUnit:'jednostka szerokoÅ›ci',cellSpace:'OdstÄ™p pomiÄ™dzy komórkami',cellPad:'DopeÅ‚nienie komórek',caption:'TytuÅ‚',summary:'Podsumowanie',headers:'Nagłówki',headersNone:'Brak',headersColumn:'Pierwsza kolumna',headersRow:'Pierwszy wiersz',headersBoth:'Oba',invalidRows:'Liczba wierszy musi być wiÄ™ksza niż 0.',invalidCols:'Liczba kolumn musi być wiÄ™ksza niż 0.',invalidBorder:'Wartość obramowania musi być liczbÄ….',invalidWidth:'Szerokość tabeli musi być liczbÄ….',invalidHeight:'Wysokość tabeli musi być liczbÄ….',invalidCellSpacing:'OdstÄ™p pomiÄ™dzy komórkami musi być liczbÄ… dodatniÄ….',invalidCellPadding:'DopeÅ‚nienie komórek musi być liczbÄ… dodatniÄ….',cell:{menu:'Komórka',insertBefore:'Wstaw komórkÄ™ z lewej',insertAfter:'Wstaw komórkÄ™ z prawej',deleteCell:'UsuÅ„ komórki',merge:'PoÅ‚Ä…cz komórki',mergeRight:'PoÅ‚Ä…cz z komórkÄ… z prawej',mergeDown:'PoÅ‚Ä…cz z komórkÄ… poniżej',splitHorizontal:'Podziel komórkÄ™ poziomo',splitVertical:'Podziel komórkÄ™ pionowo',title:'WÅ‚aÅ›ciwoÅ›ci komórki',cellType:'Typ komórki',rowSpan:'Scalenie wierszy',colSpan:'Scalenie komórek',wordWrap:'Zawijanie słów',hAlign:'Wyrównanie poziome',vAlign:'Wyrównanie pionowe',alignBaseline:'Linia bazowa',bgColor:'Kolor tÅ‚a',borderColor:'Kolor obramowania',data:'Dane',header:'Nagłówek',yes:'Tak',no:'Nie',invalidWidth:'Szerokość komórki musi być liczbÄ….',invalidHeight:'Wysokość komórki musi być liczbÄ….',invalidRowSpan:'Scalenie wierszy musi być liczbÄ… caÅ‚kowitÄ….',invalidColSpan:'Scalenie komórek musi być liczbÄ… caÅ‚kowitÄ….',chooseColor:'Wybierz'},row:{menu:'Wiersz',insertBefore:'Wstaw wiersz powyżej',insertAfter:'Wstaw wiersz poniżej',deleteRow:'UsuÅ„ wiersze'},column:{menu:'Kolumna',insertBefore:'Wstaw kolumnÄ™ z lewej',insertAfter:'Wstaw kolumnÄ™ z prawej',deleteColumn:'UsuÅ„ kolumny'}},button:{title:'WÅ‚aÅ›ciwoÅ›ci przycisku',text:'Tekst (Wartość)',type:'Typ',typeBtn:'Przycisk',typeSbm:'WyÅ›lij',typeRst:'Wyczyść'},checkboxAndRadio:{checkboxTitle:'WÅ‚aÅ›ciwoÅ›ci pola wyboru (checkbox)',radioTitle:'WÅ‚aÅ›ciwoÅ›ci przycisku opcji (radio)',value:'Wartość',selected:'Zaznaczone'},form:{title:'WÅ‚aÅ›ciwoÅ›ci formularza',menu:'WÅ‚aÅ›ciwoÅ›ci formularza',action:'Akcja',method:'Metoda',encoding:'Kodowanie'},select:{title:'WÅ‚aÅ›ciwoÅ›ci listy wyboru',selectInfo:'Informacje',opAvail:'DostÄ™pne opcje',value:'Wartość',size:'Rozmiar',lines:'wierszy',chkMulti:'Wielokrotny wybór',opText:'Tekst',opValue:'Wartość',btnAdd:'Dodaj',btnModify:'ZmieÅ„',btnUp:'Do góry',btnDown:'Do doÅ‚u',btnSetValue:'Ustaw jako zaznaczonÄ…',btnDelete:'UsuÅ„'},textarea:{title:'WÅ‚aÅ›ciwoÅ›ci obszaru tekstowego',cols:'Liczba kolumn',rows:'Liczba wierszy'},textfield:{title:'WÅ‚aÅ›ciwoÅ›ci pola tekstowego',name:'Nazwa',value:'Wartość',charWidth:'Szerokość w znakach',maxChars:'Szerokość maksymalna',type:'Typ',typeText:'Tekst',typePass:'HasÅ‚o'},hidden:{title:'WÅ‚aÅ›ciwoÅ›ci pola ukrytego',name:'Nazwa',value:'Wartość'},image:{title:'WÅ‚aÅ›ciwoÅ›ci obrazka',titleButton:'WÅ‚aÅ›ciwoÅ›ci przycisku graficznego',menu:'WÅ‚aÅ›ciwoÅ›ci obrazka',infoTab:'Informacje o obrazku',btnUpload:'WyÅ›lij',upload:'WyÅ›lij',alt:'Tekst zastÄ™pczy',lockRatio:'Zablokuj proporcje',resetSize:'Przywróć rozmiar',border:'Obramowanie',hSpace:'OdstÄ™p poziomy',vSpace:'OdstÄ™p pionowy',alertUrl:'Podaj adres obrazka.',linkTab:'HiperÅ‚Ä…cze',button2Img:'Czy chcesz przekonwertować zaznaczony przycisk graficzny do zwykÅ‚ego obrazka?',img2Button:'Czy chcesz przekonwertować zaznaczony obrazek do przycisku graficznego?',urlMissing:'Podaj adres URL obrazka.',validateBorder:'Wartość obramowania musi być liczbÄ… caÅ‚kowitÄ….',validateHSpace:'Wartość odstÄ™pu poziomego musi być liczbÄ… caÅ‚kowitÄ….',validateVSpace:'Wartość odstÄ™pu pionowego musi być liczbÄ… caÅ‚kowitÄ….'},flash:{properties:'WÅ‚aÅ›ciwoÅ›ci obiektu Flash',propertiesTab:'WÅ‚aÅ›ciwoÅ›ci',title:'WÅ‚aÅ›ciwoÅ›ci obiektu Flash',chkPlay:'Autoodtwarzanie',chkLoop:'PÄ™tla',chkMenu:'WÅ‚Ä…cz menu',chkFull:'Zezwól na peÅ‚ny ekran',scale:'Skaluj',scaleAll:'Pokaż wszystko',scaleNoBorder:'Bez obramowania',scaleFit:'DokÅ‚adne dopasowanie',access:'DostÄ™p skryptów',accessAlways:'Zawsze',accessSameDomain:'Ta sama domena',accessNever:'Nigdy',alignAbsBottom:'Do doÅ‚u',alignAbsMiddle:'Do Å›rodka w pionie',alignBaseline:'Do linii bazowej',alignTextTop:'Do góry tekstu',quality:'Jakość',qualityBest:'Najlepsza',qualityHigh:'Wysoka',qualityAutoHigh:'Auto wysoka',qualityMedium:'Åšrednia',qualityAutoLow:'Auto niska',qualityLow:'Niska',windowModeWindow:'Okno',windowModeOpaque:'Nieprzezroczyste',windowModeTransparent:'Przezroczyste',windowMode:'Tryb okna',flashvars:'Zmienne obiektu Flash',bgcolor:'Kolor tÅ‚a',hSpace:'OdstÄ™p poziomy',vSpace:'OdstÄ™p pionowy',validateSrc:'Podaj adres URL',validateHSpace:'OdstÄ™p poziomy musi być liczbÄ….',validateVSpace:'OdstÄ™p pionowy musi być liczbÄ….'},spellCheck:{toolbar:'Sprawdź pisowniÄ™',title:'Sprawdź pisowniÄ™',notAvailable:'Przepraszamy, ale usÅ‚uga jest obecnie niedostÄ™pna.',errorLoading:'BÅ‚Ä…d wczytywania hosta aplikacji usÅ‚ugi: %s.',notInDic:'SÅ‚owa nie ma w sÅ‚owniku',changeTo:'ZmieÅ„ na',btnIgnore:'Ignoruj',btnIgnoreAll:'Ignoruj wszystkie',btnReplace:'ZmieÅ„',btnReplaceAll:'ZmieÅ„ wszystkie',btnUndo:'Cofnij',noSuggestions:'- Brak sugestii -',progress:'Trwa sprawdzanie...',noMispell:'Sprawdzanie zakoÅ„czone: nie znaleziono bÅ‚Ä™dów',noChanges:'Sprawdzanie zakoÅ„czone: nie zmieniono żadnego sÅ‚owa',oneChange:'Sprawdzanie zakoÅ„czone: zmieniono jedno sÅ‚owo',manyChanges:'Sprawdzanie zakoÅ„czone: zmieniono %l słów',ieSpellDownload:'SÅ‚ownik nie jest zainstalowany. Czy chcesz go pobrać?'},smiley:{toolbar:'Emotikony',title:'Wstaw emotikona',options:'Opcje emotikonów'},elementsPath:{eleLabel:'Åšcieżka elementów',eleTitle:'element %1'},numberedlist:'Lista numerowana',bulletedlist:'Lista wypunktowana',indent:'ZwiÄ™ksz wciÄ™cie',outdent:'Zmniejsz wciÄ™cie',justify:{left:'Wyrównaj do lewej',center:'WyÅ›rodkuj',right:'Wyrównaj do prawej',block:'Wyjustuj'},blockquote:'Cytat',clipboard:{title:'Wklej',cutError:'Ustawienia bezpieczeÅ„stwa Twojej przeglÄ…darki nie pozwalajÄ… na automatyczne wycinanie tekstu. Użyj skrótu klawiszowego Ctrl/Cmd+X.',copyError:'Ustawienia bezpieczeÅ„stwa Twojej przeglÄ…darki nie pozwalajÄ… na automatyczne kopiowanie tekstu. Użyj skrótu klawiszowego Ctrl/Cmd+C.',pasteMsg:'Wklej tekst w poniższym polu, używajÄ…c skrótu klawiaturowego (<STRONG>Ctrl/Cmd+V</STRONG>), i kliknij <STRONG>OK</STRONG>.',securityMsg:'Zabezpieczenia przeglÄ…darki uniemożliwiajÄ… wklejenie danych bezpoÅ›rednio do edytora. ProszÄ™ ponownie wkleić dane w tym oknie.',pasteArea:'Obszar wklejania'},pastefromword:{confirmCleanup:'Tekst, który chcesz wkleić, prawdopodobnie pochodzi z programu Microsoft Word. Czy chcesz go wyczyÅ›cić przed wklejeniem?',toolbar:'Wklej z programu MS Word',title:'Wklej z programu MS Word',error:'Wyczyszczenie wklejonych danych nie byÅ‚o możliwe z powodu wystÄ…pienia bÅ‚Ä™du.'},pasteText:{button:'Wklej jako czysty tekst',title:'Wklej jako czysty tekst'},templates:{button:'Szablony',title:'Szablony zawartoÅ›ci',options:'Opcje szablonów',insertOption:'ZastÄ…p obecnÄ… zawartość',selectPromptMsg:'Wybierz szablon do otwarcia w edytorze<br>(obecna zawartość okna edytora zostanie utracona):',emptyListMsg:'(Brak zdefiniowanych szablonów)'},showBlocks:'Pokaż bloki',stylesCombo:{label:'Styl',panelTitle:'Style formatujÄ…ce',panelTitle1:'Style blokowe',panelTitle2:'Style liniowe',panelTitle3:'Style obiektowe'},format:{label:'Format',panelTitle:'Format',tag_p:'Normalny',tag_pre:'Tekst sformatowany',tag_address:'Adres',tag_h1:'Nagłówek 1',tag_h2:'Nagłówek 2',tag_h3:'Nagłówek 3',tag_h4:'Nagłówek 4',tag_h5:'Nagłówek 5',tag_h6:'Nagłówek 6',tag_div:'Normalny (DIV)'},div:{title:'Utwórz pojemnik Div',toolbar:'Utwórz pojemnik Div',cssClassInputLabel:'Klasy arkusza stylów',styleSelectLabel:'Styl',IdInputLabel:'Id',languageCodeInputLabel:'Kod jÄ™zyka',inlineStyleInputLabel:'Style liniowe',advisoryTitleInputLabel:'Opis obiektu docelowego',langDirLabel:'Kierunek tekstu',langDirLTRLabel:'Od lewej do prawej (LTR)',langDirRTLLabel:'Od prawej do lewej (RTL)',edit:'Edytuj pojemnik Div',remove:'UsuÅ„ pojemnik Div'},iframe:{title:'WÅ‚aÅ›ciwoÅ›ci elementu IFrame',toolbar:'IFrame',noUrl:'Podaj adres URL elementu IFrame',scrolling:'WÅ‚Ä…cz paski przewijania',border:'Pokaż obramowanie obiektu IFrame'},font:{label:'Czcionka',voiceLabel:'Czcionka',panelTitle:'Czcionka'},fontSize:{label:'Rozmiar',voiceLabel:'Rozmiar czcionki',panelTitle:'Rozmiar'},colorButton:{textColorTitle:'Kolor tekstu',bgColorTitle:'Kolor tÅ‚a',panelTitle:'Kolory',auto:'Automatycznie',more:'WiÄ™cej kolorów...'},colors:{'000':'Czarny',800000:'Kasztanowy','8B4513':'Czekoladowy','2F4F4F':'Ciemnografitowy','008080':'Morski','000080':'Granatowy','4B0082':'Indygo',696969:'Ciemnoszary',B22222:'CzerwieÅ„ żelazowa',A52A2A:'BrÄ…zowy',DAA520:'CiemnozÅ‚oty','006400':'Ciemnozielony','40E0D0':'Turkusowy','0000CD':'Ciemnoniebieski',800080:'Purpurowy',808080:'Szary',F00:'Czerwony',FF8C00:'CiemnopomaraÅ„czowy',FFD700:'ZÅ‚oty','008000':'Zielony','0FF':'Cyjan','00F':'Niebieski',EE82EE:'Fioletowy',A9A9A9:'Przygaszony szary',FFA07A:'Åososiowy',FFA500:'PomaraÅ„czowy',FFFF00:'Żółty','00FF00':'Limonkowy',AFEEEE:'Bladoturkusowy',ADD8E6:'Jasnoniebieski',DDA0DD:'Åšliwkowy',D3D3D3:'Jasnoszary',FFF0F5:'Jasnolawendowy',FAEBD7:'KremowobiaÅ‚y',FFFFE0:'Jasnożółty',F0FFF0:'Bladozielony',F0FFFF:'Jasnolazurowy',F0F8FF:'JasnobÅ‚Ä™kitny',E6E6FA:'Lawendowy',FFF:'BiaÅ‚y'},scayt:{title:'Sprawdź pisowniÄ™ podczas pisania (SCAYT)',opera_title:'Funkcja nie jest obsÅ‚ugiwana przez przeglÄ…darkÄ™ Opera',enable:'WÅ‚Ä…cz SCAYT',disable:'WyÅ‚Ä…cz SCAYT',about:'Informacje o SCAYT',toggle:'PrzeÅ‚Ä…cz SCAYT',options:'Opcje',langs:'JÄ™zyki',moreSuggestions:'WiÄ™cej sugestii',ignore:'Ignoruj',ignoreAll:'Ignoruj wszystkie',addWord:'Dodaj sÅ‚owo',emptyDic:'Nazwa sÅ‚ownika nie może być pusta.',noSuggestions:'Brak sugestii',optionsTab:'Opcje',allCaps:'Ignoruj wyrazy pisane dużymi literami',ignoreDomainNames:'Ignoruj nazwy domen',mixedCase:'Ignoruj wyrazy pisane dużymi i maÅ‚ymi literami',mixedWithDigits:'Ignoruj wyrazy zawierajÄ…ce cyfry',languagesTab:'JÄ™zyki',dictionariesTab:'SÅ‚owniki',dic_field_name:'Nazwa sÅ‚ownika',dic_create:'Utwórz',dic_restore:'Przywróć',dic_delete:'UsuÅ„',dic_rename:'ZmieÅ„ nazwÄ™',dic_info:'PoczÄ…tkowo sÅ‚ownik użytkownika przechowywany jest w cookie. Pliki cookie majÄ… jednak ograniczonÄ… pojemność. JeÅ›li sÅ‚ownik użytkownika przekroczy wielkość dopuszczalnÄ… dla pliku cookie, możliwe jest przechowanie go na naszym serwerze. W celu zapisania sÅ‚ownika na serwerze niezbÄ™dne jest nadanie mu nazwy. JeÅ›li sÅ‚ownik zostaÅ‚ już zapisany na serwerze, wystarczy podać jego nazwÄ™ i nacisnąć przycisk Przywróć.',aboutTab:'Informacje o SCAYT'},about:{title:'Informacje o programie CKEditor',dlgTitle:'Informacje o programie CKEditor',help:'Pomoc znajdziesz w $1.',userGuide:'podrÄ™czniku użytkownika programu CKEditor',moreInfo:'Informacje na temat licencji można znaleźć na naszej stronie:',copy:'Copyright &copy; $1. Wszelkie prawa zastrzeżone.'},maximize:'Maksymalizuj',minimize:'Minimalizuj',fakeobjects:{anchor:'Kotwica',flash:'Animacja Flash',iframe:'IFrame',hiddenfield:'Pole ukryte',unknown:'Nieznany obiekt'},resize:'PrzeciÄ…gnij, aby zmienić rozmiar',colordialog:{title:'Wybierz kolor',options:'Opcje koloru',highlight:'Zaznacz',selected:'Wybrany',clear:'Wyczyść'},toolbarCollapse:'ZwiÅ„ pasek narzÄ™dzi',toolbarExpand:'RozwiÅ„ pasek narzÄ™dzi',toolbarGroups:{document:'Dokument',clipboard:'Schowek/Wstecz',editing:'Edycja',forms:'Formularze',basicstyles:'Style podstawowe',paragraph:'Akapit',links:'HiperÅ‚Ä…cza',insert:'Wstawianie',styles:'Style',colors:'Kolory',tools:'NarzÄ™dzia'},bidi:{ltr:'Kierunek tekstu od lewej strony do prawej',rtl:'Kierunek tekstu od prawej strony do lewej'},docprops:{label:'WÅ‚aÅ›ciwoÅ›ci dokumentu',title:'WÅ‚aÅ›ciwoÅ›ci dokumentu',design:'Projekt strony',meta:'Znaczniki meta',chooseColor:'Wybierz',other:'Inne',docTitle:'TytuÅ‚ strony',charset:'Kodowanie znaków',charsetOther:'Inne kodowanie znaków',charsetASCII:'ASCII',charsetCE:'Åšrodkowoeuropejskie',charsetCT:'ChiÅ„skie tradycyjne (Big5)',charsetCR:'Cyrylica',charsetGR:'Greckie',charsetJP:'JapoÅ„skie',charsetKR:'KoreaÅ„skie',charsetTR:'Tureckie',charsetUN:'Unicode (UTF-8)',charsetWE:'Zachodnioeuropejskie',docType:'Definicja typu dokumentu',docTypeOther:'Inna definicja typu dokumentu',xhtmlDec:'UwzglÄ™dnij deklaracje XHTML',bgColor:'Kolor tÅ‚a',bgImage:'Adres URL obrazka tÅ‚a',bgFixed:'TÅ‚o nieruchome (nieprzewijajÄ…ce siÄ™)',txtColor:'Kolor tekstu',margin:'Marginesy strony',marginTop:'Górny',marginLeft:'Lewy',marginRight:'Prawy',marginBottom:'Dolny',metaKeywords:'SÅ‚owa kluczowe dokumentu (oddzielone przecinkami)',metaDescription:'Opis dokumentu',metaAuthor:'Autor',metaCopyright:'Prawa autorskie',previewHtml:'<p>To jest <strong>przykÅ‚adowy tekst</strong>. Korzystasz z programu <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/pt-br.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/pt-br.js
deleted file mode 100644
index 9a8244e..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/pt-br.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang['pt-br']={dir:'ltr',editorTitle:'Editor de texto rico, %1',editorHelp:'Pressione ALT+0 para ajuda',toolbars:'Barra de Ferramentas do Editor',editor:'Editor de Texto',source:'Código-Fonte',newPage:'Novo',save:'Salvar',preview:'Visualizar',cut:'Recortar',copy:'Copiar',paste:'Colar',print:'Imprimir',underline:'Sublinhado',bold:'Negrito',italic:'Itálico',selectAll:'Selecionar Tudo',removeFormat:'Remover Formatação',strike:'Tachado',subscript:'Subscrito',superscript:'Sobrescrito',horizontalrule:'Inserir Linha Horizontal',pagebreak:'Inserir Quebra de Página',pagebreakAlt:'Quebra de Página',unlink:'Remover Link',undo:'Desfazer',redo:'Refazer',common:{browseServer:'Localizar no Servidor',url:'URL',protocol:'Protocolo',upload:'Enviar ao Servidor',uploadSubmit:'Enviar para o Servidor',image:'Imagem',flash:'Flash',form:'Formulário',checkbox:'Caixa de Seleção',radio:'Botão de Opção',textField:'Caixa de Texto',textarea:'Ãrea de Texto',hiddenField:'Campo Oculto',button:'Botão',select:'Caixa de Listagem',imageButton:'Botão de Imagem',notSet:'<não ajustado>',id:'Id',name:'Nome',langDir:'Direção do idioma',langDirLtr:'Esquerda para Direita (LTR)',langDirRtl:'Direita para Esquerda (RTL)',langCode:'Idioma',longDescr:'Descrição da URL',cssClass:'Classe de CSS',advisoryTitle:'Título',cssStyle:'Estilos',ok:'OK',cancel:'Cancelar',close:'Fechar',preview:'Visualizar',generalTab:'Geral',advancedTab:'Avançado',validateNumberFailed:'Este valor não é um número.',confirmNewPage:'Todas as mudanças não salvas serão perdidas. Tem certeza de que quer abrir uma nova página?',confirmCancel:'Algumas opções foram alteradas. Tem certeza de que quer fechar a caixa de diálogo?',options:'Opções',target:'Destino',targetNew:'Nova Janela (_blank)',targetTop:'Janela de Cima (_top)',targetSelf:'Mesma Janela (_self)',targetParent:'Janela Pai (_parent)',langDirLTR:'Esquerda para Direita (LTR)',langDirRTL:'Direita para Esquerda (RTL)',styles:'Estilo',cssClasses:'Classes',width:'Largura',height:'Altura',align:'Alinhamento',alignLeft:'Esquerda',alignRight:'Direita',alignCenter:'Centralizado',alignTop:'Superior',alignMiddle:'Centralizado',alignBottom:'Inferior',invalidValue:'Valor inválido.',invalidHeight:'A altura tem que ser um número',invalidWidth:'A largura tem que ser um número.',invalidCssLength:'O valor do campo "%1" deve ser um número positivo opcionalmente seguido por uma válida unidade de medida de CSS (px, %, in, cm, mm, em, ex, pt, or pc).',invalidHtmlLength:'O valor do campo "%1" deve ser um número positivo opcionalmente seguido por uma válida unidade de medida de HTML (px or %).',invalidInlineStyle:'O valor válido para estilo deve conter uma ou mais tuplas no formato "nome : valor", separados por ponto e vírgula.',cssLengthTooltip:'Insira um número para valor em pixels ou um número seguido de uma válida unidade de medida de CSS (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, indisponível</span>'},contextmenu:{options:'Opções Menu de Contexto'},specialChar:{toolbar:'Inserir Caractere Especial',title:'Selecione um Caractere Especial',options:'Opções de Caractere Especial'},link:{toolbar:'Inserir/Editar Link',other:'<outro>',menu:'Editar Link',title:'Editar Link',info:'Informações',target:'Destino',upload:'Enviar ao Servidor',advanced:'Avançado',type:'Tipo de hiperlink',toUrl:'URL',toAnchor:'Âncora nesta página',toEmail:'E-Mail',targetFrame:'<frame>',targetPopup:'<janela popup>',targetFrameName:'Nome do Frame de Destino',targetPopupName:'Nome da Janela Pop-up',popupFeatures:'Propriedades da Janela Pop-up',popupResizable:'Redimensionável',popupStatusBar:'Barra de Status',popupLocationBar:'Barra de Endereços',popupToolbar:'Barra de Ferramentas',popupMenuBar:'Barra de Menus',popupFullScreen:'Modo Tela Cheia (IE)',popupScrollBars:'Barras de Rolagem',popupDependent:'Dependente (Netscape)',popupLeft:'Esquerda',popupTop:'Topo',id:'Id',langDir:'Direção do idioma',langDirLTR:'Esquerda para Direita (LTR)',langDirRTL:'Direita para Esquerda (RTL)',acccessKey:'Chave de Acesso',name:'Nome',langCode:'Direção do idioma',tabIndex:'Ãndice de Tabulação',advisoryTitle:'Título',advisoryContentType:'Tipo de Conteúdo',cssClasses:'Classe de CSS',charset:'Charset do Link',styles:'Estilos',rel:'Tipo de Relação',selectAnchor:'Selecione uma âncora',anchorName:'Nome da âncora',anchorId:'Id da âncora',emailAddress:'Endereço E-Mail',emailSubject:'Assunto da Mensagem',emailBody:'Corpo da Mensagem',noAnchors:'(Não há âncoras no documento)',noUrl:'Por favor, digite o endereço do Link',noEmail:'Por favor, digite o endereço de e-mail'},anchor:{toolbar:'Inserir/Editar Âncora',menu:'Formatar Âncora',title:'Formatar Âncora',name:'Nome da Âncora',errorName:'Por favor, digite o nome da âncora',remove:'Remover Âncora'},list:{numberedTitle:'Propriedades da Lista Numerada',bulletedTitle:'Propriedades da Lista sem Numeros',type:'Tipo',start:'Início',validateStartNumber:'O número inicial da lista deve ser um número inteiro.',circle:'Círculo',disc:'Disco',square:'Quadrado',none:'Nenhum',notset:'<não definido>',armenian:'Numeração Armêna',georgian:'Numeração da Geórgia (an, ban, gan, etc.)',lowerRoman:'Numeração Romana minúscula (i, ii, iii, iv, v, etc.)',upperRoman:'Numeração Romana maiúscula (I, II, III, IV, V, etc.)',lowerAlpha:'Numeração Alfabética minúscula (a, b, c, d, e, etc.)',upperAlpha:'Numeração Alfabética Maiúscula (A, B, C, D, E, etc.)',lowerGreek:'Numeração Grega minúscula (alpha, beta, gamma, etc.)',decimal:'Numeração Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Numeração Decimal com zeros (01, 02, 03, etc.)'},findAndReplace:{title:'Localizar e Substituir',find:'Localizar',replace:'Substituir',findWhat:'Procurar por:',replaceWith:'Substituir por:',notFoundMsg:'O texto especificado não foi encontrado.',findOptions:'Opções',matchCase:'Coincidir Maiúsculas/Minúsculas',matchWord:'Coincidir a palavra inteira',matchCyclic:'Coincidir cíclico',replaceAll:'Substituir Tudo',replaceSuccessMsg:'%1 ocorrência(s) substituída(s).'},table:{toolbar:'Tabela',title:'Formatar Tabela',menu:'Formatar Tabela',deleteTable:'Apagar Tabela',rows:'Linhas',columns:'Colunas',border:'Borda',widthPx:'pixels',widthPc:'%',widthUnit:'unidade largura',cellSpace:'Espaçamento',cellPad:'Margem interna',caption:'Legenda',summary:'Resumo',headers:'Cabeçalho',headersNone:'Nenhum',headersColumn:'Primeira coluna',headersRow:'Primeira linha',headersBoth:'Ambos',invalidRows:'O número de linhas tem que ser um número maior que 0.',invalidCols:'O número de colunas tem que ser um número maior que 0.',invalidBorder:'O tamanho da borda tem que ser um número.',invalidWidth:'A largura da tabela tem que ser um número.',invalidHeight:'A altura da tabela tem que ser um número.',invalidCellSpacing:'O espaçamento das células tem que ser um número.',invalidCellPadding:'A margem interna das células tem que ser um número.',cell:{menu:'Célula',insertBefore:'Inserir célula a esquerda',insertAfter:'Inserir célula a direita',deleteCell:'Remover Células',merge:'Mesclar Células',mergeRight:'Mesclar com célula a direita',mergeDown:'Mesclar com célula abaixo',splitHorizontal:'Dividir célula horizontalmente',splitVertical:'Dividir célula verticalmente',title:'Propriedades da célula',cellType:'Tipo de célula',rowSpan:'Linhas cobertas',colSpan:'Colunas cobertas',wordWrap:'Quebra de palavra',hAlign:'Alinhamento horizontal',vAlign:'Alinhamento vertical',alignBaseline:'Patamar de alinhamento',bgColor:'Cor de fundo',borderColor:'Cor das bordas',data:'Dados',header:'Cabeçalho',yes:'Sim',no:'Não',invalidWidth:'A largura da célula tem que ser um número.',invalidHeight:'A altura da célula tem que ser um número.',invalidRowSpan:'Linhas cobertas tem que ser um número inteiro.',invalidColSpan:'Colunas cobertas tem que ser um número inteiro.',chooseColor:'Escolher'},row:{menu:'Linha',insertBefore:'Inserir linha acima',insertAfter:'Inserir linha abaixo',deleteRow:'Remover Linhas'},column:{menu:'Coluna',insertBefore:'Inserir coluna a esquerda',insertAfter:'Inserir coluna a direita',deleteColumn:'Remover Colunas'}},button:{title:'Formatar Botão',text:'Texto (Valor)',type:'Tipo',typeBtn:'Botão',typeSbm:'Enviar',typeRst:'Limpar'},checkboxAndRadio:{checkboxTitle:'Formatar Caixa de Seleção',radioTitle:'Formatar Botão de Opção',value:'Valor',selected:'Selecionado'},form:{title:'Formatar Formulário',menu:'Formatar Formulário',action:'Ação',method:'Método',encoding:'Codificação'},select:{title:'Formatar Caixa de Listagem',selectInfo:'Informações',opAvail:'Opções disponíveis',value:'Valor',size:'Tamanho',lines:'linhas',chkMulti:'Permitir múltiplas seleções',opText:'Texto',opValue:'Valor',btnAdd:'Adicionar',btnModify:'Modificar',btnUp:'Para cima',btnDown:'Para baixo',btnSetValue:'Definir como selecionado',btnDelete:'Remover'},textarea:{title:'Formatar Ãrea de Texto',cols:'Colunas',rows:'Linhas'},textfield:{title:'Formatar Caixa de Texto',name:'Nome',value:'Valor',charWidth:'Comprimento (em caracteres)',maxChars:'Número Máximo de Caracteres',type:'Tipo',typeText:'Texto',typePass:'Senha'},hidden:{title:'Formatar Campo Oculto',name:'Nome',value:'Valor'},image:{title:'Formatar Imagem',titleButton:'Formatar Botão de Imagem',menu:'Formatar Imagem',infoTab:'Informações da Imagem',btnUpload:'Enviar para o Servidor',upload:'Enviar',alt:'Texto Alternativo',lockRatio:'Travar Proporções',resetSize:'Redefinir para o Tamanho Original',border:'Borda',hSpace:'HSpace',vSpace:'VSpace',alertUrl:'Por favor, digite a URL da imagem.',linkTab:'Link',button2Img:'Deseja transformar o botão de imagem em uma imagem comum?',img2Button:'Deseja transformar a imagem em um botão de imagem?',urlMissing:'URL da imagem está faltando.',validateBorder:'A borda deve ser um número inteiro.',validateHSpace:'O HSpace deve ser um número inteiro.',validateVSpace:'O VSpace deve ser um número inteiro.'},flash:{properties:'Propriedades do Flash',propertiesTab:'Propriedades',title:'Propriedades do Flash',chkPlay:'Tocar Automaticamente',chkLoop:'Tocar Infinitamente',chkMenu:'Habilita Menu Flash',chkFull:'Permitir tela cheia',scale:'Escala',scaleAll:'Mostrar tudo',scaleNoBorder:'Sem Borda',scaleFit:'Escala Exata',access:'Acesso ao script',accessAlways:'Sempre',accessSameDomain:'Acessar Mesmo Domínio',accessNever:'Nunca',alignAbsBottom:'Inferior Absoluto',alignAbsMiddle:'Centralizado Absoluto',alignBaseline:'Baseline',alignTextTop:'Superior Absoluto',quality:'Qualidade',qualityBest:'Qualidade Melhor',qualityHigh:'Qualidade Alta',qualityAutoHigh:'Qualidade Alta Automática',qualityMedium:'Qualidade Média',qualityAutoLow:'Qualidade Baixa Automática',qualityLow:'Qualidade Baixa',windowModeWindow:'Janela',windowModeOpaque:'Opaca',windowModeTransparent:'Transparente',windowMode:'Modo da janela',flashvars:'Variáveis do Flash',bgcolor:'Cor do Plano de Fundo',hSpace:'HSpace',vSpace:'VSpace',validateSrc:'Por favor, digite o endereço do link',validateHSpace:'O HSpace tem que ser um número',validateVSpace:'O VSpace tem que ser um número.'},spellCheck:{toolbar:'Verificar Ortografia',title:'Corretor Ortográfico',notAvailable:'Desculpe, o serviço não está disponível no momento.',errorLoading:'Erro carregando servidor de aplicação: %s.',notInDic:'Não encontrada',changeTo:'Alterar para',btnIgnore:'Ignorar uma vez',btnIgnoreAll:'Ignorar Todas',btnReplace:'Alterar',btnReplaceAll:'Alterar Todas',btnUndo:'Desfazer',noSuggestions:'-sem sugestões de ortografia-',progress:'Verificação ortográfica em andamento...',noMispell:'Verificação encerrada: Não foram encontrados erros de ortografia',noChanges:'Verificação ortográfica encerrada: Não houve alterações',oneChange:'Verificação ortográfica encerrada: Uma palavra foi alterada',manyChanges:'Verificação ortográfica encerrada: %1 palavras foram alteradas',ieSpellDownload:'A verificação ortográfica não foi instalada. Você gostaria de realizar o download agora?'},smiley:{toolbar:'Emoticon',title:'Inserir Emoticon',options:'Opções de Emoticons'},elementsPath:{eleLabel:'Caminho dos Elementos',eleTitle:'Elemento %1'},numberedlist:'Lista numerada',bulletedlist:'Lista sem números',indent:'Aumentar Recuo',outdent:'Diminuir Recuo',justify:{left:'Alinhar Esquerda',center:'Centralizar',right:'Alinhar Direita',block:'Justificado'},blockquote:'Citação',clipboard:{title:'Colar',cutError:'As configurações de segurança do seu navegador não permitem que o editor execute operações de recortar automaticamente. Por favor, utilize o teclado para recortar (Ctrl/Cmd+X).',copyError:'As configurações de segurança do seu navegador não permitem que o editor execute operações de copiar automaticamente. Por favor, utilize o teclado para copiar (Ctrl/Cmd+C).',pasteMsg:'Transfira o link usado na caixa usando o teclado com (<STRONG>Ctrl/Cmd+V</STRONG>) e <STRONG>OK</STRONG>.',securityMsg:'As configurações de segurança do seu navegador não permitem que o editor acesse os dados da área de transferência diretamente. Por favor cole o conteúdo manualmente nesta janela.',pasteArea:'Ãrea para Colar'},pastefromword:{confirmCleanup:'O texto que você deseja colar parece ter sido copiado do Word. Você gostaria de remover a formatação antes de colar?',toolbar:'Colar do Word',title:'Colar do Word',error:'Não foi possível limpar os dados colados devido a um erro interno'},pasteText:{button:'Colar como Texto sem Formatação',title:'Colar como Texto sem Formatação'},templates:{button:'Modelos de layout',title:'Modelo de layout de conteúdo',options:'Opções de Template',insertOption:'Substituir o conteúdo atual',selectPromptMsg:'Selecione um modelo de layout para ser aberto no editor<br>(o conteúdo atual será perdido):',emptyListMsg:'(Não foram definidos modelos de layout)'},showBlocks:'Mostrar blocos de código',stylesCombo:{label:'Estilo',panelTitle:'Estilos de Formatação',panelTitle1:'Estilos de bloco',panelTitle2:'Estilos de texto corrido',panelTitle3:'Estilos de objeto'},format:{label:'Formatação',panelTitle:'Formatação',tag_p:'Normal',tag_pre:'Formatado',tag_address:'Endereço',tag_h1:'Título 1',tag_h2:'Título 2',tag_h3:'Título 3',tag_h4:'Título 4',tag_h5:'Título 5',tag_h6:'Título 6',tag_div:'Normal (DIV)'},div:{title:'Criar Container de DIV',toolbar:'Criar Container de DIV',cssClassInputLabel:'Classes de CSS',styleSelectLabel:'Estilo',IdInputLabel:'Id',languageCodeInputLabel:'Código de Idioma',inlineStyleInputLabel:'Estilo Inline',advisoryTitleInputLabel:'Título Consulta',langDirLabel:'Direção da Escrita',langDirLTRLabel:'Esquerda para Direita (LTR)',langDirRTLLabel:'Direita para Esquerda (RTL)',edit:'Editar Div',remove:'Remover Div'},iframe:{title:'Propriedade do IFrame',toolbar:'IFrame',noUrl:'Insira a URL do iframe',scrolling:'Abilita scrollbars',border:'Mostra borda do iframe'},font:{label:'Fonte',voiceLabel:'Fonte',panelTitle:'Fonte'},fontSize:{label:'Tamanho',voiceLabel:'Tamanho da fonte',panelTitle:'Tamanho'},colorButton:{textColorTitle:'Cor do Texto',bgColorTitle:'Cor do Plano de Fundo',panelTitle:'Cores',auto:'Automático',more:'Mais Cores...'},colors:{'000':'Preto',800000:'Foquete','8B4513':'Marrom 1','2F4F4F':'Cinza 1','008080':'Cerceta','000080':'Azul Marinho','4B0082':'Ãndigo',696969:'Cinza 2',B22222:'Tijolo de Fogo',A52A2A:'Marrom 2',DAA520:'Vara Dourada','006400':'Verde Escuro','40E0D0':'Turquesa','0000CD':'Azul Médio',800080:'Roxo',808080:'Cinza 3',F00:'Vermelho',FF8C00:'Laranja Escuro',FFD700:'Dourado','008000':'Verde','0FF':'Ciano','00F':'Azul',EE82EE:'Violeta',A9A9A9:'Cinza Escuro',FFA07A:'Salmão Claro',FFA500:'Laranja',FFFF00:'Amarelo','00FF00':'Lima',AFEEEE:'Turquesa Pálido',ADD8E6:'Azul Claro',DDA0DD:'Ameixa',D3D3D3:'Cinza Claro',FFF0F5:'Lavanda 1',FAEBD7:'Branco Antiguidade',FFFFE0:'Amarelo Claro',F0FFF0:'Orvalho',F0FFFF:'Azure',F0F8FF:'Azul Alice',E6E6FA:'Lavanda 2',FFF:'Branco'},scayt:{title:'Correção ortográfica durante a digitação',opera_title:'Não suportado no Opera',enable:'Habilitar correção ortográfica durante a digitação',disable:'Desabilitar correção ortográfica durante a digitação',about:'Sobre a correção ortográfica durante a digitação',toggle:'Ativar/desativar correção ortográfica durante a digitação',options:'Opções',langs:'Idiomas',moreSuggestions:'Mais sugestões',ignore:'Ignorar',ignoreAll:'Ignorar todas',addWord:'Adicionar palavra',emptyDic:'O nome do dicionário não deveria estar vazio.',noSuggestions:'sem sugestões de ortografia',optionsTab:'Opções',allCaps:'Ignorar palavras maiúsculas',ignoreDomainNames:'Ignorar nomes de domínio',mixedCase:'Ignorar palavras com maiúsculas e minúsculas misturadas',mixedWithDigits:'Ignorar palavras com números',languagesTab:'Idiomas',dictionariesTab:'Dicionários',dic_field_name:'Nome do Dicionário',dic_create:'Criar',dic_restore:'Restaurar',dic_delete:'Excluir',dic_rename:'Renomear',dic_info:'Inicialmente, o dicionário do usuário fica armazenado em um Cookie. Porém, Cookies tem tamanho limitado, portanto quand o dicionário do usuário atingir o tamanho limite poderá ser armazenado no nosso servidor. Para armazenar seu dicionário pessoal no nosso servidor deverá especificar um nome para ele. Se já tiver um dicionário armazenado por favor especifique o seu nome e clique em Restaurar.',aboutTab:'Sobre'},about:{title:'Sobre o CKEditor',dlgTitle:'Sobre o CKEditor',help:'Verifique o $1 para obter ajuda.',userGuide:'Guia do Usuário do CKEditor',moreInfo:'Para informações sobre a licença por favor visite o nosso site:',copy:'Copyright &copy; $1. Todos os direitos reservados.'},maximize:'Maximizar',minimize:'Minimize',fakeobjects:{anchor:'Âncora',flash:'Animação em Flash',iframe:'IFrame',hiddenfield:'Campo Oculto',unknown:'Objeto desconhecido'},resize:'Arraste para redimensionar',colordialog:{title:'Selecione uma Cor',options:'Opções de Cor',highlight:'Grifar',selected:'Cor Selecionada',clear:'Limpar'},toolbarCollapse:'Diminuir Barra de Ferramentas',toolbarExpand:'Aumentar Barra de Ferramentas',toolbarGroups:{document:'Documento',clipboard:'Clipboard/Desfazer',editing:'Edição',forms:'Formulários',basicstyles:'Estilos Básicos',paragraph:'Paragrafo',links:'Links',insert:'Inserir',styles:'Estilos',colors:'Cores',tools:'Ferramentas'},bidi:{ltr:'Direção do texto da esquerda para a direita',rtl:'Direção do texto da direita para a esquerda'},docprops:{label:'Propriedades Documento',title:'Propriedades Documento',design:'Design',meta:'Meta Dados',chooseColor:'Escolher',other:'<outro>',docTitle:'Título da Página',charset:'Codificação de Caracteres',charsetOther:'Outra Codificação de Caracteres',charsetASCII:'ASCII',charsetCE:'Europa Central',charsetCT:'Chinês Tradicional (Big5)',charsetCR:'Cirílico',charsetGR:'Grego',charsetJP:'Japonês',charsetKR:'Coreano',charsetTR:'Turco',charsetUN:'Unicode (UTF-8)',charsetWE:'Europa Ocidental',docType:'Cabeçalho Tipo de Documento',docTypeOther:'Outro Tipo de Documento',xhtmlDec:'Incluir Declarações XHTML',bgColor:'Cor do Plano de Fundo',bgImage:'URL da Imagem de Plano de Fundo',bgFixed:'Plano de Fundo Fixo',txtColor:'Cor do Texto',margin:'Margens da Página',marginTop:'Superior',marginLeft:'Inferior',marginRight:'Direita',marginBottom:'Inferior',metaKeywords:'Palavras-chave de Indexação do Documento (separadas por vírgula)',metaDescription:'Descrição do Documento',metaAuthor:'Autor',metaCopyright:'Direitos Autorais',previewHtml:'<p>Este é um <strong>texto de exemplo</strong>. Você está usando <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/pt.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/pt.js
deleted file mode 100644
index 8d63b8e..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/pt.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.pt={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'Editor de barras de ferramentas',editor:'Editor de texto enriquecido',source:'Fonte',newPage:'Nova Página',save:'Guardar',preview:'Pré-visualizar',cut:'Cortar',copy:'Copiar',paste:'Colar',print:'Imprimir',underline:'Sublinhado',bold:'Negrito',italic:'Itálico',selectAll:'Seleccionar Tudo',removeFormat:'Eliminar Formato',strike:'Rasurado',subscript:'Superior à Linha',superscript:'Inferior à Linha',horizontalrule:'Inserir Linha Horizontal',pagebreak:'Inserir Quebra de Página',pagebreakAlt:'Quebra de página',unlink:'Eliminar Hiperligação',undo:'Anular',redo:'Repetir',common:{browseServer:'Navegar no Servidor',url:'URL',protocol:'Protocolo',upload:'Carregar',uploadSubmit:'Enviar para o Servidor',image:'Imagem',flash:'Flash',form:'Formulário',checkbox:'Caixa de Verificação',radio:'Botão de Opção',textField:'Campo de Texto',textarea:'Ãrea de Texto',hiddenField:'Campo Escondido',button:'Botão',select:'Caixa de Combinação',imageButton:'Botão de Imagem',notSet:'<Não definido>',id:'Id',name:'Nome',langDir:'Orientação de idioma',langDirLtr:'Esquerda à Direita (LTR)',langDirRtl:'Direita a Esquerda (RTL)',langCode:'Código de Idioma',longDescr:'Descrição Completa do URL',cssClass:'Classes de Estilo de Folhas Classes',advisoryTitle:'Título',cssStyle:'Estilo',ok:'OK',cancel:'Cancelar',close:'Fechar',preview:'Pré-visualização',generalTab:'Geral',advancedTab:'Avançado',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:'Some of the options have been changed. Are you sure to close the dialog?',options:'Opções',target:'Alvo',targetNew:'Nova Janela (_blank)',targetTop:'Janela superior (_top)',targetSelf:'Mesma janela (_self)',targetParent:'Parent Window (_parent)',langDirLTR:'Left to Right (LTR)',langDirRTL:'Direita para Esquerda (RTL)',styles:'Estilo',cssClasses:'Stylesheet Classes',width:'Largura',height:'Altura',align:'Alinhamento',alignLeft:'Esquerda',alignRight:'Direita',alignCenter:'Centrado',alignTop:'Topo',alignMiddle:'Centro',alignBottom:'Fundo',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Menu de opções de contexto'},specialChar:{toolbar:'Inserir Caracter Especial',title:'Seleccione um caracter especial',options:'Special Character Options'},link:{toolbar:'Inserir/Editar Hiperligação',other:'<outro>',menu:'Editar Hiperligação',title:'Hiperligação',info:'Informação de Hiperligação',target:'Destino',upload:'Carregar',advanced:'Avançado',type:'Tipo de Hiperligação',toUrl:'URL',toAnchor:'Referência a esta página',toEmail:'E-Mail',targetFrame:'<Frame>',targetPopup:'<Janela de popup>',targetFrameName:'Nome do Frame Destino',targetPopupName:'Nome da Janela de Popup',popupFeatures:'Características de Janela de Popup',popupResizable:'Redimensionável',popupStatusBar:'Barra de Estado',popupLocationBar:'Barra de localização',popupToolbar:'Barra de Ferramentas',popupMenuBar:'Barra de Menu',popupFullScreen:'Janela Completa (IE)',popupScrollBars:'Barras de deslocamento',popupDependent:'Dependente (Netscape)',popupLeft:'Posição Esquerda',popupTop:'Posição Direita',id:'ID',langDir:'Orientação de idioma',langDirLTR:'Esquerda à Direita (LTR)',langDirRTL:'Direita a Esquerda (RTL)',acccessKey:'Chave de Acesso',name:'Nome',langCode:'Orientação de idioma',tabIndex:'Ãndice de Tubulação',advisoryTitle:'Título',advisoryContentType:'Tipo de Conteúdo',cssClasses:'Classes de Estilo de Folhas Classes',charset:'Fonte de caracteres vinculado',styles:'Estilo',rel:'Relação',selectAnchor:'Seleccionar una referência',anchorName:'Por Nome de Referência',anchorId:'Por ID de elemento',emailAddress:'Endereço de E-Mail',emailSubject:'Título de Mensagem',emailBody:'Corpo da Mensagem',noAnchors:'(Não há referências disponíveis no documento)',noUrl:'Por favor introduza a hiperligação URL',noEmail:'Por favor introduza o endereço de e-mail'},anchor:{toolbar:' Inserir/Editar Âncora',menu:'Propriedades da Âncora',title:'Propriedades da Âncora',name:'Nome da Âncora',errorName:'Por favor, introduza o nome da âncora',remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Tipo',start:'Iniciar',validateStartNumber:'List start number must be a whole number.',circle:'Círculo',disc:'Disco',square:'Quadrado',none:'Nenhum',notset:'<not set>',armenian:'Numeração armênia',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Find and Replace',find:'Procurar',replace:'Substituir',findWhat:'Texto a Procurar:',replaceWith:'Substituir por:',notFoundMsg:'O texto especificado não foi encontrado.',findOptions:'Find Options',matchCase:'Maiúsculas/Minúsculas',matchWord:'Coincidir com toda a palavra',matchCyclic:'Match cyclic',replaceAll:'Substituir Tudo',replaceSuccessMsg:'%1 occurrence(s) replaced.'},table:{toolbar:'Tabela',title:'Propriedades da Tabela',menu:'Propriedades da Tabela',deleteTable:'Eliminar Tabela',rows:'Linhas',columns:'Colunas',border:'Tamanho do Limite',widthPx:'pixeis',widthPc:'percentagem',widthUnit:'width unit',cellSpace:'Esp. e/células',cellPad:'Esp. interior',caption:'Título',summary:'Sumário',headers:'Headers',headersNone:'None',headersColumn:'First column',headersRow:'First Row',headersBoth:'Both',invalidRows:'Number of rows must be a number greater than 0.',invalidCols:'Number of columns must be a number greater than 0.',invalidBorder:'Border size must be a number.',invalidWidth:'Table width must be a number.',invalidHeight:'Table height must be a number.',invalidCellSpacing:'Cell spacing must be a positive number.',invalidCellPadding:'Cell padding must be a positive number.',cell:{menu:'Célula',insertBefore:'Insert Cell Before',insertAfter:'Insert Cell After',deleteCell:'Eliminar Célula',merge:'Unir Células',mergeRight:'Merge Right',mergeDown:'Merge Down',splitHorizontal:'Split Cell Horizontally',splitVertical:'Split Cell Vertically',title:'Cell Properties',cellType:'Cell Type',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Word Wrap',hAlign:'Horizontal Alignment',vAlign:'Vertical Alignment',alignBaseline:'Baseline',bgColor:'Background Color',borderColor:'Border Color',data:'Data',header:'Header',yes:'Yes',no:'No',invalidWidth:'Cell width must be a number.',invalidHeight:'Cell height must be a number.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Choose'},row:{menu:'Linha',insertBefore:'Insert Row Before',insertAfter:'Insert Row After',deleteRow:'Eliminar Linhas'},column:{menu:'Coluna',insertBefore:'Insert Column Before',insertAfter:'Insert Column After',deleteColumn:'Eliminar Coluna'}},button:{title:'Propriedades do Botão',text:'Texto (Valor)',type:'Tipo',typeBtn:'Button',typeSbm:'Submit',typeRst:'Reset'},checkboxAndRadio:{checkboxTitle:'Propriedades da Caixa de Verificação',radioTitle:'Propriedades do Botão de Opção',value:'Valor',selected:'Seleccionado'},form:{title:'Propriedades do Formulário',menu:'Propriedades do Formulário',action:'Acção',method:'Método',encoding:'Encoding'},select:{title:'Propriedades da Caixa de Combinação',selectInfo:'Informação',opAvail:'Opções Possíveis',value:'Valor',size:'Tamanho',lines:'linhas',chkMulti:'Permitir selecções múltiplas',opText:'Texto',opValue:'Valor',btnAdd:'Adicionar',btnModify:'Modificar',btnUp:'Para cima',btnDown:'Para baixo',btnSetValue:'Definir um valor por defeito',btnDelete:'Apagar'},textarea:{title:'Propriedades da Ãrea de Texto',cols:'Colunas',rows:'Linhas'},textfield:{title:'Propriedades do Campo de Texto',name:'Nome',value:'Valor',charWidth:'Tamanho do caracter',maxChars:'Nr. Máximo de Caracteres',type:'Tipo',typeText:'Texto',typePass:'Palavra-chave'},hidden:{title:'Propriedades do Campo Escondido',name:'Nome',value:'Valor'},image:{title:'Propriedades da Imagem',titleButton:'Propriedades do Botão de imagens',menu:'Propriedades da Imagem',infoTab:'Informação da Imagem',btnUpload:'Enviar para o Servidor',upload:'Carregar',alt:'Texto Alternativo',lockRatio:'Proporcional',resetSize:'Tamanho Original',border:'Limite',hSpace:'Esp.Horiz',vSpace:'Esp.Vert',alertUrl:'Por favor introduza o URL da imagem',linkTab:'Hiperligação',button2Img:'Do you want to transform the selected image button on a simple image?',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'Propriedades do Flash',propertiesTab:'Properties',title:'Propriedades do Flash',chkPlay:'Reproduzir automaticamente',chkLoop:'Loop',chkMenu:'Permitir Menu do Flash',chkFull:'Allow Fullscreen',scale:'Escala',scaleAll:'Mostrar tudo',scaleNoBorder:'Sem Limites',scaleFit:'Tamanho Exacto',access:'Script Access',accessAlways:'Always',accessSameDomain:'Same domain',accessNever:'Never',alignAbsBottom:'Abs inferior',alignAbsMiddle:'Abs centro',alignBaseline:'Linha de base',alignTextTop:'Topo do texto',quality:'Quality',qualityBest:'Best',qualityHigh:'High',qualityAutoHigh:'Auto High',qualityMedium:'Medium',qualityAutoLow:'Auto Low',qualityLow:'Low',windowModeWindow:'Window',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Window mode',flashvars:'Variables for Flash',bgcolor:'Cor de Fundo',hSpace:'Esp.Horiz',vSpace:'Esp.Vert',validateSrc:'Por favor introduza a hiperligação URL',validateHSpace:'HSpace must be a number.',validateVSpace:'VSpace must be a number.'},spellCheck:{toolbar:'Verificação Ortográfica',title:'Spell Check',notAvailable:'Sorry, but service is unavailable now.',errorLoading:'Error loading application service host: %s.',notInDic:'Não está num directório',changeTo:'Mudar para',btnIgnore:'Ignorar',btnIgnoreAll:'Ignorar Tudo',btnReplace:'Substituir',btnReplaceAll:'Substituir Tudo',btnUndo:'Anular',noSuggestions:'- Sem sugestões -',progress:'Verificação ortográfica em progresso…',noMispell:'Verificação ortográfica completa: não foram encontrados erros',noChanges:'Verificação ortográfica completa: não houve alteração de palavras',oneChange:'Verificação ortográfica completa: uma palavra alterada',manyChanges:'Verificação ortográfica completa: %1 palavras alteradas',ieSpellDownload:' Verificação ortográfica não instalada. Quer descarregar agora?'},smiley:{toolbar:'Emoticons',title:'Inserir um Emoticon',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 element'},numberedlist:'Numeração',bulletedlist:'Marcas',indent:'Aumentar Avanço',outdent:'Diminuir Avanço',justify:{left:'Alinhar à Esquerda',center:'Alinhar ao Centro',right:'Alinhar à Direita',block:'Justificado'},blockquote:'Bloco de citação',clipboard:{title:'Colar',cutError:'A configuração de segurança do navegador não permite a execução automática de operações de cortar. Por favor use o teclado (Ctrl/Cmd+X).',copyError:'A configuração de segurança do navegador não permite a execução automática de operações de copiar. Por favor use o teclado (Ctrl/Cmd+C).',pasteMsg:'Por favor, cole dentro da seguinte caixa usando o teclado (<STRONG>Ctrl/Cmd+V</STRONG>) e prima <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.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'Colar do Word',title:'Colar do Word',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'Colar como Texto Simples',title:'Colar como Texto Simples'},templates:{button:'Modelos',title:'Modelo de Conteúdo',options:'Template Options',insertOption:'Replace actual contents',selectPromptMsg:'Por favor, seleccione o modelo a abrir no editor<br>(o conteúdo actual será perdido):',emptyListMsg:'(Sem modelos definidos)'},showBlocks:'Exibir blocos',stylesCombo:{label:'Estilo',panelTitle:'Formatting Styles',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'Formato',panelTitle:'Formato',tag_p:'Normal',tag_pre:'Formatado',tag_address:'Endereço',tag_h1:'Título 1',tag_h2:'Título 2',tag_h3:'Título 3',tag_h4:'Título 4',tag_h5:'Título 5',tag_h6:'Título 6',tag_div:'Normal (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'Tipo de Letra',voiceLabel:'Font',panelTitle:'Tipo de Letra'},fontSize:{label:'Tamanho',voiceLabel:'Font Size',panelTitle:'Tamanho'},colorButton:{textColorTitle:'Cor do Texto',bgColorTitle:'Cor de Fundo',panelTitle:'Colors',auto:'Automático',more:'Mais Cores...'},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'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Options',langs:'Languages',moreSuggestions:'More suggestions',ignore:'Ignore',ignoreAll:'Ignore All',addWord:'Add Word',emptyDic:'Dictionary name should not be empty.',noSuggestions:'Sem sugestões',optionsTab:'Options',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Languages',dictionariesTab:'Dictionaries',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'About'},about:{title:'About CKEditor',dlgTitle:'About CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'For licensing information please visit our web site:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Maximizar',minimize:'Minimizar',fakeobjects:{anchor:'Anchor',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Unknown Object'},resize:'Arraste para redimensionar',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},toolbarCollapse:'Colapsar Barra',toolbarExpand:'Expandir Barra',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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'Propriedades do Documento',title:'Propriedades do Documento',design:'Design',meta:'Meta Data',chooseColor:'Choose',other:'<outro>',docTitle:'Título da Página',charset:'Codificação de Caracteres',charsetOther:'Outra Codificação de Caracteres',charsetASCII:'ASCII',charsetCE:'Central European',charsetCT:'Chinese Traditional (Big5)',charsetCR:'Cyrillic',charsetGR:'Greek',charsetJP:'Japanese',charsetKR:'Korean',charsetTR:'Turkish',charsetUN:'Unicode (UTF-8)',charsetWE:'Western European',docType:'Tipo de Cabeçalho do Documento',docTypeOther:'Outro Tipo de Cabeçalho do Documento',xhtmlDec:'Incluir Declarações XHTML',bgColor:'Cor de Fundo',bgImage:'Caminho para a Imagem de Fundo',bgFixed:'Fundo Fixo',txtColor:'Cor do Texto',margin:'Margem das Páginas',marginTop:'Topo',marginLeft:'Esquerda',marginRight:'Direita',marginBottom:'Fundo',metaKeywords:'Palavras de Indexação do Documento (separadas por virgula)',metaDescription:'Descrição do Documento',metaAuthor:'Autor',metaCopyright:'Direitos de Autor',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/ro.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/ro.js
deleted file mode 100644
index 93f2530..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/ro.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.ro={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Apasă ALT 0 pentru ajutor',toolbars:'Editează bara de unelte',editor:'Rich Text Editor',source:'Sursa',newPage:'Pagină nouă',save:'Salvează',preview:'Previzualizare',cut:'Taie',copy:'Copiază',paste:'Adaugă',print:'Printează',underline:'Subliniat (underline)',bold:'Îngroşat (bold)',italic:'Înclinat (italic)',selectAll:'Selectează tot',removeFormat:'Înlătură formatarea',strike:'Tăiat (strike through)',subscript:'Indice (subscript)',superscript:'Putere (superscript)',horizontalrule:'Inserează linie orizontală',pagebreak:'Inserează separator de pagină (Page Break)',pagebreakAlt:'Page Break',unlink:'Înlătură link (legătură web)',undo:'Starea anterioară (undo)',redo:'Starea ulterioară (redo)',common:{browseServer:'Răsfoieşte server',url:'URL',protocol:'Protocol',upload:'Încarcă',uploadSubmit:'Trimite la server',image:'Imagine',flash:'Flash',form:'Formular (Form)',checkbox:'Bifă (Checkbox)',radio:'Buton radio (RadioButton)',textField:'Câmp text (TextField)',textarea:'Suprafaţă text (Textarea)',hiddenField:'Câmp ascuns (HiddenField)',button:'Buton',select:'Câmp selecţie (SelectionField)',imageButton:'Buton imagine (ImageButton)',notSet:'<nesetat>',id:'Id',name:'Nume',langDir:'Direcţia cuvintelor',langDirLtr:'stânga-dreapta (LTR)',langDirRtl:'dreapta-stânga (RTL)',langCode:'Codul limbii',longDescr:'Descrierea lungă URL',cssClass:'Clasele cu stilul paginii (CSS)',advisoryTitle:'Titlul consultativ',cssStyle:'Stil',ok:'OK',cancel:'Anulare',close:'Închide',preview:'Previzualizare',generalTab:'General',advancedTab:'Avansat',validateNumberFailed:'Această valoare nu este un număr.',confirmNewPage:'Orice modificări nesalvate ale acestui conținut, vor fi pierdute. Sigur doriți încărcarea unei noi pagini?',confirmCancel:'Câteva opțiuni au fost schimbate. Sigur doriți să închideți dialogul?',options:'Opțiuni',target:'Țintă',targetNew:'Fereastră nouă (_blank)',targetTop:'Topmost Window (_top)',targetSelf:'În aceeași fereastră (_self)',targetParent:'Parent Window (_parent)',langDirLTR:'Stânga spre Dreapta (LTR)',langDirRTL:'Dreapta spre Stânga (RTL)',styles:'Stil',cssClasses:'Stylesheet Classes',width:'Lăţime',height:'Înălţime',align:'Aliniere',alignLeft:'Mărește Bara',alignRight:'Dreapta',alignCenter:'Centru',alignTop:'Sus',alignMiddle:'Mijloc',alignBottom:'Jos',invalidValue:'Invalid value.',invalidHeight:'Înălțimea trebuie să fie un număr.',invalidWidth:'Lățimea trebuie să fie un număr.',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Opțiuni Meniu Contextual'},specialChar:{toolbar:'Inserează caracter special',title:'Selectează caracter special',options:'Opțiuni caractere speciale'},link:{toolbar:'Inserează/Editează link (legătură web)',other:'<alt>',menu:'Editează Link',title:'Link (Legătură web)',info:'Informaţii despre link (Legătură web)',target:'Ţintă (Target)',upload:'Încarcă',advanced:'Avansat',type:'Tipul link-ului (al legăturii web)',toUrl:'URL',toAnchor:'Ancoră în această pagină',toEmail:'E-Mail',targetFrame:'<frame>',targetPopup:'<fereastra popup>',targetFrameName:'Numele frameului ţintă',targetPopupName:'Numele ferestrei popup',popupFeatures:'Proprietăţile ferestrei popup',popupResizable:'Redimensionabil',popupStatusBar:'Bara de status',popupLocationBar:'Bara de locaţie',popupToolbar:'Bara de opţiuni',popupMenuBar:'Bara de meniu',popupFullScreen:'Tot ecranul (Full Screen)(IE)',popupScrollBars:'Bare de derulare',popupDependent:'Dependent (Netscape)',popupLeft:'Poziţia la stânga',popupTop:'Poziţia la dreapta',id:'Id',langDir:'Direcţia cuvintelor',langDirLTR:'stânga-dreapta (LTR)',langDirRTL:'dreapta-stânga (RTL)',acccessKey:'Tasta de acces',name:'Nume',langCode:'Direcţia cuvintelor',tabIndex:'Indexul tabului',advisoryTitle:'Titlul consultativ',advisoryContentType:'Tipul consultativ al titlului',cssClasses:'Clasele cu stilul paginii (CSS)',charset:'Setul de caractere al resursei legate',styles:'Stil',rel:'Relație',selectAnchor:'Selectaţi o ancoră',anchorName:'după numele ancorei',anchorId:'după Id-ul elementului',emailAddress:'Adresă de e-mail',emailSubject:'Subiectul mesajului',emailBody:'Opțiuni Meniu Contextual',noAnchors:'(Nicio ancoră disponibilă în document)',noUrl:'Vă rugăm să scrieţi URL-ul',noEmail:'Vă rugăm să scrieţi adresa de e-mail'},anchor:{toolbar:'Inserează/Editează ancoră',menu:'Proprietăţi ancoră',title:'Proprietăţi ancoră',name:'Numele ancorei',errorName:'Vă rugăm scrieţi numele ancorei',remove:'Elimină ancora'},list:{numberedTitle:'Proprietățile listei numerotate',bulletedTitle:'Proprietățile listei cu simboluri',type:'Tip',start:'Start',validateStartNumber:'Începutul listei trebuie să fie un număr întreg.',circle:'Cerc',disc:'Disc',square:'Pătrat',none:'Nimic',notset:'<nesetat>',armenian:'Numerotare armeniană',georgian:'Numerotare georgiană (an, ban, gan, etc.)',lowerRoman:'Cifre romane mici (i, ii, iii, iv, v, etc.)',upperRoman:'Cifre romane mari (I, II, III, IV, V, etc.)',lowerAlpha:'Litere mici (a, b, c, d, e, etc.)',upperAlpha:'Litere mari (A, B, C, D, E, etc.)',lowerGreek:'Litere grecești mici (alpha, beta, gamma, etc.)',decimal:'Decimale (1, 2, 3, etc.)',decimalLeadingZero:'Decimale cu zero în față (01, 02, 03, etc.)'},findAndReplace:{title:'Găseşte şi înlocuieşte',find:'Găseşte',replace:'Înlocuieşte',findWhat:'Găseşte:',replaceWith:'Înlocuieşte cu:',notFoundMsg:'Textul specificat nu a fost găsit.',findOptions:'Find Options',matchCase:'Deosebeşte majuscule de minuscule (Match case)',matchWord:'Doar cuvintele întregi',matchCyclic:'Potrivește ciclic',replaceAll:'Înlocuieşte tot',replaceSuccessMsg:'%1 căutări înlocuite.'},table:{toolbar:'Tabel',title:'Proprietăţile tabelului',menu:'Proprietăţile tabelului',deleteTable:'Şterge tabel',rows:'Rânduri',columns:'Coloane',border:'Mărimea marginii',widthPx:'pixeli',widthPc:'procente',widthUnit:'unitate lățime',cellSpace:'Spaţiu între celule',cellPad:'Spaţiu în cadrul celulei',caption:'Titlu (Caption)',summary:'Rezumat',headers:'Antente',headersNone:'Nimic',headersColumn:'Prima coloană',headersRow:'Primul rând',headersBoth:'Ambele',invalidRows:'Numărul rândurilor trebuie să fie mai mare decât 0.',invalidCols:'Numărul coloanelor trebuie să fie mai mare decât 0.',invalidBorder:'Dimensiunea bordurii trebuie să aibe un număr.',invalidWidth:'Lățimea tabelului trebuie să fie un număr.',invalidHeight:'Table height must be a number.',invalidCellSpacing:'Spațierea celului trebuie să fie un număr pozitiv.',invalidCellPadding:'Cell padding must be a positive number.',cell:{menu:'Celulă',insertBefore:'Inserează celulă înainte',insertAfter:'Inserează celulă după',deleteCell:'Şterge celule',merge:'Uneşte celule',mergeRight:'Uneşte la dreapta',mergeDown:'Uneşte jos',splitHorizontal:'Împarte celula pe orizontală',splitVertical:'Împarte celula pe verticală',title:'Proprietăți celulă',cellType:'Tipul celulei',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Word Wrap',hAlign:'Aliniament orizontal',vAlign:'Aliniament vertical',alignBaseline:'Baseline',bgColor:'Culoare fundal',borderColor:'Culoare bordură',data:'Data',header:'Antet',yes:'Da',no:'Nu',invalidWidth:'Lățimea celulei trebuie să fie un număr.',invalidHeight:'Înălțimea celulei trebuie să fie un număr.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Alege'},row:{menu:'Rând',insertBefore:'Inserează rând înainte',insertAfter:'Inserează rând după',deleteRow:'Şterge rânduri'},column:{menu:'Coloană',insertBefore:'Inserează coloană înainte',insertAfter:'Inserează coloană după',deleteColumn:'Şterge celule'}},button:{title:'Proprietăţi buton',text:'Text (Valoare)',type:'Tip',typeBtn:'Buton',typeSbm:'Trimite',typeRst:'Reset'},checkboxAndRadio:{checkboxTitle:'Proprietăţi bifă (Checkbox)',radioTitle:'Proprietăţi buton radio (Radio Button)',value:'Valoare',selected:'Selectat'},form:{title:'Proprietăţi formular (Form)',menu:'Proprietăţi formular (Form)',action:'Acţiune',method:'Metodă',encoding:'Encodare'},select:{title:'Proprietăţi câmp selecţie (Selection Field)',selectInfo:'Informaţii',opAvail:'Opţiuni disponibile',value:'Valoare',size:'Mărime',lines:'linii',chkMulti:'Permite selecţii multiple',opText:'Text',opValue:'Valoare',btnAdd:'Adaugă',btnModify:'Modifică',btnUp:'Sus',btnDown:'Jos',btnSetValue:'Setează ca valoare selectată',btnDelete:'Şterge'},textarea:{title:'Proprietăţi suprafaţă text (Textarea)',cols:'Coloane',rows:'Linii'},textfield:{title:'Proprietăţi câmp text (Text Field)',name:'Nume',value:'Valoare',charWidth:'Lărgimea caracterului',maxChars:'Caractere maxime',type:'Tip',typeText:'Text',typePass:'Parolă'},hidden:{title:'Proprietăţi câmp ascuns (Hidden Field)',name:'Nume',value:'Valoare'},image:{title:'Proprietăţile imaginii',titleButton:'Proprietăţi buton imagine (Image Button)',menu:'Proprietăţile imaginii',infoTab:'Informaţii despre imagine',btnUpload:'Trimite la server',upload:'Încarcă',alt:'Text alternativ',lockRatio:'Păstrează proporţiile',resetSize:'Resetează mărimea',border:'Margine',hSpace:'HSpace',vSpace:'VSpace',alertUrl:'Vă rugăm să scrieţi URL-ul imaginii',linkTab:'Link (Legătură web)',button2Img:'Do you want to transform the selected image button on a simple image?',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Sursa URL a imaginii lipsește.',validateBorder:'Bordura trebuie să fie un număr întreg.',validateHSpace:'Hspace trebuie să fie un număr întreg.',validateVSpace:'Vspace trebuie să fie un număr întreg.'},flash:{properties:'Proprietăţile flashului',propertiesTab:'Proprietăți',title:'Proprietăţile flashului',chkPlay:'Rulează automat',chkLoop:'Repetă (Loop)',chkMenu:'Activează meniul flash',chkFull:'Permite pe tot ecranul',scale:'Scală',scaleAll:'Arată tot',scaleNoBorder:'Fără bordură (No border)',scaleFit:'Potriveşte',access:'Acces script',accessAlways:'Întotdeauna',accessSameDomain:'Același domeniu',accessNever:'Niciodată',alignAbsBottom:'Jos absolut (Abs Bottom)',alignAbsMiddle:'Mijloc absolut (Abs Middle)',alignBaseline:'Linia de jos (Baseline)',alignTextTop:'Text sus',quality:'Calitate',qualityBest:'Cea mai bună',qualityHigh:'Înaltă',qualityAutoHigh:'Auto înaltă',qualityMedium:'Medie',qualityAutoLow:'Auto Joasă',qualityLow:'Joasă',windowModeWindow:'Fereastră',windowModeOpaque:'Opacă',windowModeTransparent:'Transparentă',windowMode:'Mod fereastră',flashvars:'Variabile pentru flash',bgcolor:'Coloarea fundalului',hSpace:'HSpace',vSpace:'VSpace',validateSrc:'Vă rugăm să scrieţi URL-ul',validateHSpace:'Hspace trebuie să fie un număr.',validateVSpace:'VSpace trebuie să fie un număr'},spellCheck:{toolbar:'Verifică scrierea textului',title:'Spell Check',notAvailable:'Scuzați, dar serviciul nu este disponibil momentan.',errorLoading:'Eroare în lansarea aplicației service host %s.',notInDic:'Nu e în dicţionar',changeTo:'Schimbă în',btnIgnore:'Ignoră',btnIgnoreAll:'Ignoră toate',btnReplace:'Înlocuieşte',btnReplaceAll:'Înlocuieşte tot',btnUndo:'Starea anterioară (undo)',noSuggestions:'- Fără sugestii -',progress:'Verificarea textului în desfăşurare...',noMispell:'Verificarea textului terminată: Nicio greşeală găsită',noChanges:'Verificarea textului terminată: Niciun cuvânt modificat',oneChange:'Verificarea textului terminată: Un cuvânt modificat',manyChanges:'Verificarea textului terminată: 1% cuvinte modificate',ieSpellDownload:'Unealta pentru verificat textul (Spell checker) neinstalată. Doriţi să o descărcaţi acum?'},smiley:{toolbar:'Figură expresivă (Emoticon)',title:'Inserează o figură expresivă (Emoticon)',options:'Opțiuni figuri expresive'},elementsPath:{eleLabel:'Calea elementelor',eleTitle:'%1 element'},numberedlist:'Inserează / Elimină Listă numerotată',bulletedlist:'Inserează / Elimină Listă cu puncte',indent:'Creşte indentarea',outdent:'Scade indentarea',justify:{left:'Aliniere la stânga',center:'Aliniere centrală',right:'Aliniere la dreapta',block:'Aliniere în bloc (Block Justify)'},blockquote:'Citat',clipboard:{title:'Adaugă',cutError:'Setările de securitate ale navigatorului (browser) pe care îl folosiţi nu permit editorului să execute automat operaţiunea de tăiere. Vă rugăm folosiţi tastatura (Ctrl/Cmd+X).',copyError:'Setările de securitate ale navigatorului (browser) pe care îl folosiţi nu permit editorului să execute automat operaţiunea de copiere. Vă rugăm folosiţi tastatura (Ctrl/Cmd+C).',pasteMsg:'Vă rugăm adăugaţi în căsuţa următoare folosind tastatura (<strong>Ctrl/Cmd+V</strong>) şi apăsaţi OK',securityMsg:'Din cauza setărilor de securitate ale programului dvs. cu care navigaţi pe internet (browser), editorul nu poate accesa direct datele din clipboard. Va trebui să adăugaţi din nou datele în această fereastră.',pasteArea:'Suprafața de adăugare'},pastefromword:{confirmCleanup:'Textul pe care doriți să-l lipiți este din Word. Doriți curățarea textului înante de a-l adăuga?',toolbar:'Adaugă din Word',title:'Adaugă din Word',error:'Nu a fost posibilă curățarea datelor adăugate datorită unei erori interne'},pasteText:{button:'Adaugă ca text simplu (Plain Text)',title:'Adaugă ca text simplu (Plain Text)'},templates:{button:'Template-uri (şabloane)',title:'Template-uri (şabloane) de conţinut',options:'Opțiuni șabloane',insertOption:'Înlocuieşte cuprinsul actual',selectPromptMsg:'Vă rugăm selectaţi template-ul (şablonul) ce se va deschide în editor<br>(conţinutul actual va fi pierdut):',emptyListMsg:'(Niciun template (şablon) definit)'},showBlocks:'Arată blocurile',stylesCombo:{label:'Stil',panelTitle:'Formatarea stilurilor',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'Formatare',panelTitle:'Formatare',tag_p:'Normal',tag_pre:'Formatat',tag_address:'Adresă',tag_h1:'Heading 1',tag_h2:'Heading 2',tag_h3:'Heading 3',tag_h4:'Heading 4',tag_h5:'Heading 5',tag_h6:'Heading 6',tag_div:'Normal (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Stil',IdInputLabel:'Id',languageCodeInputLabel:'Codul limbii',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'Font',voiceLabel:'Font',panelTitle:'Font'},fontSize:{label:'Mărime',voiceLabel:'Font Size',panelTitle:'Mărime'},colorButton:{textColorTitle:'Culoarea textului',bgColorTitle:'Coloarea fundalului',panelTitle:'Colors',auto:'Automatic',more:'Mai multe culori...'},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'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Options',langs:'Languages',moreSuggestions:'More suggestions',ignore:'Ignore',ignoreAll:'Ignore All',addWord:'Add Word',emptyDic:'Dictionary name should not be empty.',noSuggestions:'Fără sugestii',optionsTab:'Options',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Languages',dictionariesTab:'Dictionaries',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'About'},about:{title:'About CKEditor',dlgTitle:'About CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'For licensing information please visit our web site:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Mărește',minimize:'Micșorează',fakeobjects:{anchor:'Anchor',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Unknown Object'},resize:'Trage pentru a redimensiona',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},toolbarCollapse:'Micșorează Bara',toolbarExpand:'Mărește Bara',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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'Proprietăţile documentului',title:'Proprietăţile documentului',design:'Design',meta:'Meta Tags',chooseColor:'Choose',other:'<alt>',docTitle:'Titlul paginii',charset:'Encoding setului de caractere',charsetOther:'Alt encoding al setului de caractere',charsetASCII:'ASCII',charsetCE:'Central European',charsetCT:'Chinezesc tradiţional (Big5)',charsetCR:'Chirilic',charsetGR:'Grecesc',charsetJP:'Japonez',charsetKR:'Corean',charsetTR:'Turcesc',charsetUN:'Unicode (UTF-8)',charsetWE:'Vest european',docType:'Document Type Heading',docTypeOther:'Alt Document Type Heading',xhtmlDec:'Include declaraţii XHTML',bgColor:'Culoarea fundalului (Background Color)',bgImage:'URL-ul imaginii din fundal (Background Image URL)',bgFixed:'Fundal neflotant, fix (Non-scrolling Background)',txtColor:'Culoarea textului',margin:'Marginile paginii',marginTop:'Sus',marginLeft:'Stânga',marginRight:'Dreapta',marginBottom:'Jos',metaKeywords:'Cuvinte cheie după care se va indexa documentul (separate prin virgulă)',metaDescription:'Descrierea documentului',metaAuthor:'Autor',metaCopyright:'Drepturi de autor',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/ru.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/ru.js
deleted file mode 100644
index 89d7973..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/ru.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.ru={dir:'ltr',editorTitle:'Визуальный редактор текÑта, %1',editorHelp:'нажмите ALT-0 Ð´Ð»Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñправки',toolbars:'Панели инÑтрументов редактора',editor:'Визуальный редактор текÑта',source:'ИÑточник',newPage:'ÐÐ¾Ð²Ð°Ñ Ñтраница',save:'Сохранить',preview:'Предварительный проÑмотр',cut:'Вырезать',copy:'Копировать',paste:'Ð’Ñтавить',print:'Печать',underline:'Подчеркнутый',bold:'Полужирный',italic:'КурÑив',selectAll:'Выделить вÑе',removeFormat:'Убрать форматирование',strike:'Зачеркнутый',subscript:'ПодÑтрочный индекÑ',superscript:'ÐадÑтрочный индекÑ',horizontalrule:'Ð’Ñтавить горизонтальную линию',pagebreak:'Ð’Ñтавить разрыв Ñтраницы Ð´Ð»Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð¸',pagebreakAlt:'Разрыв Ñтраницы',unlink:'Убрать ÑÑылку',undo:'Отменить',redo:'Повторить',common:{browseServer:'Выбор на Ñервере',url:'СÑылка',protocol:'Протокол',upload:'Загрузка',uploadSubmit:'Загрузить на Ñервер',image:'Изображение',flash:'Flash',form:'Форма',checkbox:'Ð¤Ð»Ð°Ð³Ð¾Ð²Ð°Ñ ÐºÐ½Ð¾Ð¿ÐºÐ°',radio:'Кнопка выбора',textField:'ТекÑтовое поле',textarea:'МногоÑтрочное текÑтовое поле',hiddenField:'Скрытое поле',button:'Кнопка',select:'СпиÑок выбора',imageButton:'Изображение-кнопка',notSet:'<не указано>',id:'Идентификатор',name:'ИмÑ',langDir:'Ðаправление текÑта',langDirLtr:'Слева направо (LTR)',langDirRtl:'Справа налево (RTL)',langCode:'Код Ñзыка',longDescr:'Длинное опиÑание ÑÑылки',cssClass:'КлаÑÑ CSS',advisoryTitle:'Заголовок',cssStyle:'Стиль',ok:'ОК',cancel:'Отмена',close:'Закрыть',preview:'ПредпроÑмотр',generalTab:'ОÑновное',advancedTab:'Дополнительно',validateNumberFailed:'Это значение не ÑвлÑетÑÑ Ñ‡Ð¸Ñлом.',confirmNewPage:'ÐеÑохранённые Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ потерÑны! Ð’Ñ‹ дейÑтвительно желаете перейти на другую Ñтраницу?',confirmCancel:'Ðекоторые параметры были изменены. Ð’Ñ‹ уверены, что желаете закрыть без ÑохранениÑ?',options:'Параметры',target:'Цель',targetNew:'Ðовое окно (_blank)',targetTop:'Главное окно (_top)',targetSelf:'Текущее окно (_self)',targetParent:'РодительÑкое окно (_parent)',langDirLTR:'Слева направо (LTR)',langDirRTL:'Справа налево (RTL)',styles:'Стиль',cssClasses:'КлаÑÑÑ‹ CSS',width:'Ширина',height:'Ð’Ñ‹Ñота',align:'Выравнивание',alignLeft:'По левому краю',alignRight:'По правому краю',alignCenter:'По центру',alignTop:'По верху',alignMiddle:'По Ñередине',alignBottom:'По низу',invalidValue:'Invalid value.',invalidHeight:'Ð’Ñ‹Ñота задаетÑÑ Ñ‡Ð¸Ñлом.',invalidWidth:'Ширина задаетÑÑ Ñ‡Ð¸Ñлом.',invalidCssLength:'Значение, указанное в поле "%1", должно быть положительным целым чиÑлом. ДопуÑкаетÑÑ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ðµ единиц меры CSS (px, %, in, cm, mm, em, ex, pt или pc).',invalidHtmlLength:'Значение, указанное в поле "%1", должно быть положительным целым чиÑлом. ДопуÑкаетÑÑ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ðµ единиц меры HTML (px или %).',invalidInlineStyle:'Значение, указанное Ð´Ð»Ñ ÑÑ‚Ð¸Ð»Ñ Ñлемента, должно ÑоÑтоÑÑ‚ÑŒ из одной или неÑкольких пар данных в формате "параметр : значение", разделённых точкой Ñ Ð·Ð°Ð¿Ñтой.',cssLengthTooltip:'Введите значение в пикÑелÑÑ…, либо чиÑло Ñ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ð¹ единицей меры CSS (px, %, in, cm, mm, em, ex, pt или pc).',unavailable:'%1<span class="cke_accessibility">, недоÑтупно</span>'},contextmenu:{options:'Параметры контекÑтного меню'},specialChar:{toolbar:'Ð’Ñтавить Ñпециальный Ñимвол',title:'Выберите Ñпециальный Ñимвол',options:'Выбор Ñпециального Ñимвола'},link:{toolbar:'Ð’Ñтавить/Редактировать ÑÑылку',other:'<другой>',menu:'Редактировать ÑÑылку',title:'СÑылка',info:'Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ ÑÑылке',target:'Цель',upload:'Загрузка',advanced:'Дополнительно',type:'Тип ÑÑылки',toUrl:'СÑылка',toAnchor:'СÑылка на Ñкорь в текÑте',toEmail:'Email',targetFrame:'<фрейм>',targetPopup:'<вÑплывающее окно>',targetFrameName:'Ð˜Ð¼Ñ Ñ†ÐµÐ»ÐµÐ²Ð¾Ð³Ð¾ фрейма',targetPopupName:'Ð˜Ð¼Ñ Ð²Ñплывающего окна',popupFeatures:'Параметры вÑплывающего окна',popupResizable:'ИзменÑемый размер',popupStatusBar:'Строка ÑоÑтоÑниÑ',popupLocationBar:'Панель адреÑа',popupToolbar:'Панель инÑтрументов',popupMenuBar:'Панель меню',popupFullScreen:'ПолноÑкранное (IE)',popupScrollBars:'ПолоÑÑ‹ прокрутки',popupDependent:'ЗавиÑимое (Netscape)',popupLeft:'ОтÑтуп Ñлева',popupTop:'ОтÑтуп Ñверху',id:'Идентификатор',langDir:'Ðаправление текÑта',langDirLTR:'Слева направо (LTR)',langDirRTL:'Справа налево (RTL)',acccessKey:'Клавиша доÑтупа',name:'ИмÑ',langCode:'Код Ñзыка',tabIndex:'ПоÑледовательноÑÑ‚ÑŒ перехода',advisoryTitle:'Заголовок',advisoryContentType:'Тип Ñодержимого',cssClasses:'КлаÑÑÑ‹ CSS',charset:'Кодировка реÑурÑа',styles:'Стиль',rel:'Отношение',selectAnchor:'Выберите Ñкорь',anchorName:'По имени',anchorId:'По идентификатору',emailAddress:'Email адреÑ',emailSubject:'Тема ÑообщениÑ',emailBody:'ТекÑÑ‚ ÑообщениÑ',noAnchors:'(Ð’ документе нет ни одного ÑкорÑ)',noUrl:'ПожалуйÑта, введите ÑÑылку',noEmail:'ПожалуйÑта, введите email адреÑ'},anchor:{toolbar:'Ð’Ñтавить / редактировать Ñкорь',menu:'Изменить Ñкорь',title:'СвойÑтва ÑкорÑ',name:'Ð˜Ð¼Ñ ÑкорÑ',errorName:'ПожалуйÑта, введите Ð¸Ð¼Ñ ÑкорÑ',remove:'Удалить Ñкорь'},list:{numberedTitle:'СвойÑтва нумерованного ÑпиÑка',bulletedTitle:'СвойÑтва маркированного ÑпиÑка',type:'Тип',start:'ÐÐ°Ñ‡Ð¸Ð½Ð°Ñ Ñ',validateStartNumber:'Первый номер ÑпиÑка должен быть задан обычным целым чиÑлом.',circle:'Круг',disc:'ОкружноÑÑ‚ÑŒ',square:'Квадрат',none:'Ðет',notset:'<не указано>',armenian:'ÐрмÑнÑÐºÐ°Ñ Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ñ',georgian:'ГрузинÑÐºÐ°Ñ Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ð¸Ñ (ани, бани, гани, и Ñ‚.д.)',lowerRoman:'Строчные римÑкие (i, ii, iii, iv, v, и Ñ‚.д.)',upperRoman:'Заглавные римÑкие (I, II, III, IV, V, и Ñ‚.д.)',lowerAlpha:'Строчные латинÑкие (a, b, c, d, e, и Ñ‚.д.)',upperAlpha:'Заглавные латинÑкие (A, B, C, D, E, и Ñ‚.д.)',lowerGreek:'Строчные гречеÑкие (альфа, бета, гамма, и Ñ‚.д.)',decimal:'ДеÑÑтичные (1, 2, 3, и Ñ‚.д.)',decimalLeadingZero:'ДеÑÑтичные Ñ Ð²ÐµÐ´ÑƒÑ‰Ð¸Ð¼ нулём (01, 02, 03, и Ñ‚.д.)'},findAndReplace:{title:'ПоиÑк и замена',find:'Ðайти',replace:'Заменить',findWhat:'Ðайти:',replaceWith:'Заменить на:',notFoundMsg:'ИÑкомый текÑÑ‚ не найден.',findOptions:'Опции поиÑка',matchCase:'Учитывать региÑÑ‚Ñ€',matchWord:'Только Ñлово целиком',matchCyclic:'По вÑему текÑту',replaceAll:'Заменить вÑÑ‘',replaceSuccessMsg:'УÑпешно заменено %1 раз(а).'},table:{toolbar:'Таблица',title:'СвойÑтва таблицы',menu:'СвойÑтва таблицы',deleteTable:'Удалить таблицу',rows:'Строки',columns:'Колонки',border:'Размер границ',widthPx:'пикÑелей',widthPc:'процентов',widthUnit:'единица измерениÑ',cellSpace:'Внешний отÑтуп Ñчеек',cellPad:'Внутренний отÑтуп Ñчеек',caption:'Заголовок',summary:'Итоги',headers:'Заголовки',headersNone:'Без заголовков',headersColumn:'Ð›ÐµÐ²Ð°Ñ ÐºÐ¾Ð»Ð¾Ð½ÐºÐ°',headersRow:'ВерхнÑÑ Ñтрока',headersBoth:'Сверху и Ñлева',invalidRows:'КоличеÑтво Ñтрок должно быть больше 0.',invalidCols:'КоличеÑтво Ñтолбцов должно быть больше 0.',invalidBorder:'Размер границ должен быть чиÑлом.',invalidWidth:'Ширина таблицы должна быть чиÑлом.',invalidHeight:'Ð’Ñ‹Ñота таблицы должна быть чиÑлом.',invalidCellSpacing:'Внешний отÑтуп Ñчеек (cellspacing) должен быть чиÑлом.',invalidCellPadding:'Внутренний отÑтуп Ñчеек (cellpadding) должен быть чиÑлом.',cell:{menu:'Ячейка',insertBefore:'Ð’Ñтавить Ñчейку Ñлева',insertAfter:'Ð’Ñтавить Ñчейку Ñправа',deleteCell:'Удалить Ñчейки',merge:'Объединить Ñчейки',mergeRight:'Объединить Ñ Ð¿Ñ€Ð°Ð²Ð¾Ð¹',mergeDown:'Объединить Ñ Ð½Ð¸Ð¶Ð½ÐµÐ¹',splitHorizontal:'Разделить Ñчейку по горизонтали',splitVertical:'Разделить Ñчейку по вертикали',title:'СвойÑтва Ñчейки',cellType:'Тип Ñчейки',rowSpan:'ОбъединÑет Ñтрок',colSpan:'ОбъединÑет колонок',wordWrap:'ÐŸÐµÑ€ÐµÐ½Ð¾Ñ Ð¿Ð¾ Ñловам',hAlign:'Горизонтальное выравнивание',vAlign:'Вертикальное выравнивание',alignBaseline:'По базовой линии',bgColor:'Цвет фона',borderColor:'Цвет границ',data:'Данные',header:'Заголовок',yes:'Да',no:'Ðет',invalidWidth:'Ширина Ñчейки должна быть чиÑлом.',invalidHeight:'Ð’Ñ‹Ñота Ñчейки должна быть чиÑлом.',invalidRowSpan:'КоличеÑтво объединÑемых Ñтрок должно быть задано чиÑлом.',invalidColSpan:'КоличеÑтво объединÑемых колонок должно быть задано чиÑлом.',chooseColor:'Выберите'},row:{menu:'Строка',insertBefore:'Ð’Ñтавить Ñтроку Ñверху',insertAfter:'Ð’Ñтавить Ñтроку Ñнизу',deleteRow:'Удалить Ñтроки'},column:{menu:'Колонка',insertBefore:'Ð’Ñтавить колонку Ñлева',insertAfter:'Ð’Ñтавить колонку Ñправа',deleteColumn:'Удалить колонки'}},button:{title:'СвойÑтва кнопки',text:'ТекÑÑ‚ (Значение)',type:'Тип',typeBtn:'Кнопка',typeSbm:'Отправка',typeRst:'СброÑ'},checkboxAndRadio:{checkboxTitle:'СвойÑтва флаговой кнопки',radioTitle:'СвойÑтва кнопки выбора',value:'Значение',selected:'Выбрано'},form:{title:'СвойÑтва формы',menu:'СвойÑтва формы',action:'ДейÑтвие',method:'Метод',encoding:'Кодировка'},select:{title:'СвойÑтва ÑпиÑка выбора',selectInfo:'Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ ÑпиÑке выбора',opAvail:'ДоÑтупные варианты',value:'Значение',size:'Размер',lines:'Ñтрок(и)',chkMulti:'Разрешить выбор неÑкольких вариантов',opText:'ТекÑÑ‚',opValue:'Значение',btnAdd:'Добавить',btnModify:'Изменить',btnUp:'ПоднÑÑ‚ÑŒ',btnDown:'ОпуÑтить',btnSetValue:'Пометить как выбранное',btnDelete:'Удалить'},textarea:{title:'СвойÑтва многоÑтрочного текÑтового полÑ',cols:'Колонок',rows:'Строк'},textfield:{title:'СвойÑтва текÑтового полÑ',name:'ИмÑ',value:'Значение',charWidth:'Ширина Ð¿Ð¾Ð»Ñ (в Ñимволах)',maxChars:'МакÑ. количеÑтво Ñимволов',type:'Тип Ñодержимого',typeText:'ТекÑÑ‚',typePass:'Пароль'},hidden:{title:'СвойÑтва Ñкрытого полÑ',name:'ИмÑ',value:'Значение'},image:{title:'СвойÑтва изображениÑ',titleButton:'СвойÑтва изображениÑ-кнопки',menu:'СвойÑтва изображениÑ',infoTab:'Данные об изображении',btnUpload:'Загрузить на Ñервер',upload:'Загрузить',alt:'Ðльтернативный текÑÑ‚',lockRatio:'СохранÑÑ‚ÑŒ пропорции',resetSize:'Вернуть обычные размеры',border:'Граница',hSpace:'Гориз. отÑтуп',vSpace:'Вертик. отÑтуп',alertUrl:'ПожалуйÑта, введите ÑÑылку на изображение',linkTab:'СÑылка',button2Img:'Ð’Ñ‹ желаете преобразовать Ñто изображение-кнопку в обычное изображение?',img2Button:'Ð’Ñ‹ желаете преобразовать Ñто обычное изображение в изображение-кнопку?',urlMissing:'Ðе указана ÑÑылка на изображение.',validateBorder:'Размер границ должен быть задан чиÑлом.',validateHSpace:'Горизонтальный отÑтуп должен быть задан чиÑлом.',validateVSpace:'Вертикальный отÑтуп должен быть задан чиÑлом.'},flash:{properties:'СвойÑтва Flash',propertiesTab:'СвойÑтва',title:'СвойÑтва Flash',chkPlay:'ÐвтоматичеÑкое воÑпроизведение',chkLoop:'ПовторÑÑ‚ÑŒ',chkMenu:'Включить меню Flash',chkFull:'Разрешить полноÑкранный режим',scale:'МаÑштабировать',scaleAll:'Пропорционально',scaleNoBorder:'Заходить за границы',scaleFit:'ЗаполнÑÑ‚ÑŒ',access:'ДоÑтуп к Ñкриптам',accessAlways:'Ð’Ñегда',accessSameDomain:'Ð’ том же домене',accessNever:'Ðикогда',alignAbsBottom:'По низу текÑта',alignAbsMiddle:'По Ñередине текÑта',alignBaseline:'По базовой линии',alignTextTop:'По верху текÑта',quality:'КачеÑтво',qualityBest:'Лучшее',qualityHigh:'Ð’Ñ‹Ñокое',qualityAutoHigh:'ЗапуÑк на выÑоком',qualityMedium:'Среднее',qualityAutoLow:'ЗапуÑк на низком',qualityLow:'Ðизкое',windowModeWindow:'Обычный',windowModeOpaque:'Ðепрозрачный',windowModeTransparent:'Прозрачный',windowMode:'ВзаимодейÑтвие Ñ Ð¾ÐºÐ½Ð¾Ð¼',flashvars:'Переменные Ð´Ð»Ñ Flash',bgcolor:'Цвет фона',hSpace:'Гориз. отÑтуп',vSpace:'Вертик. отÑтуп',validateSrc:'Ð’Ñ‹ должны ввеÑти ÑÑылку',validateHSpace:'Горизонтальный отÑтуп задаетÑÑ Ñ‡Ð¸Ñлом.',validateVSpace:'Вертикальный отÑтуп задаетÑÑ Ñ‡Ð¸Ñлом.'},spellCheck:{toolbar:'Проверить орфографию',title:'Проверка орфографии',notAvailable:'Извините, но в данный момент ÑÐµÑ€Ð²Ð¸Ñ Ð½ÐµÐ´Ð¾Ñтупен.',errorLoading:'Произошла ошибка при подключении к Ñерверу проверки орфографии: %s.',notInDic:'ОтÑутÑтвует в Ñловаре',changeTo:'Изменить на',btnIgnore:'ПропуÑтить',btnIgnoreAll:'ПропуÑтить вÑÑ‘',btnReplace:'Заменить',btnReplaceAll:'Заменить вÑÑ‘',btnUndo:'Отменить',noSuggestions:'- Варианты отÑутÑтвуют -',progress:'ÐžÑ€Ñ„Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÑетÑÑ...',noMispell:'Проверка орфографии завершена. Ошибок не найдено',noChanges:'Проверка орфографии завершена. Ðе изменено ни одного Ñлова',oneChange:'Проверка орфографии завершена. Изменено одно Ñлово',manyChanges:'Проверка орфографии завершена. Изменено Ñлов: %1',ieSpellDownload:'Модуль проверки орфографии не уÑтановлен. Хотите Ñкачать его?'},smiley:{toolbar:'Смайлы',title:'Ð’Ñтавить Ñмайл',options:'Выбор Ñмайла'},elementsPath:{eleLabel:'Путь Ñлементов',eleTitle:'Элемент %1'},numberedlist:'Ð’Ñтавить / удалить нумерованный ÑпиÑок',bulletedlist:'Ð’Ñтавить / удалить маркированный ÑпиÑок',indent:'Увеличить отÑтуп',outdent:'Уменьшить отÑтуп',justify:{left:'По левому краю',center:'По центру',right:'По правому краю',block:'По ширине'},blockquote:'Цитата',clipboard:{title:'Ð’Ñтавить',cutError:'ÐаÑтройки безопаÑноÑти вашего браузера не разрешают редактору выполнÑÑ‚ÑŒ операции по вырезке текÑта. ПожалуйÑта, иÑпользуйте Ð´Ð»Ñ Ñтого клавиатуру (Ctrl/Cmd+X).',copyError:'ÐаÑтройки безопаÑноÑти вашего браузера не разрешают редактору выполнÑÑ‚ÑŒ операции по копированию текÑта. ПожалуйÑта, иÑпользуйте Ð´Ð»Ñ Ñтого клавиатуру (Ctrl/Cmd+C).',pasteMsg:'ПожалуйÑта, вÑтавьте текÑÑ‚ в зону ниже, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ ÐºÐ»Ð°Ð²Ð¸Ð°Ñ‚ÑƒÑ€Ñƒ (<strong>Ctrl/Cmd+V</strong>) и нажмите кнопку "OK".',securityMsg:'ÐаÑтройки безопаÑноÑти вашего браузера не разрешают редактору напрÑмую обращатьÑÑ Ðº буферу обмена. Ð’Ñ‹ должны вÑтавить текÑÑ‚ Ñнова в Ñто окно.',pasteArea:'Зона Ð´Ð»Ñ Ð²Ñтавки'},pastefromword:{confirmCleanup:'ТекÑÑ‚, который вы желаете вÑтавить, по вÑей видимоÑти, был Ñкопирован из Word. Следует ли очиÑтить его перед вÑтавкой?',toolbar:'Ð’Ñтавить из Word',title:'Ð’Ñтавить из Word',error:'Ðевозможно очиÑтить вÑтавленные данные из-за внутренней ошибки'},pasteText:{button:'Ð’Ñтавить только текÑÑ‚',title:'Ð’Ñтавить только текÑÑ‚'},templates:{button:'Шаблоны',title:'Шаблоны Ñодержимого',options:'Параметры шаблона',insertOption:'Заменить текущее Ñодержимое',selectPromptMsg:'ПожалуйÑта, выберите, какой шаблон Ñледует открыть в редакторе',emptyListMsg:'(не определено ни одного шаблона)'},showBlocks:'Отображать блоки',stylesCombo:{label:'Стили',panelTitle:'Стили форматированиÑ',panelTitle1:'Стили блока',panelTitle2:'Стили Ñлемента',panelTitle3:'Стили объекта'},format:{label:'Форматирование',panelTitle:'Форматирование',tag_p:'Обычное',tag_pre:'Моноширинное',tag_address:'ÐдреÑ',tag_h1:'Заголовок 1',tag_h2:'Заголовок 2',tag_h3:'Заголовок 3',tag_h4:'Заголовок 4',tag_h5:'Заголовок 5',tag_h6:'Заголовок 6',tag_div:'Обычное (div)'},div:{title:'Создать Div-контейнер',toolbar:'Создать Div-контейнер',cssClassInputLabel:'КлаÑÑÑ‹ CSS',styleSelectLabel:'Стиль',IdInputLabel:'Идентификатор',languageCodeInputLabel:'Код Ñзыка',inlineStyleInputLabel:'Стиль Ñлемента',advisoryTitleInputLabel:'Заголовок',langDirLabel:'Ðаправление текÑта',langDirLTRLabel:'Слева направо (LTR)',langDirRTLLabel:'Справа налево (RTL)',edit:'Редактировать контейнер',remove:'Удалить контейнер'},iframe:{title:'СвойÑтва iFrame',toolbar:'iFrame',noUrl:'ПожалуйÑта, введите ÑÑылку фрейма',scrolling:'Отображать полоÑÑ‹ прокрутки',border:'Показать границы фрейма'},font:{label:'Шрифт',voiceLabel:'Шрифт',panelTitle:'Шрифт'},fontSize:{label:'Размер',voiceLabel:'Размер шрифта',panelTitle:'Размер шрифта'},colorButton:{textColorTitle:'Цвет текÑта',bgColorTitle:'Цвет фона',panelTitle:'Цвета',auto:'ÐвтоматичеÑки',more:'Ещё цвета...'},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:'Белый'},scayt:{title:'Проверка орфографии по мере ввода (SCAYT)',opera_title:'Ðе поддерживаетÑÑ Opera',enable:'Включить SCAYT',disable:'Отключить SCAYT',about:'О SCAYT',toggle:'Переключить SCAYT',options:'ÐаÑтройки',langs:'Языки',moreSuggestions:'Ещё варианты',ignore:'ПропуÑтить',ignoreAll:'ПропуÑтить вÑÑ‘',addWord:'Добавить Ñлово',emptyDic:'Ð’Ñ‹ должны указать название ÑловарÑ.',noSuggestions:'No suggestions',optionsTab:'Параметры',allCaps:'Игнорировать Ñлова из заглавных букв',ignoreDomainNames:'Игнорировать доменные имена',mixedCase:'Игнорировать Ñлова из букв в разном региÑтре',mixedWithDigits:'Игнорировать Ñлова, Ñодержащие цифры',languagesTab:'Языки',dictionariesTab:'Словари',dic_field_name:'Ðазвание ÑловарÑ',dic_create:'Создать',dic_restore:'ВоÑÑтановить',dic_delete:'Удалить',dic_rename:'Переименовать',dic_info:'Изначально, пользовательÑкий Ñловарь хранитÑÑ Ð² cookie, которые ограничены в размере. Когда Ñловарь Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð²Ñ‹Ñ€Ð°Ñтает до размеров, что его невозможно хранить в cookie, он переноÑитÑÑ Ð½Ð° хранение на наш Ñервер. Чтобы Ñохранить ваш Ñловарь на нашем Ñервере, вам Ñледует указать название вашего ÑловарÑ. ЕÑли у Ð²Ð°Ñ ÑƒÐ¶Ðµ был Ñловарь, который вы ÑохранÑли на нашем Ñервере, то укажите здеÑÑŒ его название и нажмите кнопку ВоÑÑтановить.',aboutTab:'О SCAYT'},about:{title:'О CKEditor',dlgTitle:'О CKEditor',help:'$1 Ñодержит подробную Ñправку по иÑпользованию.',userGuide:'РуководÑтво Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ CKEditor',moreInfo:'Ð”Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ о лицензии, пожалуйÑта, перейдите на наш Ñайт:',copy:'Copyright &copy; $1. Ð’Ñе права защищены.'},maximize:'Развернуть',minimize:'Свернуть',fakeobjects:{anchor:'Якорь',flash:'Flash анимациÑ',iframe:'iFrame',hiddenfield:'Скрытое поле',unknown:'ÐеизвеÑтный объект'},resize:'Перетащите Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð°',colordialog:{title:'Выберите цвет',options:'ÐаÑтройки цвета',highlight:'Под курÑором',selected:'Выбранный цвет',clear:'ОчиÑтить'},toolbarCollapse:'Свернуть панель инÑтрументов',toolbarExpand:'Развернуть панель инÑтрументов',toolbarGroups:{document:'Документ',clipboard:'Буфер обмена / Отмена дейÑтвий',editing:'Корректировка',forms:'Формы',basicstyles:'ПроÑтые Ñтили',paragraph:'Ðбзац',links:'СÑылки',insert:'Ð’Ñтавка',styles:'Стили',colors:'Цвета',tools:'ИнÑтрументы'},bidi:{ltr:'Ðаправление текÑта Ñлева направо',rtl:'Ðаправление текÑта Ñправа налево'},docprops:{label:'СвойÑтва документа',title:'СвойÑтва документа',design:'Дизайн',meta:'Метаданные',chooseColor:'Выберите',other:'Другой ...',docTitle:'Заголовок Ñтраницы',charset:'Кодировка набора Ñимволов',charsetOther:'Ð”Ñ€ÑƒÐ³Ð°Ñ ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ° набора Ñимволов',charsetASCII:'ASCII',charsetCE:'Центрально-европейÑкаÑ',charsetCT:'КитайÑÐºÐ°Ñ Ñ‚Ñ€Ð°Ð´Ð¸Ñ†Ð¸Ð¾Ð½Ð½Ð°Ñ (Big5)',charsetCR:'Кириллица',charsetGR:'ГречеÑкаÑ',charsetJP:'ЯпонÑкаÑ',charsetKR:'КорейÑкаÑ',charsetTR:'ТурецкаÑ',charsetUN:'Юникод (UTF-8)',charsetWE:'Западно-европейÑкаÑ',docType:'Заголовок типа документа',docTypeOther:'Другой заголовок типа документа',xhtmlDec:'Включить объÑÐ²Ð»ÐµÐ½Ð¸Ñ XHTML',bgColor:'Цвет фона',bgImage:'СÑылка на фоновое изображение',bgFixed:'Фон прикреплён (не проматываетÑÑ)',txtColor:'Цвет текÑта',margin:'ОтÑтупы Ñтраницы',marginTop:'Верхний',marginLeft:'Левый',marginRight:'Правый',marginBottom:'Ðижний',metaKeywords:'Ключевые Ñлова документа (через запÑтую)',metaDescription:'ОпиÑание документа',metaAuthor:'Ðвтор',metaCopyright:'ÐвторÑкие права',previewHtml:'<p>Это <strong>пример</strong> текÑта, напиÑанного Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/sk.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/sk.js
deleted file mode 100644
index 6967118..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/sk.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.sk={dir:'ltr',editorTitle:'Editor formátovaného textu, %1',editorHelp:'StlaÄte ALT 0 pre nápovedu',toolbars:'LiÅ¡ty nástrojov editora',editor:'Editor formátovaného textu',source:'Zdroj',newPage:'Nová stránka',save:'UložiÅ¥',preview:'Náhľad',cut:'Vystrihnúť',copy:'KopírovaÅ¥',paste:'VložiÅ¥',print:'TlaÄ',underline:'PodÄiarknuté',bold:'TuÄné',italic:'Kurzíva',selectAll:'VybraÅ¥ vÅ¡etko',removeFormat:'OdstrániÅ¥ formátovanie',strike:'PreÄiarknuté',subscript:'Dolný index',superscript:'Horný index',horizontalrule:'VložiÅ¥ vodorovnú Äiaru',pagebreak:'VložiÅ¥ oddeľovaÄ stránky pre tlaÄ',pagebreakAlt:'Zalomenie strany',unlink:'OdstrániÅ¥ odkaz',undo:'Späť',redo:'Znovu',common:{browseServer:'PrechádzaÅ¥ server',url:'URL',protocol:'Protokol',upload:'NahraÅ¥',uploadSubmit:'OdoslaÅ¥ to na server',image:'Obrázok',flash:'Flash',form:'Formulár',checkbox:'ZaÅ¡krtávacie políÄko',radio:'PrepínaÄ',textField:'Textové pole',textarea:'Textová oblasÅ¥',hiddenField:'Skryté pole',button:'TlaÄidlo',select:'Rozbaľovací zoznam',imageButton:'Obrázkové tlaÄidlo',notSet:'<nenastavené>',id:'Id',name:'Meno',langDir:'Orientácia jazyka',langDirLtr:'Zľava doprava (LTR)',langDirRtl:'Sprava doľava (RTL)',langCode:'Kód jazyka',longDescr:'Dlhý popis URL',cssClass:'Triedy Å¡týlu',advisoryTitle:'Pomocný titulok',cssStyle:'Å týl',ok:'OK',cancel:'ZruÅ¡iÅ¥',close:'Zatvorit',preview:'Náhľad',generalTab:'Hlavné',advancedTab:'Rozšírené',validateNumberFailed:'Hodnota nieje Äíslo.',confirmNewPage:'VÅ¡etky neuložené zmeny v tomto obsahu budú stratené. Ste si istý, že chcete naÄítaÅ¥ novú stránku?',confirmCancel:'Niektore možnosti boli zmenené. Naozaj chcete zavrieÅ¥ okno?',options:'Možnosti',target:'Cieľ',targetNew:'Nové okno (_blank)',targetTop:'NajvrchnejÅ¡ie okno (_top)',targetSelf:'To isté okno (_self)',targetParent:'RodiÄovské okno (_parent)',langDirLTR:'Zľava doprava (LTR)',langDirRTL:'Sprava doľava (RTL)',styles:'Å týl',cssClasses:'Triedy Å¡týlu',width:'Šírka',height:'Výška',align:'Zarovnanie',alignLeft:'Vľavo',alignRight:'Vpravo',alignCenter:'Na stred',alignTop:'Nahor',alignMiddle:'Na stred',alignBottom:'Dole',invalidValue:'Neplatná hodnota.',invalidHeight:'Výška musí byÅ¥ Äíslo.',invalidWidth:'Šírka musí byÅ¥ Äíslo.',invalidCssLength:'Å pecifikovaná hodnota pre pole "%1" musí byÅ¥ kladné Äíslo s alebo bez platnej CSS mernej jednotky (px, %, in, cm, mm, em, ex, pt alebo pc).',invalidHtmlLength:'Å pecifikovaná hodnota pre pole "%1" musí byÅ¥ kladné Äíslo s alebo bez platnej HTML mernej jednotky (px alebo %).',invalidInlineStyle:'Zadaná hodnota pre inline Å¡týl musí pozostávaÅ¥ s jedného, alebo viac dvojíc formátu "názov: hodnota", oddelených bodkoÄiarkou.',cssLengthTooltip:'Vložte Äíslo pre hodnotu v pixeloch alebo Äíslo so správnou CSS jednotou (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, nedostupný</span>'},contextmenu:{options:'Možnosti kontextového menu'},specialChar:{toolbar:'VložiÅ¥ Å¡peciálny znak',title:'Výber Å¡peciálneho znaku',options:'Možnosti Å¡peciálneho znaku'},link:{toolbar:'Odkaz',other:'<iný>',menu:'UpraviÅ¥ odkaz',title:'Odkaz',info:'Informácie o odkaze',target:'Cieľ',upload:'NahraÅ¥',advanced:'Rozšírené',type:'Typ odkazu',toUrl:'URL',toAnchor:'Odkaz na kotvu v texte',toEmail:'E-mail',targetFrame:'<rámec>',targetPopup:'<vyskakovacie okno>',targetFrameName:'Názov rámu cieľa',targetPopupName:'Názov vyskakovacieho okna',popupFeatures:'Vlastnosti vyskakovacieho okna',popupResizable:'Meniteľná veľkosÅ¥ (resizable)',popupStatusBar:'Stavový riadok (status bar)',popupLocationBar:'Panel umiestnenia (location bar)',popupToolbar:'Panel nástrojov (toolbar)',popupMenuBar:'Panel ponuky (menu bar)',popupFullScreen:'Celá obrazovka (IE)',popupScrollBars:'Posuvníky (scroll bars)',popupDependent:'ZávislosÅ¥ (Netscape)',popupLeft:'Ľavý okraj',popupTop:'Horný okraj',id:'Id',langDir:'Orientácia jazyka',langDirLTR:'Zľava doprava (LTR)',langDirRTL:'Sprava doľava (RTL)',acccessKey:'Prístupový kľúÄ',name:'Názov',langCode:'Orientácia jazyka',tabIndex:'Poradie prvku (tab index)',advisoryTitle:'Pomocný titulok',advisoryContentType:'Pomocný typ obsahu',cssClasses:'Triedy Å¡týlu',charset:'Priradená znaková sada',styles:'Å týl',rel:'VzÅ¥ah (rel)',selectAnchor:'VybraÅ¥ kotvu',anchorName:'Podľa mena kotvy',anchorId:'Podľa Id objektu',emailAddress:'E-Mailová adresa',emailSubject:'Predmet správy',emailBody:'Telo správy',noAnchors:'(V dokumente nie sú dostupné žiadne kotvy)',noUrl:'Zadajte prosím URL odkazu',noEmail:'Zadajte prosím e-mailovú adresu'},anchor:{toolbar:'Kotva',menu:'UpraviÅ¥ kotvu',title:'Vlastnosti kotvy',name:'Názov kotvy',errorName:'Zadajte prosím názov kotvy',remove:'OdstrániÅ¥ kotvu'},list:{numberedTitle:'Vlastnosti Äíselného zoznamu',bulletedTitle:'Vlastnosti odrážkového zoznamu',type:'Typ',start:'ZaÄiatok',validateStartNumber:'ZaÄiatoÄné Äíslo Äíselného zoznamu musí byÅ¥ celé Äíslo.',circle:'Kruh',disc:'Disk',square:'Å tvorec',none:'NiÄ',notset:'<nenastavené>',armenian:'Arménske Äíslovanie',georgian:'Gregoriánske Äíslovanie (an, ban, gan, atÄ.)',lowerRoman:'Malé rímske (i, ii, iii, iv, v, atÄ.)',upperRoman:'Veľké rímske (I, II, III, IV, V, atÄ.)',lowerAlpha:'Malé latinské (a, b, c, d, e, atÄ.)',upperAlpha:'Veľké latinské (A, B, C, D, E, atÄ.)',lowerGreek:'Malé grécke (alfa, beta, gama, atÄ.)',decimal:'Číselné (1, 2, 3, atÄ.)',decimalLeadingZero:'Číselné s nulou (01, 02, 03, atÄ.)'},findAndReplace:{title:'NájsÅ¥ a nahradiÅ¥',find:'HľadaÅ¥',replace:'NahradiÅ¥',findWhat:'ÄŒo hľadaÅ¥:',replaceWith:'Čím nahradiÅ¥:',notFoundMsg:'Hľadaný text nebol nájdený.',findOptions:'NájsÅ¥ možnosti',matchCase:'RozliÅ¡ovaÅ¥ malé a veľké písmená',matchWord:'Len celé slová',matchCyclic:'CykliÅ¥ zhodu',replaceAll:'NahradiÅ¥ vÅ¡etko',replaceSuccessMsg:'%1 výskyt(ov) nahradených.'},table:{toolbar:'Tabuľka',title:'Vlastnosti tabuľky',menu:'Vlastnosti tabuľky',deleteTable:'VymazaÅ¥ tabuľku',rows:'Riadky',columns:'Stĺpce',border:'Šírka rámu (border)',widthPx:'pixelov',widthPc:'percent',widthUnit:'jednotka šírky',cellSpace:'VzdialenosÅ¥ buniek (cell spacing)',cellPad:'Odsadenie obsahu (cell padding)',caption:'Popis',summary:'Prehľad',headers:'HlaviÄka',headersNone:'Žiadne',headersColumn:'Prvý stĺpec',headersRow:'Prvý riadok',headersBoth:'Obe',invalidRows:'PoÄet riadkov musí byÅ¥ Äíslo väÄÅ¡ie ako 0.',invalidCols:'PoÄet stĺpcov musí byÅ¥ Äíslo väÄÅ¡ie ako 0.',invalidBorder:'Å irka rámu musí byÅ¥ Äíslo.',invalidWidth:'Å irka tabuľky musí byÅ¥ Äíslo.',invalidHeight:'Výška tabuľky musí byÅ¥ Äíslo.',invalidCellSpacing:'Medzera mädzi bunkami (cell spacing) musí byÅ¥ kladné Äíslo.',invalidCellPadding:'Odsadenie v bunkách (cell padding) musí byÅ¥ kladné Äíslo.',cell:{menu:'Bunka',insertBefore:'VložiÅ¥ bunku pred',insertAfter:'VložiÅ¥ bunku za',deleteCell:'VymazaÅ¥ bunky',merge:'ZlúÄiÅ¥ bunky',mergeRight:'ZlúÄiÅ¥ doprava',mergeDown:'ZlúÄiÅ¥ dole',splitHorizontal:'RozdeliÅ¥ bunky horizontálne',splitVertical:'RozdeliÅ¥ bunky vertikálne',title:'Vlastnosti bunky',cellType:'Typ bunky',rowSpan:'Rozsah riadkov',colSpan:'Rozsah stĺpcov',wordWrap:'Zalomovanie riadkov',hAlign:'Horizontálne zarovnanie',vAlign:'Vertikálne zarovnanie',alignBaseline:'Základná Äiara (baseline)',bgColor:'Farba pozadia',borderColor:'Farba rámu',data:'Dáta',header:'HlaviÄka',yes:'Ãno',no:'Nie',invalidWidth:'Šírka bunky musí byÅ¥ Äíslo.',invalidHeight:'Výška bunky musí byÅ¥ Äíslo.',invalidRowSpan:'Rozsah riadkov musí byÅ¥ celé Äíslo.',invalidColSpan:'Rozsah stĺpcov musí byÅ¥ celé Äíslo.',chooseColor:'VybraÅ¥'},row:{menu:'Riadok',insertBefore:'VložiÅ¥ riadok pred',insertAfter:'VložiÅ¥ riadok po',deleteRow:'VymazaÅ¥ riadky'},column:{menu:'Stĺpec',insertBefore:'VložiÅ¥ stĺpec pred',insertAfter:'VložiÅ¥ stĺpec po',deleteColumn:'ZmazaÅ¥ stĺpce'}},button:{title:'Vlastnosti tlaÄidla',text:'Text (Hodnota)',type:'Typ',typeBtn:'TlaÄidlo',typeSbm:'OdoslaÅ¥',typeRst:'ResetovaÅ¥'},checkboxAndRadio:{checkboxTitle:'Vlastnosti zaÅ¡krtávacieho políÄka',radioTitle:'Vlastnosti prepínaÄa (radio button)',value:'Hodnota',selected:'Vybrané (selected)'},form:{title:'Vlastnosti formulára',menu:'Vlastnosti formulára',action:'Akcia (action)',method:'Metóda (method)',encoding:'Kódovanie (encoding)'},select:{title:'Vlastnosti rozbaľovacieho zoznamu',selectInfo:'Informácie o výbere',opAvail:'Dostupné možnosti',value:'Hodnota',size:'VeľkosÅ¥',lines:'riadkov',chkMulti:'PovoliÅ¥ viacnásobný výber',opText:'Text',opValue:'Hodnota',btnAdd:'PridaÅ¥',btnModify:'UpraviÅ¥',btnUp:'Hore',btnDown:'Dole',btnSetValue:'NastaviÅ¥ ako vybranú hodnotu',btnDelete:'VymazaÅ¥'},textarea:{title:'Vlastnosti textovej oblasti (textarea)',cols:'Stĺpcov',rows:'Riadkov'},textfield:{title:'Vlastnosti textového poľa',name:'Názov (name)',value:'Hodnota',charWidth:'Šírka poľa (podľa znakov)',maxChars:'Maximálny poÄet znakov',type:'Typ',typeText:'Text',typePass:'Heslo'},hidden:{title:'Vlastnosti skrytého poľa',name:'Názov (name)',value:'Hodnota'},image:{title:'Vlastnosti obrázka',titleButton:'Vlastnosti obrázkového tlaÄidla',menu:'Vlastnosti obrázka',infoTab:'Informácie o obrázku',btnUpload:'OdoslaÅ¥ to na server',upload:'NahraÅ¥',alt:'Alternatívny text',lockRatio:'Pomer zámky',resetSize:'Pôvodná veľkosÅ¥',border:'Rám (border)',hSpace:'H-medzera',vSpace:'V-medzera',alertUrl:'Zadajte prosím URL obrázka',linkTab:'Odkaz',button2Img:'Chcete zmeniÅ¥ vybrané obrázkové tlaÄidlo na jednoduchý obrázok?',img2Button:'Chcete zmeniÅ¥ vybraný obrázok na obrázkové tlaÄidlo?',urlMissing:'Chýba URL zdroja obrázka.',validateBorder:'Rám (border) musí byÅ¥ celé Äíslo.',validateHSpace:'H-medzera musí byÅ¥ celé Äíslo.',validateVSpace:'V-medzera musí byÅ¥ celé Äíslo.'},flash:{properties:'Vlastnosti Flashu',propertiesTab:'Vlastnosti',title:'Vlastnosti Flashu',chkPlay:'Automatické prehrávanie',chkLoop:'Opakovanie',chkMenu:'PovoliÅ¥ Flash Menu',chkFull:'PovoliÅ¥ zobrazenie na celú obrazovku (fullscreen)',scale:'Mierka',scaleAll:'ZobraziÅ¥ vÅ¡etko',scaleNoBorder:'Bez okrajov',scaleFit:'RoztiahnuÅ¥, aby sedelo presne',access:'Prístup skriptu',accessAlways:'Vždy',accessSameDomain:'Rovnaká doména',accessNever:'Nikdy',alignAbsBottom:'Úplne dole',alignAbsMiddle:'Do stredu',alignBaseline:'Na základnú Äiaru',alignTextTop:'Na horný okraj textu',quality:'Kvalita',qualityBest:'NajlepÅ¡ia',qualityHigh:'Vysoká',qualityAutoHigh:'Automaticky vysoká',qualityMedium:'Stredná',qualityAutoLow:'Automaticky nízka',qualityLow:'Nízka',windowModeWindow:'Okno',windowModeOpaque:'Nepriehľadný',windowModeTransparent:'Priehľadný',windowMode:'Mód okna',flashvars:'Premenné pre Flash',bgcolor:'Farba pozadia',hSpace:'H-medzera',vSpace:'V-medzera',validateSrc:'URL nesmie byÅ¥ prázdne.',validateHSpace:'H-medzera musí byÅ¥ Äíslo.',validateVSpace:'V-medzera musí byÅ¥ Äíslo'},spellCheck:{toolbar:'Kontrola pravopisu',title:'SkontrolovaÅ¥ pravopis',notAvailable:'PrepáÄte, ale služba je momentálne nedostupná.',errorLoading:'Chyba pri naÄítaní slovníka z adresy: %s.',notInDic:'Nie je v slovníku',changeTo:'ZmeniÅ¥ na',btnIgnore:'IgnorovaÅ¥',btnIgnoreAll:'IgnorovaÅ¥ vÅ¡etko',btnReplace:'Prepísat',btnReplaceAll:'Prepísat vÅ¡etko',btnUndo:'Späť',noSuggestions:'- Žiadny návrh -',progress:'Prebieha kontrola pravopisu...',noMispell:'Kontrola pravopisu dokonÄená: Neboli nájdené žiadne chyby pravopisu',noChanges:'Kontrola pravopisu dokonÄená: Neboli zmenené žiadne slová',oneChange:'Kontrola pravopisu dokonÄená: Bolo zmenené jedno slovo',manyChanges:'Kontrola pravopisu dokonÄená: Bolo zmenených %1 slov',ieSpellDownload:'Kontrola pravopisu nie je naiÅ¡talovaná. Chcete ju teraz stiahnuÅ¥?'},smiley:{toolbar:'Smajlíky',title:'VložiÅ¥ smajlíka',options:'Možnosti smajlíkov'},elementsPath:{eleLabel:'Cesta prvkov',eleTitle:'%1 prvok'},numberedlist:'VložiÅ¥/OdstrániÅ¥ Äíslovaný zoznam',bulletedlist:'VložiÅ¥/OdstrániÅ¥ zoznam s odrážkami',indent:'ZväÄÅ¡iÅ¥ odsadenie',outdent:'ZmenÅ¡iÅ¥ odsadenie',justify:{left:'ZarovnaÅ¥ vľavo',center:'ZarovnaÅ¥ na stred',right:'ZarovnaÅ¥ vpravo',block:'ZarovnaÅ¥ do bloku'},blockquote:'Citácia',clipboard:{title:'VložiÅ¥',cutError:'BezpeÄnostné nastavenia Vášho prehliadaÄa nedovoľujú editoru automaticky spustiÅ¥ operáciu vystrihnutia. Prosím, použite na to klávesnicu (Ctrl/Cmd+X).',copyError:'BezpeÄnostné nastavenia Vášho prehliadaÄa nedovoľujú editoru automaticky spustiÅ¥ operáciu kopírovania. Prosím, použite na to klávesnicu (Ctrl/Cmd+C).',pasteMsg:'Prosím, vložte nasledovný rámÄek použitím klávesnice (<STRONG>Ctrl/Cmd+V</STRONG>) a stlaÄte OK.',securityMsg:'Kvôli vaÅ¡im bezpeÄnostným nastaveniam prehliadaÄa editor nie je schopný pristupovaÅ¥ k vaÅ¡ej schránke na kopírovanie priamo. Vložte to preto do tohto okna.',pasteArea:'Miesto pre vloženie'},pastefromword:{confirmCleanup:'Vkladaný text vyzerá byÅ¥ skopírovaný z Wordu. Chcete ho automaticky vyÄistiÅ¥ pred vkladaním?',toolbar:'VložiÅ¥ z Wordu',title:'VložiÅ¥ z Wordu',error:'Nebolo možné vyÄistiÅ¥ vložené dáta kvôli internej chybe'},pasteText:{button:'VložiÅ¥ ako Äistý text',title:'VložiÅ¥ ako Äistý text'},templates:{button:'Å ablóny',title:'Å ablóny obsahu',options:'Možnosti Å¡ablóny',insertOption:'NahradiÅ¥ aktuálny obsah',selectPromptMsg:'Prosím vyberte Å¡ablónu na otvorenie v editore',emptyListMsg:'(Žiadne Å¡ablóny nedefinované)'},showBlocks:'UkázaÅ¥ bloky',stylesCombo:{label:'Å týly',panelTitle:'Formátovanie Å¡týlov',panelTitle1:'Å týly bloku',panelTitle2:'Vnútroriadkové (inline) Å¡týly',panelTitle3:'Å týly objeku'},format:{label:'Formát',panelTitle:'Formát',tag_p:'Normálny',tag_pre:'Formátovaný',tag_address:'Adresa',tag_h1:'Nadpis 1',tag_h2:'Nadpis 2',tag_h3:'Nadpis 3',tag_h4:'Nadpis 4',tag_h5:'Nadpis 5',tag_h6:'Nadpis 6',tag_div:'Normálny (DIV)'},div:{title:'VytvoriÅ¥ Div kontajner',toolbar:'VytvoriÅ¥ Div kontajner',cssClassInputLabel:'Triedy Å¡týlu',styleSelectLabel:'Å týl',IdInputLabel:'Id',languageCodeInputLabel:'Kód jazyka',inlineStyleInputLabel:'Inline Å¡týl',advisoryTitleInputLabel:'Pomocný titulok',langDirLabel:'Smer jazyka',langDirLTRLabel:'Zľava doprava (LTR)',langDirRTLLabel:'Zprava doľava (RTL)',edit:'UpraviÅ¥ Div',remove:'OdstrániÅ¥ Div'},iframe:{title:'Vlastnosti IFrame',toolbar:'IFrame',noUrl:'Prosím, vložte URL iframe',scrolling:'PovoliÅ¥ skrolovanie',border:'ZobraziÅ¥ rám frame-u'},font:{label:'Font',voiceLabel:'Font',panelTitle:'Názov fontu'},fontSize:{label:'VeľkosÅ¥',voiceLabel:'VeľkosÅ¥ písma',panelTitle:'VeľkosÅ¥ písma'},colorButton:{textColorTitle:'Farba textu',bgColorTitle:'Farba pozadia',panelTitle:'Farby',auto:'Automaticky',more:'Viac farieb...'},colors:{'000':'ÄŒierna',800000:'Maroon','8B4513':'Sedlová hnedá','2F4F4F':'Tmavo bridlicovo sivá','008080':'Modrozelená','000080':'Tmavomodrá','4B0082':'Indigo',696969:'Tmavá sivá',B22222:'Ohňová tehlová',A52A2A:'Hnedá',DAA520:'Zlatobyľ','006400':'Tmavá zelená','40E0D0':'Tyrkysová','0000CD':'Stredná modrá',800080:'Purpurová',808080:'Sivá',F00:'ÄŒervená',FF8C00:'Tmavá oranžová',FFD700:'Zlatá','008000':'Zelená','0FF':'Azúrová','00F':'Modrá',EE82EE:'Fialová',A9A9A9:'Tmavá sivá',FFA07A:'Svetlo lososová',FFA500:'Oranžová',FFFF00:'Žltá','00FF00':'Vápenná',AFEEEE:'Svetlo tyrkysová',ADD8E6:'Svetlo modrá',DDA0DD:'Slivková',D3D3D3:'Svetlo sivá',FFF0F5:'Levanduľovo Äervená',FAEBD7:'Antická biela',FFFFE0:'Svetlo žltá',F0FFF0:'Medová',F0FFFF:'Azúrová',F0F8FF:'Alicovo modrá',E6E6FA:'Levanduľová',FFF:'Biela'},scayt:{title:'Kontrola pravopisu poÄas písania',opera_title:'Nepodporované Operou',enable:'PovoliÅ¥ KPPP (Kontrola pravopisu poÄas písania)',disable:'ZakázaÅ¥ KPPP (Kontrola pravopisu poÄas písania)',about:'O KPPP (Kontrola pravopisu poÄas písania)',toggle:'Prepnúť KPPP (Kontrola pravopisu poÄas písania)',options:'Možnosti',langs:'Jazyky',moreSuggestions:'Viac návrhov',ignore:'IgnorovaÅ¥',ignoreAll:'IgnorovaÅ¥ vÅ¡etko',addWord:'PridaÅ¥ slovo',emptyDic:'Názov slovníka by nemal byÅ¥ prázdny.',noSuggestions:'No suggestions',optionsTab:'Možnosti',allCaps:'IgnorovaÅ¥ slová písané veľkými písmenami',ignoreDomainNames:'IznorovaÅ¥ názvy domén',mixedCase:'IgnorovaÅ¥ slová so smieÅ¡anými veľkými a malými písmenami',mixedWithDigits:'IgnorovaÅ¥ slová s Äíslami',languagesTab:'Jazyky',dictionariesTab:'Slovníky',dic_field_name:'Názov slovníka',dic_create:'VytvoriÅ¥',dic_restore:'ObnoviÅ¥',dic_delete:'VymazaÅ¥',dic_rename:'PremenovaÅ¥',dic_info:'SpoÄiatku je užívateľský slovník uložený v cookie. Cookie vÅ¡ak majú obmedzenú veľkosÅ¥. KeÄ užívateľský slovník narastie do bodu, kedy nemôže byÅ¥ uložený v cookie, potom musí byÅ¥ slovník uložený na naÅ¡om serveri. Pre uloženie vášho osobného slovníka na náš server by ste mali zadaÅ¥ názov pre váš slovník. Ak už máte uložený slovník, prosíme, napíšte jeho názov a kliknite tlaÄidlo ObnoviÅ¥.',aboutTab:'O'},about:{title:'O CKEditor-e',dlgTitle:'O CKEditor-e',help:'ZaÅ¡krtnite $1 pre pomoc.',userGuide:'Používateľská príruÄka KCEditor-a',moreInfo:'Pre informácie o licenciách, prosíme, navÅ¡tívte naÅ¡u web stránku:',copy:'Copyright &copy; $1. VÅ¡etky práva vyhradené.'},maximize:'MaximalizovaÅ¥',minimize:'MinimalizovaÅ¥',fakeobjects:{anchor:'Kotva',flash:'Flash animácia',iframe:'IFrame',hiddenfield:'Skryté pole',unknown:'Neznámy objekt'},resize:'Potiahnite pre zmenu veľkosti',colordialog:{title:'Vyberte farbu',options:'Možnosti farby',highlight:'ZvýrazniÅ¥',selected:'Vybraná farba',clear:'VyÄistiÅ¥'},toolbarCollapse:'ZbaliÅ¥ liÅ¡tu nástrojov',toolbarExpand:'RozbaliÅ¥ liÅ¡tu nástrojov',toolbarGroups:{document:'Dokument',clipboard:'Schránka pre kopírovanie/Späť',editing:'Upravovanie',forms:'Formuláre',basicstyles:'Základné Å¡týly',paragraph:'Odstavec',links:'Odkazy',insert:'VložiÅ¥',styles:'Å týly',colors:'Farby',tools:'Nástroje'},bidi:{ltr:'Smer textu zľava doprava',rtl:'Smer textu sprava doľava'},docprops:{label:'Vlastnosti dokumentu',title:'Vlastnosti dokumentu',design:'Design',meta:'Meta znaÄky',chooseColor:'VybraÅ¥',other:'Iný...',docTitle:'Titulok stránky',charset:'Znaková sada',charsetOther:'Iná znaková sada',charsetASCII:'ASCII',charsetCE:'Stredoeurópska',charsetCT:'ČínÅ¡tina tradiÄná (Big5)',charsetCR:'Cyrillika',charsetGR:'GréÄtina',charsetJP:'JaponÄina',charsetKR:'KorejÄina',charsetTR:'TureÄtina',charsetUN:'Unicode (UTF-8)',charsetWE:'Západná európa',docType:'Typ záhlavia dokumentu',docTypeOther:'Iný typ záhlavia dokumentu',xhtmlDec:'VložiÅ¥ deklarácie XHTML',bgColor:'Farba pozadia',bgImage:'URL obrázka na pozadí',bgFixed:'Fixné pozadie',txtColor:'Farba textu',margin:'Okraje stránky (margins)',marginTop:'Horný',marginLeft:'Ľavý',marginRight:'Pravý',marginBottom:'Dolný',metaKeywords:'Indexované kľúÄové slová dokumentu (oddelené Äiarkou)',metaDescription:'Popis dokumentu',metaAuthor:'Autor',metaCopyright:'Autorské práva (copyright)',previewHtml:'<p>Toto je nejaký <strong>ukážkový text</strong>. Používate <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/sl.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/sl.js
deleted file mode 100644
index 200bcf7..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/sl.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.sl={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'Editor toolbars',editor:'Rich Text Editor',source:'Izvorna koda',newPage:'Nova stran',save:'Shrani',preview:'Predogled',cut:'Izreži',copy:'Kopiraj',paste:'Prilepi',print:'Natisni',underline:'PodÄrtano',bold:'Krepko',italic:'LežeÄe',selectAll:'Izberi vse',removeFormat:'Odstrani oblikovanje',strike:'PreÄrtano',subscript:'Podpisano',superscript:'Nadpisano',horizontalrule:'Vstavi vodoravno Ärto',pagebreak:'Vstavi prelom strani',pagebreakAlt:'Page Break',unlink:'Odstrani povezavo',undo:'Razveljavi',redo:'Ponovi',common:{browseServer:'Prebrskaj na strežniku',url:'URL',protocol:'Protokol',upload:'Prenesi',uploadSubmit:'PoÅ¡lji na strežnik',image:'Slika',flash:'Flash',form:'Obrazec',checkbox:'Potrditveno polje',radio:'Izbirno polje',textField:'Vnosno polje',textarea:'Vnosno obmoÄje',hiddenField:'Skrito polje',button:'Gumb',select:'Spustni seznam',imageButton:'Gumb s sliko',notSet:'<ni postavljen>',id:'Id',name:'Ime',langDir:'Smer jezika',langDirLtr:'Od leve proti desni (LTR)',langDirRtl:'Od desne proti levi (RTL)',langCode:'Oznaka jezika',longDescr:'Dolg opis URL-ja',cssClass:'Razred stilne predloge',advisoryTitle:'Predlagani naslov',cssStyle:'Slog',ok:'V redu',cancel:'PrekliÄi',close:'Close',preview:'Preview',generalTab:'SploÅ¡no',advancedTab:'Napredno',validateNumberFailed:'Ta vrednost ni Å¡tevilo.',confirmNewPage:'Vse neshranjene spremembe te vsebine bodo izgubljene. Ali gotovo želiÅ¡ naložiti novo stran?',confirmCancel:'Nekaj možnosti je bilo spremenjenih. Ali gotovo želiÅ¡ zapreti okno?',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:'Å irina',height:'ViÅ¡ina',align:'Poravnava',alignLeft:'Levo',alignRight:'Desno',alignCenter:'Sredinsko',alignTop:'Na vrh',alignMiddle:'V sredino',alignBottom:'Na dno',invalidValue:'Invalid value.',invalidHeight:'ViÅ¡ina mora biti Å¡tevilo.',invalidWidth:'Å irina mora biti Å¡tevilo.',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, nedosegljiv</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'Vstavi posebni znak',title:'Izberi posebni znak',options:'Special Character Options'},link:{toolbar:'Vstavi/uredi povezavo',other:'<drug>',menu:'Uredi povezavo',title:'Povezava',info:'Podatki o povezavi',target:'Cilj',upload:'Prenesi',advanced:'Napredno',type:'Vrsta povezave',toUrl:'URL',toAnchor:'Zaznamek na tej strani',toEmail:'Elektronski naslov',targetFrame:'<okvir>',targetPopup:'<pojavno okno>',targetFrameName:'Ime ciljnega okvirja',targetPopupName:'Ime pojavnega okna',popupFeatures:'ZnaÄilnosti pojavnega okna',popupResizable:'Spremenljive velikosti',popupStatusBar:'Vrstica stanja',popupLocationBar:'Naslovna vrstica',popupToolbar:'Orodna vrstica',popupMenuBar:'Menijska vrstica',popupFullScreen:'Celozaslonska slika (IE)',popupScrollBars:'Drsniki',popupDependent:'Podokno (Netscape)',popupLeft:'Lega levo',popupTop:'Lega na vrhu',id:'Id',langDir:'Smer jezika',langDirLTR:'Od leve proti desni (LTR)',langDirRTL:'Od desne proti levi (RTL)',acccessKey:'Vstopno geslo',name:'Ime',langCode:'Smer jezika',tabIndex:'Å tevilka tabulatorja',advisoryTitle:'Predlagani naslov',advisoryContentType:'Predlagani tip vsebine (content-type)',cssClasses:'Razred stilne predloge',charset:'Kodna tabela povezanega vira',styles:'Slog',rel:'Relationship',selectAnchor:'Izberi zaznamek',anchorName:'Po imenu zaznamka',anchorId:'Po ID-ju elementa',emailAddress:'Elektronski naslov',emailSubject:'Predmet sporoÄila',emailBody:'Vsebina sporoÄila',noAnchors:'(V tem dokumentu ni zaznamkov)',noUrl:'Vnesite URL povezave',noEmail:'Vnesite elektronski naslov'},anchor:{toolbar:'Vstavi/uredi zaznamek',menu:'Lastnosti zaznamka',title:'Lastnosti zaznamka',name:'Ime zaznamka',errorName:'Prosim vnesite ime zaznamka',remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Najdi in zamenjaj',find:'Najdi',replace:'Zamenjaj',findWhat:'Najdi:',replaceWith:'Zamenjaj z:',notFoundMsg:'Navedeno besedilo ni bilo najdeno.',findOptions:'Find Options',matchCase:'Razlikuj velike in male Ärke',matchWord:'Samo cele besede',matchCyclic:'Primerjaj znake v cirilici',replaceAll:'Zamenjaj vse',replaceSuccessMsg:'%1 pojavitev je bilo zamenjano.'},table:{toolbar:'Tabela',title:'Lastnosti tabele',menu:'Lastnosti tabele',deleteTable:'IzbriÅ¡i tabelo',rows:'Vrstice',columns:'Stolpci',border:'Velikost obrobe',widthPx:'pik',widthPc:'procentov',widthUnit:'width unit',cellSpace:'Razmik med celicami',cellPad:'Polnilo med celicami',caption:'Naslov',summary:'Povzetek',headers:'Glave',headersNone:'Brez',headersColumn:'Prvi stolpec',headersRow:'Prva vrstica',headersBoth:'Oboje',invalidRows:'Å tevilo vrstic mora biti veÄje od 0.',invalidCols:'Å tevilo stolpcev mora biti veÄje od 0.',invalidBorder:'Å irina obrobe mora biti Å¡tevilo.',invalidWidth:'Å irina tabele mora biti Å¡tevilo.',invalidHeight:'ViÅ¡ina tabele mora biti Å¡tevilo.',invalidCellSpacing:'Razmik med celicami mora biti Å¡tevilo.',invalidCellPadding:'Zamik celic mora biti Å¡tevilo',cell:{menu:'Celica',insertBefore:'Vstavi celico pred',insertAfter:'Vstavi celico za',deleteCell:'IzbriÅ¡i celice',merge:'Združi celice',mergeRight:'Združi desno',mergeDown:'Druži navzdol',splitHorizontal:'Razdeli celico vodoravno',splitVertical:'Razdeli celico navpiÄno',title:'Lastnosti celice',cellType:'Vrsta celice',rowSpan:'Razpon vrstic',colSpan:'Razpon stolpcev',wordWrap:'Prelom besedila',hAlign:'Vodoravna poravnava',vAlign:'NavpiÄna poravnava',alignBaseline:'Osnovnica',bgColor:'Barva ozadja',borderColor:'Barva obrobe',data:'Podatki',header:'Glava',yes:'Da',no:'Ne',invalidWidth:'Å irina celice mora biti Å¡tevilo.',invalidHeight:'ViÅ¡ina celice mora biti Å¡tevilo.',invalidRowSpan:'Razpon vrstic mora biti celo Å¡tevilo.',invalidColSpan:'Razpon stolpcev mora biti celo Å¡tevilo.',chooseColor:'Izberi'},row:{menu:'Vrstica',insertBefore:'Vstavi vrstico pred',insertAfter:'Vstavi vrstico za',deleteRow:'IzbriÅ¡i vrstice'},column:{menu:'Stolpec',insertBefore:'Vstavi stolpec pred',insertAfter:'Vstavi stolpec za',deleteColumn:'IzbriÅ¡i stolpce'}},button:{title:'Lastnosti gumba',text:'Besedilo (Vrednost)',type:'Tip',typeBtn:'Gumb',typeSbm:'Potrdi',typeRst:'Ponastavi'},checkboxAndRadio:{checkboxTitle:'Lastnosti potrditvenega polja',radioTitle:'Lastnosti izbirnega polja',value:'Vrednost',selected:'Izbrano'},form:{title:'Lastnosti obrazca',menu:'Lastnosti obrazca',action:'Akcija',method:'Metoda',encoding:'Kodiranje znakov'},select:{title:'Lastnosti spustnega seznama',selectInfo:'Podatki',opAvail:'Razpoložljive izbire',value:'Vrednost',size:'Velikost',lines:'vrstic',chkMulti:'Dovoli izbor veÄih vrstic',opText:'Besedilo',opValue:'Vrednost',btnAdd:'Dodaj',btnModify:'Spremeni',btnUp:'Gor',btnDown:'Dol',btnSetValue:'Postavi kot privzeto izbiro',btnDelete:'IzbriÅ¡i'},textarea:{title:'Lastnosti vnosnega obmoÄja',cols:'Stolpcev',rows:'Vrstic'},textfield:{title:'Lastnosti vnosnega polja',name:'Ime',value:'Vrednost',charWidth:'Dolžina',maxChars:'NajveÄje Å¡tevilo znakov',type:'Tip',typeText:'Besedilo',typePass:'Geslo'},hidden:{title:'Lastnosti skritega polja',name:'Ime',value:'Vrednost'},image:{title:'Lastnosti slike',titleButton:'Lastnosti gumba s sliko',menu:'Lastnosti slike',infoTab:'Podatki o sliki',btnUpload:'PoÅ¡lji na strežnik',upload:'PoÅ¡lji',alt:'Nadomestno besedilo',lockRatio:'Zakleni razmerje',resetSize:'Ponastavi velikost',border:'Obroba',hSpace:'Vodoravni razmik',vSpace:'NavpiÄni razmik',alertUrl:'Vnesite URL slike',linkTab:'Povezava',button2Img:'ŽeliÅ¡ pretvoriti izbrani gumb s sliko v preprosto sliko?',img2Button:'ŽeliÅ¡ pretvoriti izbrano sliko v gumb s sliko?',urlMissing:'Manjka vir (URL) slike.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'Lastnosti Flash',propertiesTab:'Lastnosti',title:'Lastnosti Flash',chkPlay:'Samodejno predvajaj',chkLoop:'Ponavljanje',chkMenu:'OmogoÄi Flash Meni',chkFull:'Dovoli celozaslonski naÄin',scale:'PoveÄava',scaleAll:'Pokaži vse',scaleNoBorder:'Brez obrobe',scaleFit:'NatanÄno prileganje',access:'Dostop skript',accessAlways:'Vedno',accessSameDomain:'Samo ista domena',accessNever:'Nikoli',alignAbsBottom:'Popolnoma na dno',alignAbsMiddle:'Popolnoma v sredino',alignBaseline:'Na osnovno Ärto',alignTextTop:'Besedilo na vrh',quality:'Kakovost',qualityBest:'NajviÅ¡ja',qualityHigh:'Visoka',qualityAutoHigh:'Samodejno visoka',qualityMedium:'Srednja',qualityAutoLow:'Samodejno nizka',qualityLow:'Nizka',windowModeWindow:'Okno',windowModeOpaque:'Motno',windowModeTransparent:'Prosojno',windowMode:'Vrsta okna',flashvars:'Spremenljivke za Flash',bgcolor:'Barva ozadja',hSpace:'Vodoravni razmik',vSpace:'NavpiÄni razmik',validateSrc:'Vnesite URL povezave',validateHSpace:'Vodoravni razmik mora biti Å¡tevilo.',validateVSpace:'NavpiÄni razmik mora biti Å¡tevilo.'},spellCheck:{toolbar:'Preveri Ärkovanje',title:'ÄŒrkovalnik',notAvailable:'Oprostite, storitev trenutno ni dosegljiva.',errorLoading:'Napaka pri nalaganju storitve programa na naslovu %s.',notInDic:'Ni v slovarju',changeTo:'Spremeni v',btnIgnore:'Prezri',btnIgnoreAll:'Prezri vse',btnReplace:'Zamenjaj',btnReplaceAll:'Zamenjaj vse',btnUndo:'Razveljavi',noSuggestions:'- Ni predlogov -',progress:'Preverjanje Ärkovanja se izvaja...',noMispell:'ÄŒrkovanje je konÄano: Brez napak',noChanges:'ÄŒrkovanje je konÄano: Nobena beseda ni bila spremenjena',oneChange:'ÄŒrkovanje je konÄano: Spremenjena je bila ena beseda',manyChanges:'ÄŒrkovanje je konÄano: Spremenjenih je bilo %1 besed',ieSpellDownload:'ÄŒrkovalnik ni nameÅ¡Äen. Ali ga želite prenesti sedaj?'},smiley:{toolbar:'SmeÅ¡ko',title:'Vstavi smeÅ¡ka',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 element'},numberedlist:'OÅ¡tevilÄen seznam',bulletedlist:'OznaÄen seznam',indent:'PoveÄaj zamik',outdent:'ZmanjÅ¡aj zamik',justify:{left:'Leva poravnava',center:'Sredinska poravnava',right:'Desna poravnava',block:'Obojestranska poravnava'},blockquote:'Citat',clipboard:{title:'Prilepi',cutError:'Varnostne nastavitve brskalnika ne dopuÅ¡Äajo samodejnega izrezovanja. Uporabite kombinacijo tipk na tipkovnici (Ctrl/Cmd+X).',copyError:'Varnostne nastavitve brskalnika ne dopuÅ¡Äajo samodejnega kopiranja. Uporabite kombinacijo tipk na tipkovnici (Ctrl/Cmd+C).',pasteMsg:'Prosim prilepite v sleÄi okvir s pomoÄjo tipkovnice (<STRONG>Ctrl/Cmd+V</STRONG>) in pritisnite <STRONG>V redu</STRONG>.',securityMsg:'Zaradi varnostnih nastavitev vaÅ¡ega brskalnika urejevalnik ne more neposredno dostopati do odložiÅ¡Äa. Vsebino odložiÅ¡Äa ponovno prilepite v to okno.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'Prilepi iz Worda',title:'Prilepi iz Worda',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'Prilepi kot golo besedilo',title:'Prilepi kot golo besedilo'},templates:{button:'Predloge',title:'Vsebinske predloge',options:'Template Options',insertOption:'Zamenjaj trenutno vsebino',selectPromptMsg:'Izberite predlogo, ki jo želite odpreti v urejevalniku<br>(trenutna vsebina bo izgubljena):',emptyListMsg:'(Ni pripravljenih predlog)'},showBlocks:'Prikaži ograde',stylesCombo:{label:'Slog',panelTitle:'Formatting Styles',panelTitle1:'Slogi odstavkov',panelTitle2:'Slogi besedila',panelTitle3:'Slogi objektov'},format:{label:'Oblika',panelTitle:'Oblika',tag_p:'Navaden',tag_pre:'Oblikovan',tag_address:'Napis',tag_h1:'Naslov 1',tag_h2:'Naslov 2',tag_h3:'Naslov 3',tag_h4:'Naslov 4',tag_h5:'Naslov 5',tag_h6:'Naslov 6',tag_div:'Navaden (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'Pisava',voiceLabel:'Pisava',panelTitle:'Pisava'},fontSize:{label:'Velikost',voiceLabel:'Velikost',panelTitle:'Velikost'},colorButton:{textColorTitle:'Barva besedila',bgColorTitle:'Barva ozadja',panelTitle:'Colors',auto:'Samodejno',more:'VeÄ barv...'},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'},scayt:{title:'ÄŒrkovanje med tipkanjem',opera_title:'Not supported by Opera',enable:'OmogoÄi SCAYT',disable:'OnemogoÄi SCAYT',about:'O storitvi SCAYT',toggle:'Preklopi SCAYT',options:'Možnosti',langs:'Jeziki',moreSuggestions:'VeÄ predlogov',ignore:'Prezri',ignoreAll:'Prezri vse',addWord:'Dodaj besedo',emptyDic:'Ime slovarja ne more biti prazno.',noSuggestions:'Ni predlogov',optionsTab:'Možnosti',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Jeziki',dictionariesTab:'Slovarji',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'O storitvi'},about:{title:'O programu CKEditor',dlgTitle:'O programu CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'Za informacijo o licenci prostim obiÅ¡Äite naÅ¡o spletno stran:',copy:'Copyright &copy; $1. Vse pravice pridržane.'},maximize:'Maksimiraj',minimize:'Minimiraj',fakeobjects:{anchor:'Sidro',flash:'Flash animacija',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Neznan objekt'},resize:'Potegni za spremembo velikosti',colordialog:{title:'Izberi barvo',options:'Color Options',highlight:'Poudarjeno',selected:'Izbrano',clear:'PoÄisti'},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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'Lastnosti dokumenta',title:'Lastnosti dokumenta',design:'Design',meta:'Meta podatki',chooseColor:'Izberi',other:'<drug>',docTitle:'Naslov strani',charset:'Kodna tabela',charsetOther:'Druga kodna tabela',charsetASCII:'ASCII',charsetCE:'Srednjeevropsko',charsetCT:'Tradicionalno Kitajsko (Big5)',charsetCR:'Cirilica',charsetGR:'GrÅ¡ko',charsetJP:'Japonsko',charsetKR:'Korejsko',charsetTR:'TurÅ¡ko',charsetUN:'Unicode (UTF-8)',charsetWE:'Zahodnoevropsko',docType:'Glava tipa dokumenta',docTypeOther:'Druga glava tipa dokumenta',xhtmlDec:'Vstavi XHTML deklaracije',bgColor:'Barva ozadja',bgImage:'URL slike za ozadje',bgFixed:'NepremiÄno ozadje',txtColor:'Barva besedila',margin:'Zamiki strani',marginTop:'Na vrhu',marginLeft:'Levo',marginRight:'Desno',marginBottom:'Spodaj',metaKeywords:'KljuÄne besede (loÄene z vejicami)',metaDescription:'Opis strani',metaAuthor:'Avtor',metaCopyright:'Avtorske pravice',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/sr-latn.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/sr-latn.js
deleted file mode 100644
index b4819cd..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/sr-latn.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang['sr-latn']={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'Editor toolbars',editor:'Rich Text Editor',source:'Kôd',newPage:'Nova stranica',save:'SaÄuvaj',preview:'Izgled stranice',cut:'Iseci',copy:'Kopiraj',paste:'Zalepi',print:'Å tampa',underline:'PodvuÄeno',bold:'Podebljano',italic:'Kurziv',selectAll:'OznaÄi sve',removeFormat:'Ukloni formatiranje',strike:'Precrtano',subscript:'Indeks',superscript:'Stepen',horizontalrule:'Unesi horizontalnu liniju',pagebreak:'Insert Page Break for Printing',pagebreakAlt:'Page Break',unlink:'Ukloni link',undo:'Poni�ti akciju',redo:'Ponovi akciju',common:{browseServer:'Pretraži server',url:'URL',protocol:'Protokol',upload:'PoÅ¡alji',uploadSubmit:'PoÅ¡alji na server',image:'Slika',flash:'FleÅ¡',form:'Forma',checkbox:'Polje za potvrdu',radio:'Radio-dugme',textField:'Tekstualno polje',textarea:'Zona teksta',hiddenField:'Skriveno polje',button:'Dugme',select:'Izborno polje',imageButton:'Dugme sa slikom',notSet:'<nije postavljeno>',id:'Id',name:'Naziv',langDir:'Smer jezika',langDirLtr:'S leva na desno (LTR)',langDirRtl:'S desna na levo (RTL)',langCode:'Kôd jezika',longDescr:'Pun opis URL',cssClass:'Stylesheet klase',advisoryTitle:'Advisory naslov',cssStyle:'Stil',ok:'OK',cancel:'Otkaži',close:'Close',preview:'Preview',generalTab:'General',advancedTab:'Napredni tagovi',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:'Some of the options have been changed. Are you sure to close the dialog?',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:'Å irina',height:'Visina',align:'Ravnanje',alignLeft:'Levo',alignRight:'Desno',alignCenter:'Sredina',alignTop:'Vrh',alignMiddle:'Sredina',alignBottom:'Dole',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'Unesi specijalni karakter',title:'Odaberite specijalni karakter',options:'Special Character Options'},link:{toolbar:'Unesi/izmeni link',other:'<оÑтало>',menu:'Izmeni link',title:'Link',info:'Link Info',target:'Meta',upload:'PoÅ¡alji',advanced:'Napredni tagovi',type:'Vrsta linka',toUrl:'URL',toAnchor:'Sidro na ovoj stranici',toEmail:'E-Mail',targetFrame:'<okvir>',targetPopup:'<popup prozor>',targetFrameName:'Naziv odrediÅ¡nog frejma',targetPopupName:'Naziv popup prozora',popupFeatures:'Mogućnosti popup prozora',popupResizable:'Resizable',popupStatusBar:'Statusna linija',popupLocationBar:'Lokacija',popupToolbar:'Toolbar',popupMenuBar:'Kontekstni meni',popupFullScreen:'Prikaz preko celog ekrana (IE)',popupScrollBars:'Scroll bar',popupDependent:'Zavisno (Netscape)',popupLeft:'Od leve ivice ekrana (px)',popupTop:'Od vrha ekrana (px)',id:'Id',langDir:'Smer jezika',langDirLTR:'S leva na desno (LTR)',langDirRTL:'S desna na levo (RTL)',acccessKey:'Pristupni taster',name:'Naziv',langCode:'Smer jezika',tabIndex:'Tab indeks',advisoryTitle:'Advisory naslov',advisoryContentType:'Advisory vrsta sadržaja',cssClasses:'Stylesheet klase',charset:'Linked Resource Charset',styles:'Stil',rel:'Relationship',selectAnchor:'Odaberi sidro',anchorName:'Po nazivu sidra',anchorId:'Po Id-ju elementa',emailAddress:'E-Mail adresa',emailSubject:'Naslov',emailBody:'Sadržaj poruke',noAnchors:'(Nema dostupnih sidra)',noUrl:'Unesite URL linka',noEmail:'Otkucajte adresu elektronske pote'},anchor:{toolbar:'Unesi/izmeni sidro',menu:'Osobine sidra',title:'Osobine sidra',name:'Ime sidra',errorName:'Unesite ime sidra',remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Find and Replace',find:'Pretraga',replace:'Zamena',findWhat:'Pronadi:',replaceWith:'Zameni sa:',notFoundMsg:'Traženi tekst nije pronaÄ‘en.',findOptions:'Find Options',matchCase:'Razlikuj mala i velika slova',matchWord:'Uporedi cele reci',matchCyclic:'Match cyclic',replaceAll:'Zameni sve',replaceSuccessMsg:'%1 occurrence(s) replaced.'},table:{toolbar:'Tabela',title:'Osobine tabele',menu:'Osobine tabele',deleteTable:'Delete Table',rows:'Redova',columns:'Kolona',border:'VeliÄina okvira',widthPx:'piksela',widthPc:'procenata',widthUnit:'width unit',cellSpace:'Ćelijski prostor',cellPad:'Razmak ćelija',caption:'Naslov tabele',summary:'Summary',headers:'Headers',headersNone:'None',headersColumn:'First column',headersRow:'First Row',headersBoth:'Both',invalidRows:'Number of rows must be a number greater than 0.',invalidCols:'Number of columns must be a number greater than 0.',invalidBorder:'Border size must be a number.',invalidWidth:'Table width must be a number.',invalidHeight:'Table height must be a number.',invalidCellSpacing:'Cell spacing must be a positive number.',invalidCellPadding:'Cell padding must be a positive number.',cell:{menu:'Cell',insertBefore:'Insert Cell Before',insertAfter:'Insert Cell After',deleteCell:'ObriÅ¡i ćelije',merge:'Spoj celije',mergeRight:'Merge Right',mergeDown:'Merge Down',splitHorizontal:'Split Cell Horizontally',splitVertical:'Split Cell Vertically',title:'Cell Properties',cellType:'Cell Type',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Word Wrap',hAlign:'Horizontal Alignment',vAlign:'Vertical Alignment',alignBaseline:'Baseline',bgColor:'Background Color',borderColor:'Border Color',data:'Data',header:'Header',yes:'Yes',no:'No',invalidWidth:'Cell width must be a number.',invalidHeight:'Cell height must be a number.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Choose'},row:{menu:'Row',insertBefore:'Insert Row Before',insertAfter:'Insert Row After',deleteRow:'ObriÅ¡i redove'},column:{menu:'Column',insertBefore:'Insert Column Before',insertAfter:'Insert Column After',deleteColumn:'ObriÅ¡i kolone'}},button:{title:'Osobine dugmeta',text:'Tekst (vrednost)',type:'Tip',typeBtn:'Button',typeSbm:'Submit',typeRst:'Reset'},checkboxAndRadio:{checkboxTitle:'Osobine polja za potvrdu',radioTitle:'Osobine radio-dugmeta',value:'Vrednost',selected:'OznaÄeno'},form:{title:'Osobine forme',menu:'Osobine forme',action:'Akcija',method:'Metoda',encoding:'Encoding'},select:{title:'Osobine izbornog polja',selectInfo:'Info',opAvail:'Dostupne opcije',value:'Vrednost',size:'VeliÄina',lines:'linija',chkMulti:'Dozvoli viÅ¡estruku selekciju',opText:'Tekst',opValue:'Vrednost',btnAdd:'Dodaj',btnModify:'Izmeni',btnUp:'Gore',btnDown:'Dole',btnSetValue:'Podesi kao oznaÄenu vrednost',btnDelete:'ObriÅ¡i'},textarea:{title:'Osobine zone teksta',cols:'Broj kolona',rows:'Broj redova'},textfield:{title:'Osobine tekstualnog polja',name:'Naziv',value:'Vrednost',charWidth:'Å irina (karaktera)',maxChars:'Maksimalno karaktera',type:'Tip',typeText:'Tekst',typePass:'Lozinka'},hidden:{title:'Osobine skrivenog polja',name:'Naziv',value:'Vrednost'},image:{title:'Osobine slika',titleButton:'Osobine dugmeta sa slikom',menu:'Osobine slika',infoTab:'Info slike',btnUpload:'PoÅ¡alji na server',upload:'PoÅ¡alji',alt:'Alternativni tekst',lockRatio:'ZakljuÄaj odnos',resetSize:'Resetuj veliÄinu',border:'Okvir',hSpace:'HSpace',vSpace:'VSpace',alertUrl:'Unesite URL slike',linkTab:'Link',button2Img:'Do you want to transform the selected image button on a simple image?',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'Osobine fleÅ¡a',propertiesTab:'Properties',title:'Osobine fleÅ¡a',chkPlay:'Automatski start',chkLoop:'Ponavljaj',chkMenu:'UkljuÄi fleÅ¡ meni',chkFull:'Allow Fullscreen',scale:'Skaliraj',scaleAll:'Prikaži sve',scaleNoBorder:'Bez ivice',scaleFit:'Popuni povrÅ¡inu',access:'Script Access',accessAlways:'Always',accessSameDomain:'Same domain',accessNever:'Never',alignAbsBottom:'Abs dole',alignAbsMiddle:'Abs sredina',alignBaseline:'Bazno',alignTextTop:'Vrh teksta',quality:'Quality',qualityBest:'Best',qualityHigh:'High',qualityAutoHigh:'Auto High',qualityMedium:'Medium',qualityAutoLow:'Auto Low',qualityLow:'Low',windowModeWindow:'Window',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Window mode',flashvars:'Variables for Flash',bgcolor:'Boja pozadine',hSpace:'HSpace',vSpace:'VSpace',validateSrc:'Unesite URL linka',validateHSpace:'HSpace must be a number.',validateVSpace:'VSpace must be a number.'},spellCheck:{toolbar:'Proveri spelovanje',title:'Spell Check',notAvailable:'Sorry, but service is unavailable now.',errorLoading:'Error loading application service host: %s.',notInDic:'Nije u reÄniku',changeTo:'Izmeni',btnIgnore:'IgnoriÅ¡i',btnIgnoreAll:'IgnoriÅ¡i sve',btnReplace:'Zameni',btnReplaceAll:'Zameni sve',btnUndo:'Vrati akciju',noSuggestions:'- Bez sugestija -',progress:'Provera spelovanja u toku...',noMispell:'Provera spelovanja zavrÅ¡ena: greÅ¡ke nisu pronadene',noChanges:'Provera spelovanja zavrÅ¡ena: Nije izmenjena nijedna rec',oneChange:'Provera spelovanja zavrÅ¡ena: Izmenjena je jedna reÄ',manyChanges:'Provera spelovanja zavrÅ¡ena: %1 reÄ(i) je izmenjeno',ieSpellDownload:'Provera spelovanja nije instalirana. Da li želite da je skinete sa Interneta?'},smiley:{toolbar:'Smajli',title:'Unesi smajlija',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 element'},numberedlist:'Nabrojiva lista',bulletedlist:'Nenabrojiva lista',indent:'Uvećaj levu marginu',outdent:'Smanji levu marginu',justify:{left:'Levo ravnanje',center:'Centriran tekst',right:'Desno ravnanje',block:'Obostrano ravnanje'},blockquote:'Block Quote',clipboard:{title:'Zalepi',cutError:'Sigurnosna podeÅ¡avanja VaÅ¡eg pretraživaÄa ne dozvoljavaju operacije automatskog isecanja teksta. Molimo Vas da koristite preÄicu sa tastature (Ctrl/Cmd+X).',copyError:'Sigurnosna podeÅ¡avanja VaÅ¡eg pretraživaÄa ne dozvoljavaju operacije automatskog kopiranja teksta. Molimo Vas da koristite preÄicu sa tastature (Ctrl/Cmd+C).',pasteMsg:'Molimo Vas da zalepite unutar donje povrine koristeći tastaturnu preÄicu (<STRONG>Ctrl/Cmd+V</STRONG>) i da pritisnete <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.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'Zalepi iz Worda',title:'Zalepi iz Worda',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'Zalepi kao Äist tekst',title:'Zalepi kao Äist tekst'},templates:{button:'Obrasci',title:'Obrasci za sadržaj',options:'Template Options',insertOption:'Replace actual contents',selectPromptMsg:'Molimo Vas da odaberete obrazac koji ce biti primenjen na stranicu (trenutni sadržaj ce biti obrisan):',emptyListMsg:'(Nema definisanih obrazaca)'},showBlocks:'Show Blocks',stylesCombo:{label:'Stil',panelTitle:'Formatting Styles',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'Format',panelTitle:'Format',tag_p:'Normal',tag_pre:'Formatirano',tag_address:'Adresa',tag_h1:'Naslov 1',tag_h2:'Naslov 2',tag_h3:'Naslov 3',tag_h4:'Naslov 4',tag_h5:'Naslov 5',tag_h6:'Naslov 6',tag_div:'Normal (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'Font',voiceLabel:'Font',panelTitle:'Font'},fontSize:{label:'VeliÄina fonta',voiceLabel:'Font Size',panelTitle:'VeliÄina fonta'},colorButton:{textColorTitle:'Boja teksta',bgColorTitle:'Boja pozadine',panelTitle:'Colors',auto:'Automatski',more:'ViÅ¡e boja...'},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'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Options',langs:'Languages',moreSuggestions:'More suggestions',ignore:'Ignore',ignoreAll:'Ignore All',addWord:'Add Word',emptyDic:'Dictionary name should not be empty.',noSuggestions:'Bez sugestija',optionsTab:'Options',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Languages',dictionariesTab:'Dictionaries',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'About'},about:{title:'About CKEditor',dlgTitle:'About CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'For licensing information please visit our web site:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Maximize',minimize:'Minimize',fakeobjects:{anchor:'Anchor',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Unknown Object'},resize:'Drag to resize',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'Osobine dokumenta',title:'Osobine dokumenta',design:'Design',meta:'Metapodaci',chooseColor:'Choose',other:'<оÑтало>',docTitle:'Naslov stranice',charset:'Kodiranje skupa karaktera',charsetOther:'Ostala kodiranja skupa karaktera',charsetASCII:'ASCII',charsetCE:'Central European',charsetCT:'Chinese Traditional (Big5)',charsetCR:'Cyrillic',charsetGR:'Greek',charsetJP:'Japanese',charsetKR:'Korean',charsetTR:'Turkish',charsetUN:'Unicode (UTF-8)',charsetWE:'Western European',docType:'Zaglavlje tipa dokumenta',docTypeOther:'Ostala zaglavlja tipa dokumenta',xhtmlDec:'Ukljuci XHTML deklaracije',bgColor:'Boja pozadine',bgImage:'URL pozadinske slike',bgFixed:'Fiksirana pozadina',txtColor:'Boja teksta',margin:'Margine stranice',marginTop:'Gornja',marginLeft:'Leva',marginRight:'Desna',marginBottom:'Donja',metaKeywords:'KljuÄne reci za indeksiranje dokumenta (razdvojene zarezima)',metaDescription:'Opis dokumenta',metaAuthor:'Autor',metaCopyright:'Autorska prava',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/sr.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/sr.js
deleted file mode 100644
index c98757d..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/sr.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.sr={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'Editor toolbars',editor:'Rich Text Editor',source:'Kôд',newPage:'Ðова Ñтраница',save:'Сачувај',preview:'Изглед Ñтранице',cut:'ИÑеци',copy:'Копирај',paste:'Залепи',print:'Штампа',underline:'Подвучено',bold:'Подебљано',italic:'Курзив',selectAll:'Означи Ñве',removeFormat:'Уклони форматирање',strike:'Прецртано',subscript:'ИндекÑ',superscript:'Степен',horizontalrule:'УнеÑи хоризонталну линију',pagebreak:'Insert Page Break for Printing',pagebreakAlt:'Page Break',unlink:'Уклони линк',undo:'Поништи акцију',redo:'Понови акцију',common:{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:'Kôд језика',longDescr:'Пун Ð¾Ð¿Ð¸Ñ Ð£Ð Ð›',cssClass:'Stylesheet клаÑе',advisoryTitle:'Advisory наÑлов',cssStyle:'Стил',ok:'OK',cancel:'Oткажи',close:'Close',preview:'Preview',generalTab:'General',advancedTab:'Ðапредни тагови',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:'Some of the options have been changed. Are you sure to close the dialog?',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:'Ширина',height:'ВиÑина',align:'Равнање',alignLeft:'Лево',alignRight:'ДеÑно',alignCenter:'Средина',alignTop:'Врх',alignMiddle:'Средина',alignBottom:'Доле',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'УнеÑи Ñпецијални карактер',title:'Одаберите Ñпецијални карактер',options:'Special Character Options'},link:{toolbar:'УнеÑи/измени линк',other:'<other>',menu:'Промени линк',title:'Линк',info:'Линк инфо',target:'MeÑ‚a',upload:'Пошаљи',advanced:'Ðапредни тагови',type:'Ð’Ñ€Ñта линка',toUrl:'URL',toAnchor:'Сидро на овој Ñтраници',toEmail:'EлектронÑка пошта',targetFrame:'<оквир>',targetPopup:'<иÑкачући прозор>',targetFrameName:'Ðазив одредишног фрејма',targetPopupName:'Ðазив иÑкачућег прозора',popupFeatures:'МогућноÑти иÑкачућег прозора',popupResizable:'Resizable',popupStatusBar:'СтатуÑна линија',popupLocationBar:'Локација',popupToolbar:'Toolbar',popupMenuBar:'КонтекÑтни мени',popupFullScreen:'Приказ преко целог екрана (ИE)',popupScrollBars:'Скрол бар',popupDependent:'ЗавиÑно (Netscape)',popupLeft:'Од леве ивице екрана (пикÑела)',popupTop:'Од врха екрана (пикÑела)',id:'Id',langDir:'Смер језика',langDirLTR:'С лева на деÑно (LTR)',langDirRTL:'С деÑна на лево (RTL)',acccessKey:'ПриÑтупни таÑтер',name:'Ðазив',langCode:'Смер језика',tabIndex:'Таб индекÑ',advisoryTitle:'Advisory наÑлов',advisoryContentType:'Advisory врÑта Ñадржаја',cssClasses:'Stylesheet клаÑе',charset:'Linked Resource Charset',styles:'Стил',rel:'Relationship',selectAnchor:'Одабери Ñидро',anchorName:'По називу Ñидра',anchorId:'Пo Ид-jу елемента',emailAddress:'ÐдреÑа електронÑке поште',emailSubject:'ÐаÑлов',emailBody:'Садржај поруке',noAnchors:'(Ðема доÑтупних Ñидра)',noUrl:'УнеÑите УРЛ линка',noEmail:'Откуцајте адреÑу електронÑке поште'},anchor:{toolbar:'УнеÑи/измени Ñидро',menu:'ОÑобине Ñидра',title:'ОÑобине Ñидра',name:'Име Ñидра',errorName:'Молимо Ð’Ð°Ñ Ð´Ð° унеÑете име Ñидра',remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Find and Replace',find:'Претрага',replace:'Замена',findWhat:'Пронађи:',replaceWith:'Замени Ñа:',notFoundMsg:'Тражени текÑÑ‚ није пронађен.',findOptions:'Find Options',matchCase:'Разликуј велика и мала Ñлова',matchWord:'Упореди целе речи',matchCyclic:'Match cyclic',replaceAll:'Замени Ñве',replaceSuccessMsg:'%1 occurrence(s) replaced.'},table:{toolbar:'Табела',title:'ОÑобине табеле',menu:'ОÑобине табеле',deleteTable:'Delete Table',rows:'Редова',columns:'Kолона',border:'Величина оквира',widthPx:'пикÑела',widthPc:'процената',widthUnit:'width unit',cellSpace:'ЋелијÑки проÑтор',cellPad:'Размак ћелија',caption:'ÐаÑлов табеле',summary:'Summary',headers:'Headers',headersNone:'None',headersColumn:'First column',headersRow:'First Row',headersBoth:'Both',invalidRows:'Number of rows must be a number greater than 0.',invalidCols:'Number of columns must be a number greater than 0.',invalidBorder:'Border size must be a number.',invalidWidth:'Table width must be a number.',invalidHeight:'Table height must be a number.',invalidCellSpacing:'Cell spacing must be a positive number.',invalidCellPadding:'Cell padding must be a positive number.',cell:{menu:'Cell',insertBefore:'Insert Cell Before',insertAfter:'Insert Cell After',deleteCell:'Обриши ћелије',merge:'Спој ћелије',mergeRight:'Merge Right',mergeDown:'Merge Down',splitHorizontal:'Split Cell Horizontally',splitVertical:'Split Cell Vertically',title:'Cell Properties',cellType:'Cell Type',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Word Wrap',hAlign:'Horizontal Alignment',vAlign:'Vertical Alignment',alignBaseline:'Baseline',bgColor:'Background Color',borderColor:'Border Color',data:'Data',header:'Header',yes:'Yes',no:'No',invalidWidth:'Cell width must be a number.',invalidHeight:'Cell height must be a number.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Choose'},row:{menu:'Row',insertBefore:'Insert Row Before',insertAfter:'Insert Row After',deleteRow:'Обриши редове'},column:{menu:'Column',insertBefore:'Insert Column Before',insertAfter:'Insert Column After',deleteColumn:'Обриши колоне'}},button:{title:'ОÑобине дугмета',text:'ТекÑÑ‚ (вредноÑÑ‚)',type:'Tип',typeBtn:'Button',typeSbm:'Submit',typeRst:'Reset'},checkboxAndRadio:{checkboxTitle:'ОÑобине поља за потврду',radioTitle:'ОÑобине радио-дугмета',value:'ВредноÑÑ‚',selected:'Означено'},form:{title:'ОÑобине форме',menu:'ОÑобине форме',action:'Aкција',method:'Mетода',encoding:'Encoding'},select:{title:'ОÑобине изборног поља',selectInfo:'Инфо',opAvail:'ДоÑтупне опције',value:'ВредноÑÑ‚',size:'Величина',lines:'линија',chkMulti:'Дозволи вишеÑтруку Ñелекцију',opText:'ТекÑÑ‚',opValue:'ВредноÑÑ‚',btnAdd:'Додај',btnModify:'Измени',btnUp:'Горе',btnDown:'Доле',btnSetValue:'ПодеÑи као означену вредноÑÑ‚',btnDelete:'Обриши'},textarea:{title:'ОÑобине зоне текÑта',cols:'Број колона',rows:'Број редова'},textfield:{title:'ОÑобине текÑтуалног поља',name:'Ðазив',value:'ВредноÑÑ‚',charWidth:'Ширина (карактера)',maxChars:'МакÑимално карактера',type:'Тип',typeText:'ТекÑÑ‚',typePass:'Лозинка'},hidden:{title:'ОÑобине Ñкривеног поља',name:'Ðазив',value:'ВредноÑÑ‚'},image:{title:'ОÑобине Ñлика',titleButton:'ОÑобине дугмета Ñа Ñликом',menu:'ОÑобине Ñлика',infoTab:'Инфо Ñлике',btnUpload:'Пошаљи на Ñервер',upload:'Пошаљи',alt:'Ðлтернативни текÑÑ‚',lockRatio:'Закључај одноÑ',resetSize:'РеÑетуј величину',border:'Оквир',hSpace:'HSpace',vSpace:'VSpace',alertUrl:'УнеÑите УРЛ Ñлике',linkTab:'Линк',button2Img:'Do you want to transform the selected image button on a simple image?',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'ОÑобине Флеша',propertiesTab:'Properties',title:'ОÑобине флеша',chkPlay:'ÐутоматÑки Ñтарт',chkLoop:'Понављај',chkMenu:'Укључи флеш мени',chkFull:'Allow Fullscreen',scale:'Скалирај',scaleAll:'Прикажи Ñве',scaleNoBorder:'Без ивице',scaleFit:'Попуни површину',access:'Script Access',accessAlways:'Always',accessSameDomain:'Same domain',accessNever:'Never',alignAbsBottom:'Abs доле',alignAbsMiddle:'Abs Ñредина',alignBaseline:'Базно',alignTextTop:'Врх текÑта',quality:'Quality',qualityBest:'Best',qualityHigh:'High',qualityAutoHigh:'Auto High',qualityMedium:'Medium',qualityAutoLow:'Auto Low',qualityLow:'Low',windowModeWindow:'Window',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Window mode',flashvars:'Variables for Flash',bgcolor:'Боја позадине',hSpace:'HSpace',vSpace:'VSpace',validateSrc:'УнеÑите УРЛ линка',validateHSpace:'HSpace must be a number.',validateVSpace:'VSpace must be a number.'},spellCheck:{toolbar:'Провери Ñпеловање',title:'Spell Check',notAvailable:'Sorry, but service is unavailable now.',errorLoading:'Error loading application service host: %s.',notInDic:'Ðије у речнику',changeTo:'Измени',btnIgnore:'Игнориши',btnIgnoreAll:'Игнориши Ñве',btnReplace:'Замени',btnReplaceAll:'Замени Ñве',btnUndo:'Врати акцију',noSuggestions:'- Без ÑугеÑтија -',progress:'Провера Ñпеловања у току...',noMispell:'Провера Ñпеловања завршена: грешке ниÑу пронађене',noChanges:'Провера Ñпеловања завршена: Ðије измењена ниједна реч',oneChange:'Провера Ñпеловања завршена: Измењена је једна реч',manyChanges:'Провера Ñпеловања завршена: %1 реч(и) је измењено',ieSpellDownload:'Провера Ñпеловања није инÑталирана. Да ли желите да је Ñкинете Ñа Интернета?'},smiley:{toolbar:'Смајли',title:'УнеÑи Ñмајлија',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 element'},numberedlist:'Ðабројиву лиÑту',bulletedlist:'Ðенабројива лиÑта',indent:'Увећај леву маргину',outdent:'Смањи леву маргину',justify:{left:'Лево равнање',center:'Центриран текÑÑ‚',right:'ДеÑно равнање',block:'ОбоÑтрано равнање'},blockquote:'Block Quote',clipboard:{title:'Залепи',cutError:'СигурноÑна подешавања Вашег претраживача не дозвољавају операције аутоматÑког иÑецања текÑта. Молимо Ð’Ð°Ñ Ð´Ð° кориÑтите пречицу Ñа таÑтатуре (Ctrl/Cmd+X).',copyError:'СигурноÑна подешавања Вашег претраживача не дозвољавају операције аутоматÑког копирања текÑта. Молимо Ð’Ð°Ñ Ð´Ð° кориÑтите пречицу Ñа таÑтатуре (Ctrl/Cmd+C).',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.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'Залепи из Worda',title:'Залепи из Worda',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'Залепи као чиÑÑ‚ текÑÑ‚',title:'Залепи као чиÑÑ‚ текÑÑ‚'},templates:{button:'ОбраÑци',title:'ОбраÑци за Ñадржај',options:'Template Options',insertOption:'Replace actual contents',selectPromptMsg:'Молимо Ð’Ð°Ñ Ð´Ð° одаберете образац који ће бити примењен на Ñтраницу (тренутни Ñадржај ће бити обриÑан):',emptyListMsg:'(Ðема дефиниÑаних образаца)'},showBlocks:'Show Blocks',stylesCombo:{label:'Стил',panelTitle:'Formatting Styles',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'Формат',panelTitle:'Формат',tag_p:'Normal',tag_pre:'Formatirano',tag_address:'Adresa',tag_h1:'Heading 1',tag_h2:'Heading 2',tag_h3:'Heading 3',tag_h4:'Heading 4',tag_h5:'Heading 5',tag_h6:'Heading 6',tag_div:'Normal (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'Фонт',voiceLabel:'Font',panelTitle:'Фонт'},fontSize:{label:'Величина фонта',voiceLabel:'Font Size',panelTitle:'Величина фонта'},colorButton:{textColorTitle:'Боја текÑта',bgColorTitle:'Боја позадине',panelTitle:'Colors',auto:'ÐутоматÑки',more:'Више боја...'},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'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Options',langs:'Languages',moreSuggestions:'More suggestions',ignore:'Ignore',ignoreAll:'Ignore All',addWord:'Add Word',emptyDic:'Dictionary name should not be empty.',noSuggestions:'Без ÑугеÑтија',optionsTab:'Options',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Languages',dictionariesTab:'Dictionaries',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'About'},about:{title:'About CKEditor',dlgTitle:'About CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'For licensing information please visit our web site:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Maximize',minimize:'Minimize',fakeobjects:{anchor:'Anchor',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Unknown Object'},resize:'Drag to resize',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'ОÑобине документа',title:'ОÑобине документа',design:'Design',meta:'Метаподаци',chooseColor:'Choose',other:'<other>',docTitle:'ÐаÑлов Ñтранице',charset:'Кодирање Ñкупа карактера',charsetOther:'ОÑтала кодирања Ñкупа карактера',charsetASCII:'ASCII',charsetCE:'Central European',charsetCT:'Chinese Traditional (Big5)',charsetCR:'Cyrillic',charsetGR:'Greek',charsetJP:'Japanese',charsetKR:'Korean',charsetTR:'Turkish',charsetUN:'Unicode (UTF-8)',charsetWE:'Western European',docType:'Заглавље типа документа',docTypeOther:'ОÑтала заглавља типа документа',xhtmlDec:'Улључи XHTML декларације',bgColor:'Боја позадине',bgImage:'УРЛ позадинÑке Ñлике',bgFixed:'ФикÑирана позадина',txtColor:'Боја текÑта',margin:'Маргине Ñтранице',marginTop:'Горња',marginLeft:'Лева',marginRight:'ДеÑна',marginBottom:'Доња',metaKeywords:'Кључне речи за индекÑирање документа (раздвојене зарезом)',metaDescription:'ÐžÐ¿Ð¸Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°',metaAuthor:'Ðутор',metaCopyright:'ÐуторÑка права',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/sv.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/sv.js
deleted file mode 100644
index 54cc4a0..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/sv.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.sv={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Tryck ALT 0 för hjälp',toolbars:'Editor toolbars',editor:'Rich Text Editor',source:'Källa',newPage:'Ny sida',save:'Spara',preview:'Förhandsgranska',cut:'Klipp ut',copy:'Kopiera',paste:'Klistra in',print:'Skriv ut',underline:'Understruken',bold:'Fet',italic:'Kursiv',selectAll:'Markera allt',removeFormat:'Radera formatering',strike:'Genomstruken',subscript:'Nedsänkta tecken',superscript:'Upphöjda tecken',horizontalrule:'Infoga horisontal linje',pagebreak:'Infoga sidbrytning',pagebreakAlt:'Sidbrytning',unlink:'Radera länk',undo:'Ångra',redo:'Gör om',common:{browseServer:'Bläddra på server',url:'URL',protocol:'Protokoll',upload:'Ladda upp',uploadSubmit:'Skicka till server',image:'Bild',flash:'Flash',form:'Formulär',checkbox:'Kryssruta',radio:'Alternativknapp',textField:'Textfält',textarea:'Textruta',hiddenField:'Dolt fält',button:'Knapp',select:'Flervalslista',imageButton:'Bildknapp',notSet:'<ej angivet>',id:'Id',name:'Namn',langDir:'Språkriktning',langDirLtr:'Vänster till Höger (VTH)',langDirRtl:'Höger till Vänster (HTV)',langCode:'Språkkod',longDescr:'URL-beskrivning',cssClass:'Stilmall',advisoryTitle:'Titel',cssStyle:'Stilmall',ok:'OK',cancel:'Avbryt',close:'Stäng',preview:'Förhandsgranska',generalTab:'Allmänt',advancedTab:'Avancerad',validateNumberFailed:'Värdet är inte ett nummer.',confirmNewPage:'Alla ändringar i innehållet kommer att förloras. Är du säker på att du vill ladda en ny sida?',confirmCancel:'Några av de alternativ har ändrats. Är du säker på att stänga dialogrutan?',options:'Alternativ',target:'Mål',targetNew:'Nytt fönster (_blank)',targetTop:'Översta fönstret (_top)',targetSelf:'Samma fönster (_self)',targetParent:'Föregående fönster (_parent)',langDirLTR:'Vänster till höger (LTR)',langDirRTL:'Höger till vänster (RTL)',styles:'Stil',cssClasses:'Stilmallar',width:'Bredd',height:'Höjd',align:'Justering',alignLeft:'Vänster',alignRight:'Höger',alignCenter:'Centrerad',alignTop:'Överkant',alignMiddle:'Mitten',alignBottom:'Nederkant',invalidValue:'Invalid value.',invalidHeight:'Höjd måste vara ett nummer.',invalidWidth:'Bredd måste vara ett nummer.',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, Ej tillgänglig</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'Klistra in utökat tecken',title:'Välj utökat tecken',options:'Special Character Options'},link:{toolbar:'Infoga/Redigera länk',other:'<annan>',menu:'Redigera länk',title:'Länk',info:'Länkinformation',target:'Mål',upload:'Ladda upp',advanced:'Avancerad',type:'Länktyp',toUrl:'URL',toAnchor:'Ankare i sidan',toEmail:'E-post',targetFrame:'<ram>',targetPopup:'<popup-fönster>',targetFrameName:'Målets ramnamn',targetPopupName:'Popup-fönstrets namn',popupFeatures:'Popup-fönstrets egenskaper',popupResizable:'Resizable',popupStatusBar:'Statusfält',popupLocationBar:'Adressfält',popupToolbar:'Verktygsfält',popupMenuBar:'Menyfält',popupFullScreen:'Helskärm (endast IE)',popupScrollBars:'Scrolllista',popupDependent:'Beroende (endast Netscape)',popupLeft:'Position från vänster',popupTop:'Position från sidans topp',id:'Id',langDir:'Språkriktning',langDirLTR:'Vänster till höger (VTH)',langDirRTL:'Höger till vänster (HTV)',acccessKey:'Behörighetsnyckel',name:'Namn',langCode:'Språkriktning',tabIndex:'Tabindex',advisoryTitle:'Titel',advisoryContentType:'Innehållstyp',cssClasses:'Stylesheet class',charset:'Teckenuppställning',styles:'Stilmall',rel:'Relationship',selectAnchor:'Välj ett ankare',anchorName:'efter ankarnamn',anchorId:'efter objektid',emailAddress:'E-postadress',emailSubject:'Ämne',emailBody:'Innehåll',noAnchors:'(Inga ankare kunde hittas)',noUrl:'Var god ange länkens URL',noEmail:'Var god ange E-postadress'},anchor:{toolbar:'Infoga/Redigera ankarlänk',menu:'Egenskaper för ankarlänk',title:'Egenskaper för ankarlänk',name:'Ankarnamn',errorName:'Var god ange ett ankarnamn',remove:'Remove Anchor'},list:{numberedTitle:'Egenskaper för punktlista',bulletedTitle:'Egenskaper för punktlista',type:'Typ',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Cirkel',disc:'Disk',square:'Fyrkant',none:'Ingen',notset:'<ej angiven>',armenian:'Armenisk numrering',georgian:'Georgisk numrering (an, ban, gan, etc.)',lowerRoman:'Romerska gemener (i, ii, iii, iv, v, etc.)',upperRoman:'Romerska versaler (I, II, III, IV, V, etc.)',lowerAlpha:'Alpha gemener (a, b, c, d, e, etc.)',upperAlpha:'Alpha versaler (A, B, C, D, E, etc.)',lowerGreek:'Grekiska gemener (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal nolla (01, 02, 03, etc.)'},findAndReplace:{title:'Sök och ersätt',find:'Sök',replace:'Ersätt',findWhat:'Sök efter:',replaceWith:'Ersätt med:',notFoundMsg:'Angiven text kunde ej hittas.',findOptions:'Find Options',matchCase:'Skiftläge',matchWord:'Inkludera hela ord',matchCyclic:'Matcha cykliska',replaceAll:'Ersätt alla',replaceSuccessMsg:'%1 förekomst(er) ersatta.'},table:{toolbar:'Tabell',title:'Tabellegenskaper',menu:'Tabellegenskaper',deleteTable:'Radera tabell',rows:'Rader',columns:'Kolumner',border:'Kantstorlek',widthPx:'pixlar',widthPc:'procent',widthUnit:'enhet bredd',cellSpace:'Cellavstånd',cellPad:'Cellutfyllnad',caption:'Rubrik',summary:'Sammanfattning',headers:'Ruberiker',headersNone:'Ingen',headersColumn:'Första kolumnen',headersRow:'Första raden',headersBoth:'Båda',invalidRows:'Antal rader måste vara större än 0.',invalidCols:'Antal kolumner måste vara ett nummer större än 0.',invalidBorder:'Ram måste vara ett nummer.',invalidWidth:'Tabell måste vara ett nummer.',invalidHeight:'Tabellens höjd måste vara ett nummer.',invalidCellSpacing:'Luft i cell måste vara ett nummer.',invalidCellPadding:'Luft i cell måste vara ett nummer.',cell:{menu:'Cell',insertBefore:'Lägg till cell före',insertAfter:'Lägg till cell efter',deleteCell:'Radera celler',merge:'Sammanfoga celler',mergeRight:'Sammanfoga höger',mergeDown:'Sammanfoga ner',splitHorizontal:'Dela cell horisontellt',splitVertical:'Dela cell vertikalt',title:'Egenskaper för cell',cellType:'Celltyp',rowSpan:'Rad spann',colSpan:'Kolumnen spann',wordWrap:'Radbrytning',hAlign:'Horisontell justering',vAlign:'Vertikal justering',alignBaseline:'Baslinje',bgColor:'Bakgrundsfärg',borderColor:'Ramfärg',data:'Data',header:'Rubrik',yes:'Ja',no:'Nej',invalidWidth:'Cellens bredd måste vara ett nummer.',invalidHeight:'Cellens höjd måste vara ett nummer.',invalidRowSpan:'Radutvidgning måste vara ett heltal.',invalidColSpan:'Kolumn måste vara ett heltal.',chooseColor:'Välj'},row:{menu:'Rad',insertBefore:'Lägg till Rad Före',insertAfter:'Lägg till rad efter',deleteRow:'Radera rad'},column:{menu:'Kolumn',insertBefore:'Lägg till kolumn före',insertAfter:'Lägg till kolumn efter',deleteColumn:'Radera kolumn'}},button:{title:'Egenskaper för knapp',text:'Text (värde)',type:'Typ',typeBtn:'Knapp',typeSbm:'Skicka',typeRst:'Återställ'},checkboxAndRadio:{checkboxTitle:'Egenskaper för kryssruta',radioTitle:'Egenskaper för alternativknapp',value:'Värde',selected:'Vald'},form:{title:'Egenskaper för formulär',menu:'Egenskaper för formulär',action:'Funktion',method:'Metod',encoding:'Kodning'},select:{title:'Egenskaper för flervalslista',selectInfo:'Information',opAvail:'Befintliga val',value:'Värde',size:'Storlek',lines:'Linjer',chkMulti:'Tillåt flerval',opText:'Text',opValue:'Värde',btnAdd:'Lägg till',btnModify:'Redigera',btnUp:'Upp',btnDown:'Ner',btnSetValue:'Markera som valt värde',btnDelete:'Radera'},textarea:{title:'Egenskaper för textruta',cols:'Kolumner',rows:'Rader'},textfield:{title:'Egenskaper för textfält',name:'Namn',value:'Värde',charWidth:'Teckenbredd',maxChars:'Max antal tecken',type:'Typ',typeText:'Text',typePass:'Lösenord'},hidden:{title:'Egenskaper för dolt fält',name:'Namn',value:'Värde'},image:{title:'Bildegenskaper',titleButton:'Egenskaper för bildknapp',menu:'Bildegenskaper',infoTab:'Bildinformation',btnUpload:'Skicka till server',upload:'Ladda upp',alt:'Alternativ text',lockRatio:'Lås höjd/bredd förhållanden',resetSize:'Återställ storlek',border:'Kant',hSpace:'Horis. marginal',vSpace:'Vert. marginal',alertUrl:'Var god och ange bildens URL',linkTab:'Länk',button2Img:'Vill du omvandla den valda bildknappen på en enkel bild?',img2Button:'Vill du omvandla den valda bildknappen på en enkel bild?',urlMissing:'Bildkällans URL saknas.',validateBorder:'Kantlinje måste vara ett heltal.',validateHSpace:'HSpace måste vara ett heltal.',validateVSpace:'VSpace måste vara ett heltal.'},flash:{properties:'Flashegenskaper',propertiesTab:'Egenskaper',title:'Flashegenskaper',chkPlay:'Automatisk uppspelning',chkLoop:'Upprepa/Loopa',chkMenu:'Aktivera Flashmeny',chkFull:'Tillåt helskärm',scale:'Skala',scaleAll:'Visa allt',scaleNoBorder:'Ingen ram',scaleFit:'Exakt passning',access:'Script-tillgång',accessAlways:'Alltid',accessSameDomain:'Samma domän',accessNever:'Aldrig',alignAbsBottom:'Absolut nederkant',alignAbsMiddle:'Absolut centrering',alignBaseline:'Baslinje',alignTextTop:'Text överkant',quality:'Kvalitet',qualityBest:'Bäst',qualityHigh:'Hög',qualityAutoHigh:'Auto Hög',qualityMedium:'Medium',qualityAutoLow:'Auto Låg',qualityLow:'Låg',windowModeWindow:'Fönster',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Fönsterläge',flashvars:'Variabler för Flash',bgcolor:'Bakgrundsfärg',hSpace:'Horis. marginal',vSpace:'Vert. marginal',validateSrc:'Var god ange länkens URL',validateHSpace:'HSpace måste vara ett nummer.',validateVSpace:'VSpace måste vara ett nummer.'},spellCheck:{toolbar:'Stavningskontroll',title:'Kontrollera stavning',notAvailable:'Tyvärr är tjänsten ej tillgänglig nu',errorLoading:'Tjänsten är ej tillgänglig: %s.',notInDic:'Saknas i ordlistan',changeTo:'Ändra till',btnIgnore:'Ignorera',btnIgnoreAll:'Ignorera alla',btnReplace:'Ersätt',btnReplaceAll:'Ersätt alla',btnUndo:'Ångra',noSuggestions:'- Förslag saknas -',progress:'Stavningskontroll pågår...',noMispell:'Stavningskontroll slutförd: Inga stavfel påträffades.',noChanges:'Stavningskontroll slutförd: Inga ord rättades.',oneChange:'Stavningskontroll slutförd: Ett ord rättades.',manyChanges:'Stavningskontroll slutförd: %1 ord rättades.',ieSpellDownload:'Stavningskontrollen är ej installerad. Vill du göra det nu?'},smiley:{toolbar:'Smiley',title:'Infoga smiley',options:'Smileyinställningar'},elementsPath:{eleLabel:'Elementets sökväg',eleTitle:'%1 element'},numberedlist:'Numrerad lista',bulletedlist:'Punktlista',indent:'Öka indrag',outdent:'Minska indrag',justify:{left:'Vänsterjustera',center:'Centrera',right:'Högerjustera',block:'Justera till marginaler'},blockquote:'Blockcitat',clipboard:{title:'Klistra in',cutError:'Säkerhetsinställningar i Er webläsare tillåter inte åtgården Klipp ut. Använd (Ctrl/Cmd+X) istället.',copyError:'Säkerhetsinställningar i Er webläsare tillåter inte åtgården Kopiera. Använd (Ctrl/Cmd+C) istället',pasteMsg:'Var god och klistra in Er text i rutan nedan genom att använda (<STRONG>Ctrl/Cmd+V</STRONG>) klicka sen på <STRONG>OK</STRONG>.',securityMsg:'På grund av din webbläsares säkerhetsinställningar kan verktyget inte få åtkomst till urklippsdatan. Var god och använd detta fönster istället.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'Texten du vill klistra in verkar vara kopierad från Word. Vill du rensa innan du klistrar?',toolbar:'Klistra in från Word',title:'Klistra in från Word',error:'Det var inte möjligt att städa upp den inklistrade data på grund av ett internt fel'},pasteText:{button:'Klistra in som vanlig text',title:'Klistra in som vanlig text'},templates:{button:'Sidmallar',title:'Sidmallar',options:'Inställningar för mall',insertOption:'Ersätt aktuellt innehåll',selectPromptMsg:'Var god välj en mall att använda med editorn<br>(allt nuvarande innehåll raderas):',emptyListMsg:'(Ingen mall är vald)'},showBlocks:'Visa block',stylesCombo:{label:'Anpassad stil',panelTitle:'Formatmallar',panelTitle1:'Blockstil',panelTitle2:'Inbäddad stil',panelTitle3:'Objektets stil'},format:{label:'Teckenformat',panelTitle:'Teckenformat',tag_p:'Normal',tag_pre:'Formaterad',tag_address:'Adress',tag_h1:'Rubrik 1',tag_h2:'Rubrik 2',tag_h3:'Rubrik 3',tag_h4:'Rubrik 4',tag_h5:'Rubrik 5',tag_h6:'Rubrik 6',tag_div:'Normal (DIV)'},div:{title:'Skapa Div container',toolbar:'Skapa Div container',cssClassInputLabel:'Stilmallar',styleSelectLabel:'Stil',IdInputLabel:'Id',languageCodeInputLabel:' Språkkod',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Rådgivande titel',langDirLabel:'Språkriktning',langDirLTRLabel:'Vänster till Höger (LTR)',langDirRTLLabel:'Höger till vänster (RTL)',edit:'Redigera Div',remove:'Ta bort Div'},iframe:{title:'iFrame Egenskaper',toolbar:'iFrame',noUrl:'Skriv in URL för iFrame',scrolling:'Aktivera rullningslister',border:'Visa ramkant'},font:{label:'Typsnitt',voiceLabel:'Typsnitt',panelTitle:'Typsnitt'},fontSize:{label:'Storlek',voiceLabel:'Teckenstorlek',panelTitle:'Storlek'},colorButton:{textColorTitle:'Textfärg',bgColorTitle:'Bakgrundsfärg',panelTitle:'Färger',auto:'Automatisk',more:'Fler färger...'},colors:{'000':'Svart',800000:'Rödbrun','8B4513':'Mörkbrun','2F4F4F':'Skiffergrå','008080':'Kricka','000080':'Marinblå','4B0082':'Indigo',696969:'Mörkgrå',B22222:'Tegelsten',A52A2A:'Brun',DAA520:'Mörk guld','006400':'Mörkgrön','40E0D0':'Turkos','0000CD':'Medium blå',800080:'Lila',808080:'Grå',F00:'Röd',FF8C00:'Mörkorange',FFD700:'Guld','008000':'Grön','0FF':'Turkos','00F':'Blå',EE82EE:'Violett',A9A9A9:'Matt grå',FFA07A:'Laxrosa',FFA500:'Orange',FFFF00:'Gul','00FF00':'Lime',AFEEEE:'Ljusturkos',ADD8E6:'Ljusblå',DDA0DD:'Plommon',D3D3D3:'Ljusgrå',FFF0F5:'Ljus lavender',FAEBD7:'Antikvit',FFFFE0:'Ljusgul',F0FFF0:'Honung',F0FFFF:'Azurblå',F0F8FF:'Aliceblå',E6E6FA:'Lavender',FFF:'Vit'},scayt:{title:'Stavningskontroll medan du skriver',opera_title:'Stöds ej av Opera',enable:'Aktivera SCAYT',disable:'Inaktivera SCAYT',about:'Om SCAYT',toggle:'Växla SCAYT',options:'Inställningar',langs:'Språk',moreSuggestions:'Fler förslag',ignore:'Ignorera',ignoreAll:'Ignorera alla',addWord:'Lägg till ord',emptyDic:'Ordlistans namn får ej vara tomt.',noSuggestions:'Förslag saknas',optionsTab:'Inställningar',allCaps:'Ignorera alla ord med enbart versaler',ignoreDomainNames:'Ignorera domännamn',mixedCase:'Ignorera ord med blandat shiftläge',mixedWithDigits:'Ignorera ord med nummer',languagesTab:'Språk',dictionariesTab:'Ordlistor',dic_field_name:'Ordlistans namn',dic_create:'Skapa',dic_restore:'Återställ',dic_delete:'Ta bort',dic_rename:'Byt namn',dic_info:'Inledningsvis lagras ordlistan i en cookie. När ordlista växer till en punkt där det inte kan lagras i en cookie, lagras den på vår server. För att lagra din personliga ordlista på vår server du ska ange ett namn för din ordbok. Om du redan har en lagrad ordbok, skriv namnet och klicka på knappen Återställ.',aboutTab:'Om'},about:{title:'Om CKEditor',dlgTitle:'Om CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'För information av licenciering besök vår hemsida:',copy:'Copyright &copy; $1. Alla rättigheter reserverade.'},maximize:'Maximera',minimize:'Minimera',fakeobjects:{anchor:'Ankare',flash:'Flashanimation',iframe:'iFrame',hiddenfield:'Gömt fält',unknown:'Okänt objekt'},resize:'Dra för att ändra storlek',colordialog:{title:'Välj färg',options:'Färgalternativ',highlight:'Markera',selected:'Vald färg',clear:'Rensa'},toolbarCollapse:'Dölj verktygsfält',toolbarExpand:'Visa verktygsfält',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'},bidi:{ltr:'Text riktning från vänster till höger',rtl:'Text riktning från höger till vänster'},docprops:{label:'Dokumentegenskaper',title:'Dokumentegenskaper',design:'Design',meta:'Metadata',chooseColor:'Välj',other:'<annan>',docTitle:'Sidtitel',charset:'Teckenuppsättningar',charsetOther:'Övriga teckenuppsättningar',charsetASCII:'ASCII',charsetCE:'Central Europa',charsetCT:'Traditionell Kinesisk (Big5)',charsetCR:'Kyrillisk',charsetGR:'Grekiska',charsetJP:'Japanska',charsetKR:'Koreanska',charsetTR:'Turkiska',charsetUN:'Unicode (UTF-8)',charsetWE:'Väst Europa',docType:'Sidhuvud',docTypeOther:'Övriga sidhuvuden',xhtmlDec:'Inkludera XHTML deklaration',bgColor:'Bakgrundsfärg',bgImage:'Bakgrundsbildens URL',bgFixed:'Fast bakgrund',txtColor:'Textfärg',margin:'Sidmarginal',marginTop:'Topp',marginLeft:'Vänster',marginRight:'Höger',marginBottom:'Botten',metaKeywords:'Sidans nyckelord',metaDescription:'Sidans beskrivning',metaAuthor:'Författare',metaCopyright:'Upphovsrätt',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/th.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/th.js
deleted file mode 100644
index 7613a29..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/th.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.th={dir:'ltr',editorTitle:'Rich text editor, %1',editorHelp:'Press ALT 0 for help',toolbars:'Editor toolbars',editor:'Rich Text Editor',source:'ดูรหัส HTML',newPage:'สร้างหน้าเอà¸à¸ªà¸²à¸£à¹ƒà¸«à¸¡à¹ˆ',save:'บันทึà¸',preview:'ดูหน้าเอà¸à¸ªà¸²à¸£à¸•à¸±à¸§à¸­à¸¢à¹ˆà¸²à¸‡',cut:'ตัด',copy:'สำเนา',paste:'วาง',print:'สั่งพิมพ์',underline:'ตัวขีดเส้นใต้',bold:'ตัวหนา',italic:'ตัวเอียง',selectAll:'เลือà¸à¸—ั้งหมด',removeFormat:'ล้างรูปà¹à¸šà¸š',strike:'ตัวขีดเส้นทับ',subscript:'ตัวห้อย',superscript:'ตัวยà¸',horizontalrule:'à¹à¸—รà¸à¹€à¸ªà¹‰à¸™à¸„ั่นบรรทัด',pagebreak:'à¹à¸—รà¸à¸•à¸±à¸§à¹à¸šà¹ˆà¸‡à¸«à¸™à¹‰à¸² Page Break',pagebreakAlt:'Page Break',unlink:'ลบ ลิงค์',undo:'ยà¸à¹€à¸¥à¸´à¸à¸„ำสั่ง',redo:'ทำซ้ำคำสั่ง',common:{browseServer:'เปิดหน้าต่างจัดà¸à¸²à¸£à¹„ฟล์อัพโหลด',url:'ที่อยู่อ้างอิง URL',protocol:'โปรโตคอล',upload:'อัพโหลดไฟล์',uploadSubmit:'อัพโหลดไฟล์ไปเà¸à¹‡à¸šà¹„ว้ที่เครื่องà¹à¸¡à¹ˆà¸‚่าย (เซิร์ฟเวอร์)',image:'รูปภาพ',flash:'ไฟล์ Flash',form:'à¹à¸šà¸šà¸Ÿà¸­à¸£à¹Œà¸¡',checkbox:'เช็คบ๊อà¸',radio:'เรดิโอบัตตอน',textField:'เท็à¸à¸‹à¹Œà¸Ÿà¸´à¸¥à¸”์',textarea:'เท็à¸à¸‹à¹Œà¹à¸­à¹€à¸£à¸µà¸¢',hiddenField:'ฮิดเดนฟิลด์',button:'ปุ่ม',select:'à¹à¸–บตัวเลือà¸',imageButton:'ปุ่มà¹à¸šà¸šà¸£à¸¹à¸›à¸ à¸²à¸ž',notSet:'<ไม่ระบุ>',id:'ไอดี',name:'ชื่อ',langDir:'à¸à¸²à¸£à¹€à¸‚ียน-อ่านภาษา',langDirLtr:'จาà¸à¸‹à¹‰à¸²à¸¢à¹„ปขวา (LTR)',langDirRtl:'จาà¸à¸‚วามาซ้าย (RTL)',langCode:'รหัสภาษา',longDescr:'คำอธิบายประà¸à¸­à¸š URL',cssClass:'คลาสของไฟล์à¸à¸³à¸«à¸™à¸”ลัà¸à¸©à¸“ะà¸à¸²à¸£à¹à¸ªà¸”งผล',advisoryTitle:'คำเà¸à¸£à¸´à¹ˆà¸™à¸™à¸³',cssStyle:'ลัà¸à¸©à¸“ะà¸à¸²à¸£à¹à¸ªà¸”งผล',ok:'ตà¸à¸¥à¸‡',cancel:'ยà¸à¹€à¸¥à¸´à¸',close:'Close',preview:'Preview',generalTab:'General',advancedTab:'ขั้นสูง',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:'Some of the options have been changed. Are you sure to close the dialog?',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:'ความà¸à¸§à¹‰à¸²à¸‡',height:'ความสูง',align:'à¸à¸²à¸£à¸ˆà¸±à¸”วาง',alignLeft:'ชิดซ้าย',alignRight:'ชิดขวา',alignCenter:'à¸à¸¶à¹ˆà¸‡à¸à¸¥à¸²à¸‡',alignTop:'บนสุด',alignMiddle:'à¸à¸¶à¹ˆà¸‡à¸à¸¥à¸²à¸‡à¹à¸™à¸§à¸•à¸±à¹‰à¸‡',alignBottom:'ชิดด้านล่าง',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, unavailable</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'à¹à¸—รà¸à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸žà¸´à¹€à¸¨à¸©',title:'à¹à¸—รà¸à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸žà¸´à¹€à¸¨à¸©',options:'Special Character Options'},link:{toolbar:'à¹à¸—รà¸/à¹à¸à¹‰à¹„ข ลิงค์',other:'<อื่น ๆ>',menu:'à¹à¸à¹‰à¹„ข ลิงค์',title:'ลิงค์เชื่อมโยงเว็บ อีเมล์ รูปภาพ หรือไฟล์อื่นๆ',info:'รายละเอียด',target:'à¸à¸²à¸£à¹€à¸›à¸´à¸”หน้าลิงค์',upload:'อัพโหลดไฟล์',advanced:'ขั้นสูง',type:'ประเภทของลิงค์',toUrl:'URL',toAnchor:'จุดเชื่อมโยง (Anchor)',toEmail:'ส่งอีเมล์ (E-Mail)',targetFrame:'<เปิดในเฟรม>',targetPopup:'<เปิดหน้าจอเล็ภ(Pop-up)>',targetFrameName:'ชื่อทาร์เà¸à¹‡à¸•à¹€à¸Ÿà¸£à¸¡',targetPopupName:'ระบุชื่อหน้าจอเล็ภ(Pop-up)',popupFeatures:'คุณสมบัติของหน้าจอเล็ภ(Pop-up)',popupResizable:'Resizable',popupStatusBar:'à¹à¸ªà¸”งà¹à¸–บสถานะ',popupLocationBar:'à¹à¸ªà¸”งที่อยู่ของไฟล์',popupToolbar:'à¹à¸ªà¸”งà¹à¸–บเครื่องมือ',popupMenuBar:'à¹à¸ªà¸”งà¹à¸–บเมนู',popupFullScreen:'à¹à¸ªà¸”งเต็มหน้าจอ (IE5.5++ เท่านั้น)',popupScrollBars:'à¹à¸ªà¸”งà¹à¸–บเลื่อน',popupDependent:'à¹à¸ªà¸”งเต็มหน้าจอ (Netscape)',popupLeft:'พิà¸à¸±à¸”ซ้าย (Left Position)',popupTop:'พิà¸à¸±à¸”บน (Top Position)',id:'Id',langDir:'à¸à¸²à¸£à¹€à¸‚ียน-อ่านภาษา',langDirLTR:'จาà¸à¸‹à¹‰à¸²à¸¢à¹„ปขวา (LTR)',langDirRTL:'จาà¸à¸‚วามาซ้าย (RTL)',acccessKey:'à¹à¸­à¸„เซส คีย์',name:'ชื่อ',langCode:'à¸à¸²à¸£à¹€à¸‚ียน-อ่านภาษา',tabIndex:'ลำดับของ à¹à¸—็บ',advisoryTitle:'คำเà¸à¸£à¸´à¹ˆà¸™à¸™à¸³',advisoryContentType:'ชนิดของคำเà¸à¸£à¸´à¹ˆà¸™à¸™à¸³',cssClasses:'คลาสของไฟล์à¸à¸³à¸«à¸™à¸”ลัà¸à¸©à¸“ะà¸à¸²à¸£à¹à¸ªà¸”งผล',charset:'ลิงค์เชื่อมโยงไปยังชุดตัวอัà¸à¸©à¸£',styles:'ลัà¸à¸©à¸“ะà¸à¸²à¸£à¹à¸ªà¸”งผล',rel:'Relationship',selectAnchor:'ระบุข้อมูลของจุดเชื่อมโยง (Anchor)',anchorName:'ชื่อ',anchorId:'ไอดี',emailAddress:'อีเมล์ (E-Mail)',emailSubject:'หัวเรื่อง',emailBody:'ข้อความ',noAnchors:'(ยังไม่มีจุดเชื่อมโยงภายในหน้าเอà¸à¸ªà¸²à¸£à¸™à¸µà¹‰)',noUrl:'à¸à¸£à¸¸à¸“าระบุที่อยู่อ้างอิงออนไลน์ (URL)',noEmail:'à¸à¸£à¸¸à¸“าระบุอีเมล์ (E-mail)'},anchor:{toolbar:'à¹à¸—รà¸/à¹à¸à¹‰à¹„ข Anchor',menu:'รายละเอียด Anchor',title:'รายละเอียด Anchor',name:'ชื่อ Anchor',errorName:'à¸à¸£à¸¸à¸“าระบุชื่อของ Anchor',remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Find and Replace',find:'ค้นหา',replace:'ค้นหาà¹à¸¥à¸°à¹à¸—นที่',findWhat:'ค้นหาคำว่า:',replaceWith:'à¹à¸—นที่ด้วย:',notFoundMsg:'ไม่พบคำที่ค้นหา.',findOptions:'Find Options',matchCase:'ตัวโหà¸à¹ˆ-เล็ภต้องตรงà¸à¸±à¸™',matchWord:'ต้องตรงà¸à¸±à¸™à¸—ุà¸à¸„ำ',matchCyclic:'Match cyclic',replaceAll:'à¹à¸—นที่ทั้งหมดที่พบ',replaceSuccessMsg:'%1 occurrence(s) replaced.'},table:{toolbar:'ตาราง',title:'คุณสมบัติของ ตาราง',menu:'คุณสมบัติของ ตาราง',deleteTable:'ลบตาราง',rows:'à¹à¸–ว',columns:'สดมน์',border:'ขนาดเส้นขอบ',widthPx:'จุดสี',widthPc:'เปอร์เซ็น',widthUnit:'width unit',cellSpace:'ระยะà¹à¸™à¸§à¸™à¸­à¸™à¸™',cellPad:'ระยะà¹à¸™à¸§à¸•à¸±à¹‰à¸‡',caption:'หัวเรื่องของตาราง',summary:'สรุปความ',headers:'Headers',headersNone:'None',headersColumn:'First column',headersRow:'First Row',headersBoth:'Both',invalidRows:'Number of rows must be a number greater than 0.',invalidCols:'Number of columns must be a number greater than 0.',invalidBorder:'Border size must be a number.',invalidWidth:'Table width must be a number.',invalidHeight:'Table height must be a number.',invalidCellSpacing:'Cell spacing must be a positive number.',invalidCellPadding:'Cell padding must be a positive number.',cell:{menu:'ช่องตาราง',insertBefore:'Insert Cell Before',insertAfter:'Insert Cell After',deleteCell:'ลบช่อง',merge:'ผสานช่อง',mergeRight:'Merge Right',mergeDown:'Merge Down',splitHorizontal:'Split Cell Horizontally',splitVertical:'Split Cell Vertically',title:'Cell Properties',cellType:'Cell Type',rowSpan:'Rows Span',colSpan:'Columns Span',wordWrap:'Word Wrap',hAlign:'Horizontal Alignment',vAlign:'Vertical Alignment',alignBaseline:'Baseline',bgColor:'Background Color',borderColor:'Border Color',data:'Data',header:'Header',yes:'Yes',no:'No',invalidWidth:'Cell width must be a number.',invalidHeight:'Cell height must be a number.',invalidRowSpan:'Rows span must be a whole number.',invalidColSpan:'Columns span must be a whole number.',chooseColor:'Choose'},row:{menu:'à¹à¸–ว',insertBefore:'Insert Row Before',insertAfter:'Insert Row After',deleteRow:'ลบà¹à¸–ว'},column:{menu:'คอลัมน์',insertBefore:'Insert Column Before',insertAfter:'Insert Column After',deleteColumn:'ลบสดมน์'}},button:{title:'รายละเอียดของ ปุ่ม',text:'ข้อความ (ค่าตัวà¹à¸›à¸£)',type:'ข้อความ',typeBtn:'Button',typeSbm:'Submit',typeRst:'Reset'},checkboxAndRadio:{checkboxTitle:'คุณสมบัติของ เช็คบ๊อà¸',radioTitle:'คุณสมบัติของ เรดิโอบัตตอน',value:'ค่าตัวà¹à¸›à¸£',selected:'เลือà¸à¹€à¸›à¹‡à¸™à¸„่าเริ่มต้น'},form:{title:'คุณสมบัติของ à¹à¸šà¸šà¸Ÿà¸­à¸£à¹Œà¸¡',menu:'คุณสมบัติของ à¹à¸šà¸šà¸Ÿà¸­à¸£à¹Œà¸¡',action:'à¹à¸­à¸„ชั่น',method:'เมธอด',encoding:'Encoding'},select:{title:'คุณสมบัติของ à¹à¸–บตัวเลือà¸',selectInfo:'อินโฟ',opAvail:'รายà¸à¸²à¸£à¸•à¸±à¸§à¹€à¸¥à¸·à¸­à¸',value:'ค่าตัวà¹à¸›à¸£',size:'ขนาด',lines:'บรรทัด',chkMulti:'เลือà¸à¸«à¸¥à¸²à¸¢à¸„่าได้',opText:'ข้อความ',opValue:'ค่าตัวà¹à¸›à¸£',btnAdd:'เพิ่ม',btnModify:'à¹à¸à¹‰à¹„ข',btnUp:'บน',btnDown:'ล่าง',btnSetValue:'เลือà¸à¹€à¸›à¹‡à¸™à¸„่าเริ่มต้น',btnDelete:'ลบ'},textarea:{title:'คุณสมบัติของ เท็à¸à¹à¸­à¹€à¸£à¸µà¸¢',cols:'สดมภ์',rows:'à¹à¸–ว'},textfield:{title:'คุณสมบัติของ เท็à¸à¸‹à¹Œà¸Ÿà¸´à¸¥à¸”์',name:'ชื่อ',value:'ค่าตัวà¹à¸›à¸£',charWidth:'ความà¸à¸§à¹‰à¸²à¸‡',maxChars:'จำนวนตัวอัà¸à¸©à¸£à¸ªà¸¹à¸‡à¸ªà¸¸à¸”',type:'ชนิด',typeText:'ข้อความ',typePass:'รหัสผ่าน'},hidden:{title:'คุณสมบัติของ ฮิดเดนฟิลด์',name:'ชื่อ',value:'ค่าตัวà¹à¸›à¸£'},image:{title:'คุณสมบัติของ รูปภาพ',titleButton:'คุณสมบัติของ ปุ่มà¹à¸šà¸šà¸£à¸¹à¸›à¸ à¸²à¸ž',menu:'คุณสมบัติของ รูปภาพ',infoTab:'ข้อมูลของรูปภาพ',btnUpload:'อัพโหลดไฟล์ไปเà¸à¹‡à¸šà¹„ว้ที่เครื่องà¹à¸¡à¹ˆà¸‚่าย (เซิร์ฟเวอร์)',upload:'อัพโหลดไฟล์',alt:'คำประà¸à¸­à¸šà¸£à¸¹à¸›à¸ à¸²à¸ž',lockRatio:'à¸à¸³à¸«à¸™à¸”อัตราส่วน à¸à¸§à¹‰à¸²à¸‡-สูง à¹à¸šà¸šà¸„งที่',resetSize:'à¸à¸³à¸«à¸™à¸”รูปเท่าขนาดจริง',border:'ขนาดขอบรูป',hSpace:'ระยะà¹à¸™à¸§à¸™à¸­à¸™',vSpace:'ระยะà¹à¸™à¸§à¸•à¸±à¹‰à¸‡',alertUrl:'à¸à¸£à¸¸à¸“าระบุที่อยู่อ้างอิงออนไลน์ของไฟล์รูปภาพ (URL)',linkTab:'ลิ้งค์',button2Img:'Do you want to transform the selected image button on a simple image?',img2Button:'Do you want to transform the selected image on a image button?',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'คุณสมบัติของไฟล์ Flash',propertiesTab:'Properties',title:'คุณสมบัติของไฟล์ Flash',chkPlay:'เล่นอัตโนมัติ Auto Play',chkLoop:'เล่นวนรอบ Loop',chkMenu:'ให้ใช้งานเมนูของ Flash',chkFull:'Allow Fullscreen',scale:'อัตราส่วน Scale',scaleAll:'à¹à¸ªà¸”งให้เห็นทั้งหมด Show all',scaleNoBorder:'ไม่à¹à¸ªà¸”งเส้นขอบ No Border',scaleFit:'à¹à¸ªà¸”งให้พอดีà¸à¸±à¸šà¸žà¸·à¹‰à¸™à¸—ี่ Exact Fit',access:'Script Access',accessAlways:'Always',accessSameDomain:'Same domain',accessNever:'Never',alignAbsBottom:'ชิดด้านล่างสุด',alignAbsMiddle:'à¸à¸¶à¹ˆà¸‡à¸à¸¥à¸²à¸‡',alignBaseline:'ชิดบรรทัด',alignTextTop:'ใต้ตัวอัà¸à¸©à¸£',quality:'Quality',qualityBest:'Best',qualityHigh:'High',qualityAutoHigh:'Auto High',qualityMedium:'Medium',qualityAutoLow:'Auto Low',qualityLow:'Low',windowModeWindow:'Window',windowModeOpaque:'Opaque',windowModeTransparent:'Transparent',windowMode:'Window mode',flashvars:'Variables for Flash',bgcolor:'สีพื้นหลัง',hSpace:'ระยะà¹à¸™à¸§à¸™à¸­à¸™',vSpace:'ระยะà¹à¸™à¸§à¸•à¸±à¹‰à¸‡',validateSrc:'à¸à¸£à¸¸à¸“าระบุที่อยู่อ้างอิงออนไลน์ (URL)',validateHSpace:'HSpace must be a number.',validateVSpace:'VSpace must be a number.'},spellCheck:{toolbar:'ตรวจà¸à¸²à¸£à¸ªà¸°à¸à¸”คำ',title:'Spell Check',notAvailable:'Sorry, but service is unavailable now.',errorLoading:'Error loading application service host: %s.',notInDic:'ไม่พบในดิà¸à¸Šà¸±à¸™à¸™à¸²à¸£à¸µ',changeTo:'à¹à¸à¹‰à¹„ขเป็น',btnIgnore:'ยà¸à¹€à¸§à¹‰à¸™',btnIgnoreAll:'ยà¸à¹€à¸§à¹‰à¸™à¸—ั้งหมด',btnReplace:'à¹à¸—นที่',btnReplaceAll:'à¹à¸—นที่ทั้งหมด',btnUndo:'ยà¸à¹€à¸¥à¸´à¸',noSuggestions:'- ไม่มีคำà¹à¸™à¸°à¸™à¸³à¹ƒà¸”ๆ -',progress:'à¸à¸³à¸¥à¸±à¸‡à¸•à¸£à¸§à¸ˆà¸ªà¸­à¸šà¸„ำสะà¸à¸”...',noMispell:'ตรวจสอบคำสะà¸à¸”เสร็จสิ้น: ไม่พบคำสะà¸à¸”ผิด',noChanges:'ตรวจสอบคำสะà¸à¸”เสร็จสิ้น: ไม่มีà¸à¸²à¸£à¹à¸à¹‰à¸„ำใดๆ',oneChange:'ตรวจสอบคำสะà¸à¸”เสร็จสิ้น: à¹à¸à¹‰à¹„ข1คำ',manyChanges:'ตรวจสอบคำสะà¸à¸”เสร็จสิ้น:: à¹à¸à¹‰à¹„ข %1 คำ',ieSpellDownload:'ไม่ได้ติดตั้งระบบตรวจสอบคำสะà¸à¸”. ต้องà¸à¸²à¸£à¸•à¸´à¸”ตั้งไหมครับ?'},smiley:{toolbar:'รูปสื่ออารมณ์',title:'à¹à¸—รà¸à¸ªà¸±à¸à¸¥à¸±à¸à¸©à¸“์สื่ออารมณ์',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 element'},numberedlist:'ลำดับรายà¸à¸²à¸£à¹à¸šà¸šà¸•à¸±à¸§à¹€à¸¥à¸‚',bulletedlist:'ลำดับรายà¸à¸²à¸£à¹à¸šà¸šà¸ªà¸±à¸à¸¥à¸±à¸à¸©à¸“์',indent:'เพิ่มระยะย่อหน้า',outdent:'ลดระยะย่อหน้า',justify:{left:'จัดชิดซ้าย',center:'จัดà¸à¸¶à¹ˆà¸‡à¸à¸¥à¸²à¸‡',right:'จัดชิดขวา',block:'จัดพอดีหน้าà¸à¸£à¸°à¸”าษ'},blockquote:'Block Quote',clipboard:{title:'วาง',cutError:'ไม่สามารถตัดข้อความที่เลือà¸à¹„ว้ได้เนื่องจาà¸à¸à¸²à¸£à¸à¸³à¸«à¸™à¸”ค่าระดับความปลอดภัย. à¸à¸£à¸¸à¸“าใช้ปุ่มลัดเพื่อวางข้อความà¹à¸—น (à¸à¸”ปุ่ม Ctrl/Cmd à¹à¸¥à¸°à¸•à¸±à¸§ X พร้อมà¸à¸±à¸™).',copyError:'ไม่สามารถสำเนาข้อความที่เลือà¸à¹„ว้ได้เนื่องจาà¸à¸à¸²à¸£à¸à¸³à¸«à¸™à¸”ค่าระดับความปลอดภัย. à¸à¸£à¸¸à¸“าใช้ปุ่มลัดเพื่อวางข้อความà¹à¸—น (à¸à¸”ปุ่ม Ctrl/Cmd à¹à¸¥à¸°à¸•à¸±à¸§ C พร้อมà¸à¸±à¸™).',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.',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?',toolbar:'วางสำเนาจาà¸à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¹€à¸§à¸´à¸£à¹Œà¸”',title:'วางสำเนาจาà¸à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¹€à¸§à¸´à¸£à¹Œà¸”',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'วางà¹à¸šà¸šà¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸˜à¸£à¸£à¸¡à¸”า',title:'วางà¹à¸šà¸šà¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸˜à¸£à¸£à¸¡à¸”า'},templates:{button:'เทมเพลต',title:'เทมเพลตของส่วนเนื้อหาเว็บไซต์',options:'Template Options',insertOption:'à¹à¸—นที่เนื้อหาเว็บไซต์ที่เลือà¸',selectPromptMsg:'à¸à¸£à¸¸à¸“าเลือภเทมเพลต เพื่อนำไปà¹à¸à¹‰à¹„ขในอีดิตเตอร์<br />(เนื้อหาส่วนนี้จะหายไป):',emptyListMsg:'(ยังไม่มีà¸à¸²à¸£à¸à¸³à¸«à¸™à¸”เทมเพลต)'},showBlocks:'Show Blocks',stylesCombo:{label:'ลัà¸à¸©à¸“ะ',panelTitle:'Formatting Styles',panelTitle1:'Block Styles',panelTitle2:'Inline Styles',panelTitle3:'Object Styles'},format:{label:'รูปà¹à¸šà¸š',panelTitle:'รูปà¹à¸šà¸š',tag_p:'Normal',tag_pre:'Formatted',tag_address:'Address',tag_h1:'Heading 1',tag_h2:'Heading 2',tag_h3:'Heading 3',tag_h4:'Heading 4',tag_h5:'Heading 5',tag_h6:'Heading 6',tag_div:'Paragraph (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'à¹à¸šà¸šà¸­à¸±à¸à¸©à¸£',voiceLabel:'Font',panelTitle:'à¹à¸šà¸šà¸­à¸±à¸à¸©à¸£'},fontSize:{label:'ขนาด',voiceLabel:'Font Size',panelTitle:'ขนาด'},colorButton:{textColorTitle:'สีตัวอัà¸à¸©à¸£',bgColorTitle:'สีพื้นหลัง',panelTitle:'Colors',auto:'สีอัตโนมัติ',more:'เลือà¸à¸ªà¸µà¸­à¸·à¹ˆà¸™à¹†...'},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'},scayt:{title:'Spell Check As You Type',opera_title:'Not supported by Opera',enable:'Enable SCAYT',disable:'Disable SCAYT',about:'About SCAYT',toggle:'Toggle SCAYT',options:'Options',langs:'Languages',moreSuggestions:'More suggestions',ignore:'Ignore',ignoreAll:'Ignore All',addWord:'Add Word',emptyDic:'Dictionary name should not be empty.',noSuggestions:' ไม่มีคำà¹à¸™à¸°à¸™à¸³à¹ƒà¸”ๆ ',optionsTab:'Options',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Languages',dictionariesTab:'Dictionaries',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'About'},about:{title:'About CKEditor',dlgTitle:'About CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'For licensing information please visit our web site:',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'Maximize',minimize:'Minimize',fakeobjects:{anchor:'Anchor',flash:'Flash Animation',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'Unknown Object'},resize:'Drag to resize',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'คุณสมบัติของเอà¸à¸ªà¸²à¸£',title:'คุณสมบัติของเอà¸à¸ªà¸²à¸£',design:'Design',meta:'ข้อมูลสำหรับเสิร์ชเอนจิ้น',chooseColor:'Choose',other:'<อื่น ๆ>',docTitle:'ชื่อไตเติ้ล',charset:'ชุดตัวอัà¸à¸©à¸£',charsetOther:'ชุดตัวอัà¸à¸©à¸£à¸­à¸·à¹ˆà¸™à¹†',charsetASCII:'ASCII',charsetCE:'Central European',charsetCT:'Chinese Traditional (Big5)',charsetCR:'Cyrillic',charsetGR:'Greek',charsetJP:'Japanese',charsetKR:'Korean',charsetTR:'Turkish',charsetUN:'Unicode (UTF-8)',charsetWE:'Western European',docType:'ประเภทของเอà¸à¸ªà¸²à¸£',docTypeOther:'ประเภทเอà¸à¸ªà¸²à¸£à¸­à¸·à¹ˆà¸™à¹†',xhtmlDec:'รวมเอา XHTML Declarations ไว้ด้วย',bgColor:'สีพื้นหลัง',bgImage:'ที่อยู่อ้างอิงออนไลน์ของรูปพื้นหลัง (Image URL)',bgFixed:'พื้นหลังà¹à¸šà¸šà¹„ม่มีà¹à¸–บเลื่อน',txtColor:'สีตัวอัà¸à¸©à¸£',margin:'ระยะขอบของหน้าเอà¸à¸ªà¸²à¸£',marginTop:'ด้านบน',marginLeft:'ด้านซ้าย',marginRight:'ด้านขวา',marginBottom:'ด้านล่าง',metaKeywords:'คำสำคัà¸à¸­à¸˜à¸´à¸šà¸²à¸¢à¹€à¸­à¸à¸ªà¸²à¸£ (คั่นคำด้วย คอมม่า)',metaDescription:'ประโยคอธิบายเà¸à¸µà¹ˆà¸¢à¸§à¸à¸±à¸šà¹€à¸­à¸à¸ªà¸²à¸£',metaAuthor:'ผู้สร้างเอà¸à¸ªà¸²à¸£',metaCopyright:'สงวนลิขสิทธิ์',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/tr.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/tr.js
deleted file mode 100644
index bc85544..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/tr.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.tr={dir:'ltr',editorTitle:'Zengin metin editörü, %1',editorHelp:'Yardım için ALT 0 tuşuna basın',toolbars:'Araç çubukları Editörü',editor:'Zengin Metin Editörü',source:'Kaynak',newPage:'Yeni Sayfa',save:'Kaydet',preview:'Ön İzleme',cut:'Kes',copy:'Kopyala',paste:'Yapıştır',print:'Yazdır',underline:'Altı Çizgili',bold:'Kalın',italic:'İtalik',selectAll:'Tümünü Seç',removeFormat:'Biçimi Kaldır',strike:'Üstü Çizgili',subscript:'Alt Simge',superscript:'Üst Simge',horizontalrule:'Yatay Satır Ekle',pagebreak:'Sayfa Sonu Ekle',pagebreakAlt:'Sayfa Sonu',unlink:'Köprü Kaldır',undo:'Geri Al',redo:'Tekrarla',common:{browseServer:'Sunucuyu Gez',url:'URL',protocol:'Protokol',upload:'Karşıya Yükle',uploadSubmit:'Sunucuya Yolla',image:'Resim',flash:'Flash',form:'Form',checkbox:'Onay Kutusu',radio:'Seçenek Düğmesi',textField:'Metin Girişi',textarea:'Çok Satırlı Metin',hiddenField:'Gizli Veri',button:'Düğme',select:'Seçim Menüsü',imageButton:'Resimli Düğme',notSet:'<tanımlanmamış>',id:'Kimlik',name:'Ad',langDir:'Dil Yönü',langDirLtr:'Soldan Sağa (LTR)',langDirRtl:'Sağdan Sola (RTL)',langCode:'Dil Kodlaması',longDescr:'Uzun Tanımlı URL',cssClass:'Biçem Sayfası Sınıfları',advisoryTitle:'Danışma Başlığı',cssStyle:'Biçem',ok:'Tamam',cancel:'İptal',close:'Kapat',preview:'Ön gösterim',generalTab:'Genel',advancedTab:'Gelişmiş',validateNumberFailed:'Bu değer sayı değildir.',confirmNewPage:'İceriğiniz kayıt edilmediğinden dolayı kaybolacaktır. Yeni bir sayfa yüklemek istediğinize eminsiniz?',confirmCancel:'Bazı seçenekler değişmiştir. Dialog penceresini kapatmak istediğinize eminmisiniz?',options:'Seçenekler',target:'Hedef',targetNew:'Yeni Pencere (_blank)',targetTop:'Enüst Pencere (_top)',targetSelf:'Aynı Pencere (_self)',targetParent:'Ana Pencere (_parent)',langDirLTR:'Soldan Sağa (LTR)',langDirRTL:'Sağdan Sola (RTL)',styles:'Stil',cssClasses:'Stil sayfası Sınıfı',width:'Genişlik',height:'Yükseklik',align:'Hizalama',alignLeft:'Sol',alignRight:'Sağ',alignCenter:'Merkez',alignTop:'Tepe',alignMiddle:'Orta',alignBottom:'Alt',invalidValue:'Invalid value.',invalidHeight:'Yükseklik sayı olmalıdır.',invalidWidth:'Genişlik bir sayı olmalıdır.',invalidCssLength:'Belirttiğiniz sayı "%1" alanı için pozitif bir sayı CSS birim değeri olmalıdır (px, %, in, cm, mm, em, ex, pt, veya pc).',invalidHtmlLength:'Belirttiğiniz sayı "%1" alanı için pozitif bir sayı HTML birim değeri olmalıdır (px veya %).',invalidInlineStyle:'Noktalı virgülle ayrılmış: "değer adı," inline stil için belirtilen değer biçiminde bir veya daha fazla dizilerden oluşmalıdır.',cssLengthTooltip:'Pikseller için bir numara girin veya geçerli bir CSS numarası (px, %, in, cm, mm, em, ex, pt, veya pc).',unavailable:'%1<span class="cke_accessibility">, hazır değildir</span>'},contextmenu:{options:'İçerik Menüsü Seçenekleri'},specialChar:{toolbar:'Özel Karakter Ekle',title:'Özel Karakter Seç',options:'Özel Karakter Seçenekleri'},link:{toolbar:'Link Ekle/Düzenle',other:'<diğer>',menu:'Link Düzenle',title:'Link',info:'Link Bilgisi',target:'Hedef',upload:'Karşıya Yükle',advanced:'Gelişmiş',type:'Link Türü',toUrl:'URL',toAnchor:'Bu sayfada çapa',toEmail:'E-Posta',targetFrame:'<çerçeve>',targetPopup:'<yeni açılan pencere>',targetFrameName:'Hedef Çerçeve Adı',targetPopupName:'Yeni Açılan Pencere Adı',popupFeatures:'Yeni Açılan Pencere Özellikleri',popupResizable:'Resizable',popupStatusBar:'Durum Çubuğu',popupLocationBar:'Yer Çubuğu',popupToolbar:'Araç Çubuğu',popupMenuBar:'Menü Çubuğu',popupFullScreen:'Tam Ekran (IE)',popupScrollBars:'Kaydırma Çubukları',popupDependent:'Bağımlı (Netscape)',popupLeft:'Sola Göre Konum',popupTop:'Yukarıya Göre Konum',id:'Id',langDir:'Dil Yönü',langDirLTR:'Soldan Sağa (LTR)',langDirRTL:'Sağdan Sola (RTL)',acccessKey:'Erişim Tuşu',name:'Ad',langCode:'Dil Yönü',tabIndex:'Sekme İndeksi',advisoryTitle:'Danışma Başlığı',advisoryContentType:'Danışma İçerik Türü',cssClasses:'Biçem Sayfası Sınıfları',charset:'Bağlı Kaynak Karakter Gurubu',styles:'Biçem',rel:'İlişki',selectAnchor:'Bağlantı Seç',anchorName:'Bağlantı Adı ile',anchorId:'Eleman Kimlik Numarası ile',emailAddress:'E-Posta Adresi',emailSubject:'İleti Konusu',emailBody:'İleti Gövdesi',noAnchors:'(Bu belgede hiç çapa yok)',noUrl:"Lütfen Link URL'sini yazın",noEmail:'Lütfen E-posta adresini yazın'},anchor:{toolbar:'Bağlantı Ekle/Düzenle',menu:'Bağlantı Özellikleri',title:'Bağlantı Özellikleri',name:'Bağlantı Adı',errorName:'Lütfen bağlantı için ad giriniz',remove:'Bağlantıyı Kaldır'},list:{numberedTitle:'Sayılandırılmış Liste Özellikleri',bulletedTitle:'Simgeli Liste Özellikleri',type:'Tipi',start:'Başla',validateStartNumber:'Liste başlangıcı tam sayı olmalıdır.',circle:'Daire',disc:'Disk',square:'Kare',none:'Yok',notset:'<ayarlanmamış>',armenian:'Ermenice sayılandırma',georgian:'Gürcüce numaralandırma (an, ban, gan, vs.)',lowerRoman:'Küçük Roman (i, ii, iii, iv, v, vs.)',upperRoman:'Büyük Roman (I, II, III, IV, V, vs.)',lowerAlpha:'Küçük Alpha (a, b, c, d, e, vs.)',upperAlpha:'Büyük Alpha (A, B, C, D, E, vs.)',lowerGreek:'Küçük Greek (alpha, beta, gamma, vs.)',decimal:'Ondalık (1, 2, 3, vs.)',decimalLeadingZero:'Başı sıfırlı ondalık (01, 02, 03, vs.)'},findAndReplace:{title:'Bul ve Değiştir',find:'Bul',replace:'Değiştir',findWhat:'Aranan:',replaceWith:'Bununla değiştir:',notFoundMsg:'Belirtilen yazı bulunamadı.',findOptions:'Seçenekleri Bul',matchCase:'Büyük/küçük harf duyarlı',matchWord:'Kelimenin tamamı uysun',matchCyclic:'Eşleşen döngü',replaceAll:'Tümünü Değiştir',replaceSuccessMsg:'%1 bulunanlardan değiştirildi.'},table:{toolbar:'Tablo',title:'Tablo Özellikleri',menu:'Tablo Özellikleri',deleteTable:'Tabloyu Sil',rows:'Satırlar',columns:'Sütunlar',border:'Kenar Kalınlığı',widthPx:'piksel',widthPc:'yüzde',widthUnit:'genişlik birimi',cellSpace:'Izgara kalınlığı',cellPad:'Izgara yazı arası',caption:'Başlık',summary:'Özet',headers:'Başlıklar',headersNone:'Yok',headersColumn:'İlk Sütun',headersRow:'İlk Satır',headersBoth:'Her İkisi',invalidRows:'Satır sayısı 0 sayısından büyük olmalıdır.',invalidCols:'Sütün sayısı 0 sayısından büyük olmalıdır.',invalidBorder:'Çerceve büyüklüklüğü sayı olmalıdır.',invalidWidth:'Tablo genişliği sayı olmalıdır.',invalidHeight:'Tablo yüksekliği sayı olmalıdır.',invalidCellSpacing:'Hücre boşluğu (spacing) sayı olmalıdır.',invalidCellPadding:'Hücre aralığı (padding) sayı olmalıdır.',cell:{menu:'Hücre',insertBefore:'Hücre Ekle - Önce',insertAfter:'Hücre Ekle - Sonra',deleteCell:'Hücre Sil',merge:'Hücreleri Birleştir',mergeRight:'Birleştir - Sağdaki İle ',mergeDown:'Birleştir - Aşağıdaki İle ',splitHorizontal:'Hücreyi Yatay Böl',splitVertical:'Hücreyi Dikey Böl',title:'Hücre Özellikleri',cellType:'Hücre Tipi',rowSpan:'Satırlar Mesafesi (Span)',colSpan:'Sütünlar Mesafesi (Span)',wordWrap:'Kelime Kaydırma',hAlign:'Düşey Hizalama',vAlign:'Yataş Hizalama',alignBaseline:'Tabana',bgColor:'Arkaplan Rengi',borderColor:'Çerçeve Rengi',data:'Veri',header:'Başlık',yes:'Evet',no:'Hayır',invalidWidth:'Hücre genişliği sayı olmalıdır.',invalidHeight:'Hücre yüksekliği sayı olmalıdır.',invalidRowSpan:'Satırların mesafesi tam sayı olmalıdır.',invalidColSpan:'Sütünların mesafesi tam sayı olmalıdır.',chooseColor:'Seçiniz'},row:{menu:'Satır',insertBefore:'Satır Ekle - Önce',insertAfter:'Satır Ekle - Sonra',deleteRow:'Satır Sil'},column:{menu:'Sütun',insertBefore:'Kolon Ekle - Önce',insertAfter:'Kolon Ekle - Sonra',deleteColumn:'Sütun Sil'}},button:{title:'Düğme Özellikleri',text:'Metin (Değer)',type:'Tip',typeBtn:'Düğme',typeSbm:'Gönder',typeRst:'Sıfırla'},checkboxAndRadio:{checkboxTitle:'Onay Kutusu Özellikleri',radioTitle:'Seçenek Düğmesi Özellikleri',value:'Değer',selected:'Seçili'},form:{title:'Form Özellikleri',menu:'Form Özellikleri',action:'İşlem',method:'Yöntem',encoding:'Kodlama'},select:{title:'Seçim Menüsü Özellikleri',selectInfo:'Bilgi',opAvail:'Mevcut Seçenekler',value:'Değer',size:'Boyut',lines:'satır',chkMulti:'Çoklu seçime izin ver',opText:'Metin',opValue:'Değer',btnAdd:'Ekle',btnModify:'Düzenle',btnUp:'Yukarı',btnDown:'Aşağı',btnSetValue:'Seçili değer olarak ata',btnDelete:'Sil'},textarea:{title:'Çok Satırlı Metin Özellikleri',cols:'Sütunlar',rows:'Satırlar'},textfield:{title:'Metin Girişi Özellikleri',name:'Ad',value:'Değer',charWidth:'Karakter Genişliği',maxChars:'En Fazla Karakter',type:'Tür',typeText:'Metin',typePass:'Şifre'},hidden:{title:'Gizli Veri Özellikleri',name:'Ad',value:'Değer'},image:{title:'Resim Özellikleri',titleButton:'Resimli Düğme Özellikleri',menu:'Resim Özellikleri',infoTab:'Resim Bilgisi',btnUpload:'Sunucuya Yolla',upload:'Karşıya Yükle',alt:'Alternatif Yazı',lockRatio:'Oranı Kilitle',resetSize:'Boyutu Başa Döndür',border:'Kenar',hSpace:'Yatay Boşluk',vSpace:'Dikey Boşluk',alertUrl:"Lütfen resmin URL'sini yazınız",linkTab:'Köprü',button2Img:'Seçili resim butonunu basit resime çevirmek istermisiniz?',img2Button:'Seçili olan resimi, resimli butona çevirmek istermisiniz?',urlMissing:'Resmin URL kaynağı eksiktir.',validateBorder:'Çerçeve tam sayı olmalıdır.',validateHSpace:'HSpace tam sayı olmalıdır.',validateVSpace:'VSpace tam sayı olmalıdır.'},flash:{properties:'Flash Özellikleri',propertiesTab:'Özellikler',title:'Flash Özellikleri',chkPlay:'Otomatik Oynat',chkLoop:'Döngü',chkMenu:'Flash Menüsünü Kullan',chkFull:'Tam ekrana İzinver',scale:'Boyutlandır',scaleAll:'Hepsini Göster',scaleNoBorder:'Kenar Yok',scaleFit:'Tam Sığdır',access:'Kod İzni',accessAlways:'Herzaman',accessSameDomain:'Aynı domain',accessNever:'Asla',alignAbsBottom:'Tam Altı',alignAbsMiddle:'Tam Ortası',alignBaseline:'Taban Çizgisi',alignTextTop:'Yazı Tepeye',quality:'Kalite',qualityBest:'En iyi',qualityHigh:'Yüksek',qualityAutoHigh:'Otomatik Yükseklik',qualityMedium:'Orta',qualityAutoLow:'Otomatik Düşüklük',qualityLow:'Düşük',windowModeWindow:'Pencere',windowModeOpaque:'Opak',windowModeTransparent:'Şeffaf',windowMode:'Pencere modu',flashvars:'Flash Değerleri',bgcolor:'Arka Renk',hSpace:'Yatay Boşluk',vSpace:'Dikey Boşluk',validateSrc:"Lütfen köprü URL'sini yazın",validateHSpace:'HSpace sayı olmalıdır.',validateVSpace:'VSpace sayı olmalıdır.'},spellCheck:{toolbar:'Yazım Denetimi',title:'Yazımı Denetle',notAvailable:'Üzügünüz, bu servis şuanda hizmet dışıdır.',errorLoading:'Uygulamada yüklerken hata oluştu: %s.',notInDic:'Sözlükte Yok',changeTo:'Şuna değiştir:',btnIgnore:'Yoksay',btnIgnoreAll:'Tümünü Yoksay',btnReplace:'Değiştir',btnReplaceAll:'Tümünü Değiştir',btnUndo:'Geri Al',noSuggestions:'- Öneri Yok -',progress:'Yazım denetimi işlemde...',noMispell:'Yazım denetimi tamamlandı: Yanlış yazıma rastlanmadı',noChanges:'Yazım denetimi tamamlandı: Hiçbir kelime değiştirilmedi',oneChange:'Yazım denetimi tamamlandı: Bir kelime değiştirildi',manyChanges:'Yazım denetimi tamamlandı: %1 kelime değiştirildi',ieSpellDownload:'Yazım denetimi yüklenmemiş. Şimdi yüklemek ister misiniz?'},smiley:{toolbar:'İfade',title:'İfade Ekle',options:'İfade Seçenekleri'},elementsPath:{eleLabel:'Elementlerin yolu',eleTitle:'%1 elementi'},numberedlist:'Numaralı Liste',bulletedlist:'Simgeli Liste',indent:'Sekme Arttır',outdent:'Sekme Azalt',justify:{left:'Sola Dayalı',center:'Ortalanmış',right:'Sağa Dayalı',block:'İki Kenara Yaslanmış'},blockquote:'Blok Oluştur',clipboard:{title:'Yapıştır',cutError:'Gezgin yazılımınızın güvenlik ayarları düzenleyicinin otomatik kesme işlemine izin vermiyor. İşlem için (Ctrl/Cmd+X) tuşlarını kullanın.',copyError:'Gezgin yazılımınızın güvenlik ayarları düzenleyicinin otomatik kopyalama işlemine izin vermiyor. İşlem için (Ctrl/Cmd+C) tuşlarını kullanın.',pasteMsg:'Lütfen aşağıdaki kutunun içine yapıştırın. (<STRONG>Ctrl/Cmd+V</STRONG>) ve <STRONG>Tamam</STRONG> butonunu tıklayın.',securityMsg:'Gezgin yazılımınızın güvenlik ayarları düzenleyicinin direkt olarak panoya erişimine izin vermiyor. Bu pencere içine tekrar yapıştırmalısınız..',pasteArea:'Yapıştırma Alanı'},pastefromword:{confirmCleanup:"Yapıştırmaya çalıştığınız metin Word'den kopyalanmıştır. Yapıştırmadan önce silmek istermisiniz?",toolbar:"Word'den Yapıştır",title:"Word'den Yapıştır",error:'Yapıştırmadaki veri bilgisi hata düzelene kadar silinmeyecektir'},pasteText:{button:'Düz Metin Olarak Yapıştır',title:'Düz Metin Olarak Yapıştır'},templates:{button:'Şablonlar',title:'İçerik Şablonları',options:'Şablon Seçenekleri',insertOption:'Mevcut içerik ile değiştir',selectPromptMsg:'Düzenleyicide açmak için lütfen bir şablon seçin.<br>(hali hazırdaki içerik kaybolacaktır.):',emptyListMsg:'(Belirli bir şablon seçilmedi)'},showBlocks:'Blokları Göster',stylesCombo:{label:'Biçem',panelTitle:'Stilleri Düzenliyor',panelTitle1:'Blok Stilleri',panelTitle2:'Inline Stilleri',panelTitle3:'Nesne Stilleri'},format:{label:'Biçim',panelTitle:'Biçim',tag_p:'Normal',tag_pre:'Biçimli',tag_address:'Adres',tag_h1:'Başlık 1',tag_h2:'Başlık 2',tag_h3:'Başlık 3',tag_h4:'Başlık 4',tag_h5:'Başlık 5',tag_h6:'Başlık 6',tag_div:'Paragraf (DIV)'},div:{title:'Div İçeriği Oluştur',toolbar:'Div İçeriği Oluştur',cssClassInputLabel:'Stilltipi Sınıfı',styleSelectLabel:'Stil',IdInputLabel:'Id',languageCodeInputLabel:' Dil Kodu',inlineStyleInputLabel:'Inline Stili',advisoryTitleInputLabel:'Tavsiye Başlığı',langDirLabel:'Dil Yönü',langDirLTRLabel:'Soldan sağa (LTR)',langDirRTLLabel:'Sağdan sola (RTL)',edit:'Div Düzenle',remove:'Div Kaldır'},iframe:{title:'IFrame Özellikleri',toolbar:'IFrame',noUrl:'Lütfen IFrame köprü (URL) bağlantısını yazın',scrolling:'Kaydırma çubuklarını aktif et',border:'Çerceve sınırlarını göster'},font:{label:'Yazı Türü',voiceLabel:'Font',panelTitle:'Yazı Türü'},fontSize:{label:'Boyut',voiceLabel:'Font Size',panelTitle:'Boyut'},colorButton:{textColorTitle:'Yazı Rengi',bgColorTitle:'Arka Renk',panelTitle:'Renkler',auto:'Otomatik',more:'Diğer renkler...'},colors:{'000':'Siyah',800000:'Kestane','8B4513':'Koyu Kahverengi','2F4F4F':'Koyu Kurşuni Gri','008080':'Teal','000080':'Mavi','4B0082':'Çivit Mavisi',696969:'Silik Gri',B22222:'Ateş Tuğlası',A52A2A:'Kahverengi',DAA520:'Altun Sırık','006400':'Koyu Yeşil','40E0D0':'Turkuaz','0000CD':'Orta Mavi',800080:'Pembe',808080:'Gri',F00:'Kırmızı',FF8C00:'Koyu Portakal',FFD700:'Altın','008000':'Yeşil','0FF':'Ciyan','00F':'Mavi',EE82EE:'Menekşe',A9A9A9:'Koyu Gri',FFA07A:'Açık Sarımsı',FFA500:'Portakal',FFFF00:'Sarı','00FF00':'Açık Yeşil',AFEEEE:'Sönük Turkuaz',ADD8E6:'Açık Mavi',DDA0DD:'Mor',D3D3D3:'Açık Gri',FFF0F5:'Eflatun Pembe',FAEBD7:'Antik Beyaz',FFFFE0:'Açık Sarı',F0FFF0:'Balsarısı',F0FFFF:'Gök Mavisi',F0F8FF:'Reha Mavi',E6E6FA:'Eflatun',FFF:'Beyaz'},scayt:{title:'Girmiş olduğunuz kelime denetimi',opera_title:'Opera tarafından desteklenmemektedir',enable:"SCAYT'ı etkinleştir",disable:"SCAYT'ı pasifleştir",about:"SCAYT'ı hakkında",toggle:"SCAYT'ı değiştir",options:'Seçenekler',langs:'Diller',moreSuggestions:'Daha fazla öneri',ignore:'Yoksay',ignoreAll:'Tümünü Yoksay',addWord:'Kelime Ekle',emptyDic:'Sözlük adı boş olamaz.',noSuggestions:'Öneri Yok',optionsTab:'Seçenekler',allCaps:'Tüm büyük küçük kelimeleri yoksay',ignoreDomainNames:'Domain adlarını yoksay',mixedCase:'Karışık büyüklük ile Sözcükler yoksay',mixedWithDigits:'Sayılarla Kelimeler yoksay',languagesTab:'Diller',dictionariesTab:'Sözlükler',dic_field_name:'Sözlük adı',dic_create:'Oluştur',dic_restore:'Geri al',dic_delete:'Sil',dic_rename:'Yeniden adlandır',dic_info:'Başlangıçta Kullanıcı Sözlüğü bir çerezde saklanır. Ancak, Çerezler boyutu sınırlıdır. Kullanıcı Sözlüğü, çerezin içinde saklanamayacağı bir noktada, bizim sunucularımızın içindeki sözlükte saklanabilir. Bizim sunucu üzerinde kişisel Sözlük saklamanız için, Sözlüğe bir ad belirtmelisiniz. Eğer zaten bir saklı Sözlük varsa, lütfen adını yazın ve Geri Yükle düğmesini tıklayın.',aboutTab:'Hakkında'},about:{title:'CKEditor Hakkında',dlgTitle:'CKEditor Hakkında',help:'Yardım için $1 kontrol edin.',userGuide:'CKEditor Kullanıcı Kılavuzu',moreInfo:'Lisanslama hakkında daha fazla bilgi almak için lütfen sitemizi ziyaret edin:',copy:'Copyright &copy; $1. Tüm hakları saklıdır.'},maximize:'Büyült',minimize:'Küçült',fakeobjects:{anchor:'Bağlantı',flash:'Flash Animasyonu',iframe:'IFrame',hiddenfield:'Gizli Alan',unknown:'Bilinmeyen Nesne'},resize:'Boyutlandırmak için sürükle',colordialog:{title:'Renk seç',options:'Renk Seçenekleri',highlight:'İşaretle',selected:'Seçilmiş',clear:'Temizle'},toolbarCollapse:'Araç çubuklarını topla',toolbarExpand:'Araç çubuklarını aç',toolbarGroups:{document:'Belge',clipboard:'Pano/Geri al',editing:'Düzenleme',forms:'Formlar',basicstyles:'Temel Stiller',paragraph:'Paragraf',links:'Bağlantılar',insert:'Ekle',styles:'Stiller',colors:'Renkler',tools:'Araçlar'},bidi:{ltr:'Metin yönü soldan sağa',rtl:'Metin yönü sağdan sola'},docprops:{label:'Belge Özellikleri',title:'Belge Özellikleri',design:'Dizayn',meta:'Tanım Bilgisi (Meta)',chooseColor:'Seçiniz',other:'<diğer>',docTitle:'Sayfa Başlığı',charset:'Karakter Kümesi Kodlaması',charsetOther:'Diğer Karakter Kümesi Kodlaması',charsetASCII:'ASCII',charsetCE:'Orta Avrupa',charsetCT:'Geleneksel Çince (Big5)',charsetCR:'Kiril',charsetGR:'Yunanca',charsetJP:'Japonca',charsetKR:'Korece',charsetTR:'Türkçe',charsetUN:'Evrensel Kod (UTF-8)',charsetWE:'Batı Avrupa',docType:'Belge Türü Başlığı',docTypeOther:'Diğer Belge Türü Başlığı',xhtmlDec:'XHTML Bildirimlerini Dahil Et',bgColor:'Arka Plan Rengi',bgImage:'Arka Plan Resim URLsi',bgFixed:'Sabit Arka Plan',txtColor:'Yazı Rengi',margin:'Kenar Boşlukları',marginTop:'Tepe',marginLeft:'Sol',marginRight:'Sağ',marginBottom:'Alt',metaKeywords:'Belge Dizinleme Anahtar Kelimeleri (virgülle ayrılmış)',metaDescription:'Belge Tanımı',metaAuthor:'Yazar',metaCopyright:'Telif',previewHtml:'<p>Bu bir <strong>örnek metindir</strong>. <a href="javascript:void(0)">CKEditor</a> kullanıyorsunuz.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/ug.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/ug.js
deleted file mode 100644
index f088678..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/ug.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.ug={dir:'rtl',editorTitle:'كۆرۈنۈشچان تەھرىرلىگۈچ، %1',editorHelp:'ALT+0 نى بÛسىپ ياردەمنى كۆرۈڭ',toolbars:'قورال بالداق',editor:'تەھرىرلىگۈچ',source:'مەنبە',newPage:'ÙŠÛÚ­Ù‰ بەت',save:'ساقلا',preview:'ئالدىن كۆزەت',cut:'كەس',copy:'نەشر ھوقۇقىغا ئىگە بەلگىسى',paste:'چاپلا',print:'باس ',underline:'ئاستى سىزىق',bold:'توم',italic:'يانتۇ',selectAll:'ھەممىنى تاللا',removeFormat:'پىچىمنى چىقىرىۋەت',strike:'ئۆچۈرۈش سىزىقى',subscript:'تۆۋەن ئىندÛكس',superscript:'يۇقىرى ئىندÛكس',horizontalrule:'توغرا سىزىق قىستۇر',pagebreak:'بەت ئايرىغۇچ قىستۇر',pagebreakAlt:'بەت ئايرىغۇچ',unlink:'ئۇلانما بىكار قىل',undo:'ÙŠÛنىۋال',redo:'قايتىلا ',common:{browseServer:'كۆرسىتىش مۇلازىمÛتىر',url:'ئەسلى ھۆججەت',protocol:'ÙƒÛلىشىم',upload:'يۈكلە',uploadSubmit:'مۇلازىمÛتىرغا يۈكلە',image:'سۈرەت',flash:'Flash',form:'جەدۋەل',checkbox:'ÙƒÛ†Ù¾ تاللاش رامكىسى',radio:'يەككە تاللاش توپچىسى',textField:'يەككە قۇر تÛكىست',textarea:'ÙƒÛ†Ù¾ قۇر تÛكىست',hiddenField:'يوشۇرۇن دائىرە',button:'توپچا',select:'تىزىم/تىزىملىك',imageButton:'سۈرەت دائىرە',notSet:'‹تەڭشەلمىگەن›',id:'ID',name:'ئات',langDir:'تىل يۆنىلىشى',langDirLtr:'سولدىن ئوڭغا (LTR)',langDirRtl:'ئوڭدىن سولغا (RTL)',langCode:'تىل كودى',longDescr:'تەپسىلىي چۈشەندۈرۈش ئادرÛسى',cssClass:'ئۇسلۇب خىلىنىڭ ئاتى',advisoryTitle:'ماۋزۇ',cssStyle:'قۇر ئىچىدىكى ئۇسلۇبى',ok:'جەزملە',cancel:'ۋاز ÙƒÛ•Ú†',close:'تاقا',preview:'ئالدىن كۆزەت',generalTab:'ئادەتتىكى',advancedTab:'ئالىي',validateNumberFailed:'سان پىچىمىدا كىرگۈزۈش زۆرۈر',confirmNewPage:'نۆۋەتتىكى پۈتۈك مەزمۇنى ساقلانمىدى، ÙŠÛÚ­Ù‰ پۈتۈك قۇرامسىز؟',confirmCancel:'قىسمەن ئۆزگەرتىش ساقلانمىدى، بۇ سۆزلەشكۈنى تاقامسىز؟',options:'تاللانما',target:'نىشان كۆزنەك',targetNew:'ÙŠÛÚ­Ù‰ كۆزنەك (_blank)',targetTop:'پۈتۈن بەت (_top)',targetSelf:'مەزكۇر كۆزنەك (_self)',targetParent:'ئاتا كۆزنەك (_parent)',langDirLTR:'سولدىن ئوڭغا (LTR)',langDirRTL:'ئوڭدىن سولغا (RTL)',styles:'ئۇسلۇبلار',cssClasses:'ئۇسلۇب خىللىرى',width:'كەڭلىك',height:'ئÛگىزلىك',align:'توغرىلىنىشى',alignLeft:'سول',alignRight:'ئوڭ',alignCenter:'ئوتتۇرا',alignTop:'ئۈستى',alignMiddle:'ئوتتۇرا',alignBottom:'ئاستى',invalidValue:'Invalid value.',invalidHeight:'ئÛگىزلىك چوقۇم رەقەم پىچىمىدا بولۇشى زۆرۈر',invalidWidth:'كەڭلىك چوقۇم رەقەم پىچىمىدا بولۇشى زۆرۈر',invalidCssLength:'بۇ سۆز بۆلىكى چوقۇم مۇۋاپىق بولغان CSS ئۇزۇنلۇق قىممىتى بولۇشى زۆرۈر، بىرلىكى (px, %, in, cm, mm, em, ex, pt ياكى pc)',invalidHtmlLength:'بۇ سۆز بۆلىكى چوقۇم بىرىكمە HTML ئۇزۇنلۇق قىممىتى بولۇشى ÙƒÛرەك. ئۆز ئىچىگە ئالىدىغان بىرلىك (px ياكى %)',invalidInlineStyle:'ئىچكى باغلانما ئۇسلۇبى چوقۇم Ú†Ûكىتلىك Ù¾Û•Ø´ بىلەن ئايرىلغان بىر ياكى ÙƒÛ†Ù¾ «خاسلىق ئاتى:خاسلىق قىممىتى» پىچىمىدا بولۇشى لازىم',cssLengthTooltip:'بۇ سۆز بۆلىكى بىرىكمە CSS ئۇزۇنلۇق قىممىتى بولۇشى ÙƒÛرەك. ئۆز ئىچىگە ئالىدىغان بىرلىك (px, %, in, cm, mm, em, ex, pt ياكى pc)',unavailable:'%1<span class=\\\\"cke_accessibility\\\\">ØŒ ئىشلەتكىلى بولمايدۇ</span>'},contextmenu:{options:'قىسقا يول تىزىملىك تاللانمىسى'},specialChar:{toolbar:'ئالاھىدە ھەرپ قىستۇر',title:'ئالاھىدە ھەرپ تاللاڭ',options:'ئالاھىدە ھەرپ تاللانمىسى'},link:{toolbar:'ئۇلانما قىستۇر/تەھرىرلە',other:'‹باشقا›',menu:'ئۇلانما تەھرىر',title:'ئۇلانما',info:'ئۇلانما ئۇچۇرى',target:'نىشان',upload:'يۈكلە',advanced:'ئالىي',type:'ئۇلانما تىپى',toUrl:'ئادرÛس',toAnchor:'بەت ئىچىدىكى لەڭگەرلىك نۇقتا ئۇلانمىسى',toEmail:'ئÛلخەت',targetFrame:'‹كاندۇك›',targetPopup:'‹قاڭقىش كۆزنەك›',targetFrameName:'نىشان كاندۇك ئاتى',targetPopupName:'قاڭقىش كۆزنەك ئاتى',popupFeatures:'قاڭقىش كۆزنەك خاسلىقى',popupResizable:'چوڭلۇقى ئۆزگەرتىشچان',popupStatusBar:'ھالەت بالداق',popupLocationBar:'ئادرÛس بالداق',popupToolbar:'قورال بالداق',popupMenuBar:'تىزىملىك بالداق',popupFullScreen:'پۈتۈن ئÛكران (IE)',popupScrollBars:'دومىلىما سۈرگۈچ',popupDependent:'تەۋە (NS)',popupLeft:'سول',popupTop:'ئوڭ',id:'ID',langDir:'تىل يۆنىلىشى',langDirLTR:'سولدىن ئوڭغا (LTR)',langDirRTL:'ئوڭدىن سولغا (RTL)',acccessKey:'زىيارەت كۇنۇپكا',name:'ئات',langCode:'تىل كودى',tabIndex:'Tab تەرتىپى',advisoryTitle:'ماۋزۇ',advisoryContentType:'مەزمۇن تىپى',cssClasses:'ئۇسلۇب خىلى ئاتى',charset:'ھەرپ كودلىنىشى',styles:'قۇر ئىچىدىكى ئۇسلۇبى',rel:'باغلىنىش',selectAnchor:'بىر لەڭگەرلىك نۇقتا تاللاڭ',anchorName:'لەڭگەرلىك نۇقتا ئاتى بويىچە',anchorId:'لەڭگەرلىك نۇقتا ID سى بويىچە',emailAddress:'ئادرÛس',emailSubject:'ماۋزۇ',emailBody:'مەزمۇن',noAnchors:'(بۇ پۈتۈكتە ئىشلەتكىلى بولىدىغان لەڭگەرلىك نۇقتا يوق)',noUrl:'ئۇلانما ئادرÛسىنى كىرگۈزۈڭ',noEmail:'ئÛلخەت ئادرÛسىنى كىرگۈزۈڭ'},anchor:{toolbar:'لەڭگەرلىك نۇقتا ئۇلانمىسى قىستۇر/تەھرىرلە',menu:'لەڭگەرلىك نۇقتا ئۇلانما خاسلىقى',title:'لەڭگەرلىك نۇقتا ئۇلانما خاسلىقى',name:'لەڭگەرلىك نۇقتا ئاتى',errorName:'لەڭگەرلىك نۇقتا ئاتىنى كىرگۈزۈڭ',remove:'لەڭگەرلىك نۇقتا ئۆچۈر'},list:{numberedTitle:'تەرتىپ نومۇر تىزىم خاسلىقى',bulletedTitle:'تۈر بەلگە تىزىم خاسلىقى',type:'بەلگە تىپى',start:'باشلىنىش نومۇرى',validateStartNumber:'تىزىم باشلىنىش تەرتىپ نومۇرى چوقۇم پۈتۈن سان پىچىمىدا بولۇشى لازىم',circle:'بوش چەمبەر',disc:'تولدۇرۇلغان چەمبەر',square:'تولدۇرۇلغان تۆت چاسا',none:'بەلگە يوق',notset:'‹تەڭشەلمىگەن›',armenian:'قەدىمكى ئەرمىنىيە تەرتىپ نومۇرى شەكلى',georgian:'قەدىمكى جورجىيە تەرتىپ نومۇرى شەكلى (an, ban, gan قاتارلىق)',lowerRoman:'كىچىك ھەرپلىك رىم رەقىمى (i, ii, iii, iv, v قاتارلىق)',upperRoman:'Ú†ÙˆÚ­ ھەرپلىك رىم رەقىمى (I, II, III, IV, V قاتارلىق)',lowerAlpha:'ئىنگلىزچە كىچىك ھەرپ (a, b, c, d, e قاتارلىق)',upperAlpha:'ئىنگلىزچە Ú†ÙˆÚ­ ھەرپ (A, B, C, D, E قاتارلىق)',lowerGreek:'گرÛÙƒÚ†Û• كىچىك ھەرپ (alpha, beta, gamma قاتارلىق)',decimal:'سان (1, 2, 3 قاتارلىق)',decimalLeadingZero:'نۆلدىن باشلانغان سان بەلگە (01, 02, 03 قاتارلىق)'},findAndReplace:{title:'ئىزدەپ ئالماشتۇر',find:'ئىزدە',replace:'ئالماشتۇر',findWhat:'ئىزدە:',replaceWith:'ئالماشتۇر:',notFoundMsg:'بەلگىلەنگەن تÛكىستنى تاپالمىدى',findOptions:'ئىزدەش تاللانمىسى',matchCase:'Ú†ÙˆÚ­ كىچىك ھەرپنى پەرقلەندۈر',matchWord:'پۈتۈن سۆز ماسلىشىش',matchCyclic:'ئايلانما ماسلىشىش',replaceAll:'ھەممىنى ئالماشتۇر',replaceSuccessMsg:'جەمئى %1 جايدىكى ئالماشتۇرۇش تاماملاندى'},table:{toolbar:'جەدۋەل',title:'جەدۋەل خاسلىقى',menu:'جەدۋەل خاسلىقى',deleteTable:'جەدۋەل ئۆچۈر',rows:'قۇر سانى',columns:'ئىستون سانى',border:'گىرۋەك',widthPx:'پىكسÛÙ„',widthPc:'پىرسەنت',widthUnit:'كەڭلىك بىرلىكى',cellSpace:'ئارىلىق',cellPad:'يان ئارىلىق',caption:'ماۋزۇ',summary:'ئۈزۈندە',headers:'ماۋزۇ كاتەكچە',headersNone:'يوق',headersColumn:'بىرىنچى ئىستون',headersRow:'بىرىنچى قۇر',headersBoth:'بىرىنچى ئىستون Û‹Û• بىرىنچى قۇر',invalidRows:'بەلگىلەنگەن ئىستون سانى چوقۇم نۆلدىن Ú†ÙˆÚ­ بولىدۇ',invalidCols:'بەلگىلەنگەن قۇر سانى چوقۇم نۆلدىن Ú†ÙˆÚ­ بولىدۇ',invalidBorder:'گىرۋەك توملۇقى چوقۇم سان بولىدۇ',invalidWidth:'جەدۋەل كەڭلىكى چوقۇم سان بولىدۇ',invalidHeight:'جەدۋەل ئÛگىزلىكى چوقۇم سان بولىدۇ',invalidCellSpacing:'كاتەكچە ئارىلىقى چوقۇم سان بولىدۇ',invalidCellPadding:'كاتەكچىگە چوقۇم سان تولدۇرۇلىدۇ',cell:{menu:'كاتەكچە',insertBefore:'سولغا كاتەكچە قىستۇر',insertAfter:'ئوڭغا كاتەكچە قىستۇر',deleteCell:'كەتەكچە ئۆچۈر',merge:'كاتەكچە بىرلەشتۈر',mergeRight:'كاتەكچىنى ئوڭغا بىرلەشتۈر',mergeDown:'كاتەكچىنى ئاستىغا بىرلەشتۈر',splitHorizontal:'كاتەكچىنى توغرىسىغا بىرلەشتۈر',splitVertical:'كاتەكچىنى بويىغا بىرلەشتۈر',title:'كاتەكچە خاسلىقى',cellType:'كاتەكچە تىپى',rowSpan:'بويىغا چات ئارىسى قۇر سانى',colSpan:'توغرىسىغا چات ئارىسى ئىستون سانى',wordWrap:'ئۆزلۈكىدىن قۇر قاتلا',hAlign:'توغرىسىغا توغرىلا',vAlign:'بويىغا توغرىلا',alignBaseline:'ئاساسىي سىزىق',bgColor:'تەگلىك رەڭگى',borderColor:'گىرۋەك رەڭگى',data:'سانلىق مەلۇمات',header:'جەدۋەل باشى',yes:'ھەئە',no:'ياق',invalidWidth:'كاتەكچە كەڭلىكى چوقۇم سان بولىدۇ',invalidHeight:'كاتەكچە ئÛگىزلىكى چوقۇم سان بولىدۇ',invalidRowSpan:'قۇر چات ئارىسى چوقۇم پۈتۈن سان بولىدۇ ',invalidColSpan:'ئىستون چات ئارىسى چوقۇم پۈتۈن سان بولىدۇ',chooseColor:'تاللاڭ'},row:{menu:'قۇر',insertBefore:'ئۈستىگە قۇر قىستۇر',insertAfter:'ئاستىغا قۇر قىستۇر',deleteRow:'قۇر ئۆچۈر'},column:{menu:'ئىستون',insertBefore:'سولغا ئىستون قىستۇر',insertAfter:'ئوڭغا ئىستون قىستۇر',deleteColumn:'ئىستون ئۆچۈر'}},button:{title:'توپچا خاسلىقى',text:'بەلگە (قىممەت)',type:'تىپى',typeBtn:'توپچا',typeSbm:'تاپشۇر',typeRst:'ئەسلىگە قايتۇر'},checkboxAndRadio:{checkboxTitle:'ÙƒÛ†Ù¾ تاللاش خاسلىقى',radioTitle:'تاق تاللاش توپچا خاسلىقى',value:'تاللىغان قىممەت',selected:'تاللانغان'},form:{title:'جەدۋەل خاسلىقى',menu:'جەدۋەل خاسلىقى',action:'مەشغۇلات',method:'ئۇسۇل',encoding:'جەدۋەل كودلىنىشى'},select:{title:'جەدۋەل/تىزىم خاسلىقى',selectInfo:'ئۇچۇر تاللاڭ',opAvail:'تاللاش تۈرلىرى',value:'قىممەت',size:'ئÛگىزلىكى',lines:'قۇر',chkMulti:'ÙƒÛ†Ù¾ تاللاشچان',opText:'تاللانما تÛكىستى',opValue:'تاللانما قىممىتى',btnAdd:'قوش',btnModify:'ئۆزگەرت',btnUp:'ئۈستىگە',btnDown:'ئاستىغا',btnSetValue:'دەسلەپكى تاللانما قىممىتىگە تەڭشە',btnDelete:'ئۆچۈر'},textarea:{title:' ÙƒÛ†Ù¾ قۇرلۇق تÛكىست خاسلىقى',cols:'ھەرپ كەڭلىكى',rows:'قۇر سانى'},textfield:{title:'تاق قۇرلۇق تÛكىست خاسلىقى',name:'ئات',value:'دەسلەپكى قىممىتى',charWidth:'ھەرپ كەڭلىكى',maxChars:'ئەڭ ÙƒÛ†Ù¾ ھەرپ سانى',type:'تىپى',typeText:'تÛكىست',typePass:'ئىم'},hidden:{title:'يوشۇرۇن دائىرە خاسلىقى',name:'ئات',value:'دەسلەپكى قىممىتى'},image:{title:'سۈرەت خاسلىقى',titleButton:'سۈرەت دائىرە خاسلىقى',menu:'سۈرەت خاسلىقى',infoTab:'سۈرەت',btnUpload:'مۇلازىمÛتىرغا يۈكلە',upload:'يۈكلە',alt:'تÛكىست ئالماشتۇر',lockRatio:'نىسبەتنى قۇلۇپلا',resetSize:'ئەسلى Ú†ÙˆÚ­Ù„Û‡Ù‚',border:'گىرۋەك چوڭلۇقى',hSpace:'توغرىسىغا ئارىلىقى',vSpace:'بويىغا ئارىلىقى',alertUrl:'سۈرەت ئادرÛسىنى كىرگۈزۈڭ',linkTab:'ئۇلانما',button2Img:'نۆۋەتتىكى توپچىنى سۈرەتكە ئۆزگەرتەمسىز؟',img2Button:'نۆۋەتتىكى سۈرەتنى توپچىغا ئۆزگەرتەمسىز؟',urlMissing:'سۈرەتنىڭ ئەسلى ھۆججەت ئادرÛسى ÙƒÛ•Ù…',validateBorder:'گىرۋەك چوڭلۇقى چوقۇم سان بولىدۇ',validateHSpace:'توغرىسىغا ئارىلىق چوقۇم پۈتۈن سان بولىدۇ',validateVSpace:'بويىغا ئارىلىق چوقۇم پۈتۈن سان بولىدۇ'},flash:{properties:'Flash خاسلىق',propertiesTab:'خاسلىق',title:'ماۋزۇ',chkPlay:'ئۆزلۈكىدىن چال',chkLoop:'دەۋرىي',chkMenu:'Flash تىزىملىكنى قوزغات',chkFull:'پۈتۈن ئÛكراننى قوزغات',scale:'نىسبىتى',scaleAll:'ھەممىنى كۆرسەت',scaleNoBorder:'گىرۋەك يوق',scaleFit:'قەتئىي ماسلىشىش',access:'قوليازما زىيارەتكە يول قوي',accessAlways:'ھەمىشە',accessSameDomain:'ئوخشاش دائىرىدە',accessNever:'ھەرگىز',alignAbsBottom:'مۇتلەق ئاستى',alignAbsMiddle:'مۇتلەق ئوتتۇرا',alignBaseline:'ئاساسىي سىزىق',alignTextTop:'تÛكىست ئۈستىدە',quality:'سۈپەت',qualityBest:'ئەڭ ياخشى',qualityHigh:'يۇقىرى',qualityAutoHigh:'يۇقىرى (ئاپتوماتىك)',qualityMedium:'ئوتتۇرا (ئاپتوماتىك)',qualityAutoLow:'تۆۋەن (ئاپتوماتىك)',qualityLow:'تۆۋەن',windowModeWindow:'كۆزنەك گەۋدىسى',windowModeOpaque:'خىرە',windowModeTransparent:'سۈزۈك',windowMode:'كۆزنەك ھالىتى',flashvars:'Flash ئۆزگەرگۈچى',bgcolor:'تەگلىك رەڭگى',hSpace:'توغرىسىغا ئارىلىق',vSpace:'بويىغا ئارىلىق',validateSrc:'ئەسلى ھۆججەت ئادرÛسىنى كىرگۈزۈڭ',validateHSpace:'توغرىسىغا ئارىلىق چوقۇم سان بولىدۇ',validateVSpace:'بويىغا ئارىلىق چوقۇم سان بولىدۇ'},spellCheck:{toolbar:'ئىملا تەكشۈر',title:'ئىملا تەكشۈر',notAvailable:'كەچۈرۈڭ، مۇلازىمÛتىرنى ۋاقتىنچە ئىشلەتكىلى بولمايدۇ',errorLoading:'لازىملىق مۇلازىمÛتىرنى يۈكلىگەندە خاتالىق كۆرۈلدى: %s.',notInDic:'لۇغەتتە يوق',changeTo:'ئۆزگەرت',btnIgnore:'پەرۋا قىلما',btnIgnoreAll:'ھەممىگە پەرۋا قىلما',btnReplace:'ئالماشتۇر',btnReplaceAll:'ھەممىنى ئالماشتۇر',btnUndo:'ÙŠÛنىۋال',noSuggestions:'-تەكلىپ يوق-',progress:'ئىملا تەكشۈرۈۋاتىدۇ…',noMispell:'ئىملا تەكشۈرۈش تامام: ئىملا خاتالىقى بايقالمىدى',noChanges:'ئىملا تەكشۈرۈش تامام: Ú¾Ûچقانداق سۆزنى ئۆزگەرتمىدى',oneChange:'ئىملا تەكشۈرۈش تامام: بىر سۆزنى ئۆزگەرتتى',manyChanges:'ئىملا تەكشۈرۈش تامام: %1 سۆزنى ئۆزگەرتتى',ieSpellDownload:'ئىملا تەكشۈرۈش قىستۇرمىسى تÛخى ئورنىتىلمىغان، ھازىرلا چۈشۈرەمسىز؟'},smiley:{toolbar:'چىراي ئىپادە',title:'چىراي ئىپادە سىنبەلگە قىستۇر',options:'چىراي ئىپادە سىنبەلگە تاللانمىسى'},elementsPath:{eleLabel:'ئÛÙ„ÛÙ…Ûنت يولى',eleTitle:'%1 ئÛÙ„ÛÙ…Ûنت'},numberedlist:'تەرتىپ نومۇر تىزىمى',bulletedlist:'تۈر بەلگە تىزىمى',indent:'تارايت',outdent:'كەڭەيت',justify:{left:'سولغا توغرىلا',center:'ئوتتۇرىغا توغرىلا',right:'ئوڭغا توغرىلا',block:'ئىككى تەرەپتىن توغرىلا'},blockquote:'بۆلەك نەقىل',clipboard:{title:'چاپلا',cutError:'تور كۆرگۈڭىزنىڭ بىخەتەرلىك تەڭشىكى تەھرىرلىگۈچنىڭ كەس مەشغۇلاتىنى ئۆزلۈكىدىن ئىجرا قىلىشىغا يول قويمايدۇ، ھەرپتاختا تÛز كۇنۇپكا (Ctrl/Cmd+X) ئارقىلىق تاماملاڭ',copyError:'تور كۆرگۈڭىزنىڭ بىخەتەرلىك تەڭشىكى تەھرىرلىگۈچنىڭ كۆچۈر مەشغۇلاتىنى ئۆزلۈكىدىن ئىجرا قىلىشىغا يول قويمايدۇ، ھەرپتاختا تÛز كۇنۇپكا (Ctrl/Cmd+C) ئارقىلىق تاماملاڭ',pasteMsg:'ھەرپتاختا تÛز كۇنۇپكا (<STRONG>Ctrl/Cmd+V</STRONG>) نى ئىشلىتىپ مەزمۇننى تۆۋەندىكى رامكىغا كۆچۈرۈڭ، ئاندىن <STRONG>جەزملە</STRONG>نى بÛسىڭ',securityMsg:'توركۆرگۈڭىزنىڭ بىخەتەرلىك تەڭشىكى سەۋەبىدىن بۇ تەھرىرلىگۈچ چاپلاش تاختىسىدىكى مەزمۇننى بىۋاستە زىيارەت قىلالمايدۇ، بۇ كۆزنەكتە قايتا بىر Ù‚Ûتىم چاپلىشىڭىز ÙƒÛرەك.',pasteArea:'چاپلاش دائىرىسى'},pastefromword:{confirmCleanup:'سىز چاپلىماقچى بولغان مەزمۇن MS Word تىن كەلگەندەك قىلىدۇ، MS Word پىچىمىنى تازىلىۋەتكەندىن ÙƒÛيىن ئاندىن چاپلامدۇ؟',toolbar:'MS Word تىن چاپلا',title:'MS Word تىن چاپلا',error:'ئىچكى خاتالىق سەۋەبىدىن چاپلايدىغان سانلىق مەلۇماتنى تازىلىيالمايدۇ'},pasteText:{button:'پىچىمى يوق تÛكىست سۈپىتىدە چاپلا',title:'پىچىمى يوق تÛكىست سۈپىتىدە چاپلا'},templates:{button:'Ù‚Ûلىپ',title:'مەزمۇن Ù‚Ûلىپى',options:'Ù‚Ûلىپ تاللانمىسى',insertOption:'نۆۋەتتىكى مەزمۇننى ئالماشتۇر',selectPromptMsg:'تەھرىرلىگۈچنىڭ مەزمۇن Ù‚Ûلىپىنى تاللاڭ:',emptyListMsg:'(Ù‚Ûلىپ يوق)'},showBlocks:'بۆلەكنى كۆرسەت',stylesCombo:{label:'ئۇسلۇب',panelTitle:'ئۇسلۇب',panelTitle1:'بۆلەك دەرىجىسىدىكى ئÛÙ„ÛÙ…Ûنت ئۇسلۇبى',panelTitle2:'ئىچكى باغلانما ئÛÙ„ÛÙ…Ûنت ئۇسلۇبى',panelTitle3:'Ù†Û•Ú­ (Object) ئÛÙ„ÛÙ…Ûنت ئۇسلۇبى'},format:{label:'پىچىم',panelTitle:'پىچىم',tag_p:'ئادەتتىكى',tag_pre:'تىزىلغان پىچىم',tag_address:'ئادرÛس',tag_h1:'ماۋزۇ 1',tag_h2:'ماۋزۇ 2',tag_h3:'ماۋزۇ 3',tag_h4:'ماۋزۇ 4',tag_h5:'ماۋزۇ 5',tag_h6:'ماۋزۇ 6',tag_div:'ئابزاس (DIV)'},div:{title:'DIV قاچا قۇر',toolbar:'DIV قاچا قۇر',cssClassInputLabel:'ئۇسلۇب تىپىنىڭ ئاتى',styleSelectLabel:'ئۇسلۇب',IdInputLabel:'ID',languageCodeInputLabel:'تىل كودى',inlineStyleInputLabel:'قۇر ئىچىدىكى ئۇسلۇبى',advisoryTitleInputLabel:'ماۋزۇ',langDirLabel:'تىل يۆنىلىشى',langDirLTRLabel:'سولدىن ئوڭغا (LTR)',langDirRTLLabel:'ئوڭدىن سولغا (RTL)',edit:'DIV تەھرىر',remove:'DIV چىقىرىۋەت'},iframe:{title:'IFrame خاسلىق',toolbar:'IFrame ',noUrl:'كاندۇكنىڭ ئادرÛسى(Url)نى كىرگۈزۈڭ',scrolling:'دومىلىما سۈرگۈچكە يول قوي',border:'كاندۇك گىرۋەكلىرىنى كۆرسەت'},font:{label:'خەت نۇسخا',voiceLabel:'خەت نۇسخا',panelTitle:'خەت نۇسخا'},fontSize:{label:'چوڭلۇقى',voiceLabel:'خەت چوڭلۇقى',panelTitle:'چوڭلۇقى'},colorButton:{textColorTitle:'تÛكىست رەڭگى',bgColorTitle:'تەگلىك رەڭگى',panelTitle:'رەڭ',auto:'ئۆزلۈكىدىن',more:'باشقا رەڭ'},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':'Lime',AFEEEE:'سۇس ھاۋا رەڭ',ADD8E6:'ئوچۇق ÙƒÛ†Ùƒ',DDA0DD:'قىزغۇچ بىنەپشە',D3D3D3:'سۇس ÙƒÛ†ÙƒÛˆÚ† كۈلرەڭ',FFF0F5:'سۇس قىزغۇچ بىنەپشە',FAEBD7:'Antique White',FFFFE0:'سۇس سÛرىق',F0FFF0:'Honeydew',F0FFFF:'ئاسمان كۆكى',F0F8FF:'سۇس ÙƒÛ†Ùƒ',E6E6FA:'سۇس بىنەپشە',FFF:'ئاق'},scayt:{title:'شۇئان ئىملا تەكشۈر',opera_title:'Opera توركۆرگۈنى قوللىمايدۇ',enable:'شۇئان ئىملا تەكشۈرۈشنى قوزغات',disable:'شۇئان ئىملا تەكشۈرۈشنى چەكلە',about:'شۇئان ئىملا تەكشۈرۈش ھەققىدە',toggle:'شۇئان ئىملا تەكشۈرۈشنى ۋاقىتلىق توختات/قوزغات',options:'تاللانما',langs:'تىل',moreSuggestions:'تÛخىمۇ ÙƒÛ†Ù¾ ئىملا تەۋسىيەسى',ignore:'پەرۋا قىلما',ignoreAll:'ھەممىسىگە پەرۋا قىلما',addWord:'سۆز قوش',emptyDic:'لۇغەت ئاتى بوش قالمايدۇ',noSuggestions:'No suggestions',optionsTab:'تاللانما',allCaps:'Ú†ÙˆÚ­ ھەرپتە ÙŠÛزىلغان ھەممە سۆزگە پەرۋا قىلما',ignoreDomainNames:'دائىرە ئاتىغا پەرۋا قىلما',mixedCase:'Ú†ÙˆÚ­ كىچىك ھەرپ بىلەن ئارىلاش ÙŠÛزىلغان سۆزگە پەرۋا قىلما',mixedWithDigits:'سان بار سۆزگە پەرۋا قىلما',languagesTab:'تىل',dictionariesTab:'لۇغەت',dic_field_name:'لۇغەت ئاتى',dic_create:'قۇر',dic_restore:'ئەسلىگە كەلتۈر',dic_delete:'ئۆچۈر',dic_rename:'ئات ئۆزگەرت',dic_info:'باشلىنىشتا ئىشلەتكۈچى لۇغىتى Cookie غا ساقلىنىدۇ ئەمما Cookie نىڭ سىغىمى چەكلىك بولغاچقا، ئىشلەتكۈچى لۇغىتى كۆپىيىپ Cookie چەكلىمىسىدىن ئÛشىپ كەتكەندە ساقلىغىلى بولمايدۇ، بۇ چاغدا لۇغىتىڭىزنى مۇلازىمÛتىرىمىزغا ساقلىسىڭىز بولىدۇ. شەخسىي لۇغىتىڭىزنى مۇلازىمÛتىرىمىزغا ساقلىماقچى بولسىڭىز لۇغىتىڭىزگە ئاتتىن بىرنى قويۇڭ، ئەگەر مۇلازىمتÛرىمىزدا سىزنىڭ لۇغىتىڭىزدىن بىرسى بولسا لۇغەت ئاتىنى كىرگۈزۈپ ئەسلىگە قايتۇر توپچىسىنى بÛسىڭ.',aboutTab:'ھەققىدە'},about:{title:'CKEditor ھەققىدە',dlgTitle:'CKEditor ھەققىدە',help:'$1 نى زىيارەت قىلىپ ياردەمگە ئÛرىشىڭ',userGuide:'CKEditor ئىشلەتكۈچى قوللانمىسى',moreInfo:'تور تۇرايىمىزنى زىيارەت قىلىپ ÙƒÛلىشىمگە ئائىت تÛخىمۇ ÙƒÛ†Ù¾ ئۇچۇرغا ئÛرىشىڭ',copy:'Copyright &copy; $1. نەشر ھوقۇقىغا ئىگە'},maximize:'چوڭايت',minimize:'كىچىكلەت',fakeobjects:{anchor:'لەڭگەرلىك نۇقتا',flash:'Flash جانلاندۇرۇم',iframe:'IFrame',hiddenfield:'يوشۇرۇن دائىرە',unknown:'يوچۇن Ù†Û•Ú­'},resize:'چوڭلۇقىنى ئۆزگەرت',colordialog:{title:'رەڭ تاللاڭ',options:'رەڭ تاللانمىسى',highlight:'يورۇت',selected:'رەڭ تاللاڭ',clear:'تازىلا'},toolbarCollapse:'قورال بالداقنى قاتلا',toolbarExpand:'قورال بالداقنى ياي',toolbarGroups:{document:'پۈتۈك',clipboard:'چاپلاش تاختىسى/ÙŠÛنىۋال',editing:'تەھرىر',forms:'جەدۋەل',basicstyles:'ئاساسىي ئۇسلۇب',paragraph:'ئابزاس',links:'ئۇلانما',insert:'قىستۇر',styles:'ئۇسلۇب',colors:'رەڭ',tools:'قورال'},bidi:{ltr:'تÛكىست يۆنىلىشى سولدىن ئوڭغا',rtl:'تÛكىست يۆنىلىشى ئوڭدىن سولغا'},docprops:{label:'بەت خاسلىقى',title:'بەت خاسلىقى',design:'لايىھە',meta:'Ù…Ûتا سانلىق مەلۇمات',chooseColor:'تاللاڭ',other:'باشقا',docTitle:'بەت ماۋزۇسى',charset:'ھەرپ كودلىنىشى',charsetOther:'باشقا ھەرپ كودلىنىشى',charsetASCII:'ASCII',charsetCE:'ئوتتۇرا ياۋرۇپا',charsetCT:'مۇرەككەپ خەنزۇچە (Big5)',charsetCR:'سىلاۋيانچە',charsetGR:'گىرÛÙƒÚ†Û•',charsetJP:'ياپونچە',charsetKR:'كۆرىيەچە',charsetTR:'تۈركچە',charsetUN:'يۇنىكود (UTF-8)',charsetWE:'غەربىي ياۋرۇپا',docType:'پۈتۈك تىپى',docTypeOther:'باشقا پۈتۈك تىپى',xhtmlDec:'XHTML ئÛنىقلىمىسىنى ئۆز ئىچىگە ئالىدۇ',bgColor:'تەگلىك رەڭگى',bgImage:'تەگلىك سۈرەت',bgFixed:'تەگلىك سۈرەتنى دومىلاتما',txtColor:'تÛكىست رەڭگى',margin:'بەت گىرۋەك',marginTop:'ئۈستى',marginLeft:'سول',marginRight:'ئوڭ',marginBottom:'ئاستى',metaKeywords:'بەت يۈزى ئىندÛكىس ھالقىلىق سۆزى (ئىنگلىزچە Ù¾Û•Ø´ [,] بىلەن ئايرىلىدۇ)',metaDescription:'بەت يۈزى چۈشەندۈرۈشى',metaAuthor:'يازغۇچى',metaCopyright:'نەشر ھوقۇقى',previewHtml:'<p>بۇ بىر قىسىم <strong>كۆرسەتمىگە ئىشلىتىدىغان تÛكىست </strong>سىز نۆۋەتتە <a href=\\\\"javascript:void(0)\\\\">CKEditor</a>.نى ئىشلىتىۋاتىسىز.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/uk.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/uk.js
deleted file mode 100644
index dbe0451..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/uk.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.uk={dir:'ltr',editorTitle:'ТекÑтовий редактор, %1',editorHelp:'натиÑніть ALT 0 Ð´Ð»Ñ Ð´Ð¾Ð²Ñ–Ð´ÐºÐ¸',toolbars:'Панель інÑтрументів редактора',editor:'ТекÑтовий редактор',source:'Джерело',newPage:'Ðова Ñторінка',save:'Зберегти',preview:'Попередній переглÑд',cut:'Вирізати',copy:'Копіювати',paste:'Ð’Ñтавити',print:'Друк',underline:'ПідкреÑлений',bold:'Жирний',italic:'КурÑив',selectAll:'Виділити вÑе',removeFormat:'ОчиÑтити форматуваннÑ',strike:'ЗакреÑлений',subscript:'Ðижній індекÑ',superscript:'Верхній індекÑ',horizontalrule:'Горизонтальна лініÑ',pagebreak:'Ð’Ñтавити розрив Ñторінки',pagebreakAlt:'Розрив Сторінки',unlink:'Видалити поÑиланнÑ',undo:'Повернути',redo:'Повторити',common:{browseServer:'ОглÑд',url:'URL',protocol:'Протокол',upload:'ÐадіÑлати',uploadSubmit:'ÐадіÑлати на Ñервер',image:'ЗображеннÑ',flash:'Flash',form:'Форма',checkbox:'Галочка',radio:'Кнопка вибору',textField:'ТекÑтове поле',textarea:'ТекÑтова облаÑÑ‚ÑŒ',hiddenField:'Приховане поле',button:'Кнопка',select:'СпиÑок',imageButton:'Кнопка із зображеннÑм',notSet:'<не визначено>',id:'Ідентифікатор',name:"Ім'Ñ",langDir:'ÐапрÑмок мови',langDirLtr:'Зліва направо (LTR)',langDirRtl:'Справа наліво (RTL)',langCode:'Код мови',longDescr:'Довгий Ð¾Ð¿Ð¸Ñ URL',cssClass:'ÐšÐ»Ð°Ñ CSS',advisoryTitle:'Заголовок',cssStyle:'Стиль CSS',ok:'ОК',cancel:'СкаÑувати',close:'Закрити',preview:'Попередній переглÑд',generalTab:'ОÑновне',advancedTab:'Додаткове',validateNumberFailed:'Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ðµ Ñ” цілим чиÑлом.',confirmNewPage:'Ð’ÑÑ– незбережені зміни будуть втрачені. Ви впевнені, що хочете завантажити нову Ñторінку?',confirmCancel:'ДеÑкі опції змінено. Закрити вікно без Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½?',options:'Опції',target:'Ціль',targetNew:'Ðове вікно (_blank)',targetTop:'Поточне вікно (_top)',targetSelf:'Поточний фрейм/вікно (_self)',targetParent:'БатьківÑький фрейм/вікно (_parent)',langDirLTR:'Зліва направо (LTR)',langDirRTL:'Справа наліво (RTL)',styles:'Стиль CSS',cssClasses:'ÐšÐ»Ð°Ñ CSS',width:'Ширина',height:'ВиÑота',align:'ВирівнюваннÑ',alignLeft:'По лівому краю',alignRight:'По правому краю',alignCenter:'По центру',alignTop:'По верхньому краю',alignMiddle:'По Ñередині',alignBottom:'По нижньому краю',invalidValue:'Invalid value.',invalidHeight:'ВиÑота повинна бути цілим чиÑлом.',invalidWidth:'Ширина повинна бути цілим чиÑлом.',invalidCssLength:'ЗначеннÑ, вказане Ð´Ð»Ñ "%1" в полі повинно бути позитивним чиÑлом або без дійÑного виміру CSS блоку (px, %, in, cm, mm, em, ex, pt, or pc).',invalidHtmlLength:'ЗначеннÑ, вказане Ð´Ð»Ñ "%1" в полі повинно бути позитивним чиÑлом або без дійÑного виміру HTML блоку (px or %).',invalidInlineStyle:'ЗначеннÑ, вказане Ð´Ð»Ñ Ð²Ð±ÑƒÐ´Ð¾Ð²Ð°Ð½Ð¾Ð³Ð¾ Ñтилю повинне ÑкладатиÑÑ Ð· одного чи кількох кортежів у форматі "ім\'Ñ : значеннÑ", розділених крапкою з комою.',cssLengthTooltip:'Введіть номер Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð² пікÑелÑÑ… або чиÑло з дійÑною одиниці CSS (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, не доÑтупне</span>'},contextmenu:{options:'Опції контекÑтного меню'},specialChar:{toolbar:'Спеціальний Ñимвол',title:'Оберіть Ñпеціальний Ñимвол',options:'Опції'},link:{toolbar:'Ð’Ñтавити/Редагувати поÑиланнÑ',other:'<інший>',menu:'Ð’Ñтавити поÑиланнÑ',title:'ПоÑиланнÑ',info:'Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ð¾ÑиланнÑ',target:'Ціль',upload:'ÐадіÑлати',advanced:'Додаткове',type:'Тип поÑиланнÑ',toUrl:'URL',toAnchor:'Якір на цю Ñторінку',toEmail:'Ел. пошта',targetFrame:'<фрейм>',targetPopup:'<випливаюче вікно>',targetFrameName:"Ім'Ñ Ñ†Ñ–Ð»ÑŒÐ¾Ð²Ð¾Ð³Ð¾ фрейму",targetPopupName:"Ім'Ñ Ð²Ð¸Ð¿Ð»Ð¸Ð²Ð°ÑŽÑ‡Ð¾Ð³Ð¾ вікна",popupFeatures:'ВлаÑтивоÑÑ‚Ñ– випливаючого вікна',popupResizable:'МаÑштабоване',popupStatusBar:'РÑдок ÑтатуÑу',popupLocationBar:'Панель локації',popupToolbar:'Панель інÑтрументів',popupMenuBar:'Панель меню',popupFullScreen:'Повний екран (IE)',popupScrollBars:'Стрічки прокрутки',popupDependent:'Залежний (Netscape)',popupLeft:'ÐŸÐ¾Ð·Ð¸Ñ†Ñ–Ñ Ð·Ð»Ñ–Ð²Ð°',popupTop:'ÐŸÐ¾Ð·Ð¸Ñ†Ñ–Ñ Ð·Ð²ÐµÑ€Ñ…Ñƒ',id:'Ідентифікатор',langDir:'ÐапрÑмок мови',langDirLTR:'Зліва направо (LTR)',langDirRTL:'Справа наліво (RTL)',acccessKey:'ГарÑча клавіша',name:"Ім'Ñ",langCode:'Код мови',tabIndex:'ПоÑлідовніÑÑ‚ÑŒ переходу',advisoryTitle:'Заголовок',advisoryContentType:'Тип вміÑту',cssClasses:'ÐšÐ»Ð°Ñ CSS',charset:'КодуваннÑ',styles:'Стиль CSS',rel:"Зв'Ñзок",selectAnchor:'Оберіть Ñкір',anchorName:"За ім'Ñм елементу",anchorId:'За ідентифікатором елементу',emailAddress:'ÐдреÑа ел. пошти',emailSubject:'Тема лиÑта',emailBody:'Тіло повідомленнÑ',noAnchors:'(Ð’ цьому документі немає Ñкорів)',noUrl:'Будь лаÑка, вкажіть URL поÑиланнÑ',noEmail:'Будь лаÑка, вкажіть Ð°Ð´Ñ€ÐµÑ ÐµÐ». пошти'},anchor:{toolbar:'Ð’Ñтавити/Редагувати Ñкір',menu:'ВлаÑтивоÑÑ‚Ñ– ÑкорÑ',title:'ВлаÑтивоÑÑ‚Ñ– ÑкорÑ',name:"Ім'Ñ ÑкорÑ",errorName:"Будь лаÑка, вкажіть ім'Ñ ÑкорÑ",remove:'Прибрати Ñкір'},list:{numberedTitle:'Опції нумерованого ÑпиÑку',bulletedTitle:'Опції маркованого ÑпиÑку',type:'Тип',start:'Почати з...',validateStartNumber:'Початковий номер ÑпиÑку повинен бути цілим чиÑлом.',circle:'Кільце',disc:'Кружечок',square:'Квадратик',none:'Ðема',notset:'<не вказано>',armenian:'ВірменÑька нумераціÑ',georgian:'ГрузинÑька Ð½ÑƒÐ¼ÐµÑ€Ð°Ñ†Ñ–Ñ (an, ban, gan Ñ– Ñ‚.д.)',lowerRoman:'Малі римÑькі (i, ii, iii, iv, v Ñ– Ñ‚.д.)',upperRoman:'Великі римÑькі (I, II, III, IV, V Ñ– Ñ‚.д.)',lowerAlpha:'Малі лат. букви (a, b, c, d, e Ñ– Ñ‚.д.)',upperAlpha:'Великі лат. букви (A, B, C, D, E Ñ– Ñ‚.д.)',lowerGreek:'Малі гр. букви (альфа, бета, гамма Ñ– Ñ‚.д.)',decimal:'ДеÑÑткові (1, 2, 3 Ñ– Ñ‚.д.)',decimalLeadingZero:'ДеÑÑткові з нулем (01, 02, 03 Ñ– Ñ‚.д.)'},findAndReplace:{title:'Знайти Ñ– замінити',find:'Пошук',replace:'Заміна',findWhat:'Шукати:',replaceWith:'Замінити на:',notFoundMsg:'Вказаний текÑÑ‚ не знайдено.',findOptions:'Параметри Пошуку',matchCase:'Враховувати регіÑÑ‚Ñ€',matchWord:'Збіг цілих Ñлів',matchCyclic:'Циклічна заміна',replaceAll:'Замінити вÑе',replaceSuccessMsg:'%1 Ñпівпадінь(нÑ) замінено.'},table:{toolbar:'ТаблицÑ',title:'ВлаÑтивоÑÑ‚Ñ– таблиці',menu:'ВлаÑтивоÑÑ‚Ñ– таблиці',deleteTable:'Видалити таблицю',rows:'РÑдки',columns:'Стовбці',border:'Розмір рамки',widthPx:'пікÑелів',widthPc:'відÑотків',widthUnit:'Одиниці вимір.',cellSpace:'Проміжок',cellPad:'Внутр. відÑтуп',caption:'Заголовок таблиці',summary:'Детальний Ð¾Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÑƒ таблиці',headers:'Заголовки Ñтовбців/Ñ€Ñдків',headersNone:'Без заголовків',headersColumn:'Стовбці',headersRow:'РÑдки',headersBoth:'Стовбці Ñ– Ñ€Ñдки',invalidRows:'КількіÑÑ‚ÑŒ Ñ€Ñдків повинна бути більшою 0.',invalidCols:'КількіÑÑ‚ÑŒ Ñтовбців повинна бути більшою 0.',invalidBorder:'Розмір рамки повинен бути цілим чиÑлом.',invalidWidth:'Ширина таблиці повинна бути цілим чиÑлом.',invalidHeight:'ВиÑота таблиці повинна бути цілим чиÑлом.',invalidCellSpacing:'Проміжок між комірками повинен бути цілим чиÑлом.',invalidCellPadding:'Внутр. відÑтуп комірки повинен бути цілим чиÑлом.',cell:{menu:'Комірки',insertBefore:'Ð’Ñтавити комірку перед',insertAfter:'Ð’Ñтавити комірку піÑлÑ',deleteCell:'Видалити комірки',merge:"Об'єднати комірки",mergeRight:"Об'єднати Ñправа",mergeDown:"Об'єднати донизу",splitHorizontal:'Розділити комірку по горизонталі',splitVertical:'Розділити комірку по вертикалі',title:'ВлаÑтивоÑÑ‚Ñ– комірки',cellType:'Тип комірки',rowSpan:"Об'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ñ€Ñдків",colSpan:"Об'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ñтовпців",wordWrap:'ÐвтоперенеÑÐµÐ½Ð½Ñ Ñ‚ÐµÐºÑту',hAlign:'Гориз. вирівнюваннÑ',vAlign:'Верт. вирівнюваннÑ',alignBaseline:'По базовій лінії',bgColor:'Колір фону',borderColor:'Колір рамки',data:'Дані',header:'Заголовок',yes:'Так',no:'ÐÑ–',invalidWidth:'Ширина комірки повинна бути цілим чиÑлом.',invalidHeight:'ВиÑота комірки повинна бути цілим чиÑлом.',invalidRowSpan:"КількіÑÑ‚ÑŒ об'єднуваних Ñ€Ñдків повинна бути цілим чиÑлом.",invalidColSpan:"КількіÑÑ‚ÑŒ об'єднуваних Ñтовбців повинна бути цілим чиÑлом.",chooseColor:'Обрати'},row:{menu:'РÑдки',insertBefore:'Ð’Ñтавити Ñ€Ñдок перед',insertAfter:'Ð’Ñтавити Ñ€Ñдок піÑлÑ',deleteRow:'Видалити Ñ€Ñдки'},column:{menu:'Стовбці',insertBefore:'Ð’Ñтавити Ñтовбець перед',insertAfter:'Ð’Ñтавити Ñтовбець піÑлÑ',deleteColumn:'Видалити Ñтовбці'}},button:{title:'ВлаÑтивоÑÑ‚Ñ– кнопки',text:'ЗначеннÑ',type:'Тип',typeBtn:'Кнопка (button)',typeSbm:'ÐадіÑлати (submit)',typeRst:'ОчиÑтити (reset)'},checkboxAndRadio:{checkboxTitle:'ВлаÑтивоÑÑ‚Ñ– галочки',radioTitle:'ВлаÑтивоÑÑ‚Ñ– кнопки вибору',value:'ЗначеннÑ',selected:'Обрана'},form:{title:'ВлаÑтивоÑÑ‚Ñ– форми',menu:'ВлаÑтивоÑÑ‚Ñ– форми',action:'ДіÑ',method:'Метод',encoding:'КодуваннÑ'},select:{title:'ВлаÑтивоÑÑ‚Ñ– ÑпиÑку',selectInfo:'Інфо',opAvail:'ДоÑтупні варіанти',value:'ЗначеннÑ',size:'КількіÑÑ‚ÑŒ',lines:'видимих позицій у ÑпиÑку',chkMulti:'СпиÑок з мультивибором',opText:'ТекÑÑ‚',opValue:'ЗначеннÑ',btnAdd:'Добавити',btnModify:'Змінити',btnUp:'Вгору',btnDown:'Вниз',btnSetValue:'Ð’Ñтановити Ñк обране значеннÑ',btnDelete:'Видалити'},textarea:{title:'ВлаÑтивоÑÑ‚Ñ– текÑтової облаÑÑ‚Ñ–',cols:'Стовбці',rows:'РÑдки'},textfield:{title:'ВлаÑтивоÑÑ‚Ñ– текÑтового полÑ',name:"Ім'Ñ",value:'ЗначеннÑ',charWidth:'Ширина',maxChars:'МакÑ. к-Ñ‚ÑŒ Ñимволів',type:'Тип',typeText:'ТекÑÑ‚',typePass:'Пароль'},hidden:{title:'ВлаÑтивоÑÑ‚Ñ– прихованого полÑ',name:"Ім'Ñ",value:'ЗначеннÑ'},image:{title:'ВлаÑтивоÑÑ‚Ñ– зображеннÑ',titleButton:'ВлаÑтивоÑÑ‚Ñ– кнопки із зображеннÑм',menu:'ВлаÑтивоÑÑ‚Ñ– зображеннÑ',infoTab:'Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ зображеннÑ',btnUpload:'ÐадіÑлати на Ñервер',upload:'ÐадіÑлати',alt:'Ðльтернативний текÑÑ‚',lockRatio:'Зберегти пропорції',resetSize:'ОчиÑтити Ð¿Ð¾Ð»Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñ–Ð²',border:'Рамка',hSpace:'Гориз. відÑтуп',vSpace:'Верт. відÑтуп',alertUrl:'Будь лаÑка, вкажіть URL зображеннÑ',linkTab:'ПоÑиланнÑ',button2Img:'Бажаєте перетворити обрану кнопку-Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð½Ð° проÑте зображеннÑ?',img2Button:'Бажаєте перетворити обране Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð½Ð° кнопку-зображеннÑ?',urlMissing:'Вкажіть URL зображеннÑ.',validateBorder:'Ширина рамки повинна бути цілим чиÑлом.',validateHSpace:'Гориз. відÑтуп повинен бути цілим чиÑлом.',validateVSpace:'Верт. відÑтуп повинен бути цілим чиÑлом.'},flash:{properties:'ВлаÑтивоÑÑ‚Ñ– Flash',propertiesTab:'ВлаÑтивоÑÑ‚Ñ–',title:'ВлаÑтивоÑÑ‚Ñ– Flash',chkPlay:'ÐвтопрограваннÑ',chkLoop:'Циклічно',chkMenu:'Дозволити меню Flash',chkFull:'Дозволити повноекранний переглÑд',scale:'МаÑштаб',scaleAll:'Показати вÑе',scaleNoBorder:'Без рамки',scaleFit:'Поч. розмір',access:'ДоÑтуп до Ñкрипта',accessAlways:'Завжди',accessSameDomain:'З того ж домена',accessNever:'Ðіколи',alignAbsBottom:'По нижньому краю (abs)',alignAbsMiddle:'По Ñередині (abs)',alignBaseline:'По базовій лінії',alignTextTop:'ТекÑÑ‚ по верхньому краю',quality:'ЯкіÑÑ‚ÑŒ',qualityBest:'Відмінна',qualityHigh:'ВиÑока',qualityAutoHigh:'Ðвтом. відмінна',qualityMedium:'СереднÑ',qualityAutoLow:'Ðвтом. низька',qualityLow:'Ðизька',windowModeWindow:'Вікно',windowModeOpaque:'ÐепрозоріÑÑ‚ÑŒ',windowModeTransparent:'ПрозоріÑÑ‚ÑŒ',windowMode:'Віконний режим',flashvars:'Змінні Flash',bgcolor:'Колір фону',hSpace:'Гориз. відÑтуп',vSpace:'Верт. відÑтуп',validateSrc:'Будь лаÑка, вкажіть URL поÑиланнÑ',validateHSpace:'Гориз. відÑтуп повинен бути цілим чиÑлом.',validateVSpace:'Верт. відÑтуп повинен бути цілим чиÑлом.'},spellCheck:{toolbar:'Перевірити орфографію',title:'Перевірка орфографії',notAvailable:'Вибачте, але ÑÐµÑ€Ð²Ñ–Ñ Ð½Ð°Ñ€Ð°Ð·Ñ– недоÑтупний.',errorLoading:'Помилка Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ : %s.',notInDic:'Ðемає в Ñловнику',changeTo:'Замінити на',btnIgnore:'ПропуÑтити',btnIgnoreAll:'ПропуÑтити вÑе',btnReplace:'Замінити',btnReplaceAll:'Замінити вÑе',btnUndo:'Ðазад',noSuggestions:'- немає варіантів -',progress:'ВиконуєтьÑÑ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€ÐºÐ° орфографії...',noMispell:'Перевірку орфографії завершено: помилок не знайдено',noChanges:'Перевірку орфографії завершено: жодне Ñлово не змінено',oneChange:'Перевірку орфографії завершено: змінено одне Ñлово',manyChanges:'Перевірку орфографії завершено: 1% Ñлів(ова) змінено',ieSpellDownload:'Модуль перевірки орфографії не вÑтановлено. Бажаєте завантажити його зараз?'},smiley:{toolbar:'Смайлик',title:'Ð’Ñтавити Ñмайлик',options:'Опції Ñмайликів'},elementsPath:{eleLabel:'ШлÑÑ…',eleTitle:'%1 елемент'},numberedlist:'Ðумерований ÑпиÑок',bulletedlist:'Маркірований ÑпиÑок',indent:'Збільшити відÑтуп',outdent:'Зменшити відÑтуп',justify:{left:'По лівому краю',center:'По центру',right:'По правому краю',block:'По ширині'},blockquote:'Цитата',clipboard:{title:'Ð’Ñтавити',cutError:'ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð±ÐµÐ·Ð¿ÐµÐºÐ¸ Вашого браузера не дозволÑÑŽÑ‚ÑŒ редактору автоматично виконувати операції вирізуваннÑ. Будь лаÑка, викориÑтовуйте клавіатуру Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ (Ctrl/Cmd+X)',copyError:'ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð±ÐµÐ·Ð¿ÐµÐºÐ¸ Вашого браузера не дозволÑÑŽÑ‚ÑŒ редактору автоматично виконувати операції копіюваннÑ. Будь лаÑка, викориÑтовуйте клавіатуру Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ (Ctrl/Cmd+C).',pasteMsg:'Будь лаÑка, вÑтавте інформацію з буфера обміну в цю облаÑÑ‚ÑŒ, кориÑтуючиÑÑŒ комбінацією клавіш (<STRONG>Ctrl/Cmd+V</STRONG>), та натиÑніть <STRONG>OK</STRONG>.',securityMsg:"Редактор не може отримати прÑмий доÑтуп до буферу обміну у зв'Ñзку з налаштуваннÑми Вашого браузера. Вам потрібно вÑтавити інформацію в це вікно.",pasteArea:'ОблаÑÑ‚ÑŒ вÑтавки'},pastefromword:{confirmCleanup:'ТекÑÑ‚, що Ви намагаєтеÑÑŒ вÑтавити, Ñхожий на Ñкопійований з Word. Бажаєте очиÑтити його Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÐ´ вÑтавлÑннÑм?',toolbar:'Ð’Ñтавити з Word',title:'Ð’Ñтавити з Word',error:'Ðеможливо очиÑтити Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‡ÐµÑ€ÐµÐ· внутрішню помилку.'},pasteText:{button:'Ð’Ñтавити тільки текÑÑ‚',title:'Ð’Ñтавити тільки текÑÑ‚'},templates:{button:'Шаблони',title:'Шаблони зміÑту',options:'Опції шаблону',insertOption:'Замінити поточний вміÑÑ‚',selectPromptMsg:'Оберіть, будь лаÑка, шаблон Ð´Ð»Ñ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð² редакторі<br>(поточний зміÑÑ‚ буде втрачено):',emptyListMsg:'(Ðе знайдено жодного шаблону)'},showBlocks:'Показувати блоки',stylesCombo:{label:'Стиль',panelTitle:'Стилі форматуваннÑ',panelTitle1:'Блочні Ñтилі',panelTitle2:'РÑдкові Ñтилі',panelTitle3:"Об'єктні Ñтилі"},format:{label:'ФорматуваннÑ',panelTitle:'Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð³Ñ€Ð°Ñ„Ð°',tag_p:'Ðормальний',tag_pre:'Форматований',tag_address:'ÐдреÑа',tag_h1:'Заголовок 1',tag_h2:'Заголовок 2',tag_h3:'Заголовок 3',tag_h4:'Заголовок 4',tag_h5:'Заголовок 5',tag_h6:'Заголовок 6',tag_div:'Ðормальний (div)'},div:{title:'Створити блок-контейнер',toolbar:'Створити блок-контейнер',cssClassInputLabel:'ÐšÐ»Ð°Ñ CSS',styleSelectLabel:'Стиль CSS',IdInputLabel:'Ідентифікатор',languageCodeInputLabel:'Код мови',inlineStyleInputLabel:'ВпиÑаний Ñтиль',advisoryTitleInputLabel:'ЗміÑÑ‚ випливаючої підказки',langDirLabel:'ÐапрÑмок мови',langDirLTRLabel:'Зліва направо (LTR)',langDirRTLLabel:'Справа наліво (RTL)',edit:'Редагувати блок',remove:'Видалити блок'},iframe:{title:'ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ IFrame',toolbar:'IFrame',noUrl:'Будь лаÑка введіть поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð´Ð»Ñ IFrame',scrolling:'Увімкнути прокрутку',border:'Показати рамки фрейму'},font:{label:'Шрифт',voiceLabel:'Шрифт',panelTitle:'Шрифт'},fontSize:{label:'Розмір',voiceLabel:'Розмір шрифту',panelTitle:'Розмір'},colorButton:{textColorTitle:'Колір текÑту',bgColorTitle:'Колір фону',panelTitle:'Кольори',auto:'Ðвто',more:'Кольори...'},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:'Білий'},scayt:{title:'Перефірка орфографії по мірі набору',opera_title:'Ðе підтримуєтьÑÑ Ð² Opera',enable:'Ввімкнути SCAYT',disable:'Вимкнути SCAYT',about:'Про SCAYT',toggle:'Перемкнути SCAYT',options:'Опції',langs:'Мови',moreSuggestions:'Більше варіантів',ignore:'ПропуÑтити',ignoreAll:'ПропуÑтити вÑÑ–',addWord:'Додати Ñлово',emptyDic:'Ðазва Ñловника повинна бути вказана.',noSuggestions:'Ðемає варіантів',optionsTab:'Опції',allCaps:'ПропуÑтити пропиÑні Ñлова',ignoreDomainNames:'ПропуÑтити доменні назви',mixedCase:'ПропуÑтити Ñлова зі змішаним регіÑтром',mixedWithDigits:'ПропуÑтити Ñлова, що міÑÑ‚ÑÑ‚ÑŒ цифри',languagesTab:'Мови',dictionariesTab:'Словники',dic_field_name:'Ðазва Ñловника',dic_create:'Створити',dic_restore:'Відновити',dic_delete:'Видалити',dic_rename:'Перейменувати',dic_info:'Як правило, кориÑтувацькі Ñловники зберігаютьÑÑ Ñƒ cookie-файлах. Однак, cookie-файли мають Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° розмір. Якщо кориÑтувацький Ñловник зроÑтає в обÑÑзі наÑтільки, що вже не може бути збережений у cookie-файлі, тоді його можна зберегти на нашому Ñервері. Щоб зберегти Ваш перÑональний Ñловник на нашому Ñервері необхідно вказати назву Ñловника. Якщо Ви вже зберігали Ñловник на Ñервері, будь лаÑка, вкажіть назву збереженого Ñловника Ñ– натиÑніть кнопку Відновити.',aboutTab:'Про SCAYT'},about:{title:'Про CKEditor',dlgTitle:'Про CKEditor',help:'Перевірте $1 Ð´Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ð³Ð¸.',userGuide:'ІнÑÑ‚Ñ€ÑƒÐºÑ†Ñ–Ñ ÐšÐ¾Ñ€Ð¸Ñтувача Ð´Ð»Ñ CKEditor',moreInfo:'Щодо інформації з Ð»Ñ–Ñ†ÐµÐ½Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð²Ñ–Ñ‚Ð°Ð¹Ñ‚Ðµ на наш Ñайт:',copy:'Copyright &copy; $1. Ð’ÑÑ– права заÑтережено.'},maximize:'МакÑимізувати',minimize:'Мінімізувати',fakeobjects:{anchor:'Якір',flash:'Flash-анімаціÑ',iframe:'IFrame',hiddenfield:'Приховані ПолÑ',unknown:"Ðевідомий об'єкт"},resize:'ПотÑгніть Ð´Ð»Ñ Ð·Ð¼Ñ–Ð½Ð¸ розмірів',colordialog:{title:'Обрати колір',options:'Опції кольорів',highlight:'Колір, на Ñкий вказує курÑор',selected:'Обраний колір',clear:'ОчиÑтити'},toolbarCollapse:'Згорнути панель інÑтрументів',toolbarExpand:'Розгорнути панель інÑтрументів',toolbarGroups:{document:'Документ',clipboard:'Буфер обміну / СкаÑувати',editing:'РедагуваннÑ',forms:'Форми',basicstyles:'ОÑновний Стиль',paragraph:'Параграф',links:'ПоÑиланнÑ',insert:'Ð’Ñтавити',styles:'Стилі',colors:'Кольори',tools:'ІнÑтрументи'},bidi:{ltr:'ÐапрÑмок текÑту зліва направо',rtl:'ÐапрÑмок текÑту Ñправа наліво'},docprops:{label:'ВлаÑтивоÑÑ‚Ñ– документа',title:'ВлаÑтивоÑÑ‚Ñ– документа',design:'Дизайн',meta:'Мета дані',chooseColor:'Обрати',other:'<інший>',docTitle:'Заголовок Ñторінки',charset:'ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð°Ð±Ð¾Ñ€Ñƒ Ñимволів',charsetOther:'Інше ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð°Ð±Ð¾Ñ€Ñƒ Ñимволів',charsetASCII:'ASCII',charsetCE:'Центрально-європейÑька',charsetCT:'КитайÑька традиційна (Big5)',charsetCR:'КирилицÑ',charsetGR:'Грецька',charsetJP:'ЯпонÑька',charsetKR:'КорейÑька',charsetTR:'Турецька',charsetUN:'Юнікод (UTF-8)',charsetWE:'Західно-европейÑкаÑ',docType:'Заголовок типу документу',docTypeOther:'Інший заголовок типу документу',xhtmlDec:'Ввімкнути XHTML оголошеннÑ',bgColor:'Колір тла',bgImage:'URL Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‚Ð»Ð°',bgFixed:'Тло без прокрутки',txtColor:'Колір текÑту',margin:'ВідÑтупи Ñторінки',marginTop:'Верхній',marginLeft:'Лівий',marginRight:'Правий',marginBottom:'Ðижній',metaKeywords:'Ключові Ñлова документа (розділені комами)',metaDescription:'ÐžÐ¿Ð¸Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°',metaAuthor:'Ðвтор',metaCopyright:'ÐвторÑькі права',previewHtml:'<p>Це приклад<strong>текÑту</strong>. Ви викориÑтовуєте<a href="javascript:void(0)"> CKEditor </a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/vi.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/vi.js
deleted file mode 100644
index 1fd2d78..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/vi.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.vi={dir:'ltr',editorTitle:'Trình soạn thảo phong phú, %1',editorHelp:'Nhấn ALT + 0 để được giúp đỡ',toolbars:'Thanh công cụ',editor:'Bá»™ soạn thảo',source:'Mã HTML',newPage:'Trang má»›i',save:'LÆ°u',preview:'Xem trÆ°á»›c',cut:'Cắt',copy:'Sao chép',paste:'Dán',print:'In',underline:'Gạch chân',bold:'Äậm',italic:'Nghiêng',selectAll:'Chá»n tất cả',removeFormat:'Xoá định dạng',strike:'Gạch xuyên ngang',subscript:'Chỉ số dÆ°á»›i',superscript:'Chỉ số trên',horizontalrule:'Chèn Ä‘Æ°á»ng phân cách ngang',pagebreak:'Chèn ngắt trang',pagebreakAlt:'Ngắt trang',unlink:'Xoá liên kết',undo:'Khôi phục thao tác',redo:'Làm lại thao tác',common:{browseServer:'Duyệt trên máy chủ',url:'URL',protocol:'Giao thức',upload:'Tải lên',uploadSubmit:'Tải lên máy chủ',image:'Hình ảnh',flash:'Flash',form:'Biểu mẫu',checkbox:'Nút kiểm',radio:'Nút chá»n',textField:'TrÆ°á»ng văn bản',textarea:'Vùng văn bản',hiddenField:'TrÆ°á»ng ẩn',button:'Nút',select:'Ô chá»n',imageButton:'Nút hình ảnh',notSet:'<không thiết lập>',id:'Äịnh danh',name:'Tên',langDir:'HÆ°á»›ng ngôn ngữ',langDirLtr:'Trái sang phải (LTR)',langDirRtl:'Phải sang trái (RTL)',langCode:'Mã ngôn ngữ',longDescr:'Mô tả URL',cssClass:'Lá»›p Stylesheet',advisoryTitle:'Nhan Ä‘á» hÆ°á»›ng dẫn',cssStyle:'Kiểu (style)',ok:'Äồng ý',cancel:'Bá» qua',close:'Äóng',preview:'Xem trÆ°á»›c',generalTab:'Tab chung',advancedTab:'Tab mở rá»™ng',validateNumberFailed:'Giá trị này không phải là số.',confirmNewPage:'Má»i thay đổi không được lÆ°u lại, ná»™i dung này sẽ bị mất. Bạn có chắc chắn muốn tải má»™t trang má»›i?',confirmCancel:'Má»™t vài tùy chá»n đã bị thay đổi. Bạn có chắc chắn muốn đóng há»™p thoại?',options:'Tùy chá»n',target:'Äích đến',targetNew:'Cá»­a sổ má»›i (_blank)',targetTop:'Cá»­a sổ trên cùng (_top)',targetSelf:'Tại trang (_self)',targetParent:'Cá»­a sổ cha (_parent)',langDirLTR:'Trái sang phải (LTR)',langDirRTL:'Phải sang trái (RTL)',styles:'Kiểu',cssClasses:'Lá»›p CSS',width:'Chiá»u rá»™ng',height:'chiá»u cao',align:'Vị trí',alignLeft:'Trái',alignRight:'Phải',alignCenter:'Giữa',alignTop:'Trên',alignMiddle:'Giữa',alignBottom:'DÆ°á»›i',invalidValue:'Invalid value.',invalidHeight:'Chiá»u cao phải là số nguyên.',invalidWidth:'Chiá»u rá»™ng phải là số nguyên.',invalidCssLength:'Giá trị quy định cho trÆ°á»ng "%1" phải là má»™t số dÆ°Æ¡ng có hoặc không có má»™t Ä‘Æ¡n vị Ä‘o CSS hợp lệ (px, %, in, cm, mm, em, ex, pt, hoặc pc).',invalidHtmlLength:'Giá trị quy định cho trÆ°á»ng "%1" phải là má»™t số dÆ°Æ¡ng có hoặc không có má»™t Ä‘Æ¡n vị Ä‘o HTML hợp lệ (px hoặc %).',invalidInlineStyle:'Giá trị quy định cho kiểu ná»™i tuyến phải bao gồm má»™t hoặc nhiá»u dữ liệu vá»›i định dạng "tên:giá trị", cách nhau bằng dấu chấm phẩy.',cssLengthTooltip:'Nhập má»™t giá trị theo pixel hoặc má»™t số vá»›i má»™t Ä‘Æ¡n vị CSS hợp lệ (px, %, in, cm, mm, em, ex, pt, hoặc pc).',unavailable:'%1<span class="cke_accessibility">, không có</span>'},contextmenu:{options:'Tùy chá»n menu bổ xung'},specialChar:{toolbar:'Chèn ký tá»± đặc biệt',title:'Hãy chá»n ký tá»± đặc biệt',options:'Tùy chá»n các ký tá»± đặc biệt'},link:{toolbar:'Chèn/Sá»­a liên kết',other:'<khác>',menu:'Sá»­a liên kết',title:'Liên kết',info:'Thông tin liên kết',target:'Äích',upload:'Tải lên',advanced:'Mở rá»™ng',type:'Kiểu liên kết',toUrl:'URL',toAnchor:'Neo trong trang này',toEmail:'ThÆ° Ä‘iện tá»­',targetFrame:'<khung>',targetPopup:'<cá»­a sổ popup>',targetFrameName:'Tên khung đích',targetPopupName:'Tên cá»­a sổ Popup',popupFeatures:'Äặc Ä‘iểm của cá»­a sổ Popup',popupResizable:'Có thể thay đổi kích cỡ',popupStatusBar:'Thanh trạng thái',popupLocationBar:'Thanh vị trí',popupToolbar:'Thanh công cụ',popupMenuBar:'Thanh Menu',popupFullScreen:'Toàn màn hình (IE)',popupScrollBars:'Thanh cuá»™n',popupDependent:'Phụ thuá»™c (Netscape)',popupLeft:'Vị trí bên trái',popupTop:'Vị trí phía trên',id:'Äịnh danh',langDir:'HÆ°á»›ng ngôn ngữ',langDirLTR:'Trái sang phải (LTR)',langDirRTL:'Phải sang trái (RTL)',acccessKey:'Phím há»— trợ truy cập',name:'Tên',langCode:'Mã ngôn ngữ',tabIndex:'Chỉ số của Tab',advisoryTitle:'Nhan Ä‘á» hÆ°á»›ng dẫn',advisoryContentType:'Ná»™i dung hÆ°á»›ng dẫn',cssClasses:'Lá»›p Stylesheet',charset:'Bảng mã của tài nguyên được liên kết đến',styles:'Kiểu (style)',rel:'Quan hệ',selectAnchor:'Chá»n má»™t Ä‘iểm neo',anchorName:'Theo tên Ä‘iểm neo',anchorId:'Theo định danh thành phần',emailAddress:'ThÆ° Ä‘iện tá»­',emailSubject:'Tiêu Ä‘á» thông Ä‘iệp',emailBody:'Ná»™i dung thông Ä‘iệp',noAnchors:'(Không có Ä‘iểm neo nào trong tài liệu)',noUrl:'Hãy Ä‘Æ°a vào Ä‘Æ°á»ng dẫn liên kết (URL)',noEmail:'Hãy Ä‘Æ°a vào địa chỉ thÆ° Ä‘iện tá»­'},anchor:{toolbar:'Chèn/Sá»­a Ä‘iểm neo',menu:'Thuá»™c tính Ä‘iểm neo',title:'Thuá»™c tính Ä‘iểm neo',name:'Tên của Ä‘iểm neo',errorName:'Hãy nhập vào tên của Ä‘iểm neo',remove:'Xóa neo'},list:{numberedTitle:'Thuá»™c tính danh sách có thứ tá»±',bulletedTitle:'Thuá»™c tính danh sách không thứ tá»±',type:'Kiểu loại',start:'Bắt đầu',validateStartNumber:'Số bắt đầu danh sách phải là má»™t số nguyên.',circle:'Khuyên tròn',disc:'Hình Ä‘Ä©a',square:'Hình vuông',none:'Không gì cả',notset:'<không thiết lập>',armenian:'Số theo kiểu Armenian',georgian:'Số theo kiểu Georgian (an, ban, gan...)',lowerRoman:'Số La Mã kiểu thÆ°á»ng (i, ii, iii, iv, v...)',upperRoman:'Số La Mã kiểu HOA (I, II, III, IV, V...)',lowerAlpha:'Kiểu abc thÆ°á»ng (a, b, c, d, e...)',upperAlpha:'Kiểu ABC HOA (A, B, C, D, E...)',lowerGreek:'Kiểu Hy Lạp (alpha, beta, gamma...)',decimal:'Kiểu số (1, 2, 3 ...)',decimalLeadingZero:'Kiểu số (01, 02, 03...)'},findAndReplace:{title:'Tìm kiếm và thay thế',find:'Tìm kiếm',replace:'Thay thế',findWhat:'Tìm chuá»—i:',replaceWith:'Thay bằng:',notFoundMsg:'Không tìm thấy chuá»—i cần tìm.',findOptions:'Tìm tùy chá»n',matchCase:'Phân biệt chữ hoa/thÆ°á»ng',matchWord:'Giống toàn bá»™ từ',matchCyclic:'Giống má»™t phần',replaceAll:'Thay thế tất cả',replaceSuccessMsg:'%1 vị trí đã được thay thế.'},table:{toolbar:'Bảng',title:'Thuá»™c tính bảng',menu:'Thuá»™c tính bảng',deleteTable:'Xóa bảng',rows:'Số hàng',columns:'Số cá»™t',border:'Kích thÆ°á»›c Ä‘Æ°á»ng viá»n',widthPx:'Äiểm ảnh (px)',widthPc:'Phần trăm (%)',widthUnit:'ÄÆ¡n vị',cellSpace:'Khoảng cách giữa các ô',cellPad:'Khoảng đệm giữ ô và ná»™i dung',caption:'Äầu Ä‘á»',summary:'Tóm lược',headers:'Äầu Ä‘á»',headersNone:'Không có',headersColumn:'Cá»™t đầu tiên',headersRow:'Hàng đầu tiên',headersBoth:'Cả hai',invalidRows:'Số lượng hàng phải là má»™t số lá»›n hÆ¡n 0.',invalidCols:'Số lượng cá»™t phải là má»™t số lá»›n hÆ¡n 0.',invalidBorder:'Kích cỡ của Ä‘Æ°á»ng biên phải là má»™t số nguyên.',invalidWidth:'Chiá»u rá»™ng của bảng phải là má»™t số nguyên.',invalidHeight:'Chiá»u cao của bảng phải là má»™t số nguyên.',invalidCellSpacing:'Khoảng cách giữa các ô phải là má»™t số nguyên.',invalidCellPadding:'Khoảng đệm giữa ô và ná»™i dung phải là má»™t số nguyên.',cell:{menu:'Ô',insertBefore:'Chèn ô Phía trÆ°á»›c',insertAfter:'Chèn ô Phía sau',deleteCell:'Xoá ô',merge:'Kết hợp ô',mergeRight:'Kết hợp sang phải',mergeDown:'Kết hợp xuống dÆ°á»›i',splitHorizontal:'Phân tách ô theo chiá»u ngang',splitVertical:'Phân tách ô theo chiá»u dá»c',title:'Thuá»™c tính của ô',cellType:'Kiểu của ô',rowSpan:'Kết hợp hàng',colSpan:'Kết hợp cá»™t',wordWrap:'Chữ liá»n hàng',hAlign:'Canh lá» ngang',vAlign:'Canh lá» dá»c',alignBaseline:'ÄÆ°á»ng cÆ¡ sở',bgColor:'Màu ná»n',borderColor:'Màu viá»n',data:'Dữ liệu',header:'Äầu Ä‘á»',yes:'Có',no:'Không',invalidWidth:'Chiá»u rá»™ng của ô phải là má»™t số nguyên.',invalidHeight:'Chiá»u cao của ô phải là má»™t số nguyên.',invalidRowSpan:'Số hàng kết hợp phải là má»™t số nguyên.',invalidColSpan:'Số cá»™t kết hợp phải là má»™t số nguyên.',chooseColor:'Chá»n màu'},row:{menu:'Hàng',insertBefore:'Chèn hàng phía trÆ°á»›c',insertAfter:'Chèn hàng phía sau',deleteRow:'Xoá hàng'},column:{menu:'Cá»™t',insertBefore:'Chèn cá»™t phía trÆ°á»›c',insertAfter:'Chèn cá»™t phía sau',deleteColumn:'Xoá cá»™t'}},button:{title:'Thuá»™c tính của nút',text:'Chuá»—i hiển thị (giá trị)',type:'Kiểu',typeBtn:'Nút bấm',typeSbm:'Nút gá»­i',typeRst:'Nút nhập lại'},checkboxAndRadio:{checkboxTitle:'Thuá»™c tính nút kiểm',radioTitle:'Thuá»™c tính nút chá»n',value:'Giá trị',selected:'Äược chá»n'},form:{title:'Thuá»™c tính biểu mẫu',menu:'Thuá»™c tính biểu mẫu',action:'Hành Ä‘á»™ng',method:'PhÆ°Æ¡ng thức',encoding:'Bảng mã'},select:{title:'Thuá»™c tính ô chá»n',selectInfo:'Thông tin',opAvail:'Các tùy chá»n có thể sá»­ dụng',value:'Giá trị',size:'Kích cỡ',lines:'dòng',chkMulti:'Cho phép chá»n nhiá»u',opText:'Văn bản',opValue:'Giá trị',btnAdd:'Thêm',btnModify:'Thay đổi',btnUp:'Lên',btnDown:'Xuống',btnSetValue:'Giá trị được chá»n',btnDelete:'Nút xoá'},textarea:{title:'Thuá»™c tính vùng văn bản',cols:'Số cá»™t',rows:'Số hàng'},textfield:{title:'Thuá»™c tính trÆ°á»ng văn bản',name:'Tên',value:'Giá trị',charWidth:'Äá»™ rá»™ng của ký tá»±',maxChars:'Số ký tá»± tối Ä‘a',type:'Kiểu',typeText:'Ký tá»±',typePass:'Mật khẩu'},hidden:{title:'Thuá»™c tính trÆ°á»ng ẩn',name:'Tên',value:'Giá trị'},image:{title:'Thuá»™c tính của ảnh',titleButton:'Thuá»™c tính nút của ảnh',menu:'Thuá»™c tính của ảnh',infoTab:'Thông tin của ảnh',btnUpload:'Tải lên máy chủ',upload:'Tải lên',alt:'Chú thích ảnh',lockRatio:'Giữ nguyên tá»· lệ',resetSize:'Kích thÆ°á»›c gốc',border:'ÄÆ°á»ng viá»n',hSpace:'Khoảng đệm ngang',vSpace:'Khoảng đệm dá»c',alertUrl:'Hãy Ä‘Æ°a vào Ä‘Æ°á»ng dẫn của ảnh',linkTab:'Tab liên kết',button2Img:'Bạn có muốn chuyển nút bấm bằng ảnh được chá»n thành ảnh?',img2Button:'Bạn có muốn chuyển đổi ảnh được chá»n thành nút bấm bằng ảnh?',urlMissing:'Thiếu Ä‘Æ°á»ng dẫn hình ảnh',validateBorder:'Chiá»u rá»™ng của Ä‘Æ°á»ng viá»n phải là má»™t số nguyên dÆ°Æ¡ng',validateHSpace:'Khoảng đệm ngang phải là má»™t số nguyên dÆ°Æ¡ng',validateVSpace:'Khoảng đệm dá»c phải là má»™t số nguyên dÆ°Æ¡ng'},flash:{properties:'Thuá»™c tính Flash',propertiesTab:'Thuá»™c tính',title:'Thuá»™c tính Flash',chkPlay:'Tá»± Ä‘á»™ng chạy',chkLoop:'Lặp',chkMenu:'Cho phép bật menu của Flash',chkFull:'Cho phép toàn màn hình',scale:'Tá»· lệ',scaleAll:'Hiển thị tất cả',scaleNoBorder:'Không Ä‘Æ°á»ng viá»n',scaleFit:'Vừa vặn',access:'Truy cập mã',accessAlways:'Luôn luôn',accessSameDomain:'Cùng tên miá»n',accessNever:'Không bao giá»',alignAbsBottom:'DÆ°á»›i tuyệt đối',alignAbsMiddle:'Giữa tuyệt đối',alignBaseline:'ÄÆ°á»ng cÆ¡ sở',alignTextTop:'Phía trên chữ',quality:'Chất lượng',qualityBest:'Tốt nhất',qualityHigh:'Cao',qualityAutoHigh:'Cao tá»± Ä‘á»™ng',qualityMedium:'Trung bình',qualityAutoLow:'Thấp tá»± Ä‘á»™ng',qualityLow:'Thấp',windowModeWindow:'Cá»­a sổ',windowModeOpaque:'MỠđục',windowModeTransparent:'Trong suốt',windowMode:'Chế Ä‘á»™ cá»­a sổ',flashvars:'Các biến số dành cho Flash',bgcolor:'Màu ná»n',hSpace:'Khoảng đệm ngang',vSpace:'Khoảng đệm dá»c',validateSrc:'Hãy Ä‘Æ°a vào Ä‘Æ°á»ng dẫn liên kết',validateHSpace:'Khoảng đệm ngang phải là số nguyên.',validateVSpace:'Khoảng đệm dá»c phải là số nguyên.'},spellCheck:{toolbar:'Kiểm tra chính tả',title:'Kiểm tra chính tả',notAvailable:'Xin lá»—i, dịch vụ này hiện tại không có.',errorLoading:'Lá»—i khi Ä‘ang nạp dịch vụ ứng dụng: %s.',notInDic:'Không có trong từ Ä‘iển',changeTo:'Chuyển thành',btnIgnore:'Bá» qua',btnIgnoreAll:'Bá» qua tất cả',btnReplace:'Thay thế',btnReplaceAll:'Thay thế tất cả',btnUndo:'Phục hồi lại',noSuggestions:'- Không Ä‘Æ°a ra gợi ý vá» từ -',progress:'Äang tiến hành kiểm tra chính tả...',noMispell:'Hoàn tất kiểm tra chính tả: Không có lá»—i chính tả',noChanges:'Hoàn tất kiểm tra chính tả: Không có từ nào được thay đổi',oneChange:'Hoàn tất kiểm tra chính tả: Má»™t từ đã được thay đổi',manyChanges:'Hoàn tất kiểm tra chính tả: %1 từ đã được thay đổi',ieSpellDownload:'Chức năng kiểm tra chính tả chÆ°a được cài đặt. Bạn có muốn tải vá» ngay bây giá»?'},smiley:{toolbar:'Hình biểu lá»™ cảm xúc (mặt cÆ°á»i)',title:'Chèn hình biểu lá»™ cảm xúc (mặt cÆ°á»i)',options:'Tùy chá»n hình biểu lá»™ cảm xúc'},elementsPath:{eleLabel:'Nhãn thành phần',eleTitle:'%1 thành phần'},numberedlist:'Chèn/Xoá Danh sách có thứ tá»±',bulletedlist:'Chèn/Xoá Danh sách không thứ tá»±',indent:'Dịch vào trong',outdent:'Dịch ra ngoài',justify:{left:'Canh trái',center:'Canh giữa',right:'Canh phải',block:'Canh Ä‘á»u'},blockquote:'Khối trích dẫn',clipboard:{title:'Dán',cutError:'Các thiết lập bảo mật của trình duyệt không cho phép trình biên tập tá»± Ä‘á»™ng thá»±c thi lệnh cắt. Hãy sá»­ dụng bàn phím cho lệnh này (Ctrl/Cmd+X).',copyError:'Các thiết lập bảo mật của trình duyệt không cho phép trình biên tập tá»± Ä‘á»™ng thá»±c thi lệnh sao chép. Hãy sá»­ dụng bàn phím cho lệnh này (Ctrl/Cmd+C).',pasteMsg:'Hãy dán ná»™i dung vào trong khung bên dÆ°á»›i, sá»­ dụng tổ hợp phím (<STRONG>Ctrl/Cmd+V</STRONG>) và nhấn vào nút <STRONG>Äồng ý</STRONG>.',securityMsg:'Do thiết lập bảo mật của trình duyệt nên trình biên tập không thể truy cập trá»±c tiếp vào ná»™i dung đã sao chép. Bạn cần phải dán lại ná»™i dung vào cá»­a sổ này.',pasteArea:'Khu vá»±c dán'},pastefromword:{confirmCleanup:'Văn bản bạn muốn dán có kèm định dạng của Word. Bạn có muốn loại bỠđịnh dạng Word trÆ°á»›c khi dán?',toolbar:'Dán vá»›i định dạng Word',title:'Dán vá»›i định dạng Word',error:'Không thể để làm sạch các dữ liệu dán do má»™t lá»—i ná»™i bá»™'},pasteText:{button:'Dán theo định dạng văn bản thuần',title:'Dán theo định dạng văn bản thuần'},templates:{button:'Mẫu dá»±ng sẵn',title:'Ná»™i dung Mẫu dá»±ng sẵn',options:'Tùy chá»n mẫu dá»±ng sẵn',insertOption:'Thay thế ná»™i dung hiện tại',selectPromptMsg:'Hãy chá»n mẫu dá»±ng sẵn để mở trong trình biên tập<br>(ná»™i dung hiện tại sẽ bị mất):',emptyListMsg:'(Không có mẫu dá»±ng sẵn nào được định nghÄ©a)'},showBlocks:'Hiển thị các khối',stylesCombo:{label:'Kiểu',panelTitle:'Phong cách định dạng',panelTitle1:'Kiểu khối',panelTitle2:'Kiểu trá»±c tiếp',panelTitle3:'Kiểu đối tượng'},format:{label:'Äịnh dạng',panelTitle:'Äịnh dạng',tag_p:'Bình thÆ°á»ng (P)',tag_pre:'Äã thiết lập',tag_address:'Address',tag_h1:'Heading 1',tag_h2:'Heading 2',tag_h3:'Heading 3',tag_h4:'Heading 4',tag_h5:'Heading 5',tag_h6:'Heading 6',tag_div:'Bình thÆ°á»ng (DIV)'},div:{title:'Tạo khối các thành phần',toolbar:'Tạo khối các thành phần',cssClassInputLabel:'Các lá»›p CSS',styleSelectLabel:'Kiểu (style)',IdInputLabel:'Äịnh danh (id)',languageCodeInputLabel:'Mã ngôn ngữ',inlineStyleInputLabel:'Kiểu ná»™i dòng',advisoryTitleInputLabel:'Nhan Ä‘á» hÆ°á»›ng dẫn',langDirLabel:'HÆ°á»›ng ngôn ngữ',langDirLTRLabel:'Trái sang phải (LTR)',langDirRTLLabel:'Phải qua trái (RTL)',edit:'Chỉnh sá»­a',remove:'Xóa bá»'},iframe:{title:'Thuá»™c tính iframe',toolbar:'Iframe',noUrl:'Vui lòng nhập địa chỉ iframe',scrolling:'Kích hoạt thanh cuá»™n',border:'Hiển thị viá»n khung'},font:{label:'Phông',voiceLabel:'Phông',panelTitle:'Phông'},fontSize:{label:'Cỡ chữ',voiceLabel:'Kích cỡ phông',panelTitle:'Cỡ chữ'},colorButton:{textColorTitle:'Màu chữ',bgColorTitle:'Màu ná»n',panelTitle:'Màu sắc',auto:'Tá»± Ä‘á»™ng',more:'Màu khác...'},colors:{'000':'Äen',800000:'Maroon','8B4513':'Saddle Brown','2F4F4F':'Dark Slate Gray','008080':'Teal','000080':'Navy','4B0082':'Indigo',696969:'Dark Gray',B22222:'Fire Brick',A52A2A:'Nâu',DAA520:'Golden Rod','006400':'Dark Green','40E0D0':'Turquoise','0000CD':'Medium Blue',800080:'Purple',808080:'Xám',F00:'Äá»',FF8C00:'Dark Orange',FFD700:'Vàng','008000':'Xanh lá cây','0FF':'Cyan','00F':'Xanh da trá»i',EE82EE:'Tím',A9A9A9:'Xám tối',FFA07A:'Light Salmon',FFA500:'Màu cam',FFFF00:'Vàng','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:'Trắng'},scayt:{title:'Kiểm tra chính tả ngay khi gõ chữ (SCAYT)',opera_title:'Không há»— trợ trên trình duyệt Opera',enable:'Bật SCAYT',disable:'Tắt SCAYT',about:'Thông tin vá» SCAYT',toggle:'Bật tắt SCAYT',options:'Tùy chá»n',langs:'Ngôn ngữ',moreSuggestions:'Äá» xuất thêm',ignore:'Bá» qua',ignoreAll:'Bá» qua tất cả',addWord:'Thêm từ',emptyDic:'Tên của từ Ä‘iển không được để trống.',noSuggestions:'Không Ä‘Æ°a ra gợi ý vá» từ',optionsTab:'Tùy chá»n',allCaps:'Không phân biệt chữ HOA chữ thÆ°á»ng',ignoreDomainNames:'Bá» qua tên miá»n',mixedCase:'Không phân biệt loại chữ',mixedWithDigits:'Không phân biệt chữ và số',languagesTab:'Tab ngôn ngữ',dictionariesTab:'Từ Ä‘iển',dic_field_name:'Tên từ Ä‘iển',dic_create:'Tạo',dic_restore:'Phục hồi',dic_delete:'Xóa',dic_rename:'Thay tên',dic_info:'Ban đầu, từ Ä‘iển ngÆ°á»i dùng được lÆ°u trữ trong má»™t cookie. Tuy nhiên, kích thÆ°á»›c cookie bị giá»›i hạn. Khi ngÆ°á»i sá»­ dụng từ Ä‘iển phát triển đến Ä‘iểm không thể được lÆ°u trữ trong cookie, từ Ä‘iển sẽ được lÆ°u trữ trên máy chủ của chúng tôi. Äể lÆ°u trữ từ Ä‘iển cá nhân của bạn trên máy chủ của chúng tôi, bạn nên xác định má»™t tên cho từ Ä‘iển của bạn. Nếu bạn đã có má»™t cuốn từ Ä‘iển được lÆ°u trữ, xin vui lòng gõ tên của nó và nhấn vào nút Khôi phục.',aboutTab:'Thông tin'},about:{title:'Thông tin vá» CKEditor',dlgTitle:'Thông tin vá» CKEditor',help:'Kiểm tra $1 để được giúp đỡ.',userGuide:'HÆ°á»›ng dẫn sá»­ dụng CKEditor',moreInfo:'Vui lòng ghé thăm trang web của chúng tôi để có thông tin vá» giấy phép:',copy:'Bản quyá»n &copy; $1. Giữ toàn quyá»n.'},maximize:'Phóng to tối Ä‘a',minimize:'Thu nhá»',fakeobjects:{anchor:'Äiểm neo',flash:'Flash',iframe:'IFrame',hiddenfield:'TrÆ°á»ng ẩn',unknown:'Äối tượng không rõ ràng'},resize:'Kéo rê để thay đổi kích cỡ',colordialog:{title:'Chá»n màu',options:'Tùy chá»n màu',highlight:'Màu chá»n',selected:'Màu đã chá»n',clear:'Xóa bá»'},toolbarCollapse:'Thu gá»n thanh công cụ',toolbarExpand:'Mở rá»™ng thnah công cụ',toolbarGroups:{document:'Tài liệu',clipboard:'Clipboard/Undo',editing:'Chỉnh sá»­a',forms:'Bảng biểu',basicstyles:'Kiểu cÆ¡ bản',paragraph:'Äoạn',links:'Liên kết',insert:'Chèn',styles:'Kiểu',colors:'Màu sắc',tools:'Công cụ'},bidi:{ltr:'Văn bản hÆ°á»›ng từ trái sang phải',rtl:'Văn bản hÆ°á»›ng từ phải sang trái'},docprops:{label:'Thuá»™c tính Tài liệu',title:'Thuá»™c tính Tài liệu',design:'Thiết kế',meta:'Siêu dữ liệu',chooseColor:'Chá»n màu',other:'<khác>',docTitle:'Tiêu Ä‘á» Trang',charset:'Bảng mã ký tá»±',charsetOther:'Bảng mã ký tá»± khác',charsetASCII:'ASCII',charsetCE:'Trung Âu',charsetCT:'Tiếng Trung Quốc (Big5)',charsetCR:'Tiếng Kirin',charsetGR:'Tiếng Hy Lạp',charsetJP:'Tiếng Nhật',charsetKR:'Tiếng Hàn',charsetTR:'Tiếng Thổ NhÄ© Kỳ',charsetUN:'Unicode (UTF-8)',charsetWE:'Tây Âu',docType:'Kiểu Äá» mục Tài liệu',docTypeOther:'Kiểu Äá» mục Tài liệu khác',xhtmlDec:'Bao gồm cả định nghÄ©a XHTML',bgColor:'Màu ná»n',bgImage:'URL của Hình ảnh ná»n',bgFixed:'Không cuá»™n ná»n',txtColor:'Màu chữ',margin:'ÄÆ°á»ng biên của Trang',marginTop:'Trên',marginLeft:'Trái',marginRight:'Phải',marginBottom:'DÆ°á»›i',metaKeywords:'Các từ khóa chỉ mục tài liệu (phân cách bởi dấu phẩy)',metaDescription:'Mô tả tài liệu',metaAuthor:'Tác giả',metaCopyright:'Bản quyá»n',previewHtml:'<p>Äây là má»™t số <strong>văn bản mẫu</strong>. Bạn Ä‘ang sá»­ dụng <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/zh-cn.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/zh-cn.js
deleted file mode 100644
index 6d4c0f2..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/zh-cn.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang['zh-cn']={dir:'ltr',editorTitle:'富文本编辑器,%1',editorHelp:'按 ALT+0 获得帮助',toolbars:'工具æ ',editor:'所è§å³æ‰€å¾—编辑器',source:'æºç ',newPage:'新建',save:'ä¿å­˜',preview:'预览',cut:'剪切',copy:'å¤åˆ¶',paste:'粘贴',print:'打å°',underline:'下划线',bold:'加粗',italic:'倾斜',selectAll:'全选',removeFormat:'清除格å¼',strike:'删除线',subscript:'下标',superscript:'上标',horizontalrule:'æ’入水平线',pagebreak:'æ’入分页符',pagebreakAlt:'分页符',unlink:'å–消超链接',undo:'撤消',redo:'é‡åš',common:{browseServer:'æµè§ˆæœåŠ¡å™¨',url:'æºæ–‡ä»¶',protocol:'åè®®',upload:'上传',uploadSubmit:'上传到æœåŠ¡å™¨ä¸Š',image:'图象',flash:'Flash',form:'表å•',checkbox:'å¤é€‰æ¡†',radio:'å•é€‰æŒ‰é’®',textField:'å•è¡Œæ–‡æœ¬',textarea:'多行文本',hiddenField:'éšè—域',button:'按钮',select:'列表/èœå•',imageButton:'图åƒåŸŸ',notSet:'<没有设置>',id:'ID',name:'å称',langDir:'语言方å‘',langDirLtr:'ä»Žå·¦åˆ°å³ (LTR)',langDirRtl:'从å³åˆ°å·¦ (RTL)',langCode:'语言代ç ',longDescr:'详细说明地å€',cssClass:'æ ·å¼ç±»å称',advisoryTitle:'标题',cssStyle:'行内样å¼',ok:'确定',cancel:'å–消',close:'关闭',preview:'预览',generalTab:'常规',advancedTab:'高级',validateNumberFailed:'需è¦è¾“入数字格å¼',confirmNewPage:'当å‰æ–‡æ¡£å†…容未ä¿å­˜,是å¦ç¡®è®¤æ–°å»ºæ–‡æ¡£ï¼Ÿ',confirmCancel:'部分修改尚未ä¿å­˜ï¼Œæ˜¯å¦ç¡®è®¤å…³é—­å¯¹è¯æ¡†ï¼Ÿ',options:'选项',target:'目标窗å£',targetNew:'æ–°çª—å£ (_blank)',targetTop:'整页 (_top)',targetSelf:'æœ¬çª—å£ (_self)',targetParent:'çˆ¶çª—å£ (_parent)',langDirLTR:'ä»Žå·¦åˆ°å³ (LTR)',langDirRTL:'从å³åˆ°å·¦ (RTL)',styles:'æ ·å¼',cssClasses:'æ ·å¼ç±»',width:'宽度',height:'高度',align:'对é½æ–¹å¼',alignLeft:'左对é½',alignRight:'å³å¯¹é½',alignCenter:'居中',alignTop:'顶端',alignMiddle:'居中',alignBottom:'底部',invalidValue:'无效的值。',invalidHeight:'高度必须为数字格å¼',invalidWidth:'宽度必须为数字格å¼',invalidCssLength:'该字段必须为åˆå¼çš„CSS长度值,包括å•ä½(px, %, in, cm, mm, em, ex, pt 或 pc)',invalidHtmlLength:'该字段必须为åˆå¼çš„HTML长度值,包括å•ä½(px 或 %)',invalidInlineStyle:'内è”æ ·å¼å¿…须为格å¼æ˜¯ä»¥åˆ†å·åˆ†éš”的一个或多个“属性å : 属性值â€',cssLengthTooltip:'该字段必须为åˆå¼çš„CSS长度值,包括å•ä½(px, %, in, cm, mm, em, ex, pt 或 pc)',unavailable:'%1<span class="cke_accessibility">, ä¸å¯ç”¨</span>'},contextmenu:{options:'å¿«æ·èœå•é€‰é¡¹'},specialChar:{toolbar:'æ’入特殊符å·',title:'选择特殊符å·',options:'特殊符å·é€‰é¡¹'},link:{toolbar:'æ’å…¥/编辑超链接',other:'<其他>',menu:'编辑超链接',title:'超链接',info:'超链接信æ¯',target:'目标',upload:'上传',advanced:'高级',type:'超链接类型',toUrl:'地å€',toAnchor:'页内锚点链接',toEmail:'电å­é‚®ä»¶',targetFrame:'<框架>',targetPopup:'<弹出窗å£>',targetFrameName:'目标框架å称',targetPopupName:'弹出窗å£å称',popupFeatures:'弹出窗å£å±žæ€§',popupResizable:'å¯ç¼©æ”¾',popupStatusBar:'状æ€æ ',popupLocationBar:'地å€æ ',popupToolbar:'工具æ ',popupMenuBar:'èœå•æ ',popupFullScreen:'å…¨å± (IE)',popupScrollBars:'滚动æ¡',popupDependent:'ä¾é™„ (NS)',popupLeft:'å·¦',popupTop:'å³',id:'ID',langDir:'语言方å‘',langDirLTR:'ä»Žå·¦åˆ°å³ (LTR)',langDirRTL:'从å³åˆ°å·¦ (RTL)',acccessKey:'访问键',name:'å称',langCode:'语言代ç ',tabIndex:'Tab 键次åº',advisoryTitle:'标题',advisoryContentType:'内容类型',cssClasses:'æ ·å¼ç±»å称',charset:'字符编ç ',styles:'行内样å¼',rel:'å…³è”',selectAnchor:'选择一个锚点',anchorName:'按锚点å称',anchorId:'按锚点 ID',emailAddress:'地å€',emailSubject:'主题',emailBody:'内容',noAnchors:'(此文档没有å¯ç”¨çš„锚点)',noUrl:'请输入超链接地å€',noEmail:'请输入电å­é‚®ä»¶åœ°å€'},anchor:{toolbar:'æ’å…¥/编辑锚点链接',menu:'锚点链接属性',title:'锚点链接属性',name:'锚点å称',errorName:'请输入锚点å称',remove:'删除锚点'},list:{numberedTitle:'ç¼–å·åˆ—表属性',bulletedTitle:'项目列表属性',type:'标记类型',start:'开始åºå·',validateStartNumber:'列表开始åºå·å¿…须为整数格å¼',circle:'空心圆',disc:'实心圆',square:'实心方å—',none:'无标记',notset:'<没有设置>',armenian:'传统的亚美尼亚编å·æ–¹å¼',georgian:'传统的乔治亚编å·æ–¹å¼(an, ban, gan, ç­‰)',lowerRoman:'å°å†™ç½—马数字(i, ii, iii, iv, v, ç­‰)',upperRoman:'大写罗马数字(I, II, III, IV, V, ç­‰)',lowerAlpha:'å°å†™è‹±æ–‡å­—æ¯(a, b, c, d, e, ç­‰)',upperAlpha:'大写英文字æ¯(A, B, C, D, E, ç­‰)',lowerGreek:'å°å†™å¸Œè…Šå­—æ¯(alpha, beta, gamma, ç­‰)',decimal:'æ•°å­— (1, 2, 3, ç­‰)',decimalLeadingZero:'0开头的数字标记(01, 02, 03, ç­‰)'},findAndReplace:{title:'查找和替æ¢',find:'查找',replace:'替æ¢',findWhat:'查找:',replaceWith:'替æ¢:',notFoundMsg:'指定文本没有找到',findOptions:'查找选项',matchCase:'区分大å°å†™',matchWord:'全字匹é…',matchCyclic:'循环匹é…',replaceAll:'全部替æ¢',replaceSuccessMsg:'å…±å®Œæˆ %1 处替æ¢.'},table:{toolbar:'表格',title:'表格属性',menu:'表格属性',deleteTable:'删除表格',rows:'行数',columns:'列数',border:'边框',widthPx:'åƒç´ ',widthPc:'百分比',widthUnit:'宽度å•ä½',cellSpace:'é—´è·',cellPad:'è¾¹è·',caption:'标题',summary:'摘è¦',headers:'标题å•å…ƒæ ¼',headersNone:'æ— ',headersColumn:'第一列',headersRow:'第一行',headersBoth:'第一列和第一行',invalidRows:'指定的列数必须大于零',invalidCols:'指定的行数必须大于零',invalidBorder:'边框粗细必须为数字格å¼',invalidWidth:'表格宽度必须为数字格å¼',invalidHeight:'表格高度必须为数字格å¼',invalidCellSpacing:'å•å…ƒæ ¼é—´è·å¿…须为数字格å¼',invalidCellPadding:'å•å…ƒæ ¼å¡«å……必须为数字格å¼',cell:{menu:'å•å…ƒæ ¼',insertBefore:'在左侧æ’å…¥å•å…ƒæ ¼',insertAfter:'在å³ä¾§æ’å…¥å•å…ƒæ ¼',deleteCell:'删除å•å…ƒæ ¼',merge:'åˆå¹¶å•å…ƒæ ¼',mergeRight:'å‘å³åˆå¹¶å•å…ƒæ ¼',mergeDown:'å‘下åˆå¹¶å•å…ƒæ ¼',splitHorizontal:'水平拆分å•å…ƒæ ¼',splitVertical:'垂直拆分å•å…ƒæ ¼',title:'å•å…ƒæ ¼å±žæ€§',cellType:'å•å…ƒæ ¼ç±»åž‹',rowSpan:'纵跨行数',colSpan:'横跨列数',wordWrap:'自动æ¢è¡Œ',hAlign:'水平对é½',vAlign:'垂直对é½',alignBaseline:'基线',bgColor:'背景颜色',borderColor:'边框颜色',data:'æ•°æ®',header:'表头',yes:'是',no:'å¦',invalidWidth:'å•å…ƒæ ¼å®½åº¦å¿…须为数字格å¼',invalidHeight:'å•å…ƒæ ¼é«˜åº¦å¿…须为数字格å¼',invalidRowSpan:'行跨度必须为整数格å¼',invalidColSpan:'列跨度必须为整数格å¼',chooseColor:'选择'},row:{menu:'è¡Œ',insertBefore:'在上方æ’入行',insertAfter:'在下方æ’入行',deleteRow:'删除行'},column:{menu:'列',insertBefore:'在左侧æ’入列',insertAfter:'在å³ä¾§æ’入列',deleteColumn:'删除列'}},button:{title:'按钮属性',text:'标签(值)',type:'类型',typeBtn:'按钮',typeSbm:'æ交',typeRst:'é‡è®¾'},checkboxAndRadio:{checkboxTitle:'å¤é€‰æ¡†å±žæ€§',radioTitle:'å•é€‰æŒ‰é’®å±žæ€§',value:'选定值',selected:'已勾选'},form:{title:'表å•å±žæ€§',menu:'表å•å±žæ€§',action:'动作',method:'方法',encoding:'表å•ç¼–ç '},select:{title:'èœå•/列表属性',selectInfo:'选择信æ¯',opAvail:'å¯é€‰é¡¹',value:'值',size:'高度',lines:'è¡Œ',chkMulti:'å…许多选',opText:'选项文本',opValue:'选项值',btnAdd:'添加',btnModify:'修改',btnUp:'上移',btnDown:'下移',btnSetValue:'设为åˆå§‹é€‰å®š',btnDelete:'删除'},textarea:{title:'多行文本属性',cols:'字符宽度',rows:'行数'},textfield:{title:'å•è¡Œæ–‡æœ¬å±žæ€§',name:'å称',value:'åˆå§‹å€¼',charWidth:'字符宽度',maxChars:'最多字符数',type:'类型',typeText:'文本',typePass:'密ç '},hidden:{title:'éšè—域属性',name:'å称',value:'åˆå§‹å€¼'},image:{title:'图象属性',titleButton:'图åƒåŸŸå±žæ€§',menu:'图象属性',infoTab:'图象',btnUpload:'上传到æœåŠ¡å™¨ä¸Š',upload:'上传',alt:'替æ¢æ–‡æœ¬',lockRatio:'é”定比例',resetSize:'原始尺寸',border:'边框大å°',hSpace:'水平间è·',vSpace:'åž‚ç›´é—´è·',alertUrl:'请输入图象地å€',linkTab:'链接',button2Img:'确定è¦æŠŠå½“å‰æŒ‰é’®æ”¹å˜ä¸ºå›¾åƒå—?',img2Button:'确定è¦æŠŠå½“å‰å›¾åƒæ”¹å˜ä¸ºæŒ‰é’®å—?',urlMissing:'缺少图åƒæºæ–‡ä»¶åœ°å€',validateBorder:'边框大å°å¿…须为整数格å¼',validateHSpace:'水平间è·å¿…须为整数格å¼',validateVSpace:'åž‚ç›´é—´è·å¿…须为整数格å¼'},flash:{properties:'Flash 属性',propertiesTab:'属性',title:'标题',chkPlay:'自动播放',chkLoop:'循环',chkMenu:'å¯ç”¨ Flash èœå•',chkFull:'å¯ç”¨å…¨å±',scale:'缩放',scaleAll:'全部显示',scaleNoBorder:'无边框',scaleFit:'严格匹é…',access:'å…许脚本访问',accessAlways:'总是',accessSameDomain:'åŒåŸŸ',accessNever:'从ä¸',alignAbsBottom:'ç»å¯¹åº•éƒ¨',alignAbsMiddle:'ç»å¯¹å±…中',alignBaseline:'基线',alignTextTop:'文本上方',quality:'è´¨é‡',qualityBest:'最好',qualityHigh:'高',qualityAutoHigh:'高(自动)',qualityMedium:'中(自动)',qualityAutoLow:'低(自动)',qualityLow:'低',windowModeWindow:'窗体',windowModeOpaque:'ä¸é€æ˜Ž',windowModeTransparent:'é€æ˜Ž',windowMode:'窗体模å¼',flashvars:'Flash å˜é‡',bgcolor:'背景颜色',hSpace:'水平间è·',vSpace:'åž‚ç›´é—´è·',validateSrc:'请输入æºæ–‡ä»¶åœ°å€',validateHSpace:'水平间è·å¿…须为数字格å¼',validateVSpace:'åž‚ç›´é—´è·å¿…须为数字格å¼'},spellCheck:{toolbar:'拼写检查',title:'拼写检查',notAvailable:'抱歉, æœåŠ¡ç›®å‰æš‚ä¸å¯ç”¨',errorLoading:'加载应该æœåŠ¡ä¸»æœºæ—¶å‡ºé”™: %s.',notInDic:'没有在字典里',changeTo:'更改为',btnIgnore:'忽略',btnIgnoreAll:'全部忽略',btnReplace:'替æ¢',btnReplaceAll:'全部替æ¢',btnUndo:'撤消',noSuggestions:'- 没有建议 -',progress:'正在进行拼写检查...',noMispell:'拼写检查完æˆ: 没有å‘现拼写错误',noChanges:'拼写检查完æˆ: 没有更改任何å•è¯',oneChange:'拼写检查完æˆ: 更改了一个å•è¯',manyChanges:'拼写检查完æˆ: 更改了 %1 个å•è¯',ieSpellDownload:'拼写检查æ’件还没安装, 您是å¦æƒ³çŽ°åœ¨å°±ä¸‹è½½?'},smiley:{toolbar:'表情符',title:'æ’入表情图标',options:'表情图标选项'},elementsPath:{eleLabel:'元素路径',eleTitle:'%1 元素'},numberedlist:'ç¼–å·åˆ—表',bulletedlist:'项目列表',indent:'增加缩进é‡',outdent:'å‡å°‘缩进é‡',justify:{left:'左对é½',center:'居中',right:'å³å¯¹é½',block:'两端对é½'},blockquote:'å—引用',clipboard:{title:'粘贴',cutError:'您的æµè§ˆå™¨å®‰å…¨è®¾ç½®ä¸å…许编辑器自动执行剪切æ“作, 请使用键盘快æ·é”®(Ctrl/Cmd+X)æ¥å®Œæˆ',copyError:'您的æµè§ˆå™¨å®‰å…¨è®¾ç½®ä¸å…许编辑器自动执行å¤åˆ¶æ“作, 请使用键盘快æ·é”®(Ctrl/Cmd+C)æ¥å®Œæˆ',pasteMsg:'请使用键盘快æ·é”®(<STRONG>Ctrl/Cmd+V</STRONG>)把内容粘贴到下é¢çš„方框里,å†æŒ‰ <STRONG>确定</STRONG>',securityMsg:'因为您的æµè§ˆå™¨çš„安全设置原因, 本编辑器ä¸èƒ½ç›´æŽ¥è®¿é—®æ‚¨çš„剪贴æ¿å†…容, 你需è¦åœ¨æœ¬çª—å£é‡æ–°ç²˜è´´ä¸€æ¬¡ã€‚',pasteArea:'粘贴区域'},pastefromword:{confirmCleanup:'您è¦ç²˜è´´çš„内容好åƒæ˜¯æ¥è‡ª MS Word, 是å¦è¦æ¸…除 MS Word æ ¼å¼åŽå†ç²˜è´´?',toolbar:'从 MS Word 粘贴',title:'从 MS Word 粘贴',error:'由于内部错误无法清ç†è¦ç²˜è´´çš„æ•°æ®'},pasteText:{button:'粘贴为无格å¼æ–‡æœ¬',title:'粘贴为无格å¼æ–‡æœ¬'},templates:{button:'模æ¿',title:'内容模æ¿',options:'模æ¿é€‰é¡¹',insertOption:'替æ¢å½“å‰å†…容',selectPromptMsg:'请选择编辑器内容模æ¿:',emptyListMsg:'(没有模æ¿)'},showBlocks:'显示区å—',stylesCombo:{label:'æ ·å¼',panelTitle:'æ ·å¼',panelTitle1:'å—级元素样å¼',panelTitle2:'内è”元素样å¼',panelTitle3:'对象元素样å¼'},format:{label:'æ ¼å¼',panelTitle:'æ ¼å¼',tag_p:'普通',tag_pre:'已编排格å¼',tag_address:'地å€',tag_h1:'标题 1',tag_h2:'标题 2',tag_h3:'标题 3',tag_h4:'标题 4',tag_h5:'标题 5',tag_h6:'标题 6',tag_div:'段è½(DIV)'},div:{title:'创建 DIV 容器',toolbar:'创建 DIV 容器',cssClassInputLabel:'æ ·å¼ç±»å称',styleSelectLabel:'æ ·å¼',IdInputLabel:'ID',languageCodeInputLabel:'语言代ç ',inlineStyleInputLabel:'行内样å¼',advisoryTitleInputLabel:'标题',langDirLabel:'语言方å‘',langDirLTRLabel:'ä»Žå·¦åˆ°å³ (LTR)',langDirRTLLabel:'从å³åˆ°å·¦ (RTL)',edit:'编辑 DIV',remove:'移除 DIV'},iframe:{title:'IFrame 属性',toolbar:'IFrame',noUrl:'请输入框架的 URL',scrolling:'å…许滚动æ¡',border:'显示框架边框'},font:{label:'字体',voiceLabel:'字体',panelTitle:'字体'},fontSize:{label:'大å°',voiceLabel:'文字大å°',panelTitle:'大å°'},colorButton:{textColorTitle:'文本颜色',bgColorTitle:'背景颜色',panelTitle:'颜色',auto:'自动',more:'其它颜色...'},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:'白'},scayt:{title:'å³æ—¶æ‹¼å†™æ£€æŸ¥',opera_title:'ä¸æ”¯æŒ Opera æµè§ˆå™¨',enable:'å¯ç”¨å³æ—¶æ‹¼å†™æ£€æŸ¥',disable:'ç¦ç”¨å³æ—¶æ‹¼å†™æ£€æŸ¥',about:'关于å³æ—¶æ‹¼å†™æ£€æŸ¥',toggle:'æš‚åœ/å¯ç”¨å³æ—¶æ‹¼å†™æ£€æŸ¥',options:'选项',langs:'语言',moreSuggestions:'更多拼写建议',ignore:'忽略',ignoreAll:'全部忽略',addWord:'添加å•è¯',emptyDic:'å­—å…¸åä¸åº”为空.',noSuggestions:'没有建议',optionsTab:'选项',allCaps:'忽略所有大写å•è¯',ignoreDomainNames:'忽略域å',mixedCase:'忽略大å°å†™æ··åˆçš„å•è¯',mixedWithDigits:'忽略带数字的å•è¯',languagesTab:'语言',dictionariesTab:'å­—å…¸',dic_field_name:'å­—å…¸å称',dic_create:'创建',dic_restore:'还原',dic_delete:'删除',dic_rename:'é‡å‘½å',dic_info:'一开始用户è¯å…¸å‚¨å­˜åœ¨ Cookie 中, 但是 Cookies 的容é‡æ˜¯æœ‰é™çš„, 当用户è¯å…¸å¢žé•¿åˆ°è¶…出 Cookie é™åˆ¶æ—¶å°±æ— æ³•å†å‚¨å­˜äº†, 这时您å¯ä»¥å°†è¯å…¸å‚¨å­˜åˆ°æˆ‘们的æœåŠ¡å™¨ä¸Š. è¦æŠŠæ‚¨çš„个人è¯å…¸åˆ°å‚¨å­˜åˆ°æˆ‘们的æœåŠ¡å™¨ä¸Šçš„è¯, 需è¦ä¸ºæ‚¨çš„è¯å…¸æŒ‡å®šä¸€ä¸ªå称, 如果您在我们的æœåŠ¡å™¨ä¸Šå·²ç»æœ‰å‚¨å­˜æœ‰ä¸€ä¸ªè¯å…¸, 请输入è¯å…¸å称并按还原按钮.',aboutTab:'关于'},about:{title:'关于CKEditor',dlgTitle:'关于CKEditor',help:'请访问 $1 以获å–帮助.',userGuide:'CKEditor 用户å‘导',moreInfo:'访问我们的网站以获å–更多关于å议的信æ¯',copy:'Copyright &copy; $1. 版æƒæ‰€æœ‰ã€‚'},maximize:'å…¨å±',minimize:'最å°åŒ–',fakeobjects:{anchor:'锚点',flash:'Flash 动画',iframe:'IFrame',hiddenfield:'éšè—域',unknown:'未知对象'},resize:'拖拽以改å˜å°ºå¯¸',colordialog:{title:'选择颜色',options:'颜色选项',highlight:'高亮',selected:'选择颜色',clear:'清除'},toolbarCollapse:'折å å·¥å…·æ ',toolbarExpand:'展开工具æ ',toolbarGroups:{document:'文档',clipboard:'剪贴æ¿/撤销',editing:'编辑',forms:'表å•',basicstyles:'基本格å¼',paragraph:'段è½',links:'链接',insert:'æ’å…¥',styles:'æ ·å¼',colors:'颜色',tools:'工具'},bidi:{ltr:'文字方å‘为从左至å³',rtl:'文字方å‘为从å³è‡³å·¦'},docprops:{label:'页é¢å±žæ€§',title:'页é¢å±žæ€§',design:'设计',meta:'Meta æ•°æ®',chooseColor:'选择',other:'<其他>',docTitle:'页é¢æ ‡é¢˜',charset:'字符编ç ',charsetOther:'其它字符编ç ',charsetASCII:'ASCII',charsetCE:'中欧',charsetCT:'ç¹ä½“中文 (Big5)',charsetCR:'西里尔文',charsetGR:'希腊文',charsetJP:'日文',charsetKR:'韩文',charsetTR:'土耳其文',charsetUN:'Unicode (UTF-8)',charsetWE:'西欧',docType:'文档类型',docTypeOther:'其它文档类型',xhtmlDec:'åŒ…å« XHTML 声明',bgColor:'背景颜色',bgImage:'背景图åƒ',bgFixed:'ä¸æ»šåŠ¨èƒŒæ™¯å›¾åƒ',txtColor:'文本颜色',margin:'页é¢è¾¹è·',marginTop:'上',marginLeft:'å·¦',marginRight:'å³',marginBottom:'下',metaKeywords:'页é¢ç´¢å¼•å…³é”®å­— (用åŠè§’逗å·[,]分隔)',metaDescription:'页é¢è¯´æ˜Ž',metaAuthor:'作者',metaCopyright:'版æƒ',previewHtml:'<p>这是一些<strong>演示用文字</strong>。您当å‰æ­£åœ¨ä½¿ç”¨<a href="javascript:void(0)">CKEditor</a>。</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/lang/zh.js b/rt/share/html/NoAuth/RichText/ckeditor/lang/zh.js
deleted file mode 100644
index 1640034..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/lang/zh.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.lang.zh={dir:'ltr',editorTitle:'富文本編輯器,%1',editorHelp:'按 ALT+0 以ç²å¾—幫助',toolbars:'編輯器工具欄',editor:'富文本編輯器',source:'原始碼',newPage:'開新檔案',save:'儲存',preview:'é è¦½',cut:'剪下',copy:'複製',paste:'貼上',print:'列å°',underline:'底線',bold:'ç²—é«”',italic:'斜體',selectAll:'å…¨é¸',removeFormat:'清除格å¼',strike:'刪除線',subscript:'下標',superscript:'上標',horizontalrule:'æ’入水平線',pagebreak:'æ’入分é ç¬¦è™Ÿ',pagebreakAlt:'分é ç¬¦è™Ÿ',unlink:'移除超連çµ',undo:'復原',redo:'é‡è¤‡',common:{browseServer:'ç€è¦½ä¼ºæœå™¨ç«¯',url:'URL',protocol:'通訊å”定',upload:'上傳',uploadSubmit:'上傳至伺æœå™¨',image:'å½±åƒ',flash:'Flash',form:'表單',checkbox:'æ ¸å–方塊',radio:'é¸é …按鈕',textField:'文字方塊',textarea:'文字å€åŸŸ',hiddenField:'éš±è—欄ä½',button:'按鈕',select:'清單/é¸å–®',imageButton:'å½±åƒæŒ‰éˆ•',notSet:'<尚未設定>',id:'ID',name:'å稱',langDir:'語言方å‘',langDirLtr:'ç”±å·¦è€Œå³ (LTR)',langDirRtl:'ç”±å³è€Œå·¦ (RTL)',langCode:'語言代碼',longDescr:'詳細 URL',cssClass:'樣å¼è¡¨é¡žåˆ¥',advisoryTitle:'標題',cssStyle:'樣å¼',ok:'確定',cancel:'å–消',close:'关闭',preview:'预览',generalTab:'一般',advancedTab:'進階',validateNumberFailed:'需è¦è¼¸å…¥æ•¸å­—æ ¼å¼',confirmNewPage:'ç¾å­˜çš„修改尚未儲存,è¦é–‹æ–°æª”案?',confirmCancel:'部份é¸é …尚未儲存,è¦é—œé–‰å°è©±ç›’?',options:'选项',target:'目标',targetNew:'新窗å£(_blank)',targetTop:'整页(_top)',targetSelf:'本窗å£(_self)',targetParent:'父窗å£(_parent)',langDirLTR:'Left to Right (LTR)',langDirRTL:'Right to Left (RTL)',styles:'Style',cssClasses:'Stylesheet Classes',width:'寬度',height:'高度',align:'å°é½Š',alignLeft:'é å·¦å°é½Š',alignRight:'é å³å°é½Š',alignCenter:'置中',alignTop:'é ä¸Šå°é½Š',alignMiddle:'置中å°é½Š',alignBottom:'é ä¸‹å°é½Š',invalidValue:'Invalid value.',invalidHeight:'高度必須為數字格å¼',invalidWidth:'寬度必須為數字格å¼',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 with the format of "name : value", separated by semi-colons.',cssLengthTooltip:'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).',unavailable:'%1<span class="cke_accessibility">, 已關閉</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'æ’入特殊符號',title:'è«‹é¸æ“‡ç‰¹æ®Šç¬¦è™Ÿ',options:'Special Character Options'},link:{toolbar:'æ’å…¥/編輯超連çµ',other:'<其他>',menu:'編輯超連çµ',title:'超連çµ',info:'超連çµè³‡è¨Š',target:'目標',upload:'上傳',advanced:'進階',type:'超連接類型',toUrl:'URL',toAnchor:'本é éŒ¨é»ž',toEmail:'é›»å­éƒµä»¶',targetFrame:'<框架>',targetPopup:'<快顯視窗>',targetFrameName:'目標框架å稱',targetPopupName:'快顯視窗å稱',popupFeatures:'快顯視窗屬性',popupResizable:'å¯ç¸®æ”¾',popupStatusBar:'狀態列',popupLocationBar:'網å€åˆ—',popupToolbar:'工具列',popupMenuBar:'é¸å–®åˆ—',popupFullScreen:'全螢幕 (IE)',popupScrollBars:'æ²è»¸',popupDependent:'從屬 (NS)',popupLeft:'å·¦',popupTop:'å³',id:'ID',langDir:'語言方å‘',langDirLTR:'ç”±å·¦è€Œå³ (LTR)',langDirRTL:'ç”±å³è€Œå·¦ (RTL)',acccessKey:'å­˜å–éµ',name:'å稱',langCode:'語言方å‘',tabIndex:'定ä½é †åº',advisoryTitle:'標題',advisoryContentType:'內容類型',cssClasses:'樣å¼è¡¨é¡žåˆ¥',charset:'連çµè³‡æºä¹‹ç·¨ç¢¼',styles:'樣å¼',rel:'Relationship',selectAnchor:'è«‹é¸æ“‡éŒ¨é»ž',anchorName:'ä¾éŒ¨é»žå稱',anchorId:'ä¾å…ƒä»¶ ID',emailAddress:'é›»å­éƒµä»¶',emailSubject:'郵件主旨',emailBody:'郵件內容',noAnchors:'(本文件尚無å¯ç”¨ä¹‹éŒ¨é»ž)',noUrl:'請輸入欲連çµçš„ URL',noEmail:'請輸入電å­éƒµä»¶ä½å€'},anchor:{toolbar:'æ’å…¥/編輯錨點',menu:'錨點屬性',title:'錨點屬性',name:'錨點å稱',errorName:'請輸入錨點å稱',remove:'Remove Anchor'},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'尋找與å–代',find:'尋找',replace:'å–代',findWhat:'尋找:',replaceWith:'å–代:',notFoundMsg:'未找到指定的文字。',findOptions:'Find Options',matchCase:'大å°å¯«é ˆç›¸ç¬¦',matchWord:'全字相符',matchCyclic:'循環æœç´¢',replaceAll:'全部å–代',replaceSuccessMsg:'å…±å®Œæˆ %1 次å–代'},table:{toolbar:'表格',title:'表格屬性',menu:'表格屬性',deleteTable:'刪除表格',rows:'列數',columns:'欄數',border:'邊框',widthPx:'åƒç´ ',widthPc:'百分比',widthUnit:'width unit',cellSpace:'é–“è·',cellPad:'å…§è·',caption:'標題',summary:'摘è¦',headers:'標題',headersNone:'無標題',headersColumn:'第一欄',headersRow:'第一列',headersBoth:'第一欄和第一列',invalidRows:'必須有一或更多的列',invalidCols:'必須有一或更多的欄',invalidBorder:'邊框大å°å¿…須為數字格å¼',invalidWidth:'表格寬度必須為數字格å¼',invalidHeight:'表格高度必須為數字格å¼',invalidCellSpacing:'儲存格間è·å¿…須為數字格å¼',invalidCellPadding:'儲存格內è·å¿…須為數字格å¼',cell:{menu:'儲存格',insertBefore:'å‘å·¦æ’入儲存格',insertAfter:'å‘å³æ’入儲存格',deleteCell:'刪除儲存格',merge:'åˆä½µå„²å­˜æ ¼',mergeRight:'å‘å³åˆä½µå„²å­˜æ ¼',mergeDown:'å‘下åˆä½µå„²å­˜æ ¼',splitHorizontal:'æ©«å‘分割儲存格',splitVertical:'縱å‘分割儲存格',title:'儲存格屬性',cellType:'儲存格類別',rowSpan:'儲存格列數',colSpan:'儲存格欄數',wordWrap:'自動æ›è¡Œ',hAlign:'æ°´å¹³å°é½Š',vAlign:'åž‚ç›´å°é½Š',alignBaseline:'基線å°é½Š',bgColor:'背景é¡è‰²',borderColor:'邊框é¡è‰²',data:'數據',header:'標題',yes:'是',no:'å¦',invalidWidth:'儲存格寬度必須為數字格å¼',invalidHeight:'儲存格高度必須為數字格å¼',invalidRowSpan:'儲存格列數必須為整數格å¼',invalidColSpan:'儲存格欄數度必須為整數格å¼',chooseColor:'Choose'},row:{menu:'列',insertBefore:'å‘上æ’入列',insertAfter:'å‘下æ’入列',deleteRow:'刪除列'},column:{menu:'欄',insertBefore:'å‘å·¦æ’入欄',insertAfter:'å‘å³æ’入欄',deleteColumn:'刪除欄'}},button:{title:'按鈕屬性',text:'顯示文字 (值)',type:'é¡žåž‹',typeBtn:'按鈕 (Button)',typeSbm:'é€å‡º (Submit)',typeRst:'é‡è¨­ (Reset)'},checkboxAndRadio:{checkboxTitle:'æ ¸å–方塊屬性',radioTitle:'é¸é …按鈕屬性',value:'é¸å–值',selected:'å·²é¸å–'},form:{title:'表單屬性',menu:'表單屬性',action:'動作',method:'方法',encoding:'表單編碼'},select:{title:'清單/é¸å–®å±¬æ€§',selectInfo:'資訊',opAvail:'å¯ç”¨é¸é …',value:'值',size:'大å°',lines:'è¡Œ',chkMulti:'å¯å¤šé¸',opText:'顯示文字',opValue:'é¸å–值',btnAdd:'新增',btnModify:'修改',btnUp:'上移',btnDown:'下移',btnSetValue:'設為é è¨­å€¼',btnDelete:'刪除'},textarea:{title:'文字å€åŸŸå±¬æ€§',cols:'字元寬度',rows:'列數'},textfield:{title:'文字方塊屬性',name:'å稱',value:'值',charWidth:'字元寬度',maxChars:'最多字元數',type:'é¡žåž‹',typeText:'文字',typePass:'密碼'},hidden:{title:'éš±è—欄ä½å±¬æ€§',name:'å稱',value:'值'},image:{title:'å½±åƒå±¬æ€§',titleButton:'å½±åƒæŒ‰éˆ•å±¬æ€§',menu:'å½±åƒå±¬æ€§',infoTab:'å½±åƒè³‡è¨Š',btnUpload:'上傳至伺æœå™¨',upload:'上傳',alt:'替代文字',lockRatio:'等比例',resetSize:'é‡è¨­ç‚ºåŽŸå¤§å°',border:'邊框',hSpace:'æ°´å¹³è·é›¢',vSpace:'åž‚ç›´è·é›¢',alertUrl:'è«‹è¼¸å…¥å½±åƒ URL',linkTab:'超連çµ',button2Img:'è¦æŠŠå½±åƒæŒ‰éˆ•æ”¹æˆå½±åƒå—Žï¼Ÿ',img2Button:'è¦æŠŠå½±åƒæ”¹æˆå½±åƒæŒ‰éˆ•å—Žï¼Ÿ',urlMissing:'Image source URL is missing.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'Flash 屬性',propertiesTab:'屬性',title:'Flash 屬性',chkPlay:'自動播放',chkLoop:'é‡è¤‡',chkMenu:'é–‹å•Ÿé¸å–®',chkFull:'啟動全螢幕顯示',scale:'縮放',scaleAll:'全部顯示',scaleNoBorder:'無邊框',scaleFit:'精確符åˆ',access:'å…許腳本訪å•',accessAlways:'æ°¸é ',accessSameDomain:'相åŒåŸŸå',accessNever:'æ°¸ä¸',alignAbsBottom:'絕å°ä¸‹æ–¹',alignAbsMiddle:'絕å°ä¸­é–“',alignBaseline:'基準線',alignTextTop:'文字上方',quality:'質素',qualityBest:'最好',qualityHigh:'高',qualityAutoHigh:'高(自動)',qualityMedium:'中(自動)',qualityAutoLow:'低(自動)',qualityLow:'低',windowModeWindow:'視窗',windowModeOpaque:'ä¸é€æ˜Ž',windowModeTransparent:'é€æ˜Ž',windowMode:'視窗模å¼',flashvars:'Flash 變數',bgcolor:'背景é¡è‰²',hSpace:'æ°´å¹³è·é›¢',vSpace:'åž‚ç›´è·é›¢',validateSrc:'請輸入欲連çµçš„ URL',validateHSpace:'水平間è·å¿…須為數字格å¼',validateVSpace:'åž‚ç›´é–“è·å¿…須為數字格å¼'},spellCheck:{toolbar:'拼字檢查',title:'拼字檢查',notAvailable:'抱歉,æœå‹™ç›®å‰æš«ä¸å¯ç”¨',errorLoading:'無法è¯ç³»ä¾æœå™¨: %s.',notInDic:'ä¸åœ¨å­—典中',changeTo:'更改為',btnIgnore:'忽略',btnIgnoreAll:'全部忽略',btnReplace:'å–代',btnReplaceAll:'全部å–代',btnUndo:'復原',noSuggestions:'- 無建議值 -',progress:'進行拼字檢查中…',noMispell:'拼字檢查完æˆï¼šæœªç™¼ç¾æ‹¼å­—錯誤',noChanges:'拼字檢查完æˆï¼šæœªæ›´æ”¹ä»»ä½•å–®å­—',oneChange:'拼字檢查完æˆï¼šæ›´æ”¹äº† 1 個單字',manyChanges:'拼字檢查完æˆï¼šæ›´æ”¹äº† %1 個單字',ieSpellDownload:'尚未安è£æ‹¼å­—檢查元件。您是å¦æƒ³è¦ç¾åœ¨ä¸‹è¼‰ï¼Ÿ'},smiley:{toolbar:'表情符號',title:'æ’入表情符號',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 元素'},numberedlist:'編號清單',bulletedlist:'項目清單',indent:'增加縮排',outdent:'減少縮排',justify:{left:'é å·¦å°é½Š',center:'置中',right:'é å³å°é½Š',block:'å·¦å³å°é½Š'},blockquote:'引用文字',clipboard:{title:'貼上',cutError:'ç€è¦½å™¨çš„安全性設定ä¸å…許編輯器自動執行剪下動作。請使用快æ·éµ (Ctrl/Cmd+X) 剪下。',copyError:'ç€è¦½å™¨çš„安全性設定ä¸å…許編輯器自動執行複製動作。請使用快æ·éµ (Ctrl/Cmd+C) 複製。',pasteMsg:'請使用快æ·éµ (<strong>Ctrl/Cmd+V</strong>) 貼到下方å€åŸŸä¸­ä¸¦æŒ‰ä¸‹ <strong>確定</strong>',securityMsg:'因為ç€è¦½å™¨çš„安全性設定,本編輯器無法直接存å–您的剪貼簿資料,請您自行在本視窗進行貼上動作。',pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'您想貼上的文字似乎是自 Word 複製而來,請å•æ‚¨æ˜¯å¦è¦å…ˆæ¸…除 Word çš„æ ¼å¼å¾Œå†è¡Œè²¼ä¸Šï¼Ÿ',toolbar:'自 Word 貼上',title:'自 Word 貼上',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'貼為純文字格å¼',title:'貼為純文字格å¼'},templates:{button:'樣版',title:'內容樣版',options:'Template Options',insertOption:'å–代原有內容',selectPromptMsg:'è«‹é¸æ“‡æ¬²é–‹å•Ÿçš„樣版<br> (原有的內容將會被清除):',emptyListMsg:'(無樣版)'},showBlocks:'顯示å€å¡Š',stylesCombo:{label:'樣å¼',panelTitle:'Formatting Styles',panelTitle1:'塊級元素樣å¼',panelTitle2:'å…§è¯å…ƒç´ æ¨£å¼',panelTitle3:'物件元素樣å¼'},format:{label:'æ ¼å¼',panelTitle:'æ ¼å¼',tag_p:'一般',tag_pre:'已格å¼åŒ–',tag_address:'ä½å€',tag_h1:'標題 1',tag_h2:'標題 2',tag_h3:'標題 3',tag_h4:'標題 4',tag_h5:'標題 5',tag_h6:'標題 6',tag_div:'一般 (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},iframe:{title:'IFrame Properties',toolbar:'IFrame',noUrl:'Please type the iframe URL',scrolling:'Enable scrollbars',border:'Show frame border'},font:{label:'å­—é«”',voiceLabel:'å­—é«”',panelTitle:'å­—é«”'},fontSize:{label:'大å°',voiceLabel:'文字大å°',panelTitle:'大å°'},colorButton:{textColorTitle:'文字é¡è‰²',bgColorTitle:'背景é¡è‰²',panelTitle:'Colors',auto:'自動',more:'更多é¡è‰²â€¦'},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'},scayt:{title:'å³æ™‚拼寫檢查',opera_title:'Not supported by Opera',enable:'啟用å³æ™‚拼寫檢查',disable:'關閉å³æ™‚拼寫檢查',about:'關於å³æ™‚拼寫檢查',toggle:'啟用ï¼é—œé–‰å³æ™‚拼寫檢查',options:'é¸é …',langs:'語言',moreSuggestions:'更多拼寫建議',ignore:'忽略',ignoreAll:'全部忽略',addWord:'添加單詞',emptyDic:'å­—å…¸åä¸æ‡‰ç‚ºç©º.',noSuggestions:'無建議值',optionsTab:'é¸é …',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'語言',dictionariesTab:'å­—å…¸',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'關於'},about:{title:'關於 CKEditor',dlgTitle:'關於 CKEditor',help:'Check $1 for help.',userGuide:"CKEditor User's Guide",moreInfo:'訪å•æˆ‘們的網站以ç²å–更多關於å”è­°çš„ä¿¡æ¯',copy:'Copyright &copy; $1. All rights reserved.'},maximize:'最大化',minimize:'最å°åŒ–',fakeobjects:{anchor:'錨點',flash:'Flash å‹•ç•«',iframe:'IFrame',hiddenfield:'Hidden Field',unknown:'ä¸æ˜Žç‰©ä»¶'},resize:'拖拽改變大å°',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},toolbarCollapse:'折å å·¥å…·æ ',toolbarExpand:'展开工具æ ',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'},bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'},docprops:{label:'文件屬性',title:'文件屬性',design:'Design',meta:'Meta 資料',chooseColor:'Choose',other:'<其他>',docTitle:'é é¢æ¨™é¡Œ',charset:'字元編碼',charsetOther:'其他字元編碼',charsetASCII:'ASCII',charsetCE:'中æ­èªžç³»',charsetCT:'正體中文 (Big5)',charsetCR:'斯拉夫文',charsetGR:'希臘文',charsetJP:'日文',charsetKR:'韓文',charsetTR:'土耳其文',charsetUN:'Unicode (UTF-8)',charsetWE:'西æ­èªžç³»',docType:'文件類型',docTypeOther:'其他文件類型',xhtmlDec:'åŒ…å« XHTML 定義',bgColor:'背景é¡è‰²',bgImage:'背景影åƒ',bgFixed:'浮水å°',txtColor:'文字é¡è‰²',margin:'é é¢é‚Šç•Œ',marginTop:'上',marginLeft:'å·¦',marginRight:'å³',marginBottom:'下',metaKeywords:'文件索引關éµå­— (用åŠå½¢é€—號[,]分隔)',metaDescription:'文件說明',metaAuthor:'作者',metaCopyright:'版權所有',previewHtml:'<p>This is some <strong>sample text</strong>. You are using <a href="javascript:void(0)">CKEditor</a>.</p>'}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js
deleted file mode 100644
index 3052e01..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.dialog.add('a11yHelp',function(a){var b=a.lang.accessibilityHelp,c=CKEDITOR.tools.getNextId(),d={8:'BACKSPACE',9:'TAB',13:'ENTER',16:'SHIFT',17:'CTRL',18:'ALT',19:'PAUSE',20:'CAPSLOCK',27:'ESCAPE',33:'PAGE UP',34:'PAGE DOWN',35:'END',36:'HOME',37:'LEFT ARROW',38:'UP ARROW',39:'RIGHT ARROW',40:'DOWN ARROW',45:'INSERT',46:'DELETE',91:'LEFT WINDOW KEY',92:'RIGHT WINDOW KEY',93:'SELECT KEY',96:'NUMPAD 0',97:'NUMPAD 1',98:'NUMPAD 2',99:'NUMPAD 3',100:'NUMPAD 4',101:'NUMPAD 5',102:'NUMPAD 6',103:'NUMPAD 7',104:'NUMPAD 8',105:'NUMPAD 9',106:'MULTIPLY',107:'ADD',109:'SUBTRACT',110:'DECIMAL POINT',111:'DIVIDE',112:'F1',113:'F2',114:'F3',115:'F4',116:'F5',117:'F6',118:'F7',119:'F8',120:'F9',121:'F10',122:'F11',123:'F12',144:'NUM LOCK',145:'SCROLL LOCK',186:'SEMI-COLON',187:'EQUAL SIGN',188:'COMMA',189:'DASH',190:'PERIOD',191:'FORWARD SLASH',192:'GRAVE ACCENT',219:'OPEN BRACKET',220:'BACK SLASH',221:'CLOSE BRAKET',222:'SINGLE QUOTE'};d[CKEDITOR.ALT]='ALT';d[CKEDITOR.SHIFT]='SHIFT';d[CKEDITOR.CTRL]='CTRL';var e=[CKEDITOR.ALT,CKEDITOR.SHIFT,CKEDITOR.CTRL];function f(j){var k,l,m=[];for(var n=0;n<e.length;n++){l=e[n];k=j/e[n];if(k>1&&k<=2){j-=l;m.push(d[l]);}}m.push(d[j]||String.fromCharCode(j));return m.join('+');};var g=/\$\{(.*?)\}/g;function h(j,k){var l=a.config.keystrokes,m,n=l.length;for(var o=0;o<n;o++){m=l[o];if(m[1]==k)break;}return f(m[0]);};function i(){var j='<div class="cke_accessibility_legend" role="document" aria-labelledby="'+c+'_arialbl" tabIndex="-1">%1</div>'+'<span id="'+c+'_arialbl" class="cke_voice_label">'+b.contents+' </span>',k='<h1>%1</h1><dl>%2</dl>',l='<dt>%1</dt><dd>%2</dd>',m=[],n=b.legend,o=n.length;for(var p=0;p<o;p++){var q=n[p],r=[],s=q.items,t=s.length;for(var u=0;u<t;u++){var v=s[u],w;w=l.replace('%1',v.name).replace('%2',v.legend.replace(g,h));r.push(w);}m.push(k.replace('%1',q.name).replace('%2',r.join('')));}return j.replace('%1',m.join(''));};return{title:b.title,minWidth:600,minHeight:400,contents:[{id:'info',label:a.lang.common.generalTab,expand:true,elements:[{type:'html',id:'legends',style:'white-space:normal;',focus:function(){},html:i()+'<style type="text/css">'+'.cke_accessibility_legend'+'{'+'width:600px;'+'height:400px;'+'padding-right:5px;'+'overflow-y:auto;'+'overflow-x:hidden;'+'}'+'.cke_browser_quirks .cke_accessibility_legend,'+'.cke_browser_ie6 .cke_accessibility_legend'+'{'+'height:390px'+'}'+'.cke_accessibility_legend *'+'{'+'white-space:normal;'+'}'+'.cke_accessibility_legend h1'+'{'+'font-size: 20px;'+'border-bottom: 1px solid #AAA;'+'margin: 5px 0px 15px;'+'}'+'.cke_accessibility_legend dl'+'{'+'margin-left: 5px;'+'}'+'.cke_accessibility_legend dt'+'{'+'font-size: 13px;'+'font-weight: bold;'+'}'+'.cke_accessibility_legend dd'+'{'+'margin:10px'+'}'+'</style>'}]}],buttons:[CKEDITOR.dialog.cancelButton]};
-});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/_translationstatus.txt b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/_translationstatus.txt
deleted file mode 100644
index a193328..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/_translationstatus.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-
-cs.js Found: 30 Missing: 0
-cy.js Found: 30 Missing: 0
-da.js Found: 12 Missing: 18
-de.js Found: 30 Missing: 0
-el.js Found: 25 Missing: 5
-eo.js Found: 30 Missing: 0
-fa.js Found: 30 Missing: 0
-fi.js Found: 30 Missing: 0
-fr.js Found: 30 Missing: 0
-gu.js Found: 12 Missing: 18
-he.js Found: 30 Missing: 0
-it.js Found: 30 Missing: 0
-ku.js Found: 30 Missing: 0
-lv.js Found: 30 Missing: 0
-mk.js Found: 5 Missing: 25
-nb.js Found: 30 Missing: 0
-nl.js Found: 30 Missing: 0
-no.js Found: 30 Missing: 0
-pt-br.js Found: 30 Missing: 0
-ro.js Found: 6 Missing: 24
-sk.js Found: 30 Missing: 0
-tr.js Found: 30 Missing: 0
-ug.js Found: 27 Missing: 3
-vi.js Found: 6 Missing: 24
-zh-cn.js Found: 30 Missing: 0
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/cs.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/cs.js
deleted file mode 100644
index fab0e1b..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/cs.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','cs',{accessibilityHelp:{title:'Instrukce pro přístupnost',contents:'Obsah nápovÄ›dy. Pro uzavÅ™ení tohoto dialogu stisknÄ›te klávesu ESC.',legend:[{name:'Obecné',items:[{name:'Panel nástrojů editoru',legend:'StisknÄ›te${toolbarFocus} k procházení panelu nástrojů. PÅ™ejdÄ›te na další a pÅ™edchozí skupiny pomocí TAB a SHIFT-TAB. PÅ™echod na další a pÅ™edchozí tlaÄítko panelu nástrojů je pomocí Å IPKA VPRAVO nebo Å IPKA VLEVO. Stisknutím mezerníku nebo klávesy ENTER tlaÄítko aktivujete.'},{name:'Dialogové okno editoru',legend:'UvnitÅ™ dialogového okna stisknÄ›te TAB pro pÅ™esunutí na další pole, stisknÄ›te SHIFT + TAB pro pÅ™esun na pÅ™edchozí pole, stisknÄ›te ENTER pro odeslání dialogu, stisknÄ›te ESC pro jeho zruÅ¡ení. Pro dialogová okna, která mají mnoho karet stisknÄ›te ALT + F10 pr oprocházení seznamu karet. Pak se pÅ™esuňte na další kartu pomocí TAB nebo Å IPKA VPRAVO. Pro pÅ™esun na pÅ™edchozí stisknÄ›te SHIFT + TAB nebo Å IPKA VLEVO. StisknÄ›te MEZERNÃK nebo ENTER pro vybrání stránky karet.'},{name:'Kontextové menu editoru',legend:'StisknÄ›te ${contextMenu} nebo klávesu APPLICATION k otevÅ™ení kontextového menu. Pak se pÅ™esuňte na další možnost menu pomocí TAB nebo Å IPKY DOLÅ®. PÅ™esuňte se na pÅ™edchozí možnost pomocí SHIFT+TAB nebo Å IPKY NAHORU. StisknÄ›te MEZERNÃK nebo ENTER pro zvolení možnosti menu. Podmenu souÄasné možnosti otevÅ™ete pomocí MEZERNÃKU nebo ENTER Äi Å IPKY DOLEVA. Kontextové menu uzavÅ™ete stiskem ESC.'},{name:'RámeÄek seznamu editoru',legend:'UvnitÅ™ rámeÄku seznamu se pÅ™esunete na další položku menu pomocí TAB nebo Å IPKA DOLÅ®. Na pÅ™edchozí položku se pÅ™esunete SHIFT + TAB nebo Å IPKA NAHORU. StisknÄ›te MEZERNÃK nebo ENTER pro zvolení možnosti seznamu. StisknÄ›te ESC pro uzavÅ™ení seznamu.'},{name:'LiÅ¡ta cesty prvku v editoru',legend:'StisknÄ›te ${elementsPathFocus} pro procházení liÅ¡ty cesty prvku. Na další tlaÄítko prvku se pÅ™esunete pomocí TAB nebo Å IPKA VPRAVO. Na pÅ™edchozí položku se pÅ™esunete pomocí SHIFT + TAB nebo Å IPKA VLEVO. StisknÄ›te MEZERNÃK nebo ENTER pro vybrání prvku v editoru.'}]},{name:'Příkazy',items:[{name:' Příkaz ZpÄ›t',legend:'StisknÄ›te ${undo}'},{name:' Příkaz Znovu',legend:'StisknÄ›te ${redo}'},{name:' Příkaz TuÄné',legend:'StisknÄ›te ${bold}'},{name:' Příkaz Kurzíva',legend:'StisknÄ›te ${italic}'},{name:' Příkaz Podtržení',legend:'StisknÄ›te ${underline}'},{name:' Příkaz Odkaz',legend:'StisknÄ›te ${link}'},{name:' Příkaz Skrýt panel nástrojů',legend:'StisknÄ›te ${toolbarCollapse}'},{name:' NápovÄ›da přístupnosti',legend:'StisknÄ›te ${a11yHelp}'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/cy.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/cy.js
deleted file mode 100644
index a9a5b00..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/cy.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','cy',{accessibilityHelp:{title:'Canllawiau Hygyrchedd',contents:'Cynnwys Cymorth. I gau y deialog hwn, pwyswch ESC.',legend:[{name:'Cyffredinol',items:[{name:'Bar Offer y Golygydd',legend:"Pwyswch $ {toolbarFocus} i fynd at y bar offer. Symudwch i'r grŵp bar offer nesaf a blaenorol gyda TAB a SHIFT-TAB. Symudwch i'r botwm bar offer nesaf a blaenorol gyda SAETH DDE neu SAETH CHWITH. Pwyswch SPACE neu ENTER i wneud botwm y bar offer yn weithredol."},{name:'Deialog y Golygydd',legend:"Tu mewn i'r deialog, pwyswch TAB i fynd i'r maes nesaf ar y deialog, pwyswch SHIFT + TAB i symud i faes blaenorol, pwyswch ENTER i gyflwyno'r deialog, pwyswch ESC i ddiddymu'r deialog. Ar gyfer deialogau sydd â thudalennau aml-tab, pwyswch ALT + F10 i lywio'r tab-restr. Yna symudwch i'r tab nesaf gyda TAB neu SAETH DDE. Symudwch i dab blaenorol gyda SHIFT + TAB neu'r SAETH CHWITH. Pwyswch SPACE neu ENTER i ddewis y dudalen tab."},{name:'Dewislen Cyd-destun y Golygydd',legend:"Pwyswch $ {contextMenu} neu'r ALLWEDD 'APPLICATION' i agor y ddewislen cyd-destun. Yna symudwch i'r opsiwn ddewislen nesaf gyda'r TAB neu'r SAETH I LAWR. Symudwch i'r opsiwn blaenorol gyda SHIFT + TAB neu'r SAETH I FYNY. Pwyswch SPACE neu ENTER i ddewis yr opsiwn ddewislen. Agorwch is-dewislen yr opsiwn cyfredol gyda SPACE neu ENTER neu SAETH DDE. Ewch yn ôl i'r eitem ar y ddewislen uwch gydag ESC neu SAETH CHWITH. Ceuwch y ddewislen cyd-destun gydag ESC."},{name:'Blwch Rhestr y Golygydd',legend:"Tu mewn rhestr-bocs, ewch i'r eitem rhestr nesaf gyda TAB neu'r SAETH I LAWR. Symudwch i restr eitem flaenorol gyda SHIFT + TAB neu SAETH I FYNY. Pwyswch SPACE neu ENTER i ddewis yr opsiwn o'r rhestr. Pwyswch ESC i gau'r rhestr."},{name:'Bar Llwybr Elfen y Golygydd',legend:"Pwyswch $ {elementsPathFocus} i fynd i'r elfennau llwybr bar. Symudwch i fotwm yr elfen nesaf gyda TAB neu SAETH DDE. Symudwch i fotwm blaenorol gyda SHIFT + TAB neu SAETH CHWITH. Pwyswch SPACE neu ENTER i ddewis yr elfen yn y golygydd."}]},{name:'Gorchmynion',items:[{name:'Gorchymyn dadwneud',legend:'Pwyswch ${undo}'},{name:'Gorchymyn ailadrodd',legend:'Pwyswch ${redo}'},{name:'Gorchymyn Bras',legend:'Pwyswch ${bold}'},{name:'Gorchymyn italig',legend:'Pwyswch ${italig}'},{name:'Gorchymyn tanlinellu',legend:'Pwyso ${underline}'},{name:'Gorchymyn dolen',legend:'Pwyswch ${link}'},{name:"Gorchymyn Cwympo'r Dewislen",legend:'Pwyswch ${toolbarCollapse}'},{name:'Cymorth Hygyrchedd',legend:'Pwyswch ${a11yHelp}'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/da.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/da.js
deleted file mode 100644
index 1f61509..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/da.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','da',{accessibilityHelp:{title:'Tilgængelighedsinstrukser',contents:'Help Contents. To close this dialog press ESC.',legend:[{name:'Generelt',items:[{name:'Editor værktøjslinje',legend:'Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.'},{name:'Editor Dialog',legend:'Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.'},{name:'Editor Context Menu',legend:'Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.'},{name:'Editor List Box',legend:'Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.'},{name:'Editor Element Path Bar',legend:'Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.'}]},{name:'Kommandoer',items:[{name:'Fortryd kommando',legend:'Klik på ${undo}'},{name:'Gentag kommando',legend:'Klik ${redo}'},{name:' Bold command',legend:'Klik ${bold}'},{name:' Italic command',legend:'Press ${italic}'},{name:' Underline command',legend:'Klik ${underline}'},{name:' Link command',legend:'Klik ${link}'},{name:' Toolbar Collapse command',legend:'Press ${toolbarCollapse}'},{name:' Accessibility Help',legend:'Kilk ${a11yHelp}'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/de.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/de.js
deleted file mode 100644
index 12f2e8e..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/de.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','de',{accessibilityHelp:{title:'Barrierefreiheitinformationen',contents:"Hilfeinhalt. Um den Dialog zu schliessen die Taste 'ESC' drücken.",legend:[{name:'Allgemein',items:[{name:'Editor Symbolleiste',legend:'Drücken Sie ${toolbarFocus} auf der Symbolleiste. Gehen Sie zur nächsten oder vorherigen Symbolleistengruppe mit TAB und SHIFT-TAB. Gehen Sie zur nächsten oder vorherigen Symbolleiste auf die Schaltfläche mit dem RECHTS- oder LINKS-Pfeil. Drücken Sie die Leertaste oder Eingabetaste, um die Schaltfläche in der Symbolleiste aktivieren.'},{name:'Editor Dialog',legend:'Innerhalb des Dialogs drücken Sie TAB um zum nächsten Dialogfeld zu gelangen, drücken Sie SHIFT-TAG um zum vorherigen Feld zu wechseln, drücken Sie ENTER um den Dialog abzusenden und ESC um den Dialog zu abzubrechen. Um zwischen den Reitern innerhalb eines Dialogs zu wechseln drücken sie ALT-F10. Um zum nächsten Reiter zu gelangen können Sie TAB oder die rechte Pfeiltaste. Zurück gelangt man mit SHIFT-TAB oder der linken Pfeiltaste. Mit der Leertaste oder Enter kann man den Reiter auswählen.'},{name:'Editor Kontextmenü',legend:'Dürcken Sie ${contextMenu} oder die Anwendungstaste um das Kontextmenü zu öffnen. Man kann die Pfeiltasten zum Wechsel benutzen. Mit der Leertaste oder der Enter-Taste kann man den Menüpunkt aufrufen. Schliessen Sie das Kontextmenü mit der ESC-Taste.'},{name:'Editor Listen',legend:'Innerhalb einer Listenbox kann man mit der TAB-Taste oder den Pfeilrunter-Taste den nächsten Menüeintrag wählen. Mit der Shift-TAB Tastenkombination oder der Pfeilhoch-Taste gelangt man zum vorherigen Menüpunkt. Mit der Leertaste oder Enter kann man den Menüpunkt auswählen. Drücken Sie ESC zum Verlassen des Menüs.'},{name:'Editor Elementpfadleiste',legend:'Drücken Sie ${elementsPathFocus} um sich durch die Pfadleiste zu bewegen. Um zum nächsten Element zu gelangen drücken Sie TAB oder die Pfeilrechts-Taste. Zum vorherigen Element gelangen Sie mit der SHIFT-TAB oder der Pfeillinks-Taste. Drücken Sie die Leertaste oder Enter um das Element auszuwählen.'}]},{name:'Befehle',items:[{name:'Wiederholen Befehl',legend:'Drücken Sie ${undo}'},{name:'Rückgängig Befehl',legend:'Drücken Sie ${redo}'},{name:'Fettschrift Befehl',legend:'Drücken Sie ${bold}'},{name:'Italic Befehl',legend:'Drücken Sie ${italic}'},{name:'Unterstreichung Befehl',legend:'Drücken Sie ${underline}'},{name:'Link Befehl',legend:'Drücken Sie ${link}'},{name:'Symbolleiste zuammenklappen Befehl',legend:'Drücken Sie ${toolbarCollapse}'},{name:'Eingabehilfen',legend:'Drücken Sie ${a11yHelp}'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/el.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/el.js
deleted file mode 100644
index 6ebfa0f..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/el.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','el',{accessibilityHelp:{title:'Οδηγίες ΠÏοσβασιμότητας',contents:'ΠεÏιεχόμενα Βοήθειας. Πατήστε ESC για κλείσιμο.',legend:[{name:'Γενικά',items:[{name:'ΕÏγαλειοθήκη ΕπεξεÏγαστή',legend:'Πατήστε ${toolbarFocus} για να πεÏιηγηθείτε στην γÏαμμή εÏγαλείων. Μετακινηθείτε ανάμεσα στις ομάδες της γÏαμμής εÏγαλείων με TAB και Shift-TAB. Μετακινηθείτε ανάμεσα στα κουμπία εÏγαλείων με ΔΕΞΙ και ΑΡΙΣΤΕΡΟ ΒΕΛΑΚΙ. Πατήστε ΚΕÎΟ ή ENTER για να ενεÏγοποιήσετε το ενεÏγό κουμπί εÏγαλείου.'},{name:'ΠαÏάθυÏο Διαλόγου ΕπεξεÏγαστή',legend:'Μέσα σε ένα παÏάθυÏο διαλόγου, πατήστε TAB για να μεταβείτε στο επόμενο πεδίο ή SHIFT + TAB για να μεταβείτε στο Ï€ÏοηγοÏμενο. Πατήστε ENTER για να υποβάλετε την φόÏμα. Πατήστε ESC για να ακυÏώσετε την διαδικασία της φόÏμας. Για παÏάθυÏα διαλόγων που έχουν πολλές σελίδες σε καÏτέλες πατήστε ALT + F10 για να μεταβείτε στην λίστα των καÏτέλων. Στην συνέχεια μποÏείτε να μεταβείτε στην επόμενη καÏτέλα πατώντας TAB ή RIGHT ARROW. ΜποÏείτε να μεταβείτε στην Ï€ÏοηγοÏμενη καÏτέλα πατώντας SHIFT + TAB ή LEFT ARROW. Πατήστε SPACE ή ENTER για να επιλέξετε την καÏτέλα για Ï€Ïοβολή.'},{name:'Αναδυόμενο ÎœÎµÎ½Î¿Ï Î•Ï€ÎµÎ¾ÎµÏγαστή',legend:'Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.'},{name:'Editor List Box',legend:'Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.'},{name:'Editor Element Path Bar',legend:'Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.'}]},{name:'Εντολές',items:[{name:' Εντολή αναίÏεσης',legend:'Πατήστε ${undo}'},{name:' Εντολή επανάληψης',legend:'Πατήστε ${redo}'},{name:' Εντολή έντονης γÏαφής',legend:'Πατήστε ${bold}'},{name:' Εντολή πλάγιας γÏαφής',legend:'Πατήστε ${italic}'},{name:' Εντολή υπογÏάμμισης',legend:'Πατήστε ${underline}'},{name:' Εντολή συνδέσμου',legend:'Πατήστε ${link}'},{name:' Εντολή ΣÏμπτηξης ΕÏγαλειοθήκης',legend:'Πατήστε ${toolbarCollapse}'},{name:' Βοήθεια ΠÏοσβασιμότητας',legend:'Πατήστε ${a11yHelp}'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/en.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/en.js
deleted file mode 100644
index 86100ff..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/en.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','en',{accessibilityHelp:{title:'Accessibility Instructions',contents:'Help Contents. To close this dialog press ESC.',legend:[{name:'General',items:[{name:'Editor Toolbar',legend:'Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.'},{name:'Editor Dialog',legend:'Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.'},{name:'Editor Context Menu',legend:'Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.'},{name:'Editor List Box',legend:'Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.'},{name:'Editor Element Path Bar',legend:'Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.'}]},{name:'Commands',items:[{name:' Undo command',legend:'Press ${undo}'},{name:' Redo command',legend:'Press ${redo}'},{name:' Bold command',legend:'Press ${bold}'},{name:' Italic command',legend:'Press ${italic}'},{name:' Underline command',legend:'Press ${underline}'},{name:' Link command',legend:'Press ${link}'},{name:' Toolbar Collapse command',legend:'Press ${toolbarCollapse}'},{name:' Accessibility Help',legend:'Press ${a11yHelp}'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/eo.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/eo.js
deleted file mode 100644
index f1f77fa..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/eo.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','eo',{accessibilityHelp:{title:'Uzindikoj pri atingeblo',contents:'Helpilenhavo. Por fermi tiun dialogon, premu la ESKAPAN klavon.',legend:[{name:'Äœeneralaĵoj',items:[{name:'Ilbreto de la redaktilo',legend:'Premu ${toolbarFocus} por atingi la ilbreton. MoviÄu al la sekva aÅ­ antaÅ­a grupoj de la ilbreto per la klavoj TABA kaj MAJUSKLIGA-TABA. MoviÄu al la sekva aÅ­ antaÅ­a butonoj de la ilbreto per la klavoj SAGO DEKSTREN kaj SAGO MALDEKSTREN. Premu la SPACETklavon aÅ­ la ENENklavon por aktivigi la ilbretbutonon.'},{name:'Redaktildialogo',legend:'En dialogo, premu la TABAN klavon por navigi al la sekva dialogkampo, premu la MAJUSKLIGAN + TABAN klavojn por reveni al la antaÅ­a kampo, premu la ENENklavon por sendi la dialogon, premu la ESKAPAN klavon por nuligi la dialogon. Por dialogoj kun pluraj retpaÄoj sub langetoj, premu ALT + F10 por navigi al la langetlisto. Poste moviÄu al la sekva langeto per la klavo TABA aÅ­ SAGO DEKSTREN. MoviÄu al la antaÅ­a langeto per la klavoj MAJUSKLIGA + TABA aÅ­ SAGO MALDEKSTREN. Premu la SPACETklavon aÅ­ la ENENklavon por selekti la langetretpaÄon.'},{name:'Kunteksta menuo de la redaktilo',legend:'Premu ${contextMenu} aÅ­ entajpu la KLAVKOMBINAÄ´ON por malfermi la kuntekstan menuon. Poste moviÄu al la sekva opcio de la menuo per la klavoj TABA aÅ­ SAGO SUBEN. MoviÄu al la antaÅ­a opcio per la klavoj MAJUSKLGA + TABA aÅ­ SAGO SUPREN. Premu la SPACETklavon aÅ­ ENENklavon por selekti la menuopcion. Malfermu la submenuon de la kuranta opcio per la SPACETklavo aÅ­ la ENENklavo aÅ­ la SAGO DEKSTREN. Revenu al la elemento de la patra menuo per la klavoj ESKAPA aÅ­ SAGO MALDEKSTREN. Fermu la kuntekstan menuon per la ESKAPA klavo.'},{name:'Fallisto de la redaktilo',legend:'En fallisto, moviÄu al la sekva listelemento per la klavoj TABA aÅ­ SAGO SUBEN. MoviÄu al la antaÅ­a listelemento per la klavoj MAJUSKLIGA + TABA aÅ­ SAGO SUPREN. Premu la SPACETklavon aÅ­ ENENklavon por selekti la opcion en la listo. Premu la ESKAPAN klavon por fermi la falmenuon.'},{name:'Breto indikanta la vojon al la redaktilelementoj',legend:'Premu ${elementsPathFocus} por navigi al la breto indikanta la vojon al la redaktilelementoj. MoviÄu al la butono de la sekva elemento per la klavoj TABA aÅ­ SAGO DEKSTREN. MoviÄu al la butono de la antaÅ­a elemento per la klavoj MAJUSKLIGA + TABA aÅ­ SAGO MALDEKSTREN. Premu la SPACETklavon aÅ­ ENENklavon por selekti la elementon en la redaktilo.'}]},{name:'Komandoj',items:[{name:'Komando malfari',legend:'Premu ${undo}'},{name:'Komando refari',legend:'Premu ${redo}'},{name:'Komando grasa',legend:'Premu ${bold}'},{name:'Komando kursiva',legend:'Premu ${italic}'},{name:'Komando substreki',legend:'Premu ${underline}'},{name:'Komando ligilo',legend:'Premu ${link}'},{name:'Komando faldi la ilbreton',legend:'Premu ${toolbarCollapse}'},{name:'Helpilo pri atingeblo',legend:'Premu ${a11yHelp}'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/fa.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/fa.js
deleted file mode 100644
index 57b2f50..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/fa.js
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang( 'a11yhelp', 'fa',
-{
- accessibilityHelp :
- {
- title : 'دستورالعمل‌های دسترسی',
- contents : 'راهنمای Ùهرست مطالب. برای بستن این کادر محاوره‌ای ESC را Ùشار دهید.',
- legend :
- [
- {
- name : 'عمومی',
- items :
- [
- {
- name : 'نوار ابزار ویرایشگر',
- legend:
- '${toolbarFocus} را برای باز کردن نوار ابزار بÙشارید. با کلید Tab Ùˆ Shif-Tab در مجموعه نوار ابزار بعدی Ùˆ قبلی حرکت کنید. برای حرکت در کلید نوار ابزار قبلی Ùˆ بعدی با کلید جهت‌نمای راست Ùˆ Ú†Ù¾ جابجا شوید. کلید Space یا Enter را برای Ùعال کردن کلید نوار ابزار بÙشارید.'
- },
-
- {
- name : 'پنجره محاوره‌ای ویرایشگر',
- legend :
- 'در داخل یک پنجره محاوره‌ای، کلید Tab را بÙشارید تا به پنجره‌ی بعدی بروید، Shift+Tab برای حرکت به Ùیلد قبلی، Ùشردن Enter برای ثبت اطلاعات پنجره‌، Ùشردن Esc برای لغو پنجره محاوره‌ای Ùˆ برای پنجره‌هایی Ú©Ù‡ چندین برگه دارند، Ùشردن Alt+F10 جهت رÙتن به Tab-List. در نهایت حرکت به برگه بعدی با Tab یا کلید جهت‌نمای راست. حرکت به برگه قبلی با Shift+Tab یا کلید جهت‌نمای Ú†Ù¾. Ùشردن Space یا Enter برای انتخاب یک برگه.'
- },
-
- {
- name : 'منوی متنی ویرایشگر',
- legend :
- '${contextMenu} یا کلید برنامه‌های کاربردی را برای باز کردن منوی متن را بÙشارید. سپس می‌توانید برای حرکت به گزینه بعدی منو با کلید Tab Ùˆ یا کلید جهت‌نمای پایین جابجا شوید. حرکت به گزینه قبلی با Shift+Tab یا کلید جهت‌نمای بالا. Ùشردن Space یا Enter برای انتخاب یک گزینه از منو. باز کردن زیر شاخه گزینه منو جاری با کلید Space یا Enter Ùˆ یا کلید جهت‌نمای راست Ùˆ Ú†Ù¾. بازگشت به منوی والد با کلید Esc یا کلید جهت‌نمای Ú†Ù¾. بستن منوی متن با Esc.'
- },
-
- {
- name : 'جعبه Ùهرست ویرایشگر',
- legend :
- 'در داخل جعبه لیست، قلم دوم از اقلام لیست بعدی را با TAB Ùˆ یا Arrow Down حرکت دهید. انتقال به قلم دوم از اقلام لیست قبلی را با SHIFT + TAB یا UP ARROW. کلید Space یا ENTER را برای انتخاب گزینه لیست بÙشارید. کلید ESC را برای بستن جعبه لیست بÙشارید.'
- },
-
- {
- name : 'ویرایشگر عنصر نوار راه',
- legend :
- 'برای رÙتن به مسیر عناصر ${elementsPathFocus} را بÙشارید. حرکت به کلید عنصر بعدی با کلید Tab یا کلید جهت‌نمای راست. برگشت به کلید قبلی با Shift+Tab یا کلید جهت‌نمای Ú†Ù¾. Ùشردن Space یا Enter برای انتخاب یک عنصر در ویرایشگر.'
- }
- ]
- },
- {
- name : 'Ùرمان‌ها',
- items :
- [
- {
- name : 'بازگشت Ùرمان',
- legend : 'Ùشردن ${undo}'
- },
- {
- name : 'انجام مجدد Ùرمان',
- legend : 'Ùشردن ${redo}'
- },
- {
- name : 'Ùرمان متن درشت',
- legend : 'Ùشردن ${bold}'
- },
- {
- name : 'Ùرمان متن کج',
- legend : 'Ùشردن ${italic}'
- },
- {
- name : 'Ùرمان متن زیرخط‌دار',
- legend : 'Ùشردن ${underline}'
- },
- {
- name : 'Ùرمان پیوند',
- legend : 'Ùشردن ${link}'
- },
- {
- name : 'بستن نوار ابزار Ùرمان',
- legend : 'Ùشردن ${toolbarCollapse}'
- },
- {
- name : 'راهنمای دسترسی',
- legend : 'Ùشردن ${a11yHelp}'
- }
- ]
- }
- ]
- }
-});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/fi.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/fi.js
deleted file mode 100644
index bb15e52..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/fi.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','fi',{accessibilityHelp:{title:'Saavutettavuus ohjeet',contents:'Ohjeen sisällöt. Sulkeaksesi tämän dialogin paina ESC.',legend:[{name:'Yleinen',items:[{name:'Editorin työkalupalkki',legend:'Paina ${toolbarFocus} siirtyäksesi työkalupalkkiin. Siirry seuraavaan ja edelliseen työkalupalkin ryhmään TAB ja SHIFT-TAB näppäimillä. Siirry seuraavaan ja edelliseen työkalupainikkeeseen käyttämällä NUOLI OIKEALLE tai NUOLI VASEMMALLE näppäimillä. Paina VÄLILYÖNTI tai ENTER näppäintä aktivoidaksesi työkalupainikkeen.'},{name:'Editorin dialogi',legend:'Dialogin sisällä, painamalla TAB siirryt seuraavaan dialogin kenttään, painamalla SHIFT+TAB siirryt aiempaan kenttään, painamalla ENTER lähetät dialogin, painamalla ESC peruutat dialogin. Dialogeille joissa on useita välilehtiä, paina ALT+F10 siirtyäksesi välillehtilistaan. Siirtyäksesi seuraavaan välilehteen paina TAB tai NUOLI OIKEALLE. Siirry edelliseen välilehteen painamalla SHIFT+TAB tai nuoli vasemmalle. Paina VÄLILYÖNTI tai ENTER valitaksesi välilehden.'},{name:'Editorin oheisvalikko',legend:'Paina ${contextMenu} tai SOVELLUSPAINIKETTA avataksesi oheisvalikon. Liiku seuraavaan valikon vaihtoehtoon TAB tai NUOLI ALAS näppäimillä. Siirry edelliseen vaihtoehtoon SHIFT+TAB tai NUOLI YLÖS näppäimillä. Paina VÄLILYÖNTI tai ENTER valitaksesi valikon kohdan. Avataksesi nykyisen kohdan alivalikon paina VÄLILYÖNTI tai ENTER tai NUOLI OIKEALLE painiketta. Siirtyäksesi takaisin valikon ylemmälle tasolle paina ESC tai NUOLI vasemmalle. Oheisvalikko suljetaan ESC painikkeella.'},{name:'Editorin listalaatikko',legend:'Listalaatikon sisällä siirry seuraavaan listan kohtaan TAB tai NUOLI ALAS painikkeilla. Siirry edelliseen listan kohtaan SHIFT+TAB tai NUOLI YLÖS painikkeilla. Paina VÄLILYÖNTI tai ENTER valitaksesi listan vaihtoehdon. Paina ESC sulkeaksesi listalaatikon.'},{name:'Editorin elementtipolun palkki',legend:'Paina ${elementsPathFocus} siirtyäksesi elementtipolun palkkiin. Siirry seuraavaan elementtipainikkeeseen TAB tai NUOLI OIKEALLE painikkeilla. Siirry aiempaan painikkeeseen SHIFT+TAB tai NUOLI VASEMMALLE painikkeilla. Paina VÄLILYÖNTI tai ENTER valitaksesi elementin editorissa.'}]},{name:'Komennot',items:[{name:'Peruuta komento',legend:'Paina ${undo}'},{name:'Tee uudelleen komento',legend:'Paina ${redo}'},{name:'Lihavoi komento',legend:'Paina ${bold}'},{name:'Kursivoi komento',legend:'Paina ${italic}'},{name:'Alleviivaa komento',legend:'Paina ${underline}'},{name:'Linkki komento',legend:'Paina ${link}'},{name:'Pienennä työkalupalkki komento',legend:'Paina ${toolbarCollapse}'},{name:'Saavutettavuus ohjeet',legend:'Paina ${a11yHelp}'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/fr.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/fr.js
deleted file mode 100644
index 91efbf4..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/fr.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','fr',{accessibilityHelp:{title:"Instructions pour l'accessibilité",contents:"Contenu de l'aide. Pour fermer ce dialogue, appuyez sur la touche ESC (Echappement).",legend:[{name:'Général',items:[{name:"Barre d'outils de l'éditeur",legend:"Appuyer sur ${toolbarFocus} pour accéder à la barre d'outils. Se déplacer vers les groupes suivant ou précédent de la barre d'outil avec les touches TAB et SHIFT-TAB. Se déplacer vers les boutons suivant ou précédent de la barre d'outils avec les touches FLECHE DROITE et FLECHE GAUCHE. Appuyer sur la barre d'espace ou la touche ENTRER pour activer le bouton de barre d'outils."},{name:'Dialogue de léditeur',legend:"A l'intérieur d'un dialogue, appuyer sur la touche TAB pour naviguer jusqu'au champ de dalogue suivant, appuyez sur les touches SHIFT + TAB pour revenir au champ précédent, appuyez sur la touche ENTRER pour soumettre le dialogue, appuyer sur la touche ESC pour annuler le dialogue. Pour les dialogues avec plusieurs pages d'onglets, appuyer sur ALT + F10 pour naviguer jusqu'à la liste des onglets. Puis se déplacer vers l'onglet suivant avec la touche TAB ou FLECHE DROITE. Se déplacer vers l'onglet précédent avec les touches SHIFT + TAB ou FLECHE GAUCHE. Appuyer sur la barre d'espace ou la touche ENTRER pour sélectionner la page de l'onglet."},{name:"Menu contextuel de l'éditeur",legend:"Appuyer sur ${contextMenu} ou entrer le RACCOURCI CLAVIER pour ouvrir le menu contextuel. Puis se déplacer vers l'option suivante du menu avec les touches TAB ou FLECHE BAS. Se déplacer vers l'option précédente avec les touches SHIFT+TAB ou FLECHE HAUT. appuyer sur la BARRE D'ESPACE ou la touche ENTREE pour sélectionner l'option du menu. Oovrir le sous-menu de l'option courante avec la BARRE D'ESPACE ou les touches ENTREE ou FLECHE DROITE. Revenir à l'élément de menu parent avec les touches ESC ou FLECHE GAUCHE. Fermer le menu contextuel avec ESC."},{name:"Zone de liste en menu déroulant de l'éditeur",legend:"A l'intérieur d'une liste en menu déroulant, se déplacer vers l'élément suivant de la liste avec les touches TAB ou FLECHE BAS. Se déplacer vers l'élément précédent de la liste avec les touches SHIFT + TAB ou FLECHE HAUT. Appuyer sur la BARRE D'ESPACE ou sur ENTREE pour sélectionner l'option dans la liste. Appuyer sur ESC pour fermer le menu déroulant."},{name:"Barre d'emplacement des éléments de léditeur",legend:"Appuyer sur ${elementsPathFocus} pour naviguer vers la barre d'emplacement des éléments de léditeur. Se déplacer vers le bouton d'élément suivant avec les touches TAB ou FLECHE DROITE. Se déplacer vers le bouton d'élément précédent avec les touches SHIFT+TAB ou FLECHE GAUCHE. Appuyer sur la BARRE D'ESPACE ou sur ENTREE pour sélectionner l'élément dans l'éditeur."}]},{name:'Commandes',items:[{name:' Commande défaire',legend:'Appuyer sur ${undo}'},{name:' Commande refaire',legend:'Appuyer sur ${redo}'},{name:' Commande gras',legend:'Appuyer sur ${bold}'},{name:' Commande italique',legend:'Appuyer sur ${italic}'},{name:' Commande souligné',legend:'Appuyer sur ${underline}'},{name:' Commande lien',legend:'Appuyer sur ${link}'},{name:" Commande enrouler la barre d'outils",legend:'Appuyer sur ${toolbarCollapse}'},{name:' Aide Accessibilité',legend:'Appuyer sur ${a11yHelp}'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/gu.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/gu.js
deleted file mode 100644
index 86e9686..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/gu.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','gu',{accessibilityHelp:{title:'àªàª•à«àª•à«àª·à«‡àª¬àª¿àª²àª¿àªŸà«€ ની વિગતો',contents:'હેલà«àªª. આ બંધ કરવા ESC દબાવો.',legend:[{name:'જનરલ',items:[{name:'àªàª¡àª¿àªŸàª° ટૂલબાર',legend:'Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.'},{name:'àªàª¡àª¿àªŸàª° ડાયલોગ',legend:'Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.'},{name:'Editor Context Menu',legend:'Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.'},{name:'Editor List Box',legend:'Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.'},{name:'Editor Element Path Bar',legend:'Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.'}]},{name:'કમાંડસ',items:[{name:'અનà«àª¡à«àª‚ કમાંડ',legend:'$ દબાવો {undo}'},{name:'ફરી કરો કમાંડ',legend:'$ દબાવો {redo}'},{name:'બોલà«àª¦àª¨à«‹ કમાંડ',legend:'$ દબાવો {bold}'},{name:' Italic command',legend:'Press ${italic}'},{name:' Underline command',legend:'Press ${underline}'},{name:' Link command',legend:'Press ${link}'},{name:' Toolbar Collapse command',legend:'Press ${toolbarCollapse}'},{name:' Accessibility Help',legend:'Press ${a11yHelp}'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/he.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/he.js
deleted file mode 100644
index 1806ec9..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/he.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','he',{accessibilityHelp:{title:'הור×ות נגישות',contents:'הור×ות נגישות. לסגירה לחץ ×סקייפ (ESC).',legend:[{name:'כללי',items:[{name:'סרגל הכלי×',legend:'לחץ על ${toolbarFocus} כדי לנווט לסרגל הכלי×. עבור לכפתור ×”×‘× ×¢× ×ž×§×© הט×ב (TAB) ×ו ×—×¥ שמ×לי. עבור לכפתור ×”×§×•×“× ×¢× ×ž×§×© השיפט (SHIFT) + ט×ב (TAB) ×ו ×—×¥ ימני. לחץ רווח ×ו ×נטר (ENTER) כדי להפעיל ×ת הכפתור הנבחר.'},{name:'די××œ×•×’×™× (חלונות תש×ול)',legend:'בתוך די×לוג, לחץ ט×ב (TAB) כדי לנווט לשדה הב×, לחץ שיפט (SHIFT) + ט×ב (TAB) כדי לנווט לשדה הקוד×, לחץ ×נטר (ENTER) כדי לשלוח ×ת הדי×לוג, לחץ ×סקייפ (ESC) כדי לבטל. בתוך די××œ×•×’×™× ×‘×¢×œ×™ מספר ט××‘×™× (לשוניות), לחץ ×לט (ALT) + F10 כדי לנווט לשורת הט×בי×. נווט לט×ב ×”×‘× ×¢× ×˜×ב (TAB) ×ו ×—×¥ שמ×לי. עבור לט×ב ×”×§×•×“× ×¢× ×©×™×¤×˜ (SHIFT) + ט×ב (TAB) ×ו ×—×¥ שמ×לי. לחץ רווח ×ו ×נטר (ENTER) כדי להיכנס לט×ב.'},{name:'תפריט ההקשר (Context Menu)',legend:'לחץ ${contextMenu} ×ו APPLICATION KEYכדי לפתוח ×ת תפריט ההקשר. עבור ל×פשרות הב××” ×¢× ×˜×ב (TAB) ×ו ×—×¥ למטה. עבור ל×פשרות הקודמת ×¢× ×©×™×¤×˜ (SHIFT) + ט×ב (TAB) ×ו ×—×¥ למעלה. לחץ רווח ×ו ×נטר (ENTER) כדי לבחור ×ת ×”×פשרות. פתח ×ת תת התפריט (Sub-menu) של ×”×פשרות הנוכחית ×¢× ×¨×•×•×— ×ו ×נטר (ENTER) ×ו ×—×¥ שמ×לי. חזור לתפריט ×”×ב ×¢× ×סקייפ (ESC) ×ו ×—×¥ שמ×לי. סגור ×ת תפריט ההקשר ×¢× ×סקייפ (ESC).'},{name:'×ª×¤×¨×™×˜×™× ×¦×¤×™× (List boxes)',legend:'בתוך תפריט צף, עבור לפריט ×”×‘× ×¢× ×˜×ב (TAB) ×ו ×—×¥ למטה. עבור לתפריט ×”×§×•×“× ×¢× ×©×™×¤×˜ (SHIFT) + ט×ב (TAB) or ×—×¥ עליון. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.'},{name:'×¢×¥ ××œ×ž× ×˜×™× (Elements Path)',legend:'לחץ ${elementsPathFocus} כדי לנווט לעץ ×”×למנטי×. עבור לפריט ×”×‘× ×¢× ×˜×ב (TAB) ×ו ×—×¥ ימני. עבור לפריט ×”×§×•×“× ×¢× ×©×™×¤×˜ (SHIFT) + ט×ב (TAB) ×ו ×—×¥ שמ×לי. לחץ רווח ×ו ×נטר (ENTER) כדי לבחור ×ת ×”×למנט בעורך.'}]},{name:'פקודות',items:[{name:' ביטול צעד ×חרון',legend:'לחץ ${undo}'},{name:' חזרה על צעד ×חרון',legend:'לחץ ${redo}'},{name:' הדגשה',legend:'לחץ ${bold}'},{name:' הטייה',legend:'לחץ ${italic}'},{name:' הוספת קו תחתון',legend:'לחץ ${underline}'},{name:' הוספת לינק',legend:'לחץ ${link}'},{name:' כיווץ סרגל הכלי×',legend:'לחץ ${toolbarCollapse}'},{name:' הור×ות נגישות',legend:'לחץ ${a11yHelp}'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/it.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/it.js
deleted file mode 100644
index 41bb922..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/it.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','it',{accessibilityHelp:{title:'Istruzioni di Accessibilità',contents:'Contenuti di Aiuto. Per chiudere questa finestra premi ESC.',legend:[{name:'Generale',items:[{name:'Barra degli strumenti Editor',legend:'Premi ${toolbarFocus} per navigare fino alla barra degli strumenti. Muoviti tra i gruppi della barra degli strumenti con i tasti Tab e Maiusc-Tab. Spostati tra il successivo ed il precedente pulsante della barra degli strumenti usando le frecce direzionali Destra e Sinistra. Premi Spazio o Invio per attivare il pulsante della barra degli strumenti.'},{name:'Finestra Editor',legend:"All'interno di una finestra di dialogo, premi Tab per navigare fino al campo successivo della finestra di dialogo, premi Maiusc-Tab per tornare al campo precedente, premi Invio per inviare la finestra di dialogo, premi Esc per uscire. Per le finestre che hanno schede multiple, premi Alt+F10 per navigare nella lista delle schede. Quindi spostati alla scheda successiva con il tasto Tab oppure con la Freccia Destra. Torna alla scheda precedente con Maiusc+Tab oppure con la Freccia Sinistra. Premi Spazio o Invio per scegliere la scheda."},{name:'Menù contestuale Editor',legend:"Premi ${contextMenu} o TASTO APPLICAZIONE per aprire il menu contestuale. Dunque muoviti all'opzione successiva del menu con il tasto TAB o con la Freccia Sotto. Muoviti all'opzione precedente con MAIUSC+TAB o con Freccia Sopra. Premi SPAZIO o INVIO per scegliere l'opzione di menu. Apri il sottomenu dell'opzione corrente con SPAZIO o INVIO oppure con la Freccia Destra. Torna indietro al menu superiore con ESC oppure Freccia Sinistra. Chiudi il menu contestuale con ESC."},{name:'Box Lista Editor',legend:"Dentro un box-lista, muoviti al prossimo elemento della lista con TAB o con la Freccia direzionale giù. Spostati all'elemento precedente con MAIUSC+TAB oppure con Freccia direzionale sopra. Premi SPAZIO o INVIO per scegliere l'opzione della lista. Premi ESC per chiudere il box-lista."},{name:'Barra percorso elementi editor',legend:"Premi ${elementsPathFocus} per navigare tra gli elementi della barra percorso. Muoviti al prossimo pulsante di elemento con TAB o la Freccia direzionale destra. Muoviti al pulsante precedente con MAIUSC+TAB o la Freccia Direzionale Sinistra. Premi SPAZIO o INVIO per scegliere l'elemento nell'editor."}]},{name:'Comandi',items:[{name:' Annulla comando',legend:'Premi ${undo}'},{name:' Ripeti comando',legend:'Premi ${redo}'},{name:' Comando Grassetto',legend:'Premi ${bold}'},{name:' Comando Corsivo',legend:'Premi ${italic}'},{name:' Comando Sottolineato',legend:'Premi ${underline}'},{name:' Comando Link',legend:'Premi ${link}'},{name:' Comando riduci barra degli strumenti',legend:'Premi ${toolbarCollapse}'},{name:' Aiuto Accessibilità',legend:'Premi ${a11yHelp}'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/ku.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/ku.js
deleted file mode 100644
index b23021f..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/ku.js
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang( 'a11yhelp', 'ku',
-{
- accessibilityHelp :
- {
- title : 'ڕێنمای لەبەردەستدابوون',
- contents : 'پێکهاتەی یارمەتی. کلیك ESC بۆ داخستنی ئەم دیالۆگه.',
- legend :
- [
- {
- name : 'گشتی',
- items :
- [
- {
- name : 'تووڵامرازی ده‌ستكاریكه‌ر',
- legend:
- 'کلیك ${toolbarFocus} بۆ ڕابەری تووڵامراز. بۆ گواستنەوەی پێشوو داهاتووی گرووپی تووڵامرازی داگرتنی کلیلی TAB له‌گه‌ڵ‌ SHIFT-TAB. بۆ گواستنەوەی پێشوو داهاتووی دووگمەی تووڵامرازی لەڕێی کلیلی تیری دەستی ڕاست یان کلیلی تیری دەستی چەپ. کلیکی کلیلی SPACE یان ENTER بۆ چالاککردنی دووگمەی تووڵامراز.'
- },
-
- {
- name : 'دیالۆگی ده‌ستكاریكه‌ر',
- legend :
- 'لەهەمانکاتدا کەتۆ لەدیالۆگی, کلیکی کلیلی TAB بۆ ڕابەری خانەی دیالۆگێکی تر, داگرتنی کلیلی SHIFT + TAB بۆ گواستنەوەی بۆ خانەی پێشووتر, کلیكی کلیلی ENTER بۆ ڕازیکردنی دیالۆگەکە, کلیكی کلیلی ESC بۆ هەڵوەشاندنەوەی دیالۆگەکە. بۆ دیالۆگی لەبازدەری (تابی) زیاتر, کلیكی کلیلی ALT + F10 بۆ ڕابه‌ری لیستی بازده‌ره‌کان. بۆ چوونه‌ بازده‌ری تابی داهاتوو کلیكی کلیلی TAB یان کلیلی تیری ده‌ستی ڕاست. بۆچوونه‌ بازده‌ری تابی پێشوو داگرتنی کلیلی SHIFT + TAB یان کلیلی تیری ده‌ستی چه‌پ. کلیی کلیلی SPACE یان ENTER بۆ هه‌ڵبژاردنی بازده‌ر (تاب).'
- },
-
- {
- name : 'پێڕستی سه‌رنووسه‌ر',
- legend :
- 'کلیك ${contextMenu} یان دوگمه‌ی لیسته‌(Menu) بۆ کردنه‌وه‌ی لیسته‌ی ده‌ق. بۆ چوونه‌ هه‌ڵبژارده‌یه‌کی تر له‌ لیسته‌ کلیکی کلیلی TAB یان کلیلی تیری ڕوو له‌خواره‌وه‌ بۆ چوون بۆ هه‌ڵبژارده‌ی پێشوو کلیکی کلیلی SHIFT+TAB یان کلیلی تیری ڕوو له‌ سه‌ره‌وه. داگرتنی کلیلی SPACE یان ENTER بۆ هه‌ڵبژاردنی هه‌ڵبژارده‌ی لیسته‌. بۆ کردنه‌وه‌ی لقی ژێر لیسته‌ له‌هه‌ڵبژارده‌ی لیسته‌ کلیکی کلیلی SPACE یان ENTER یان کلیلی تیری ده‌ستی ڕاست. بۆ گه‌ڕانه‌وه بۆ سه‌ره‌وه‌ی لیسته‌ کلیکی کلیلی ESC یان کلیلی تیری ده‌ستی چه‌پ. بۆ داخستنی لیسته‌ کلیكی کلیلی ESC بکه.'
- },
-
- {
- name : 'لیستی سنووقی سه‌رنووسه‌ر',
- legend :
- 'له‌ناو سنوقی لیست, چۆن بۆ هه‌ڵنبژارده‌ی لیستێکی تر کلیکی کلیلی TAB یان کلیلی تیری ڕوو له‌خوار. چوون بۆ هه‌ڵبژارده‌ی لیستی پێشوو کلیکی کلیلی SHIFT + TAB یان کلیلی تیری ڕوو له‌سه‌ره‌وه‌. کلیکی کلیلی SPACE یان ENTER بۆ دیاریکردنی ‌هه‌ڵبژارده‌ی لیست. کلیکی کلیلی ESC بۆ داخستنی سنوقی لیست.'
- },
-
- {
- name : 'تووڵامرازی توخم',
- legend :
- 'کلیك ${elementsPathFocus} بۆ ڕابه‌ری تووڵامرازی توخمه‌کان. چوون بۆ دوگمه‌ی توخمێکی تر کلیکی کلیلی TAB یان کلیلی تیری ده‌ستی ڕاست. چوون بۆ دوگمه‌ی توخمی پێشوو کلیلی SHIFT+TAB یان کلیکی کلیلی تیری ده‌ستی چه‌پ. داگرتنی کلیلی SPACE یان ENTER بۆ دیاریکردنی توخمه‌که‌ له‌سه‌رنووسه.'
- }
- ]
- },
- {
- name : 'Ùه‌رمانه‌کان',
- items :
- [
- {
- name : 'Ùه‌رمانی پووچکردنه‌وه',
- legend : 'کلیك ${undo}'
- },
- {
- name : 'Ùه‌رمانی هه‌ڵگه‌ڕانه‌وه',
- legend : 'کلیك ${redo}'
- },
- {
- name : 'Ùه‌رمانی ده‌قی قه‌ڵه‌و',
- legend : 'کلیك ${bold}'
- },
- {
- name : 'Ùه‌رمانی ده‌قی لار',
- legend : 'کلیك ${italic}'
- },
- {
- name : 'Ùه‌رمانی ژێرهێڵ',
- legend : 'کلیك ${underline}'
- },
- {
- name : 'Ùه‌رمانی به‌سته‌ر',
- legend : 'کلیك ${link}'
- },
- {
- name : 'شارده‌نه‌وه‌ی تووڵامراز',
- legend : 'کلیك ${toolbarCollapse}'
- },
- {
- name : 'ده‌ستپێگه‌یشتنی یارمه‌تی',
- legend : 'کلیك ${a11yHelp}'
- }
- ]
- }
- ]
- }
-});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/lv.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/lv.js
deleted file mode 100644
index a94982b..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/lv.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','lv',{accessibilityHelp:{title:'PieejamÄ«bas instrukcija',contents:'PalÄ«dzÄ«bas saturs. Lai aizvÄ“rtu ciet Å¡o dialogu nospiediet ESC.',legend:[{name:'Galvenais',items:[{name:'Redaktora rÄ«kjosla',legend:'Nospiediet ${toolbarFocus} lai pÄrvietotos uz rÄ«kjoslu. Lai pÄrvietotos uz nÄkoÅ¡o vai iepriekÅ¡Ä“jo rÄ«kjoslas grupu izmantojiet pogu TAB un SHIFT+TAB. Lai pÄrvietotos uz nÄkoÅ¡o vai iepriekÅ¡Ä“jo rÄ«kjoslas pogu izmantojiet Kreiso vai Labo bultiņu. Nospiediet Atstarpi vai ENTER lai aktivizÄ“tu rÄ«kjosla pogu.'},{name:'Redaktora dialoga logs',legend:'Dialoga logÄ nospiediet pogu TAB lai pÄrvietotos uz nÄkoÅ¡o dialoga loga lauku, nospiediet SHIFT+TAB lai atgrieztos iepriekÅ¡Ä“jÄ laukÄ, nospiediet ENTER lai apstiprinÄtu dialoga datus, nospiediet ESC lai aizvÄ“rtu Å¡o dialogu. Dialogam kuram ir vairÄkas cilnes, nospiediet ALT+F10 lai pÄrvietotos uz nepiecieÅ¡amo cilni. Lai pÄrvietotos uz nÄkoÅ¡o cilni izmantojiet pogu TAB vai Labo bultiņu. Lai pÄrvietotos uz iepriekÅ¡Ä“jo cilni nospiediet SHIFT+TAB vai kreiso bultiņu. Nospiediet SPACE vai ENTER lai izvÄ“lÄ“tos lapas cilni.'},{name:'Redaktora satura izvÄ“le',legend:'Nospiediet ${contextMenu} vai APPLICATION KEY lai atvÄ“rtu satura izvÄ“lni. Lai pÄrvietotos uz nÄkoÅ¡o izvÄ“lnes opciju izmantojiet pogu TAB vai pogu Bultiņu uz leju. Lai pÄrvietotos uz iepriekÅ¡Ä“jo opciju izmantojiet SHIFT+TAB vai pogu Bultiņa uz augÅ¡u. Nospiediet SPACE vai ENTER lai izvelÄ“tos izvÄ“lnes opciju. Atveriet tekoÅ¡ajÄ opcija apakÅ¡izvÄ“lni ar SAPCE vai ENTER ka ari to var izdarÄ«t ar Labo bultiņu. Lai atgrieztos atpakaļ uz sakuma izvÄ“lni nospiediet ESC vai Kreiso bultiņu. Lai aizvÄ“rtu ciet izvÄ“lnes saturu nospiediet ESC.'},{name:'Redaktora saraksta lauks',legend:'Saraksta laukÄ, lai pÄrvietotos uz nÄkoÅ¡o saraksta elementu nospiediet TAB vai pogu Bultiņa uz leju. Lai pÄrvietotos uz iepriekÅ¡Ä“jo saraksta elementu nospiediet SHIFT+TAB vai pogu Bultiņa uz augÅ¡u. Nospiediet SPACE vai ENTER lai izvÄ“lÄ“tos saraksta opcijas. Nospiediet ESC lai aizvÄ“rtu saraksta lauku. '},{name:'Redaktora elementa ceļa josla',legend:'Nospiediet ${elementsPathFocus} lai pÄrvietotos uz elementa ceļa joslu. Lai pÄrvietotos uz nÄkoÅ¡o elementa pogu izmantojiet TAB vai Labo bultiņu. Lai pÄrvietotos uz iepriekÅ¡Ä“jo elementa pogu izmantojiet SHIFT + TAB vai Kreiso bultiņu. Nospiediet SPACE vai ENTER lai izvÄ“lÄ“tos elementu redaktorÄ.'}]},{name:'Komandas',items:[{name:'Komanda atcelt darbÄ«bu',legend:'Nospiediet ${undo}'},{name:'Komanda atkÄrtot darbÄ«bu',legend:'Nospiediet ${redo}'},{name:'Treknraksta komanda',legend:'Nospiediet ${bold}'},{name:'KursÄ«va komanda',legend:'Nospiediet ${italic}'},{name:'ApakÅ¡svÄ«tras komanda ',legend:'Nospiediet ${underline}'},{name:'Hipersaites komanda',legend:'Nospiediet ${link}'},{name:'RÄ«kjoslas aizvÄ“rÅ¡anas komanda',legend:'Nospiediet ${toolbarCollapse}'},{name:'PieejamÄ«bas palÄ«dzÄ«ba',legend:'Nospiediet ${a11yHelp}'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/mk.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/mk.js
deleted file mode 100644
index 183d37a..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/mk.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','mk',{accessibilityHelp:{title:'ИнÑтрукции за приÑтапноÑÑ‚',contents:'Содржина на делот за помош. За да го затворите овој дијалот притиÑнете ESC.',legend:[{name:'Општо',items:[{name:'Мени за едиторот',legend:'Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.'},{name:'Дијалот за едиторот',legend:'Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.'},{name:'Editor Context Menu',legend:'Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.'},{name:'Editor List Box',legend:'Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.'},{name:'Editor Element Path Bar',legend:'Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.'}]},{name:'Commands',items:[{name:' Undo command',legend:'Press ${undo}'},{name:' Redo command',legend:'Press ${redo}'},{name:' Bold command',legend:'Press ${bold}'},{name:' Italic command',legend:'Press ${italic}'},{name:' Underline command',legend:'Press ${underline}'},{name:' Link command',legend:'Press ${link}'},{name:' Toolbar Collapse command',legend:'Press ${toolbarCollapse}'},{name:' Accessibility Help',legend:'Press ${a11yHelp}'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/nb.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/nb.js
deleted file mode 100644
index 36cfefd..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/nb.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','nb',{accessibilityHelp:{title:'Instruksjoner for tilgjengelighet',contents:'Innhold for hjelp. Trykk ESC for å lukke denne dialogen.',legend:[{name:'Generelt',items:[{name:'Verktøylinje for editor',legend:'Trykk ${toolbarFocus} for å navigere til verktøylinjen. Flytt til neste og forrige verktøylinjegruppe med TAB og SHIFT-TAB. Flytt til neste og forrige verktøylinjeknapp med HØYRE PILTAST og VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å aktivere verktøylinjeknappen.'},{name:'Dialog for editor',legend:'Mens du er i en dialog, trykk TAB for å navigere til neste dialogfelt, press SHIFT + TAB for å flytte til forrige felt, trykk ENTER for å akseptere dialogen, trykk ESC for å avbryte dialogen. For dialoger med flere faner, trykk ALT + F10 for å navigere til listen over faner. Gå til neste fane med TAB eller HØYRE PILTAST. Gå til forrige fane med SHIFT + TAB eller VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å velge fanen.'},{name:'Kontekstmeny for editor',legend:'Trykk ${contextMenu} eller MENYKNAPP for å åpne kontekstmeny. Gå til neste alternativ i menyen med TAB eller PILTAST NED. Gå til forrige alternativ med SHIFT+TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge menyalternativet. Åpne undermenyen på valgt alternativ med MELLOMROM eller ENTER eller HØYRE PILTAST. Gå tilbake til overordnet menyelement med ESC eller VENSTRE PILTAST. Lukk kontekstmenyen med ESC.'},{name:'Listeboks for editor',legend:'I en listeboks, gå til neste alternativ i listen med TAB eller PILTAST NED. Gå til forrige alternativ i listen med SHIFT + TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge alternativet i listen. Trykk ESC for å lukke listeboksen.'},{name:'Verktøylinje for elementsti',legend:'Trykk ${elementsPathFocus} for å navigere til verktøylinjen som viser elementsti. Gå til neste elementknapp med TAB eller HØYRE PILTAST. Gå til forrige elementknapp med SHIFT+TAB eller VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å velge elementet i editoren.'}]},{name:'Kommandoer',items:[{name:'Angre',legend:'Trykk ${undo}'},{name:'Gjør om',legend:'Trykk ${redo}'},{name:'Fet tekst',legend:'Trykk ${bold}'},{name:'Kursiv tekst',legend:'Trykk ${italic}'},{name:'Understreking',legend:'Trykk ${underline}'},{name:'Link',legend:'Trykk ${link}'},{name:'Skjul verktøylinje',legend:'Trykk ${toolbarCollapse}'},{name:'Hjelp for tilgjengelighet',legend:'Trykk ${a11yHelp}'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/nl.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/nl.js
deleted file mode 100644
index 33f6587..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/nl.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','nl',{accessibilityHelp:{title:'Toegankelijkheidsinstructies',contents:'Help inhoud. Druk op ESC om dit dialoog te sluiten.',legend:[{name:'Algemeen',items:[{name:'Werkbalk tekstverwerker',legend:'Druk op ${toolbarFocus} om naar de werkbalk te navigeren. Om te schakelen naar de volgende en vorige werkbalkgroep, gebruik TAB en SHIFT+TAB. Om te schakelen naar de volgende en vorige werkbalkknop, gebruik de PIJL RECHTS en PIJL LINKS. Druk op SPATIE of ENTER om een werkbalkknop te activeren.'},{name:'Dialoog tekstverwerker',legend:'In een dialoogvenster, druk op TAB om te navigeren naar het volgende veld. Druk op SHIFT+TAB om naar het vorige veld te navigeren. Druk op ENTER om het dialoogvenster te verzenden. Druk op ESC om het dialoogvenster te sluiten. Voor dialoogvensters met meerdere tabbladen, druk op ALT+F10 om naar de tabset te navigeren. Schakel naar het volgende tabblad met TAB of PIJL RECHTS. Schakel naar het vorige tabblad met SHIFT+TAB of PIJL LINKS. Druk op SPATIE of ENTER om het tabblad te selecteren.'},{name:'Contextmenu tekstverwerker',legend:'Druk op ${contextMenu} of APPLICATION KEY om het contextmenu te openen. Schakel naar de volgende menuoptie met TAB of PIJL OMLAAG. Schakel naar de vorige menuoptie met SHIFT+TAB of PIJL OMHOOG. Druk op SPATIE of ENTER om een menuoptie te selecteren. Op een submenu van de huidige optie met SPATIE, ENTER of PIJL RECHTS. Ga terug naar de bovenliggende menuoptie met ESC of PIJL LINKS. Sluit het contextmenu met ESC.'},{name:'Keuzelijst tekstverwerker',legend:'In een keuzelijst, schakel naar het volgende item met TAB of PIJL OMLAAG. Schakel naar het vorige item met SHIFT+TAB of PIJL OMHOOG. Druk op SPATIE of ENTER om het item te selecteren. Druk op ESC om de keuzelijst te sluiten.'},{name:'Elementenpad werkbalk tekstverwerker',legend:'Druk op ${elementsPathFocus} om naar het elementenpad te navigeren. Om te schakelen naar het volgende element, gebruik TAB of PIJL RECHTS. Om te schakelen naar het vorige element, gebruik SHIFT+TAB or PIJL LINKS. Druk op SPATIE of ENTER om een element te selecteren in de tekstverwerker.'}]},{name:'Opdrachten',items:[{name:'Ongedaan maken opdracht',legend:'Druk op ${undo}'},{name:'Opnieuw uitvoeren opdracht',legend:'Druk op ${redo}'},{name:'Vetgedrukt opdracht',legend:'Druk up ${bold}'},{name:'Cursief opdracht',legend:'Druk op ${italic}'},{name:'Onderstrepen opdracht',legend:'Druk op ${underline}'},{name:'Link opdracht',legend:'Druk op ${link}'},{name:'Werkbalk inklappen opdracht',legend:'Druk op ${toolbarCollapse}'},{name:'Toegankelijkheidshulp',legend:'Druk op ${a11yHelp}'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/no.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/no.js
deleted file mode 100644
index 8e0b324..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/no.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','no',{accessibilityHelp:{title:'Instruksjoner for tilgjengelighet',contents:'Innhold for hjelp. Trykk ESC for å lukke denne dialogen.',legend:[{name:'Generelt',items:[{name:'Verktøylinje for editor',legend:'Trykk ${toolbarFocus} for å navigere til verktøylinjen. Flytt til neste og forrige verktøylinjegruppe med TAB og SHIFT-TAB. Flytt til neste og forrige verktøylinjeknapp med HØYRE PILTAST og VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å aktivere verktøylinjeknappen.'},{name:'Dialog for editor',legend:'Mens du er i en dialog, trykk TAB for å navigere til neste dialogfelt, press SHIFT + TAB for å flytte til forrige felt, trykk ENTER for å akseptere dialogen, trykk ESC for å avbryte dialogen. For dialoger med flere faner, trykk ALT + F10 for å navigere til listen over faner. Gå til neste fane med TAB eller HØYRE PILTAST. Gå til forrige fane med SHIFT + TAB eller VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å velge fanen.'},{name:'Kontekstmeny for editor',legend:'Trykk ${contextMenu} eller MENYKNAPP for å åpne kontekstmeny. Gå til neste alternativ i menyen med TAB eller PILTAST NED. Gå til forrige alternativ med SHIFT+TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge menyalternativet. Åpne undermenyen på valgt alternativ med MELLOMROM eller ENTER eller HØYRE PILTAST. Gå tilbake til overordnet menyelement med ESC eller VENSTRE PILTAST. Lukk kontekstmenyen med ESC.'},{name:'Listeboks for editor',legend:'I en listeboks, gå til neste alternativ i listen med TAB eller PILTAST NED. Gå til forrige alternativ i listen med SHIFT + TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge alternativet i listen. Trykk ESC for å lukke listeboksen.'},{name:'Verktøylinje for elementsti',legend:'Trykk ${elementsPathFocus} for å navigere til verktøylinjen som viser elementsti. Gå til neste elementknapp med TAB eller HØYRE PILTAST. Gå til forrige elementknapp med SHIFT+TAB eller VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å velge elementet i editoren.'}]},{name:'Kommandoer',items:[{name:'Angre',legend:'Trykk ${undo}'},{name:'Gjør om',legend:'Trykk ${redo}'},{name:'Fet tekst',legend:'Trykk ${bold}'},{name:'Kursiv tekst',legend:'Trykk ${italic}'},{name:'Understreking',legend:'Trykk ${underline}'},{name:'Link',legend:'Trykk ${link}'},{name:'Skjul verktøylinje',legend:'Trykk ${toolbarCollapse}'},{name:'Hjelp for tilgjengelighet',legend:'Trykk ${a11yHelp}'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/pt-br.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/pt-br.js
deleted file mode 100644
index 9d5da74..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/pt-br.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','pt-br',{accessibilityHelp:{title:'Instruções de Acessibilidade',contents:'Conteúdo da Ajuda. Para fechar este diálogo pressione ESC.',legend:[{name:'Geral',items:[{name:'Barra de Ferramentas do Editor',legend:'Pressione ${toolbarFocus} para navegar para a barra de ferramentas. Mova para o anterior ou próximo grupo de ferramentas com TAB e SHIFT-TAB. Mova para o anterior ou próximo botão com SETA PARA DIREITA or SETA PARA ESQUERDA. Pressione ESPAÇO ou ENTER para ativar o botão da barra de ferramentas.'},{name:'Diálogo do Editor',legend:'Dentro de um diálogo, pressione TAB para navegar para o próximo campo, pressione SHIFT + TAB para mover para o campo anterior, pressione ENTER para enviar o diálogo, pressione ESC para cancelar o diálogo. Para diálogos que tem múltiplas abas, pressione ALT + F10 para navegar para a lista de abas, então mova para a próxima aba com SHIFT + TAB ou SETA PARA ESQUERDA. Pressione ESPAÇO ou ENTER para selecionar a aba.'},{name:'Menu de Contexto do Editor',legend:'Pressione ${contextMenu} ou TECLA DE MENU para abrir o menu de contexto, então mova para a próxima opção com TAB ou SETA PARA BAIXO. Mova para a anterior com SHIFT+TAB ou SETA PARA CIMA. Pressione ESPAÇO ou ENTER para selecionar a opção do menu. Abra o submenu da opção atual com ESPAÇO ou ENTER ou SETA PARA DIREITA. Volte para o menu pai com ESC ou SETA PARA ESQUERDA. Feche o menu de contexto com ESC.'},{name:'Caixa de Lista do Editor',legend:'Dentro de uma caixa de lista, mova para o próximo item com TAB ou SETA PARA BAIXO. Mova para o item anterior com SHIFT + TAB ou SETA PARA CIMA. Pressione ESPAÇO ou ENTER para selecionar uma opção na lista. Pressione ESC para fechar a caixa de lista.'},{name:'Barra de Caminho do Elementos do Editor',legend:'Pressione ${elementsPathFocus} para a barra de caminho dos elementos. Mova para o próximo botão de elemento com TAB ou SETA PARA DIREITA. Mova para o botão anterior com SHIFT+TAB ou SETA PARA ESQUERDA. Pressione ESPAÇO ou ENTER para selecionar o elemento no editor.'}]},{name:'Comandos',items:[{name:' Comando Desfazer',legend:'Pressione ${undo}'},{name:' Comando Refazer',legend:'Pressione ${redo}'},{name:' Comando Negrito',legend:'Pressione ${bold}'},{name:' Comando Itálico',legend:'Pressione ${italic}'},{name:' Comando Sublinhado',legend:'Pressione ${underline}'},{name:' Comando Link',legend:'Pressione ${link}'},{name:' Comando Fechar Barra de Ferramentas',legend:'Pressione ${toolbarCollapse}'},{name:' Ajuda de Acessibilidade',legend:'Pressione ${a11yHelp}'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/ro.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/ro.js
deleted file mode 100644
index 22e52d7..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/ro.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','ro',{accessibilityHelp:{title:'Instrucțiuni de accesibilitate',contents:'Cuprins. Pentru a închide acest dialog, apăsați tasta ESC.',legend:[{name:'General',items:[{name:'Editează bara.',legend:'Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT-TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button.'},{name:'Dialog editor',legend:'Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.'},{name:'Editor meniu contextual',legend:'Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.'},{name:'Editor List Box',legend:'Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.'},{name:'Editor Element Path Bar',legend:'Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.'}]},{name:'Commands',items:[{name:' Undo command',legend:'Press ${undo}'},{name:' Redo command',legend:'Press ${redo}'},{name:' Bold command',legend:'Press ${bold}'},{name:' Italic command',legend:'Press ${italic}'},{name:' Underline command',legend:'Press ${underline}'},{name:' Link command',legend:'Press ${link}'},{name:' Toolbar Collapse command',legend:'Press ${toolbarCollapse}'},{name:' Accessibility Help',legend:'Press ${a11yHelp}'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/sk.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/sk.js
deleted file mode 100644
index d622f31..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/sk.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','sk',{accessibilityHelp:{title:'InÅ¡trukcie prístupnosti',contents:'Pomocný obsah. Pre zatvorenie tohto okna, stlaÄte ESC.',legend:[{name:'VÅ¡eobecne',items:[{name:'LiÅ¡ta nástrojov editora',legend:'StlaÄte ${toolbarFocus} pre navigáciu na liÅ¡tu nástrojov. Medzi ÄalÅ¡ou a predchádzajúcou liÅ¡tou nástrojov sa pohybujete s TAB a SHIFT-TAB. Medzi Äalším a predchádzajúcim tlaÄidlom na liÅ¡te nástrojov sa pohybujete s pravou šípkou a ľavou šípkou. StlaÄte medzerník alebo ENTER pre aktiváciu tlaÄidla liÅ¡ty nástrojov.'},{name:'Editorový dialóg',legend:'V dialogu, stlaÄte TAB pre navigáciu na ÄalÅ¡ie dialógové pole, stlaÄte STIFT + TAB pre presun na predchádzajúce pole, stlaÄte ENTER pre odoslanie dialógu, stlaÄte ESC pre zruÅ¡enie dialógu. Pre dialógy, ktoré majú viac záložiek, stlaÄte ALT + F10 pre navigácou do zoznamu záložiek. Potom sa posúvajte k ÄalÅ¡ej žáložke pomocou TAB alebo pravou šípkou. Pre presun k predchádzajúcej záložke, stlaÄte SHIFT + TAB alebo ľavú šípku. StlaÄte medzerník alebo ENTER pre vybranie záložky.'},{name:'Editorové kontextové menu',legend:'StlaÄte ${contextMenu} alebo APPLICATION KEY pre otvorenie kontextového menu. Potom sa presúvajte na ÄalÅ¡ie možnosti menu s TAB alebo dolnou šípkou. Presunte sa k predchádzajúcej možnosti s SHIFT + TAB alebo hornou šípkou. StlaÄte medzerník alebo ENTER pre výber možnosti menu. Otvorte pod-menu danej možnosti s medzerníkom, alebo ENTER, alebo pravou šípkou. Vráťte sa späť do položky rodiÄovského menu s ESC alebo ľavou šípkou. Zatvorte kontextové menu s ESC.'},{name:'Editorov box zoznamu',legend:'V boxe zoznamu, presuňte sa na ÄalÅ¡iu položku v zozname s TAB alebo dolnou šípkou. Presuňte sa k predchádzajúcej položke v zozname so SHIFT + TAB alebo hornou šípkou. StlaÄte medzerník alebo ENTER pre výber možnosti zoznamu. StlaÄte ESC pre zatvorenie boxu zoznamu.'},{name:'Editorove pásmo cesty prvku',legend:'StlaÄte ${elementsPathFocus} pre navigovanie na pásmo cesty elementu. Presuňte sa na tlaÄidlo ÄalÅ¡ieho prvku s TAB alebo pravou šípkou. Presuňte sa k predchádzajúcemu tlaÄidlu s SHIFT + TAB alebo ľavou šípkou. StlaÄte medzerník alebo ENTER pre výber prvku v editore.'}]},{name:'Príkazy',items:[{name:'VrátiÅ¥ príkazy',legend:'StlaÄte ${undo}'},{name:'Nanovo vrátiÅ¥ príkaz',legend:'StlaÄte ${redo}'},{name:'Príkaz na stuÄnenie',legend:'StlaÄte ${bold}'},{name:'Príkaz na kurzívu',legend:'StlaÄte ${italic}'},{name:'Príkaz na podÄiarknutie',legend:'StlaÄte ${underline}'},{name:'Príkaz na odkaz',legend:'StlaÄte ${link}'},{name:'Príkaz na zbalenie liÅ¡ty nástrojov',legend:'StlaÄte ${toolbarCollapse}'},{name:'Pomoc prístupnosti',legend:'StlaÄte ${a11yHelp}'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/tr.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/tr.js
deleted file mode 100644
index d5242d3..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/tr.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','tr',{accessibilityHelp:{title:'Erişilebilirlik Talimatları',contents:'Yardım içeriği. Bu pencereyi kapatmak için ESC tuşuna basın.',legend:[{name:'Genel',items:[{name:'Araç Çubuğu Editörü',legend:'Araç çubuğunda gezinmek için ${toolbarFocus} basın. TAB ve SHIFT-TAB ile önceki ve sonraki araç çubuğu grubuna taşıyın. SAĞ OK veya SOL OK ile önceki ve sonraki bir araç çubuğu düğmesini hareket ettirin. SPACE tuşuna basın veya araç çubuğu düğmesini etkinleştirmek için ENTER tuşna basın.'},{name:'Dialog Editörü',legend:'Dialog penceresi içinde, sonraki iletişim alanına gitmek için SEKME tuşuna basın, önceki alana geçmek için SHIFT + TAB tuşuna basın, pencereyi göndermek için ENTER tuşuna basın, dialog penceresini iptal etmek için ESC tuşuna basın. Birden çok sekme sayfaları olan diyalogların, sekme listesine gitmek için ALT + F10 tuşlarına basın. Sonra TAB veya SAĞ OK sonraki sekmeye taşıyın. SHIFT + TAB veya SOL OK ile önceki sekmeye geçin. Sekme sayfayı seçmek için SPACE veya ENTER tuşuna basın.'},{name:'İçerik Menü Editörü',legend:"İçerik menüsünü açmak için ${contextMenu} veya UYGULAMA TUŞU'na basın. Daha sonra SEKME veya AŞAĞI OK ile bir sonraki menü seçeneği taşıyın. SHIFT + TAB veya YUKARI OK ile önceki seçeneğe gider. Menü seçeneğini seçmek için SPACE veya ENTER tuşuna basın. Seçili seçeneğin alt menüsünü SPACE ya da ENTER veya SAĞ OK açın. Üst menü öğesini geçmek için ESC veya SOL OK ile geri dönün. ESC ile bağlam menüsünü kapatın."},{name:'Liste Kutusu Editörü',legend:'Liste kutusu içinde, bir sonraki liste öğesine SEKME VEYA AŞAĞI OK ile taşıyın. SHIFT + TAB veya YUKARI önceki liste öğesi taşıyın. Liste seçeneği seçmek için SPACE veya ENTER tuşuna basın. Liste kutusunu kapatmak için ESC tuşuna basın.'},{name:'Element Yol Çubuğu Editörü',legend:'Elementlerin yol çubuğunda gezinmek için ${ElementsPathFocus} basın. SEKME veya SAĞ OK ile sonraki element düğmesine taşıyın. SHIFT + TAB veya SOL OK önceki düğmeye hareket ettirin. Editör içindeki elementi seçmek için ENTER veya SPACE tuşuna basın.'}]},{name:'Komutlar',items:[{name:'Komutu geri al',legend:'${undo} basın'},{name:' Tekrar komutu uygula',legend:'${redo} basın'},{name:' Kalın komut',legend:'${bold} basın'},{name:' İtalik komutu',legend:'${italic} basın'},{name:' Alttan çizgi komutu',legend:'${underline} basın'},{name:' Bağlantı komutu',legend:'${link} basın'},{name:' Araç çubuğu Toplama komutu',legend:'${toolbarCollapse} basın'},{name:'Erişilebilirlik Yardımı',legend:'${a11yHelp} basın'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/ug.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/ug.js
deleted file mode 100644
index dcf9a20..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/ug.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','ug',{accessibilityHelp:{title:'قوشۇمچە چۈشەندۈرۈش',contents:'ياردەم مەزمۇنى. بۇ سۆزلەشكۈنى ياپماقچى بولسىڭىز ESC نى بÛسىڭ.',legend:[{name:'ئادەتتىكى',items:[{name:'قورال بالداق تەھرىر',legend:'${toolbarFocus} بÛسىلسا قورال بالداققا ÙŠÛتەكلەيدۇ، TAB ياكى SHIFT+TAB ئارقىلىق قورال بالداق گۇرۇپپىسى تاللىنىدۇ، ئوڭ سول يا ئوقتا توپچا تاللىنىدۇ، بوشلۇق ياكى Enter كۇنۇپكىسىدا تاللانغان توپچىنى قوللىنىدۇ.'},{name:'تەھرىرلىگۈچ سۆزلەشكۈسى',legend:'Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.'},{name:'تەھرىرلىگۈچ تىل مۇھىت تىزىملىكى',legend:'Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.'},{name:'تەھرىرلىگۈچ تىزىمى',legend:'Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.'},{name:'تەھرىرلىگۈچ ئÛÙ„ÛÙ…Ûنت يول بالداق',legend:'${elementsPathFocus} بÛسىلسا ئÛÙ„ÛÙ…Ûنت يول بالداققا ÙŠÛتەكلەيدۇ، TAB ياكى ئوڭ يا ئوقتا ÙƒÛيىنكى ئÛÙ„ÛÙ…Ûنت تاللىنىدۇ، SHIFT+TAB ياكى سول يا ئوقتا ئالدىنقى ئÛÙ„ÛÙ…Ûنت تاللىنىدۇ، بوشلۇق ياكى Enter كۇنۇپكىسىدا تەھرىرلىگۈچتىكى ئÛÙ„ÛÙ…Ûنت تاللىنىدۇ.'}]},{name:'بۇيرۇق',items:[{name:'بۇيرۇقتىن ÙŠÛنىۋال',legend:'${undo} نى بÛسىڭ'},{name:'قايتىلاش بۇيرۇقى',legend:'${redo} نى بÛسىڭ'},{name:'توملىتىش بۇيرۇقى',legend:'${bold} نى بÛسىڭ'},{name:'يانتۇ بۇيرۇقى',legend:'${italic} نى بÛسىڭ'},{name:'ئاستى سىزىق بۇيرۇقى',legend:'${underline} نى بÛسىڭ'},{name:'ئۇلانما بۇيرۇقى',legend:'${link} نى بÛسىڭ'},{name:'قورال بالداق قاتلاش بۇيرۇقى',legend:'${toolbarCollapse} نى بÛسىڭ'},{name:'توسالغۇسىز لايىھە چۈشەندۈرۈشى',legend:'${a11yHelp} نى بÛسىڭ'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/vi.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/vi.js
deleted file mode 100644
index c6352dd..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/vi.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','vi',{accessibilityHelp:{title:'Accessibility Instructions',contents:'Ná»™i dung Há»— trợ. Nhấn ESC để đóng há»™p thoại.',legend:[{name:'Chung',items:[{name:'Thanh công cụ soạn th',legend:'Nhấn ${toolbarFocus} để Ä‘iá»u hÆ°á»›ng đến thanh công cụ. Nhấn TAB và SHIFT-TAB để chuyển đến nhóm thanh công cụ khác. Nhấn MŨI TÊN PHẢI hoặc MŨI TÊN TRÃI để chuyển sang nút khác trên thanh công cụ. Nhấn PHÃM CÃCH hoặc ENTER để kích hoạt nút trên thanh công c.'},{name:'Há»™p thoại Biên t',legend:'Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. Then move to next tab with TAB OR RIGTH ARROW. Move to previous tab with SHIFT + TAB or LEFT ARROW. Press SPACE or ENTER to select the tab page.'},{name:'Trình Ä‘Æ¡n Ngữ cảnh cBá»™ soạn thảo',legend:'Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC.'},{name:'Editor List Box',legend:'Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT + TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box.'},{name:'Editor Element Path Bar',legend:'Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor.'}]},{name:'Commands',items:[{name:' Undo command',legend:'Press ${undo}'},{name:' Redo command',legend:'Press ${redo}'},{name:' Bold command',legend:'Press ${bold}'},{name:' Italic command',legend:'Press ${italic}'},{name:' Underline command',legend:'Press ${underline}'},{name:' Link command',legend:'Press ${link}'},{name:' Toolbar Collapse command',legend:'Press ${toolbarCollapse}'},{name:' Accessibility Help',legend:'Press ${a11yHelp}'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/zh-cn.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/zh-cn.js
deleted file mode 100644
index 9e3f92f..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/a11yhelp/lang/zh-cn.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('a11yhelp','zh-cn',{accessibilityHelp:{title:'辅助说明',contents:'帮助内容。è¦å…³é—­æ­¤å¯¹è¯æ¡†è¯·æŒ‰ ESC 键。',legend:[{name:'常规',items:[{name:'编辑器工具æ ',legend:'按 ${toolbarFocus} 导航到工具æ ï¼Œä½¿ç”¨ TAB 键或 SHIFT+TAB 组åˆé”®é€‰æ‹©å·¥å…·æ ç»„,使用左å³ç®­å¤´é”®é€‰æ‹©æŒ‰é’®ï¼ŒæŒ‰ç©ºæ ¼é”®æˆ–回车键以应用选中的按钮。'},{name:'编辑器对è¯æ¡†',legend:'在对è¯æ¡†å†…,TAB 键移动到下一个字段,SHIFT + TAB 组åˆé”®ç§»åŠ¨åˆ°ä¸Šä¸€ä¸ªå­—段,ENTER é”®æ交对è¯æ¡†ï¼ŒESC é”®å–消对è¯æ¡†ã€‚对于有多标签的对è¯æ¡†ï¼Œç”¨ALT + F10æ¥ç§»åˆ°æ ‡ç­¾åˆ—表。然åŽç”¨ TAB 键或者å‘å³ç®­å¤´æ¥ç§»åŠ¨åˆ°ä¸‹ä¸€ä¸ªæ ‡ç­¾ï¼›SHIFT + TAB 组åˆé”®æˆ–者å‘左箭头移动到上一个标签。用 SPACE 键或者 ENTER 键选择标签。'},{name:'编辑器上下文èœå•',legend:'用 ${contextMenu}或者 应用程åºé”® 打开上下文èœå•ã€‚然åŽç”¨ TAB 键或者下箭头键æ¥ç§»åŠ¨åˆ°ä¸‹ä¸€ä¸ªèœå•é¡¹ï¼›SHIFT + TAB 组åˆé”®æˆ–者上箭头键移动到上一个èœå•é¡¹ã€‚用 SPACE 键或者 ENTER 键选择èœå•é¡¹ã€‚用 SPACE 键,ENTER 键或者å³ç®­å¤´é”®æ‰“å¼€å­èœå•ã€‚返回èœå•ç”¨ ESC 键或者左箭头键。用 ESC 键关闭上下文èœå•ã€‚'},{name:'编辑器列表框',legend:'在列表框中,移到下一列表项用 TAB 键或者下箭头键。移到上一列表项用SHIFT + TAB 组åˆé”®æˆ–者上箭头键,用 SPACE 键或者 ENTER 键选择列表项。用 ESC 键收起列表框。'},{name:'编辑器元素路径æ ',legend:'按 ${elementsPathFocus} 以导航到元素路径æ ï¼Œä½¿ç”¨ TAB 键或å³ç®­å¤´é”®é€‰æ‹©ä¸‹ä¸€ä¸ªå…ƒç´ ï¼Œä½¿ç”¨ SHIFT+TAB 组åˆé”®æˆ–左箭头键选择上一个元素,按空格键或回车键以选定编辑器里的元素。'}]},{name:'命令',items:[{name:' 撤消命令',legend:'按 ${undo}'},{name:' é‡åšå‘½ä»¤',legend:'按 ${redo}'},{name:' 加粗命令',legend:'按 ${bold}'},{name:' 倾斜命令',legend:'按 ${italic}'},{name:' 下划线命令',legend:'按 ${underline}'},{name:' 链接命令',legend:'按 ${link}'},{name:' 工具æ æŠ˜å å‘½ä»¤',legend:'按 ${toolbarCollapse}'},{name:' æ— éšœç¢è®¾è®¡è¯´æ˜Ž',legend:'按 ${a11yHelp}'}]}]}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/about/dialogs/about.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/about/dialogs/about.js
deleted file mode 100644
index dc3e72f..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/about/dialogs/about.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.dialog.add('about',function(a){var b=a.lang.about;return{title:CKEDITOR.env.ie?b.dlgTitle:b.title,minWidth:390,minHeight:230,contents:[{id:'tab1',label:'',title:'',expand:true,padding:0,elements:[{type:'html',html:'<style type="text/css">.cke_about_container{color:#000 !important;padding:10px 10px 0;margin-top:5px}.cke_about_container p{margin: 0 0 10px;}.cke_about_container .cke_about_logo{height:81px;background-color:#fff;background-image:url('+CKEDITOR.plugins.get('about').path+'dialogs/logo_ckeditor.png);'+'background-position:center; '+'background-repeat:no-repeat;'+'margin-bottom:10px;'+'}'+'.cke_about_container a'+'{'+'cursor:pointer !important;'+'color:blue !important;'+'text-decoration:underline !important;'+'}'+'</style>'+'<div class="cke_about_container">'+'<div class="cke_about_logo"></div>'+'<p>'+'CKEditor '+CKEDITOR.version+' (revision '+CKEDITOR.revision+')<br>'+'<a href="http://ckeditor.com/">http://ckeditor.com</a>'+'</p>'+'<p>'+b.help.replace('$1','<a href="http://docs.cksource.com/CKEditor_3.x/Users_Guide/Quick_Reference">'+b.userGuide+'</a>')+'</p>'+'<p>'+b.moreInfo+'<br>'+'<a href="http://ckeditor.com/license">http://ckeditor.com/license</a>'+'</p>'+'<p>'+b.copy.replace('$1','<a href="http://cksource.com/">CKSource</a> - Frederico Knabben')+'</p>'+'</div>'}]}],buttons:[CKEDITOR.dialog.cancelButton]};});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/adobeair/plugin.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/adobeair/plugin.js
deleted file mode 100644
index a0788cf..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/adobeair/plugin.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-(function(){var a=['click','keydown','mousedown','keypress','mouseover','mouseout'];function b(c){var d=c.getElementsByTag('*'),e=d.count(),f;for(var g=0;g<e;g++){f=d.getItem(g);(function(h){for(var i=0;i<a.length;i++)(function(j){var k=h.getAttribute('on'+j);if(h.hasAttribute('on'+j)){h.removeAttribute('on'+j);h.on(j,function(l){var m=/(return\s*)?CKEDITOR\.tools\.callFunction\(([^)]+)\)/.exec(k),n=m&&m[1],o=m&&m[2].split(','),p=/return false;/.test(k);if(o){var q=o.length,r;for(var s=0;s<q;s++){o[s]=r=CKEDITOR.tools.trim(o[s]);var t=r.match(/^(["'])([^"']*?)\1$/);if(t){o[s]=t[2];continue;}if(r.match(/\d+/)){o[s]=parseInt(r,10);continue;}switch(r){case 'this':o[s]=h.$;break;case 'event':o[s]=l.data.$;break;case 'null':o[s]=null;break;}}var u=CKEDITOR.tools.callFunction.apply(window,o);if(n&&u===false)p=1;}if(p)l.data.preventDefault();});}})(a[i]);})(f);}};CKEDITOR.plugins.add('adobeair',{init:function(c){if(!CKEDITOR.env.air)return;c.addCss('body { padding: 8px }');c.on('uiReady',function(){b(c.container);if(c.sharedSpaces)for(var d in c.sharedSpaces)b(c.sharedSpaces[d]);c.on('elementsPathUpdate',function(e){b(e.data.space);});});c.on('contentDom',function(){c.document.on('click',function(d){d.data.preventDefault(true);});});}});CKEDITOR.ui.on('ready',function(c){var d=c.data;if(d._.panel){var e=d._.panel._.panel,f;(function(){if(!e.isLoaded){setTimeout(arguments.callee,30);return;}f=e._.holder;b(f);})();}else if(d instanceof CKEDITOR.dialog)b(d._.element);});})();CKEDITOR.dom.document.prototype.write=CKEDITOR.tools.override(CKEDITOR.dom.document.prototype.write,function(a){function b(c,d,e,f){var g=c.append(d),h=CKEDITOR.htmlParser.fragment.fromHtml(e).children[0].attributes;h&&g.setAttributes(h);f&&g.append(c.getDocument().createText(f));};return function(c,d){if(this.getBody()){var e=this,f=this.getHead();c=c.replace(/(<style[^>]*>)([\s\S]*?)<\/style>/gi,function(g,h,i){b(f,'style',h,i);return '';});c=c.replace(/<base\b[^>]*\/>/i,function(g){b(f,'base',g);return '';});c=c.replace(/<title>([\s\S]*)<\/title>/i,function(g,h){e.$.title=h;return '';});c=c.replace(/<head>([\s\S]*)<\/head>/i,function(g){var h=new CKEDITOR.dom.element('div',e);h.setHtml(g);h.moveChildren(f);return '';});c.replace(/(<body[^>]*>)([\s\S]*)(?=$|<\/body>)/i,function(g,h,i){e.getBody().setHtml(i);var j=CKEDITOR.htmlParser.fragment.fromHtml(h).children[0].attributes;j&&e.getBody().setAttributes(j);});}else a.apply(this,arguments);};});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/ajax/plugin.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/ajax/plugin.js
deleted file mode 100644
index 1f73279..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/ajax/plugin.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-(function(){CKEDITOR.plugins.add('ajax',{requires:['xml']});CKEDITOR.ajax=(function(){var a=function(){if(!CKEDITOR.env.ie||location.protocol!='file:')try{return new XMLHttpRequest();}catch(f){}try{return new ActiveXObject('Msxml2.XMLHTTP');}catch(g){}try{return new ActiveXObject('Microsoft.XMLHTTP');}catch(h){}return null;},b=function(f){return f.readyState==4&&(f.status>=200&&f.status<300||f.status==304||f.status===0||f.status==1223);},c=function(f){if(b(f))return f.responseText;return null;},d=function(f){if(b(f)){var g=f.responseXML;return new CKEDITOR.xml(g&&g.firstChild?g:f.responseText);}return null;},e=function(f,g,h){var i=!!g,j=a();if(!j)return null;j.open('GET',f,i);if(i)j.onreadystatechange=function(){if(j.readyState==4){g(h(j));j=null;}};j.send(null);return i?'':h(j);};return{load:function(f,g){return e(f,g,c);},loadXml:function(f,g){return e(f,g,d);}};})();})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/autogrow/plugin.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/autogrow/plugin.js
deleted file mode 100644
index 3437de2..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/autogrow/plugin.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-(function(){function a(d){var e=d.getStyle('overflow-y'),f=d.getDocument(),g=CKEDITOR.dom.element.createFromHtml('<span style="margin:0;padding:0;border:0;clear:both;width:1px;height:1px;display:block;">'+(CKEDITOR.env.webkit?'&nbsp;':'')+'</span>',f);f[CKEDITOR.env.ie?'getBody':'getDocumentElement']().append(g);var h=g.getDocumentPosition(f).y+g.$.offsetHeight;g.remove();d.setStyle('overflow-y',e);return h;};function b(d){var e=d.document,f=e.getBody(),g=e.getDocumentElement();return e.$.compatMode=='BackCompat'?f:g;};var c=function(d){if(!d.window)return;var e=b(d),f=d.window.getViewPaneSize().height,g=a(e);g+=d.config.autoGrow_bottomSpace||0;var h=d.config.autoGrow_minHeight!=undefined?d.config.autoGrow_minHeight:200,i=d.config.autoGrow_maxHeight||Infinity;g=Math.max(g,h);g=Math.min(g,i);if(g!=f){g=d.fire('autoGrow',{currentHeight:f,newHeight:g}).newHeight;d.resize(d.container.getStyle('width'),g,true);}if(e.$.scrollHeight>e.$.clientHeight&&g<i)e.setStyle('overflow-y','hidden');else e.removeStyle('overflow-y');};CKEDITOR.plugins.add('autogrow',{init:function(d){d.addCommand('autogrow',{exec:c,modes:{wysiwyg:1},readOnly:1,canUndo:false,editorFocus:false});var e={contentDom:1,key:1,selectionChange:1,insertElement:1,mode:1};d.config.autoGrow_onStartup&&(e.instanceReady=1);for(var f in e)d.on(f,function(g){var h=d.getCommand('maximize');if(g.editor.mode=='wysiwyg'&&(!h||h.state!=CKEDITOR.TRISTATE_ON))setTimeout(function(){c(g.editor);c(g.editor);},100);});d.on('beforeCommandExec',function(g){if(g.data.name=='maximize'&&g.editor.mode=='wysiwyg')if(g.data.command.state==CKEDITOR.TRISTATE_OFF){var h=b(d);h.removeStyle('overflow');}else c(d);});}});})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/bbcode/plugin.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/bbcode/plugin.js
deleted file mode 100644
index 40a084e..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/bbcode/plugin.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-(function(){CKEDITOR.on('dialogDefinition',function(r){var s,t=r.data.name,u=r.data.definition;if(t=='link'){u.removeContents('target');u.removeContents('upload');u.removeContents('advanced');s=u.getContents('info');s.remove('emailSubject');s.remove('emailBody');}else if(t=='image'){u.removeContents('advanced');s=u.getContents('Link');s.remove('cmbTarget');s=u.getContents('info');s.remove('txtAlt');s.remove('basic');}});var a={b:'strong',u:'u',i:'em',color:'span',size:'span',quote:'blockquote',code:'code',url:'a',email:'span',img:'span','*':'li',list:'ol'},b={strong:'b',b:'b',u:'u',em:'i',i:'i',code:'code',li:'*'},c={strong:'b',em:'i',u:'u',li:'*',ul:'list',ol:'list',code:'code',a:'link',img:'img',blockquote:'quote'},d={color:'color',size:'font-size'},e={url:'href',email:'mailhref',quote:'cite',list:'listType'},f=CKEDITOR.dtd,g=CKEDITOR.tools.extend({table:1},f.$block,f.$listItem,f.$tableContent,f.$list),h=/\s*(?:;\s*|$)/;function i(r){var s='';for(var t in r){var u=r[t],v=(t+':'+u).replace(h,';');s+=v;}return s;};function j(r){var s={};(r||'').replace(/&quot;/g,'"').replace(/\s*([^ :;]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(t,u,v){s[u.toLowerCase()]=v;});return s;};function k(r){return r.replace(/(?:rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\))/gi,function(s,t,u,v){t=parseInt(t,10).toString(16);u=parseInt(u,10).toString(16);v=parseInt(v,10).toString(16);var w=[t,u,v];for(var x=0;x<w.length;x++)w[x]=String('0'+w[x]).slice(-2);return '#'+w.join('');});};var l={smiley:':)',sad:':(',wink:';)',laugh:':D',cheeky:':P',blush:':*)',surprise:':-o',indecision:':|',angry:'>:(',angel:'o:)',cool:'8-)',devil:'>:-)',crying:';(',kiss:':-*'},m={},n=[];for(var o in l){m[l[o]]=o;n.push(l[o].replace(/\(|\)|\:|\/|\*|\-|\|/g,function(r){return '\\'+r;}));}n=new RegExp(n.join('|'),'g');var p=(function(){var r=[],s={nbsp:'\xa0',shy:'­',gt:'>',lt:'<'};for(var t in s)r.push(t);r=new RegExp('&('+r.join('|')+');','g');return function(u){return u.replace(r,function(v,w){return s[w];});};})();CKEDITOR.BBCodeParser=function(){this._={bbcPartsRegex:/(?:\[([^\/\]=]*?)(?:=([^\]]*?))?\])|(?:\[\/([a-z]{1,16})\])/ig};};CKEDITOR.BBCodeParser.prototype={parse:function(r){var B=this;var s,t,u=0;while(s=B._.bbcPartsRegex.exec(r)){var v=s.index;if(v>u){var w=r.substring(u,v);B.onText(w,1);}u=B._.bbcPartsRegex.lastIndex;t=(s[1]||s[3]||'').toLowerCase();if(t&&!a[t]){B.onText(s[0]);continue;}if(s[1]){var x=a[t],y={},z={},A=s[2];if(A){if(t=='list')if(!isNaN(A))A='decimal';else if(/^[a-z]+$/.test(A))A='lower-alpha';
-else if(/^[A-Z]+$/.test(A))A='upper-alpha';if(d[t]){if(t=='size')A+='%';z[d[t]]=A;y.style=i(z);}else if(e[t])y[e[t]]=A;}if(t=='email'||t=='img')y.bbcode=t;B.onTagOpen(x,y,CKEDITOR.dtd.$empty[x]);}else if(s[3])B.onTagClose(a[t]);}if(r.length>u)B.onText(r.substring(u,r.length),1);}};CKEDITOR.htmlParser.fragment.fromBBCode=function(r){var s=new CKEDITOR.BBCodeParser(),t=new CKEDITOR.htmlParser.fragment(),u=[],v=0,w=t,x;function y(D){if(u.length>0)for(var E=0;E<u.length;E++){var F=u[E],G=F.name,H=CKEDITOR.dtd[G],I=w.name&&CKEDITOR.dtd[w.name];if((!I||I[G])&&(!D||!H||H[D]||!CKEDITOR.dtd[D])){F=F.clone();F.parent=w;w=F;u.splice(E,1);E--;}}};function z(D,E){var F=w.children.length,G=F>0&&w.children[F-1],H=!G&&q.getRule(c[w.name],'breakAfterOpen'),I=G&&G.type==CKEDITOR.NODE_ELEMENT&&q.getRule(c[G.name],'breakAfterClose'),J=D&&q.getRule(c[D],E?'breakBeforeClose':'breakBeforeOpen');if(v&&(H||I||J))v--;if(v&&D in g)v++;while(v&&v--)w.children.push(G=new CKEDITOR.htmlParser.element('br'));};function A(D,E){z(D.name,1);E=E||w||t;var F=E.children.length,G=F>0&&E.children[F-1]||null;D.previous=G;D.parent=E;E.children.push(D);if(D.returnPoint){w=D.returnPoint;delete D.returnPoint;}};s.onTagOpen=function(D,E,F){var G=new CKEDITOR.htmlParser.element(D,E);if(CKEDITOR.dtd.$removeEmpty[D]){u.push(G);return;}var H=w.name,I=H&&(CKEDITOR.dtd[H]||(w._.isBlockLike?CKEDITOR.dtd.div:CKEDITOR.dtd.span));if(I&&!I[D]){var J=false,K;if(D==H)A(w,w.parent);else if(D in CKEDITOR.dtd.$listItem){s.onTagOpen('ul',{});K=w;J=true;}else{A(w,w.parent);u.unshift(w);J=true;}if(K)w=K;else w=w.returnPoint||w.parent;if(J){s.onTagOpen.apply(this,arguments);return;}}y(D);z(D);G.parent=w;G.returnPoint=x;x=0;if(G.isEmpty)A(G);else w=G;};s.onTagClose=function(D){for(var E=u.length-1;E>=0;E--){if(D==u[E].name){u.splice(E,1);return;}}var F=[],G=[],H=w;while(H.type&&H.name!=D){if(!H._.isBlockLike)G.unshift(H);F.push(H);H=H.parent;}if(H.type){for(E=0;E<F.length;E++){var I=F[E];A(I,I.parent);}w=H;A(H,H.parent);if(H==w)w=w.parent;u=u.concat(G);}};s.onText=function(D){var E=CKEDITOR.dtd[w.name];if(!E||E['#']){z();y();D.replace(/([\r\n])|[^\r\n]*/g,function(F,G){if(G!==undefined&&G.length)v++;else if(F.length){var H=0;F.replace(n,function(I,J){A(new CKEDITOR.htmlParser.text(F.substring(H,J)),w);A(new CKEDITOR.htmlParser.element('smiley',{desc:m[I]}),w);H=J+I.length;});if(H!=F.length)A(new CKEDITOR.htmlParser.text(F.substring(H,F.length)),w);}});}};s.parse(CKEDITOR.tools.htmlEncode(r));while(w.type){var B=w.parent,C=w;
-A(C,B);w=B;}return t;};CKEDITOR.htmlParser.BBCodeWriter=CKEDITOR.tools.createClass({$:function(){var r=this;r._={output:[],rules:[]};r.setRules('list',{breakBeforeOpen:1,breakAfterOpen:1,breakBeforeClose:1,breakAfterClose:1});r.setRules('*',{breakBeforeOpen:1,breakAfterOpen:0,breakBeforeClose:1,breakAfterClose:0});r.setRules('quote',{breakBeforeOpen:1,breakAfterOpen:0,breakBeforeClose:0,breakAfterClose:1});},proto:{setRules:function(r,s){var t=this._.rules[r];if(t)CKEDITOR.tools.extend(t,s,true);else this._.rules[r]=s;},getRule:function(r,s){return this._.rules[r]&&this._.rules[r][s];},openTag:function(r,s){if(r in a){if(this.getRule(r,'breakBeforeOpen'))this.lineBreak(1);this.write('[',r);}},openTagClose:function(r){var s=this;if(r=='br')s._.output.push('\n');else if(r in a){s.write(']');if(s.getRule(r,'breakAfterOpen'))s.lineBreak(1);}},attribute:function(r,s){if(r=='option'){if(typeof s=='string')s=s.replace(/&amp;/g,'&');this.write('=',s);}},closeTag:function(r){var s=this;if(r in a){if(s.getRule(r,'breakBeforeClose'))s.lineBreak(1);r!='*'&&s.write('[/',r,']');if(s.getRule(r,'breakAfterClose'))s.lineBreak(1);}},text:function(r){this.write(r);},comment:function(){},lineBreak:function(){var r=this;if(!r._.hasLineBreak&&r._.output.length){r.write('\n');r._.hasLineBreak=1;}},write:function(){this._.hasLineBreak=0;var r=Array.prototype.join.call(arguments,'');this._.output.push(r);},reset:function(){this._.output=[];this._.hasLineBreak=0;},getHtml:function(r){var s=this._.output.join('');if(r)this.reset();return p(s);}}});var q=new CKEDITOR.htmlParser.BBCodeWriter();CKEDITOR.plugins.add('bbcode',{requires:['htmldataprocessor','entities'],beforeInit:function(r){var s=r.config;CKEDITOR.tools.extend(s,{enterMode:CKEDITOR.ENTER_BR,basicEntities:false,entities:false,fillEmptyBlocks:false},true);},init:function(r){var s=r.config;function t(v){var w=CKEDITOR.htmlParser.fragment.fromBBCode(v),x=new CKEDITOR.htmlParser.basicWriter();w.writeHtml(x,u);return x.getHtml(true);};var u=new CKEDITOR.htmlParser.filter();u.addRules({elements:{blockquote:function(v){var w=new CKEDITOR.htmlParser.element('div');w.children=v.children;v.children=[w];var x=v.attributes.cite;if(x){var y=new CKEDITOR.htmlParser.element('cite');y.add(new CKEDITOR.htmlParser.text(x.replace(/^"|"$/g,'')));delete v.attributes.cite;v.children.unshift(y);}},span:function(v){var w;if(w=v.attributes.bbcode){if(w=='img'){v.name='img';v.attributes.src=v.children[0].value;v.children=[];}else if(w=='email'){v.name='a';
-v.attributes.href='mailto:'+v.children[0].value;}delete v.attributes.bbcode;}},ol:function(v){if(v.attributes.listType){if(v.attributes.listType!='decimal')v.attributes.style='list-style-type:'+v.attributes.listType;}else v.name='ul';delete v.attributes.listType;},a:function(v){if(!v.attributes.href)v.attributes.href=v.children[0].value;},smiley:function(v){v.name='img';var w=v.attributes.desc,x=s.smiley_images[CKEDITOR.tools.indexOf(s.smiley_descriptions,w)],y=CKEDITOR.tools.htmlEncode(s.smiley_path+x);v.attributes={src:y,'data-cke-saved-src':y,title:w,alt:w};}}});r.dataProcessor.htmlFilter.addRules({elements:{$:function(v){var w=v.attributes,x=j(w.style),y,z=v.name;if(z in b)z=b[z];else if(z=='span'){if(y=x.color){z='color';y=k(y);}else if(y=x['font-size']){var A=y.match(/(\d+)%$/);if(A){y=A[1];z='size';}}}else if(z=='ol'||z=='ul'){if(y=x['list-style-type']){switch(y){case 'lower-alpha':y='a';break;case 'upper-alpha':y='A';break;}}else if(z=='ol')y=1;z='list';}else if(z=='blockquote'){try{var B=v.children[0],C=v.children[1],D=B.name=='cite'&&B.children[0].value;if(D){y='"'+D+'"';v.children=C.children;}}catch(G){}z='quote';}else if(z=='a'){if(y=w.href)if(y.indexOf('mailto:')!==-1){z='email';v.children=[new CKEDITOR.htmlParser.text(y.replace('mailto:',''))];y='';}else{var E=v.children.length==1&&v.children[0];if(E&&E.type==CKEDITOR.NODE_TEXT&&E.value==y)y='';z='url';}}else if(z=='img'){v.isEmpty=0;var F=w['data-cke-saved-src'];if(F&&F.indexOf(r.config.smiley_path)!=-1)return new CKEDITOR.htmlParser.text(l[w.alt]);else v.children=[new CKEDITOR.htmlParser.text(F)];}v.name=z;y&&(v.attributes.option=y);return null;},br:function(v){var w=v.next;if(w&&w.name in g)return false;}}},1);r.dataProcessor.writer=q;r.on('beforeSetMode',function(v){v.removeListener();var w=r._.modes.wysiwyg;w.loadData=CKEDITOR.tools.override(w.loadData,function(x){return function(y){return x.call(this,t(y));};});});},afterInit:function(r){var s;if(r._.elementsPath)if(s=r._.elementsPath.filters)s.push(function(t){var u=t.getName(),v=c[u]||false;if(v=='link'&&t.getAttribute('href').indexOf('mailto:')===0)v='email';else if(u=='span'){if(t.getStyle('font-size'))v='size';else if(t.getStyle('color'))v='color';}else if(v=='img'){var w=t.data('cke-saved-src');if(w&&w.indexOf(r.config.smiley_path)===0)v='smiley';}return v;});}});})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/clipboard/dialogs/paste.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/clipboard/dialogs/paste.js
deleted file mode 100644
index 056bcab..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/clipboard/dialogs/paste.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.dialog.add('paste',function(a){var b=a.lang.clipboard,c=CKEDITOR.env.isCustomDomain();function d(e){var f=new CKEDITOR.dom.document(e.document),g=f.$,h=f.getById('cke_actscrpt');h&&h.remove();CKEDITOR.env.ie?g.body.contentEditable='true':g.designMode='on';if(CKEDITOR.env.ie&&CKEDITOR.env.version<8)f.getWindow().on('blur',function(){g.selection.empty();});f.on('keydown',function(i){var j=i.data,k=j.getKeystroke(),l;switch(k){case 27:this.hide();l=1;break;case 9:case CKEDITOR.SHIFT+9:this.changeFocus(1);l=1;}l&&j.preventDefault();},this);a.fire('ariaWidget',new CKEDITOR.dom.element(e.frameElement));};return{title:b.title,minWidth:CKEDITOR.env.ie&&CKEDITOR.env.quirks?370:350,minHeight:CKEDITOR.env.quirks?250:245,onShow:function(){this.parts.dialog.$.offsetHeight;this.setupContent();},onHide:function(){if(CKEDITOR.env.ie)this.getParentEditor().document.getBody().$.contentEditable='true';},onLoad:function(){if((CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)&&a.lang.dir=='rtl')this.parts.contents.setStyle('overflow','hidden');},onOk:function(){this.commitContent();},contents:[{id:'general',label:a.lang.common.generalTab,elements:[{type:'html',id:'securityMsg',html:'<div style="white-space:normal;width:340px;">'+b.securityMsg+'</div>'},{type:'html',id:'pasteMsg',html:'<div style="white-space:normal;width:340px;">'+b.pasteMsg+'</div>'},{type:'html',id:'editing_area',style:'width: 100%; height: 100%;',html:'',focus:function(){var e=this.getInputElement().$.contentWindow;setTimeout(function(){e.focus();},500);},setup:function(){var e=this.getDialog(),f='<html dir="'+a.config.contentsLangDirection+'"'+' lang="'+(a.config.contentsLanguage||a.langCode)+'">'+'<head><style>body { margin: 3px; height: 95%; } </style></head><body>'+'<script id="cke_actscrpt" type="text/javascript">'+'window.parent.CKEDITOR.tools.callFunction( '+CKEDITOR.tools.addFunction(d,e)+', this );'+'</script></body>'+'</html>',g=CKEDITOR.env.air?'javascript:void(0)':c?"javascript:void((function(){document.open();document.domain='"+document.domain+"';"+'document.close();'+'})())"':'',h=CKEDITOR.dom.element.createFromHtml('<iframe class="cke_pasteframe" frameborder="0" allowTransparency="true" src="'+g+'"'+' role="region"'+' aria-label="'+b.pasteArea+'"'+' aria-describedby="'+e.getContentElement('general','pasteMsg').domId+'"'+' aria-multiple="true"'+'></iframe>');h.on('load',function(k){k.removeListener();var l=h.getFrameDocument();l.write(f);if(CKEDITOR.env.air)d.call(this,l.getWindow().$);
-},e);h.setCustomData('dialog',e);var i=this.getElement();i.setHtml('');i.append(h);if(CKEDITOR.env.ie){var j=CKEDITOR.dom.element.createFromHtml('<span tabindex="-1" style="position:absolute;" role="presentation"></span>');j.on('focus',function(){h.$.contentWindow.focus();});i.append(j);this.focus=function(){j.focus();this.fire('focus');};}this.getInputElement=function(){return h;};if(CKEDITOR.env.ie){i.setStyle('display','block');i.setStyle('height',h.$.offsetHeight+2+'px');}},commit:function(e){var f=this.getElement(),g=this.getDialog().getParentEditor(),h=this.getInputElement().getFrameDocument().getBody(),i=h.getBogus(),j;i&&i.remove();j=h.getHtml();setTimeout(function(){g.fire('paste',{html:j});},0);}}]}]};});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/colordialog/dialogs/colordialog.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/colordialog/dialogs/colordialog.js
deleted file mode 100644
index 322e505..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/colordialog/dialogs/colordialog.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.dialog.add('colordialog',function(a){var b=CKEDITOR.dom.element,c=CKEDITOR.document,d=a.lang.colordialog,e,f={type:'html',html:'&nbsp;'},g;function h(){c.getById(u).removeStyle('background-color');e.getContentElement('picker','selectedColor').setValue('');g&&g.removeAttribute('aria-selected');g=null;};function i(w){var x=w.data.getTarget(),y;if(x.getName()=='td'&&(y=x.getChild(0).getHtml())){g=x;g.setAttribute('aria-selected',true);e.getContentElement('picker','selectedColor').setValue(y);}};function j(w){w=w.replace(/^#/,'');for(var x=0,y=[];x<=2;x++)y[x]=parseInt(w.substr(x*2,2),16);var z=0.2126*y[0]+0.7152*y[1]+0.0722*y[2];return '#'+(z>=165?'000':'fff');};var k,l;function m(w){!w.name&&(w=new CKEDITOR.event(w));var x=!/mouse/.test(w.name),y=w.data.getTarget(),z;if(y.getName()=='td'&&(z=y.getChild(0).getHtml())){o(w);x?k=y:l=y;if(x){y.setStyle('border-color',j(z));y.setStyle('border-style','dotted');}c.getById(s).setStyle('background-color',z);c.getById(t).setHtml(z);}};function n(){var w=k.getChild(0).getHtml();k.setStyle('border-color',w);k.setStyle('border-style','solid');c.getById(s).removeStyle('background-color');c.getById(t).setHtml('&nbsp;');k=null;};function o(w){var x=!/mouse/.test(w.name),y=x&&k;if(y){var z=y.getChild(0).getHtml();y.setStyle('border-color',z);y.setStyle('border-style','solid');}if(!(k||l)){c.getById(s).removeStyle('background-color');c.getById(t).setHtml('&nbsp;');}};function p(w){var x=w.data,y=x.getTarget(),z,A,B=x.getKeystroke(),C=a.lang.dir=='rtl';switch(B){case 38:if(z=y.getParent().getPrevious()){A=z.getChild([y.getIndex()]);A.focus();}x.preventDefault();break;case 40:if(z=y.getParent().getNext()){A=z.getChild([y.getIndex()]);if(A&&A.type==1)A.focus();}x.preventDefault();break;case 32:case 13:i(w);x.preventDefault();break;case C?37:39:if(A=y.getNext()){if(A.type==1){A.focus();x.preventDefault(true);}}else if(z=y.getParent().getNext()){A=z.getChild([0]);if(A&&A.type==1){A.focus();x.preventDefault(true);}}break;case C?39:37:if(A=y.getPrevious()){A.focus();x.preventDefault(true);}else if(z=y.getParent().getPrevious()){A=z.getLast();A.focus();x.preventDefault(true);}break;default:return;}};function q(){v=CKEDITOR.dom.element.createFromHtml('<table tabIndex="-1" aria-label="'+d.options+'"'+' role="grid" style="border-collapse:separate;" cellspacing="0">'+'<caption class="cke_voice_label">'+d.options+'</caption>'+'<tbody role="presentation"></tbody></table>');v.on('mouseover',m);v.on('mouseout',o);var w=['00','33','66','99','cc','ff'];
-function x(C,D){for(var E=C;E<C+3;E++){var F=new b(v.$.insertRow(-1));F.setAttribute('role','row');for(var G=D;G<D+3;G++)for(var H=0;H<6;H++)y(F.$,'#'+w[G]+w[H]+w[E]);}};function y(C,D){var E=new b(C.insertCell(-1));E.setAttribute('class','ColorCell');E.setAttribute('tabIndex',-1);E.setAttribute('role','gridcell');E.on('keydown',p);E.on('click',i);E.on('focus',m);E.on('blur',o);E.setStyle('background-color',D);E.setStyle('border','1px solid '+D);E.setStyle('width','14px');E.setStyle('height','14px');var F=r('color_table_cell');E.setAttribute('aria-labelledby',F);E.append(CKEDITOR.dom.element.createFromHtml('<span id="'+F+'" class="cke_voice_label">'+D+'</span>',CKEDITOR.document));};x(0,0);x(3,0);x(0,3);x(3,3);var z=new b(v.$.insertRow(-1));z.setAttribute('role','row');for(var A=0;A<6;A++)y(z.$,'#'+w[A]+w[A]+w[A]);for(var B=0;B<12;B++)y(z.$,'#000000');};var r=function(w){return CKEDITOR.tools.getNextId()+'_'+w;},s=r('hicolor'),t=r('hicolortext'),u=r('selhicolor'),v;q();return{title:d.title,minWidth:360,minHeight:220,onLoad:function(){e=this;},onHide:function(){h();n();},contents:[{id:'picker',label:d.title,accessKey:'I',elements:[{type:'hbox',padding:0,widths:['70%','10%','30%'],children:[{type:'html',html:'<div></div>',onLoad:function(){CKEDITOR.document.getById(this.domId).append(v);},focus:function(){(k||this.getElement().getElementsByTag('td').getItem(0)).focus();}},f,{type:'vbox',padding:0,widths:['70%','5%','25%'],children:[{type:'html',html:'<span>'+d.highlight+'</span>\t\t\t\t\t\t\t\t\t\t\t\t<div id="'+s+'" style="border: 1px solid; height: 74px; width: 74px;"></div>\t\t\t\t\t\t\t\t\t\t\t\t<div id="'+t+'">&nbsp;</div><span>'+d.selected+'</span>\t\t\t\t\t\t\t\t\t\t\t\t<div id="'+u+'" style="border: 1px solid; height: 20px; width: 74px;"></div>'},{type:'text',label:d.selected,labelStyle:'display:none',id:'selectedColor',style:'width: 74px',onChange:function(){try{c.getById(u).setStyle('background-color',this.getValue());}catch(w){h();}}},f,{type:'button',id:'clear',style:'margin-top: 5px',label:d.clear,onClick:h}]}]}]}]};});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/_translationstatus.txt b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/_translationstatus.txt
deleted file mode 100644
index 28f0cfc..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/_translationstatus.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-
-bg.js Found: 5 Missing: 0
-cs.js Found: 5 Missing: 0
-cy.js Found: 5 Missing: 0
-da.js Found: 5 Missing: 0
-de.js Found: 5 Missing: 0
-el.js Found: 5 Missing: 0
-eo.js Found: 5 Missing: 0
-et.js Found: 5 Missing: 0
-fa.js Found: 5 Missing: 0
-fi.js Found: 5 Missing: 0
-fr.js Found: 5 Missing: 0
-gu.js Found: 5 Missing: 0
-he.js Found: 5 Missing: 0
-hr.js Found: 5 Missing: 0
-it.js Found: 5 Missing: 0
-ku.js Found: 5 Missing: 0
-lv.js Found: 5 Missing: 0
-nb.js Found: 5 Missing: 0
-nl.js Found: 5 Missing: 0
-no.js Found: 5 Missing: 0
-pl.js Found: 5 Missing: 0
-pt-br.js Found: 5 Missing: 0
-sk.js Found: 5 Missing: 0
-tr.js Found: 5 Missing: 0
-ug.js Found: 5 Missing: 0
-uk.js Found: 5 Missing: 0
-vi.js Found: 5 Missing: 0
-zh-cn.js Found: 5 Missing: 0
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/bg.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/bg.js
deleted file mode 100644
index 8cc76cf..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/bg.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','bg',{devTools:{title:'Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° елемента',dialogName:'Име на Ð´Ð¸Ð°Ð»Ð¾Ð³Ð¾Ð²Ð¸Ñ Ð¿Ñ€Ð¾Ð·Ð¾Ñ€ÐµÑ†',tabName:'Име на таб',elementId:'ID на елемента',elementType:'Тип на елемента'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/cs.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/cs.js
deleted file mode 100644
index c91ba69..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/cs.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','cs',{devTools:{title:'Informace o prvku',dialogName:'Název dialogového okna',tabName:'Název karty',elementId:'ID prvku',elementType:'Typ prvku'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/cy.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/cy.js
deleted file mode 100644
index 713ed08..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/cy.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','cy',{devTools:{title:'Gwybodaeth am yr Elfen',dialogName:'Enw ffenestr y deialog',tabName:"Enw'r tab",elementId:'ID yr Elfen',elementType:'Math yr elfen'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/da.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/da.js
deleted file mode 100644
index 509f501..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/da.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','da',{devTools:{title:'Information på elementet',dialogName:'Dialogboks',tabName:'Tab beskrivelse',elementId:'ID på element',elementType:'Type af element'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/de.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/de.js
deleted file mode 100644
index 2136c7c..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/de.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','de',{devTools:{title:'Elementinformation',dialogName:'Dialogfenstername',tabName:'Reitername',elementId:'Element ID',elementType:'Elementtyp'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/el.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/el.js
deleted file mode 100644
index 245ed37..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/el.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','el',{devTools:{title:'ΠληÏοφοÏίες Στοιχείου',dialogName:'Όνομα παÏαθÏÏου διαλόγου',tabName:'Όνομα καÏτέλας',elementId:'ID Στοιχείου',elementType:'ΤÏπος στοιχείου'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/en.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/en.js
deleted file mode 100644
index b90d2d2..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/en.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','en',{devTools:{title:'Element Information',dialogName:'Dialog window name',tabName:'Tab name',elementId:'Element ID',elementType:'Element type'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/eo.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/eo.js
deleted file mode 100644
index 89f49bf..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/eo.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','eo',{devTools:{title:'Informo pri la elemento',dialogName:'Nomo de la dialogfenestro',tabName:'Langetnomo',elementId:'ID de la elemento',elementType:'Tipo de la elemento'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/et.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/et.js
deleted file mode 100644
index 3b02c2a..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/et.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','et',{devTools:{title:'Elemendi andmed',dialogName:'Dialoogiakna nimi',tabName:'Saki nimi',elementId:'Elemendi ID',elementType:'Elemendi liik'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/fa.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/fa.js
deleted file mode 100644
index 34553d6..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/fa.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang( 'devtools', 'fa',
-{
- devTools :
- {
- title : 'اطلاعات عنصر',
- dialogName : 'نام پنجره محاوره‌ای',
- tabName : 'نام برگه',
- elementId : 'ID عنصر',
- elementType : 'نوع عنصر'
- }
-});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/fi.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/fi.js
deleted file mode 100644
index 6f251b0..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/fi.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','fi',{devTools:{title:'Elementin tiedot',dialogName:'Dialogi-ikkunan nimi',tabName:'Välilehden nimi',elementId:'Elementin ID',elementType:'Elementin tyyppi'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/fr.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/fr.js
deleted file mode 100644
index 9a966f44..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/fr.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','fr',{devTools:{title:"Information sur l'élément",dialogName:'Nom de la fenêtre de dialogue',tabName:"Nom de l'onglet",elementId:"ID de l'élément",elementType:"Type de l'élément"}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/gu.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/gu.js
deleted file mode 100644
index 2a85552..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/gu.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','gu',{devTools:{title:'પà«àª°àª¾àª¥àª®àª¿àª• માહિતી',dialogName:'વિનà«àª¡à«‹àª¨à«àª‚ નામ',tabName:'ટેબનà«àª‚ નામ',elementId:'પà«àª°àª¾àª¥àª®àª¿àª• આઈડી',elementType:'પà«àª°àª¾àª¥àª®àª¿àª• પà«àª°àª•àª¾àª°'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/he.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/he.js
deleted file mode 100644
index 605a424..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/he.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','he',{devTools:{title:'מידע על ×”×למנט',dialogName:'×©× ×”×“×™×לוג',tabName:'×©× ×”×˜×ב',elementId:'ID של ×”×למנט',elementType:'סוג ×”×למנט'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/hr.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/hr.js
deleted file mode 100644
index bf67c28..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/hr.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','hr',{devTools:{title:'Informacije elementa',dialogName:'Naziv prozora za dijalog',tabName:'Naziva jahaÄa',elementId:'ID elementa',elementType:'Vrsta elementa'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/it.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/it.js
deleted file mode 100644
index 9fd356b..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/it.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','it',{devTools:{title:'Informazioni elemento',dialogName:'Nome finestra di dialogo',tabName:'Nome Tab',elementId:'ID Elemento',elementType:'Tipo elemento'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/ku.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/ku.js
deleted file mode 100644
index 6084902..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/ku.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang( 'devtools', 'ku',
-{
- devTools :
- {
- title : 'زانیاری توخم',
- dialogName : 'ناوی په‌نجه‌ره‌ی دیالۆگ',
- tabName : 'ناوی بازده‌ر تاب',
- elementId : 'ناسنامه‌ی توخم',
- elementType : 'جۆری توخم'
- }
-});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/lv.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/lv.js
deleted file mode 100644
index d3e2aa8..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/lv.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','lv',{devTools:{title:'Elementa informÄcija',dialogName:'Dialoga loga nosaukums',tabName:'Cilnes nosaukums',elementId:'Elementa ID',elementType:'Elementa tips'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/nb.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/nb.js
deleted file mode 100644
index b8c6335..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/nb.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','nb',{devTools:{title:'Elementinformasjon',dialogName:'Navn på dialogvindu',tabName:'Navn på fane',elementId:'Element-ID',elementType:'Elementtype'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/nl.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/nl.js
deleted file mode 100644
index a331f60..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/nl.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','nl',{devTools:{title:'Elementinformatie',dialogName:'Naam dialoogvenster',tabName:'Tabnaam',elementId:'Element ID',elementType:'Elementtype'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/no.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/no.js
deleted file mode 100644
index 33c106f..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/no.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','no',{devTools:{title:'Elementinformasjon',dialogName:'Navn på dialogvindu',tabName:'Navn på fane',elementId:'Element-ID',elementType:'Elementtype'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/pl.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/pl.js
deleted file mode 100644
index 1a162b1..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/pl.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','pl',{devTools:{title:'Informacja o elemencie',dialogName:'Nazwa okna dialogowego',tabName:'Nazwa zakładki',elementId:'ID elementu',elementType:'Typ elementu'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/pt-br.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/pt-br.js
deleted file mode 100644
index df2e01b..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/pt-br.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','pt-br',{devTools:{title:'Informação do Elemento',dialogName:'Nome da janela de diálogo',tabName:'Nome da aba',elementId:'ID do elemento',elementType:'Tipo do elemento'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/sk.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/sk.js
deleted file mode 100644
index 79cfea1..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/sk.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','sk',{devTools:{title:'Informácie o prvku',dialogName:'Názov okna dialógu',tabName:'Názov záložky',elementId:'ID prvku',elementType:'Typ prvku'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/tr.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/tr.js
deleted file mode 100644
index e1e84f6..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/tr.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','tr',{devTools:{title:'Eleman Bilgisi',dialogName:'İletişim pencere ismi',tabName:'Sekme adı',elementId:'Eleman ID',elementType:'Eleman türü'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/ug.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/ug.js
deleted file mode 100644
index d36c83f..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/ug.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','ug',{devTools:{title:'ئÛÙ„ÛÙ…Ûنت ئۇچۇرى',dialogName:'سۆزلەشكۈ كۆزنەك ئاتى',tabName:'Tab ئاتى',elementId:'ئÛÙ„ÛÙ…Ûنت كىملىكى',elementType:'ئÛÙ„ÛÙ…Ûنت تىپى'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/uk.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/uk.js
deleted file mode 100644
index 6648bb4..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/uk.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','uk',{devTools:{title:'ВідомоÑÑ‚Ñ– про Елемент',dialogName:'Заголовок діалогового вікна',tabName:'Ðазва вкладки',elementId:'Ідентифікатор Елемента',elementType:'Тип Елемента'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/vi.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/vi.js
deleted file mode 100644
index 2a36b70..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/vi.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','vi',{devTools:{title:'Thông tin thành ph',dialogName:'Tên hộp tho',tabName:'Tên th',elementId:'Mã thành ph',elementType:'Loại thành ph'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/zh-cn.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/zh-cn.js
deleted file mode 100644
index dbb0a1f..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/lang/zh-cn.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('devtools','zh-cn',{devTools:{title:'元素信æ¯',dialogName:'对è¯æ¡†çª—å£å称',tabName:'Tab å称',elementId:'元素 ID',elementType:'元素类型'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/plugin.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/plugin.js
deleted file mode 100644
index abde43d..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/devtools/plugin.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.add('devtools',{lang:['en','bg','cs','cy','da','de','el','eo','et','fa','fi','fr','gu','he','hr','it','ku','nb','nl','no','pl','pt-br','sk','tr','ug','uk','vi','zh-cn'],init:function(a){a._.showDialogDefinitionTooltips=1;},onLoad:function(){CKEDITOR.document.appendStyleText(CKEDITOR.config.devtools_styles||'#cke_tooltip { padding: 5px; border: 2px solid #333; background: #ffffff }#cke_tooltip h2 { font-size: 1.1em; border-bottom: 1px solid; margin: 0; padding: 1px; }#cke_tooltip ul { padding: 0pt; list-style-type: none; }');}});(function(){function a(d,e,f,g){var h=d.lang.devTools,i='<a href="http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.dialog.definition.'+(f?f.type=='text'?'textInput':f.type:'content')+'.html" target="_blank">'+(f?f.type:'content')+'</a>',j='<h2>'+h.title+'</h2>'+'<ul>'+'<li><strong>'+h.dialogName+'</strong> : '+e.getName()+'</li>'+'<li><strong>'+h.tabName+'</strong> : '+g+'</li>';if(f)j+='<li><strong>'+h.elementId+'</strong> : '+f.id+'</li>';j+='<li><strong>'+h.elementType+'</strong> : '+i+'</li>';return j+'</ul>';};function b(d,e,f,g,h,i){var j=e.getDocumentPosition(),k={'z-index':CKEDITOR.dialog._.currentZIndex+10,top:j.y+e.getSize('height')+'px'};c.setHtml(d(f,g,h,i));c.show();if(f.lang.dir=='rtl'){var l=CKEDITOR.document.getWindow().getViewPaneSize();k.right=l.width-j.x-e.getSize('width')+'px';}else k.left=j.x+'px';c.setStyles(k);};var c;CKEDITOR.on('reset',function(){c&&c.remove();c=null;});CKEDITOR.on('dialogDefinition',function(d){var e=d.editor;if(e._.showDialogDefinitionTooltips){if(!c){c=CKEDITOR.dom.element.createFromHtml('<div id="cke_tooltip" tabindex="-1" style="position: absolute"></div>',CKEDITOR.document);c.hide();c.on('mouseover',function(){this.show();});c.on('mouseout',function(){this.hide();});c.appendTo(CKEDITOR.document.getBody());}var f=d.data.definition.dialog,g=e.config.devtools_textCallback||a;f.on('load',function(){var h=f.parts.tabs.getChildren(),i;for(var j=0,k=h.count();j<k;j++){i=h.getItem(j);i.on('mouseover',function(){var l=this.$.id;b(g,this,e,f,null,l.substring(4,l.lastIndexOf('_')));});i.on('mouseout',function(){c.hide();});}f.foreach(function(l){if(l.type in {hbox:1,vbox:1})return;var m=l.getElement();if(m){m.on('mouseover',function(){b(g,this,e,f,l,f._.currentTabId);});m.on('mouseout',function(){c.hide();});}});});}});})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/dialog/dialogDefinition.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/dialog/dialogDefinition.js
deleted file mode 100644
index 2ad1d39..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/dialog/dialogDefinition.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/div/dialogs/div.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/div/dialogs/div.js
deleted file mode 100644
index ba4a478..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/div/dialogs/div.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-(function(){function a(d,e,f){if(!e.is||!e.getCustomData('block_processed')){e.is&&CKEDITOR.dom.element.setMarker(f,e,'block_processed',true);d.push(e);}};function b(d){var e=[],f=d.getChildren();for(var g=0;g<f.count();g++){var h=f.getItem(g);if(!(h.type===CKEDITOR.NODE_TEXT&&/^[ \t\n\r]+$/.test(h.getText())))e.push(h);}return e;};function c(d,e){var f=(function(){var p=CKEDITOR.tools.extend({},CKEDITOR.dtd.$blockLimit);delete p.div;if(d.config.div_wrapTable){delete p.td;delete p.th;}return p;})(),g=CKEDITOR.dtd.div;function h(p){var q=new CKEDITOR.dom.elementPath(p).elements,r;for(var s=0;s<q.length;s++){if(q[s].getName() in f){r=q[s];break;}}return r;};function i(){this.foreach(function(p){if(/^(?!vbox|hbox)/.test(p.type)){if(!p.setup)p.setup=function(q){p.setValue(q.getAttribute(p.id)||'');};if(!p.commit)p.commit=function(q){var r=this.getValue();if('dir'==p.id&&q.getComputedStyle('direction')==r)return;if(r)q.setAttribute(p.id,r);else q.removeAttribute(p.id);};}});};function j(p){var q=[],r={},s=[],t,u=p.document.getSelection(),v=u.getRanges(),w=u.createBookmarks(),x,y,z=p.config.enterMode==CKEDITOR.ENTER_DIV?'div':'p';for(x=0;x<v.length;x++){y=v[x].createIterator();while(t=y.getNextParagraph()){if(t.getName() in f){var A,B=t.getChildren();for(A=0;A<B.count();A++)a(s,B.getItem(A),r);}else{while(!g[t.getName()]&&t.getName()!='body')t=t.getParent();a(s,t,r);}}}CKEDITOR.dom.element.clearAllMarkers(r);var C=l(s),D,E,F;for(x=0;x<C.length;x++){var G=C[x][0];D=G.getParent();for(A=1;A<C[x].length;A++)D=D.getCommonAncestor(C[x][A]);F=new CKEDITOR.dom.element('div',p.document);for(A=0;A<C[x].length;A++){G=C[x][A];while(!G.getParent().equals(D))G=G.getParent();C[x][A]=G;}var H=null;for(A=0;A<C[x].length;A++){G=C[x][A];if(!(G.getCustomData&&G.getCustomData('block_processed'))){G.is&&CKEDITOR.dom.element.setMarker(r,G,'block_processed',true);if(!A)F.insertBefore(G);F.append(G);}}CKEDITOR.dom.element.clearAllMarkers(r);q.push(F);}u.selectBookmarks(w);return q;};function k(p){var q=new CKEDITOR.dom.elementPath(p.getSelection().getStartElement()),r=q.blockLimit,s=r&&r.getAscendant('div',true);return s;};function l(p){var q=[],r=null,s,t;for(var u=0;u<p.length;u++){t=p[u];var v=h(t);if(!v.equals(r)){r=v;q.push([]);}q[q.length-1].push(t);}return q;};function m(p){var q=this.getDialog(),r=q._element&&q._element.clone()||new CKEDITOR.dom.element('div',d.document);this.commit(r,true);p=[].concat(p);var s=p.length,t;for(var u=0;u<s;u++){t=q.getContentElement.apply(q,p[u].split(':'));
-t&&t.setup&&t.setup(r,true);}};var n={},o=[];return{title:d.lang.div.title,minWidth:400,minHeight:165,contents:[{id:'info',label:d.lang.common.generalTab,title:d.lang.common.generalTab,elements:[{type:'hbox',widths:['50%','50%'],children:[{id:'elementStyle',type:'select',style:'width: 100%;',label:d.lang.div.styleSelectLabel,'default':'',items:[[d.lang.common.notSet,'']],onChange:function(){m.call(this,['info:class','advanced:dir','advanced:style']);},setup:function(p){for(var q in n)n[q].checkElementRemovable(p,true)&&this.setValue(q);},commit:function(p){var q;if(q=this.getValue()){var r=n[q],s=p.getCustomData('elementStyle')||'';r.applyToObject(p);p.setCustomData('elementStyle',s+r._.definition.attributes.style);}}},{id:'class',type:'text',label:d.lang.common.cssClass,'default':''}]}]},{id:'advanced',label:d.lang.common.advancedTab,title:d.lang.common.advancedTab,elements:[{type:'vbox',padding:1,children:[{type:'hbox',widths:['50%','50%'],children:[{type:'text',id:'id',label:d.lang.common.id,'default':''},{type:'text',id:'lang',label:d.lang.link.langCode,'default':''}]},{type:'hbox',children:[{type:'text',id:'style',style:'width: 100%;',label:d.lang.common.cssStyle,'default':'',commit:function(p){var q=this.getValue()+(p.getCustomData('elementStyle')||'');p.setAttribute('style',q);}}]},{type:'hbox',children:[{type:'text',id:'title',style:'width: 100%;',label:d.lang.common.advisoryTitle,'default':''}]},{type:'select',id:'dir',style:'width: 100%;',label:d.lang.common.langDir,'default':'',items:[[d.lang.common.notSet,''],[d.lang.common.langDirLtr,'ltr'],[d.lang.common.langDirRtl,'rtl']]}]}]}],onLoad:function(){i.call(this);var p=this,q=this.getContentElement('info','elementStyle');d.getStylesSet(function(r){var s;if(r)for(var t=0;t<r.length;t++){var u=r[t];if(u.element&&u.element=='div'){s=u.name;n[s]=new CKEDITOR.style(u);q.items.push([s,s]);q.add(s,s);}}q[q.items.length>1?'enable':'disable']();setTimeout(function(){q.setup(p._element);},0);});},onShow:function(){if(e=='editdiv'){var p=k(d);p&&this.setupContent(this._element=p);}},onOk:function(){if(e=='editdiv')o=[this._element];else o=j(d,true);var p=o.length;for(var q=0;q<p;q++){this.commitContent(o[q]);!o[q].getAttribute('style')&&o[q].removeAttribute('style');}this.hide();},onHide:function(){if(e=='editdiv')this._element.removeCustomData('elementStyle');delete this._element;}};};CKEDITOR.dialog.add('creatediv',function(d){return c(d,'creatediv');});CKEDITOR.dialog.add('editdiv',function(d){return c(d,'editdiv');
-});})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/docprops/dialogs/docprops.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/docprops/dialogs/docprops.js
deleted file mode 100644
index 9176d36..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/docprops/dialogs/docprops.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.dialog.add('docProps',function(a){var b=a.lang.docprops,c=a.lang.common,d={};function e(n,o){var p=function(){q(this);o(this,this._.parentDialog);},q=function(s){s.removeListener('ok',p);s.removeListener('cancel',q);},r=function(s){s.on('ok',p);s.on('cancel',q);};a.execCommand(n);if(a._.storedDialogs.colordialog)r(a._.storedDialogs.colordialog);else CKEDITOR.on('dialogDefinition',function(s){if(s.data.name!=n)return;var t=s.data.definition;s.removeListener();t.onLoad=CKEDITOR.tools.override(t.onLoad,function(u){return function(){r(this);t.onLoad=u;if(typeof u=='function')u.call(this);};});});};function f(){var n=this.getDialog(),o=n.getContentElement('general',this.id+'Other');if(!o)return;if(this.getValue()=='other'){o.getInputElement().removeAttribute('readOnly');o.focus();o.getElement().removeClass('cke_disabled');}else{o.getInputElement().setAttribute('readOnly',true);o.getElement().addClass('cke_disabled');}};function g(n,o,p){return function(q,r,s){var t=d,u=typeof p!='undefined'?p:this.getValue();if(!u&&n in t)t[n].remove();else if(u&&n in t)t[n].setAttribute('content',u);else if(u){var v=new CKEDITOR.dom.element('meta',a.document);v.setAttribute(o?'http-equiv':'name',n);v.setAttribute('content',u);s.append(v);}};};function h(n,o){return function(){var p=d,q=n in p?p[n].getAttribute('content')||'':'';if(o)return q;this.setValue(q);return null;};};function i(n){return function(o,p,q,r){r.removeAttribute('margin'+n);var s=this.getValue();if(s!=='')r.setStyle('margin-'+n,CKEDITOR.tools.cssLength(s));else r.removeStyle('margin-'+n);};};function j(n){var o={},p=n.getElementsByTag('meta'),q=p.count();for(var r=0;r<q;r++){var s=p.getItem(r);o[s.getAttribute(s.hasAttribute('http-equiv')?'http-equiv':'name').toLowerCase()]=s;}return o;};function k(n,o,p){n.removeStyle(o);if(n.getComputedStyle(o)!=p)n.setStyle(o,p);};var l=function(n,o,p){return{type:'hbox',padding:0,widths:['60%','40%'],children:[CKEDITOR.tools.extend({type:'text',id:n,label:b[o]},p||{},1),{type:'button',id:n+'Choose',label:b.chooseColor,className:'colorChooser',onClick:function(){var q=this;e('colordialog',function(r){var s=q.getDialog();s.getContentElement(s._.currentTabId,n).setValue(r.getContentElement('picker','selectedColor').getValue());});}}]};},m='javascript:void((function(){'+encodeURIComponent('document.open();'+(CKEDITOR.env.isCustomDomain()?"document.domain='"+document.domain+"';":'')+'document.write( \'<html style="background-color: #ffffff; height: 100%"><head></head><body style="width: 100%; height: 100%; margin: 0px">'+b.previewHtml+"</body></html>' );"+'document.close();')+'})())';
-return{title:b.title,minHeight:330,minWidth:500,onShow:function(){var n=a.document,o=n.getElementsByTag('html').getItem(0),p=n.getHead(),q=n.getBody();d=j(n);this.setupContent(n,o,p,q);},onHide:function(){d={};},onOk:function(){var n=a.document,o=n.getElementsByTag('html').getItem(0),p=n.getHead(),q=n.getBody();this.commitContent(n,o,p,q);},contents:[{id:'general',label:c.generalTab,elements:[{type:'text',id:'title',label:b.docTitle,setup:function(n){this.setValue(n.getElementsByTag('title').getItem(0).data('cke-title'));},commit:function(n,o,p,q,r){if(r)return;n.getElementsByTag('title').getItem(0).data('cke-title',this.getValue());}},{type:'hbox',children:[{type:'select',id:'dir',label:c.langDir,style:'width: 100%',items:[[c.notSet,''],[c.langDirLtr,'ltr'],[c.langDirRtl,'rtl']],setup:function(n,o,p,q){this.setValue(q.getDirection()||'');},commit:function(n,o,p,q){var r=this.getValue();if(r)q.setAttribute('dir',r);else q.removeAttribute('dir');q.removeStyle('direction');}},{type:'text',id:'langCode',label:c.langCode,setup:function(n,o){this.setValue(o.getAttribute('xml:lang')||o.getAttribute('lang')||'');},commit:function(n,o,p,q,r){if(r)return;var s=this.getValue();if(s)o.setAttributes({'xml:lang':s,lang:s});else o.removeAttributes({'xml:lang':1,lang:1});}}]},{type:'hbox',children:[{type:'select',id:'charset',label:b.charset,style:'width: 100%',items:[[c.notSet,''],[b.charsetASCII,'us-ascii'],[b.charsetCE,'iso-8859-2'],[b.charsetCT,'big5'],[b.charsetCR,'iso-8859-5'],[b.charsetGR,'iso-8859-7'],[b.charsetJP,'iso-2022-jp'],[b.charsetKR,'iso-2022-kr'],[b.charsetTR,'iso-8859-9'],[b.charsetUN,'utf-8'],[b.charsetWE,'iso-8859-1'],[b.other,'other']],'default':'',onChange:function(){var n=this;n.getDialog().selectedCharset=n.getValue()!='other'?n.getValue():'';f.call(n);},setup:function(){var q=this;q.metaCharset='charset' in d;var n=h(q.metaCharset?'charset':'content-type',1,1),o=n.call(q);!q.metaCharset&&o.match(/charset=[^=]+$/)&&(o=o.substring(o.indexOf('=')+1));if(o){q.setValue(o.toLowerCase());if(!q.getValue()){q.setValue('other');var p=q.getDialog().getContentElement('general','charsetOther');p&&p.setValue(o);}q.getDialog().selectedCharset=o;}f.call(q);},commit:function(n,o,p,q,r){var v=this;if(r)return;var s=v.getValue(),t=v.getDialog().getContentElement('general','charsetOther');s=='other'&&(s=t?t.getValue():'');s&&!v.metaCharset&&(s=(d['content-type']?d['content-type'].getAttribute('content').split(';')[0]:'text/html')+'; charset='+s);var u=g(v.metaCharset?'charset':'content-type',1,s);
-u.call(v,n,o,p);}},{type:'text',id:'charsetOther',label:b.charsetOther,onChange:function(){this.getDialog().selectedCharset=this.getValue();}}]},{type:'hbox',children:[{type:'select',id:'docType',label:b.docType,style:'width: 100%',items:[[c.notSet,''],['XHTML 1.1','<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">'],['XHTML 1.0 Transitional','<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'],['XHTML 1.0 Strict','<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'],['XHTML 1.0 Frameset','<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">'],['HTML 5','<!DOCTYPE html>'],['HTML 4.01 Transitional','<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">'],['HTML 4.01 Strict','<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">'],['HTML 4.01 Frameset','<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">'],['HTML 3.2','<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">'],['HTML 2.0','<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">'],[b.other,'other']],onChange:f,setup:function(){var o=this;if(a.docType){o.setValue(a.docType);if(!o.getValue()){o.setValue('other');var n=o.getDialog().getContentElement('general','docTypeOther');n&&n.setValue(a.docType);}}f.call(o);},commit:function(n,o,p,q,r){if(r)return;var s=this.getValue(),t=this.getDialog().getContentElement('general','docTypeOther');a.docType=s=='other'?t?t.getValue():'':s;}},{type:'text',id:'docTypeOther',label:b.docTypeOther}]},{type:'checkbox',id:'xhtmlDec',label:b.xhtmlDec,setup:function(){this.setValue(!!a.xmlDeclaration);},commit:function(n,o,p,q,r){if(r)return;if(this.getValue()){a.xmlDeclaration='<?xml version="1.0" encoding="'+(this.getDialog().selectedCharset||'utf-8')+'"?>';o.setAttribute('xmlns','http://www.w3.org/1999/xhtml');}else{a.xmlDeclaration='';o.removeAttribute('xmlns');}}}]},{id:'design',label:b.design,elements:[{type:'hbox',widths:['60%','40%'],children:[{type:'vbox',children:[l('txtColor','txtColor',{setup:function(n,o,p,q){this.setValue(q.getComputedStyle('color'));},commit:function(n,o,p,q,r){if(this.isChanged()||r){q.removeAttribute('text');var s=this.getValue();if(s)q.setStyle('color',s);else q.removeStyle('color');}}}),l('bgColor','bgColor',{setup:function(n,o,p,q){var r=q.getComputedStyle('background-color')||'';
-this.setValue(r=='transparent'?'':r);},commit:function(n,o,p,q,r){if(this.isChanged()||r){q.removeAttribute('bgcolor');var s=this.getValue();if(s)q.setStyle('background-color',s);else k(q,'background-color','transparent');}}}),{type:'hbox',widths:['60%','40%'],padding:1,children:[{type:'text',id:'bgImage',label:b.bgImage,setup:function(n,o,p,q){var r=q.getComputedStyle('background-image')||'';if(r=='none')r='';else r=r.replace(/url\(\s*(["']?)\s*([^\)]*)\s*\1\s*\)/i,function(s,t,u){return u;});this.setValue(r);},commit:function(n,o,p,q){q.removeAttribute('background');var r=this.getValue();if(r)q.setStyle('background-image','url('+r+')');else k(q,'background-image','none');}},{type:'button',id:'bgImageChoose',label:c.browseServer,style:'display:inline-block;margin-top:10px;',hidden:true,filebrowser:'design:bgImage'}]},{type:'checkbox',id:'bgFixed',label:b.bgFixed,setup:function(n,o,p,q){this.setValue(q.getComputedStyle('background-attachment')=='fixed');},commit:function(n,o,p,q){if(this.getValue())q.setStyle('background-attachment','fixed');else k(q,'background-attachment','scroll');}}]},{type:'vbox',children:[{type:'html',id:'marginTitle',html:'<div style="text-align: center; margin: 0px auto; font-weight: bold">'+b.margin+'</div>'},{type:'text',id:'marginTop',label:b.marginTop,style:'width: 80px; text-align: center',align:'center',inputStyle:'text-align: center',setup:function(n,o,p,q){this.setValue(q.getStyle('margin-top')||q.getAttribute('margintop')||'');},commit:i('top')},{type:'hbox',children:[{type:'text',id:'marginLeft',label:b.marginLeft,style:'width: 80px; text-align: center',align:'center',inputStyle:'text-align: center',setup:function(n,o,p,q){this.setValue(q.getStyle('margin-left')||q.getAttribute('marginleft')||'');},commit:i('left')},{type:'text',id:'marginRight',label:b.marginRight,style:'width: 80px; text-align: center',align:'center',inputStyle:'text-align: center',setup:function(n,o,p,q){this.setValue(q.getStyle('margin-right')||q.getAttribute('marginright')||'');},commit:i('right')}]},{type:'text',id:'marginBottom',label:b.marginBottom,style:'width: 80px; text-align: center',align:'center',inputStyle:'text-align: center',setup:function(n,o,p,q){this.setValue(q.getStyle('margin-bottom')||q.getAttribute('marginbottom')||'');},commit:i('bottom')}]}]}]},{id:'meta',label:b.meta,elements:[{type:'textarea',id:'metaKeywords',label:b.metaKeywords,setup:h('keywords'),commit:g('keywords')},{type:'textarea',id:'metaDescription',label:b.metaDescription,setup:h('description'),commit:g('description')},{type:'text',id:'metaAuthor',label:b.metaAuthor,setup:h('author'),commit:g('author')},{type:'text',id:'metaCopyright',label:b.metaCopyright,setup:h('copyright'),commit:g('copyright')}]},{id:'preview',label:c.preview,elements:[{type:'html',id:'previewHtml',html:'<iframe src="'+m+'" style="width: 100%; height: 310px" hidefocus="true" frameborder="0" '+'id="cke_docProps_preview_iframe"></iframe>',onLoad:function(){this.getDialog().on('selectPage',function(n){if(n.data.page=='preview'){var o=this;
-setTimeout(function(){var p=CKEDITOR.document.getById('cke_docProps_preview_iframe').getFrameDocument(),q=p.getElementsByTag('html').getItem(0),r=p.getHead(),s=p.getBody();o.commitContent(p,q,r,s,1);},50);}});CKEDITOR.document.getById('cke_docProps_preview_iframe').getAscendant('table').setStyle('height','100%');}}]}]};});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/docprops/plugin.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/docprops/plugin.js
deleted file mode 100644
index 66eb104..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/docprops/plugin.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.add('docprops',{init:function(a){var b=new CKEDITOR.dialogCommand('docProps');b.modes={wysiwyg:a.config.fullPage};a.addCommand('docProps',b);CKEDITOR.dialog.add('docProps',this.path+'dialogs/docprops.js');a.ui.addButton('DocProps',{label:a.lang.docprops.label,command:'docProps'});}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/find/dialogs/find.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/find/dialogs/find.js
deleted file mode 100644
index 4ce1ba2..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/find/dialogs/find.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-(function(){var a;function b(i){return i.type==CKEDITOR.NODE_TEXT&&i.getLength()>0&&(!a||!i.isReadOnly());};function c(i){return!(i.type==CKEDITOR.NODE_ELEMENT&&i.isBlockBoundary(CKEDITOR.tools.extend({},CKEDITOR.dtd.$empty,CKEDITOR.dtd.$nonEditable)));};var d=function(){var i=this;return{textNode:i.textNode,offset:i.offset,character:i.textNode?i.textNode.getText().charAt(i.offset):null,hitMatchBoundary:i._.matchBoundary};},e=['find','replace'],f=[['txtFindFind','txtFindReplace'],['txtFindCaseChk','txtReplaceCaseChk'],['txtFindWordChk','txtReplaceWordChk'],['txtFindCyclic','txtReplaceCyclic']];function g(i){var j,k,l,m;j=i==='find'?1:0;k=1-j;var n,o=f.length;for(n=0;n<o;n++){l=this.getContentElement(e[j],f[n][j]);m=this.getContentElement(e[k],f[n][k]);m.setValue(l.getValue());}};var h=function(i,j){var k=new CKEDITOR.style(CKEDITOR.tools.extend({attributes:{'data-cke-highlight':1},fullMatch:1,ignoreReadonly:1,childRule:function(){return 0;}},i.config.find_highlight,true)),l=function(y,z){var A=this,B=new CKEDITOR.dom.walker(y);B.guard=z?c:function(C){!c(C)&&(A._.matchBoundary=true);};B.evaluator=b;B.breakOnFalse=1;if(y.startContainer.type==CKEDITOR.NODE_TEXT){this.textNode=y.startContainer;this.offset=y.startOffset-1;}this._={matchWord:z,walker:B,matchBoundary:false};};l.prototype={next:function(){return this.move();},back:function(){return this.move(true);},move:function(y){var A=this;var z=A.textNode;if(z===null)return d.call(A);A._.matchBoundary=false;if(z&&y&&A.offset>0){A.offset--;return d.call(A);}else if(z&&A.offset<z.getLength()-1){A.offset++;return d.call(A);}else{z=null;while(!z){z=A._.walker[y?'previous':'next'].call(A._.walker);if(A._.matchWord&&!z||A._.walker._.end)break;}A.textNode=z;if(z)A.offset=y?z.getLength()-1:0;else A.offset=0;}return d.call(A);}};var m=function(y,z){this._={walker:y,cursors:[],rangeLength:z,highlightRange:null,isMatched:0};};m.prototype={toDomRange:function(){var y=new CKEDITOR.dom.range(i.document),z=this._.cursors;if(z.length<1){var A=this._.walker.textNode;if(A)y.setStartAfter(A);else return null;}else{var B=z[0],C=z[z.length-1];y.setStart(B.textNode,B.offset);y.setEnd(C.textNode,C.offset+1);}return y;},updateFromDomRange:function(y){var B=this;var z,A=new l(y);B._.cursors=[];do{z=A.next();if(z.character)B._.cursors.push(z);}while(z.character);B._.rangeLength=B._.cursors.length;},setMatched:function(){this._.isMatched=true;},clearMatched:function(){this._.isMatched=false;},isMatched:function(){return this._.isMatched;
-},highlight:function(){var B=this;if(B._.cursors.length<1)return;if(B._.highlightRange)B.removeHighlight();var y=B.toDomRange(),z=y.createBookmark();k.applyToRange(y);y.moveToBookmark(z);B._.highlightRange=y;var A=y.startContainer;if(A.type!=CKEDITOR.NODE_ELEMENT)A=A.getParent();A.scrollIntoView();B.updateFromDomRange(y);},removeHighlight:function(){var z=this;if(!z._.highlightRange)return;var y=z._.highlightRange.createBookmark();k.removeFromRange(z._.highlightRange);z._.highlightRange.moveToBookmark(y);z.updateFromDomRange(z._.highlightRange);z._.highlightRange=null;},isReadOnly:function(){if(!this._.highlightRange)return 0;return this._.highlightRange.startContainer.isReadOnly();},moveBack:function(){var A=this;var y=A._.walker.back(),z=A._.cursors;if(y.hitMatchBoundary)A._.cursors=z=[];z.unshift(y);if(z.length>A._.rangeLength)z.pop();return y;},moveNext:function(){var A=this;var y=A._.walker.next(),z=A._.cursors;if(y.hitMatchBoundary)A._.cursors=z=[];z.push(y);if(z.length>A._.rangeLength)z.shift();return y;},getEndCharacter:function(){var y=this._.cursors;if(y.length<1)return null;return y[y.length-1].character;},getNextCharacterRange:function(y){var z,A,B=this._.cursors;if((z=B[B.length-1])&&z.textNode)A=new l(n(z));else A=this._.walker;return new m(A,y);},getCursors:function(){return this._.cursors;}};function n(y,z){var A=new CKEDITOR.dom.range();A.setStart(y.textNode,z?y.offset:y.offset+1);A.setEndAt(i.document.getBody(),CKEDITOR.POSITION_BEFORE_END);return A;};function o(y){var z=new CKEDITOR.dom.range();z.setStartAt(i.document.getBody(),CKEDITOR.POSITION_AFTER_START);z.setEnd(y.textNode,y.offset);return z;};var p=0,q=1,r=2,s=function(y,z){var A=[-1];if(z)y=y.toLowerCase();for(var B=0;B<y.length;B++){A.push(A[B]+1);while(A[B+1]>0&&y.charAt(B)!=y.charAt(A[B+1]-1))A[B+1]=A[A[B+1]-1]+1;}this._={overlap:A,state:0,ignoreCase:!!z,pattern:y};};s.prototype={feedCharacter:function(y){var z=this;if(z._.ignoreCase)y=y.toLowerCase();for(;;){if(y==z._.pattern.charAt(z._.state)){z._.state++;if(z._.state==z._.pattern.length){z._.state=0;return r;}return q;}else if(!z._.state)return p;else z._.state=z._.overlap[z._.state];}return null;},reset:function(){this._.state=0;}};var t=/[.,"'?!;: \u0085\u00a0\u1680\u280e\u2028\u2029\u202f\u205f\u3000]/,u=function(y){if(!y)return true;var z=y.charCodeAt(0);return z>=9&&z<=13||z>=8192&&z<=8202||t.test(y);},v={searchRange:null,matchRange:null,find:function(y,z,A,B,C,D){var O=this;if(!O.matchRange)O.matchRange=new m(new l(O.searchRange),y.length);
-else{O.matchRange.removeHighlight();O.matchRange=O.matchRange.getNextCharacterRange(y.length);}var E=new s(y,!z),F=p,G='%';while(G!==null){O.matchRange.moveNext();while(G=O.matchRange.getEndCharacter()){F=E.feedCharacter(G);if(F==r)break;if(O.matchRange.moveNext().hitMatchBoundary)E.reset();}if(F==r){if(A){var H=O.matchRange.getCursors(),I=H[H.length-1],J=H[0],K=o(J),L=n(I);K.trim();L.trim();var M=new l(K,true),N=new l(L,true);if(!(u(M.back().character)&&u(N.next().character)))continue;}O.matchRange.setMatched();if(C!==false)O.matchRange.highlight();return true;}}O.matchRange.clearMatched();O.matchRange.removeHighlight();if(B&&!D){O.searchRange=w(1);O.matchRange=null;return arguments.callee.apply(O,Array.prototype.slice.call(arguments).concat([true]));}return false;},replaceCounter:0,replace:function(y,z,A,B,C,D,E){var J=this;a=1;var F=0;if(J.matchRange&&J.matchRange.isMatched()&&!J.matchRange._.isReplaced&&!J.matchRange.isReadOnly()){J.matchRange.removeHighlight();var G=J.matchRange.toDomRange(),H=i.document.createText(A);if(!E){var I=i.getSelection();I.selectRanges([G]);i.fire('saveSnapshot');}G.deleteContents();G.insertNode(H);if(!E){I.selectRanges([G]);i.fire('saveSnapshot');}J.matchRange.updateFromDomRange(G);if(!E)J.matchRange.highlight();J.matchRange._.isReplaced=true;J.replaceCounter++;F=1;}else F=J.find(z,B,C,D,!E);a=0;return F;}};function w(y){var z,A=i.getSelection(),B=i.document.getBody();if(A&&!y){z=A.getRanges()[0].clone();z.collapse(true);}else{z=new CKEDITOR.dom.range();z.setStartAt(B,CKEDITOR.POSITION_AFTER_START);}z.setEndAt(B,CKEDITOR.POSITION_BEFORE_END);return z;};var x=i.lang.findAndReplace;return{title:x.title,resizable:CKEDITOR.DIALOG_RESIZE_NONE,minWidth:350,minHeight:170,buttons:[CKEDITOR.dialog.cancelButton],contents:[{id:'find',label:x.find,title:x.find,accessKey:'',elements:[{type:'hbox',widths:['230px','90px'],children:[{type:'text',id:'txtFindFind',label:x.findWhat,isChanged:false,labelLayout:'horizontal',accessKey:'F'},{type:'button',id:'btnFind',align:'left',style:'width:100%',label:x.find,onClick:function(){var y=this.getDialog();if(!v.find(y.getValueOf('find','txtFindFind'),y.getValueOf('find','txtFindCaseChk'),y.getValueOf('find','txtFindWordChk'),y.getValueOf('find','txtFindCyclic')))alert(x.notFoundMsg);}}]},{type:'fieldset',label:CKEDITOR.tools.htmlEncode(x.findOptions),style:'margin-top:29px',children:[{type:'vbox',padding:0,children:[{type:'checkbox',id:'txtFindCaseChk',isChanged:false,label:x.matchCase},{type:'checkbox',id:'txtFindWordChk',isChanged:false,label:x.matchWord},{type:'checkbox',id:'txtFindCyclic',isChanged:false,'default':true,label:x.matchCyclic}]}]}]},{id:'replace',label:x.replace,accessKey:'M',elements:[{type:'hbox',widths:['230px','90px'],children:[{type:'text',id:'txtFindReplace',label:x.findWhat,isChanged:false,labelLayout:'horizontal',accessKey:'F'},{type:'button',id:'btnFindReplace',align:'left',style:'width:100%',label:x.replace,onClick:function(){var y=this.getDialog();
-if(!v.replace(y,y.getValueOf('replace','txtFindReplace'),y.getValueOf('replace','txtReplace'),y.getValueOf('replace','txtReplaceCaseChk'),y.getValueOf('replace','txtReplaceWordChk'),y.getValueOf('replace','txtReplaceCyclic')))alert(x.notFoundMsg);}}]},{type:'hbox',widths:['230px','90px'],children:[{type:'text',id:'txtReplace',label:x.replaceWith,isChanged:false,labelLayout:'horizontal',accessKey:'R'},{type:'button',id:'btnReplaceAll',align:'left',style:'width:100%',label:x.replaceAll,isChanged:false,onClick:function(){var y=this.getDialog(),z;v.replaceCounter=0;v.searchRange=w(1);if(v.matchRange){v.matchRange.removeHighlight();v.matchRange=null;}i.fire('saveSnapshot');while(v.replace(y,y.getValueOf('replace','txtFindReplace'),y.getValueOf('replace','txtReplace'),y.getValueOf('replace','txtReplaceCaseChk'),y.getValueOf('replace','txtReplaceWordChk'),false,true)){}if(v.replaceCounter){alert(x.replaceSuccessMsg.replace(/%1/,v.replaceCounter));i.fire('saveSnapshot');}else alert(x.notFoundMsg);}}]},{type:'fieldset',label:CKEDITOR.tools.htmlEncode(x.findOptions),children:[{type:'vbox',padding:0,children:[{type:'checkbox',id:'txtReplaceCaseChk',isChanged:false,label:x.matchCase},{type:'checkbox',id:'txtReplaceWordChk',isChanged:false,label:x.matchWord},{type:'checkbox',id:'txtReplaceCyclic',isChanged:false,'default':true,label:x.matchCyclic}]}]}]}],onLoad:function(){var y=this,z,A,B=0;this.on('hide',function(){B=0;});this.on('show',function(){B=1;});this.selectPage=CKEDITOR.tools.override(this.selectPage,function(C){return function(D){C.call(y,D);var E=y._.tabs[D],F,G,H;G=D==='find'?'txtFindFind':'txtFindReplace';H=D==='find'?'txtFindWordChk':'txtReplaceWordChk';z=y.getContentElement(D,G);A=y.getContentElement(D,H);if(!E.initialized){F=CKEDITOR.document.getById(z._.inputId);E.initialized=true;}if(B)g.call(this,D);};});},onShow:function(){var B=this;v.searchRange=w();var y=B.getParentEditor().getSelection().getSelectedText(),z=j=='find'?'txtFindFind':'txtFindReplace',A=B.getContentElement(j,z);A.setValue(y);A.select();B.selectPage(j);B[(j=='find'&&B._.editor.readOnly?'hide':'show')+'Page']('replace');},onHide:function(){var y;if(v.matchRange&&v.matchRange.isMatched()){v.matchRange.removeHighlight();i.focus();y=v.matchRange.toDomRange();if(y)i.getSelection().selectRanges([y]);}delete v.matchRange;},onFocus:function(){if(j=='replace')return this.getContentElement('replace','txtFindReplace');else return this.getContentElement('find','txtFindFind');}};};CKEDITOR.dialog.add('find',function(i){return h(i,'find');
-});CKEDITOR.dialog.add('replace',function(i){return h(i,'replace');});})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/flash/dialogs/flash.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/flash/dialogs/flash.js
deleted file mode 100644
index a4eb156..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/flash/dialogs/flash.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-(function(){var a=1,b=2,c=4,d={id:[{type:a,name:'id'}],classid:[{type:a,name:'classid'}],codebase:[{type:a,name:'codebase'}],pluginspage:[{type:c,name:'pluginspage'}],src:[{type:b,name:'movie'},{type:c,name:'src'},{type:a,name:'data'}],name:[{type:c,name:'name'}],align:[{type:a,name:'align'}],'class':[{type:a,name:'class'},{type:c,name:'class'}],width:[{type:a,name:'width'},{type:c,name:'width'}],height:[{type:a,name:'height'},{type:c,name:'height'}],hSpace:[{type:a,name:'hSpace'},{type:c,name:'hSpace'}],vSpace:[{type:a,name:'vSpace'},{type:c,name:'vSpace'}],style:[{type:a,name:'style'},{type:c,name:'style'}],type:[{type:c,name:'type'}]},e=['play','loop','menu','quality','scale','salign','wmode','bgcolor','base','flashvars','allowScriptAccess','allowFullScreen'];for(var f=0;f<e.length;f++)d[e[f]]=[{type:c,name:e[f]},{type:b,name:e[f]}];e=['allowFullScreen','play','loop','menu'];for(f=0;f<e.length;f++)d[e[f]][0]['default']=d[e[f]][1]['default']=true;var g=CKEDITOR.tools.cssLength;function h(j,k,l){var r=this;var m=d[r.id];if(!m)return;var n=r instanceof CKEDITOR.ui.dialog.checkbox;for(var o=0;o<m.length;o++){var p=m[o];switch(p.type){case a:if(!j)continue;if(j.getAttribute(p.name)!==null){var q=j.getAttribute(p.name);if(n)r.setValue(q.toLowerCase()=='true');else r.setValue(q);return;}else if(n)r.setValue(!!p['default']);break;case b:if(!j)continue;if(p.name in l){q=l[p.name];if(n)r.setValue(q.toLowerCase()=='true');else r.setValue(q);return;}else if(n)r.setValue(!!p['default']);break;case c:if(!k)continue;if(k.getAttribute(p.name)){q=k.getAttribute(p.name);if(n)r.setValue(q.toLowerCase()=='true');else r.setValue(q);return;}else if(n)r.setValue(!!p['default']);}}};function i(j,k,l){var t=this;var m=d[t.id];if(!m)return;var n=t.getValue()==='',o=t instanceof CKEDITOR.ui.dialog.checkbox;for(var p=0;p<m.length;p++){var q=m[p];switch(q.type){case a:if(!j||q.name=='data'&&k&&!j.hasAttribute('data'))continue;var r=t.getValue();if(n||o&&r===q['default'])j.removeAttribute(q.name);else j.setAttribute(q.name,r);break;case b:if(!j)continue;r=t.getValue();if(n||o&&r===q['default']){if(q.name in l)l[q.name].remove();}else if(q.name in l)l[q.name].setAttribute('value',r);else{var s=CKEDITOR.dom.element.createFromHtml('<cke:param></cke:param>',j.getDocument());s.setAttributes({name:q.name,value:r});if(j.getChildCount()<1)s.appendTo(j);else s.insertBefore(j.getFirst());}break;case c:if(!k)continue;r=t.getValue();if(n||o&&r===q['default'])k.removeAttribute(q.name);else k.setAttribute(q.name,r);
-}}};CKEDITOR.dialog.add('flash',function(j){var k=!j.config.flashEmbedTagOnly,l=j.config.flashAddEmbedTag||j.config.flashEmbedTagOnly,m,n='<div>'+CKEDITOR.tools.htmlEncode(j.lang.common.preview)+'<br>'+'<div id="cke_FlashPreviewLoader'+CKEDITOR.tools.getNextNumber()+'" style="display:none"><div class="loading">&nbsp;</div></div>'+'<div id="cke_FlashPreviewBox'+CKEDITOR.tools.getNextNumber()+'" class="FlashPreviewBox"></div></div>';return{title:j.lang.flash.title,minWidth:420,minHeight:310,onShow:function(){var A=this;A.fakeImage=A.objectNode=A.embedNode=null;m=new CKEDITOR.dom.element('embed',j.document);var o=A.getSelectedElement();if(o&&o.data('cke-real-element-type')&&o.data('cke-real-element-type')=='flash'){A.fakeImage=o;var p=j.restoreRealElement(o),q=null,r=null,s={};if(p.getName()=='cke:object'){q=p;var t=q.getElementsByTag('embed','cke');if(t.count()>0)r=t.getItem(0);var u=q.getElementsByTag('param','cke');for(var v=0,w=u.count();v<w;v++){var x=u.getItem(v),y=x.getAttribute('name'),z=x.getAttribute('value');s[y]=z;}}else if(p.getName()=='cke:embed')r=p;A.objectNode=q;A.embedNode=r;A.setupContent(q,r,s,o);}},onOk:function(){var y=this;var o=null,p=null,q=null;if(!y.fakeImage){if(k){o=CKEDITOR.dom.element.createFromHtml('<cke:object></cke:object>',j.document);var r={classid:'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000',codebase:'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0'};o.setAttributes(r);}if(l){p=CKEDITOR.dom.element.createFromHtml('<cke:embed></cke:embed>',j.document);p.setAttributes({type:'application/x-shockwave-flash',pluginspage:'http://www.macromedia.com/go/getflashplayer'});if(o)p.appendTo(o);}}else{o=y.objectNode;p=y.embedNode;}if(o){q={};var s=o.getElementsByTag('param','cke');for(var t=0,u=s.count();t<u;t++)q[s.getItem(t).getAttribute('name')]=s.getItem(t);}var v={},w={};y.commitContent(o,p,q,v,w);var x=j.createFakeElement(o||p,'cke_flash','flash',true);x.setAttributes(w);x.setStyles(v);if(y.fakeImage){x.replace(y.fakeImage);j.getSelection().selectElement(x);}else j.insertElement(x);},onHide:function(){if(this.preview)this.preview.setHtml('');},contents:[{id:'info',label:j.lang.common.generalTab,accessKey:'I',elements:[{type:'vbox',padding:0,children:[{type:'hbox',widths:['280px','110px'],align:'right',children:[{id:'src',type:'text',label:j.lang.common.url,required:true,validate:CKEDITOR.dialog.validate.notEmpty(j.lang.flash.validateSrc),setup:h,commit:i,onLoad:function(){var o=this.getDialog(),p=function(q){m.setAttribute('src',q);
-o.preview.setHtml('<embed height="100%" width="100%" src="'+CKEDITOR.tools.htmlEncode(m.getAttribute('src'))+'" type="application/x-shockwave-flash"></embed>');};o.preview=o.getContentElement('info','preview').getElement().getChild(3);this.on('change',function(q){if(q.data&&q.data.value)p(q.data.value);});this.getInputElement().on('change',function(q){p(this.getValue());},this);}},{type:'button',id:'browse',filebrowser:'info:src',hidden:true,style:'display:inline-block;margin-top:10px;',label:j.lang.common.browseServer}]}]},{type:'hbox',widths:['25%','25%','25%','25%','25%'],children:[{type:'text',id:'width',style:'width:95px',label:j.lang.common.width,validate:CKEDITOR.dialog.validate.htmlLength(j.lang.common.invalidHtmlLength.replace('%1',j.lang.common.width)),setup:h,commit:i},{type:'text',id:'height',style:'width:95px',label:j.lang.common.height,validate:CKEDITOR.dialog.validate.htmlLength(j.lang.common.invalidHtmlLength.replace('%1',j.lang.common.height)),setup:h,commit:i},{type:'text',id:'hSpace',style:'width:95px',label:j.lang.flash.hSpace,validate:CKEDITOR.dialog.validate.integer(j.lang.flash.validateHSpace),setup:h,commit:i},{type:'text',id:'vSpace',style:'width:95px',label:j.lang.flash.vSpace,validate:CKEDITOR.dialog.validate.integer(j.lang.flash.validateVSpace),setup:h,commit:i}]},{type:'vbox',children:[{type:'html',id:'preview',style:'width:95%;',html:n}]}]},{id:'Upload',hidden:true,filebrowser:'uploadButton',label:j.lang.common.upload,elements:[{type:'file',id:'upload',label:j.lang.common.upload,size:38},{type:'fileButton',id:'uploadButton',label:j.lang.common.uploadSubmit,filebrowser:'info:src','for':['Upload','upload']}]},{id:'properties',label:j.lang.flash.propertiesTab,elements:[{type:'hbox',widths:['50%','50%'],children:[{id:'scale',type:'select',label:j.lang.flash.scale,'default':'',style:'width : 100%;',items:[[j.lang.common.notSet,''],[j.lang.flash.scaleAll,'showall'],[j.lang.flash.scaleNoBorder,'noborder'],[j.lang.flash.scaleFit,'exactfit']],setup:h,commit:i},{id:'allowScriptAccess',type:'select',label:j.lang.flash.access,'default':'',style:'width : 100%;',items:[[j.lang.common.notSet,''],[j.lang.flash.accessAlways,'always'],[j.lang.flash.accessSameDomain,'samedomain'],[j.lang.flash.accessNever,'never']],setup:h,commit:i}]},{type:'hbox',widths:['50%','50%'],children:[{id:'wmode',type:'select',label:j.lang.flash.windowMode,'default':'',style:'width : 100%;',items:[[j.lang.common.notSet,''],[j.lang.flash.windowModeWindow,'window'],[j.lang.flash.windowModeOpaque,'opaque'],[j.lang.flash.windowModeTransparent,'transparent']],setup:h,commit:i},{id:'quality',type:'select',label:j.lang.flash.quality,'default':'high',style:'width : 100%;',items:[[j.lang.common.notSet,''],[j.lang.flash.qualityBest,'best'],[j.lang.flash.qualityHigh,'high'],[j.lang.flash.qualityAutoHigh,'autohigh'],[j.lang.flash.qualityMedium,'medium'],[j.lang.flash.qualityAutoLow,'autolow'],[j.lang.flash.qualityLow,'low']],setup:h,commit:i}]},{type:'hbox',widths:['50%','50%'],children:[{id:'align',type:'select',label:j.lang.common.align,'default':'',style:'width : 100%;',items:[[j.lang.common.notSet,''],[j.lang.common.alignLeft,'left'],[j.lang.flash.alignAbsBottom,'absBottom'],[j.lang.flash.alignAbsMiddle,'absMiddle'],[j.lang.flash.alignBaseline,'baseline'],[j.lang.common.alignBottom,'bottom'],[j.lang.common.alignMiddle,'middle'],[j.lang.common.alignRight,'right'],[j.lang.flash.alignTextTop,'textTop'],[j.lang.common.alignTop,'top']],setup:h,commit:function(o,p,q,r,s){var t=this.getValue();
-i.apply(this,arguments);t&&(s.align=t);}},{type:'html',html:'<div></div>'}]},{type:'fieldset',label:CKEDITOR.tools.htmlEncode(j.lang.flash.flashvars),children:[{type:'vbox',padding:0,children:[{type:'checkbox',id:'menu',label:j.lang.flash.chkMenu,'default':true,setup:h,commit:i},{type:'checkbox',id:'play',label:j.lang.flash.chkPlay,'default':true,setup:h,commit:i},{type:'checkbox',id:'loop',label:j.lang.flash.chkLoop,'default':true,setup:h,commit:i},{type:'checkbox',id:'allowFullScreen',label:j.lang.flash.chkFull,'default':true,setup:h,commit:i}]}]}]},{id:'advanced',label:j.lang.common.advancedTab,elements:[{type:'hbox',children:[{type:'text',id:'id',label:j.lang.common.id,setup:h,commit:i}]},{type:'hbox',widths:['45%','55%'],children:[{type:'text',id:'bgcolor',label:j.lang.flash.bgcolor,setup:h,commit:i},{type:'text',id:'class',label:j.lang.common.cssClass,setup:h,commit:i}]},{type:'text',id:'style',validate:CKEDITOR.dialog.validate.inlineStyle(j.lang.common.invalidInlineStyle),label:j.lang.common.cssStyle,setup:h,commit:i}]}]};});})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/button.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/button.js
deleted file mode 100644
index 625e694..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/button.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.dialog.add('button',function(a){function b(c){var e=this;var d=e.getValue();if(d){c.attributes[e.id]=d;if(e.id=='name')c.attributes['data-cke-saved-name']=d;}else{delete c.attributes[e.id];if(e.id=='name')delete c.attributes['data-cke-saved-name'];}};return{title:a.lang.button.title,minWidth:350,minHeight:150,onShow:function(){var e=this;delete e.button;var c=e.getParentEditor().getSelection().getSelectedElement();if(c&&c.is('input')){var d=c.getAttribute('type');if(d in {button:1,reset:1,submit:1}){e.button=c;e.setupContent(c);}}},onOk:function(){var c=this.getParentEditor(),d=this.button,e=!d,f=d?CKEDITOR.htmlParser.fragment.fromHtml(d.getOuterHtml()).children[0]:new CKEDITOR.htmlParser.element('input');this.commitContent(f);var g=new CKEDITOR.htmlParser.basicWriter();f.writeHtml(g);var h=CKEDITOR.dom.element.createFromHtml(g.getHtml(),c.document);if(e)c.insertElement(h);else{h.replace(d);c.getSelection().selectElement(h);}},contents:[{id:'info',label:a.lang.button.title,title:a.lang.button.title,elements:[{id:'name',type:'text',label:a.lang.common.name,'default':'',setup:function(c){this.setValue(c.data('cke-saved-name')||c.getAttribute('name')||'');},commit:b},{id:'value',type:'text',label:a.lang.button.text,accessKey:'V','default':'',setup:function(c){this.setValue(c.getAttribute('value')||'');},commit:b},{id:'type',type:'select',label:a.lang.button.type,'default':'button',accessKey:'T',items:[[a.lang.button.typeBtn,'button'],[a.lang.button.typeSbm,'submit'],[a.lang.button.typeRst,'reset']],setup:function(c){this.setValue(c.getAttribute('type')||'');},commit:b}]}]};});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/checkbox.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/checkbox.js
deleted file mode 100644
index bbd3809..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/checkbox.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.dialog.add('checkbox',function(a){return{title:a.lang.checkboxAndRadio.checkboxTitle,minWidth:350,minHeight:140,onShow:function(){var c=this;delete c.checkbox;var b=c.getParentEditor().getSelection().getSelectedElement();if(b&&b.getAttribute('type')=='checkbox'){c.checkbox=b;c.setupContent(b);}},onOk:function(){var b,c=this.checkbox,d=!c;if(d){b=this.getParentEditor();c=b.document.createElement('input');c.setAttribute('type','checkbox');b.insertElement(c);}this.commitContent({element:c});},contents:[{id:'info',label:a.lang.checkboxAndRadio.checkboxTitle,title:a.lang.checkboxAndRadio.checkboxTitle,startupFocus:'txtName',elements:[{id:'txtName',type:'text',label:a.lang.common.name,'default':'',accessKey:'N',setup:function(b){this.setValue(b.data('cke-saved-name')||b.getAttribute('name')||'');},commit:function(b){var c=b.element;if(this.getValue())c.data('cke-saved-name',this.getValue());else{c.data('cke-saved-name',false);c.removeAttribute('name');}}},{id:'txtValue',type:'text',label:a.lang.checkboxAndRadio.value,'default':'',accessKey:'V',setup:function(b){var c=b.getAttribute('value');this.setValue(CKEDITOR.env.ie&&c=='on'?'':c);},commit:function(b){var c=b.element,d=this.getValue();if(d&&!(CKEDITOR.env.ie&&d=='on'))c.setAttribute('value',d);else if(CKEDITOR.env.ie){var e=new CKEDITOR.dom.element('input',c.getDocument());c.copyAttributes(e,{value:1});e.replace(c);a.getSelection().selectElement(e);b.element=e;}else c.removeAttribute('value');}},{id:'cmbSelected',type:'checkbox',label:a.lang.checkboxAndRadio.selected,'default':'',accessKey:'S',value:'checked',setup:function(b){this.setValue(b.getAttribute('checked'));},commit:function(b){var c=b.element;if(CKEDITOR.env.ie){var d=!!c.getAttribute('checked'),e=!!this.getValue();if(d!=e){var f=CKEDITOR.dom.element.createFromHtml('<input type="checkbox"'+(e?' checked="checked"':'')+'/>',a.document);c.copyAttributes(f,{type:1,checked:1});f.replace(c);a.getSelection().selectElement(f);b.element=f;}}else{var g=this.getValue();if(g)c.setAttribute('checked','checked');else c.removeAttribute('checked');}}}]}]};});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/form.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/form.js
deleted file mode 100644
index a31cefc..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/form.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.dialog.add('form',function(a){var b={action:1,id:1,method:1,enctype:1,target:1};return{title:a.lang.form.title,minWidth:350,minHeight:200,onShow:function(){var e=this;delete e.form;var c=e.getParentEditor().getSelection().getStartElement(),d=c&&c.getAscendant('form',true);if(d){e.form=d;e.setupContent(d);}},onOk:function(){var c,d=this.form,e=!d;if(e){c=this.getParentEditor();d=c.document.createElement('form');!CKEDITOR.env.ie&&d.append(c.document.createElement('br'));}if(e)c.insertElement(d);this.commitContent(d);},onLoad:function(){function c(e){this.setValue(e.getAttribute(this.id)||'');};function d(e){var f=this;if(f.getValue())e.setAttribute(f.id,f.getValue());else e.removeAttribute(f.id);};this.foreach(function(e){if(b[e.id]){e.setup=c;e.commit=d;}});},contents:[{id:'info',label:a.lang.form.title,title:a.lang.form.title,elements:[{id:'txtName',type:'text',label:a.lang.common.name,'default':'',accessKey:'N',setup:function(c){this.setValue(c.data('cke-saved-name')||c.getAttribute('name')||'');},commit:function(c){if(this.getValue())c.data('cke-saved-name',this.getValue());else{c.data('cke-saved-name',false);c.removeAttribute('name');}}},{id:'action',type:'text',label:a.lang.form.action,'default':'',accessKey:'T'},{type:'hbox',widths:['45%','55%'],children:[{id:'id',type:'text',label:a.lang.common.id,'default':'',accessKey:'I'},{id:'enctype',type:'select',label:a.lang.form.encoding,style:'width:100%',accessKey:'E','default':'',items:[[''],['text/plain'],['multipart/form-data'],['application/x-www-form-urlencoded']]}]},{type:'hbox',widths:['45%','55%'],children:[{id:'target',type:'select',label:a.lang.common.target,style:'width:100%',accessKey:'M','default':'',items:[[a.lang.common.notSet,''],[a.lang.common.targetNew,'_blank'],[a.lang.common.targetTop,'_top'],[a.lang.common.targetSelf,'_self'],[a.lang.common.targetParent,'_parent']]},{id:'method',type:'select',label:a.lang.form.method,accessKey:'M','default':'GET',items:[['GET','get'],['POST','post']]}]}]}]};});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/hiddenfield.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/hiddenfield.js
deleted file mode 100644
index 7edb0e9..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/hiddenfield.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.dialog.add('hiddenfield',function(a){return{title:a.lang.hidden.title,hiddenField:null,minWidth:350,minHeight:110,onShow:function(){var e=this;delete e.hiddenField;var b=e.getParentEditor(),c=b.getSelection(),d=c.getSelectedElement();if(d&&d.data('cke-real-element-type')&&d.data('cke-real-element-type')=='hiddenfield'){e.hiddenField=d;d=b.restoreRealElement(e.hiddenField);e.setupContent(d);c.selectElement(e.hiddenField);}},onOk:function(){var g=this;var b=g.getValueOf('info','_cke_saved_name'),c=g.getValueOf('info','value'),d=g.getParentEditor(),e=CKEDITOR.env.ie&&!(CKEDITOR.document.$.documentMode>=8)?d.document.createElement('<input name="'+CKEDITOR.tools.htmlEncode(b)+'">'):d.document.createElement('input');e.setAttribute('type','hidden');g.commitContent(e);var f=d.createFakeElement(e,'cke_hidden','hiddenfield');if(!g.hiddenField)d.insertElement(f);else{f.replace(g.hiddenField);d.getSelection().selectElement(f);}return true;},contents:[{id:'info',label:a.lang.hidden.title,title:a.lang.hidden.title,elements:[{id:'_cke_saved_name',type:'text',label:a.lang.hidden.name,'default':'',accessKey:'N',setup:function(b){this.setValue(b.data('cke-saved-name')||b.getAttribute('name')||'');},commit:function(b){if(this.getValue())b.setAttribute('name',this.getValue());else b.removeAttribute('name');}},{id:'value',type:'text',label:a.lang.hidden.value,'default':'',accessKey:'V',setup:function(b){this.setValue(b.getAttribute('value')||'');},commit:function(b){if(this.getValue())b.setAttribute('value',this.getValue());else b.removeAttribute('value');}}]}]};});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/radio.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/radio.js
deleted file mode 100644
index 2a8eba5..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/radio.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.dialog.add('radio',function(a){return{title:a.lang.checkboxAndRadio.radioTitle,minWidth:350,minHeight:140,onShow:function(){var c=this;delete c.radioButton;var b=c.getParentEditor().getSelection().getSelectedElement();if(b&&b.getName()=='input'&&b.getAttribute('type')=='radio'){c.radioButton=b;c.setupContent(b);}},onOk:function(){var b,c=this.radioButton,d=!c;if(d){b=this.getParentEditor();c=b.document.createElement('input');c.setAttribute('type','radio');}if(d)b.insertElement(c);this.commitContent({element:c});},contents:[{id:'info',label:a.lang.checkboxAndRadio.radioTitle,title:a.lang.checkboxAndRadio.radioTitle,elements:[{id:'name',type:'text',label:a.lang.common.name,'default':'',accessKey:'N',setup:function(b){this.setValue(b.data('cke-saved-name')||b.getAttribute('name')||'');},commit:function(b){var c=b.element;if(this.getValue())c.data('cke-saved-name',this.getValue());else{c.data('cke-saved-name',false);c.removeAttribute('name');}}},{id:'value',type:'text',label:a.lang.checkboxAndRadio.value,'default':'',accessKey:'V',setup:function(b){this.setValue(b.getAttribute('value')||'');},commit:function(b){var c=b.element;if(this.getValue())c.setAttribute('value',this.getValue());else c.removeAttribute('value');}},{id:'checked',type:'checkbox',label:a.lang.checkboxAndRadio.selected,'default':'',accessKey:'S',value:'checked',setup:function(b){this.setValue(b.getAttribute('checked'));},commit:function(b){var c=b.element;if(!(CKEDITOR.env.ie||CKEDITOR.env.opera)){if(this.getValue())c.setAttribute('checked','checked');else c.removeAttribute('checked');}else{var d=c.getAttribute('checked'),e=!!this.getValue();if(d!=e){var f=CKEDITOR.dom.element.createFromHtml('<input type="radio"'+(e?' checked="checked"':'')+'></input>',a.document);c.copyAttributes(f,{type:1,checked:1});f.replace(c);a.getSelection().selectElement(f);b.element=f;}}}}]}]};});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/select.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/select.js
deleted file mode 100644
index e4f2478..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/select.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.dialog.add('select',function(a){function b(k,l,m,n,o){k=j(k);var p;if(n)p=n.createElement('OPTION');else p=document.createElement('OPTION');if(k&&p&&p.getName()=='option'){if(CKEDITOR.env.ie){if(!isNaN(parseInt(o,10)))k.$.options.add(p.$,o);else k.$.options.add(p.$);p.$.innerHTML=l.length>0?l:'';p.$.value=m;}else{if(o!==null&&o<k.getChildCount())k.getChild(o<0?0:o).insertBeforeMe(p);else k.append(p);p.setText(l.length>0?l:'');p.setValue(m);}}else return false;return p;};function c(k){k=j(k);var l=g(k);for(var m=k.getChildren().count()-1;m>=0;m--){if(k.getChild(m).$.selected)k.getChild(m).remove();}h(k,l);};function d(k,l,m,n){k=j(k);if(l<0)return false;var o=k.getChild(l);o.setText(m);o.setValue(n);return o;};function e(k){k=j(k);while(k.getChild(0)&&k.getChild(0).remove()){}};function f(k,l,m){k=j(k);var n=g(k);if(n<0)return false;var o=n+l;o=o<0?0:o;o=o>=k.getChildCount()?k.getChildCount()-1:o;if(n==o)return false;var p=k.getChild(n),q=p.getText(),r=p.getValue();p.remove();p=b(k,q,r,!m?null:m,o);h(k,o);return p;};function g(k){k=j(k);return k?k.$.selectedIndex:-1;};function h(k,l){k=j(k);if(l<0)return null;var m=k.getChildren().count();k.$.selectedIndex=l>=m?m-1:l;return k;};function i(k){k=j(k);return k?k.getChildren():false;};function j(k){if(k&&k.domId&&k.getInputElement().$)return k.getInputElement();else if(k&&k.$)return k;return false;};return{title:a.lang.select.title,minWidth:CKEDITOR.env.ie?460:395,minHeight:CKEDITOR.env.ie?320:300,onShow:function(){var n=this;delete n.selectBox;n.setupContent('clear');var k=n.getParentEditor().getSelection().getSelectedElement();if(k&&k.getName()=='select'){n.selectBox=k;n.setupContent(k.getName(),k);var l=i(k);for(var m=0;m<l.count();m++)n.setupContent('option',l.getItem(m));}},onOk:function(){var k=this.getParentEditor(),l=this.selectBox,m=!l;if(m)l=k.document.createElement('select');this.commitContent(l);if(m){k.insertElement(l);if(CKEDITOR.env.ie){var n=k.getSelection(),o=n.createBookmarks();setTimeout(function(){n.selectBookmarks(o);},0);}}},contents:[{id:'info',label:a.lang.select.selectInfo,title:a.lang.select.selectInfo,accessKey:'',elements:[{id:'txtName',type:'text',widths:['25%','75%'],labelLayout:'horizontal',label:a.lang.common.name,'default':'',accessKey:'N',style:'width:350px',setup:function(k,l){if(k=='clear')this.setValue(this['default']||'');else if(k=='select')this.setValue(l.data('cke-saved-name')||l.getAttribute('name')||'');},commit:function(k){if(this.getValue())k.data('cke-saved-name',this.getValue());
-else{k.data('cke-saved-name',false);k.removeAttribute('name');}}},{id:'txtValue',type:'text',widths:['25%','75%'],labelLayout:'horizontal',label:a.lang.select.value,style:'width:350px','default':'',className:'cke_disabled',onLoad:function(){this.getInputElement().setAttribute('readOnly',true);},setup:function(k,l){if(k=='clear')this.setValue('');else if(k=='option'&&l.getAttribute('selected'))this.setValue(l.$.value);}},{type:'hbox',widths:['175px','170px'],children:[{id:'txtSize',type:'text',labelLayout:'horizontal',label:a.lang.select.size,'default':'',accessKey:'S',style:'width:175px',validate:function(){var k=CKEDITOR.dialog.validate.integer(a.lang.common.validateNumberFailed);return this.getValue()===''||k.apply(this);},setup:function(k,l){if(k=='select')this.setValue(l.getAttribute('size')||'');if(CKEDITOR.env.webkit)this.getInputElement().setStyle('width','86px');},commit:function(k){if(this.getValue())k.setAttribute('size',this.getValue());else k.removeAttribute('size');}},{type:'html',html:'<span>'+CKEDITOR.tools.htmlEncode(a.lang.select.lines)+'</span>'}]},{type:'html',html:'<span>'+CKEDITOR.tools.htmlEncode(a.lang.select.opAvail)+'</span>'},{type:'hbox',widths:['115px','115px','100px'],children:[{type:'vbox',children:[{id:'txtOptName',type:'text',label:a.lang.select.opText,style:'width:115px',setup:function(k,l){if(k=='clear')this.setValue('');}},{type:'select',id:'cmbName',label:'',title:'',size:5,style:'width:115px;height:75px',items:[],onChange:function(){var k=this.getDialog(),l=k.getContentElement('info','cmbValue'),m=k.getContentElement('info','txtOptName'),n=k.getContentElement('info','txtOptValue'),o=g(this);h(l,o);m.setValue(this.getValue());n.setValue(l.getValue());},setup:function(k,l){if(k=='clear')e(this);else if(k=='option')b(this,l.getText(),l.getText(),this.getDialog().getParentEditor().document);},commit:function(k){var l=this.getDialog(),m=i(this),n=i(l.getContentElement('info','cmbValue')),o=l.getContentElement('info','txtValue').getValue();e(k);for(var p=0;p<m.count();p++){var q=b(k,m.getItem(p).getValue(),n.getItem(p).getValue(),l.getParentEditor().document);if(n.getItem(p).getValue()==o){q.setAttribute('selected','selected');q.selected=true;}}}}]},{type:'vbox',children:[{id:'txtOptValue',type:'text',label:a.lang.select.opValue,style:'width:115px',setup:function(k,l){if(k=='clear')this.setValue('');}},{type:'select',id:'cmbValue',label:'',size:5,style:'width:115px;height:75px',items:[],onChange:function(){var k=this.getDialog(),l=k.getContentElement('info','cmbName'),m=k.getContentElement('info','txtOptName'),n=k.getContentElement('info','txtOptValue'),o=g(this);
-h(l,o);m.setValue(l.getValue());n.setValue(this.getValue());},setup:function(k,l){var n=this;if(k=='clear')e(n);else if(k=='option'){var m=l.getValue();b(n,m,m,n.getDialog().getParentEditor().document);if(l.getAttribute('selected')=='selected')n.getDialog().getContentElement('info','txtValue').setValue(m);}}}]},{type:'vbox',padding:5,children:[{type:'button',id:'btnAdd',style:'',label:a.lang.select.btnAdd,title:a.lang.select.btnAdd,style:'width:100%;',onClick:function(){var k=this.getDialog(),l=k.getParentEditor(),m=k.getContentElement('info','txtOptName'),n=k.getContentElement('info','txtOptValue'),o=k.getContentElement('info','cmbName'),p=k.getContentElement('info','cmbValue');b(o,m.getValue(),m.getValue(),k.getParentEditor().document);b(p,n.getValue(),n.getValue(),k.getParentEditor().document);m.setValue('');n.setValue('');}},{type:'button',id:'btnModify',label:a.lang.select.btnModify,title:a.lang.select.btnModify,style:'width:100%;',onClick:function(){var k=this.getDialog(),l=k.getContentElement('info','txtOptName'),m=k.getContentElement('info','txtOptValue'),n=k.getContentElement('info','cmbName'),o=k.getContentElement('info','cmbValue'),p=g(n);if(p>=0){d(n,p,l.getValue(),l.getValue());d(o,p,m.getValue(),m.getValue());}}},{type:'button',id:'btnUp',style:'width:100%;',label:a.lang.select.btnUp,title:a.lang.select.btnUp,onClick:function(){var k=this.getDialog(),l=k.getContentElement('info','cmbName'),m=k.getContentElement('info','cmbValue');f(l,-1,k.getParentEditor().document);f(m,-1,k.getParentEditor().document);}},{type:'button',id:'btnDown',style:'width:100%;',label:a.lang.select.btnDown,title:a.lang.select.btnDown,onClick:function(){var k=this.getDialog(),l=k.getContentElement('info','cmbName'),m=k.getContentElement('info','cmbValue');f(l,1,k.getParentEditor().document);f(m,1,k.getParentEditor().document);}}]}]},{type:'hbox',widths:['40%','20%','40%'],children:[{type:'button',id:'btnSetValue',label:a.lang.select.btnSetValue,title:a.lang.select.btnSetValue,onClick:function(){var k=this.getDialog(),l=k.getContentElement('info','cmbValue'),m=k.getContentElement('info','txtValue');m.setValue(l.getValue());}},{type:'button',id:'btnDelete',label:a.lang.select.btnDelete,title:a.lang.select.btnDelete,onClick:function(){var k=this.getDialog(),l=k.getContentElement('info','cmbName'),m=k.getContentElement('info','cmbValue'),n=k.getContentElement('info','txtOptName'),o=k.getContentElement('info','txtOptValue');c(l);c(m);n.setValue('');o.setValue('');}},{id:'chkMulti',type:'checkbox',label:a.lang.select.chkMulti,'default':'',accessKey:'M',value:'checked',setup:function(k,l){if(k=='select')this.setValue(l.getAttribute('multiple'));
-if(CKEDITOR.env.webkit)this.getElement().getParent().setStyle('vertical-align','middle');},commit:function(k){if(this.getValue())k.setAttribute('multiple',this.getValue());else k.removeAttribute('multiple');}}]}]}]};});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/textarea.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/textarea.js
deleted file mode 100644
index 86cb838..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/textarea.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.dialog.add('textarea',function(a){return{title:a.lang.textarea.title,minWidth:350,minHeight:220,onShow:function(){var c=this;delete c.textarea;var b=c.getParentEditor().getSelection().getSelectedElement();if(b&&b.getName()=='textarea'){c.textarea=b;c.setupContent(b);}},onOk:function(){var b,c=this.textarea,d=!c;if(d){b=this.getParentEditor();c=b.document.createElement('textarea');}this.commitContent(c);if(d)b.insertElement(c);},contents:[{id:'info',label:a.lang.textarea.title,title:a.lang.textarea.title,elements:[{id:'_cke_saved_name',type:'text',label:a.lang.common.name,'default':'',accessKey:'N',setup:function(b){this.setValue(b.data('cke-saved-name')||b.getAttribute('name')||'');},commit:function(b){if(this.getValue())b.data('cke-saved-name',this.getValue());else{b.data('cke-saved-name',false);b.removeAttribute('name');}}},{type:'hbox',widths:['50%','50%'],children:[{id:'cols',type:'text',label:a.lang.textarea.cols,'default':'',accessKey:'C',style:'width:50px',validate:CKEDITOR.dialog.validate.integer(a.lang.common.validateNumberFailed),setup:function(b){var c=b.hasAttribute('cols')&&b.getAttribute('cols');this.setValue(c||'');},commit:function(b){if(this.getValue())b.setAttribute('cols',this.getValue());else b.removeAttribute('cols');}},{id:'rows',type:'text',label:a.lang.textarea.rows,'default':'',accessKey:'R',style:'width:50px',validate:CKEDITOR.dialog.validate.integer(a.lang.common.validateNumberFailed),setup:function(b){var c=b.hasAttribute('rows')&&b.getAttribute('rows');this.setValue(c||'');},commit:function(b){if(this.getValue())b.setAttribute('rows',this.getValue());else b.removeAttribute('rows');}}]},{id:'value',type:'textarea',label:a.lang.textfield.value,'default':'',setup:function(b){this.setValue(b.$.defaultValue);},commit:function(b){b.$.value=b.$.defaultValue=this.getValue();}}]}]};});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/textfield.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/textfield.js
deleted file mode 100644
index f66e91c..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/forms/dialogs/textfield.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.dialog.add('textfield',function(a){var b={value:1,size:1,maxLength:1},c={text:1,password:1};return{title:a.lang.textfield.title,minWidth:350,minHeight:150,onShow:function(){var e=this;delete e.textField;var d=e.getParentEditor().getSelection().getSelectedElement();if(d&&d.getName()=='input'&&(c[d.getAttribute('type')]||!d.getAttribute('type'))){e.textField=d;e.setupContent(d);}},onOk:function(){var d,e=this.textField,f=!e;if(f){d=this.getParentEditor();e=d.document.createElement('input');e.setAttribute('type','text');}if(f)d.insertElement(e);this.commitContent({element:e});},onLoad:function(){var d=function(f){var g=f.hasAttribute(this.id)&&f.getAttribute(this.id);this.setValue(g||'');},e=function(f){var g=f.element,h=this.getValue();if(h)g.setAttribute(this.id,h);else g.removeAttribute(this.id);};this.foreach(function(f){if(b[f.id]){f.setup=d;f.commit=e;}});},contents:[{id:'info',label:a.lang.textfield.title,title:a.lang.textfield.title,elements:[{type:'hbox',widths:['50%','50%'],children:[{id:'_cke_saved_name',type:'text',label:a.lang.textfield.name,'default':'',accessKey:'N',setup:function(d){this.setValue(d.data('cke-saved-name')||d.getAttribute('name')||'');},commit:function(d){var e=d.element;if(this.getValue())e.data('cke-saved-name',this.getValue());else{e.data('cke-saved-name',false);e.removeAttribute('name');}}},{id:'value',type:'text',label:a.lang.textfield.value,'default':'',accessKey:'V'}]},{type:'hbox',widths:['50%','50%'],children:[{id:'size',type:'text',label:a.lang.textfield.charWidth,'default':'',accessKey:'C',style:'width:50px',validate:CKEDITOR.dialog.validate.integer(a.lang.common.validateNumberFailed)},{id:'maxLength',type:'text',label:a.lang.textfield.maxChars,'default':'',accessKey:'M',style:'width:50px',validate:CKEDITOR.dialog.validate.integer(a.lang.common.validateNumberFailed)}],onLoad:function(){if(CKEDITOR.env.ie7Compat)this.getElement().setStyle('zoom','100%');}},{id:'type',type:'select',label:a.lang.textfield.type,'default':'text',accessKey:'M',items:[[a.lang.textfield.typeText,'text'],[a.lang.textfield.typePass,'password']],setup:function(d){this.setValue(d.getAttribute('type'));},commit:function(d){var e=d.element;if(CKEDITOR.env.ie){var f=e.getAttribute('type'),g=this.getValue();if(f!=g){var h=CKEDITOR.dom.element.createFromHtml('<input type="'+g+'"></input>',a.document);e.copyAttributes(h,{type:1});h.replace(e);a.getSelection().selectElement(h);d.element=h;}}else e.setAttribute('type',this.getValue());}}]}]};});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/iframe/dialogs/iframe.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/iframe/dialogs/iframe.js
deleted file mode 100644
index f3644e9..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/iframe/dialogs/iframe.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-(function(){var a={scrolling:{'true':'yes','false':'no'},frameborder:{'true':'1','false':'0'}};function b(d){var g=this;var e=g instanceof CKEDITOR.ui.dialog.checkbox;if(d.hasAttribute(g.id)){var f=d.getAttribute(g.id);if(e)g.setValue(a[g.id]['true']==f.toLowerCase());else g.setValue(f);}};function c(d){var h=this;var e=h.getValue()==='',f=h instanceof CKEDITOR.ui.dialog.checkbox,g=h.getValue();if(e)d.removeAttribute(h.att||h.id);else if(f)d.setAttribute(h.id,a[h.id][g]);else d.setAttribute(h.att||h.id,g);};CKEDITOR.dialog.add('iframe',function(d){var e=d.lang.iframe,f=d.lang.common,g=d.plugins.dialogadvtab;return{title:e.title,minWidth:350,minHeight:260,onShow:function(){var j=this;j.fakeImage=j.iframeNode=null;var h=j.getSelectedElement();if(h&&h.data('cke-real-element-type')&&h.data('cke-real-element-type')=='iframe'){j.fakeImage=h;var i=d.restoreRealElement(h);j.iframeNode=i;j.setupContent(i);}},onOk:function(){var l=this;var h;if(!l.fakeImage)h=new CKEDITOR.dom.element('iframe');else h=l.iframeNode;var i={},j={};l.commitContent(h,i,j);var k=d.createFakeElement(h,'cke_iframe','iframe',true);k.setAttributes(j);k.setStyles(i);if(l.fakeImage){k.replace(l.fakeImage);d.getSelection().selectElement(k);}else d.insertElement(k);},contents:[{id:'info',label:f.generalTab,accessKey:'I',elements:[{type:'vbox',padding:0,children:[{id:'src',type:'text',label:f.url,required:true,validate:CKEDITOR.dialog.validate.notEmpty(e.noUrl),setup:b,commit:c}]},{type:'hbox',children:[{id:'width',type:'text',style:'width:100%',labelLayout:'vertical',label:f.width,validate:CKEDITOR.dialog.validate.htmlLength(f.invalidHtmlLength.replace('%1',f.width)),setup:b,commit:c},{id:'height',type:'text',style:'width:100%',labelLayout:'vertical',label:f.height,validate:CKEDITOR.dialog.validate.htmlLength(f.invalidHtmlLength.replace('%1',f.height)),setup:b,commit:c},{id:'align',type:'select','default':'',items:[[f.notSet,''],[f.alignLeft,'left'],[f.alignRight,'right'],[f.alignTop,'top'],[f.alignMiddle,'middle'],[f.alignBottom,'bottom']],style:'width:100%',labelLayout:'vertical',label:f.align,setup:function(h,i){b.apply(this,arguments);if(i){var j=i.getAttribute('align');this.setValue(j&&j.toLowerCase()||'');}},commit:function(h,i,j){c.apply(this,arguments);if(this.getValue())j.align=this.getValue();}}]},{type:'hbox',widths:['50%','50%'],children:[{id:'scrolling',type:'checkbox',label:e.scrolling,setup:b,commit:c},{id:'frameborder',type:'checkbox',label:e.border,setup:b,commit:c}]},{type:'hbox',widths:['50%','50%'],children:[{id:'name',type:'text',label:f.name,setup:b,commit:c},{id:'title',type:'text',label:f.advisoryTitle,setup:b,commit:c}]},{id:'longdesc',type:'text',label:f.longDescr,setup:b,commit:c}]},g&&g.createAdvancedTab(d,{id:1,classes:1,styles:1})]};
-});})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/iframedialog/plugin.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/iframedialog/plugin.js
deleted file mode 100644
index bbb129e..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/iframedialog/plugin.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.add('iframedialog',{requires:['dialog'],onLoad:function(){CKEDITOR.dialog.addIframe=function(a,b,c,d,e,f,g){var h={type:'iframe',src:c,width:'100%',height:'100%'};if(typeof f=='function')h.onContentLoad=f;else h.onContentLoad=function(){var k=this.getElement(),l=k.$.contentWindow;if(l.onDialogEvent){var m=this.getDialog(),n=function(o){return l.onDialogEvent(o);};m.on('ok',n);m.on('cancel',n);m.on('resize',n);m.on('hide',function(o){m.removeListener('ok',n);m.removeListener('cancel',n);m.removeListener('resize',n);o.removeListener();});l.onDialogEvent({name:'load',sender:this,editor:m._.editor});}};var i={title:b,minWidth:d,minHeight:e,contents:[{id:'iframe',label:b,expand:true,elements:[h]}]};for(var j in g)i[j]=g[j];this.add(a,function(){return i;});};(function(){var a=function(b,c,d){if(arguments.length<3)return;var e=this._||(this._={}),f=c.onContentLoad&&CKEDITOR.tools.bind(c.onContentLoad,this),g=CKEDITOR.tools.cssLength(c.width),h=CKEDITOR.tools.cssLength(c.height);e.frameId=CKEDITOR.tools.getNextId()+'_iframe';b.on('load',function(){var k=CKEDITOR.document.getById(e.frameId),l=k.getParent();l.setStyles({width:g,height:h});});var i={src:'%2',id:e.frameId,frameborder:0,allowtransparency:true},j=[];if(typeof c.onContentLoad=='function')i.onload='CKEDITOR.tools.callFunction(%1);';CKEDITOR.ui.dialog.uiElement.call(this,b,c,j,'iframe',{width:g,height:h},i,'');d.push('<div style="width:'+g+';height:'+h+';" id="'+this.domId+'"></div>');j=j.join('');b.on('show',function(){var k=CKEDITOR.document.getById(e.frameId),l=k.getParent(),m=CKEDITOR.tools.addFunction(f),n=j.replace('%1',m).replace('%2',CKEDITOR.tools.htmlEncode(c.src));l.setHtml(n);});};a.prototype=new CKEDITOR.ui.dialog.uiElement();CKEDITOR.dialog.addUIElement('iframe',{build:function(b,c,d){return new a(b,c,d);}});})();}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/image/dialogs/image.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/image/dialogs/image.js
deleted file mode 100644
index 3ab5616..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/image/dialogs/image.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-(function(){var a=function(b,c){var d=1,e=2,f=4,g=8,h=/^\s*(\d+)((px)|\%)?\s*$/i,i=/(^\s*(\d+)((px)|\%)?\s*$)|^$/i,j=/^\d+px$/,k=function(){var B=this.getValue(),C=this.getDialog(),D=B.match(h);if(D){if(D[2]=='%')p(C,false);B=D[1];}if(C.lockRatio){var E=C.originalElement;if(E.getCustomData('isReady')=='true')if(this.id=='txtHeight'){if(B&&B!='0')B=Math.round(E.$.width*(B/E.$.height));if(!isNaN(B))C.setValueOf('info','txtWidth',B);}else{if(B&&B!='0')B=Math.round(E.$.height*(B/E.$.width));if(!isNaN(B))C.setValueOf('info','txtHeight',B);}}l(C);},l=function(B){if(!B.originalElement||!B.preview)return 1;B.commitContent(f,B.preview);return 0;};function m(){var B=arguments,C=this.getContentElement('advanced','txtdlgGenStyle');C&&C.commit.apply(C,B);this.foreach(function(D){if(D.commit&&D.id!='txtdlgGenStyle')D.commit.apply(D,B);});};var n;function o(B){if(n)return;n=1;var C=this.getDialog(),D=C.imageElement;if(D){this.commit(d,D);B=[].concat(B);var E=B.length,F;for(var G=0;G<E;G++){F=C.getContentElement.apply(C,B[G].split(':'));F&&F.setup(d,D);}}n=0;};var p=function(B,C){if(!B.getContentElement('info','ratioLock'))return null;var D=B.originalElement;if(!D)return null;if(C=='check'){if(!B.userlockRatio&&D.getCustomData('isReady')=='true'){var E=B.getValueOf('info','txtWidth'),F=B.getValueOf('info','txtHeight'),G=D.$.width*1000/D.$.height,H=E*1000/F;B.lockRatio=false;if(!E&&!F)B.lockRatio=true;else if(!isNaN(G)&&!isNaN(H))if(Math.round(G)==Math.round(H))B.lockRatio=true;}}else if(C!=undefined)B.lockRatio=C;else{B.userlockRatio=1;B.lockRatio=!B.lockRatio;}var I=CKEDITOR.document.getById(w);if(B.lockRatio)I.removeClass('cke_btn_unlocked');else I.addClass('cke_btn_unlocked');I.setAttribute('aria-checked',B.lockRatio);if(CKEDITOR.env.hc){var J=I.getChild(0);J.setHtml(B.lockRatio?CKEDITOR.env.ie?'â– ':'â–£':CKEDITOR.env.ie?'â–¡':'â–¢');}return B.lockRatio;},q=function(B){var C=B.originalElement;if(C.getCustomData('isReady')=='true'){var D=B.getContentElement('info','txtWidth'),E=B.getContentElement('info','txtHeight');D&&D.setValue(C.$.width);E&&E.setValue(C.$.height);}l(B);},r=function(B,C){if(B!=d)return;function D(I,J){var K=I.match(h);if(K){if(K[2]=='%'){K[1]+='%';p(E,false);}return K[1];}return J;};var E=this.getDialog(),F='',G=this.id=='txtWidth'?'width':'height',H=C.getAttribute(G);if(H)F=D(H,F);F=D(C.getStyle(G),F);this.setValue(F);},s,t=function(){var B=this.originalElement;B.setCustomData('isReady','true');B.removeListener('load',t);B.removeListener('error',u);B.removeListener('abort',u);
-CKEDITOR.document.getById(y).setStyle('display','none');if(!this.dontResetSize)q(this);if(this.firstLoad)CKEDITOR.tools.setTimeout(function(){p(this,'check');},0,this);this.firstLoad=false;this.dontResetSize=false;},u=function(){var D=this;var B=D.originalElement;B.removeListener('load',t);B.removeListener('error',u);B.removeListener('abort',u);var C=CKEDITOR.getUrl(b.skinPath+'images/noimage.png');if(D.preview)D.preview.setAttribute('src',C);CKEDITOR.document.getById(y).setStyle('display','none');p(D,false);},v=function(B){return CKEDITOR.tools.getNextId()+'_'+B;},w=v('btnLockSizes'),x=v('btnResetSize'),y=v('ImagePreviewLoader'),z=v('previewLink'),A=v('previewImage');return{title:b.lang.image[c=='image'?'title':'titleButton'],minWidth:420,minHeight:360,onShow:function(){var H=this;H.imageElement=false;H.linkElement=false;H.imageEditMode=false;H.linkEditMode=false;H.lockRatio=true;H.userlockRatio=0;H.dontResetSize=false;H.firstLoad=true;H.addLink=false;var B=H.getParentEditor(),C=B.getSelection(),D=C&&C.getSelectedElement(),E=D&&D.getAscendant('a');CKEDITOR.document.getById(y).setStyle('display','none');s=new CKEDITOR.dom.element('img',B.document);H.preview=CKEDITOR.document.getById(A);H.originalElement=B.document.createElement('img');H.originalElement.setAttribute('alt','');H.originalElement.setCustomData('isReady','false');if(E){H.linkElement=E;H.linkEditMode=true;var F=E.getChildren();if(F.count()==1){var G=F.getItem(0).getName();if(G=='img'||G=='input'){H.imageElement=F.getItem(0);if(H.imageElement.getName()=='img')H.imageEditMode='img';else if(H.imageElement.getName()=='input')H.imageEditMode='input';}}if(c=='image')H.setupContent(e,E);}if(D&&D.getName()=='img'&&!D.data('cke-realelement')||D&&D.getName()=='input'&&D.getAttribute('type')=='image'){H.imageEditMode=D.getName();H.imageElement=D;}if(H.imageEditMode){H.cleanImageElement=H.imageElement;H.imageElement=H.cleanImageElement.clone(true,true);H.setupContent(d,H.imageElement);}else H.imageElement=B.document.createElement('img');p(H,true);if(!CKEDITOR.tools.trim(H.getValueOf('info','txtUrl'))){H.preview.removeAttribute('src');H.preview.setStyle('display','none');}},onOk:function(){var C=this;if(C.imageEditMode){var B=C.imageEditMode;if(c=='image'&&B=='input'&&confirm(b.lang.image.button2Img)){B='img';C.imageElement=b.document.createElement('img');C.imageElement.setAttribute('alt','');b.insertElement(C.imageElement);}else if(c!='image'&&B=='img'&&confirm(b.lang.image.img2Button)){B='input';C.imageElement=b.document.createElement('input');
-C.imageElement.setAttributes({type:'image',alt:''});b.insertElement(C.imageElement);}else{C.imageElement=C.cleanImageElement;delete C.cleanImageElement;}}else{if(c=='image')C.imageElement=b.document.createElement('img');else{C.imageElement=b.document.createElement('input');C.imageElement.setAttribute('type','image');}C.imageElement.setAttribute('alt','');}if(!C.linkEditMode)C.linkElement=b.document.createElement('a');C.commitContent(d,C.imageElement);C.commitContent(e,C.linkElement);if(!C.imageElement.getAttribute('style'))C.imageElement.removeAttribute('style');if(!C.imageEditMode){if(C.addLink){if(!C.linkEditMode){b.insertElement(C.linkElement);C.linkElement.append(C.imageElement,false);}else b.insertElement(C.imageElement);}else b.insertElement(C.imageElement);}else if(!C.linkEditMode&&C.addLink){b.insertElement(C.linkElement);C.imageElement.appendTo(C.linkElement);}else if(C.linkEditMode&&!C.addLink){b.getSelection().selectElement(C.linkElement);b.insertElement(C.imageElement);}},onLoad:function(){var C=this;if(c!='image')C.hidePage('Link');var B=C._.element.getDocument();if(C.getContentElement('info','ratioLock')){C.addFocusable(B.getById(x),5);C.addFocusable(B.getById(w),5);}C.commitContent=m;},onHide:function(){var B=this;if(B.preview)B.commitContent(g,B.preview);if(B.originalElement){B.originalElement.removeListener('load',t);B.originalElement.removeListener('error',u);B.originalElement.removeListener('abort',u);B.originalElement.remove();B.originalElement=false;}delete B.imageElement;},contents:[{id:'info',label:b.lang.image.infoTab,accessKey:'I',elements:[{type:'vbox',padding:0,children:[{type:'hbox',widths:['280px','110px'],align:'right',children:[{id:'txtUrl',type:'text',label:b.lang.common.url,required:true,onChange:function(){var B=this.getDialog(),C=this.getValue();if(C.length>0){B=this.getDialog();var D=B.originalElement;B.preview.removeStyle('display');D.setCustomData('isReady','false');var E=CKEDITOR.document.getById(y);if(E)E.setStyle('display','');D.on('load',t,B);D.on('error',u,B);D.on('abort',u,B);D.setAttribute('src',C);s.setAttribute('src',C);B.preview.setAttribute('src',s.$.src);l(B);}else if(B.preview){B.preview.removeAttribute('src');B.preview.setStyle('display','none');}},setup:function(B,C){if(B==d){var D=C.data('cke-saved-src')||C.getAttribute('src'),E=this;this.getDialog().dontResetSize=true;E.setValue(D);E.setInitValue();}},commit:function(B,C){var D=this;if(B==d&&(D.getValue()||D.isChanged())){C.data('cke-saved-src',D.getValue());
-C.setAttribute('src',D.getValue());}else if(B==g){C.setAttribute('src','');C.removeAttribute('src');}},validate:CKEDITOR.dialog.validate.notEmpty(b.lang.image.urlMissing)},{type:'button',id:'browse',style:'display:inline-block;margin-top:10px;',align:'center',label:b.lang.common.browseServer,hidden:true,filebrowser:'info:txtUrl'}]}]},{id:'txtAlt',type:'text',label:b.lang.image.alt,accessKey:'T','default':'',onChange:function(){l(this.getDialog());},setup:function(B,C){if(B==d)this.setValue(C.getAttribute('alt'));},commit:function(B,C){var D=this;if(B==d){if(D.getValue()||D.isChanged())C.setAttribute('alt',D.getValue());}else if(B==f)C.setAttribute('alt',D.getValue());else if(B==g)C.removeAttribute('alt');}},{type:'hbox',children:[{id:'basic',type:'vbox',children:[{type:'hbox',widths:['50%','50%'],children:[{type:'vbox',padding:1,children:[{type:'text',width:'40px',id:'txtWidth',label:b.lang.common.width,onKeyUp:k,onChange:function(){o.call(this,'advanced:txtdlgGenStyle');},validate:function(){var B=this.getValue().match(i),C=!!(B&&parseInt(B[1],10)!==0);if(!C)alert(b.lang.common.invalidWidth);return C;},setup:r,commit:function(B,C,D){var E=this.getValue();if(B==d){if(E)C.setStyle('width',CKEDITOR.tools.cssLength(E));else C.removeStyle('width');!D&&C.removeAttribute('width');}else if(B==f){var F=E.match(h);if(!F){var G=this.getDialog().originalElement;if(G.getCustomData('isReady')=='true')C.setStyle('width',G.$.width+'px');}else C.setStyle('width',CKEDITOR.tools.cssLength(E));}else if(B==g){C.removeAttribute('width');C.removeStyle('width');}}},{type:'text',id:'txtHeight',width:'40px',label:b.lang.common.height,onKeyUp:k,onChange:function(){o.call(this,'advanced:txtdlgGenStyle');},validate:function(){var B=this.getValue().match(i),C=!!(B&&parseInt(B[1],10)!==0);if(!C)alert(b.lang.common.invalidHeight);return C;},setup:r,commit:function(B,C,D){var E=this.getValue();if(B==d){if(E)C.setStyle('height',CKEDITOR.tools.cssLength(E));else C.removeStyle('height');!D&&C.removeAttribute('height');}else if(B==f){var F=E.match(h);if(!F){var G=this.getDialog().originalElement;if(G.getCustomData('isReady')=='true')C.setStyle('height',G.$.height+'px');}else C.setStyle('height',CKEDITOR.tools.cssLength(E));}else if(B==g){C.removeAttribute('height');C.removeStyle('height');}}}]},{id:'ratioLock',type:'html',style:'margin-top:30px;width:40px;height:40px;',onLoad:function(){var B=CKEDITOR.document.getById(x),C=CKEDITOR.document.getById(w);if(B){B.on('click',function(D){q(this);D.data&&D.data.preventDefault();
-},this.getDialog());B.on('mouseover',function(){this.addClass('cke_btn_over');},B);B.on('mouseout',function(){this.removeClass('cke_btn_over');},B);}if(C){C.on('click',function(D){var I=this;var E=p(I),F=I.originalElement,G=I.getValueOf('info','txtWidth');if(F.getCustomData('isReady')=='true'&&G){var H=F.$.height/F.$.width*G;if(!isNaN(H)){I.setValueOf('info','txtHeight',Math.round(H));l(I);}}D.data&&D.data.preventDefault();},this.getDialog());C.on('mouseover',function(){this.addClass('cke_btn_over');},C);C.on('mouseout',function(){this.removeClass('cke_btn_over');},C);}},html:'<div><a href="javascript:void(0)" tabindex="-1" title="'+b.lang.image.lockRatio+'" class="cke_btn_locked" id="'+w+'" role="checkbox"><span class="cke_icon"></span><span class="cke_label">'+b.lang.image.lockRatio+'</span></a>'+'<a href="javascript:void(0)" tabindex="-1" title="'+b.lang.image.resetSize+'" class="cke_btn_reset" id="'+x+'" role="button"><span class="cke_label">'+b.lang.image.resetSize+'</span></a>'+'</div>'}]},{type:'vbox',padding:1,children:[{type:'text',id:'txtBorder',width:'60px',label:b.lang.image.border,'default':'',onKeyUp:function(){l(this.getDialog());},onChange:function(){o.call(this,'advanced:txtdlgGenStyle');},validate:CKEDITOR.dialog.validate.integer(b.lang.image.validateBorder),setup:function(B,C){if(B==d){var D,E=C.getStyle('border-width');E=E&&E.match(/^(\d+px)(?: \1 \1 \1)?$/);D=E&&parseInt(E[1],10);isNaN(parseInt(D,10))&&(D=C.getAttribute('border'));this.setValue(D);}},commit:function(B,C,D){var E=parseInt(this.getValue(),10);if(B==d||B==f){if(!isNaN(E)){C.setStyle('border-width',CKEDITOR.tools.cssLength(E));C.setStyle('border-style','solid');}else if(!E&&this.isChanged())C.removeStyle('border');if(!D&&B==d)C.removeAttribute('border');}else if(B==g){C.removeAttribute('border');C.removeStyle('border-width');C.removeStyle('border-style');C.removeStyle('border-color');}}},{type:'text',id:'txtHSpace',width:'60px',label:b.lang.image.hSpace,'default':'',onKeyUp:function(){l(this.getDialog());},onChange:function(){o.call(this,'advanced:txtdlgGenStyle');},validate:CKEDITOR.dialog.validate.integer(b.lang.image.validateHSpace),setup:function(B,C){if(B==d){var D,E,F,G=C.getStyle('margin-left'),H=C.getStyle('margin-right');G=G&&G.match(j);H=H&&H.match(j);E=parseInt(G,10);F=parseInt(H,10);D=E==F&&E;isNaN(parseInt(D,10))&&(D=C.getAttribute('hspace'));this.setValue(D);}},commit:function(B,C,D){var E=parseInt(this.getValue(),10);if(B==d||B==f){if(!isNaN(E)){C.setStyle('margin-left',CKEDITOR.tools.cssLength(E));
-C.setStyle('margin-right',CKEDITOR.tools.cssLength(E));}else if(!E&&this.isChanged()){C.removeStyle('margin-left');C.removeStyle('margin-right');}if(!D&&B==d)C.removeAttribute('hspace');}else if(B==g){C.removeAttribute('hspace');C.removeStyle('margin-left');C.removeStyle('margin-right');}}},{type:'text',id:'txtVSpace',width:'60px',label:b.lang.image.vSpace,'default':'',onKeyUp:function(){l(this.getDialog());},onChange:function(){o.call(this,'advanced:txtdlgGenStyle');},validate:CKEDITOR.dialog.validate.integer(b.lang.image.validateVSpace),setup:function(B,C){if(B==d){var D,E,F,G=C.getStyle('margin-top'),H=C.getStyle('margin-bottom');G=G&&G.match(j);H=H&&H.match(j);E=parseInt(G,10);F=parseInt(H,10);D=E==F&&E;isNaN(parseInt(D,10))&&(D=C.getAttribute('vspace'));this.setValue(D);}},commit:function(B,C,D){var E=parseInt(this.getValue(),10);if(B==d||B==f){if(!isNaN(E)){C.setStyle('margin-top',CKEDITOR.tools.cssLength(E));C.setStyle('margin-bottom',CKEDITOR.tools.cssLength(E));}else if(!E&&this.isChanged()){C.removeStyle('margin-top');C.removeStyle('margin-bottom');}if(!D&&B==d)C.removeAttribute('vspace');}else if(B==g){C.removeAttribute('vspace');C.removeStyle('margin-top');C.removeStyle('margin-bottom');}}},{id:'cmbAlign',type:'select',widths:['35%','65%'],style:'width:90px',label:b.lang.common.align,'default':'',items:[[b.lang.common.notSet,''],[b.lang.common.alignLeft,'left'],[b.lang.common.alignRight,'right']],onChange:function(){l(this.getDialog());o.call(this,'advanced:txtdlgGenStyle');},setup:function(B,C){if(B==d){var D=C.getStyle('float');switch(D){case 'inherit':case 'none':D='';}!D&&(D=(C.getAttribute('align')||'').toLowerCase());this.setValue(D);}},commit:function(B,C,D){var E=this.getValue();if(B==d||B==f){if(E)C.setStyle('float',E);else C.removeStyle('float');if(!D&&B==d){E=(C.getAttribute('align')||'').toLowerCase();switch(E){case 'left':case 'right':C.removeAttribute('align');}}}else if(B==g)C.removeStyle('float');}}]}]},{type:'vbox',height:'250px',children:[{type:'html',id:'htmlPreview',style:'width:95%;',html:'<div>'+CKEDITOR.tools.htmlEncode(b.lang.common.preview)+'<br>'+'<div id="'+y+'" class="ImagePreviewLoader" style="display:none"><div class="loading">&nbsp;</div></div>'+'<div class="ImagePreviewBox"><table><tr><td>'+'<a href="javascript:void(0)" target="_blank" onclick="return false;" id="'+z+'">'+'<img id="'+A+'" alt="" /></a>'+(b.config.image_previewText||'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas feugiat consequat diam. Maecenas metus. Vivamus diam purus, cursus a, commodo non, facilisis vitae, nulla. Aenean dictum lacinia tortor. Nunc iaculis, nibh non iaculis aliquam, orci felis euismod neque, sed ornare massa mauris sed velit. Nulla pretium mi et risus. Fusce mi pede, tempor id, cursus ac, ullamcorper nec, enim. Sed tortor. Curabitur molestie. Duis velit augue, condimentum at, ultrices a, luctus ut, orci. Donec pellentesque egestas eros. Integer cursus, augue in cursus faucibus, eros pede bibendum sem, in tempus tellus justo quis ligula. Etiam eget tortor. Vestibulum rutrum, est ut placerat elementum, lectus nisl aliquam velit, tempor aliquam eros nunc nonummy metus. In eros metus, gravida a, gravida sed, lobortis id, turpis. Ut ultrices, ipsum at venenatis fringilla, sem nulla lacinia tellus, eget aliquet turpis mauris non enim. Nam turpis. Suspendisse lacinia. Curabitur ac tortor ut ipsum egestas elementum. Nunc imperdiet gravida mauris.')+'</td></tr></table></div></div>'}]}]}]},{id:'Link',label:b.lang.link.title,padding:0,elements:[{id:'txtUrl',type:'text',label:b.lang.common.url,style:'width: 100%','default':'',setup:function(B,C){if(B==e){var D=C.data('cke-saved-href');
-if(!D)D=C.getAttribute('href');this.setValue(D);}},commit:function(B,C){var E=this;if(B==e)if(E.getValue()||E.isChanged()){var D=decodeURI(E.getValue());C.data('cke-saved-href',D);C.setAttribute('href',D);if(E.getValue()||!b.config.image_removeLinkByEmptyURL)E.getDialog().addLink=true;}}},{type:'button',id:'browse',filebrowser:{action:'Browse',target:'Link:txtUrl',url:b.config.filebrowserImageBrowseLinkUrl},style:'float:right',hidden:true,label:b.lang.common.browseServer},{id:'cmbTarget',type:'select',label:b.lang.common.target,'default':'',items:[[b.lang.common.notSet,''],[b.lang.common.targetNew,'_blank'],[b.lang.common.targetTop,'_top'],[b.lang.common.targetSelf,'_self'],[b.lang.common.targetParent,'_parent']],setup:function(B,C){if(B==e)this.setValue(C.getAttribute('target')||'');},commit:function(B,C){if(B==e)if(this.getValue()||this.isChanged())C.setAttribute('target',this.getValue());}}]},{id:'Upload',hidden:true,filebrowser:'uploadButton',label:b.lang.image.upload,elements:[{type:'file',id:'upload',label:b.lang.image.btnUpload,style:'height:40px',size:38},{type:'fileButton',id:'uploadButton',filebrowser:'info:txtUrl',label:b.lang.image.btnUpload,'for':['Upload','upload']}]},{id:'advanced',label:b.lang.common.advancedTab,elements:[{type:'hbox',widths:['50%','25%','25%'],children:[{type:'text',id:'linkId',label:b.lang.common.id,setup:function(B,C){if(B==d)this.setValue(C.getAttribute('id'));},commit:function(B,C){if(B==d)if(this.getValue()||this.isChanged())C.setAttribute('id',this.getValue());}},{id:'cmbLangDir',type:'select',style:'width : 100px;',label:b.lang.common.langDir,'default':'',items:[[b.lang.common.notSet,''],[b.lang.common.langDirLtr,'ltr'],[b.lang.common.langDirRtl,'rtl']],setup:function(B,C){if(B==d)this.setValue(C.getAttribute('dir'));},commit:function(B,C){if(B==d)if(this.getValue()||this.isChanged())C.setAttribute('dir',this.getValue());}},{type:'text',id:'txtLangCode',label:b.lang.common.langCode,'default':'',setup:function(B,C){if(B==d)this.setValue(C.getAttribute('lang'));},commit:function(B,C){if(B==d)if(this.getValue()||this.isChanged())C.setAttribute('lang',this.getValue());}}]},{type:'text',id:'txtGenLongDescr',label:b.lang.common.longDescr,setup:function(B,C){if(B==d)this.setValue(C.getAttribute('longDesc'));},commit:function(B,C){if(B==d)if(this.getValue()||this.isChanged())C.setAttribute('longDesc',this.getValue());}},{type:'hbox',widths:['50%','50%'],children:[{type:'text',id:'txtGenClass',label:b.lang.common.cssClass,'default':'',setup:function(B,C){if(B==d)this.setValue(C.getAttribute('class'));
-},commit:function(B,C){if(B==d)if(this.getValue()||this.isChanged())C.setAttribute('class',this.getValue());}},{type:'text',id:'txtGenTitle',label:b.lang.common.advisoryTitle,'default':'',onChange:function(){l(this.getDialog());},setup:function(B,C){if(B==d)this.setValue(C.getAttribute('title'));},commit:function(B,C){var D=this;if(B==d){if(D.getValue()||D.isChanged())C.setAttribute('title',D.getValue());}else if(B==f)C.setAttribute('title',D.getValue());else if(B==g)C.removeAttribute('title');}}]},{type:'text',id:'txtdlgGenStyle',label:b.lang.common.cssStyle,validate:CKEDITOR.dialog.validate.inlineStyle(b.lang.common.invalidInlineStyle),'default':'',setup:function(B,C){if(B==d){var D=C.getAttribute('style');if(!D&&C.$.style.cssText)D=C.$.style.cssText;this.setValue(D);var E=C.$.style.height,F=C.$.style.width,G=(E?E:'').match(h),H=(F?F:'').match(h);this.attributesInStyle={height:!!G,width:!!H};}},onChange:function(){o.call(this,['info:cmbFloat','info:cmbAlign','info:txtVSpace','info:txtHSpace','info:txtBorder','info:txtWidth','info:txtHeight']);l(this);},commit:function(B,C){if(B==d&&(this.getValue()||this.isChanged()))C.setAttribute('style',this.getValue());}}]}]};};CKEDITOR.dialog.add('image',function(b){return a(b,'image');});CKEDITOR.dialog.add('imagebutton',function(b){return a(b,'imagebutton');});})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/link/dialogs/anchor.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/link/dialogs/anchor.js
deleted file mode 100644
index 007c079..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/link/dialogs/anchor.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.dialog.add('anchor',function(a){var b=function(d){this._.selectedElement=d;var e=d.data('cke-saved-name');this.setValueOf('info','txtName',e||'');};function c(d,e){return d.createFakeElement(e,'cke_anchor','anchor');};return{title:a.lang.anchor.title,minWidth:300,minHeight:60,onOk:function(){var k=this;var d=CKEDITOR.tools.trim(k.getValueOf('info','txtName')),e={id:d,name:d,'data-cke-saved-name':d};if(k._.selectedElement){if(k._.selectedElement.data('cke-realelement')){var f=c(a,a.document.createElement('a',{attributes:e}));f.replace(k._.selectedElement);}else k._.selectedElement.setAttributes(e);}else{var g=a.getSelection(),h=g&&g.getRanges()[0];if(h.collapsed){if(CKEDITOR.plugins.link.synAnchorSelector)e['class']='cke_anchor_empty';if(CKEDITOR.plugins.link.emptyAnchorFix){e.contenteditable='false';e['data-cke-editable']=1;}var i=a.document.createElement('a',{attributes:e});if(CKEDITOR.plugins.link.fakeAnchor)i=c(a,i);h.insertNode(i);}else{if(CKEDITOR.env.ie&&CKEDITOR.env.version<9)e['class']='cke_anchor';var j=new CKEDITOR.style({element:'a',attributes:e});j.type=CKEDITOR.STYLE_INLINE;j.apply(a.document);}}},onHide:function(){delete this._.selectedElement;},onShow:function(){var h=this;var d=a.getSelection(),e=d.getSelectedElement(),f;if(e){if(CKEDITOR.plugins.link.fakeAnchor){var g=CKEDITOR.plugins.link.tryRestoreFakeAnchor(a,e);g&&b.call(h,g);h._.selectedElement=e;}else if(e.is('a')&&e.hasAttribute('name'))b.call(h,e);}else{f=CKEDITOR.plugins.link.getSelectedLink(a);if(f){b.call(h,f);d.selectElement(f);}}h.getContentElement('info','txtName').focus();},contents:[{id:'info',label:a.lang.anchor.title,accessKey:'I',elements:[{type:'text',id:'txtName',label:a.lang.anchor.name,required:true,validate:function(){if(!this.getValue()){alert(a.lang.anchor.errorName);return false;}return true;}}]}]};});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/link/dialogs/link.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/link/dialogs/link.js
deleted file mode 100644
index 03a84bf..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/link/dialogs/link.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.dialog.add('link',function(a){var b=CKEDITOR.plugins.link,c=function(){var F=this.getDialog(),G=F.getContentElement('target','popupFeatures'),H=F.getContentElement('target','linkTargetName'),I=this.getValue();if(!G||!H)return;G=G.getElement();G.hide();H.setValue('');switch(I){case 'frame':H.setLabel(a.lang.link.targetFrameName);H.getElement().show();break;case 'popup':G.show();H.setLabel(a.lang.link.targetPopupName);H.getElement().show();break;default:H.setValue(I);H.getElement().hide();break;}},d=function(){var F=this.getDialog(),G=['urlOptions','anchorOptions','emailOptions'],H=this.getValue(),I=F.definition.getContents('upload'),J=I&&I.hidden;if(H=='url'){if(a.config.linkShowTargetTab)F.showPage('target');if(!J)F.showPage('upload');}else{F.hidePage('target');if(!J)F.hidePage('upload');}for(var K=0;K<G.length;K++){var L=F.getContentElement('info',G[K]);if(!L)continue;L=L.getElement().getParent().getParent();if(G[K]==H+'Options')L.show();else L.hide();}F.layout();},e=/^javascript:/,f=/^mailto:([^?]+)(?:\?(.+))?$/,g=/subject=([^;?:@&=$,\/]*)/,h=/body=([^;?:@&=$,\/]*)/,i=/^#(.*)$/,j=/^((?:http|https|ftp|news):\/\/)?(.*)$/,k=/^(_(?:self|top|parent|blank))$/,l=/^javascript:void\(location\.href='mailto:'\+String\.fromCharCode\(([^)]+)\)(?:\+'(.*)')?\)$/,m=/^javascript:([^(]+)\(([^)]+)\)$/,n=/\s*window.open\(\s*this\.href\s*,\s*(?:'([^']*)'|null)\s*,\s*'([^']*)'\s*\)\s*;\s*return\s*false;*\s*/,o=/(?:^|,)([^=]+)=(\d+|yes|no)/gi,p=function(F,G){var H=G&&(G.data('cke-saved-href')||G.getAttribute('href'))||'',I,J,K,L,M={};if(I=H.match(e))if(y=='encode')H=H.replace(l,function(ae,af,ag){return 'mailto:'+String.fromCharCode.apply(String,af.split(','))+(ag&&w(ag));});else if(y)H.replace(m,function(ae,af,ag){if(af==z.name){M.type='email';var ah=M.email={},ai=/[^,\s]+/g,aj=/(^')|('$)/g,ak=ag.match(ai),al=ak.length,am,an;for(var ao=0;ao<al;ao++){an=decodeURIComponent(w(ak[ao].replace(aj,'')));am=z.params[ao].toLowerCase();ah[am]=an;}ah.address=[ah.name,ah.domain].join('@');}});if(!M.type)if(K=H.match(i)){M.type='anchor';M.anchor={};M.anchor.name=M.anchor.id=K[1];}else if(J=H.match(f)){var N=H.match(g),O=H.match(h);M.type='email';var P=M.email={};P.address=J[1];N&&(P.subject=decodeURIComponent(N[1]));O&&(P.body=decodeURIComponent(O[1]));}else if(H&&(L=H.match(j))){M.type='url';M.url={};M.url.protocol=L[1];M.url.url=L[2];}else M.type='url';if(G){var Q=G.getAttribute('target');M.target={};M.adv={};if(!Q){var R=G.data('cke-pa-onclick')||G.getAttribute('onclick'),S=R&&R.match(n);
-if(S){M.target.type='popup';M.target.name=S[1];var T;while(T=o.exec(S[2])){if((T[2]=='yes'||T[2]=='1')&&!(T[1] in {height:1,width:1,top:1,left:1}))M.target[T[1]]=true;else if(isFinite(T[2]))M.target[T[1]]=T[2];}}}else{var U=Q.match(k);if(U)M.target.type=M.target.name=Q;else{M.target.type='frame';M.target.name=Q;}}var V=this,W=function(ae,af){var ag=G.getAttribute(af);if(ag!==null)M.adv[ae]=ag||'';};W('advId','id');W('advLangDir','dir');W('advAccessKey','accessKey');M.adv.advName=G.data('cke-saved-name')||G.getAttribute('name')||'';W('advLangCode','lang');W('advTabIndex','tabindex');W('advTitle','title');W('advContentType','type');CKEDITOR.plugins.link.synAnchorSelector?M.adv.advCSSClasses=C(G):W('advCSSClasses','class');W('advCharset','charset');W('advStyles','style');W('advRel','rel');}var X=M.anchors=[],Y,Z,aa;if(CKEDITOR.plugins.link.emptyAnchorFix){var ab=F.document.getElementsByTag('a');for(Y=0,Z=ab.count();Y<Z;Y++){aa=ab.getItem(Y);if(aa.data('cke-saved-name')||aa.hasAttribute('name'))X.push({name:aa.data('cke-saved-name')||aa.getAttribute('name'),id:aa.getAttribute('id')});}}else{var ac=new CKEDITOR.dom.nodeList(F.document.$.anchors);for(Y=0,Z=ac.count();Y<Z;Y++){aa=ac.getItem(Y);X[Y]={name:aa.getAttribute('name'),id:aa.getAttribute('id')};}}if(CKEDITOR.plugins.link.fakeAnchor){var ad=F.document.getElementsByTag('img');for(Y=0,Z=ad.count();Y<Z;Y++){if(aa=CKEDITOR.plugins.link.tryRestoreFakeAnchor(F,ad.getItem(Y)))X.push({name:aa.getAttribute('name'),id:aa.getAttribute('id')});}}this._.selectedElement=G;return M;},q=function(F,G){if(G[F])this.setValue(G[F][this.id]||'');},r=function(F){return q.call(this,'target',F);},s=function(F){return q.call(this,'adv',F);},t=function(F,G){if(!G[F])G[F]={};G[F][this.id]=this.getValue()||'';},u=function(F){return t.call(this,'target',F);},v=function(F){return t.call(this,'adv',F);};function w(F){return F.replace(/\\'/g,"'");};function x(F){return F.replace(/'/g,'\\$&');};var y=a.config.emailProtection||'';if(y&&y!='encode'){var z={};y.replace(/^([^(]+)\(([^)]+)\)$/,function(F,G,H){z.name=G;z.params=[];H.replace(/[^,\s]+/g,function(I){z.params.push(I);});});}function A(F){var G,H=z.name,I=z.params,J,K;G=[H,'('];for(var L=0;L<I.length;L++){J=I[L].toLowerCase();K=F[J];L>0&&G.push(',');G.push("'",K?x(encodeURIComponent(F[J])):'',"'");}G.push(')');return G.join('');};function B(F){var G,H=F.length,I=[];for(var J=0;J<H;J++){G=F.charCodeAt(J);I.push(G);}return 'String.fromCharCode('+I.join(',')+')';};function C(F){var G=F.getAttribute('class');
-return G?G.replace(/\s*(?:cke_anchor_empty|cke_anchor)(?:\s*$)?/g,''):'';};var D=a.lang.common,E=a.lang.link;return{title:E.title,minWidth:350,minHeight:230,contents:[{id:'info',label:E.info,title:E.info,elements:[{id:'linkType',type:'select',label:E.type,'default':'url',items:[[E.toUrl,'url'],[E.toAnchor,'anchor'],[E.toEmail,'email']],onChange:d,setup:function(F){if(F.type)this.setValue(F.type);},commit:function(F){F.type=this.getValue();}},{type:'vbox',id:'urlOptions',children:[{type:'hbox',widths:['25%','75%'],children:[{id:'protocol',type:'select',label:D.protocol,'default':'http://',items:[['http://‎','http://'],['https://‎','https://'],['ftp://‎','ftp://'],['news://‎','news://'],[E.other,'']],setup:function(F){if(F.url)this.setValue(F.url.protocol||'');},commit:function(F){if(!F.url)F.url={};F.url.protocol=this.getValue();}},{type:'text',id:'url',label:D.url,required:true,onLoad:function(){this.allowOnChange=true;},onKeyUp:function(){var K=this;K.allowOnChange=false;var F=K.getDialog().getContentElement('info','protocol'),G=K.getValue(),H=/^(http|https|ftp|news):\/\/(?=.)/i,I=/^((javascript:)|[#\/\.\?])/i,J=H.exec(G);if(J){K.setValue(G.substr(J[0].length));F.setValue(J[0].toLowerCase());}else if(I.test(G))F.setValue('');K.allowOnChange=true;},onChange:function(){if(this.allowOnChange)this.onKeyUp();},validate:function(){var H=this;var F=H.getDialog();if(F.getContentElement('info','linkType')&&F.getValueOf('info','linkType')!='url')return true;if(/javascript\:/.test(H.getValue())){alert(D.invalidValue);return false;}if(H.getDialog().fakeObj)return true;var G=CKEDITOR.dialog.validate.notEmpty(E.noUrl);return G.apply(H);},setup:function(F){this.allowOnChange=false;if(F.url)this.setValue(F.url.url);this.allowOnChange=true;},commit:function(F){this.onChange();if(!F.url)F.url={};F.url.url=this.getValue();this.allowOnChange=false;}}],setup:function(F){if(!this.getDialog().getContentElement('info','linkType'))this.getElement().show();}},{type:'button',id:'browse',hidden:'true',filebrowser:'info:url',label:D.browseServer}]},{type:'vbox',id:'anchorOptions',width:260,align:'center',padding:0,children:[{type:'fieldset',id:'selectAnchorText',label:E.selectAnchor,setup:function(F){if(F.anchors.length>0)this.getElement().show();else this.getElement().hide();},children:[{type:'hbox',id:'selectAnchor',children:[{type:'select',id:'anchorName','default':'',label:E.anchorName,style:'width: 100%;',items:[['']],setup:function(F){var I=this;I.clear();I.add('');for(var G=0;G<F.anchors.length;
-G++){if(F.anchors[G].name)I.add(F.anchors[G].name);}if(F.anchor)I.setValue(F.anchor.name);var H=I.getDialog().getContentElement('info','linkType');if(H&&H.getValue()=='email')I.focus();},commit:function(F){if(!F.anchor)F.anchor={};F.anchor.name=this.getValue();}},{type:'select',id:'anchorId','default':'',label:E.anchorId,style:'width: 100%;',items:[['']],setup:function(F){var H=this;H.clear();H.add('');for(var G=0;G<F.anchors.length;G++){if(F.anchors[G].id)H.add(F.anchors[G].id);}if(F.anchor)H.setValue(F.anchor.id);},commit:function(F){if(!F.anchor)F.anchor={};F.anchor.id=this.getValue();}}],setup:function(F){if(F.anchors.length>0)this.getElement().show();else this.getElement().hide();}}]},{type:'html',id:'noAnchors',style:'text-align: center;',html:'<div role="note" tabIndex="-1">'+CKEDITOR.tools.htmlEncode(E.noAnchors)+'</div>',focus:true,setup:function(F){if(F.anchors.length<1)this.getElement().show();else this.getElement().hide();}}],setup:function(F){if(!this.getDialog().getContentElement('info','linkType'))this.getElement().hide();}},{type:'vbox',id:'emailOptions',padding:1,children:[{type:'text',id:'emailAddress',label:E.emailAddress,required:true,validate:function(){var F=this.getDialog();if(!F.getContentElement('info','linkType')||F.getValueOf('info','linkType')!='email')return true;var G=CKEDITOR.dialog.validate.notEmpty(E.noEmail);return G.apply(this);},setup:function(F){if(F.email)this.setValue(F.email.address);var G=this.getDialog().getContentElement('info','linkType');if(G&&G.getValue()=='email')this.select();},commit:function(F){if(!F.email)F.email={};F.email.address=this.getValue();}},{type:'text',id:'emailSubject',label:E.emailSubject,setup:function(F){if(F.email)this.setValue(F.email.subject);},commit:function(F){if(!F.email)F.email={};F.email.subject=this.getValue();}},{type:'textarea',id:'emailBody',label:E.emailBody,rows:3,'default':'',setup:function(F){if(F.email)this.setValue(F.email.body);},commit:function(F){if(!F.email)F.email={};F.email.body=this.getValue();}}],setup:function(F){if(!this.getDialog().getContentElement('info','linkType'))this.getElement().hide();}}]},{id:'target',label:E.target,title:E.target,elements:[{type:'hbox',widths:['50%','50%'],children:[{type:'select',id:'linkTargetType',label:D.target,'default':'notSet',style:'width : 100%;',items:[[D.notSet,'notSet'],[E.targetFrame,'frame'],[E.targetPopup,'popup'],[D.targetNew,'_blank'],[D.targetTop,'_top'],[D.targetSelf,'_self'],[D.targetParent,'_parent']],onChange:c,setup:function(F){if(F.target)this.setValue(F.target.type||'notSet');
-c.call(this);},commit:function(F){if(!F.target)F.target={};F.target.type=this.getValue();}},{type:'text',id:'linkTargetName',label:E.targetFrameName,'default':'',setup:function(F){if(F.target)this.setValue(F.target.name);},commit:function(F){if(!F.target)F.target={};F.target.name=this.getValue().replace(/\W/gi,'');}}]},{type:'vbox',width:'100%',align:'center',padding:2,id:'popupFeatures',children:[{type:'fieldset',label:E.popupFeatures,children:[{type:'hbox',children:[{type:'checkbox',id:'resizable',label:E.popupResizable,setup:r,commit:u},{type:'checkbox',id:'status',label:E.popupStatusBar,setup:r,commit:u}]},{type:'hbox',children:[{type:'checkbox',id:'location',label:E.popupLocationBar,setup:r,commit:u},{type:'checkbox',id:'toolbar',label:E.popupToolbar,setup:r,commit:u}]},{type:'hbox',children:[{type:'checkbox',id:'menubar',label:E.popupMenuBar,setup:r,commit:u},{type:'checkbox',id:'fullscreen',label:E.popupFullScreen,setup:r,commit:u}]},{type:'hbox',children:[{type:'checkbox',id:'scrollbars',label:E.popupScrollBars,setup:r,commit:u},{type:'checkbox',id:'dependent',label:E.popupDependent,setup:r,commit:u}]},{type:'hbox',children:[{type:'text',widths:['50%','50%'],labelLayout:'horizontal',label:D.width,id:'width',setup:r,commit:u},{type:'text',labelLayout:'horizontal',widths:['50%','50%'],label:E.popupLeft,id:'left',setup:r,commit:u}]},{type:'hbox',children:[{type:'text',labelLayout:'horizontal',widths:['50%','50%'],label:D.height,id:'height',setup:r,commit:u},{type:'text',labelLayout:'horizontal',label:E.popupTop,widths:['50%','50%'],id:'top',setup:r,commit:u}]}]}]}]},{id:'upload',label:E.upload,title:E.upload,hidden:true,filebrowser:'uploadButton',elements:[{type:'file',id:'upload',label:D.upload,style:'height:40px',size:29},{type:'fileButton',id:'uploadButton',label:D.uploadSubmit,filebrowser:'info:url','for':['upload','upload']}]},{id:'advanced',label:E.advanced,title:E.advanced,elements:[{type:'vbox',padding:1,children:[{type:'hbox',widths:['45%','35%','20%'],children:[{type:'text',id:'advId',label:E.id,setup:s,commit:v},{type:'select',id:'advLangDir',label:E.langDir,'default':'',style:'width:110px',items:[[D.notSet,''],[E.langDirLTR,'ltr'],[E.langDirRTL,'rtl']],setup:s,commit:v},{type:'text',id:'advAccessKey',width:'80px',label:E.acccessKey,maxLength:1,setup:s,commit:v}]},{type:'hbox',widths:['45%','35%','20%'],children:[{type:'text',label:E.name,id:'advName',setup:s,commit:v},{type:'text',label:E.langCode,id:'advLangCode',width:'110px','default':'',setup:s,commit:v},{type:'text',label:E.tabIndex,id:'advTabIndex',width:'80px',maxLength:5,setup:s,commit:v}]}]},{type:'vbox',padding:1,children:[{type:'hbox',widths:['45%','55%'],children:[{type:'text',label:E.advisoryTitle,'default':'',id:'advTitle',setup:s,commit:v},{type:'text',label:E.advisoryContentType,'default':'',id:'advContentType',setup:s,commit:v}]},{type:'hbox',widths:['45%','55%'],children:[{type:'text',label:E.cssClasses,'default':'',id:'advCSSClasses',setup:s,commit:v},{type:'text',label:E.charset,'default':'',id:'advCharset',setup:s,commit:v}]},{type:'hbox',widths:['45%','55%'],children:[{type:'text',label:E.rel,'default':'',id:'advRel',setup:s,commit:v},{type:'text',label:E.styles,'default':'',id:'advStyles',validate:CKEDITOR.dialog.validate.inlineStyle(a.lang.common.invalidInlineStyle),setup:s,commit:v}]}]}]}],onShow:function(){var F=this.getParentEditor(),G=F.getSelection(),H=null;
-if((H=b.getSelectedLink(F))&&H.hasAttribute('href'))G.selectElement(H);else H=null;this.setupContent(p.apply(this,[F,H]));},onOk:function(){var F={},G=[],H={},I=this,J=this.getParentEditor();this.commitContent(H);switch(H.type||'url'){case 'url':var K=H.url&&H.url.protocol!=undefined?H.url.protocol:'http://',L=H.url&&CKEDITOR.tools.trim(H.url.url)||'';F['data-cke-saved-href']=L.indexOf('/')===0?L:K+L;break;case 'anchor':var M=H.anchor&&H.anchor.name,N=H.anchor&&H.anchor.id;F['data-cke-saved-href']='#'+(M||N||'');break;case 'email':var O,P=H.email,Q=P.address;switch(y){case '':case 'encode':var R=encodeURIComponent(P.subject||''),S=encodeURIComponent(P.body||''),T=[];R&&T.push('subject='+R);S&&T.push('body='+S);T=T.length?'?'+T.join('&'):'';if(y=='encode'){O=["javascript:void(location.href='mailto:'+",B(Q)];T&&O.push("+'",x(T),"'");O.push(')');}else O=['mailto:',Q,T];break;default:var U=Q.split('@',2);P.name=U[0];P.domain=U[1];O=['javascript:',A(P)];}F['data-cke-saved-href']=O.join('');break;}if(H.target)if(H.target.type=='popup'){var V=["window.open(this.href, '",H.target.name||'',"', '"],W=['resizable','status','location','toolbar','menubar','fullscreen','scrollbars','dependent'],X=W.length,Y=function(ai){if(H.target[ai])W.push(ai+'='+H.target[ai]);};for(var Z=0;Z<X;Z++)W[Z]=W[Z]+(H.target[W[Z]]?'=yes':'=no');Y('width');Y('left');Y('height');Y('top');V.push(W.join(','),"'); return false;");F['data-cke-pa-onclick']=V.join('');G.push('target');}else{if(H.target.type!='notSet'&&H.target.name)F.target=H.target.name;else G.push('target');G.push('data-cke-pa-onclick','onclick');}if(H.adv){var aa=function(ai,aj){var ak=H.adv[ai];if(ak)F[aj]=ak;else G.push(aj);};aa('advId','id');aa('advLangDir','dir');aa('advAccessKey','accessKey');if(H.adv.advName)F.name=F['data-cke-saved-name']=H.adv.advName;else G=G.concat(['data-cke-saved-name','name']);aa('advLangCode','lang');aa('advTabIndex','tabindex');aa('advTitle','title');aa('advContentType','type');aa('advCSSClasses','class');aa('advCharset','charset');aa('advStyles','style');aa('advRel','rel');}var ab=J.getSelection();F.href=F['data-cke-saved-href'];if(!this._.selectedElement){var ac=ab.getRanges(true);if(ac.length==1&&ac[0].collapsed){var ad=new CKEDITOR.dom.text(H.type=='email'?H.email.address:F['data-cke-saved-href'],J.document);ac[0].insertNode(ad);ac[0].selectNodeContents(ad);ab.selectRanges(ac);}var ae=new CKEDITOR.style({element:'a',attributes:F});ae.type=CKEDITOR.STYLE_INLINE;ae.apply(J.document);}else{var af=this._.selectedElement,ag=af.data('cke-saved-href'),ah=af.getHtml();
-af.setAttributes(F);af.removeAttributes(G);if(H.adv&&H.adv.advName&&CKEDITOR.plugins.link.synAnchorSelector)af.addClass(af.getChildCount()?'cke_anchor':'cke_anchor_empty');if(ag==ah||H.type=='email'&&ah.indexOf('@')!=-1)af.setHtml(H.type=='email'?H.email.address:F['data-cke-saved-href']);ab.selectElement(af);delete this._.selectedElement;}},onLoad:function(){if(!a.config.linkShowAdvancedTab)this.hidePage('advanced');if(!a.config.linkShowTargetTab)this.hidePage('target');},onFocus:function(){var F=this.getContentElement('info','linkType'),G;if(F&&F.getValue()=='url'){G=this.getContentElement('info','url');G.select();}}};});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/liststyle/dialogs/liststyle.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/liststyle/dialogs/liststyle.js
deleted file mode 100644
index d77e02f..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/liststyle/dialogs/liststyle.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-(function(){function a(e,f){var g;try{g=e.getSelection().getRanges()[0];}catch(h){return null;}g.shrink(CKEDITOR.SHRINK_TEXT);return g.getCommonAncestor().getAscendant(f,1);};var b=function(e){return e.type==CKEDITOR.NODE_ELEMENT&&e.is('li');},c={a:'lower-alpha',A:'upper-alpha',i:'lower-roman',I:'upper-roman',1:'decimal',disc:'disc',circle:'circle',square:'square'};function d(e,f){var g=e.lang.list;if(f=='bulletedListStyle')return{title:g.bulletedTitle,minWidth:300,minHeight:50,contents:[{id:'info',accessKey:'I',elements:[{type:'select',label:g.type,id:'type',align:'center',style:'width:150px',items:[[g.notset,''],[g.circle,'circle'],[g.disc,'disc'],[g.square,'square']],setup:function(i){var j=i.getStyle('list-style-type')||c[i.getAttribute('type')]||i.getAttribute('type')||'';this.setValue(j);},commit:function(i){var j=this.getValue();if(j)i.setStyle('list-style-type',j);else i.removeStyle('list-style-type');}}]}],onShow:function(){var i=this.getParentEditor(),j=a(i,'ul');j&&this.setupContent(j);},onOk:function(){var i=this.getParentEditor(),j=a(i,'ul');j&&this.commitContent(j);}};else if(f=='numberedListStyle'){var h=[[g.notset,''],[g.lowerRoman,'lower-roman'],[g.upperRoman,'upper-roman'],[g.lowerAlpha,'lower-alpha'],[g.upperAlpha,'upper-alpha'],[g.decimal,'decimal']];if(!CKEDITOR.env.ie||CKEDITOR.env.version>7)h.concat([[g.armenian,'armenian'],[g.decimalLeadingZero,'decimal-leading-zero'],[g.georgian,'georgian'],[g.lowerGreek,'lower-greek']]);return{title:g.numberedTitle,minWidth:300,minHeight:50,contents:[{id:'info',accessKey:'I',elements:[{type:'hbox',widths:['25%','75%'],children:[{label:g.start,type:'text',id:'start',validate:CKEDITOR.dialog.validate.integer(g.validateStartNumber),setup:function(i){var j=i.getFirst(b).getAttribute('value')||i.getAttribute('start')||1;j&&this.setValue(j);},commit:function(i){var j=i.getFirst(b),k=j.getAttribute('value')||i.getAttribute('start')||1;i.getFirst(b).removeAttribute('value');var l=parseInt(this.getValue(),10);if(isNaN(l))i.removeAttribute('start');else i.setAttribute('start',l);var m=j,n=k,o=isNaN(l)?1:l;while((m=m.getNext(b))&&n++){if(m.getAttribute('value')==n)m.setAttribute('value',o+n-k);}}},{type:'select',label:g.type,id:'type',style:'width: 100%;',items:h,setup:function(i){var j=i.getStyle('list-style-type')||c[i.getAttribute('type')]||i.getAttribute('type')||'';this.setValue(j);},commit:function(i){var j=this.getValue();if(j)i.setStyle('list-style-type',j);else i.removeStyle('list-style-type');}}]}]}],onShow:function(){var i=this.getParentEditor(),j=a(i,'ol');
-j&&this.setupContent(j);},onOk:function(){var i=this.getParentEditor(),j=a(i,'ol');j&&this.commitContent(j);}};}};CKEDITOR.dialog.add('numberedListStyle',function(e){return d(e,'numberedListStyle');});CKEDITOR.dialog.add('bulletedListStyle',function(e){return d(e,'bulletedListStyle');});})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/pastefromword/filter/default.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/pastefromword/filter/default.js
deleted file mode 100644
index ce18c56..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/pastefromword/filter/default.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-(function(){var a=CKEDITOR.htmlParser.fragment.prototype,b=CKEDITOR.htmlParser.element.prototype;a.onlyChild=b.onlyChild=function(){var u=this.children,v=u.length,w=v==1&&u[0];return w||null;};b.removeAnyChildWithName=function(u){var v=this.children,w=[],x;for(var y=0;y<v.length;y++){x=v[y];if(!x.name)continue;if(x.name==u){w.push(x);v.splice(y--,1);}w=w.concat(x.removeAnyChildWithName(u));}return w;};b.getAncestor=function(u){var v=this.parent;while(v&&!(v.name&&v.name.match(u)))v=v.parent;return v;};a.firstChild=b.firstChild=function(u){var v;for(var w=0;w<this.children.length;w++){v=this.children[w];if(u(v))return v;else if(v.name){v=v.firstChild(u);if(v)return v;}}return null;};b.addStyle=function(u,v,w){var A=this;var x,y='';if(typeof v=='string')y+=u+':'+v+';';else{if(typeof u=='object')for(var z in u){if(u.hasOwnProperty(z))y+=z+':'+u[z]+';';}else y+=u;w=v;}if(!A.attributes)A.attributes={};x=A.attributes.style||'';x=(w?[y,x]:[x,y]).join(';');A.attributes.style=x.replace(/^;|;(?=;)/,'');};CKEDITOR.dtd.parentOf=function(u){var v={};for(var w in this){if(w.indexOf('$')==-1&&this[w][u])v[w]=1;}return v;};function c(u){var v=u.children,w,x,y=u.children.length,z,A,B=/list-style-type:(.*?)(?:;|$)/,C=CKEDITOR.plugins.pastefromword.filters.stylesFilter;x=u.attributes;if(B.exec(x.style))return;for(var D=0;D<y;D++){w=v[D];if(w.attributes.value&&Number(w.attributes.value)==D+1)delete w.attributes.value;z=B.exec(w.attributes.style);if(z)if(z[1]==A||!A)A=z[1];else{A=null;break;}}if(A){for(D=0;D<y;D++){x=v[D].attributes;x.style&&(x.style=C([['list-style-type']])(x.style)||'');}u.addStyle('list-style-type',A);}};var d=/^([.\d]*)+(em|ex|px|gd|rem|vw|vh|vm|ch|mm|cm|in|pt|pc|deg|rad|ms|s|hz|khz){1}?/i,e=/^(?:\b0[^\s]*\s*){1,4}$/,f='^m{0,4}(cm|cd|d?c{0,3})(xc|xl|l?x{0,3})(ix|iv|v?i{0,3})$',g=new RegExp(f),h=new RegExp(f.toUpperCase()),i={decimal:/\d+/,'lower-roman':g,'upper-roman':h,'lower-alpha':/^[a-z]+$/,'upper-alpha':/^[A-Z]+$/},j={disc:/[l\u00B7\u2002]/,circle:/[\u006F\u00D8]/,square:/[\u006E\u25C6]/},k={ol:i,ul:j},l=[[1000,'M'],[900,'CM'],[500,'D'],[400,'CD'],[100,'C'],[90,'XC'],[50,'L'],[40,'XL'],[10,'X'],[9,'IX'],[5,'V'],[4,'IV'],[1,'I']],m='ABCDEFGHIJKLMNOPQRSTUVWXYZ';function n(u){u=u.toUpperCase();var v=l.length,w=0;for(var x=0;x<v;++x)for(var y=l[x],z=y[1].length;u.substr(0,z)==y[1];u=u.substr(z))w+=y[0];return w;};function o(u){u=u.toUpperCase();var v=m.length,w=1;for(var x=1;u.length>0;x*=v){w+=m.indexOf(u.charAt(u.length-1))*x;u=u.substr(0,u.length-1);}return w;
-};var p=0,q=null,r,s=CKEDITOR.plugins.pastefromword={utils:{createListBulletMarker:function(u,v){var w=new CKEDITOR.htmlParser.element('cke:listbullet');w.attributes={'cke:listsymbol':u[0]};w.add(new CKEDITOR.htmlParser.text(v));return w;},isListBulletIndicator:function(u){var v=u.attributes&&u.attributes.style;if(/mso-list\s*:\s*Ignore/i.test(v))return true;},isContainingOnlySpaces:function(u){var v;return(v=u.onlyChild())&&/^(:?\s|&nbsp;)+$/.test(v.value);},resolveList:function(u){var v=u.attributes,w;if((w=u.removeAnyChildWithName('cke:listbullet'))&&w.length&&(w=w[0])){u.name='cke:li';if(v.style)v.style=s.filters.stylesFilter([['text-indent'],['line-height'],[/^margin(:?-left)?$/,null,function(x){var y=x.split(' ');x=CKEDITOR.tools.convertToPx(y[3]||y[1]||y[0]);if(!p&&q!==null&&x>q)p=x-q;q=x;v['cke:indent']=p&&Math.ceil(x/p)+1||1;}],[/^mso-list$/,null,function(x){x=x.split(' ');var y=Number(x[0].match(/\d+/)),z=Number(x[1].match(/\d+/));if(z==1){y!==r&&(v['cke:reset']=1);r=y;}v['cke:indent']=z;}]])(v.style,u)||'';if(!v['cke:indent']){q=0;v['cke:indent']=1;}CKEDITOR.tools.extend(v,w.attributes);return true;}else r=q=p=null;return false;},getStyleComponents:(function(){var u=CKEDITOR.dom.element.createFromHtml('<div style="position:absolute;left:-9999px;top:-9999px;"></div>',CKEDITOR.document);CKEDITOR.document.getBody().append(u);return function(v,w,x){u.setStyle(v,w);var y={},z=x.length;for(var A=0;A<z;A++)y[x[A]]=u.getStyle(x[A]);return y;};})(),listDtdParents:CKEDITOR.dtd.parentOf('ol')},filters:{flattenList:function(u,v){v=typeof v=='number'?v:1;var w=u.attributes,x;switch(w.type){case 'a':x='lower-alpha';break;case '1':x='decimal';break;}var y=u.children,z;for(var A=0;A<y.length;A++){z=y[A];if(z.name in CKEDITOR.dtd.$listItem){var B=z.attributes,C=z.children,D=C.length,E=C[D-1];if(E.name in CKEDITOR.dtd.$list){u.add(E,A+1);if(!--C.length)y.splice(A--,1);}z.name='cke:li';w.start&&!A&&(B.value=w.start);s.filters.stylesFilter([['tab-stops',null,function(H){var I=H.split(' ')[1].match(d);I&&(q=CKEDITOR.tools.convertToPx(I[0]));}],v==1?['mso-list',null,function(H){H=H.split(' ');var I=Number(H[0].match(/\d+/));I!==r&&(B['cke:reset']=1);r=I;}]:null])(B.style);B['cke:indent']=v;B['cke:listtype']=u.name;B['cke:list-style-type']=x;}else if(z.name in CKEDITOR.dtd.$list){arguments.callee.apply(this,[z,v+1]);y=y.slice(0,A).concat(z.children).concat(y.slice(A+1));u.children=[];for(var F=0,G=y.length;F<G;F++)u.add(y[F]);}}delete u.name;w['cke:list']=1;},assembleList:function(u){var v=u.children,w,x,y,z,A,B,C,D=[],E,F,G,H,I,J;
-for(var K=0;K<v.length;K++){w=v[K];if('cke:li'==w.name){w.name='li';x=w;y=x.attributes;G=y['cke:listsymbol'];G=G&&G.match(/^(?:[(]?)([^\s]+?)([.)]?)$/);H=I=J=null;if(y['cke:ignored']){v.splice(K--,1);continue;}y['cke:reset']&&(C=A=B=null);z=Number(y['cke:indent']);if(z!=A)F=E=null;if(!G){H=y['cke:listtype']||'ol';I=y['cke:list-style-type'];}else{if(F&&k[F][E].test(G[1])){H=F;I=E;}else for(var L in k)for(var M in k[L]){if(k[L][M].test(G[1]))if(L=='ol'&&/alpha|roman/.test(M)){var N=/roman/.test(M)?n(G[1]):o(G[1]);if(!J||N<J){J=N;H=L;I=M;}}else{H=L;I=M;break;}}!H&&(H=G[2]?'ol':'ul');}F=H;E=I||(H=='ol'?'decimal':'disc');if(I&&I!=(H=='ol'?'decimal':'disc'))x.addStyle('list-style-type',I);if(H=='ol'&&G){switch(I){case 'decimal':J=Number(G[1]);break;case 'lower-roman':case 'upper-roman':J=n(G[1]);break;case 'lower-alpha':case 'upper-alpha':J=o(G[1]);break;}x.attributes.value=J;}if(!C){D.push(C=new CKEDITOR.htmlParser.element(H));C.add(x);v[K]=C;}else{if(z>A){D.push(C=new CKEDITOR.htmlParser.element(H));C.add(x);B.add(C);}else if(z<A){var O=A-z,P;while(O--&&(P=C.parent))C=P.parent;C.add(x);}else C.add(x);v.splice(K--,1);}B=x;A=z;}else if(C)C=A=B=null;}for(K=0;K<D.length;K++)c(D[K]);C=A=B=r=q=p=null;},falsyFilter:function(u){return false;},stylesFilter:function(u,v){return function(w,x){var y=[];(w||'').replace(/&quot;/g,'"').replace(/\s*([^ :;]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(A,B,C){B=B.toLowerCase();B=='font-family'&&(C=C.replace(/["']/g,''));var D,E,F,G;for(var H=0;H<u.length;H++){if(u[H]){D=u[H][0];E=u[H][1];F=u[H][2];G=u[H][3];if(B.match(D)&&(!E||C.match(E))){B=G||B;v&&(F=F||C);if(typeof F=='function')F=F(C,x,B);if(F&&F.push)B=F[0],F=F[1];if(typeof F=='string')y.push([B,F]);return;}}}!v&&y.push([B,C]);});for(var z=0;z<y.length;z++)y[z]=y[z].join(':');return y.length?y.join(';')+';':false;};},elementMigrateFilter:function(u,v){return function(w){var x=v?new CKEDITOR.style(u,v)._.definition:u;w.name=x.element;CKEDITOR.tools.extend(w.attributes,CKEDITOR.tools.clone(x.attributes));w.addStyle(CKEDITOR.style.getStyleText(x));};},styleMigrateFilter:function(u,v){var w=this.elementMigrateFilter;return function(x,y){var z=new CKEDITOR.htmlParser.element(null),A={};A[v]=x;w(u,A)(z);z.children=y.children;y.children=[z];};},bogusAttrFilter:function(u,v){if(v.name.indexOf('cke:')==-1)return false;},applyStyleFilter:null},getRules:function(u){var v=CKEDITOR.dtd,w=CKEDITOR.tools.extend({},v.$block,v.$listItem,v.$tableContent),x=u.config,y=this.filters,z=y.falsyFilter,A=y.stylesFilter,B=y.elementMigrateFilter,C=CKEDITOR.tools.bind(this.filters.styleMigrateFilter,this.filters),D=this.utils.createListBulletMarker,E=y.flattenList,F=y.assembleList,G=this.utils.isListBulletIndicator,H=this.utils.isContainingOnlySpaces,I=this.utils.resolveList,J=function(O){O=CKEDITOR.tools.convertToPx(O);
-return isNaN(O)?O:O+'px';},K=this.utils.getStyleComponents,L=this.utils.listDtdParents,M=x.pasteFromWordRemoveFontStyles!==false,N=x.pasteFromWordRemoveStyles!==false;return{elementNames:[[/meta|link|script/,'']],root:function(O){O.filterChildren();F(O);},elements:{'^':function(O){var P;if(CKEDITOR.env.gecko&&(P=y.applyStyleFilter))P(O);},$:function(O){var P=O.name||'',Q=O.attributes;if(P in w&&Q.style)Q.style=A([[/^(:?width|height)$/,null,J]])(Q.style)||'';if(P.match(/h\d/)){O.filterChildren();if(I(O))return;B(x['format_'+P])(O);}else if(P in v.$inline){O.filterChildren();if(H(O))delete O.name;}else if(P.indexOf(':')!=-1&&P.indexOf('cke')==-1){O.filterChildren();if(P=='v:imagedata'){var R=O.attributes['o:href'];if(R)O.attributes.src=R;O.name='img';return;}delete O.name;}if(P in L){O.filterChildren();F(O);}},style:function(O){if(CKEDITOR.env.gecko){var P=O.onlyChild().value.match(/\/\* Style Definitions \*\/([\s\S]*?)\/\*/),Q=P&&P[1],R={};if(Q){Q.replace(/[\n\r]/g,'').replace(/(.+?)\{(.+?)\}/g,function(S,T,U){T=T.split(',');var V=T.length,W;for(var X=0;X<V;X++)CKEDITOR.tools.trim(T[X]).replace(/^(\w+)(\.[\w-]+)?$/g,function(Y,Z,aa){Z=Z||'*';aa=aa.substring(1,aa.length);if(aa.match(/MsoNormal/))return;if(!R[Z])R[Z]={};if(aa)R[Z][aa]=U;else R[Z]=U;});});y.applyStyleFilter=function(S){var T=R['*']?'*':S.name,U=S.attributes&&S.attributes['class'],V;if(T in R){V=R[T];if(typeof V=='object')V=V[U];V&&S.addStyle(V,true);}};}}return false;},p:function(O){if(/MsoListParagraph/.exec(O.attributes['class'])){var P=O.firstChild(function(S){return S.type==CKEDITOR.NODE_TEXT&&!H(S.parent);}),Q=P&&P.parent,R=Q&&Q.attributes;R&&!R.style&&(R.style='mso-list: Ignore;');}O.filterChildren();if(I(O))return;if(x.enterMode==CKEDITOR.ENTER_BR){delete O.name;O.add(new CKEDITOR.htmlParser.element('br'));}else B(x['format_'+(x.enterMode==CKEDITOR.ENTER_P?'p':'div')])(O);},div:function(O){var P=O.onlyChild();if(P&&P.name=='table'){var Q=O.attributes;P.attributes=CKEDITOR.tools.extend(P.attributes,Q);Q.style&&P.addStyle(Q.style);var R=new CKEDITOR.htmlParser.element('div');R.addStyle('clear','both');O.add(R);delete O.name;}},td:function(O){if(O.getAncestor('thead'))O.name='th';},ol:E,ul:E,dl:E,font:function(O){if(G(O.parent)){delete O.name;return;}O.filterChildren();var P=O.attributes,Q=P.style,R=O.parent;if('font'==R.name){CKEDITOR.tools.extend(R.attributes,O.attributes);Q&&R.addStyle(Q);delete O.name;}else{Q=Q||'';if(P.color){P.color!='#000000'&&(Q+='color:'+P.color+';');delete P.color;
-}if(P.face){Q+='font-family:'+P.face+';';delete P.face;}if(P.size){Q+='font-size:'+(P.size>3?'large':P.size<3?'small':'medium')+';';delete P.size;}O.name='span';O.addStyle(Q);}},span:function(O){if(G(O.parent))return false;O.filterChildren();if(H(O)){delete O.name;return null;}if(G(O)){var P=O.firstChild(function(Y){return Y.value||Y.name=='img';}),Q=P&&(P.value||'l.'),R=Q&&Q.match(/^(?:[(]?)([^\s]+?)([.)]?)$/);if(R){var S=D(R,Q),T=O.getAncestor('span');if(T&&/ mso-hide:\s*all|display:\s*none /.test(T.attributes.style))S.attributes['cke:ignored']=1;return S;}}var U=O.children,V=O.attributes,W=V&&V.style,X=U&&U[0];if(W)V.style=A([['line-height'],[/^font-family$/,null,!M?C(x.font_style,'family'):null],[/^font-size$/,null,!M?C(x.fontSize_style,'size'):null],[/^color$/,null,!M?C(x.colorButton_foreStyle,'color'):null],[/^background-color$/,null,!M?C(x.colorButton_backStyle,'color'):null]])(W,O)||'';return null;},b:B(x.coreStyles_bold),i:B(x.coreStyles_italic),u:B(x.coreStyles_underline),s:B(x.coreStyles_strike),sup:B(x.coreStyles_superscript),sub:B(x.coreStyles_subscript),a:function(O){var P=O.attributes;if(P&&!P.href&&P.name)delete O.name;else if(CKEDITOR.env.webkit&&P.href&&P.href.match(/file:\/\/\/[\S]+#/i))P.href=P.href.replace(/file:\/\/\/[^#]+/i,'');},'cke:listbullet':function(O){if(O.getAncestor(/h\d/)&&!x.pasteFromWordNumberedHeadingToList)delete O.name;}},attributeNames:[[/^onmouse(:?out|over)/,''],[/^onload$/,''],[/(?:v|o):\w+/,''],[/^lang/,'']],attributes:{style:A(N?[[/^list-style-type$/,null],[/^margin$|^margin-(?!bottom|top)/,null,function(O,P,Q){if(P.name in {p:1,div:1}){var R=x.contentsLangDirection=='ltr'?'margin-left':'margin-right';if(Q=='margin')O=K(Q,O,[R])[R];else if(Q!=R)return null;if(O&&!e.test(O))return[R,O];}return null;}],[/^clear$/],[/^border.*|margin.*|vertical-align|float$/,null,function(O,P){if(P.name=='img')return O;}],[/^width|height$/,null,function(O,P){if(P.name in {table:1,td:1,th:1,img:1})return O;}]]:[[/^mso-/],[/-color$/,null,function(O){if(O=='transparent')return false;if(CKEDITOR.env.gecko)return O.replace(/-moz-use-text-color/g,'transparent');}],[/^margin$/,e],['text-indent','0cm'],['page-break-before'],['tab-stops'],['display','none'],M?[/font-?/]:null],N),width:function(O,P){if(P.name in v.$tableContent)return false;},border:function(O,P){if(P.name in v.$tableContent)return false;},'class':z,bgcolor:z,valign:N?z:function(O,P){P.addStyle('vertical-align',O);return false;}},comment:!CKEDITOR.env.ie?function(O,P){var Q=O.match(/<img.*?>/),R=O.match(/^\[if !supportLists\]([\s\S]*?)\[endif\]$/);
-if(R){var S=R[1]||Q&&'l.',T=S&&S.match(/>(?:[(]?)([^\s]+?)([.)]?)</);return D(T,S);}if(CKEDITOR.env.gecko&&Q){var U=CKEDITOR.htmlParser.fragment.fromHtml(Q[0]).children[0],V=P.previous,W=V&&V.value.match(/<v:imagedata[^>]*o:href=['"](.*?)['"]/),X=W&&W[1];X&&(U.attributes.src=X);return U;}return false;}:z};}},t=function(){this.dataFilter=new CKEDITOR.htmlParser.filter();};t.prototype={toHtml:function(u){var v=CKEDITOR.htmlParser.fragment.fromHtml(u,false),w=new CKEDITOR.htmlParser.basicWriter();v.writeHtml(w,this.dataFilter);return w.getHtml(true);}};CKEDITOR.cleanWord=function(u,v){if(CKEDITOR.env.gecko)u=u.replace(/(<!--\[if[^<]*?\])-->([\S\s]*?)<!--(\[endif\]-->)/gi,'$1$2$3');var w=new t(),x=w.dataFilter;x.addRules(CKEDITOR.plugins.pastefromword.getRules(v));v.fire('beforeCleanWord',{filter:x});try{u=w.toHtml(u,false);}catch(y){alert(v.lang.pastefromword.error);}u=u.replace(/cke:.*?".*?"/g,'');u=u.replace(/style=""/g,'');u=u.replace(/<span>/g,'');return u;};})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/pastetext/dialogs/pastetext.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/pastetext/dialogs/pastetext.js
deleted file mode 100644
index 0bae210..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/pastetext/dialogs/pastetext.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-(function(){CKEDITOR.dialog.add('pastetext',function(a){return{title:a.lang.pasteText.title,minWidth:CKEDITOR.env.ie&&CKEDITOR.env.quirks?368:350,minHeight:240,onShow:function(){this.setupContent();},onOk:function(){this.commitContent();},contents:[{label:a.lang.common.generalTab,id:'general',elements:[{type:'html',id:'pasteMsg',html:'<div style="white-space:normal;width:340px;">'+a.lang.clipboard.pasteMsg+'</div>'},{type:'textarea',id:'content',className:'cke_pastetext',onLoad:function(){var b=this.getDialog().getContentElement('general','pasteMsg').getElement(),c=this.getElement().getElementsByTag('textarea').getItem(0);c.setAttribute('aria-labelledby',b.$.id);c.setStyle('direction',a.config.contentsLangDirection);},focus:function(){this.getElement().focus();},setup:function(){this.setValue('');},commit:function(){var b=this.getValue();setTimeout(function(){a.fire('paste',{text:b});},0);}}]}]};});})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/dialogs/placeholder.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/dialogs/placeholder.js
deleted file mode 100644
index c609f75..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/dialogs/placeholder.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-(function(){function a(b,c){var d=b.lang.placeholder,e=b.lang.common.generalTab;return{title:d.title,minWidth:300,minHeight:80,contents:[{id:'info',label:e,title:e,elements:[{id:'text',type:'text',style:'width: 100%;',label:d.text,'default':'',required:true,validate:CKEDITOR.dialog.validate.notEmpty(d.textMissing),setup:function(f){if(c)this.setValue(f.getText().slice(2,-2));},commit:function(f){var g='[['+this.getValue()+']]';CKEDITOR.plugins.placeholder.createPlaceholder(b,f,g);}}]}],onShow:function(){if(c)this._element=CKEDITOR.plugins.placeholder.getSelectedPlaceHoder(b);this.setupContent(this._element);},onOk:function(){this.commitContent(this._element);delete this._element;}};};CKEDITOR.dialog.add('createplaceholder',function(b){return a(b);});CKEDITOR.dialog.add('editplaceholder',function(b){return a(b,1);});})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/_translationstatus.txt b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/_translationstatus.txt
deleted file mode 100644
index e7f1e7d..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/_translationstatus.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-
-bg.js Found: 5 Missing: 0
-cs.js Found: 5 Missing: 0
-cy.js Found: 5 Missing: 0
-da.js Found: 5 Missing: 0
-de.js Found: 5 Missing: 0
-el.js Found: 5 Missing: 0
-eo.js Found: 5 Missing: 0
-et.js Found: 5 Missing: 0
-fa.js Found: 5 Missing: 0
-fi.js Found: 5 Missing: 0
-fr.js Found: 5 Missing: 0
-he.js Found: 5 Missing: 0
-hr.js Found: 5 Missing: 0
-it.js Found: 5 Missing: 0
-ku.js Found: 5 Missing: 0
-lv.js Found: 5 Missing: 0
-nb.js Found: 5 Missing: 0
-nl.js Found: 5 Missing: 0
-no.js Found: 5 Missing: 0
-pl.js Found: 5 Missing: 0
-pt-br.js Found: 5 Missing: 0
-sk.js Found: 5 Missing: 0
-tr.js Found: 5 Missing: 0
-ug.js Found: 5 Missing: 0
-uk.js Found: 5 Missing: 0
-vi.js Found: 4 Missing: 1
-zh-cn.js Found: 5 Missing: 0
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/bg.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/bg.js
deleted file mode 100644
index 228c80b..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/bg.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','bg',{placeholder:{title:'ÐаÑтройки на контейнера',toolbar:'Ðов контейнер',text:'ТекÑÑ‚ за контейнера',edit:'ПромÑна на контейнер',textMissing:'Контейнера Ñ‚Ñ€Ñбва да Ñъдържа текÑÑ‚.'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/cs.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/cs.js
deleted file mode 100644
index 432ca8d..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/cs.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','cs',{placeholder:{title:'Vlastnosti vyhrazeného prostoru',toolbar:'Vytvořit vyhrazený prostor',text:'Vyhrazený text',edit:'Upravit vyhrazený prostor',textMissing:'Vyhrazený prostor musí obsahovat text.'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/cy.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/cy.js
deleted file mode 100644
index f4d0c44..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/cy.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','cy',{placeholder:{title:"Priodweddau'r Daliwr Geiriau",toolbar:'Creu Daliwr Geiriau',text:'Testun y Daliwr Geiriau',edit:"Golygu'r Dailwr Geiriau",textMissing:"Mae'n rhaid i'r daliwr geiriau gynnwys testun."}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/da.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/da.js
deleted file mode 100644
index 6cbce40..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/da.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','da',{placeholder:{title:'Egenskaber for pladsholder',toolbar:'Opret pladsholder',text:'Tekst til pladsholder',edit:'Redigér pladsholder',textMissing:'Pladsholder skal indeholde tekst'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/de.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/de.js
deleted file mode 100644
index 7312b1b..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/de.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','de',{placeholder:{title:'Platzhalter Einstellungen',toolbar:'Platzhalter erstellen',text:'Platzhalter Text',edit:'Platzhalter bearbeiten',textMissing:'Der Platzhalter muss einen Text beinhalten.'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/el.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/el.js
deleted file mode 100644
index b2a05cc..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/el.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','el',{placeholder:{title:'Ιδιότητες Υποκατάστατου Κειμένου',toolbar:'ΔημιουÏγία Υποκατάσταστου Κειμένου',text:'Υποκαθιστόμενο Κείμενο',edit:'ΕπεξεÏγασία Υποκατάσταστου Κειμένου',textMissing:'ΠÏέπει να υπάÏχει υποκαθιστόμενο κείμενο.'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/en.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/en.js
deleted file mode 100644
index 77ff1e6..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/en.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','en',{placeholder:{title:'Placeholder Properties',toolbar:'Create Placeholder',text:'Placeholder Text',edit:'Edit Placeholder',textMissing:'The placeholder must contain text.'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/eo.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/eo.js
deleted file mode 100644
index ba0d3b4..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/eo.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','eo',{placeholder:{title:'Atributoj de la rezervita spaco',toolbar:'Krei la rezervitan spacon',text:'Texto de la rezervita spaco',edit:'Modifi la rezervitan spacon',textMissing:'La rezervita spaco devas enteni tekston.'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/et.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/et.js
deleted file mode 100644
index a4967b1..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/et.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','et',{placeholder:{title:'Kohahoidja omadused',toolbar:'Kohahoidja loomine',text:'Kohahoidja tekst',edit:'Kohahoidja muutmine',textMissing:'Kohahoidja peab sisaldama teksti.'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/fa.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/fa.js
deleted file mode 100644
index 9044d15..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/fa.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang( 'placeholder', 'fa',
-{
- placeholder :
- {
- title : 'ویژگی‌های محل نگهداری',
- toolbar : 'ایجاد یک محل نگهداری',
- text : 'متن محل نگهداری',
- edit : 'ویرایش محل نگهداری',
- textMissing : 'محل نگهداری باید محتوی متن باشد.'
- }
-});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/fi.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/fi.js
deleted file mode 100644
index de6a9ea..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/fi.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','fi',{placeholder:{title:'Paikkamerkin ominaisuudet',toolbar:'Luo paikkamerkki',text:'Paikkamerkin teksti',edit:'Muokkaa paikkamerkkiä',textMissing:'Paikkamerkin täytyy sisältää tekstiä'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/fr.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/fr.js
deleted file mode 100644
index 0143f17..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/fr.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','fr',{placeholder:{title:"Propriétés de l'Espace réservé",toolbar:"Créer l'Espace réservé",text:"Texte de l'Espace réservé",edit:"Modifier l'Espace réservé",textMissing:"L'Espace réservé doit contenir du texte."}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/he.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/he.js
deleted file mode 100644
index 134a388..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/he.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','he',{placeholder:{title:'מ×פייני שומר מקו×',toolbar:'צור שומר מקו×',text:'תוכן שומר המקו×',edit:'ערוך שומר מקו×',textMissing:'שומר ×”×ž×§×•× ×—×™×™×‘ להכיל טקסט.'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/hr.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/hr.js
deleted file mode 100644
index f7b7bdd..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/hr.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','hr',{placeholder:{title:'Svojstva rezerviranog mjesta',toolbar:'Napravi rezervirano mjesto',text:'Tekst rezerviranog mjesta',edit:'Uredi rezervirano mjesto',textMissing:'Rezervirano mjesto mora sadržavati tekst.'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/it.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/it.js
deleted file mode 100644
index fcfd098..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/it.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','it',{placeholder:{title:'Proprietà segnaposto',toolbar:'Crea segnaposto',text:'Testo segnaposto',edit:'Modifica segnaposto',textMissing:'Il segnaposto deve contenere del testo.'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/ku.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/ku.js
deleted file mode 100644
index e6bf47b..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/ku.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang( 'placeholder', 'ku',
-{
- placeholder :
- {
- title : 'خاسیه‌تی شوێن هه‌ڵگر',
- toolbar : 'درووستکردنی شوێن هه‌ڵگر',
- text : 'ده‌ق بۆ شوێن هه‌ڵگڕ',
- edit : 'چاکسازی شوێن هه‌ڵگڕ',
- textMissing : 'شوێن هه‌ڵگڕ ده‌بێت له‌ده‌ق پێکهاتبێت.'
- }
-});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/lv.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/lv.js
deleted file mode 100644
index 1f01e46..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/lv.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','lv',{placeholder:{title:'Viettura uzstÄdÄ«jumi',toolbar:'Izveidot vietturi',text:'Viettura teksts',edit:'Labot vietturi',textMissing:'Vietturim jÄsatur tekstu'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/nb.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/nb.js
deleted file mode 100644
index 484bef0..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/nb.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','nb',{placeholder:{title:'Egenskaper for plassholder',toolbar:'Opprett plassholder',text:'Tekst for plassholder',edit:'Rediger plassholder',textMissing:'Plassholderen må inneholde tekst.'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/nl.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/nl.js
deleted file mode 100644
index 891903b..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/nl.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','nl',{placeholder:{title:'Eigenschappen placeholder',toolbar:'Placeholder aanmaken',text:'Placeholder tekst',edit:'Placeholder wijzigen',textMissing:'De placeholder moet tekst bevatten.'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/no.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/no.js
deleted file mode 100644
index 2c9f3d7..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/no.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','no',{placeholder:{title:'Egenskaper for plassholder',toolbar:'Opprett plassholder',text:'Tekst for plassholder',edit:'Rediger plassholder',textMissing:'Plassholderen må inneholde tekst.'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/pl.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/pl.js
deleted file mode 100644
index e2d31a1..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/pl.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','pl',{placeholder:{title:'Właściwości wypełniacza',toolbar:'Utwórz wypełniacz',text:'Tekst wypełnienia',edit:'Edytuj wypełnienie',textMissing:'Wypełnienie musi posiadać jakiś tekst.'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/pt-br.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/pt-br.js
deleted file mode 100644
index a55f146..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/pt-br.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','pt-br',{placeholder:{title:'Propriedades do Espaço Reservado',toolbar:'Criar Espaço Reservado',text:'Texto do Espaço Reservado',edit:'Editar Espaço Reservado',textMissing:'O espaço reservado deve conter texto.'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/sk.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/sk.js
deleted file mode 100644
index ec8375a..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/sk.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','sk',{placeholder:{title:'Vlastnosti placeholdera',toolbar:'Vytvoriť placeholder',text:'Text placeholdera',edit:'Upraviť placeholder',textMissing:'Placeholder musí obsahovať text.'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/tr.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/tr.js
deleted file mode 100644
index 3937960..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/tr.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','tr',{placeholder:{title:'Yer tutucu özellikleri',toolbar:'Yer tutucu oluşturun',text:'Yer tutucu metini',edit:'Yer tutucuyu düzenle',textMissing:'Yer tutucu metin içermelidir.'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/ug.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/ug.js
deleted file mode 100644
index d83beae..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/ug.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','ug',{placeholder:{title:'ئورۇن بەلگە خاسلىقى',toolbar:'ئورۇن بەلگە قۇر',text:'ئورۇن بەلگە تÛكىستى',edit:'ئورۇن بەلگە تەھرىر',textMissing:'ئورۇن بەلگىسىدە چوقۇم تÛكىست بولۇشى لازىم'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/uk.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/uk.js
deleted file mode 100644
index f2a91f0..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/uk.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','uk',{placeholder:{title:'ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð—Ð°Ð¿Ð¾Ð²Ð½ÑŽÐ²Ð°Ñ‡Ð°',toolbar:'Створити Заповнювач',text:'ТекÑÑ‚ Заповнювача',edit:'Редагувати Заповнювач',textMissing:'Заповнювач повинен міÑтити текÑÑ‚.'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/vi.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/vi.js
deleted file mode 100644
index d83b993..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/vi.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','vi',{placeholder:{title:'Thuộc tính đặt chỗ',toolbar:'Tạo đặt chỗ',text:'Văn bản đặt chỗ',edit:'Chỉnh sửa ',textMissing:'The placeholder must contain text.'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/zh-cn.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/zh-cn.js
deleted file mode 100644
index d6b506b..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/lang/zh-cn.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('placeholder','zh-cn',{placeholder:{title:'å ä½ç¬¦å±žæ€§',toolbar:'创建å ä½ç¬¦',text:'å ä½ç¬¦æ–‡å­—',edit:'编辑å ä½ç¬¦',textMissing:'å ä½ç¬¦å¿…须包å«æ–‡å­—。'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/plugin.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/plugin.js
deleted file mode 100644
index e6c11a6..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/placeholder/plugin.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-(function(){var a=/\[\[[^\]]+\]\]/g;CKEDITOR.plugins.add('placeholder',{requires:['dialog'],lang:['bg','cs','cy','da','de','el','en','eo','et','fa','fi','fr','he','hr','it','ku','nb','nl','no','pl','pt-br','sk','tr','ug','uk','vi','zh-cn'],init:function(b){var c=b.lang.placeholder;b.addCommand('createplaceholder',new CKEDITOR.dialogCommand('createplaceholder'));b.addCommand('editplaceholder',new CKEDITOR.dialogCommand('editplaceholder'));b.ui.addButton('CreatePlaceholder',{label:c.toolbar,command:'createplaceholder',icon:this.path+'placeholder.gif'});if(b.addMenuItems){b.addMenuGroup('placeholder',20);b.addMenuItems({editplaceholder:{label:c.edit,command:'editplaceholder',group:'placeholder',order:1,icon:this.path+'placeholder.gif'}});if(b.contextMenu)b.contextMenu.addListener(function(d,e){if(!d||!d.data('cke-placeholder'))return null;return{editplaceholder:CKEDITOR.TRISTATE_OFF};});}b.on('doubleclick',function(d){if(CKEDITOR.plugins.placeholder.getSelectedPlaceHoder(b))d.data.dialog='editplaceholder';});b.addCss('.cke_placeholder{background-color: #ffff00;'+(CKEDITOR.env.gecko?'cursor: default;':'')+'}');b.on('contentDom',function(){b.document.getBody().on('resizestart',function(d){if(b.getSelection().getSelectedElement().data('cke-placeholder'))d.data.preventDefault();});});CKEDITOR.dialog.add('createplaceholder',this.path+'dialogs/placeholder.js');CKEDITOR.dialog.add('editplaceholder',this.path+'dialogs/placeholder.js');},afterInit:function(b){var c=b.dataProcessor,d=c&&c.dataFilter,e=c&&c.htmlFilter;if(d)d.addRules({text:function(f){return f.replace(a,function(g){return CKEDITOR.plugins.placeholder.createPlaceholder(b,null,g,1);});}});if(e)e.addRules({elements:{span:function(f){if(f.attributes&&f.attributes['data-cke-placeholder'])delete f.name;}}});}});})();CKEDITOR.plugins.placeholder={createPlaceholder:function(a,b,c,d){var e=new CKEDITOR.dom.element('span',a.document);e.setAttributes({contentEditable:'false','data-cke-placeholder':1,'class':'cke_placeholder'});c&&e.setText(c);if(d)return e.getOuterHtml();if(b){if(CKEDITOR.env.ie){e.insertAfter(b);setTimeout(function(){b.remove();e.focus();},10);}else e.replace(b);}else a.insertElement(e);return null;},getSelectedPlaceHoder:function(a){var b=a.getSelection().getRanges()[0];b.shrink(CKEDITOR.SHRINK_TEXT);var c=b.startContainer;while(c&&!(c.type==CKEDITOR.NODE_ELEMENT&&c.data('cke-placeholder')))c=c.getParent();return c;}};
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/preview/preview.html b/rt/share/html/NoAuth/RichText/ckeditor/plugins/preview/preview.html
deleted file mode 100644
index 5745b7a..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/preview/preview.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<script>
-
-var doc = document;
-doc.open();
-doc.write( window.opener._cke_htmlToLoad );
-doc.close();
-
-delete window.opener._cke_htmlToLoad;
-
-</script>
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/scayt/dialogs/options.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/scayt/dialogs/options.js
deleted file mode 100644
index 7aca2b0..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/scayt/dialogs/options.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.dialog.add('scaytcheck',function(a){var b=true,c,d=CKEDITOR.document,e=a.name,f=CKEDITOR.plugins.scayt.getUiTabs(a),g,h=[],i=0,j=['dic_create_'+e+',dic_restore_'+e,'dic_rename_'+e+',dic_delete_'+e],k=['mixedCase','mixedWithDigits','allCaps','ignoreDomainNames'];function l(){if(typeof document.forms['optionsbar_'+e]!='undefined')return document.forms['optionsbar_'+e].options;return[];};function m(){if(typeof document.forms['languagesbar_'+e]!='undefined')return document.forms['languagesbar_'+e].scayt_lang;return[];};function n(z,A){if(!z)return;var B=z.length;if(B==undefined){z.checked=z.value==A.toString();return;}for(var C=0;C<B;C++){z[C].checked=false;if(z[C].value==A.toString())z[C].checked=true;}};var o=a.lang.scayt,p=[{id:'options',label:o.optionsTab,elements:[{type:'html',id:'options',html:'<form name="optionsbar_'+e+'"><div class="inner_options">'+'\t<div class="messagebox"></div>'+'\t<div style="display:none;">'+'\t\t<input type="checkbox" name="options" id="allCaps_'+e+'" />'+'\t\t<label for="allCaps" id="label_allCaps_'+e+'"></label>'+'\t</div>'+'\t<div style="display:none;">'+'\t\t<input name="options" type="checkbox" id="ignoreDomainNames_'+e+'" />'+'\t\t<label for="ignoreDomainNames" id="label_ignoreDomainNames_'+e+'"></label>'+'\t</div>'+'\t<div style="display:none;">'+'\t<input name="options" type="checkbox" id="mixedCase_'+e+'" />'+'\t\t<label for="mixedCase" id="label_mixedCase_'+e+'"></label>'+'\t</div>'+'\t<div style="display:none;">'+'\t\t<input name="options" type="checkbox" id="mixedWithDigits_'+e+'" />'+'\t\t<label for="mixedWithDigits" id="label_mixedWithDigits_'+e+'"></label>'+'\t</div>'+'</div></form>'}]},{id:'langs',label:o.languagesTab,elements:[{type:'html',id:'langs',html:'<form name="languagesbar_'+e+'"><div class="inner_langs">'+'\t<div class="messagebox"></div>\t'+' <div style="float:left;width:45%;margin-left:5px;" id="scayt_lcol_'+e+'" ></div>'+' <div style="float:left;width:45%;margin-left:15px;" id="scayt_rcol_'+e+'"></div>'+'</div></form>'}]},{id:'dictionaries',label:o.dictionariesTab,elements:[{type:'html',style:'',id:'dictionaries',html:'<form name="dictionarybar_'+e+'"><div class="inner_dictionary" style="text-align:left; white-space:normal; width:320px; overflow: hidden;">'+'\t<div style="margin:5px auto; width:80%;white-space:normal; overflow:hidden;" id="dic_message_'+e+'"> </div>'+'\t<div style="margin:5px auto; width:80%;white-space:normal;"> '+' <span class="cke_dialog_ui_labeled_label" >Dictionary name</span><br>'+'\t\t<span class="cke_dialog_ui_labeled_content" >'+'\t\t\t<div class="cke_dialog_ui_input_text">'+'\t\t\t\t<input id="dic_name_'+e+'" type="text" class="cke_dialog_ui_input_text"/>'+'\t\t</div></span></div>'+'\t\t<div style="margin:5px auto; width:80%;white-space:normal;">'+'\t\t\t<a style="display:none;" class="cke_dialog_ui_button" href="javascript:void(0)" id="dic_create_'+e+'">'+'\t\t\t\t</a>'+'\t\t\t<a style="display:none;" class="cke_dialog_ui_button" href="javascript:void(0)" id="dic_delete_'+e+'">'+'\t\t\t\t</a>'+'\t\t\t<a style="display:none;" class="cke_dialog_ui_button" href="javascript:void(0)" id="dic_rename_'+e+'">'+'\t\t\t\t</a>'+'\t\t\t<a style="display:none;" class="cke_dialog_ui_button" href="javascript:void(0)" id="dic_restore_'+e+'">'+'\t\t\t\t</a>'+'\t\t</div>'+'\t<div style="margin:5px auto; width:95%;white-space:normal;" id="dic_info_'+e+'"></div>'+'</div></form>'}]},{id:'about',label:o.aboutTab,elements:[{type:'html',id:'about',style:'margin: 5px 5px;',html:'<div id="scayt_about_'+e+'"></div>'}]}],q={title:o.title,minWidth:360,minHeight:220,onShow:function(){var z=this;
-z.data=a.fire('scaytDialog',{});z.options=z.data.scayt_control.option();z.chosed_lang=z.sLang=z.data.scayt_control.sLang;if(!z.data||!z.data.scayt||!z.data.scayt_control){alert('Error loading application service');z.hide();return;}var A=0;if(b)z.data.scayt.getCaption(a.langCode||'en',function(B){if(A++>0)return;c=B;s.apply(z);t.apply(z);b=false;});else t.apply(z);z.selectPage(z.data.tab);},onOk:function(){var z=this.data.scayt_control;z.option(this.options);var A=this.chosed_lang;z.setLang(A);z.refresh();},onCancel:function(){var z=l();for(var A in z)z[A].checked=false;n(m(),'');},contents:h},r=CKEDITOR.plugins.scayt.getScayt(a);for(g=0;g<f.length;g++){if(f[g]==1)h[h.length]=p[g];}if(f[2]==1)i=1;var s=function(){var z=this,A=z.data.scayt.getLangList(),B=['dic_create','dic_delete','dic_rename','dic_restore'],C=[],D=[],E=k,F;if(i){for(F=0;F<B.length;F++){C[F]=B[F]+'_'+e;d.getById(C[F]).setHtml('<span class="cke_dialog_ui_button">'+c['button_'+B[F]]+'</span>');}d.getById('dic_info_'+e).setHtml(c.dic_info);}if(f[0]==1)for(F in E){var G='label_'+E[F],H=G+'_'+e,I=d.getById(H);if('undefined'!=typeof I&&'undefined'!=typeof c[G]&&'undefined'!=typeof z.options[E[F]]){I.setHtml(c[G]);var J=I.getParent();J.$.style.display='block';}}var K='<p><img src="'+window.scayt.getAboutInfo().logoURL+'" /></p>'+'<p>'+c.version+window.scayt.getAboutInfo().version.toString()+'</p>'+'<p>'+c.about_throwt_copy+'</p>';d.getById('scayt_about_'+e).setHtml(K);var L=function(U,V){var W=d.createElement('label');W.setAttribute('for','cke_option'+U);W.setHtml(V[U]);if(z.sLang==U)z.chosed_lang=U;var X=d.createElement('div'),Y=CKEDITOR.dom.element.createFromHtml('<input id="cke_option'+U+'" type="radio" '+(z.sLang==U?'checked="checked"':'')+' value="'+U+'" name="scayt_lang" />');Y.on('click',function(){this.$.checked=true;z.chosed_lang=U;});X.append(Y);X.append(W);return{lang:V[U],code:U,radio:X};};if(f[1]==1){for(F in A.rtl)D[D.length]=L(F,A.ltr);for(F in A.ltr)D[D.length]=L(F,A.ltr);D.sort(function(U,V){return V.lang>U.lang?-1:1;});var M=d.getById('scayt_lcol_'+e),N=d.getById('scayt_rcol_'+e);for(F=0;F<D.length;F++){var O=F<D.length/2?M:N;O.append(D[F].radio);}}var P={};P.dic_create=function(U,V,W){var X=W[0]+','+W[1],Y=c.err_dic_create,Z=c.succ_dic_create;window.scayt.createUserDictionary(V,function(aa){x(X);w(W[1]);Z=Z.replace('%s',aa.dname);v(Z);},function(aa){Y=Y.replace('%s',aa.dname);u(Y+'( '+(aa.message||'')+')');});};P.dic_rename=function(U,V){var W=c.err_dic_rename||'',X=c.succ_dic_rename||'';
-window.scayt.renameUserDictionary(V,function(Y){X=X.replace('%s',Y.dname);y(V);v(X);},function(Y){W=W.replace('%s',Y.dname);y(V);u(W+'( '+(Y.message||'')+' )');});};P.dic_delete=function(U,V,W){var X=W[0]+','+W[1],Y=c.err_dic_delete,Z=c.succ_dic_delete;window.scayt.deleteUserDictionary(function(aa){Z=Z.replace('%s',aa.dname);x(X);w(W[0]);y('');v(Z);},function(aa){Y=Y.replace('%s',aa.dname);u(Y);});};P.dic_restore=z.dic_restore||(function(U,V,W){var X=W[0]+','+W[1],Y=c.err_dic_restore,Z=c.succ_dic_restore;window.scayt.restoreUserDictionary(V,function(aa){Z=Z.replace('%s',aa.dname);x(X);w(W[1]);v(Z);},function(aa){Y=Y.replace('%s',aa.dname);u(Y);});});function Q(U){var V=d.getById('dic_name_'+e).getValue();if(!V){u(' Dictionary name should not be empty. ');return false;}try{var W=U.data.getTarget().getParent(),X=/(dic_\w+)_[\w\d]+/.exec(W.getId())[1];P[X].apply(null,[W,V,j]);}catch(Y){u(' Dictionary error. ');}return true;};var R=(j[0]+','+j[1]).split(','),S;for(F=0,S=R.length;F<S;F+=1){var T=d.getById(R[F]);if(T)T.on('click',Q,this);}},t=function(){var z=this;if(f[0]==1){var A=l();for(var B=0,C=A.length;B<C;B++){var D=A[B].id,E=d.getById(D);if(E){A[B].checked=false;if(z.options[D.split('_')[0]]==1)A[B].checked=true;if(b)E.on('click',function(){z.options[this.getId().split('_')[0]]=this.$.checked?1:0;});}}}if(f[1]==1){var F=d.getById('cke_option'+z.sLang);n(F.$,z.sLang);}if(i){window.scayt.getNameUserDictionary(function(G){var H=G.dname;x(j[0]+','+j[1]);if(H){d.getById('dic_name_'+e).setValue(H);w(j[1]);}else w(j[0]);},function(){d.getById('dic_name_'+e).setValue('');});v('');}};function u(z){d.getById('dic_message_'+e).setHtml('<span style="color:red;">'+z+'</span>');};function v(z){d.getById('dic_message_'+e).setHtml('<span style="color:blue;">'+z+'</span>');};function w(z){z=String(z);var A=z.split(',');for(var B=0,C=A.length;B<C;B+=1)d.getById(A[B]).$.style.display='inline';};function x(z){z=String(z);var A=z.split(',');for(var B=0,C=A.length;B<C;B+=1)d.getById(A[B]).$.style.display='none';};function y(z){d.getById('dic_name_'+e).$.value=z;};return q;});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/scayt/dialogs/toolbar.css b/rt/share/html/NoAuth/RichText/ckeditor/plugins/scayt/dialogs/toolbar.css
deleted file mode 100644
index 21184fe..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/scayt/dialogs/toolbar.css
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-a{text-decoration:none;padding:2px 4px 4px 6px;display:block;border-width:1px;border-style:solid;margin:0;}a.cke_scayt_toogle:hover,a.cke_scayt_toogle:focus,a.cke_scayt_toogle:active{border-color:#316ac5;background-color:#dff1ff;color:#000;cursor:pointer;margin:0;}a.cke_scayt_toogle{color:#316ac5;border-color:#fff;}.scayt_enabled a.cke_scayt_item{color:#316ac5;border-color:#fff;margin:0;}.scayt_disabled a.cke_scayt_item{color:gray;border-color:#fff;}.scayt_enabled a.cke_scayt_item:hover,.scayt_enabled a.cke_scayt_item:focus,.scayt_enabled a.cke_scayt_item:active{border-color:#316ac5;background-color:#dff1ff;color:#000;cursor:pointer;}.scayt_disabled a.cke_scayt_item:hover,.scayt_disabled a.cke_scayt_item:focus,.scayt_disabled a.cke_scayt_item:active{border-color:gray;background-color:#dff1ff;color:gray;cursor:no-drop;}.cke_scayt_set_on,.cke_scayt_set_off{display:none;}.scayt_enabled .cke_scayt_set_on{display:none;}.scayt_disabled .cke_scayt_set_on{display:inline;}.scayt_disabled .cke_scayt_set_off{display:none;}.scayt_enabled .cke_scayt_set_off{display:inline;}
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/smiley/dialogs/smiley.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/smiley/dialogs/smiley.js
deleted file mode 100644
index de31cd3..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/smiley/dialogs/smiley.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.dialog.add('smiley',function(a){var b=a.config,c=a.lang.smiley,d=b.smiley_images,e=b.smiley_columns||8,f,g,h=function(o){var p=o.data.getTarget(),q=p.getName();if(q=='a')p=p.getChild(0);else if(q!='img')return;var r=p.getAttribute('cke_src'),s=p.getAttribute('title'),t=a.document.createElement('img',{attributes:{src:r,'data-cke-saved-src':r,title:s,alt:s,width:p.$.width,height:p.$.height}});a.insertElement(t);g.hide();o.data.preventDefault();},i=CKEDITOR.tools.addFunction(function(o,p){o=new CKEDITOR.dom.event(o);p=new CKEDITOR.dom.element(p);var q,r,s=o.getKeystroke(),t=a.lang.dir=='rtl';switch(s){case 38:if(q=p.getParent().getParent().getPrevious()){r=q.getChild([p.getParent().getIndex(),0]);r.focus();}o.preventDefault();break;case 40:if(q=p.getParent().getParent().getNext()){r=q.getChild([p.getParent().getIndex(),0]);if(r)r.focus();}o.preventDefault();break;case 32:h({data:o});o.preventDefault();break;case t?37:39:if(q=p.getParent().getNext()){r=q.getChild(0);r.focus();o.preventDefault(true);}else if(q=p.getParent().getParent().getNext()){r=q.getChild([0,0]);if(r)r.focus();o.preventDefault(true);}break;case t?39:37:if(q=p.getParent().getPrevious()){r=q.getChild(0);r.focus();o.preventDefault(true);}else if(q=p.getParent().getParent().getPrevious()){r=q.getLast().getChild(0);r.focus();o.preventDefault(true);}break;default:return;}}),j=CKEDITOR.tools.getNextId()+'_smiley_emtions_label',k=['<div><span id="'+j+'" class="cke_voice_label">'+c.options+'</span>','<table role="listbox" aria-labelledby="'+j+'" style="width:100%;height:100%" cellspacing="2" cellpadding="2"',CKEDITOR.env.ie&&CKEDITOR.env.quirks?' style="position:absolute;"':'','><tbody>'],l=d.length;for(f=0;f<l;f++){if(f%e===0)k.push('<tr role="presentation">');var m='cke_smile_label_'+f+'_'+CKEDITOR.tools.getNextNumber();k.push('<td class="cke_dark_background cke_centered" style="vertical-align: middle;" role="presentation"><a href="javascript:void(0)" role="option"',' aria-posinset="'+(f+1)+'"',' aria-setsize="'+l+'"',' aria-labelledby="'+m+'"',' class="cke_smile cke_hand" tabindex="-1" onkeydown="CKEDITOR.tools.callFunction( ',i,', event, this );">','<img class="cke_hand" title="',b.smiley_descriptions[f],'" cke_src="',CKEDITOR.tools.htmlEncode(b.smiley_path+d[f]),'" alt="',b.smiley_descriptions[f],'"',' src="',CKEDITOR.tools.htmlEncode(b.smiley_path+d[f]),'"',CKEDITOR.env.ie?" onload=\"this.setAttribute('width', 2); this.removeAttribute('width');\" ":'','><span id="'+m+'" class="cke_voice_label">'+b.smiley_descriptions[f]+'</span>'+'</a>','</td>');
-if(f%e==e-1)k.push('</tr>');}if(f<e-1){for(;f<e-1;f++)k.push('<td></td>');k.push('</tr>');}k.push('</tbody></table></div>');var n={type:'html',id:'smileySelector',html:k.join(''),onLoad:function(o){g=o.sender;},focus:function(){var o=this;setTimeout(function(){var p=o.getElement().getElementsByTag('a').getItem(0);p.focus();},0);},onClick:h,style:'width: 100%; border-collapse: separate;'};return{title:a.lang.smiley.title,minWidth:270,minHeight:120,contents:[{id:'tab1',label:'',title:'',expand:true,padding:0,elements:[n]}],buttons:[CKEDITOR.dialog.cancelButton]};});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/dialogs/specialchar.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/dialogs/specialchar.js
deleted file mode 100644
index 4b48b24..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/dialogs/specialchar.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.dialog.add('specialchar',function(a){var b,c=a.lang.specialChar,d=function(j){var k,l;if(j.data)k=j.data.getTarget();else k=new CKEDITOR.dom.element(j);if(k.getName()=='a'&&(l=k.getChild(0).getHtml())){k.removeClass('cke_light_background');b.hide();var m=a.document.createElement('span');m.setHtml(l);a.insertText(m.getText());}},e=CKEDITOR.tools.addFunction(d),f,g=function(j,k){var l;k=k||j.data.getTarget();if(k.getName()=='span')k=k.getParent();if(k.getName()=='a'&&(l=k.getChild(0).getHtml())){if(f)h(null,f);var m=b.getContentElement('info','htmlPreview').getElement();b.getContentElement('info','charPreview').getElement().setHtml(l);m.setHtml(CKEDITOR.tools.htmlEncode(l));k.getParent().addClass('cke_light_background');f=k;}},h=function(j,k){k=k||j.data.getTarget();if(k.getName()=='span')k=k.getParent();if(k.getName()=='a'){b.getContentElement('info','charPreview').getElement().setHtml('&nbsp;');b.getContentElement('info','htmlPreview').getElement().setHtml('&nbsp;');k.getParent().removeClass('cke_light_background');f=undefined;}},i=CKEDITOR.tools.addFunction(function(j){j=new CKEDITOR.dom.event(j);var k=j.getTarget(),l,m,n=j.getKeystroke(),o=a.lang.dir=='rtl';switch(n){case 38:if(l=k.getParent().getParent().getPrevious()){m=l.getChild([k.getParent().getIndex(),0]);m.focus();h(null,k);g(null,m);}j.preventDefault();break;case 40:if(l=k.getParent().getParent().getNext()){m=l.getChild([k.getParent().getIndex(),0]);if(m&&m.type==1){m.focus();h(null,k);g(null,m);}}j.preventDefault();break;case 32:d({data:j});j.preventDefault();break;case o?37:39:if(l=k.getParent().getNext()){m=l.getChild(0);if(m.type==1){m.focus();h(null,k);g(null,m);j.preventDefault(true);}else h(null,k);}else if(l=k.getParent().getParent().getNext()){m=l.getChild([0,0]);if(m&&m.type==1){m.focus();h(null,k);g(null,m);j.preventDefault(true);}else h(null,k);}break;case o?39:37:if(l=k.getParent().getPrevious()){m=l.getChild(0);m.focus();h(null,k);g(null,m);j.preventDefault(true);}else if(l=k.getParent().getParent().getPrevious()){m=l.getLast().getChild(0);m.focus();h(null,k);g(null,m);j.preventDefault(true);}else h(null,k);break;default:return;}});return{title:c.title,minWidth:430,minHeight:280,buttons:[CKEDITOR.dialog.cancelButton],charColumns:17,onLoad:function(){var j=this.definition.charColumns,k=a.config.extraSpecialChars,l=a.config.specialChars,m=CKEDITOR.tools.getNextId()+'_specialchar_table_label',n=['<table role="listbox" aria-labelledby="'+m+'"'+' style="width: 320px; height: 100%; border-collapse: separate;"'+' align="center" cellspacing="2" cellpadding="2" border="0">'],o=0,p=l.length,q,r;
-while(o<p){n.push('<tr role="presentation">');for(var s=0;s<j;s++,o++){if(q=l[o]){r='';if(q instanceof Array){r=q[1];q=q[0];}else{var t=q.replace('&','').replace(';','').replace('#','');r=c[t]||q;}var u='cke_specialchar_label_'+o+'_'+CKEDITOR.tools.getNextNumber();n.push('<td class="cke_dark_background" style="cursor: default" role="presentation"><a href="javascript: void(0);" role="option" aria-posinset="'+(o+1)+'"',' aria-setsize="'+p+'"',' aria-labelledby="'+u+'"',' style="cursor: inherit; display: block; height: 1.25em; margin-top: 0.25em; text-align: center;" title="',CKEDITOR.tools.htmlEncode(r),'" onkeydown="CKEDITOR.tools.callFunction( '+i+', event, this )"'+' onclick="CKEDITOR.tools.callFunction('+e+', this); return false;"'+' tabindex="-1">'+'<span style="margin: 0 auto;cursor: inherit">'+q+'</span>'+'<span class="cke_voice_label" id="'+u+'">'+r+'</span></a>');}else n.push('<td class="cke_dark_background">&nbsp;');n.push('</td>');}n.push('</tr>');}n.push('</tbody></table>','<span id="'+m+'" class="cke_voice_label">'+c.options+'</span>');this.getContentElement('info','charContainer').getElement().setHtml(n.join(''));},contents:[{id:'info',label:a.lang.common.generalTab,title:a.lang.common.generalTab,padding:0,align:'top',elements:[{type:'hbox',align:'top',widths:['320px','90px'],children:[{type:'html',id:'charContainer',html:'',onMouseover:g,onMouseout:h,focus:function(){var j=this.getElement().getElementsByTag('a').getItem(0);setTimeout(function(){j.focus();g(null,j);},0);},onShow:function(){var j=this.getElement().getChild([0,0,0,0,0]);setTimeout(function(){j.focus();g(null,j);},0);},onLoad:function(j){b=j.sender;}},{type:'hbox',align:'top',widths:['100%'],children:[{type:'vbox',align:'top',children:[{type:'html',html:'<div></div>'},{type:'html',id:'charPreview',className:'cke_dark_background',style:"border:1px solid #eeeeee;font-size:28px;height:40px;width:70px;padding-top:9px;font-family:'Microsoft Sans Serif',Arial,Helvetica,Verdana;text-align:center;",html:'<div>&nbsp;</div>'},{type:'html',id:'htmlPreview',className:'cke_dark_background',style:"border:1px solid #eeeeee;font-size:14px;height:20px;width:70px;padding-top:2px;font-family:'Microsoft Sans Serif',Arial,Helvetica,Verdana;text-align:center;",html:'<div>&nbsp;</div>'}]}]}]}]}]};});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/_translationstatus.txt b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/_translationstatus.txt
deleted file mode 100644
index 9109163..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/_translationstatus.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-
-cs.js Found: 118 Missing: 0
-cy.js Found: 118 Missing: 0
-de.js Found: 118 Missing: 0
-el.js Found: 16 Missing: 102
-eo.js Found: 118 Missing: 0
-et.js Found: 31 Missing: 87
-fa.js Found: 24 Missing: 94
-fi.js Found: 23 Missing: 95
-fr.js Found: 118 Missing: 0
-he.js Found: 1 Missing: 117
-hr.js Found: 23 Missing: 95
-it.js Found: 118 Missing: 0
-ku.js Found: 118 Missing: 0
-lv.js Found: 118 Missing: 0
-nb.js Found: 118 Missing: 0
-nl.js Found: 118 Missing: 0
-no.js Found: 118 Missing: 0
-pt-br.js Found: 118 Missing: 0
-sk.js Found: 118 Missing: 0
-tr.js Found: 118 Missing: 0
-ug.js Found: 39 Missing: 79
-zh-cn.js Found: 118 Missing: 0
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/cs.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/cs.js
deleted file mode 100644
index 763789e..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/cs.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('specialchar','cs',{euro:'Znak eura',lsquo:'PoÄáteÄní uvozovka jednoduchá',rsquo:'Koncová uvozovka jednoduchá',ldquo:'PoÄáteÄní uvozovka dvojitá',rdquo:'Koncová uvozovka dvojitá',ndash:'En pomlÄka',mdash:'Em pomlÄka',iexcl:'Obrácený vykÅ™iÄník',cent:'Znak centu',pound:'Znak libry',curren:'Znak mÄ›ny',yen:'Znak jenu',brvbar:'PÅ™eruÅ¡ená svislá Äára',sect:'Znak oddílu',uml:'PÅ™ehláska',copy:'Znak copyrightu',ordf:'Ženský indikátor rodu',laquo:'Znak dvojitých lomených uvozovek vlevo',not:'Logistický zápor',reg:'Znak registrace',macr:'PomlÄka nad',deg:'Znak stupnÄ›',sup2:'Dvojka jako horní index',sup3:'Trojka jako horní index',acute:'Čárka nad vpravo',micro:'Znak mikro',para:'Znak odstavce',middot:'TeÄka uprostÅ™ed',cedil:'Ocásek vlevo',sup1:'JedniÄka jako horní index',ordm:'Mužský indikátor rodu',raquo:'Znak dvojitých lomených uvozovek vpravo',frac14:'ObyÄejný zlomek jedna Ätvrtina',frac12:'ObyÄejný zlomek jedna polovina',frac34:'ObyÄejný zlomek tÅ™i Ätvrtiny',iquest:'Znak obráceného otazníku',Agrave:'Velké písmeno latinky A s Äárkou nad vlevo',Aacute:'Velké písmeno latinky A s Äárkou nad vpravo',Acirc:'Velké písmeno latinky A s vokánÄ›m',Atilde:'Velké písmeno latinky A s tildou',Auml:'Velké písmeno latinky A s dvÄ›ma teÄkami',Aring:'Velké písmeno latinky A s kroužkem nad',AElig:'Velké písmeno latinky Ae',Ccedil:'Velké písmeno latinky C s ocáskem vlevo',Egrave:'Velké písmeno latinky E s Äárkou nad vlevo',Eacute:'Velké písmeno latinky E s Äárkou nad vpravo',Ecirc:'Velké písmeno latinky E s vokánÄ›m',Euml:'Velké písmeno latinky E s dvÄ›ma teÄkami',Igrave:'Velké písmeno latinky I s Äárkou nad vlevo',Iacute:'Velké písmeno latinky I s Äárkou nad vpravo',Icirc:'Velké písmeno latinky I s vokánÄ›m',Iuml:'Velké písmeno latinky I s dvÄ›ma teÄkami',ETH:'Velké písmeno latinky Eth',Ntilde:'Velké písmeno latinky N s tildou',Ograve:'Velké písmeno latinky O s Äárkou nad vlevo',Oacute:'Velké písmeno latinky O s Äárkou nad vpravo',Ocirc:'Velké písmeno latinky O s vokánÄ›m',Otilde:'Velké písmeno latinky O s tildou',Ouml:'Velké písmeno latinky O s dvÄ›ma teÄkami',times:'Znak násobení',Oslash:'Velké písmeno latinky O pÅ™eÅ¡krtnuté',Ugrave:'Velké písmeno latinky U s Äárkou nad vlevo',Uacute:'Velké písmeno latinky U s Äárkou nad vpravo',Ucirc:'Velké písmeno latinky U s vokánÄ›m',Uuml:'Velké písmeno latinky U s dvÄ›ma teÄkami',Yacute:'Velké písmeno latinky Y s Äárkou nad vpravo',THORN:'Velké písmeno latinky Thorn',szlig:'Malé písmeno latinky ostré s',agrave:'Malé písmeno latinky a s Äárkou nad vlevo',aacute:'Malé písmeno latinky a s Äárkou nad vpravo',acirc:'Malé písmeno latinky a s vokánÄ›m',atilde:'Malé písmeno latinky a s tildou',auml:'Malé písmeno latinky a s dvÄ›ma teÄkami',aring:'Malé písmeno latinky a s kroužkem nad',aelig:'Malé písmeno latinky ae',ccedil:'Malé písmeno latinky c s ocáskem vlevo',egrave:'Malé písmeno latinky e s Äárkou nad vlevo',eacute:'Malé písmeno latinky e s Äárkou nad vpravo',ecirc:'Malé písmeno latinky e s vokánÄ›m',euml:'Malé písmeno latinky e s dvÄ›ma teÄkami',igrave:'Malé písmeno latinky i s Äárkou nad vlevo',iacute:'Malé písmeno latinky i s Äárkou nad vpravo',icirc:'Malé písmeno latinky i s vokánÄ›m',iuml:'Malé písmeno latinky i s dvÄ›ma teÄkami',eth:'Malé písmeno latinky eth',ntilde:'Malé písmeno latinky n s tildou',ograve:'Malé písmeno latinky o s Äárkou nad vlevo',oacute:'Malé písmeno latinky o s Äárkou nad vpravo',ocirc:'Malé písmeno latinky o s vokánÄ›m',otilde:'Malé písmeno latinky o s tildou',ouml:'Malé písmeno latinky o s dvÄ›ma teÄkami',divide:'Znak dÄ›lení',oslash:'Malé písmeno latinky o pÅ™eÅ¡krtnuté',ugrave:'Malé písmeno latinky u s Äárkou nad vlevo',uacute:'Malé písmeno latinky u s Äárkou nad vpravo',ucirc:'Malé písmeno latinky u s vokánÄ›m',uuml:'Malé písmeno latinky u s dvÄ›ma teÄkami',yacute:'Malé písmeno latinky y s Äárkou nad vpravo',thorn:'Malé písmeno latinky thorn',yuml:'Malé písmeno latinky y s dvÄ›ma teÄkami',OElig:'Velká ligatura latinky OE',oelig:'Malá ligatura latinky OE',372:'Velké písmeno latinky W s vokánÄ›m',374:'Velké písmeno latinky Y s vokánÄ›m',373:'Malé písmeno latinky w s vokánÄ›m',375:'Malé písmeno latinky y s vokánÄ›m',sbquo:'Dolní 9 uvozovka jednoduchá',8219:'Horní obrácená 9 uvozovka jednoduchá',bdquo:'Dolní 9 uvozovka dvojitá',hellip:'TrojteÄkový úvod',trade:'Obchodní znaÄka',9658:'ÄŒerný ukazatel směřující vpravo',bull:'KoleÄko',rarr:'Å ipka vpravo',rArr:'Dvojitá Å¡ipka vpravo',hArr:'Dvojitá Å¡ipka vlevo a vpravo',diams:'ÄŒerné piky',asymp:'Téměř se rovná'});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/cy.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/cy.js
deleted file mode 100644
index 5108908..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/cy.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('specialchar','cy',{euro:'Arwydd yr Ewro',lsquo:'Dyfynnod chwith unigol',rsquo:'Dyfynnod dde unigol',ldquo:'Dyfynnod chwith dwbl',rdquo:'Dyfynnod dde dwbl',ndash:'Cysylltnod en',mdash:'Cysylltnod em',iexcl:'Ebychnod gwrthdro',cent:'Arwydd sent',pound:'Arwydd punt',curren:'Arwydd arian cyfred',yen:'Arwydd yen',brvbar:'Bar toriedig',sect:'Arwydd adran',uml:'Didolnod',copy:'Arwydd hawlfraint',ordf:'Dangosydd benywaidd',laquo:"Dyfynnod dwbl ar ongl i'r chwith",not:'Arwydd Nid',reg:'Arwydd cofrestredig',macr:'Macron',deg:'Arwydd gradd',sup2:'Dau uwchsgript',sup3:'Tri uwchsgript',acute:'Acen ddyrchafedig',micro:'Arwydd micro',para:'Arwydd pilcrow',middot:'Dot canol',cedil:'Sedila',sup1:'Un uwchsgript',ordm:'Dangosydd gwrywaidd',raquo:"Dyfynnod dwbl ar ongl i'r dde",frac14:'Ffracsiwn cyffredin un cwarter',frac12:'Ffracsiwn cyffredin un hanner',frac34:'Ffracsiwn cyffredin tri chwarter',iquest:'Marc cwestiwn gwrthdroëdig',Agrave:'Priflythyren A Lladinaidd gydag acen ddisgynedig',Aacute:'Priflythyren A Lladinaidd gydag acen ddyrchafedig',Acirc:'Priflythyren A Lladinaidd gydag acen grom',Atilde:'Priflythyren A Lladinaidd gyda thild',Auml:'Priflythyren A Lladinaidd gyda didolnod',Aring:'Priflythyren A Lladinaidd gyda chylch uwchben',AElig:'Priflythyren Æ Lladinaidd',Ccedil:'Priflythyren C Lladinaidd gyda sedila',Egrave:'Priflythyren E Lladinaidd gydag acen ddisgynedig',Eacute:'Priflythyren E Lladinaidd gydag acen ddyrchafedig',Ecirc:'Priflythyren E Lladinaidd gydag acen grom',Euml:'Priflythyren E Lladinaidd gyda didolnod',Igrave:'Priflythyren I Lladinaidd gydag acen ddisgynedig',Iacute:'Priflythyren I Lladinaidd gydag acen ddyrchafedig',Icirc:'Priflythyren I Lladinaidd gydag acen grom',Iuml:'Priflythyren I Lladinaidd gyda didolnod',ETH:'Priflythyren Eth',Ntilde:'Priflythyren N Lladinaidd gyda thild',Ograve:'Priflythyren O Lladinaidd gydag acen ddisgynedig',Oacute:'Priflythyren O Lladinaidd gydag acen ddyrchafedig',Ocirc:'Priflythyren O Lladinaidd gydag acen grom',Otilde:'Priflythyren O Lladinaidd gyda thild',Ouml:'Priflythyren O Lladinaidd gyda didolnod',times:'Arwydd lluosi',Oslash:'Priflythyren O Lladinaidd gyda strôc',Ugrave:'Priflythyren U Lladinaidd gydag acen ddisgynedig',Uacute:'Priflythyren U Lladinaidd gydag acen ddyrchafedig',Ucirc:'Priflythyren U Lladinaidd gydag acen grom',Uuml:'Priflythyren U Lladinaidd gyda didolnod',Yacute:'Priflythyren Y Lladinaidd gydag acen ddyrchafedig',THORN:'Priflythyren Thorn',szlig:'Llythyren s fach Lladinaidd siarp ',agrave:'Llythyren a fach Lladinaidd gydag acen ddisgynedig',aacute:'Llythyren a fach Lladinaidd gydag acen ddyrchafedig',acirc:'Llythyren a fach Lladinaidd gydag acen grom',atilde:'Llythyren a fach Lladinaidd gyda thild',auml:'Llythyren a fach Lladinaidd gyda didolnod',aring:'Llythyren a fach Lladinaidd gyda chylch uwchben',aelig:'Llythyren æ fach Lladinaidd',ccedil:'Llythyren c fach Lladinaidd gyda sedila',egrave:'Llythyren e fach Lladinaidd gydag acen ddisgynedig',eacute:'Llythyren e fach Lladinaidd gydag acen ddyrchafedig',ecirc:'Llythyren e fach Lladinaidd gydag acen grom',euml:'Llythyren e fach Lladinaidd gyda didolnod',igrave:'Llythyren i fach Lladinaidd gydag acen ddisgynedig',iacute:'Llythyren i fach Lladinaidd gydag acen ddyrchafedig',icirc:'Llythyren i fach Lladinaidd gydag acen grom',iuml:'Llythyren i fach Lladinaidd gyda didolnod',eth:'Llythyren eth fach',ntilde:'Llythyren n fach Lladinaidd gyda thild',ograve:'Llythyren o fach Lladinaidd gydag acen ddisgynedig',oacute:'Llythyren o fach Lladinaidd gydag acen ddyrchafedig',ocirc:'Llythyren o fach Lladinaidd gydag acen grom',otilde:'Llythyren o fach Lladinaidd gyda thild',ouml:'Llythyren o fach Lladinaidd gyda didolnod',divide:'Arwydd rhannu',oslash:'Llyth',ugrave:'Llythyren u fach Lladinaidd gydag acen ddisgynedig',uacute:'Llythyren u fach Lladinaidd gydag acen ddyrchafedig',ucirc:'Llythyren u fach Lladinaidd gydag acen grom',uuml:'Llythyren u fach Lladinaidd gyda didolnod',yacute:'Llythyren y fach Lladinaidd gydag acen ddisgynedig',thorn:'Llythyren o fach Lladinaidd gyda strôc',yuml:'Llythyren y fach Lladinaidd gyda didolnod',OElig:'Priflythyren cwlwm OE Lladinaidd ',oelig:'Priflythyren cwlwm oe Lladinaidd ',372:'Priflythyren W gydag acen grom',374:'Priflythyren Y gydag acen grom',373:'Llythyren w fach gydag acen grom',375:'Llythyren y fach gydag acen grom',sbquo:'Dyfynnod sengl 9-isel',8219:'Dyfynnod sengl 9-uchel cildro',bdquo:'Dyfynnod dwbl 9-isel',hellip:'Coll geiriau llorweddol',trade:'Arwydd marc masnachol',9658:"Pwyntydd du i'r dde",bull:'Bwled',rarr:"Saeth i'r dde",rArr:"Saeth ddwbl i'r dde",hArr:"Saeth ddwbl i'r chwith",diams:'Siwt diemwnt du',asymp:'Bron yn hafal iddo'});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/de.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/de.js
deleted file mode 100644
index 4cfce42..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/de.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('specialchar','de',{euro:'Euro Zeichen',lsquo:'Hochkomma links',rsquo:'Hochkomma rechts',ldquo:'Anführungszeichen links',rdquo:'Anführungszeichen rechts',ndash:'kleiner Strich',mdash:'mittlerer Strich',iexcl:'invertiertes Ausrufezeichen',cent:'Cent',pound:'Pfund',curren:'Währung',yen:'Yen',brvbar:'gestrichelte Linie',sect:'§ Zeichen',uml:'Diäresis',copy:'Copyright',ordf:'Feminine ordinal Anzeige',laquo:'Nach links zeigenden Doppel-Winkel Anführungszeichen',not:'Not-Zeichen',reg:'Registriert',macr:'Längezeichen',deg:'Grad',sup2:'Hoch 2',sup3:'Hoch 3',acute:'Akzentzeichen ',micro:'Micro',para:'Pilcrow-Zeichen',middot:'Mittelpunkt',cedil:'Cedilla',sup1:'Hoch 1',ordm:'Männliche Ordnungszahl Anzeige',raquo:'Nach rechts zeigenden Doppel-Winkel Anführungszeichen',frac14:'ein Viertel',frac12:'Hälfte',frac34:'Dreiviertel',iquest:'Umgekehrtes Fragezeichen',Agrave:'Lateinischer Buchstabe A mit AkzentGrave',Aacute:'Lateinischer Buchstabe A mit Akutakzent',Acirc:'Lateinischer Buchstabe A mit Zirkumflex',Atilde:'Lateinischer Buchstabe A mit Tilde',Auml:'Lateinischer Buchstabe A mit Trema',Aring:'Lateinischer Buchstabe A mit Ring oben',AElig:'Lateinischer Buchstabe Æ',Ccedil:'Lateinischer Buchstabe C mit Cedille',Egrave:'Lateinischer Buchstabe E mit AkzentGrave',Eacute:'Lateinischer Buchstabe E mit Akutakzent',Ecirc:'Lateinischer Buchstabe E mit Zirkumflex',Euml:'Lateinischer Buchstabe E Trema',Igrave:'Lateinischer Buchstabe I mit AkzentGrave',Iacute:'Lateinischer Buchstabe I mit Akutakzent',Icirc:'Lateinischer Buchstabe I mit Zirkumflex',Iuml:'Lateinischer Buchstabe I mit Trema',ETH:'Lateinischer Buchstabe Eth',Ntilde:'Lateinischer Buchstabe N mit Tilde',Ograve:'Lateinischer Buchstabe O mit AkzentGrave',Oacute:'Lateinischer Buchstabe O mit Akutakzent',Ocirc:'Lateinischer Buchstabe O mit Zirkumflex',Otilde:'Lateinischer Buchstabe O mit Tilde',Ouml:'Lateinischer Buchstabe O mit Trema',times:'Multiplikation',Oslash:'Lateinischer Buchstabe O durchgestrichen',Ugrave:'Lateinischer Buchstabe U mit Akzentgrave',Uacute:'Lateinischer Buchstabe U mit Akutakzent',Ucirc:'Lateinischer Buchstabe U mit Zirkumflex',Uuml:'Lateinischer Buchstabe a mit Trema',Yacute:'Lateinischer Buchstabe a mit Akzent',THORN:'Lateinischer Buchstabe mit Dorn',szlig:'Kleiner lateinischer Buchstabe scharfe s',agrave:'Kleiner lateinischer Buchstabe a mit Accent grave',aacute:'Kleiner lateinischer Buchstabe a mit Akut',acirc:'Lateinischer Buchstabe a mit Zirkumflex',atilde:'Lateinischer Buchstabe a mit Tilde',auml:'Kleiner lateinischer Buchstabe a mit Trema',aring:'Kleiner lateinischer Buchstabe a mit Ring oben',aelig:'Lateinischer Buchstabe æ',ccedil:'Kleiner lateinischer Buchstabe c mit Cedille',egrave:'Kleiner lateinischer Buchstabe e mit Accent grave',eacute:'Kleiner lateinischer Buchstabe e mit Akut',ecirc:'Kleiner lateinischer Buchstabe e mit Zirkumflex',euml:'Kleiner lateinischer Buchstabe e mit Trema',igrave:'Kleiner lateinischer Buchstabe i mit AkzentGrave',iacute:'Kleiner lateinischer Buchstabe i mit Akzent',icirc:'Kleiner lateinischer Buchstabe i mit Zirkumflex',iuml:'Kleiner lateinischer Buchstabe i mit Trema',eth:'Kleiner lateinischer Buchstabe eth',ntilde:'Kleiner lateinischer Buchstabe n mit Tilde',ograve:'Kleiner lateinischer Buchstabe o mit Accent grave',oacute:'Kleiner lateinischer Buchstabe o mit Akzent',ocirc:'Kleiner lateinischer Buchstabe o mit Zirkumflex',otilde:'Lateinischer Buchstabe i mit Tilde',ouml:'Kleiner lateinischer Buchstabe o mit Trema',divide:'Divisionszeichen',oslash:'Kleiner lateinischer Buchstabe o durchgestrichen',ugrave:'Kleiner lateinischer Buchstabe u mit Accent grave',uacute:'Kleiner lateinischer Buchstabe u mit Akut',ucirc:'Kleiner lateinischer Buchstabe u mit Zirkumflex',uuml:'Kleiner lateinischer Buchstabe u mit Trema',yacute:'Kleiner lateinischer Buchstabe y mit Akut',thorn:'Kleiner lateinischer Buchstabe Dorn',yuml:'Kleiner lateinischer Buchstabe y mit Trema',OElig:'Lateinischer Buchstabe Ligatur OE',oelig:'Kleiner lateinischer Buchstabe Ligatur OE',372:'Lateinischer Buchstabe W mit Zirkumflex',374:'Lateinischer Buchstabe Y mit Zirkumflex',373:'Kleiner lateinischer Buchstabe w mit Zirkumflex',375:'Kleiner lateinischer Buchstabe y mit Zirkumflex',sbquo:'Tiefergestelltes Komma',8219:'Rumgedrehtes Komma',bdquo:'Doppeltes Anführungszeichen unten',hellip:'horizontale Auslassungspunkte',trade:'Handelszeichen',9658:'Dreickspfeil rechts',bull:'Bullet',rarr:'Pfeil rechts',rArr:'Doppelpfeil rechts',hArr:'Doppelpfeil links',diams:'Karo',asymp:'Ungefähr'});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/el.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/el.js
deleted file mode 100644
index 13fcaa9..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/el.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('specialchar','el',{euro:'ΣÏμβολο ΕυÏÏŽ',lsquo:'ΑÏιστεÏός χαÏακτήÏας Î¼Î¿Î½Î¿Ï ÎµÎ¹ÏƒÎ±Î³Ï‰Î³Î¹ÎºÎ¿Ï',rsquo:'Δεξιός χαÏακτήÏας Î¼Î¿Î½Î¿Ï ÎµÎ¹ÏƒÎ±Î³Ï‰Î³Î¹ÎºÎ¿Ï',ldquo:'ΑÏιστεÏός χαÏακτήÏας Î´Î¹Ï€Î»Î¿Ï ÎµÎ¹ÏƒÎ±Î³Ï‰Î³Î¹ÎºÎ¿Ï',rdquo:'Δεξιός χαÏακτήÏας Î´Î¹Ï€Î»Î¿Ï ÎµÎ¹ÏƒÎ±Î³Ï‰Î³Î¹ÎºÎ¿Ï',ndash:'ΠαÏλα en',mdash:'ΠαÏλα em',iexcl:'Ανάποδο θαυμαστικό',cent:'ΣÏμβολο Σεντ',pound:'ΣÏμβολο λίÏας',curren:'ΣÏμβολο συναλλαγματικής μονάδας',yen:'ΣÏμβολο Γιέν',brvbar:'Σπασμένη μπάÏα',sect:'ΣÏμβολο τμήματος',uml:'ΔιαίÏεση',copy:'ΣÏμβολο πνευματικών δικαιωμάτων',ordf:'Feminine ordinal indicator',laquo:'Left-pointing double angle quotation mark',not:'Not sign',reg:'Registered sign',macr:'Macron',deg:'Degree sign',sup2:'Superscript two',sup3:'Superscript three',acute:'Acute accent',micro:'Micro sign',para:'Pilcrow sign',middot:'Middle dot',cedil:'Cedilla',sup1:'Superscript one',ordm:'Masculine ordinal indicator',raquo:'Right-pointing double angle quotation mark',frac14:'Vulgar fraction one quarter',frac12:'Vulgar fraction one half',frac34:'Vulgar fraction three quarters',iquest:'Inverted question mark',Agrave:'Latin capital letter A with grave accent',Aacute:'Latin capital letter A with acute accent',Acirc:'Latin capital letter A with circumflex',Atilde:'Latin capital letter A with tilde',Auml:'Latin capital letter A with diaeresis',Aring:'Latin capital letter A with ring above',AElig:'Latin Capital letter Æ',Ccedil:'Latin capital letter C with cedilla',Egrave:'Latin capital letter E with grave accent',Eacute:'Latin capital letter E with acute accent',Ecirc:'Latin capital letter E with circumflex',Euml:'Latin capital letter E with diaeresis',Igrave:'Latin capital letter I with grave accent',Iacute:'Latin capital letter I with acute accent',Icirc:'Latin capital letter I with circumflex',Iuml:'Latin capital letter I with diaeresis',ETH:'Latin capital letter Eth',Ntilde:'Latin capital letter N with tilde',Ograve:'Latin capital letter O with grave accent',Oacute:'Latin capital letter O with acute accent',Ocirc:'Latin capital letter O with circumflex',Otilde:'Latin capital letter O with tilde',Ouml:'Latin capital letter O with diaeresis',times:'Multiplication sign',Oslash:'Latin capital letter O with stroke',Ugrave:'Latin capital letter U with grave accent',Uacute:'Latin capital letter U with acute accent',Ucirc:'Latin capital letter U with circumflex',Uuml:'Latin capital letter U with diaeresis',Yacute:'Latin capital letter Y with acute accent',THORN:'Latin capital letter Thorn',szlig:'Latin small letter sharp s',agrave:'Latin small letter a with grave accent',aacute:'Latin small letter a with acute accent',acirc:'Latin small letter a with circumflex',atilde:'Latin small letter a with tilde',auml:'Latin small letter a with diaeresis',aring:'Latin small letter a with ring above',aelig:'Latin small letter æ',ccedil:'Latin small letter c with cedilla',egrave:'Latin small letter e with grave accent',eacute:'Latin small letter e with acute accent',ecirc:'Latin small letter e with circumflex',euml:'Latin small letter e with diaeresis',igrave:'Latin small letter i with grave accent',iacute:'Latin small letter i with acute accent',icirc:'Latin small letter i with circumflex',iuml:'Latin small letter i with diaeresis',eth:'Latin small letter eth',ntilde:'Latin small letter n with tilde',ograve:'Latin small letter o with grave accent',oacute:'Latin small letter o with acute accent',ocirc:'Latin small letter o with circumflex',otilde:'Latin small letter o with tilde',ouml:'Latin small letter o with diaeresis',divide:'Division sign',oslash:'Latin small letter o with stroke',ugrave:'Latin small letter u with grave accent',uacute:'Latin small letter u with acute accent',ucirc:'Latin small letter u with circumflex',uuml:'Latin small letter u with diaeresis',yacute:'Latin small letter y with acute accent',thorn:'Latin small letter thorn',yuml:'Latin small letter y with diaeresis',OElig:'Latin capital ligature OE',oelig:'Latin small ligature oe',372:'Latin capital letter W with circumflex',374:'Latin capital letter Y with circumflex',373:'Latin small letter w with circumflex',375:'Latin small letter y with circumflex',sbquo:'Single low-9 quotation mark',8219:'Single high-reversed-9 quotation mark',bdquo:'Double low-9 quotation mark',hellip:'Horizontal ellipsis',trade:'Trade mark sign',9658:'Black right-pointing pointer',bull:'Bullet',rarr:'Rightwards arrow',rArr:'Rightwards double arrow',hArr:'Left right double arrow',diams:'Black diamond suit',asymp:'Almost equal to'});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/en.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/en.js
deleted file mode 100644
index b8e6261..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/en.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('specialchar','en',{euro:'Euro sign',lsquo:'Left single quotation mark',rsquo:'Right single quotation mark',ldquo:'Left double quotation mark',rdquo:'Right double quotation mark',ndash:'En dash',mdash:'Em dash',iexcl:'Inverted exclamation mark',cent:'Cent sign',pound:'Pound sign',curren:'Currency sign',yen:'Yen sign',brvbar:'Broken bar',sect:'Section sign',uml:'Diaeresis',copy:'Copyright sign',ordf:'Feminine ordinal indicator',laquo:'Left-pointing double angle quotation mark',not:'Not sign',reg:'Registered sign',macr:'Macron',deg:'Degree sign',sup2:'Superscript two',sup3:'Superscript three',acute:'Acute accent',micro:'Micro sign',para:'Pilcrow sign',middot:'Middle dot',cedil:'Cedilla',sup1:'Superscript one',ordm:'Masculine ordinal indicator',raquo:'Right-pointing double angle quotation mark',frac14:'Vulgar fraction one quarter',frac12:'Vulgar fraction one half',frac34:'Vulgar fraction three quarters',iquest:'Inverted question mark',Agrave:'Latin capital letter A with grave accent',Aacute:'Latin capital letter A with acute accent',Acirc:'Latin capital letter A with circumflex',Atilde:'Latin capital letter A with tilde',Auml:'Latin capital letter A with diaeresis',Aring:'Latin capital letter A with ring above',AElig:'Latin Capital letter Æ',Ccedil:'Latin capital letter C with cedilla',Egrave:'Latin capital letter E with grave accent',Eacute:'Latin capital letter E with acute accent',Ecirc:'Latin capital letter E with circumflex',Euml:'Latin capital letter E with diaeresis',Igrave:'Latin capital letter I with grave accent',Iacute:'Latin capital letter I with acute accent',Icirc:'Latin capital letter I with circumflex',Iuml:'Latin capital letter I with diaeresis',ETH:'Latin capital letter Eth',Ntilde:'Latin capital letter N with tilde',Ograve:'Latin capital letter O with grave accent',Oacute:'Latin capital letter O with acute accent',Ocirc:'Latin capital letter O with circumflex',Otilde:'Latin capital letter O with tilde',Ouml:'Latin capital letter O with diaeresis',times:'Multiplication sign',Oslash:'Latin capital letter O with stroke',Ugrave:'Latin capital letter U with grave accent',Uacute:'Latin capital letter U with acute accent',Ucirc:'Latin capital letter U with circumflex',Uuml:'Latin capital letter U with diaeresis',Yacute:'Latin capital letter Y with acute accent',THORN:'Latin capital letter Thorn',szlig:'Latin small letter sharp s',agrave:'Latin small letter a with grave accent',aacute:'Latin small letter a with acute accent',acirc:'Latin small letter a with circumflex',atilde:'Latin small letter a with tilde',auml:'Latin small letter a with diaeresis',aring:'Latin small letter a with ring above',aelig:'Latin small letter æ',ccedil:'Latin small letter c with cedilla',egrave:'Latin small letter e with grave accent',eacute:'Latin small letter e with acute accent',ecirc:'Latin small letter e with circumflex',euml:'Latin small letter e with diaeresis',igrave:'Latin small letter i with grave accent',iacute:'Latin small letter i with acute accent',icirc:'Latin small letter i with circumflex',iuml:'Latin small letter i with diaeresis',eth:'Latin small letter eth',ntilde:'Latin small letter n with tilde',ograve:'Latin small letter o with grave accent',oacute:'Latin small letter o with acute accent',ocirc:'Latin small letter o with circumflex',otilde:'Latin small letter o with tilde',ouml:'Latin small letter o with diaeresis',divide:'Division sign',oslash:'Latin small letter o with stroke',ugrave:'Latin small letter u with grave accent',uacute:'Latin small letter u with acute accent',ucirc:'Latin small letter u with circumflex',uuml:'Latin small letter u with diaeresis',yacute:'Latin small letter y with acute accent',thorn:'Latin small letter thorn',yuml:'Latin small letter y with diaeresis',OElig:'Latin capital ligature OE',oelig:'Latin small ligature oe',372:'Latin capital letter W with circumflex',374:'Latin capital letter Y with circumflex',373:'Latin small letter w with circumflex',375:'Latin small letter y with circumflex',sbquo:'Single low-9 quotation mark',8219:'Single high-reversed-9 quotation mark',bdquo:'Double low-9 quotation mark',hellip:'Horizontal ellipsis',trade:'Trade mark sign',9658:'Black right-pointing pointer',bull:'Bullet',rarr:'Rightwards arrow',rArr:'Rightwards double arrow',hArr:'Left right double arrow',diams:'Black diamond suit',asymp:'Almost equal to'});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/eo.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/eo.js
deleted file mode 100644
index 283b174..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/eo.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('specialchar','eo',{euro:'Eŭrosigno',lsquo:'Supra 6-citilo',rsquo:'Supra 9-citilo',ldquo:'Supra 66-citilo',rdquo:'Supra 99-citilo',ndash:'Streketo',mdash:'Substreko',iexcl:'Renversita krisigno',cent:'Cendosigno',pound:'Pundosigno',curren:'Monersigno',yen:'Enosigno',brvbar:'Rompita vertikala streko',sect:'Kurba paragrafo',uml:'Tremao',copy:'Kopirajtosigno',ordf:'Adjektiva numerfinaĵo',laquo:'Duobla malplio-citilo',not:'Negohoko',reg:'Registrita marko',macr:'Superstreko',deg:'Gradosigno',sup2:'Supra indico 2',sup3:'Supra indico 3',acute:'Dekstra korno',micro:'Mikrosigno',para:'Rekta paragrafo',middot:'Meza punkto',cedil:'Zoeto',sup1:'Supra indico 1',ordm:'Substantiva numerfinaĵo',raquo:'Duobla plio-citilo',frac14:'Kvaronosigno',frac12:'Duonosigno',frac34:'Trikvaronosigno',iquest:'renversita demandosigno',Agrave:'Latina ĉeflitero A kun liva korno',Aacute:'Latina ĉeflitero A kun dekstra korno',Acirc:'Latina ĉeflitero A kun ĉapelo',Atilde:'Latina ĉeflitero A kun tildo',Auml:'Latina ĉeflitero A kun tremao',Aring:'Latina ĉeflitero A kun superringo',AElig:'Latina ĉeflitera ligaturo Æ',Ccedil:'Latina ĉeflitero C kun zoeto',Egrave:'Latina ĉeflitero E kun liva korno',Eacute:'Latina ĉeflitero E kun dekstra korno',Ecirc:'Latina ĉeflitero E kun ĉapelo',Euml:'Latina ĉeflitero E kun tremao',Igrave:'Latina ĉeflitero I kun liva korno',Iacute:'Latina ĉeflitero I kun dekstra korno',Icirc:'Latina ĉeflitero I kun ĉapelo',Iuml:'Latina ĉeflitero I kun tremao',ETH:'Latina ĉeflitero islanda edo',Ntilde:'Latina ĉeflitero N kun tildo',Ograve:'Latina ĉeflitero O kun liva korno',Oacute:'Latina ĉeflitero O kun dekstra korno',Ocirc:'Latina ĉeflitero O kun ĉapelo',Otilde:'Latina ĉeflitero O kun tildo',Ouml:'Latina ĉeflitero O kun tremao',times:'Multipliko',Oslash:'Latina ĉeflitero O trastrekita',Ugrave:'Latina ĉeflitero U kun liva korno',Uacute:'Latina ĉeflitero U kun dekstra korno',Ucirc:'Latina ĉeflitero U kun ĉapelo',Uuml:'Latina ĉeflitero U kun tremao',Yacute:'Latina ĉeflitero Y kun dekstra korno',THORN:'Latina ĉeflitero islanda dorno',szlig:'Latina etlitero germana sozo (akra s)',agrave:'Latina etlitero a kun liva korno',aacute:'Latina etlitero a kun dekstra korno',acirc:'Latina etlitero a kun ĉapelo',atilde:'Latina etlitero a kun tildo',auml:'Latina etlitero a kun tremao',aring:'Latina etlitero a kun superringo',aelig:'Latina etlitera ligaturo æ',ccedil:'Latina etlitero c kun zoeto',egrave:'Latina etlitero e kun liva korno',eacute:'Latina etlitero e kun dekstra korno',ecirc:'Latina etlitero e kun ĉapelo',euml:'Latina etlitero e kun tremao',igrave:'Latina etlitero i kun liva korno',iacute:'Latina etlitero i kun dekstra korno',icirc:'Latina etlitero i kun ĉapelo',iuml:'Latina etlitero i kun tremao',eth:'Latina etlitero islanda edo',ntilde:'Latina etlitero n kun tildo',ograve:'Latina etlitero o kun liva korno',oacute:'Latina etlitero o kun dekstra korno',ocirc:'Latina etlitero o kun ĉapelo',otilde:'Latina etlitero o kun tildo',ouml:'Latina etlitero o kun tremao',divide:'Dividosigno',oslash:'Latina etlitero o trastrekita',ugrave:'Latina etlitero u kun liva korno',uacute:'Latina etlitero u kun dekstra korno',ucirc:'Latina etlitero u kun ĉapelo',uuml:'Latina etlitero u kun tremao',yacute:'Latina etlitero y kun dekstra korno',thorn:'Latina etlitero islanda dorno',yuml:'Latina etlitero y kun tremao',OElig:'Latina ĉeflitera ligaturo Œ',oelig:'Latina etlitera ligaturo œ',372:'Latina ĉeflitero W kun ĉapelo',374:'Latina ĉeflitero Y kun ĉapelo',373:'Latina etlitero w kun ĉapelo',375:'Latina etlitero y kun ĉapelo',sbquo:'Suba 9-citilo',8219:'Supra renversita 9-citilo',bdquo:'Suba 99-citilo',hellip:'Tripunkto',trade:'Varmarka signo',9658:'Nigra sago dekstren',bull:'Bulmarko',rarr:'Sago dekstren',rArr:'Duobla sago dekstren',hArr:'Duobla sago maldekstren',diams:'Nigra kvadrato',asymp:'Preskaŭ egala'});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/et.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/et.js
deleted file mode 100644
index 8abaca2..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/et.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('specialchar','et',{euro:'Euromärk',lsquo:'Alustav ühekordne jutumärk',rsquo:'Lõpetav ühekordne jutumärk',ldquo:'Alustav kahekordne jutumärk',rdquo:'Lõpetav kahekordne jutumärk',ndash:'Enn-kriips',mdash:'Emm-kriips',iexcl:'Pööratud hüüumärk',cent:'Sendimärk',pound:'Naela märk',curren:'Valuutamärk',yen:'Jeeni märk',brvbar:'Katkestatud kriips',sect:'Lõigu märk',uml:'Täpid',copy:'Autoriõiguse märk',ordf:'Feminine ordinal indicator',laquo:'Left-pointing double angle quotation mark',not:'Ei-märk',reg:'Registered sign',macr:'Macron',deg:'Kraadimärk',sup2:'Ülaindeks kaks',sup3:'Ülaindeks kolm',acute:'Acute accent',micro:'Mikro-märk',para:'Pilcrow sign',middot:'Keskpunkt',cedil:'Cedilla',sup1:'Ülaindeks üks',ordm:'Masculine ordinal indicator',raquo:'Right-pointing double angle quotation mark',frac14:'Vulgar fraction one quarter',frac12:'Vulgar fraction one half',frac34:'Vulgar fraction three quarters',iquest:'Inverted question mark',Agrave:'Latin capital letter A with grave accent',Aacute:'Latin capital letter A with acute accent',Acirc:'Latin capital letter A with circumflex',Atilde:'Ladina suur A tildega',Auml:'Latin capital letter A with diaeresis',Aring:'Latin capital letter A with ring above',AElig:'Latin Capital letter Æ',Ccedil:'Latin capital letter C with cedilla',Egrave:'Latin capital letter E with grave accent',Eacute:'Latin capital letter E with acute accent',Ecirc:'Latin capital letter E with circumflex',Euml:'Latin capital letter E with diaeresis',Igrave:'Latin capital letter I with grave accent',Iacute:'Latin capital letter I with acute accent',Icirc:'Latin capital letter I with circumflex',Iuml:'Latin capital letter I with diaeresis',ETH:'Latin capital letter Eth',Ntilde:'Latin capital letter N with tilde',Ograve:'Latin capital letter O with grave accent',Oacute:'Latin capital letter O with acute accent',Ocirc:'Latin capital letter O with circumflex',Otilde:'Latin capital letter O with tilde',Ouml:'Täppidega ladina suur O',times:'Multiplication sign',Oslash:'Latin capital letter O with stroke',Ugrave:'Latin capital letter U with grave accent',Uacute:'Latin capital letter U with acute accent',Ucirc:'Kandilise katusega suur ladina U',Uuml:'Täppidega ladina suur U',Yacute:'Latin capital letter Y with acute accent',THORN:'Latin capital letter Thorn',szlig:'Ladina väike terav s',agrave:'Latin small letter a with grave accent',aacute:'Latin small letter a with acute accent',acirc:'Kandilise katusega ladina väike a',atilde:'Tildega ladina väike a',auml:'Täppidega ladina väike a',aring:'Latin small letter a with ring above',aelig:'Latin small letter æ',ccedil:'Latin small letter c with cedilla',egrave:'Latin small letter e with grave accent',eacute:'Latin small letter e with acute accent',ecirc:'Latin small letter e with circumflex',euml:'Latin small letter e with diaeresis',igrave:'Latin small letter i with grave accent',iacute:'Latin small letter i with acute accent',icirc:'Latin small letter i with circumflex',iuml:'Latin small letter i with diaeresis',eth:'Latin small letter eth',ntilde:'Latin small letter n with tilde',ograve:'Latin small letter o with grave accent',oacute:'Latin small letter o with acute accent',ocirc:'Latin small letter o with circumflex',otilde:'Latin small letter o with tilde',ouml:'Latin small letter o with diaeresis',divide:'Division sign',oslash:'Latin small letter o with stroke',ugrave:'Latin small letter u with grave accent',uacute:'Latin small letter u with acute accent',ucirc:'Latin small letter u with circumflex',uuml:'Latin small letter u with diaeresis',yacute:'Latin small letter y with acute accent',thorn:'Latin small letter thorn',yuml:'Latin small letter y with diaeresis',OElig:'Latin capital ligature OE',oelig:'Latin small ligature oe',372:'Latin capital letter W with circumflex',374:'Latin capital letter Y with circumflex',373:'Latin small letter w with circumflex',375:'Latin small letter y with circumflex',sbquo:'Single low-9 quotation mark',8219:'Single high-reversed-9 quotation mark',bdquo:'Double low-9 quotation mark',hellip:'Horizontal ellipsis',trade:'Trade mark sign',9658:'Black right-pointing pointer',bull:'Bullet',rarr:'Rightwards arrow',rArr:'Rightwards double arrow',hArr:'Left right double arrow',diams:'Black diamond suit',asymp:'Almost equal to'});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/fa.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/fa.js
deleted file mode 100644
index 6005438..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/fa.js
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang( 'specialchar', 'fa',
-{
- euro: 'نشان یورو',
- lsquo: 'علامت نقل قول تکی چپ',
- rsquo: 'علامت نقل قول تکی راست',
- ldquo: 'علامت دوتایی نقل قول چپ',
- rdquo: 'علامت دوتایی نقل قول راست',
- ndash: 'En dash', // MISSING
- mdash: 'Em dash', // MISSING
- iexcl: 'علامت گذاری به عنوان علامت تعجب وارونه',
- cent: 'نشان سنت',
- pound: 'نشان پوند',
- curren: 'نشان ارز',
- yen: 'نشان ین',
- brvbar: 'نوار شکسته',
- sect: 'نشان بخش',
- uml: 'Diaeresis', // MISSING
- copy: 'نشان کپی رایت',
- ordf: 'Feminine ordinal indicator', // MISSING
- laquo: 'Left-pointing double angle quotation mark', // MISSING
- not: 'علامت ثبت نشده',
- reg: 'علامت ثبت شده',
- macr: 'Macron', // MISSING
- deg: 'نشان درجه',
- sup2: 'بالانویس دو',
- sup3: 'بالانویس سه',
- acute: 'لهجه غلیظ',
- micro: 'نشان مایکرو',
- para: 'Pilcrow sign', // MISSING
- middot: 'نقطه میانی',
- cedil: 'Cedilla', // MISSING
- sup1: 'Superscript one', // MISSING
- ordm: 'Masculine ordinal indicator', // MISSING
- raquo: 'نشان زاویه‌دار دوتایی نقل قول راست چین',
- frac14: 'Vulgar fraction one quarter', // MISSING
- frac12: 'Vulgar fraction one half', // MISSING
- frac34: 'Vulgar fraction three quarters', // MISSING
- iquest: 'Inverted question mark', // MISSING
- Agrave: 'Latin capital letter A with grave accent', // MISSING
- Aacute: 'Latin capital letter A with acute accent', // MISSING
- Acirc: 'Latin capital letter A with circumflex', // MISSING
- Atilde: 'Latin capital letter A with tilde', // MISSING
- Auml: 'Latin capital letter A with diaeresis', // MISSING
- Aring: 'Latin capital letter A with ring above', // MISSING
- AElig: 'Latin Capital letter Æ', // MISSING
- Ccedil: 'Latin capital letter C with cedilla', // MISSING
- Egrave: 'Latin capital letter E with grave accent', // MISSING
- Eacute: 'Latin capital letter E with acute accent', // MISSING
- Ecirc: 'Latin capital letter E with circumflex', // MISSING
- Euml: 'Latin capital letter E with diaeresis', // MISSING
- Igrave: 'Latin capital letter I with grave accent', // MISSING
- Iacute: 'Latin capital letter I with acute accent', // MISSING
- Icirc: 'Latin capital letter I with circumflex', // MISSING
- Iuml: 'Latin capital letter I with diaeresis', // MISSING
- ETH: 'Latin capital letter Eth', // MISSING
- Ntilde: 'Latin capital letter N with tilde', // MISSING
- Ograve: 'Latin capital letter O with grave accent', // MISSING
- Oacute: 'Latin capital letter O with acute accent', // MISSING
- Ocirc: 'Latin capital letter O with circumflex', // MISSING
- Otilde: 'Latin capital letter O with tilde', // MISSING
- Ouml: 'Latin capital letter O with diaeresis', // MISSING
- times: 'Multiplication sign', // MISSING
- Oslash: 'Latin capital letter O with stroke', // MISSING
- Ugrave: 'Latin capital letter U with grave accent', // MISSING
- Uacute: 'Latin capital letter U with acute accent', // MISSING
- Ucirc: 'Latin capital letter U with circumflex', // MISSING
- Uuml: 'Latin capital letter U with diaeresis', // MISSING
- Yacute: 'Latin capital letter Y with acute accent', // MISSING
- THORN: 'Latin capital letter Thorn', // MISSING
- szlig: 'Latin small letter sharp s', // MISSING
- agrave: 'Latin small letter a with grave accent', // MISSING
- aacute: 'Latin small letter a with acute accent', // MISSING
- acirc: 'Latin small letter a with circumflex', // MISSING
- atilde: 'Latin small letter a with tilde', // MISSING
- auml: 'Latin small letter a with diaeresis', // MISSING
- aring: 'Latin small letter a with ring above', // MISSING
- aelig: 'Latin small letter æ', // MISSING
- ccedil: 'Latin small letter c with cedilla', // MISSING
- egrave: 'Latin small letter e with grave accent', // MISSING
- eacute: 'Latin small letter e with acute accent', // MISSING
- ecirc: 'Latin small letter e with circumflex', // MISSING
- euml: 'Latin small letter e with diaeresis', // MISSING
- igrave: 'Latin small letter i with grave accent', // MISSING
- iacute: 'Latin small letter i with acute accent', // MISSING
- icirc: 'Latin small letter i with circumflex', // MISSING
- iuml: 'Latin small letter i with diaeresis', // MISSING
- eth: 'Latin small letter eth', // MISSING
- ntilde: 'Latin small letter n with tilde', // MISSING
- ograve: 'Latin small letter o with grave accent', // MISSING
- oacute: 'Latin small letter o with acute accent', // MISSING
- ocirc: 'Latin small letter o with circumflex', // MISSING
- otilde: 'Latin small letter o with tilde', // MISSING
- ouml: 'Latin small letter o with diaeresis', // MISSING
- divide: 'Division sign', // MISSING
- oslash: 'Latin small letter o with stroke', // MISSING
- ugrave: 'Latin small letter u with grave accent', // MISSING
- uacute: 'Latin small letter u with acute accent', // MISSING
- ucirc: 'Latin small letter u with circumflex', // MISSING
- uuml: 'Latin small letter u with diaeresis', // MISSING
- yacute: 'Latin small letter y with acute accent', // MISSING
- thorn: 'Latin small letter thorn', // MISSING
- yuml: 'Latin small letter y with diaeresis', // MISSING
- OElig: 'Latin capital ligature OE', // MISSING
- oelig: 'Latin small ligature oe', // MISSING
- '372': 'Latin capital letter W with circumflex', // MISSING
- '374': 'Latin capital letter Y with circumflex', // MISSING
- '373': 'Latin small letter w with circumflex', // MISSING
- '375': 'Latin small letter y with circumflex', // MISSING
- sbquo: 'Single low-9 quotation mark', // MISSING
- '8219': 'Single high-reversed-9 quotation mark', // MISSING
- bdquo: 'Double low-9 quotation mark', // MISSING
- hellip: 'Horizontal ellipsis', // MISSING
- trade: 'Trade mark sign', // MISSING
- '9658': 'Black right-pointing pointer', // MISSING
- bull: 'Bullet', // MISSING
- rarr: 'Rightwards arrow', // MISSING
- rArr: 'Rightwards double arrow', // MISSING
- hArr: 'جهت‌نمای دوتایی چپ به راست',
- diams: 'Black diamond suit', // MISSING
- asymp: 'تقریبا برابر با'
-});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/fi.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/fi.js
deleted file mode 100644
index cd18282..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/fi.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('specialchar','fi',{euro:'Euron merkki',lsquo:'Vasen yksittäinen lainausmerkki',rsquo:'Oikea yksittäinen lainausmerkki',ldquo:'Vasen kaksoislainausmerkki',rdquo:'Oikea kaksoislainausmerkki',ndash:'En dash',mdash:'Em dash',iexcl:'Inverted exclamation mark',cent:'Sentin merkki',pound:'Punnan merkki',curren:'Valuuttamerkki',yen:'Yenin merkki',brvbar:'Broken bar',sect:'Section sign',uml:'Diaeresis',copy:'Copyright sign',ordf:'Feminine ordinal indicator',laquo:'Left-pointing double angle quotation mark',not:'Not sign',reg:'Rekisteröity merkki',macr:'Macron',deg:'Asteen merkki',sup2:'Yläindeksi kaksi',sup3:'Yläindeksi kolme',acute:'Acute accent',micro:'Mikron merkki',para:'Pilcrow sign',middot:'Middle dot',cedil:'Cedilla',sup1:'Yläindeksi yksi',ordm:'Masculine ordinal indicator',raquo:'Right-pointing double angle quotation mark',frac14:'Vulgar fraction one quarter',frac12:'Vulgar fraction one half',frac34:'Vulgar fraction three quarters',iquest:'Ylösalaisin oleva kysymysmerkki',Agrave:'Latin capital letter A with grave accent',Aacute:'Latin capital letter A with acute accent',Acirc:'Latin capital letter A with circumflex',Atilde:'Latin capital letter A with tilde',Auml:'Latin capital letter A with diaeresis',Aring:'Latin capital letter A with ring above',AElig:'Latin Capital letter Æ',Ccedil:'Latin capital letter C with cedilla',Egrave:'Latin capital letter E with grave accent',Eacute:'Latin capital letter E with acute accent',Ecirc:'Latin capital letter E with circumflex',Euml:'Latin capital letter E with diaeresis',Igrave:'Latin capital letter I with grave accent',Iacute:'Latin capital letter I with acute accent',Icirc:'Latin capital letter I with circumflex',Iuml:'Latin capital letter I with diaeresis',ETH:'Latin capital letter Eth',Ntilde:'Latin capital letter N with tilde',Ograve:'Latin capital letter O with grave accent',Oacute:'Latin capital letter O with acute accent',Ocirc:'Latin capital letter O with circumflex',Otilde:'Latin capital letter O with tilde',Ouml:'Latin capital letter O with diaeresis',times:'Kertomerkki',Oslash:'Latin capital letter O with stroke',Ugrave:'Latin capital letter U with grave accent',Uacute:'Latin capital letter U with acute accent',Ucirc:'Latin capital letter U with circumflex',Uuml:'Latin capital letter U with diaeresis',Yacute:'Latin capital letter Y with acute accent',THORN:'Latin capital letter Thorn',szlig:'Latin small letter sharp s',agrave:'Latin small letter a with grave accent',aacute:'Latin small letter a with acute accent',acirc:'Latin small letter a with circumflex',atilde:'Latin small letter a with tilde',auml:'Latin small letter a with diaeresis',aring:'Latin small letter a with ring above',aelig:'Latin small letter æ',ccedil:'Latin small letter c with cedilla',egrave:'Latin small letter e with grave accent',eacute:'Latin small letter e with acute accent',ecirc:'Latin small letter e with circumflex',euml:'Latin small letter e with diaeresis',igrave:'Latin small letter i with grave accent',iacute:'Latin small letter i with acute accent',icirc:'Latin small letter i with circumflex',iuml:'Latin small letter i with diaeresis',eth:'Latin small letter eth',ntilde:'Latin small letter n with tilde',ograve:'Latin small letter o with grave accent',oacute:'Latin small letter o with acute accent',ocirc:'Latin small letter o with circumflex',otilde:'Latin small letter o with tilde',ouml:'Latin small letter o with diaeresis',divide:'Jakomerkki',oslash:'Latin small letter o with stroke',ugrave:'Latin small letter u with grave accent',uacute:'Latin small letter u with acute accent',ucirc:'Latin small letter u with circumflex',uuml:'Latin small letter u with diaeresis',yacute:'Latin small letter y with acute accent',thorn:'Latin small letter thorn',yuml:'Latin small letter y with diaeresis',OElig:'Latin capital ligature OE',oelig:'Latin small ligature oe',372:'Latin capital letter W with circumflex',374:'Latin capital letter Y with circumflex',373:'Latin small letter w with circumflex',375:'Latin small letter y with circumflex',sbquo:'Single low-9 quotation mark',8219:'Single high-reversed-9 quotation mark',bdquo:'Double low-9 quotation mark',hellip:'Horizontal ellipsis',trade:'Tavaramerkki merkki',9658:'Black right-pointing pointer',bull:'Bullet',rarr:'Nuoli oikealle',rArr:'Kaksoisnuoli oikealle',hArr:'Kaksoisnuoli oikealle ja vasemmalle',diams:'Black diamond suit',asymp:'Noin'});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/fr.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/fr.js
deleted file mode 100644
index bedd21b..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/fr.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('specialchar','fr',{euro:'Symbole Euro',lsquo:'Guillemet simple ouvrant',rsquo:'Guillemet simple fermant',ldquo:'Guillemet double ouvrant',rdquo:'Guillemet double fermant',ndash:'Tiret haut',mdash:'Tiret bas underscore',iexcl:"Point d'exclamation inversé",cent:'Symbole Cent',pound:'Symbole Livre Sterling',curren:'Symbole monétaire',yen:'Symbole Yen',brvbar:'Barre verticale scindée',sect:'Section',uml:'Tréma',copy:'Symbole Copyright',ordf:'Indicateur ordinal féminin',laquo:'Guillemet français ouvrant',not:'Crochet de négation',reg:'Marque déposée',macr:'Macron',deg:'Degré',sup2:'Exposant 2',sup3:'\\tExposant 3',acute:'Accent aigu',micro:'Omicron',para:'Paragraphe',middot:'Point médian',cedil:'Cédille',sup1:'\\tExposant 1',ordm:'Indicateur ordinal masculin',raquo:'Guillemet français fermant',frac14:'Un quart',frac12:'Un demi',frac34:'Trois quarts',iquest:"Point d'interrogation inversé",Agrave:'A majuscule accent grave',Aacute:'A majuscule accent aigu',Acirc:'A majuscule accent circonflexe',Atilde:'A majuscule avec caron',Auml:'A majuscule tréma',Aring:'A majuscule avec un rond au-dessus',AElig:'Æ majuscule ligaturés',Ccedil:'C majuscule cédille',Egrave:'E majuscule accent grave',Eacute:'E majuscule accent aigu',Ecirc:'E majuscule accent circonflexe',Euml:'E majuscule tréma',Igrave:'I majuscule accent grave',Iacute:'I majuscule accent aigu',Icirc:'I majuscule accent circonflexe',Iuml:'I majuscule tréma',ETH:'Lettre majuscule islandaise ED',Ntilde:'N majuscule avec caron',Ograve:'O majuscule accent grave',Oacute:'O majuscule accent aigu',Ocirc:'O majuscule accent circonflexe',Otilde:'O majuscule avec caron',Ouml:'O majuscule tréma',times:'Multiplication',Oslash:'O majuscule barré',Ugrave:'U majuscule accent grave',Uacute:'U majuscule accent aigu',Ucirc:'U majuscule accent circonflexe',Uuml:'U majuscule tréma',Yacute:'Y majuscule accent aigu',THORN:'Lettre islandaise Thorn majuscule',szlig:'Lettre minuscule allemande s dur',agrave:'a minuscule accent grave',aacute:'a minuscule accent aigu',acirc:'a minuscule accent circonflexe',atilde:'a minuscule avec caron',auml:'a minuscule tréma',aring:'a minuscule avec un rond au-dessus',aelig:'æ minuscule ligaturés',ccedil:'c minuscule cédille',egrave:'e minuscule accent grave',eacute:'e minuscule accent aigu',ecirc:'e minuscule accent circonflexe',euml:'e minuscule tréma',igrave:'i minuscule accent grave',iacute:'i minuscule accent aigu',icirc:'i minuscule accent circonflexe',iuml:'i minuscule tréma',eth:'Lettre minuscule islandaise ED',ntilde:'n minuscule avec caron',ograve:'o minuscule accent grave',oacute:'o minuscule accent aigu',ocirc:'o minuscule accent circonflexe',otilde:'o minuscule avec caron',ouml:'o minuscule tréma',divide:'Division',oslash:'o minuscule barré',ugrave:'u minuscule accent grave',uacute:'u minuscule accent aigu',ucirc:'u minuscule accent circonflexe',uuml:'u minuscule tréma',yacute:'y minuscule accent aigu',thorn:'Lettre islandaise thorn minuscule',yuml:'y minuscule tréma',OElig:'ligature majuscule latine Œ',oelig:'ligature minuscule latine œ',372:'W majuscule accent circonflexe',374:'Y majuscule accent circonflexe',373:'w minuscule accent circonflexe',375:'y minuscule accent circonflexe',sbquo:'Guillemet simple fermant (anglais)',8219:'Guillemet-virgule supérieur culbuté',bdquo:'Guillemet-virgule double inférieur',hellip:'Points de suspension',trade:'Marque commerciale (trade mark)',9658:'Flèche noire pointant vers la droite',bull:'Gros point médian',rarr:'Flèche vers la droite',rArr:'Double flèche vers la droite',hArr:'Double flèche vers la gauche',diams:'Carreau noir',asymp:'Presque égal'});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/he.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/he.js
deleted file mode 100644
index 5a6be84..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/he.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('specialchar','he',{euro:'יורו',lsquo:'Left single quotation mark',rsquo:'Right single quotation mark',ldquo:'Left double quotation mark',rdquo:'Right double quotation mark',ndash:'En dash',mdash:'Em dash',iexcl:'Inverted exclamation mark',cent:'Cent sign',pound:'Pound sign',curren:'Currency sign',yen:'Yen sign',brvbar:'Broken bar',sect:'Section sign',uml:'Diaeresis',copy:'Copyright sign',ordf:'Feminine ordinal indicator',laquo:'Left-pointing double angle quotation mark',not:'Not sign',reg:'Registered sign',macr:'Macron',deg:'Degree sign',sup2:'Superscript two',sup3:'Superscript three',acute:'Acute accent',micro:'Micro sign',para:'Pilcrow sign',middot:'Middle dot',cedil:'Cedilla',sup1:'Superscript one',ordm:'Masculine ordinal indicator',raquo:'Right-pointing double angle quotation mark',frac14:'Vulgar fraction one quarter',frac12:'Vulgar fraction one half',frac34:'Vulgar fraction three quarters',iquest:'Inverted question mark',Agrave:'Latin capital letter A with grave accent',Aacute:'Latin capital letter A with acute accent',Acirc:'Latin capital letter A with circumflex',Atilde:'Latin capital letter A with tilde',Auml:'Latin capital letter A with diaeresis',Aring:'Latin capital letter A with ring above',AElig:'Latin Capital letter Æ',Ccedil:'Latin capital letter C with cedilla',Egrave:'Latin capital letter E with grave accent',Eacute:'Latin capital letter E with acute accent',Ecirc:'Latin capital letter E with circumflex',Euml:'Latin capital letter E with diaeresis',Igrave:'Latin capital letter I with grave accent',Iacute:'Latin capital letter I with acute accent',Icirc:'Latin capital letter I with circumflex',Iuml:'Latin capital letter I with diaeresis',ETH:'Latin capital letter Eth',Ntilde:'Latin capital letter N with tilde',Ograve:'Latin capital letter O with grave accent',Oacute:'Latin capital letter O with acute accent',Ocirc:'Latin capital letter O with circumflex',Otilde:'Latin capital letter O with tilde',Ouml:'Latin capital letter O with diaeresis',times:'Multiplication sign',Oslash:'Latin capital letter O with stroke',Ugrave:'Latin capital letter U with grave accent',Uacute:'Latin capital letter U with acute accent',Ucirc:'Latin capital letter U with circumflex',Uuml:'Latin capital letter U with diaeresis',Yacute:'Latin capital letter Y with acute accent',THORN:'Latin capital letter Thorn',szlig:'Latin small letter sharp s',agrave:'Latin small letter a with grave accent',aacute:'Latin small letter a with acute accent',acirc:'Latin small letter a with circumflex',atilde:'Latin small letter a with tilde',auml:'Latin small letter a with diaeresis',aring:'Latin small letter a with ring above',aelig:'Latin small letter æ',ccedil:'Latin small letter c with cedilla',egrave:'Latin small letter e with grave accent',eacute:'Latin small letter e with acute accent',ecirc:'Latin small letter e with circumflex',euml:'Latin small letter e with diaeresis',igrave:'Latin small letter i with grave accent',iacute:'Latin small letter i with acute accent',icirc:'Latin small letter i with circumflex',iuml:'Latin small letter i with diaeresis',eth:'Latin small letter eth',ntilde:'Latin small letter n with tilde',ograve:'Latin small letter o with grave accent',oacute:'Latin small letter o with acute accent',ocirc:'Latin small letter o with circumflex',otilde:'Latin small letter o with tilde',ouml:'Latin small letter o with diaeresis',divide:'Division sign',oslash:'Latin small letter o with stroke',ugrave:'Latin small letter u with grave accent',uacute:'Latin small letter u with acute accent',ucirc:'Latin small letter u with circumflex',uuml:'Latin small letter u with diaeresis',yacute:'Latin small letter y with acute accent',thorn:'Latin small letter thorn',yuml:'Latin small letter y with diaeresis',OElig:'Latin capital ligature OE',oelig:'Latin small ligature oe',372:'Latin capital letter W with circumflex',374:'Latin capital letter Y with circumflex',373:'Latin small letter w with circumflex',375:'Latin small letter y with circumflex',sbquo:'Single low-9 quotation mark',8219:'Single high-reversed-9 quotation mark',bdquo:'Double low-9 quotation mark',hellip:'Horizontal ellipsis',trade:'Trade mark sign',9658:'Black right-pointing pointer',bull:'Bullet',rarr:'Rightwards arrow',rArr:'Rightwards double arrow',hArr:'Left right double arrow',diams:'Black diamond suit',asymp:'Almost equal to'});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/hr.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/hr.js
deleted file mode 100644
index 5e2977e..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/hr.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('specialchar','hr',{euro:'Euro znak',lsquo:'Lijevi jednostruki navodnik',rsquo:'Desni jednostruki navodnik',ldquo:'Lijevi dvostruki navodnik',rdquo:'Desni dvostruki navodnik',ndash:'En crtica',mdash:'Em crtica',iexcl:'Naopaki uskliÄnik',cent:'Cent znak',pound:'Funta znak',curren:'Znak valute',yen:'Yen znak',brvbar:'Potrgana preÄka',sect:'Znak odjeljka',uml:'Diaeresis',copy:'Copyright znak',ordf:'Feminine ordinal indicator',laquo:'Lijevi dvostruki uglati navodnik',not:'Not znak',reg:'Registered znak',macr:'Macron',deg:'Stupanj znak',sup2:'Superscript two',sup3:'Superscript three',acute:'Acute accent',micro:'Micro sign',para:'Pilcrow sign',middot:'Srednja toÄka',cedil:'Cedilla',sup1:'Superscript one',ordm:'Masculine ordinal indicator',raquo:'Desni dvostruku uglati navodnik',frac14:'Vulgar fraction one quarter',frac12:'Vulgar fraction one half',frac34:'Vulgar fraction three quarters',iquest:'Naopaki upitnik',Agrave:'Veliko latinsko slovo A s akcentom',Aacute:'Latin capital letter A with acute accent',Acirc:'Latin capital letter A with circumflex',Atilde:'Latin capital letter A with tilde',Auml:'Latin capital letter A with diaeresis',Aring:'Latin capital letter A with ring above',AElig:'Latin Capital letter Æ',Ccedil:'Latin capital letter C with cedilla',Egrave:'Latin capital letter E with grave accent',Eacute:'Latin capital letter E with acute accent',Ecirc:'Latin capital letter E with circumflex',Euml:'Latin capital letter E with diaeresis',Igrave:'Latin capital letter I with grave accent',Iacute:'Latin capital letter I with acute accent',Icirc:'Latin capital letter I with circumflex',Iuml:'Latin capital letter I with diaeresis',ETH:'Latin capital letter Eth',Ntilde:'Latin capital letter N with tilde',Ograve:'Latin capital letter O with grave accent',Oacute:'Latin capital letter O with acute accent',Ocirc:'Latin capital letter O with circumflex',Otilde:'Latin capital letter O with tilde',Ouml:'Latin capital letter O with diaeresis',times:'Multiplication sign',Oslash:'Latin capital letter O with stroke',Ugrave:'Latin capital letter U with grave accent',Uacute:'Latin capital letter U with acute accent',Ucirc:'Latin capital letter U with circumflex',Uuml:'Latin capital letter U with diaeresis',Yacute:'Latin capital letter Y with acute accent',THORN:'Latin capital letter Thorn',szlig:'Latin small letter sharp s',agrave:'Latin small letter a with grave accent',aacute:'Latin small letter a with acute accent',acirc:'Latin small letter a with circumflex',atilde:'Latin small letter a with tilde',auml:'Latin small letter a with diaeresis',aring:'Latin small letter a with ring above',aelig:'Latin small letter æ',ccedil:'Latin small letter c with cedilla',egrave:'Latin small letter e with grave accent',eacute:'Latin small letter e with acute accent',ecirc:'Latin small letter e with circumflex',euml:'Latin small letter e with diaeresis',igrave:'Latin small letter i with grave accent',iacute:'Latin small letter i with acute accent',icirc:'Latin small letter i with circumflex',iuml:'Latin small letter i with diaeresis',eth:'Latin small letter eth',ntilde:'Latin small letter n with tilde',ograve:'Latin small letter o with grave accent',oacute:'Latin small letter o with acute accent',ocirc:'Latin small letter o with circumflex',otilde:'Latin small letter o with tilde',ouml:'Latin small letter o with diaeresis',divide:'Division sign',oslash:'Latin small letter o with stroke',ugrave:'Latin small letter u with grave accent',uacute:'Latin small letter u with acute accent',ucirc:'Latin small letter u with circumflex',uuml:'Latin small letter u with diaeresis',yacute:'Latin small letter y with acute accent',thorn:'Latin small letter thorn',yuml:'Latin small letter y with diaeresis',OElig:'Latin capital ligature OE',oelig:'Latin small ligature oe',372:'Latin capital letter W with circumflex',374:'Latin capital letter Y with circumflex',373:'Latin small letter w with circumflex',375:'Latin small letter y with circumflex',sbquo:'Single low-9 quotation mark',8219:'Single high-reversed-9 quotation mark',bdquo:'Double low-9 quotation mark',hellip:'Horizontal ellipsis',trade:'Trade mark sign',9658:'Black right-pointing pointer',bull:'Bullet',rarr:'Rightwards arrow',rArr:'Rightwards double arrow',hArr:'Left right double arrow',diams:'Black diamond suit',asymp:'Almost equal to'});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/it.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/it.js
deleted file mode 100644
index 3efaa7c..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/it.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('specialchar','it',{euro:'Simbolo Euro',lsquo:'Virgoletta singola sinistra',rsquo:'Virgoletta singola destra',ldquo:'Virgolette aperte',rdquo:'Virgolette chiuse',ndash:'Trattino',mdash:'Trattino lungo',iexcl:'Punto esclavamativo invertito',cent:'Simbolo Cent',pound:'Simbolo Sterlina',curren:'Simbolo Moneta',yen:'Simbolo Yen',brvbar:'Barra interrotta',sect:'Simbolo di sezione',uml:'Dieresi',copy:'Simbolo Copyright',ordf:'Indicatore ordinale femminile',laquo:'Virgolette basse aperte',not:'Nessun segno',reg:'Simbolo Registrato',macr:'Macron',deg:'Simbolo Grado',sup2:'Apice Due',sup3:'Apice Tre',acute:'Accento acuto',micro:'Simbolo Micro',para:'Simbolo Paragrafo',middot:'Punto centrale',cedil:'Cediglia',sup1:'Apice Uno',ordm:'Indicatore ordinale maschile',raquo:'Virgolette basse chiuse',frac14:'Frazione volgare un quarto',frac12:'Frazione volgare un mezzo',frac34:'Frazione volgare tre quarti',iquest:'Punto interrogativo invertito',Agrave:'Lettera maiuscola latina A con accento grave',Aacute:'Lettera maiuscola latina A con accento acuto',Acirc:'Lettera maiuscola latina A con accento circonflesso',Atilde:'Lettera maiuscola latina A con tilde',Auml:'Lettera maiuscola latina A con dieresi',Aring:'Lettera maiuscola latina A con anello sopra',AElig:'Lettera maiuscola latina AE',Ccedil:'Lettera maiuscola latina C con cediglia',Egrave:'Lettera maiuscola latina E con accento grave',Eacute:'Lettera maiuscola latina E con accento acuto',Ecirc:'Lettera maiuscola latina E con accento circonflesso',Euml:'Lettera maiuscola latina E con dieresi',Igrave:'Lettera maiuscola latina I con accento grave',Iacute:'Lettera maiuscola latina I con accento acuto',Icirc:'Lettera maiuscola latina I con accento circonflesso',Iuml:'Lettera maiuscola latina I con dieresi',ETH:'Lettera maiuscola latina Eth',Ntilde:'Lettera maiuscola latina N con tilde',Ograve:'Lettera maiuscola latina O con accento grave',Oacute:'Lettera maiuscola latina O con accento acuto',Ocirc:'Lettera maiuscola latina O con accento circonflesso',Otilde:'Lettera maiuscola latina O con tilde',Ouml:'Lettera maiuscola latina O con dieresi',times:'Simbolo di moltiplicazione',Oslash:'Lettera maiuscola latina O barrata',Ugrave:'Lettera maiuscola latina U con accento grave',Uacute:'Lettera maiuscola latina U con accento acuto',Ucirc:'Lettera maiuscola latina U con accento circonflesso',Uuml:'Lettera maiuscola latina U con accento circonflesso',Yacute:'Lettera maiuscola latina Y con accento acuto',THORN:'Lettera maiuscola latina Thorn',szlig:'Lettera latina minuscola doppia S',agrave:'Lettera minuscola latina a con accento grave',aacute:'Lettera minuscola latina a con accento acuto',acirc:'Lettera minuscola latina a con accento circonflesso',atilde:'Lettera minuscola latina a con tilde',auml:'Lettera minuscola latina a con dieresi',aring:'Lettera minuscola latina a con anello superiore',aelig:'Lettera minuscola latina ae',ccedil:'Lettera minuscola latina c con cediglia',egrave:'Lettera minuscola latina e con accento grave',eacute:'Lettera minuscola latina e con accento acuto',ecirc:'Lettera minuscola latina e con accento circonflesso',euml:'Lettera minuscola latina e con dieresi',igrave:'Lettera minuscola latina i con accento grave',iacute:'Lettera minuscola latina i con accento acuto',icirc:'Lettera minuscola latina i con accento circonflesso',iuml:'Lettera minuscola latina i con dieresi',eth:'Lettera minuscola latina eth',ntilde:'Lettera minuscola latina n con tilde',ograve:'Lettera minuscola latina o con accento grave',oacute:'Lettera minuscola latina o con accento acuto',ocirc:'Lettera minuscola latina o con accento circonflesso',otilde:'Lettera minuscola latina o con tilde',ouml:'Lettera minuscola latina o con dieresi',divide:'Simbolo di divisione',oslash:'Lettera minuscola latina o barrata',ugrave:'Lettera minuscola latina u con accento grave',uacute:'Lettera minuscola latina u con accento acuto',ucirc:'Lettera minuscola latina u con accento circonflesso',uuml:'Lettera minuscola latina u con dieresi',yacute:'Lettera minuscola latina y con accento acuto',thorn:'Lettera minuscola latina thorn',yuml:'Lettera minuscola latina y con dieresi',OElig:'Legatura maiuscola latina OE',oelig:'Legatura minuscola latina oe',372:'Lettera maiuscola latina W con accento circonflesso',374:'Lettera maiuscola latina Y con accento circonflesso',373:'Lettera minuscola latina w con accento circonflesso',375:'Lettera minuscola latina y con accento circonflesso',sbquo:'Singola virgoletta bassa low-9',8219:'Singola virgoletta bassa low-9 inversa',bdquo:'Doppia virgoletta bassa low-9',hellip:'Ellissi orizzontale',trade:'Simbolo TM',9658:'Puntatore nero rivolto verso destra',bull:'Punto',rarr:'Freccia verso destra',rArr:'Doppia freccia verso destra',hArr:'Doppia freccia sinistra destra',diams:'Simbolo nero diamante',asymp:'Quasi uguale a'});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/ku.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/ku.js
deleted file mode 100644
index f60bbbb..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/ku.js
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang( 'specialchar', 'ku',
-{
- euro: 'نیشانه‌ی یۆرۆ',
- lsquo: 'نیشانه‌ی Ùاریزه‌ی سه‌رووژێری تاکی چه‌پ',
- rsquo: 'نیشانه‌ی Ùاریزه‌ی سه‌رووژێری تاکی ڕاست',
- ldquo: 'نیشانه‌ی Ùاریزه‌ی سه‌رووژێری دووهێنده‌ی چه‌پ',
- rdquo: 'نیشانه‌ی Ùاریزه‌ی سه‌رووژێری دووهێنده‌ی ڕاست',
- ndash: 'ته‌قه‌ڵی کورت',
- mdash: 'ته‌قه‌ڵی درێژ',
- iexcl: 'نیشانه‌ی هه‌ڵه‌وگێڕی سه‌رسوڕمێنه‌ر',
- cent: 'نیشانه‌ی سه‌نت',
- pound: 'نیشانه‌ی پاوه‌ند',
- curren: 'نیشانه‌ی دراو',
- yen: 'نیشانه‌ی یه‌نی ژاپۆنی',
- brvbar: 'شریتی ئه‌ستوونی پچڕاو',
- sect: 'نیشانه‌ی دوو s له‌سه‌ریه‌ك',
- uml: 'خاڵ',
- copy: 'نیشانه‌ی ماÙÛŒ چاپ',
- ordf: 'هێڵ له‌سه‌ر پیتی a',
- laquo: 'دوو تیری به‌دووایه‌کی چه‌پ',
- not: 'نیشانه‌ی نه‌خێر',
- reg: 'نیشانه‌ی R له‌ناو بازنه‌دا',
- macr: 'ماکڕوون',
- deg: 'نیشانه‌ی پله',
- sup2: 'سه‌رنووسی دوو',
- sup3: 'سه‌رنووسی سێ',
- acute: 'لاری تیژ',
- micro: 'نیشانه‌ی u لق درێژی چه‌پی خواروو',
- para: 'نیشانه‌یپه‌ڕه‌گراÙ',
- middot: 'ناوه‌ڕاستی خاڵ',
- cedil: 'نیشانه‌ی c ژێر چووکره‌',
- sup1: 'سه‌رنووسی یه‌ك',
- ordm: 'هێڵ له‌ژێر پیتی o',
- raquo: 'دوو تیری به‌دووایه‌کی ڕاست',
- frac14: 'یه‌ك له‌سه‌ر چووار',
- frac12: 'یه‌ك له‌سه‌ر دوو',
- frac34: 'سێ له‌سه‌ر چووار',
- iquest: 'هێمای هه‌ڵه‌وگێری پرسیار',
- Agrave: 'پیتی لاتینی A-ی گه‌وره‌ له‌گه‌ڵ ڕوومه‌تداری لار',
- Aacute: 'پیتی لاتینی A-ی گه‌وره‌ له‌گه‌ڵ ڕوومه‌تداری تیژ',
- Acirc: 'پیتی لاتینی A-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- Atilde: 'پیتی لاتینی A-ی گه‌وره‌ له‌گه‌ڵ زه‌ڕه‌',
- Auml: 'پیتی لاتینی A-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- Aring: 'پیتی لاتینی گه‌وره‌ی Å',
- AElig: 'پیتی لاتینی گه‌وره‌ی Æ',
- Ccedil: 'پیتی لاتینی C-ی گه‌وره‌ له‌گه‌ڵ ژێر چووکره‌',
- Egrave: 'پیتی لاتینی E-ی گه‌وره‌ له‌گه‌ڵ ڕوومه‌تداری لار',
- Eacute: 'پیتی لاتینی E-ی گه‌وره‌ له‌گه‌ڵ ڕوومه‌تداری تیژ',
- Ecirc: 'پیتی لاتینی E-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- Euml: 'پیتی لاتینی E-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- Igrave: 'پیتی لاتینی I-ی گه‌وره‌ له‌گه‌ڵ ڕوومه‌تداری لار',
- Iacute: 'پیتی لاتینی I-ی گه‌وره‌ له‌گه‌ڵ ڕوومه‌تداری تیژ',
- Icirc: 'پیتی لاتینی I-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- Iuml: 'پیتی لاتینی I-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- ETH: 'پیتی لاتینی E-ی گه‌وره‌ی',
- Ntilde: 'پیتی لاتینی N-ی گه‌وره‌ له‌گه‌ڵ زه‌ڕه‌',
- Ograve: 'پیتی لاتینی O-ی گه‌وره‌ له‌گه‌ڵ ڕوومه‌تداری لار',
- Oacute: 'پیتی لاتینی O-ی گه‌وره‌ له‌گه‌ڵ ڕوومه‌تداری تیژ',
- Ocirc: 'پیتی لاتینی O-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- Otilde: 'پیتی لاتینی O-ی گه‌وره‌ له‌گه‌ڵ زه‌ڕه‌',
- Ouml: 'پیتی لاتینی O-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- times: 'نیشانه‌ی لێکدان',
- Oslash: 'پیتی لاتینی گه‌وره‌ی Ø له‌گه‌ڵ هێمای دڵ وه‌ستان',
- Ugrave: 'پیتی لاتینی U-ی گه‌وره‌ له‌گه‌ڵ ڕوومه‌تداری لار',
- Uacute: 'پیتی لاتینی U-ی گه‌وره‌ له‌گه‌ڵ ڕوومه‌تداری تیژ',
- Ucirc: 'پیتی لاتینی U-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- Uuml: 'پیتی لاتینی U-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- Yacute: 'پیتی لاتینی Y-ی گه‌وره‌ له‌گه‌ڵ ڕوومه‌تداری تیژ',
- THORN: 'پیتی لاتینی دڕکی گه‌وره',
- szlig: 'پیتی لاتنی نووك تیژی s',
- agrave: 'پیتی لاتینی a-ی بچووك له‌گه‌ڵ ڕوومه‌تداری لار',
- aacute: 'پیتی لاتینی a-ی بچووك له‌گه‌ڵ ڕوومه‌تداری تیژ',
- acirc: 'پیتی لاتینی a-ی بچووك له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- atilde: 'پیتی لاتینی a-ی بچووك له‌گه‌ڵ زه‌ڕه‌',
- auml: 'پیتی لاتینی a-ی بچووك له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- aring: 'پیتی لاتینی å-ی بچووك',
- aelig: 'پیتی لاتینی æ-ی بچووك',
- ccedil: 'پیتی لاتینی c-ی بچووك له‌گه‌ڵ ژێر چووکره‌',
- egrave: 'پیتی لاتینی e-ی بچووك له‌گه‌ڵ ڕوومه‌تداری لار',
- eacute: 'پیتی لاتینی e-ی بچووك له‌گه‌ڵ ڕوومه‌تداری تیژ',
- ecirc: 'پیتی لاتینی e-ی بچووك له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- euml: 'پیتی لاتینی e-ی بچووك له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- igrave: 'پیتی لاتینی i-ی بچووك له‌گه‌ڵ ڕوومه‌تداری لار',
- iacute: 'پیتی لاتینی i-ی بچووك له‌گه‌ڵ ڕوومه‌تداری تیژ',
- icirc: 'پیتی لاتینی i-ی بچووك له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- iuml: 'پیتی لاتینی i-ی بچووك له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- eth: 'پیتی لاتینی e-ی بچووك',
- ntilde: 'پیتی لاتینی n-ی بچووك له‌گه‌ڵ زه‌ڕه‌',
- ograve: 'پیتی لاتینی o-ی بچووك له‌گه‌ڵ ڕوومه‌تداری لار',
- oacute: 'پیتی لاتینی o-ی بچووك له‌گه‌ڵ ڕوومه‌تداری تیژ',
- ocirc: 'پیتی لاتینی o-ی بچووك له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- otilde: 'پیتی لاتینی o-ی بچووك له‌گه‌ڵ زه‌ڕه‌',
- ouml: 'پیتی لاتینی o-ی بچووك له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- divide: 'نیشانه‌ی دابه‌ش',
- oslash: 'پیتی لاتینی گه‌وره‌ی ø له‌گه‌ڵ هێمای دڵ وه‌ستان',
- ugrave: 'پیتی لاتینی u-ی بچووك له‌گه‌ڵ ڕوومه‌تداری لار',
- uacute: 'پیتی لاتینی u-ی بچووك له‌گه‌ڵ ڕوومه‌تداری تیژ',
- ucirc: 'پیتی لاتینی u-ی بچووك له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- uuml: 'پیتی لاتینی u-ی بچووك له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- yacute: 'پیتی لاتینی y-ی بچووك له‌گه‌ڵ ڕوومه‌تداری تیژ',
- thorn: 'پیتی لاتینی دڕکی بچووك',
- yuml: 'پیتی لاتینی y-ی بچووك له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- OElig: 'پیتی لاتینی گه‌وره‌ی پێکه‌وه‌نووسراوی OE',
- oelig: 'پیتی لاتینی بچووکی پێکه‌وه‌نووسراوی oe',
- '372': 'پیتی لاتینی W-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- '374': 'پیتی لاتینی Y-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- '373': 'پیتی لاتینی w-ی بچووکی له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- '375': 'پیتی لاتینی y-ی بچووکی له‌گه‌ڵ نیشانه‌ له‌سه‌ری',
- sbquo: 'نیشانه‌ی Ùاریزه‌ی نزم',
- '8219': 'نیشانه‌ی Ùاریزه‌ی به‌رزی پێچه‌وانه',
- bdquo: 'دوو Ùاریزه‌ی ته‌نیش یه‌ك',
- hellip: 'ئاسۆیی بازنه',
- trade: 'نیشانه‌ی بازرگانی',
- '9658': 'ئاراسته‌ی ڕه‌شی ده‌ستی ڕاست',
- bull: 'Ùیشه‌ك',
- rarr: 'تیری ده‌ستی ڕاست',
- rArr: 'دووتیری ده‌ستی ڕاست',
- hArr: 'دوو تیری ڕاست و چه‌پ',
- diams: 'ڕه‌شی پاقڵاوه‌یی',
- asymp: 'نیشانه‌ی یه‌کسانه'
-});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/lv.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/lv.js
deleted file mode 100644
index e2703c8..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/lv.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('specialchar','lv',{euro:'Euro zÄ«me',lsquo:'KreisÄ vienkÄrtÄ«ga pÄ“diņa',rsquo:'LabÄ vienkÄrtÄ«ga pÄ“diņa',ldquo:'KreisÄ dubult pÄ“diņa',rdquo:'LabÄ dubult pÄ“diņa',ndash:'En svÄ«tra',mdash:'Em svÄ«tra',iexcl:'Apgriezta izsaukuma zÄ«me',cent:'Centu naudas zÄ«me',pound:'Sterliņu mÄrciņu naudas zÄ«me',curren:'ValÅ«tas zÄ«me',yen:'Jenu naudas zÄ«me',brvbar:'VertikÄla pÄrrauta lÄ«nija',sect:'ParagrÄfa zÄ«me',uml:'Diakritiska zÄ«me',copy:'AutortiesÄ«bu zÄ«me',ordf:'SieviÅ¡Ä·as kÄrtas rÄdÄ«tÄjs',laquo:'KreisÄ dubult stÅ«ra pÄ“diņu zÄ«me',not:'NeparakstÄ«ts',reg:'ReÄ£istrÄ“ta zÄ«me',macr:'GarumzÄ«me',deg:'GrÄdu zÄ«me',sup2:'AugÅ¡raksts divi',sup3:'AugÅ¡raksts trÄ«s',acute:'AkÅ«ta uzsvara zÄ«me',micro:'Mikro zÄ«me',para:'Rindkopas zÄ«me ',middot:'VidÄ“js punkts',cedil:'Āķītis zem burta',sup1:'AugÅ¡raksts viens',ordm:'VÄ«riÅ¡Ä·Ä«gas kÄrtas rÄdÄ«tÄjs',raquo:'LabÄ dubult stÅ«ra pÄ“diņu zÄ«me',frac14:'VulgÄra frakcija 1/4',frac12:'VulgÄra frakcija 1/2',frac34:'VulgÄra frakcija 3/4',iquest:'Apgriezta jautÄjuma zÄ«me',Agrave:'Lielais latīņu burts A ar uzsvara zÄ«mi',Aacute:'Lielais latīņu burts A ar akÅ«tu uzsvara zÄ«mi',Acirc:'Lielais latīņu burts A ar diakritisku zÄ«mi',Atilde:'Lielais latīņu burts A ar tildi ',Auml:'Lielais latīņu burts A ar diakritisko zÄ«mi',Aring:'Lielais latīņu burts A ar aplÄ«ti augÅ¡Ä',AElig:'Lielais latīņu burts Æ',Ccedil:'Lielais latīņu burts C ar ÄÄ·Ä«ti zem burta',Egrave:'Lielais latīņu burts E ar apostrofu',Eacute:'Lielais latīņu burts E ar akÅ«tu uzsvara zÄ«mi',Ecirc:'Lielais latīņu burts E ar diakritisko zÄ«mi',Euml:'Lielais latīņu burts E ar diakritisko zÄ«mi',Igrave:'Lielais latīņu burts I ar uzsvaras zÄ«mi',Iacute:'Lielais latīņu burts I ar akÅ«tu uzsvara zÄ«mi',Icirc:'Lielais latīņu burts I ar diakritisko zÄ«mi',Iuml:'Lielais latīņu burts I ar diakritisko zÄ«mi',ETH:'Lielais latīņu burts Eth',Ntilde:'Lielais latīņu burts N ar tildi',Ograve:'Lielais latīņu burts O ar uzsvara zÄ«mi',Oacute:'Lielais latīņu burts O ar akÅ«to uzsvara zÄ«mi',Ocirc:'Lielais latīņu burts O ar diakritisko zÄ«mi',Otilde:'Lielais latīņu burts O ar tildi',Ouml:'Lielais latīņu burts O ar diakritisko zÄ«mi',times:'ReizinÄÅ¡anas zÄ«me ',Oslash:'Lielais latīņu burts O ar iesvÄ«trojumu',Ugrave:'Lielais latīņu burts U ar uzsvaras zÄ«mi',Uacute:'Lielais latīņu burts U ar akÅ«to uzsvars zÄ«mi',Ucirc:'Lielais latīņu burts U ar diakritisko zÄ«mi',Uuml:'Lielais latīņu burts U ar diakritisko zÄ«mi',Yacute:'Lielais latīņu burts Y ar akÅ«to uzsvaras zÄ«mi',THORN:'Lielais latīņu burts torn',szlig:'Mazs latīņu burts ar ligatÅ«ru',agrave:'Mazs latīņu burts a ar uzsvara zÄ«mi',aacute:'Mazs latīņu burts a ar akÅ«to uzsvara zÄ«mi',acirc:'Mazs latīņu burts a ar diakritisko zÄ«mi',atilde:'Mazs latīņu burts a ar tildi',auml:'Mazs latīņu burts a ar diakritisko zÄ«mi',aring:'Mazs latīņu burts a ar aplÄ«ti augÅ¡Ä',aelig:'Mazs latīņu burts æ',ccedil:'Mazs latīņu burts c ar ÄÄ·Ä«ti zem burta',egrave:'Mazs latīņu burts e ar uzsvara zÄ«mi ',eacute:'Mazs latīņu burts e ar akÅ«tu uzsvara zÄ«mi',ecirc:'Mazs latīņu burts e ar diakritisko zÄ«mi',euml:'Mazs latīņu burts e ar diakritisko zÄ«mi',igrave:'Mazs latīņu burts i ar uzsvara zÄ«mi ',iacute:'Mazs latīņu burts i ar akÅ«tu uzsvara zÄ«mi',icirc:'Mazs latīņu burts i ar diakritisko zÄ«mi',iuml:'Mazs latīņu burts i ar diakritisko zÄ«mi',eth:'Mazs latīņu burts eth',ntilde:'Mazs latīņu burts n ar tildi',ograve:'Mazs latīņu burts o ar uzsvara zÄ«mi ',oacute:'Mazs latīņu burts o ar akÅ«tu uzsvara zÄ«mi',ocirc:'Mazs latīņu burts o ar diakritisko zÄ«mi',otilde:'Mazs latīņu burts o ar tildi',ouml:'Mazs latīņu burts o ar diakritisko zÄ«mi',divide:'DalÄ«Å¡anas zÄ«me',oslash:'Mazs latīņu burts o ar iesvÄ«trojumu',ugrave:'Mazs latīņu burts u ar uzsvara zÄ«mi ',uacute:'Mazs latīņu burts u ar akÅ«tu uzsvara zÄ«mi',ucirc:'Mazs latīņu burts u ar diakritisko zÄ«mi',uuml:'Mazs latīņu burts u ar diakritisko zÄ«mi',yacute:'Mazs latīņu burts y ar akÅ«tu uzsvaras zÄ«mi',thorn:'Mazs latīņu burts torns',yuml:'Mazs latīņu burts y ar diakritisko zÄ«mi',OElig:'Liela latīņu ligatÅ«ra OE',oelig:'Maza latīņu ligatÅ«ra oe',372:'Liels latīņu burts W ar diakritisko zÄ«mi ',374:'Liels latīņu burts Y ar diakritisko zÄ«mi ',373:'Mazs latīņu burts w ar diakritisko zÄ«mi ',375:'Mazs latīņu burts y ar diakritisko zÄ«mi ',sbquo:'Mazas-9 vienkÄrtÄ«gas pÄ“diņas',8219:'Lielas-9 vienkÄrtÄ«gas apgrieztas pÄ“diņas',bdquo:'Mazas-9 dubultas pÄ“diņas',hellip:'HorizontÄli daudzpunkti',trade:'PreÄu zÄ«mes zÄ«me',9658:'Melns pa labi pagriezts radÄ«tÄjs',bull:'Lode',rarr:'Bulta pa labi',rArr:'Dubulta Bulta pa labi',hArr:'Bulta pa kreisi',diams:'Dubulta Bulta pa kreisi',asymp:'GandrÄ«z vienÄds ar'});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/nb.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/nb.js
deleted file mode 100644
index aa53c4a..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/nb.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('specialchar','nb',{euro:'Eurosymbol',lsquo:'Venstre enkelt anførselstegn',rsquo:'Høyre enkelt anførselstegn',ldquo:'Venstre dobbelt anførselstegn',rdquo:'Høyre anførsesltegn',ndash:'Kort tankestrek',mdash:'Lang tankestrek',iexcl:'Omvendt utropstegn',cent:'Centsymbol',pound:'Pundsymbol',curren:'Valutategn',yen:'Yensymbol',brvbar:'Brutt loddrett strek',sect:'Paragraftegn',uml:'Tøddel',copy:'Copyrighttegn',ordf:'Feminin ordensindikator',laquo:'Venstre anførselstegn',not:'Negasjonstegn',reg:'Registrert varemerke-tegn',macr:'Makron',deg:'Gradsymbol',sup2:'Hevet totall',sup3:'Hevet tretall',acute:'Akutt aksent',micro:'Mikrosymbol',para:'Avsnittstegn',middot:'Midtstilt prikk',cedil:'Cedille',sup1:'Hevet ettall',ordm:'Maskulin ordensindikator',raquo:'Høyre anførselstegn',frac14:'Fjerdedelsbrøk',frac12:'Halvbrøk',frac34:'Tre fjerdedelers brøk',iquest:'Omvendt spørsmålstegn',Agrave:'Stor A med grav aksent',Aacute:'Stor A med akutt aksent',Acirc:'Stor A med cirkumfleks',Atilde:'Stor A med tilde',Auml:'Stor A med tøddel',Aring:'Stor Å',AElig:'Stor Æ',Ccedil:'Stor C med cedille',Egrave:'Stor E med grav aksent',Eacute:'Stor E med akutt aksent',Ecirc:'Stor E med cirkumfleks',Euml:'Stor E med tøddel',Igrave:'Stor I med grav aksent',Iacute:'Stor I med akutt aksent',Icirc:'Stor I med cirkumfleks',Iuml:'Stor I med tøddel',ETH:'Stor Edd/stungen D',Ntilde:'Stor N med tilde',Ograve:'Stor O med grav aksent',Oacute:'Stor O med akutt aksent',Ocirc:'Stor O med cirkumfleks',Otilde:'Stor O med tilde',Ouml:'Stor O med tøddel',times:'Multiplikasjonstegn',Oslash:'Stor Ø',Ugrave:'Stor U med grav aksent',Uacute:'Stor U med akutt aksent',Ucirc:'Stor U med cirkumfleks',Uuml:'Stor U med tøddel',Yacute:'Stor Y med akutt aksent',THORN:'Stor Thorn',szlig:'Liten dobbelt-s/Eszett',agrave:'Liten a med grav aksent',aacute:'Liten a med akutt aksent',acirc:'Liten a med cirkumfleks',atilde:'Liten a med tilde',auml:'Liten a med tøddel',aring:'Liten å',aelig:'Liten æ',ccedil:'Liten c med cedille',egrave:'Liten e med grav aksent',eacute:'Liten e med akutt aksent',ecirc:'Liten e med cirkumfleks',euml:'Liten e med tøddel',igrave:'Liten i med grav aksent',iacute:'Liten i med akutt aksent',icirc:'Liten i med cirkumfleks',iuml:'Liten i med tøddel',eth:'Liten edd/stungen d',ntilde:'Liten n med tilde',ograve:'Liten o med grav aksent',oacute:'Liten o med akutt aksent',ocirc:'Liten o med cirkumfleks',otilde:'Liten o med tilde',ouml:'Liten o med tøddel',divide:'Divisjonstegn',oslash:'Liten ø',ugrave:'Liten u med grav aksent',uacute:'Liten u med akutt aksent',ucirc:'Liten u med cirkumfleks',uuml:'Liten u med tøddel',yacute:'Liten y med akutt aksent',thorn:'Liten thorn',yuml:'Liten y med tøddel',OElig:'Stor ligatur av O og E',oelig:'Liten ligatur av o og e',372:'Stor W med cirkumfleks',374:'Stor Y med cirkumfleks',373:'Liten w med cirkumfleks',375:'Liten y med cirkumfleks',sbquo:'Enkelt lavt 9-anførselstegn',8219:'Enkelt høyt reversert 9-anførselstegn',bdquo:'Dobbelt lavt 9-anførselstegn',hellip:'Ellipse',trade:'Varemerkesymbol',9658:'Svart høyrevendt peker',bull:'Tykk interpunkt',rarr:'Høyrevendt pil',rArr:'Dobbel høyrevendt pil',hArr:'Dobbel venstrevendt pil',diams:'Svart ruter',asymp:'Omtrent likhetstegn'});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/nl.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/nl.js
deleted file mode 100644
index d338e8c..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/nl.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('specialchar','nl',{euro:'Euro-teken',lsquo:'Linker enkel aanhalingsteken',rsquo:'Rechter enkel aanhalingsteken',ldquo:'Linker dubbel aanhalingsteken',rdquo:'Rechter dubbel aanhalingsteken',ndash:'En dash',mdash:'Em dash',iexcl:'Omgekeerd uitroepteken',cent:'Cent-teken',pound:'Pond-teken',curren:'Valuta-teken',yen:'Yen-teken',brvbar:'Gebroken streep',sect:'Paragraaf-teken',uml:'Trema',copy:'Copyright-teken',ordf:'Vrouwelijk ordinaal',laquo:'Linker guillemet',not:'Ongelijk-teken',reg:'Geregistreerd handelsmerk-teken',macr:'Macron',deg:'Graden-teken',sup2:'Superscript twee',sup3:'Superscript drie',acute:'Accent aigu',micro:'Mico-teken',para:'Alinea-teken',middot:'Halfhoge punt',cedil:'Cedille',sup1:'Superscript een',ordm:'Mannelijk ordinaal',raquo:'Rechter guillemet',frac14:'Breuk kwart',frac12:'Breuk half',frac34:'Breuk driekwart',iquest:'Omgekeerd vraagteken',Agrave:'Latijnse hoofdletter A met een accent grave',Aacute:'Latijnse hoofdletter A met een accent aigu',Acirc:'Latijnse hoofdletter A met een circonflexe',Atilde:'Latijnse hoofdletter A met een tilde',Auml:'Latijnse hoofdletter A met een trema',Aring:'Latijnse hoofdletter A met een corona',AElig:'Latijnse hoofdletter Æ',Ccedil:'Latijnse hoofdletter C met een cedille',Egrave:'Latijnse hoofdletter E met een accent grave',Eacute:'Latijnse hoofdletter E met een accent aigu',Ecirc:'Latijnse hoofdletter E met een circonflexe',Euml:'Latijnse hoofdletter E met een trema',Igrave:'Latijnse hoofdletter I met een accent grave',Iacute:'Latijnse hoofdletter I met een accent aigu',Icirc:'Latijnse hoofdletter I met een circonflexe',Iuml:'Latijnse hoofdletter I met een trema',ETH:'Latijnse hoofdletter Eth',Ntilde:'Latijnse hoofdletter N met een tilde',Ograve:'Latijnse hoofdletter O met een accent grave',Oacute:'Latijnse hoofdletter O met een accent aigu',Ocirc:'Latijnse hoofdletter O met een circonflexe',Otilde:'Latijnse hoofdletter O met een tilde',Ouml:'Latijnse hoofdletter O met een trema',times:'Maal-teken',Oslash:'Latijnse hoofdletter O met een schuine streep',Ugrave:'Latijnse hoofdletter U met een accent grave',Uacute:'Latijnse hoofdletter U met een accent aigu',Ucirc:'Latijnse hoofdletter U met een circonflexe',Uuml:'Latijnse hoofdletter U met een trema',Yacute:'Latijnse hoofdletter Y met een accent aigu',THORN:'Latijnse hoofdletter Thorn',szlig:'Latijnse kleine ringel-s',agrave:'Latijnse kleine letter a met een accent grave',aacute:'Latijnse kleine letter a met een accent aigu',acirc:'Latijnse kleine letter a met een circonflexe',atilde:'Latijnse kleine letter a met een tilde',auml:'Latijnse kleine letter a met een trema',aring:'Latijnse kleine letter a met een corona',aelig:'Latijnse kleine letter æ',ccedil:'Latijnse kleine letter c met een cedille',egrave:'Latijnse kleine letter e met een accent grave',eacute:'Latijnse kleine letter e met een accent aigu',ecirc:'Latijnse kleine letter e met een circonflexe',euml:'Latijnse kleine letter e met een trema',igrave:'Latijnse kleine letter i met een accent grave',iacute:'Latijnse kleine letter i met een accent aigu',icirc:'Latijnse kleine letter i met een circonflexe',iuml:'Latijnse kleine letter i met een trema',eth:'Latijnse kleine letter eth',ntilde:'Latijnse kleine letter n met een tilde',ograve:'Latijnse kleine letter o met een accent grave',oacute:'Latijnse kleine letter o met een accent aigu',ocirc:'Latijnse kleine letter o met een circonflexe',otilde:'Latijnse kleine letter o met een tilde',ouml:'Latijnse kleine letter o met een trema',divide:'Deel-teken',oslash:'Latijnse kleine letter o met een schuine streep',ugrave:'Latijnse kleine letter u met een accent grave',uacute:'Latijnse kleine letter u met een accent aigu',ucirc:'Latijnse kleine letter u met een circonflexe',uuml:'Latijnse kleine letter u met een trema',yacute:'Latijnse kleine letter y met een accent aigu',thorn:'Latijnse kleine letter thorn',yuml:'Latijnse kleine letter y met een trema',OElig:'Latijnse hoofdletter Œ',oelig:'Latijnse kleine letter œ',372:'Latijnse hoofdletter W met een circonflexe',374:'Latijnse hoofdletter Y met een circonflexe',373:'Latijnse kleine letter w met een circonflexe',375:'Latijnse kleine letter y met een circonflexe',sbquo:'Lage enkele aanhalingsteken',8219:'Hoge omgekeerde enkele aanhalingsteken',bdquo:'Lage dubbele aanhalingsteken',hellip:'Beletselteken',trade:'Trademark-teken',9658:'Zwarte driehoek naar rechts',bull:'Bullet',rarr:'Pijl naar rechts',rArr:'Dubbele pijl naar rechts',hArr:'Dubbele pijl naar links',diams:'Zwart ruitje',asymp:'Benaderingsteken'});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/no.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/no.js
deleted file mode 100644
index f6722fa..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/no.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('specialchar','no',{euro:'Eurosymbol',lsquo:'Venstre enkelt anførselstegn',rsquo:'Høyre enkelt anførselstegn',ldquo:'Venstre dobbelt anførselstegn',rdquo:'Høyre anførsesltegn',ndash:'Kort tankestrek',mdash:'Lang tankestrek',iexcl:'Omvendt utropstegn',cent:'Centsymbol',pound:'Pundsymbol',curren:'Valutategn',yen:'Yensymbol',brvbar:'Brutt loddrett strek',sect:'Paragraftegn',uml:'Tøddel',copy:'Copyrighttegn',ordf:'Feminin ordensindikator',laquo:'Venstre anførselstegn',not:'Negasjonstegn',reg:'Registrert varemerke-tegn',macr:'Makron',deg:'Gradsymbol',sup2:'Hevet totall',sup3:'Hevet tretall',acute:'Akutt aksent',micro:'Mikrosymbol',para:'Avsnittstegn',middot:'Midtstilt prikk',cedil:'Cedille',sup1:'Hevet ettall',ordm:'Maskulin ordensindikator',raquo:'Høyre anførselstegn',frac14:'Fjerdedelsbrøk',frac12:'Halvbrøk',frac34:'Tre fjerdedelers brøk',iquest:'Omvendt spørsmålstegn',Agrave:'Stor A med grav aksent',Aacute:'Stor A med akutt aksent',Acirc:'Stor A med cirkumfleks',Atilde:'Stor A med tilde',Auml:'Stor A med tøddel',Aring:'Stor Å',AElig:'Stor Æ',Ccedil:'Stor C med cedille',Egrave:'Stor E med grav aksent',Eacute:'Stor E med akutt aksent',Ecirc:'Stor E med cirkumfleks',Euml:'Stor E med tøddel',Igrave:'Stor I med grav aksent',Iacute:'Stor I med akutt aksent',Icirc:'Stor I med cirkumfleks',Iuml:'Stor I med tøddel',ETH:'Stor Edd/stungen D',Ntilde:'Stor N med tilde',Ograve:'Stor O med grav aksent',Oacute:'Stor O med akutt aksent',Ocirc:'Stor O med cirkumfleks',Otilde:'Stor O med tilde',Ouml:'Stor O med tøddel',times:'Multiplikasjonstegn',Oslash:'Stor Ø',Ugrave:'Stor U med grav aksent',Uacute:'Stor U med akutt aksent',Ucirc:'Stor U med cirkumfleks',Uuml:'Stor U med tøddel',Yacute:'Stor Y med akutt aksent',THORN:'Stor Thorn',szlig:'Liten dobbelt-s/Eszett',agrave:'Liten a med grav aksent',aacute:'Liten a med akutt aksent',acirc:'Liten a med cirkumfleks',atilde:'Liten a med tilde',auml:'Liten a med tøddel',aring:'Liten å',aelig:'Liten æ',ccedil:'Liten c med cedille',egrave:'Liten e med grav aksent',eacute:'Liten e med akutt aksent',ecirc:'Liten e med cirkumfleks',euml:'Liten e med tøddel',igrave:'Liten i med grav aksent',iacute:'Liten i med akutt aksent',icirc:'Liten i med cirkumfleks',iuml:'Liten i med tøddel',eth:'Liten edd/stungen d',ntilde:'Liten n med tilde',ograve:'Liten o med grav aksent',oacute:'Liten o med akutt aksent',ocirc:'Liten o med cirkumfleks',otilde:'Liten o med tilde',ouml:'Liten o med tøddel',divide:'Divisjonstegn',oslash:'Liten ø',ugrave:'Liten u med grav aksent',uacute:'Liten u med akutt aksent',ucirc:'Liten u med cirkumfleks',uuml:'Liten u med tøddel',yacute:'Liten y med akutt aksent',thorn:'Liten thorn',yuml:'Liten y med tøddel',OElig:'Stor ligatur av O og E',oelig:'Liten ligatur av o og e',372:'Stor W med cirkumfleks',374:'Stor Y med cirkumfleks',373:'Liten w med cirkumfleks',375:'Liten y med cirkumfleks',sbquo:'Enkelt lavt 9-anførselstegn',8219:'Enkelt høyt reversert 9-anførselstegn',bdquo:'Dobbelt lavt 9-anførselstegn',hellip:'Ellipse',trade:'Varemerkesymbol',9658:'Svart høyrevendt peker',bull:'Tykk interpunkt',rarr:'Høyrevendt pil',rArr:'Dobbel høyrevendt pil',hArr:'Dobbel venstrevendt pil',diams:'Svart ruter',asymp:'Omtrent likhetstegn'});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/pt-br.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/pt-br.js
deleted file mode 100644
index 9de3ae3..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/pt-br.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('specialchar','pt-br',{euro:'Euro',lsquo:'Aspas simples esquerda',rsquo:'Aspas simples direita',ldquo:'Aspas duplas esquerda',rdquo:'Aspas duplas direita',ndash:'Traço',mdash:'Travessão',iexcl:'Ponto de exclamação invertido',cent:'Cent',pound:'Cerquilha',curren:'Dinheiro',yen:'Yen',brvbar:'Bara interrompida',sect:'Símbolo de Parágrafo',uml:'Trema',copy:'Direito de Cópia',ordf:'Indicador ordinal feminino',laquo:'Aspas duplas angulares esquerda',not:'Negação',reg:'Marca Registrada',macr:'Mácron',deg:'Grau',sup2:'2 Superscrito',sup3:'3 Superscrito',acute:'Acento agudo',micro:'Micro',para:'Pé de mosca',middot:'Ponto mediano',cedil:'Cedilha',sup1:'1 Superscrito',ordm:'Indicador ordinal masculino',raquo:'Aspas duplas angulares direita',frac14:'Um quarto',frac12:'Um meio',frac34:'Três quartos',iquest:'Interrogação invertida',Agrave:'A maiúsculo com acento grave',Aacute:'A maiúsculo com acento agudo',Acirc:'A maiúsculo com acento circunflexo',Atilde:'A maiúsculo com til',Auml:'A maiúsculo com trema',Aring:'A maiúsculo com anel acima',AElig:'Æ maiúsculo',Ccedil:'Ç maiúlculo',Egrave:'E maiúsculo com acento grave',Eacute:'E maiúsculo com acento agudo',Ecirc:'E maiúsculo com acento circumflexo',Euml:'E maiúsculo com trema',Igrave:'I maiúsculo com acento grave',Iacute:'I maiúsculo com acento agudo',Icirc:'I maiúsculo com acento circunflexo',Iuml:'I maiúsculo com crase',ETH:'Eth maiúsculo',Ntilde:'N maiúsculo com til',Ograve:'O maiúsculo com acento grave',Oacute:'O maiúsculo com acento agudo',Ocirc:'O maiúsculo com acento circunflexo',Otilde:'O maiúsculo com til',Ouml:'O maiúsculo com trema',times:'Multiplicação',Oslash:'Diâmetro',Ugrave:'U maiúsculo com acento grave',Uacute:'U maiúsculo com acento agudo',Ucirc:'U maiúsculo com acento circunflexo',Uuml:'U maiúsculo com trema',Yacute:'Y maiúsculo com acento agudo',THORN:'Thorn maiúsculo',szlig:'Eszett minúsculo',agrave:'a minúsculo com acento grave',aacute:'a minúsculo com acento agudo',acirc:'a minúsculo com acento circunflexo',atilde:'a minúsculo com til',auml:'a minúsculo com trema',aring:'a minúsculo com anel acima',aelig:'æ minúsculo',ccedil:'ç minúsculo',egrave:'e minúsculo com acento grave',eacute:'e minúsculo com acento agudo',ecirc:'e minúsculo com acento circunflexo',euml:'e minúsculo com trema',igrave:'i minúsculo com acento grave',iacute:'i minúsculo com acento agudo',icirc:'i minúsculo com acento circunflexo',iuml:'i minúsculo com trema',eth:'eth minúsculo',ntilde:'n minúsculo com til',ograve:'o minúsculo com acento grave',oacute:'o minúsculo com acento agudo',ocirc:'o minúsculo com acento circunflexo',otilde:'o minúsculo com til',ouml:'o minúsculo com trema',divide:'Divisão',oslash:'o minúsculo com cortado ou diâmetro',ugrave:'u minúsculo com acento grave',uacute:'u minúsculo com acento agudo',ucirc:'u minúsculo com acento circunflexo',uuml:'u minúsculo com trema',yacute:'y minúsculo com acento agudo',thorn:'thorn minúsculo',yuml:'y minúsculo com trema',OElig:'Ligação tipográfica OE maiúscula',oelig:'Ligação tipográfica oe minúscula',372:'W maiúsculo com acento circunflexo',374:'Y maiúsculo com acento circunflexo',373:'w minúsculo com acento circunflexo',375:'y minúsculo com acento circunflexo',sbquo:'Aspas simples inferior direita',8219:'Aspas simples superior esquerda',bdquo:'Aspas duplas inferior direita',hellip:'Reticências',trade:'Trade mark',9658:'Ponta de seta preta para direita',bull:'Ponto lista',rarr:'Seta para direita',rArr:'Seta dupla para direita',hArr:'Seta dupla direita e esquerda',diams:'Ouros',asymp:'Aproximadamente'});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/sk.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/sk.js
deleted file mode 100644
index 9e09021..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/sk.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('specialchar','sk',{euro:'Znak eura',lsquo:'Ľavá jednoduchá úvodzovka',rsquo:'Pravá jednoduchá úvodzovka',ldquo:'Pravá dvojitá úvodzovka',rdquo:'Pravá dvojitá úvodzovka',ndash:'En pomlÄka',mdash:'Em pomlÄka',iexcl:'Obrátený výkriÄník',cent:'Znak centu',pound:'Znak libry',curren:'Znak meny',yen:'Znak jenu',brvbar:'PreruÅ¡ená zvislá Äiara',sect:'Znak odseku',uml:'Prehláska',copy:'Znak copyrightu',ordf:'Ženský indikátor rodu',laquo:'Znak dvojitých lomených úvodzoviek vľavo',not:'Logistický zápor',reg:'Znak registrácie',macr:'PomlÄka nad',deg:'Znak stupňa',sup2:'Dvojka ako horný index',sup3:'Trojka ako horný index',acute:'Dĺžeň',micro:'Znak mikro',para:'Znak odstavca',middot:'Bodka uprostred',cedil:'Chvost vľavo',sup1:'Jednotka ako horný index',ordm:'Mužský indikátor rodu',raquo:'Znak dvojitých lomených úvodzoviek vpravo',frac14:'ObyÄajný zlomok jedna Å¡tvrtina',frac12:'ObyÄajný zlomok jedna polovica',frac34:'ObyÄajný zlomok tri Å¡tvrtiny',iquest:'OtoÄený otáznik',Agrave:'Veľké písmeno latinky A s accentom',Aacute:'Veľké písmeno latinky A s dĺžňom',Acirc:'Veľké písmeno latinky A s mäkÄeňom',Atilde:'Veľké písmeno latinky A s tildou',Auml:'Veľké písmeno latinky A s dvoma bodkami',Aring:'Veľké písmeno latinky A s krúžkom nad',AElig:'Veľké písmeno latinky Æ',Ccedil:'Veľké písmeno latinky C s chvostom vľavo',Egrave:'Veľké písmeno latinky E s accentom',Eacute:'Veľké písmeno latinky E s dĺžňom',Ecirc:'Veľké písmeno latinky E s mäkÄeňom',Euml:'Veľké písmeno latinky E s dvoma bodkami',Igrave:'Veľké písmeno latinky I s accentom',Iacute:'Veľké písmeno latinky I s dĺžňom',Icirc:'Veľké písmeno latinky I s mäkÄeňom',Iuml:'Veľké písmeno latinky I s dvoma bodkami',ETH:'Veľké písmeno latinky Eth',Ntilde:'Veľké písmeno latinky N s tildou',Ograve:'Veľké písmeno latinky O s accentom',Oacute:'Veľké písmeno latinky O s dĺžňom',Ocirc:'Veľké písmeno latinky O s mäkÄeňom',Otilde:'Veľké písmeno latinky O s tildou',Ouml:'Veľké písmeno latinky O s dvoma bodkami',times:'Znak násobenia',Oslash:'Veľké písmeno latinky O preÅ¡krtnuté',Ugrave:'Veľké písmeno latinky U s accentom',Uacute:'Veľké písmeno latinky U s dĺžňom',Ucirc:'Veľké písmeno latinky U s mäkÄeňom',Uuml:'Veľké písmeno latinky U s dvoma bodkami',Yacute:'Veľké písmeno latinky Y s dĺžňom',THORN:'Veľké písmeno latinky Thorn',szlig:'Malé písmeno latinky ostré s',agrave:'Malé písmeno latinky a s accentom',aacute:'Malé písmeno latinky a s dĺžňom',acirc:'Malé písmeno latinky a s mäkÄeňom',atilde:'Malé písmeno latinky a s tildou',auml:'Malé písmeno latinky a s dvoma bodkami',aring:'Malé písmeno latinky a s krúžkom nad',aelig:'Malé písmeno latinky æ',ccedil:'Malé písmeno latinky c s chvostom vľavo',egrave:'Malé písmeno latinky e s accentom',eacute:'Malé písmeno latinky e s dĺžňom',ecirc:'Malé písmeno latinky e s mäkÄeňom',euml:'Malé písmeno latinky e s dvoma bodkami',igrave:'Malé písmeno latinky i s accentom',iacute:'Malé písmeno latinky i s dĺžňom',icirc:'Malé písmeno latinky i s mäkÄeňom',iuml:'Malé písmeno latinky i s dvoma bodkami',eth:'Malé písmeno latinky eth',ntilde:'Malé písmeno latinky n s tildou',ograve:'Malé písmeno latinky o s accentom',oacute:'Malé písmeno latinky o s dĺžňom',ocirc:'Malé písmeno latinky o s mäkÄeňom',otilde:'Malé písmeno latinky o s tildou',ouml:'Malé písmeno latinky o s dvoma bodkami',divide:'Znak delenia',oslash:'Malé písmeno latinky o preÅ¡krtnuté',ugrave:'Malé písmeno latinky u s accentom',uacute:'Malé písmeno latinky u s dĺžňom',ucirc:'Malé písmeno latinky u s mäkÄeňom',uuml:'Malé písmeno latinky u s dvoma bodkami',yacute:'Malé písmeno latinky y s dĺžňom',thorn:'Malé písmeno latinky thorn',yuml:'Malé písmeno latinky y s dvoma bodkami',OElig:'Veľká ligatúra latinky OE',oelig:'Malá ligatúra latinky OE',372:'Veľké písmeno latinky W s mäkÄeňom',374:'Veľké písmeno latinky Y s mäkÄeňom',373:'Malé písmeno latinky w s mäkÄeňom',375:'Malé písmeno latinky y s mäkÄeňom',sbquo:'Dolná jednoduchá 9-úvodzovka',8219:'Horná jednoduchá otoÄená 9-úvodzovka',bdquo:'Dolná dvojitá 9-úvodzovka',hellip:'Trojbodkový úvod',trade:'Znak ibchodnej znaÄky',9658:'ÄŒierny ukazovateľ smerujúci vpravo',bull:'Kruh',rarr:'Šípka vpravo',rArr:'Dvojitá Å¡ipka vpravo',hArr:'Dvojitá Å¡ipka vľavo a vpravo',diams:'ÄŒierne piky',asymp:'Skoro sa rovná'});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/tr.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/tr.js
deleted file mode 100644
index 01f92ac..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/tr.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('specialchar','tr',{euro:'Euro işareti',lsquo:'Sol tek tırnak işareti',rsquo:'Sağ tek tırnak işareti',ldquo:'Sol çift tırnak işareti',rdquo:'Sağ çift tırnak işareti',ndash:'En tire',mdash:'Em tire',iexcl:'Ters ünlem işareti',cent:'Cent işareti',pound:'Pound işareti',curren:'Para birimi işareti',yen:'Yen işareti',brvbar:'Kırık bar',sect:'Bölüm işareti',uml:'İki sesli harfin ayrılması',copy:'Telif hakkı işareti',ordf:'Dişil sıralı gösterge',laquo:'Sol-işaret çift açı tırnak işareti',not:'Not işareti',reg:'Kayıtlı işareti',macr:'Makron',deg:'Derece işareti',sup2:'İkili üstsimge',sup3:'Üçlü üstsimge',acute:'Aksan işareti',micro:'Mikro işareti',para:'Pilcrow işareti',middot:'Orta nokta',cedil:'Kedilla',sup1:'Üstsimge',ordm:'Eril sıralı gösterge',raquo:'Sağ işaret çift açı tırnak işareti',frac14:'Bayağı kesrin dörtte biri',frac12:'Bayağı kesrin bir yarım',frac34:'Bayağı kesrin dörtte üç',iquest:'Ters soru işareti',Agrave:'Aksanlı latin harfi',Aacute:'Aşırı aksanıyla Latin harfi',Acirc:'Çarpık Latin harfi',Atilde:'Tilde latin harfi',Auml:'Sesli harf ayrılımlıı latin harfi',Aring:'Halkalı latin büyük A harfi',AElig:'Latin büyük Æ harfi',Ccedil:'Latin büyük C harfi ile kedilla',Egrave:'Aksanlı latin büyük E harfi',Eacute:'Aşırı vurgulu latin büyük E harfi',Ecirc:'Çarpık latin büyük E harfi',Euml:'Sesli harf ayrılımlıı latin büyük E harfi',Igrave:'Aksanlı latin büyük I harfi',Iacute:'Aşırı aksanlı latin büyük I harfi',Icirc:'Çarpık latin büyük I harfi',Iuml:'Sesli harf ayrılımlıı latin büyük I harfi',ETH:'Latin büyük Eth harfi',Ntilde:'Tildeli latin büyük N harfi',Ograve:'Aksanlı latin büyük O harfi',Oacute:'Aşırı aksanlı latin büyük O harfi',Ocirc:'Çarpık latin büyük O harfi',Otilde:'Tildeli latin büyük O harfi',Ouml:'Sesli harf ayrılımlı latin büyük O harfi',times:'Çarpma işareti',Oslash:'Vurgulu latin büyük O harfi',Ugrave:'Aksanlı latin büyük U harfi',Uacute:'Aşırı aksanlı latin büyük U harfi',Ucirc:'Çarpık latin büyük U harfi',Uuml:'Sesli harf ayrılımlı latin büyük U harfi',Yacute:'Aşırı aksanlı latin büyük Y harfi',THORN:'Latin büyük Thorn harfi',szlig:'Latin küçük keskin s harfi',agrave:'Aksanlı latin küçük a harfi',aacute:'Aşırı aksanlı latin küçük a harfi',acirc:'Çarpık latin küçük a harfi',atilde:'Tildeli latin küçük a harfi',auml:'Sesli harf ayrılımlı latin küçük a harfi',aring:'Halkalı latin küçük a harfi',aelig:'Latin büyük æ harfi',ccedil:'Kedillalı latin küçük c harfi',egrave:'Aksanlı latin küçük e harfi',eacute:'Aşırı aksanlı latin küçük e harfi',ecirc:'Çarpık latin küçük e harfi',euml:'Sesli harf ayrılımlı latin küçük e harfi',igrave:'Aksanlı latin küçük i harfi',iacute:'Aşırı aksanlı latin küçük i harfi',icirc:'Çarpık latin küçük i harfi',iuml:'Sesli harf ayrılımlı latin küçük i harfi',eth:'Latin küçük eth harfi',ntilde:'Tildeli latin küçük n harfi',ograve:'Aksanlı latin küçük o harfi',oacute:'Aşırı aksanlı latin küçük o harfi',ocirc:'Çarpık latin küçük o harfi',otilde:'Tildeli latin küçük o harfi',ouml:'Sesli harf ayrılımlı latin küçük o harfi',divide:'Bölme işareti',oslash:'Vurgulu latin küçük o harfi',ugrave:'Aksanlı latin küçük u harfi',uacute:'Aşırı aksanlı latin küçük u harfi',ucirc:'Çarpık latin küçük u harfi',uuml:'Sesli harf ayrılımlı latin küçük u harfi',yacute:'Aşırı aksanlı latin küçük y harfi',thorn:'Latin küçük thorn harfi',yuml:'Sesli harf ayrılımlı latin küçük y harfi',OElig:'Latin büyük bağlı OE harfi',oelig:'Latin küçük bağlı oe harfi',372:'Çarpık latin büyük W harfi',374:'Çarpık latin büyük Y harfi',373:'Çarpık latin küçük w harfi',375:'Çarpık latin küçük y harfi',sbquo:'Tek düşük-9 tırnak işareti',8219:'Tek yüksek-ters-9 tırnak işareti',bdquo:'Çift düşük-9 tırnak işareti',hellip:'Yatay elips',trade:'Marka tescili işareti',9658:'Siyah sağ işaret işaretçisi',bull:'Koyu nokta',rarr:'Sağa doğru ok',rArr:'Sağa doğru çift ok',hArr:'Sol, sağ çift ok',diams:'Siyah elmas takımı',asymp:'Hemen hemen eşit'});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/ug.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/ug.js
deleted file mode 100644
index 89f2c44..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/ug.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('specialchar','ug',{euro:'ياۋرو بەلگىسى',lsquo:'يالاڭ Ù¾Û•Ø´ سول',rsquo:'يالاڭ Ù¾Û•Ø´ ئوڭ',ldquo:'قوش Ù¾Û•Ø´ سول',rdquo:'قوش Ù¾Û•Ø´ ئوڭ',ndash:'سىزىقچە',mdash:'سىزىق',iexcl:'ئۈندەش',cent:'تىيىن بەلگىسى',pound:'Ùوند ستÛرلىڭ',curren:'Ù¾Û‡Ù„ بەلگىسى',yen:'ياپونىيە يىنى',brvbar:'ئۈزۈك بالداق',sect:'پاراگرا٠بەلگىسى',uml:'تاۋۇش ئايرىش بەلگىسى',copy:'نەشر ھوقۇقى بەلگىسى',ordf:'Feminine ordinal indicator',laquo:'قوش تىرناق سول',not:'غەيرى بەلگە',reg:'خەتلەتكەن تاۋار ماركىسى',macr:'سوزۇش بەلگىسى',deg:'گىرادۇس بەلگىسى',sup2:'يۇقىرى ئىندÛكىس 2',sup3:'يۇقىرى ئىندÛكىس 3',acute:'ئۇرغۇ بەلگىسى',micro:'Micro sign',para:'ئابزاس بەلگىسى',middot:'ئوتتۇرا Ú†Ûكىت',cedil:'ئاستىغا قوشۇلىدىغان بەلگە',sup1:'يۇقىرى ئىندÛكىس 1',ordm:'Masculine ordinal indicator',raquo:'قوش تىرناق ئوڭ',frac14:'ئاددىي كەسىر تۆتتىن بىر',frac12:'ئاددىي كەسىر ئىككىدىن بىر',frac34:'ئاددىي كەسىر ئۈچتىن تۆرت',iquest:'Inverted question mark',Agrave:'Latin capital letter A with grave accent',Aacute:'Latin capital letter A with acute accent',Acirc:'Latin capital letter A with circumflex',Atilde:'Latin capital letter A with tilde',Auml:'Latin capital letter A with diaeresis',Aring:'Latin capital letter A with ring above',AElig:'Latin Capital letter Æ',Ccedil:'Latin capital letter C with cedilla',Egrave:'Latin capital letter E with grave accent',Eacute:'Latin capital letter E with acute accent',Ecirc:'Latin capital letter E with circumflex',Euml:'Latin capital letter E with diaeresis',Igrave:'Latin capital letter I with grave accent',Iacute:'Latin capital letter I with acute accent',Icirc:'Latin capital letter I with circumflex',Iuml:'Latin capital letter I with diaeresis',ETH:'Latin capital letter Eth',Ntilde:'Latin capital letter N with tilde',Ograve:'قوش Ù¾Û•Ø´ ئوڭ',Oacute:'Latin capital letter O with acute accent',Ocirc:'Latin capital letter O with circumflex',Otilde:'Latin capital letter O with tilde',Ouml:'Latin capital letter O with diaeresis',times:'Multiplication sign',Oslash:'Latin capital letter O with stroke',Ugrave:'Latin capital letter U with grave accent',Uacute:'Latin capital letter U with acute accent',Ucirc:'Latin capital letter U with circumflex',Uuml:'Latin capital letter U with diaeresis',Yacute:'Latin capital letter Y with acute accent',THORN:'Latin capital letter Thorn',szlig:'Latin small letter sharp s',agrave:'Latin small letter a with grave accent',aacute:'Latin small letter a with acute accent',acirc:'Latin small letter a with circumflex',atilde:'Latin small letter a with tilde',auml:'Latin small letter a with diaeresis',aring:'Latin small letter a with ring above',aelig:'Latin small letter æ',ccedil:'Latin small letter c with cedilla',egrave:'Latin small letter e with grave accent',eacute:'Latin small letter e with acute accent',ecirc:'Latin small letter e with circumflex',euml:'Latin small letter e with diaeresis',igrave:'Latin small letter i with grave accent',iacute:'Latin small letter i with acute accent',icirc:'Latin small letter i with circumflex',iuml:'Latin small letter i with diaeresis',eth:'Latin small letter eth',ntilde:'تىك موللاق سوئال بەلگىسى',ograve:'Latin small letter o with grave accent',oacute:'Latin small letter o with acute accent',ocirc:'Latin small letter o with circumflex',otilde:'Latin small letter o with tilde',ouml:'Latin small letter o with diaeresis',divide:'Division sign',oslash:'Latin small letter o with stroke',ugrave:'Latin small letter u with grave accent',uacute:'Latin small letter u with acute accent',ucirc:'Latin small letter u with circumflex',uuml:'Latin small letter u with diaeresis',yacute:'Latin small letter y with acute accent',thorn:'Latin small letter thorn',yuml:'Latin small letter y with diaeresis',OElig:'Latin capital ligature OE',oelig:'Latin small ligature oe',372:'Latin capital letter W with circumflex',374:'Latin capital letter Y with circumflex',373:'Latin small letter w with circumflex',375:'Latin small letter y with circumflex',sbquo:'Single low-9 quotation mark',8219:'Single high-reversed-9 quotation mark',bdquo:'Double low-9 quotation mark',hellip:'Horizontal ellipsis',trade:'Trade mark sign',9658:'Black right-pointing pointer',bull:'Bullet',rarr:'ئوڭ يا ئوق',rArr:'ئوڭ قوش سىزىق يا ئوق',hArr:'ئوڭ سول قوش سىزىق يا ئوق',diams:'ئۇيۇل غىچ',asymp:'تەخمىنەن تەڭ'});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/zh-cn.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/zh-cn.js
deleted file mode 100644
index f262ac0..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/specialchar/lang/zh-cn.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('specialchar','zh-cn',{euro:'欧元符å·',lsquo:'å·¦å•å¼•å·',rsquo:'å³å•å¼•å·',ldquo:'å·¦åŒå¼•å·',rdquo:'å³åŒå¼•å·',ndash:'短划线',mdash:'破折å·',iexcl:'ç«–ç¿»å¹å·',cent:'分å¸æ ‡è®°',pound:'英镑标记',curren:'è´§å¸æ ‡è®°',yen:'日元标记',brvbar:'é—´æ–­æ¡',sect:'节标记',uml:'分音符',copy:'版æƒæ‰€æœ‰æ ‡è®°',ordf:'阴性顺åºæŒ‡ç¤ºç¬¦',laquo:'左指åŒå°–引å·',not:'éžæ ‡è®°',reg:'注册标记',macr:'长音符',deg:'度标记',sup2:'上标二',sup3:'上标三',acute:'é”音符',micro:'微符',para:'段è½æ ‡è®°',middot:'中间点',cedil:'下加符',sup1:'上标一',ordm:'阳性顺åºæŒ‡ç¤ºç¬¦',raquo:'å³æŒ‡åŒå°–引å·',frac14:'普通分数四分之一',frac12:'普通分数二分之一',frac34:'普通分数四分之三',iquest:'竖翻问å·',Agrave:'带抑音符的拉ä¸æ–‡å¤§å†™å­—æ¯ A',Aacute:'带é”音符的拉ä¸æ–‡å¤§å†™å­—æ¯ A',Acirc:'带扬抑符的拉ä¸æ–‡å¤§å†™å­—æ¯ A',Atilde:'带颚化符的拉ä¸æ–‡å¤§å†™å­—æ¯ A',Auml:'带分音符的拉ä¸æ–‡å¤§å†™å­—æ¯ A',Aring:'带上圆圈的拉ä¸æ–‡å¤§å†™å­—æ¯ A',AElig:'拉ä¸æ–‡å¤§å†™å­—æ¯ Ae',Ccedil:'带下加符的拉ä¸æ–‡å¤§å†™å­—æ¯ C',Egrave:'带抑音符的拉ä¸æ–‡å¤§å†™å­—æ¯ E',Eacute:'带é”音符的拉ä¸æ–‡å¤§å†™å­—æ¯ E',Ecirc:'带扬抑符的拉ä¸æ–‡å¤§å†™å­—æ¯ E',Euml:'带分音符的拉ä¸æ–‡å¤§å†™å­—æ¯ E',Igrave:'带抑音符的拉ä¸æ–‡å¤§å†™å­—æ¯ I',Iacute:'带é”音符的拉ä¸æ–‡å¤§å†™å­—æ¯ I',Icirc:'带扬抑符的拉ä¸æ–‡å¤§å†™å­—æ¯ I',Iuml:'带分音符的拉ä¸æ–‡å¤§å†™å­—æ¯ I',ETH:'拉ä¸æ–‡å¤§å†™å­—æ¯ Eth',Ntilde:'带颚化符的拉ä¸æ–‡å¤§å†™å­—æ¯ N',Ograve:'带抑音符的拉ä¸æ–‡å¤§å†™å­—æ¯ O',Oacute:'带é”音符的拉ä¸æ–‡å¤§å†™å­—æ¯ O',Ocirc:'带扬抑符的拉ä¸æ–‡å¤§å†™å­—æ¯ O',Otilde:'带颚化符的拉ä¸æ–‡å¤§å†™å­—æ¯ O',Ouml:'带分音符的拉ä¸æ–‡å¤§å†™å­—æ¯ O',times:'乘å·',Oslash:'带粗线的拉ä¸æ–‡å¤§å†™å­—æ¯ O',Ugrave:'带抑音符的拉ä¸æ–‡å¤§å†™å­—æ¯ U',Uacute:'带é”音符的拉ä¸æ–‡å¤§å†™å­—æ¯ U',Ucirc:'带扬抑符的拉ä¸æ–‡å¤§å†™å­—æ¯ U',Uuml:'带分音符的拉ä¸æ–‡å¤§å†™å­—æ¯ U',Yacute:'带抑音符的拉ä¸æ–‡å¤§å†™å­—æ¯ Y',THORN:'拉ä¸æ–‡å¤§å†™å­—æ¯ Thorn',szlig:'拉ä¸æ–‡å°å†™å­—æ¯æ¸…音 S',agrave:'带抑音符的拉ä¸æ–‡å°å†™å­—æ¯ A',aacute:'带é”音符的拉ä¸æ–‡å°å†™å­—æ¯ A',acirc:'带扬抑符的拉ä¸æ–‡å°å†™å­—æ¯ A',atilde:'带颚化符的拉ä¸æ–‡å°å†™å­—æ¯ A',auml:'带分音符的拉ä¸æ–‡å°å†™å­—æ¯ A',aring:'带上圆圈的拉ä¸æ–‡å°å†™å­—æ¯ A',aelig:'拉ä¸æ–‡å°å†™å­—æ¯ Ae',ccedil:'带下加符的拉ä¸æ–‡å°å†™å­—æ¯ C',egrave:'带抑音符的拉ä¸æ–‡å°å†™å­—æ¯ E',eacute:'带é”音符的拉ä¸æ–‡å°å†™å­—æ¯ E',ecirc:'带扬抑符的拉ä¸æ–‡å°å†™å­—æ¯ E',euml:'带分音符的拉ä¸æ–‡å°å†™å­—æ¯ E',igrave:'带抑音符的拉ä¸æ–‡å°å†™å­—æ¯ I',iacute:'带é”音符的拉ä¸æ–‡å°å†™å­—æ¯ I',icirc:'带扬抑符的拉ä¸æ–‡å°å†™å­—æ¯ I',iuml:'带分音符的拉ä¸æ–‡å°å†™å­—æ¯ I',eth:'拉ä¸æ–‡å°å†™å­—æ¯ Eth',ntilde:'带颚化符的拉ä¸æ–‡å°å†™å­—æ¯ N',ograve:'带抑音符的拉ä¸æ–‡å°å†™å­—æ¯ O',oacute:'带é”音符的拉ä¸æ–‡å°å†™å­—æ¯ O',ocirc:'带扬抑符的拉ä¸æ–‡å°å†™å­—æ¯ O',otilde:'带颚化符的拉ä¸æ–‡å°å†™å­—æ¯ O',ouml:'带分音符的拉ä¸æ–‡å°å†™å­—æ¯ O',divide:'除å·',oslash:'带粗线的拉ä¸æ–‡å°å†™å­—æ¯ O',ugrave:'带抑音符的拉ä¸æ–‡å°å†™å­—æ¯ U',uacute:'带é”音符的拉ä¸æ–‡å°å†™å­—æ¯ U',ucirc:'带扬抑符的拉ä¸æ–‡å°å†™å­—æ¯ U',uuml:'带分音符的拉ä¸æ–‡å°å†™å­—æ¯ U',yacute:'带抑音符的拉ä¸æ–‡å°å†™å­—æ¯ Y',thorn:'拉ä¸æ–‡å°å†™å­—æ¯ Thorn',yuml:'带分音符的拉ä¸æ–‡å°å†™å­—æ¯ Y',OElig:'拉ä¸æ–‡å¤§å†™è¿žå­— Oe',oelig:'拉ä¸æ–‡å°å†™è¿žå­— Oe',372:'带扬抑符的拉ä¸æ–‡å¤§å†™å­—æ¯ W',374:'带扬抑符的拉ä¸æ–‡å¤§å†™å­—æ¯ Y',373:'带扬抑符的拉ä¸æ–‡å°å†™å­—æ¯ W',375:'带扬抑符的拉ä¸æ–‡å°å†™å­—æ¯ Y',sbquo:'å•ä¸‹ 9 形引å·',8219:'å•é«˜æ¨ªç¿» 9 形引å·',bdquo:'åŒä¸‹ 9 形引å·',hellip:'æ°´å¹³çœç•¥å·',trade:'商标标志',9658:'实心å³æŒ‡æŒ‡é’ˆ',bull:'加é‡å·',rarr:'å‘å³ç®­å¤´',rArr:'å‘å³åŒçº¿ç®­å¤´',hArr:'å·¦å³åŒçº¿ç®­å¤´',diams:'实心方å—纸牌',asymp:'约等于'});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/styles/styles/default.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/styles/styles/default.js
deleted file mode 100644
index f645612..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/styles/styles/default.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.stylesSet.add('default',[{name:'Blue Title',element:'h3',styles:{color:'Blue'}},{name:'Red Title',element:'h3',styles:{color:'Red'}},{name:'Marker: Yellow',element:'span',styles:{'background-color':'Yellow'}},{name:'Marker: Green',element:'span',styles:{'background-color':'Lime'}},{name:'Big',element:'big'},{name:'Small',element:'small'},{name:'Typewriter',element:'tt'},{name:'Computer Code',element:'code'},{name:'Keyboard Phrase',element:'kbd'},{name:'Sample Text',element:'samp'},{name:'Variable',element:'var'},{name:'Deleted Text',element:'del'},{name:'Inserted Text',element:'ins'},{name:'Cited Work',element:'cite'},{name:'Inline Quotation',element:'q'},{name:'Language: RTL',element:'span',attributes:{dir:'rtl'}},{name:'Language: LTR',element:'span',attributes:{dir:'ltr'}},{name:'Image on Left',element:'img',attributes:{style:'padding: 5px; margin-right: 5px',border:'2',align:'left'}},{name:'Image on Right',element:'img',attributes:{style:'padding: 5px; margin-left: 5px',border:'2',align:'right'}},{name:'Borderless Table',element:'table',styles:{'border-style':'hidden','background-color':'#E6E6FA'}},{name:'Square Bulleted List',element:'ul',styles:{'list-style-type':'square'}}]);
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/stylesheetparser/plugin.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/stylesheetparser/plugin.js
deleted file mode 100644
index 05ecce6..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/stylesheetparser/plugin.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-(function(){function a(c,d,e){var f=c.join(' ');f=f.replace(/(,|>|\+|~)/g,' ');f=f.replace(/\[[^\]]*/g,'');f=f.replace(/#[^\s]*/g,'');f=f.replace(/\:{1,2}[^\s]*/g,'');f=f.replace(/\s+/g,' ');var g=f.split(' '),h=[];for(var i=0;i<g.length;i++){var j=g[i];if(e.test(j)&&!d.test(j))if(CKEDITOR.tools.indexOf(h,j)==-1)h.push(j);}return h;};function b(c,d,e){var f=[],g=[],h;for(h=0;h<c.styleSheets.length;h++){var i=c.styleSheets[h],j=i.ownerNode||i.owningElement;if(j.getAttribute('data-cke-temp'))continue;if(i.href&&i.href.substr(0,9)=='chrome://')continue;var k=i.cssRules||i.rules;for(var l=0;l<k.length;l++)g.push(k[l].selectorText);}var m=a(g,d,e);for(h=0;h<m.length;h++){var n=m[h].split('.'),o=n[0].toLowerCase(),p=n[1];f.push({name:o+'.'+p,element:o,attributes:{'class':p}});}return f;};CKEDITOR.plugins.add('stylesheetparser',{requires:['styles'],onLoad:function(){var c=CKEDITOR.editor.prototype;c.getStylesSet=CKEDITOR.tools.override(c.getStylesSet,function(d){return function(e){var f=this;d.call(this,function(g){var h=f.config.stylesheetParser_skipSelectors||/(^body\.|^\.)/i,i=f.config.stylesheetParser_validSelectors||/\w+\.\w+/;e(f._.stylesDefinitions=g.concat(b(f.document.$,h,i)));});};});}});})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/table/dialogs/table.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/table/dialogs/table.js
deleted file mode 100644
index db709ac..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/table/dialogs/table.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-(function(){var a=CKEDITOR.tools.cssLength,b=function(f){var g=this.id;if(!f.info)f.info={};f.info[g]=this.getValue();};function c(f){var g=0,h=0;for(var i=0,j,k=f.$.rows.length;i<k;i++){j=f.$.rows[i],g=0;for(var l=0,m,n=j.cells.length;l<n;l++){m=j.cells[l];g+=m.colSpan;}g>h&&(h=g);}return h;};function d(f){return function(){var g=this.getValue(),h=!!(CKEDITOR.dialog.validate.integer()(g)&&g>0);if(!h){alert(f);this.select();}return h;};};function e(f,g){var h=function(j){return new CKEDITOR.dom.element(j,f.document);},i=f.plugins.dialogadvtab;return{title:f.lang.table.title,minWidth:310,minHeight:CKEDITOR.env.ie?310:280,onLoad:function(){var j=this,k=j.getContentElement('advanced','advStyles');if(k)k.on('change',function(l){var m=this.getStyle('width',''),n=j.getContentElement('info','txtWidth');n&&n.setValue(m,true);var o=this.getStyle('height',''),p=j.getContentElement('info','txtHeight');p&&p.setValue(o,true);});},onShow:function(){var r=this;var j=f.getSelection(),k=j.getRanges(),l=null,m=r.getContentElement('info','txtRows'),n=r.getContentElement('info','txtCols'),o=r.getContentElement('info','txtWidth'),p=r.getContentElement('info','txtHeight');if(g=='tableProperties'){if(l=j.getSelectedElement())l=l.getAscendant('table',true);else if(k.length>0){if(CKEDITOR.env.webkit)k[0].shrink(CKEDITOR.NODE_ELEMENT);var q=k[0].getCommonAncestor(true);l=q.getAscendant('table',true);}r._.selectedElement=l;}if(l){r.setupContent(l);m&&m.disable();n&&n.disable();}else{m&&m.enable();n&&n.enable();}o&&o.onChange();p&&p.onChange();},onOk:function(){var j=f.getSelection(),k=this._.selectedElement&&j.createBookmarks(),l=this._.selectedElement||h('table'),m=this,n={};this.commitContent(n,l);if(n.info){var o=n.info;if(!this._.selectedElement){var p=l.append(h('tbody')),q=parseInt(o.txtRows,10)||0,r=parseInt(o.txtCols,10)||0;for(var s=0;s<q;s++){var t=p.append(h('tr'));for(var u=0;u<r;u++){var v=t.append(h('td'));if(!CKEDITOR.env.ie)v.append(h('br'));}}}var w=o.selHeaders;if(!l.$.tHead&&(w=='row'||w=='both')){var x=new CKEDITOR.dom.element(l.$.createTHead());p=l.getElementsByTag('tbody').getItem(0);var y=p.getElementsByTag('tr').getItem(0);for(s=0;s<y.getChildCount();s++){var z=y.getChild(s);if(z.type==CKEDITOR.NODE_ELEMENT&&!z.data('cke-bookmark')){z.renameNode('th');z.setAttribute('scope','col');}}x.append(y.remove());}if(l.$.tHead!==null&&!(w=='row'||w=='both')){x=new CKEDITOR.dom.element(l.$.tHead);p=l.getElementsByTag('tbody').getItem(0);var A=p.getFirst();while(x.getChildCount()>0){y=x.getFirst();
-for(s=0;s<y.getChildCount();s++){var B=y.getChild(s);if(B.type==CKEDITOR.NODE_ELEMENT){B.renameNode('td');B.removeAttribute('scope');}}y.insertBefore(A);}x.remove();}if(!this.hasColumnHeaders&&(w=='col'||w=='both'))for(t=0;t<l.$.rows.length;t++){B=new CKEDITOR.dom.element(l.$.rows[t].cells[0]);B.renameNode('th');B.setAttribute('scope','row');}if(this.hasColumnHeaders&&!(w=='col'||w=='both'))for(s=0;s<l.$.rows.length;s++){t=new CKEDITOR.dom.element(l.$.rows[s]);if(t.getParent().getName()=='tbody'){B=new CKEDITOR.dom.element(t.$.cells[0]);B.renameNode('td');B.removeAttribute('scope');}}o.txtHeight?l.setStyle('height',o.txtHeight):l.removeStyle('height');o.txtWidth?l.setStyle('width',o.txtWidth):l.removeStyle('width');if(!l.getAttribute('style'))l.removeAttribute('style');}if(!this._.selectedElement){f.insertElement(l);setTimeout(function(){var C=new CKEDITOR.dom.element(l.$.rows[0].cells[0]),D=new CKEDITOR.dom.range(f.document);D.moveToPosition(C,CKEDITOR.POSITION_AFTER_START);D.select(1);},0);}else try{j.selectBookmarks(k);}catch(C){}},contents:[{id:'info',label:f.lang.table.title,elements:[{type:'hbox',widths:[null,null],styles:['vertical-align:top'],children:[{type:'vbox',padding:0,children:[{type:'text',id:'txtRows','default':3,label:f.lang.table.rows,required:true,controlStyle:'width:5em',validate:d(f.lang.table.invalidRows),setup:function(j){this.setValue(j.$.rows.length);},commit:b},{type:'text',id:'txtCols','default':2,label:f.lang.table.columns,required:true,controlStyle:'width:5em',validate:d(f.lang.table.invalidCols),setup:function(j){this.setValue(c(j));},commit:b},{type:'html',html:'&nbsp;'},{type:'select',id:'selHeaders','default':'',label:f.lang.table.headers,items:[[f.lang.table.headersNone,''],[f.lang.table.headersRow,'row'],[f.lang.table.headersColumn,'col'],[f.lang.table.headersBoth,'both']],setup:function(j){var k=this.getDialog();k.hasColumnHeaders=true;for(var l=0;l<j.$.rows.length;l++){var m=j.$.rows[l].cells[0];if(m&&m.nodeName.toLowerCase()!='th'){k.hasColumnHeaders=false;break;}}if(j.$.tHead!==null)this.setValue(k.hasColumnHeaders?'both':'row');else this.setValue(k.hasColumnHeaders?'col':'');},commit:b},{type:'text',id:'txtBorder','default':1,label:f.lang.table.border,controlStyle:'width:3em',validate:CKEDITOR.dialog.validate.number(f.lang.table.invalidBorder),setup:function(j){this.setValue(j.getAttribute('border')||'');},commit:function(j,k){if(this.getValue())k.setAttribute('border',this.getValue());else k.removeAttribute('border');
-}},{id:'cmbAlign',type:'select','default':'',label:f.lang.common.align,items:[[f.lang.common.notSet,''],[f.lang.common.alignLeft,'left'],[f.lang.common.alignCenter,'center'],[f.lang.common.alignRight,'right']],setup:function(j){this.setValue(j.getAttribute('align')||'');},commit:function(j,k){if(this.getValue())k.setAttribute('align',this.getValue());else k.removeAttribute('align');}}]},{type:'vbox',padding:0,children:[{type:'hbox',widths:['5em'],children:[{type:'text',id:'txtWidth',controlStyle:'width:5em',label:f.lang.common.width,title:f.lang.common.cssLengthTooltip,'default':500,getValue:a,validate:CKEDITOR.dialog.validate.cssLength(f.lang.common.invalidCssLength.replace('%1',f.lang.common.width)),onChange:function(){var j=this.getDialog().getContentElement('advanced','advStyles');j&&j.updateStyle('width',this.getValue());},setup:function(j){var k=j.getStyle('width');k&&this.setValue(k);},commit:b}]},{type:'hbox',widths:['5em'],children:[{type:'text',id:'txtHeight',controlStyle:'width:5em',label:f.lang.common.height,title:f.lang.common.cssLengthTooltip,'default':'',getValue:a,validate:CKEDITOR.dialog.validate.cssLength(f.lang.common.invalidCssLength.replace('%1',f.lang.common.height)),onChange:function(){var j=this.getDialog().getContentElement('advanced','advStyles');j&&j.updateStyle('height',this.getValue());},setup:function(j){var k=j.getStyle('height');k&&this.setValue(k);},commit:b}]},{type:'html',html:'&nbsp;'},{type:'text',id:'txtCellSpace',controlStyle:'width:3em',label:f.lang.table.cellSpace,'default':1,validate:CKEDITOR.dialog.validate.number(f.lang.table.invalidCellSpacing),setup:function(j){this.setValue(j.getAttribute('cellSpacing')||'');},commit:function(j,k){if(this.getValue())k.setAttribute('cellSpacing',this.getValue());else k.removeAttribute('cellSpacing');}},{type:'text',id:'txtCellPad',controlStyle:'width:3em',label:f.lang.table.cellPad,'default':1,validate:CKEDITOR.dialog.validate.number(f.lang.table.invalidCellPadding),setup:function(j){this.setValue(j.getAttribute('cellPadding')||'');},commit:function(j,k){if(this.getValue())k.setAttribute('cellPadding',this.getValue());else k.removeAttribute('cellPadding');}}]}]},{type:'html',align:'right',html:''},{type:'vbox',padding:0,children:[{type:'text',id:'txtCaption',label:f.lang.table.caption,setup:function(j){var n=this;n.enable();var k=j.getElementsByTag('caption');if(k.count()>0){var l=k.getItem(0),m=l.getFirst(CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_ELEMENT));if(m&&!m.equals(l.getBogus())){n.disable();
-n.setValue(l.getText());return;}l=CKEDITOR.tools.trim(l.getText());n.setValue(l);}},commit:function(j,k){if(!this.isEnabled())return;var l=this.getValue(),m=k.getElementsByTag('caption');if(l){if(m.count()>0){m=m.getItem(0);m.setHtml('');}else{m=new CKEDITOR.dom.element('caption',f.document);if(k.getChildCount())m.insertBefore(k.getFirst());else m.appendTo(k);}m.append(new CKEDITOR.dom.text(l,f.document));}else if(m.count()>0)for(var n=m.count()-1;n>=0;n--)m.getItem(n).remove();}},{type:'text',id:'txtSummary',label:f.lang.table.summary,setup:function(j){this.setValue(j.getAttribute('summary')||'');},commit:function(j,k){if(this.getValue())k.setAttribute('summary',this.getValue());else k.removeAttribute('summary');}}]}]},i&&i.createAdvancedTab(f)]};};CKEDITOR.dialog.add('table',function(f){return e(f,'table');});CKEDITOR.dialog.add('tableProperties',function(f){return e(f,'tableProperties');});})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/tableresize/plugin.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/tableresize/plugin.js
deleted file mode 100644
index df32a9a..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/tableresize/plugin.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-(function(){var a=CKEDITOR.tools.cssLength,b=CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks||CKEDITOR.env.version<7);function c(k){return CKEDITOR.env.ie?k.$.clientWidth:parseInt(k.getComputedStyle('width'),10);};function d(k,l){var m=k.getComputedStyle('border-'+l+'-width'),n={thin:'0px',medium:'1px',thick:'2px'};if(m.indexOf('px')<0)if(m in n&&k.getComputedStyle('border-style')!='none')m=n[m];else m=0;return parseInt(m,10);};function e(k){var l=k.$.rows,m=0,n,o,p;for(var q=0,r=l.length;q<r;q++){p=l[q];n=p.cells.length;if(n>m){m=n;o=p;}}return o;};function f(k){var l=[],m=-1,n=k.getComputedStyle('direction')=='rtl',o=e(k),p=new CKEDITOR.dom.element(k.$.tBodies[0]),q=p.getDocumentPosition();for(var r=0,s=o.cells.length;r<s;r++){var t=new CKEDITOR.dom.element(o.cells[r]),u=o.cells[r+1]&&new CKEDITOR.dom.element(o.cells[r+1]);m+=t.$.colSpan||1;var v,w,x,y=t.getDocumentPosition().x;n?w=y+d(t,'left'):v=y+t.$.offsetWidth-d(t,'right');if(u){y=u.getDocumentPosition().x;n?v=y+u.$.offsetWidth-d(u,'right'):w=y+d(u,'left');}else{y=k.getDocumentPosition().x;n?v=y:w=y+k.$.offsetWidth;}x=Math.max(w-v,3);l.push({table:k,index:m,x:v,y:q.y,width:x,height:p.$.offsetHeight,rtl:n});}return l;};function g(k,l){for(var m=0,n=k.length;m<n;m++){var o=k[m];if(l>=o.x&&l<=o.x+o.width)return o;}return null;};function h(k){(k.data||k).preventDefault();};function i(k){var l,m,n,o,p,q,r,s,t,u;function v(){l=null;q=0;o=0;m.removeListener('mouseup',A);n.removeListener('mousedown',z);n.removeListener('mousemove',B);m.getBody().setStyle('cursor','auto');b?n.remove():n.hide();};function w(){var D=l.index,E=CKEDITOR.tools.buildTableMap(l.table),F=[],G=[],H=Number.MAX_VALUE,I=H,J=l.rtl;for(var K=0,L=E.length;K<L;K++){var M=E[K],N=M[D+(J?1:0)],O=M[D+(J?0:1)];N=N&&new CKEDITOR.dom.element(N);O=O&&new CKEDITOR.dom.element(O);if(!N||!O||!N.equals(O)){N&&(H=Math.min(H,c(N)));O&&(I=Math.min(I,c(O)));F.push(N);G.push(O);}}r=F;s=G;t=l.x-H;u=l.x+I;n.setOpacity(0.5);p=parseInt(n.getStyle('left'),10);q=0;o=1;n.on('mousemove',B);m.on('dragstart',h);};function x(){o=0;n.setOpacity(0);q&&y();var D=l.table;setTimeout(function(){D.removeCustomData('_cke_table_pillars');},0);m.removeListener('dragstart',h);};function y(){var D=l.rtl,E=D?s.length:r.length;for(var F=0;F<E;F++){var G=r[F],H=s[F],I=l.table;CKEDITOR.tools.setTimeout(function(J,K,L,M,N,O){J&&J.setStyle('width',a(Math.max(K+O,0)));L&&L.setStyle('width',a(Math.max(M-O,0)));if(N)I.setStyle('width',a(N+O*(D?-1:1)));},0,this,[G,G&&c(G),H,H&&c(H),(!G||!H)&&c(I)+d(I,'left')+d(I,'right'),q]);
-}};function z(D){h(D);w();m.on('mouseup',A,this);};function A(D){D.removeListener();x();};function B(D){C(D.data.getPageOffset().x);};m=k.document;n=CKEDITOR.dom.element.createFromHtml('<div data-cke-temp=1 contenteditable=false unselectable=on style="position:absolute;cursor:col-resize;filter:alpha(opacity=0);opacity:0;padding:0;background-color:#004;background-image:none;border:0px none;z-index:10"></div>',m);if(!b)m.getDocumentElement().append(n);this.attachTo=function(D){if(o)return;if(b){m.getBody().append(n);q=0;}l=D;n.setStyles({width:a(D.width),height:a(D.height),left:a(D.x),top:a(D.y)});b&&n.setOpacity(0.25);n.on('mousedown',z,this);m.getBody().setStyle('cursor','col-resize');n.show();};var C=this.move=function(D){if(!l)return 0;if(!o&&(D<l.x||D>l.x+l.width)){v();return 0;}var E=D-Math.round(n.$.offsetWidth/2);if(o){if(E==t||E==u)return 1;E=Math.max(E,t);E=Math.min(E,u);q=E-p;}n.setStyle('left',a(E));return 1;};};function j(k){var l=k.data.getTarget();if(k.name=='mouseout'){if(!l.is('table'))return;var m=new CKEDITOR.dom.element(k.data.$.relatedTarget||k.data.$.toElement);while(m&&m.$&&!m.equals(l)&&!m.is('body'))m=m.getParent();if(!m||m.equals(l))return;}l.getAscendant('table',1).removeCustomData('_cke_table_pillars');k.removeListener();};CKEDITOR.plugins.add('tableresize',{requires:['tabletools'],init:function(k){k.on('contentDom',function(){var l;k.document.getBody().on('mousemove',function(m){m=m.data;var n=m.getPageOffset().x;if(l&&l.move(n)){h(m);return;}var o=m.getTarget(),p,q;if(!o.is('table')&&!o.getAscendant('tbody',1))return;p=o.getAscendant('table',1);if(!(q=p.getCustomData('_cke_table_pillars'))){p.setCustomData('_cke_table_pillars',q=f(p));p.on('mouseout',j);p.on('mousedown',j);}var r=g(q,n);if(r){!l&&(l=new i(k));l.attachTo(r);}});});}});})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/tabletools/dialogs/tableCell.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/tabletools/dialogs/tableCell.js
deleted file mode 100644
index 71cf799..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/tabletools/dialogs/tableCell.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.dialog.add('cellProperties',function(a){var b=a.lang.table,c=b.cell,d=a.lang.common,e=CKEDITOR.dialog.validate,f=/^(\d+(?:\.\d+)?)(px|%)$/,g=/^(\d+(?:\.\d+)?)px$/,h=CKEDITOR.tools.bind,i={type:'html',html:'&nbsp;'},j=a.lang.dir=='rtl';function k(l,m){var n=function(){var r=this;p(r);m(r,r._.parentDialog);r._.parentDialog.changeFocus();},o=function(){p(this);this._.parentDialog.changeFocus();},p=function(r){r.removeListener('ok',n);r.removeListener('cancel',o);},q=function(r){r.on('ok',n);r.on('cancel',o);};a.execCommand(l);if(a._.storedDialogs.colordialog)q(a._.storedDialogs.colordialog);else CKEDITOR.on('dialogDefinition',function(r){if(r.data.name!=l)return;var s=r.data.definition;r.removeListener();s.onLoad=CKEDITOR.tools.override(s.onLoad,function(t){return function(){q(this);s.onLoad=t;if(typeof t=='function')t.call(this);};});});};return{title:c.title,minWidth:CKEDITOR.env.ie&&CKEDITOR.env.quirks?450:410,minHeight:CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?230:220,contents:[{id:'info',label:c.title,accessKey:'I',elements:[{type:'hbox',widths:['40%','5%','40%'],children:[{type:'vbox',padding:0,children:[{type:'hbox',widths:['70%','30%'],children:[{type:'text',id:'width',width:'100px',label:d.width,validate:e.number(c.invalidWidth),onLoad:function(){var l=this.getDialog().getContentElement('info','widthType'),m=l.getElement(),n=this.getInputElement(),o=n.getAttribute('aria-labelledby');n.setAttribute('aria-labelledby',[o,m.$.id].join(' '));},setup:function(l){var m=parseInt(l.getAttribute('width'),10),n=parseInt(l.getStyle('width'),10);!isNaN(m)&&this.setValue(m);!isNaN(n)&&this.setValue(n);},commit:function(l){var m=parseInt(this.getValue(),10),n=this.getDialog().getValueOf('info','widthType');if(!isNaN(m))l.setStyle('width',m+n);else l.removeStyle('width');l.removeAttribute('width');},'default':''},{type:'select',id:'widthType',label:a.lang.table.widthUnit,labelStyle:'visibility:hidden','default':'px',items:[[b.widthPx,'px'],[b.widthPc,'%']],setup:function(l){var m=f.exec(l.getStyle('width')||l.getAttribute('width'));if(m)this.setValue(m[2]);}}]},{type:'hbox',widths:['70%','30%'],children:[{type:'text',id:'height',label:d.height,width:'100px','default':'',validate:e.number(c.invalidHeight),onLoad:function(){var l=this.getDialog().getContentElement('info','htmlHeightType'),m=l.getElement(),n=this.getInputElement(),o=n.getAttribute('aria-labelledby');n.setAttribute('aria-labelledby',[o,m.$.id].join(' '));},setup:function(l){var m=parseInt(l.getAttribute('height'),10),n=parseInt(l.getStyle('height'),10);
-!isNaN(m)&&this.setValue(m);!isNaN(n)&&this.setValue(n);},commit:function(l){var m=parseInt(this.getValue(),10);if(!isNaN(m))l.setStyle('height',CKEDITOR.tools.cssLength(m));else l.removeStyle('height');l.removeAttribute('height');}},{id:'htmlHeightType',type:'html',html:'<br />'+b.widthPx}]},i,{type:'select',id:'wordWrap',label:c.wordWrap,'default':'yes',items:[[c.yes,'yes'],[c.no,'no']],setup:function(l){var m=l.getAttribute('noWrap'),n=l.getStyle('white-space');if(n=='nowrap'||m)this.setValue('no');},commit:function(l){if(this.getValue()=='no')l.setStyle('white-space','nowrap');else l.removeStyle('white-space');l.removeAttribute('noWrap');}},i,{type:'select',id:'hAlign',label:c.hAlign,'default':'',items:[[d.notSet,''],[d.alignLeft,'left'],[d.alignCenter,'center'],[d.alignRight,'right']],setup:function(l){var m=l.getAttribute('align'),n=l.getStyle('text-align');this.setValue(n||m||'');},commit:function(l){var m=this.getValue();if(m)l.setStyle('text-align',m);else l.removeStyle('text-align');l.removeAttribute('align');}},{type:'select',id:'vAlign',label:c.vAlign,'default':'',items:[[d.notSet,''],[d.alignTop,'top'],[d.alignMiddle,'middle'],[d.alignBottom,'bottom'],[c.alignBaseline,'baseline']],setup:function(l){var m=l.getAttribute('vAlign'),n=l.getStyle('vertical-align');switch(n){case 'top':case 'middle':case 'bottom':case 'baseline':break;default:n='';}this.setValue(n||m||'');},commit:function(l){var m=this.getValue();if(m)l.setStyle('vertical-align',m);else l.removeStyle('vertical-align');l.removeAttribute('vAlign');}}]},i,{type:'vbox',padding:0,children:[{type:'select',id:'cellType',label:c.cellType,'default':'td',items:[[c.data,'td'],[c.header,'th']],setup:function(l){this.setValue(l.getName());},commit:function(l){l.renameNode(this.getValue());}},i,{type:'text',id:'rowSpan',label:c.rowSpan,'default':'',validate:e.integer(c.invalidRowSpan),setup:function(l){var m=parseInt(l.getAttribute('rowSpan'),10);if(m&&m!=1)this.setValue(m);},commit:function(l){var m=parseInt(this.getValue(),10);if(m&&m!=1)l.setAttribute('rowSpan',this.getValue());else l.removeAttribute('rowSpan');}},{type:'text',id:'colSpan',label:c.colSpan,'default':'',validate:e.integer(c.invalidColSpan),setup:function(l){var m=parseInt(l.getAttribute('colSpan'),10);if(m&&m!=1)this.setValue(m);},commit:function(l){var m=parseInt(this.getValue(),10);if(m&&m!=1)l.setAttribute('colSpan',this.getValue());else l.removeAttribute('colSpan');}},i,{type:'hbox',padding:0,widths:['60%','40%'],children:[{type:'text',id:'bgColor',label:c.bgColor,'default':'',setup:function(l){var m=l.getAttribute('bgColor'),n=l.getStyle('background-color');
-this.setValue(n||m);},commit:function(l){var m=this.getValue();if(m)l.setStyle('background-color',this.getValue());else l.removeStyle('background-color');l.removeAttribute('bgColor');}},{type:'button',id:'bgColorChoose','class':'colorChooser',label:c.chooseColor,onLoad:function(){this.getElement().getParent().setStyle('vertical-align','bottom');},onClick:function(){var l=this;k('colordialog',function(m){l.getDialog().getContentElement('info','bgColor').setValue(m.getContentElement('picker','selectedColor').getValue());});}}]},i,{type:'hbox',padding:0,widths:['60%','40%'],children:[{type:'text',id:'borderColor',label:c.borderColor,'default':'',setup:function(l){var m=l.getAttribute('borderColor'),n=l.getStyle('border-color');this.setValue(n||m);},commit:function(l){var m=this.getValue();if(m)l.setStyle('border-color',this.getValue());else l.removeStyle('border-color');l.removeAttribute('borderColor');}},{type:'button',id:'borderColorChoose','class':'colorChooser',label:c.chooseColor,style:(j?'margin-right':'margin-left')+': 10px',onLoad:function(){this.getElement().getParent().setStyle('vertical-align','bottom');},onClick:function(){var l=this;k('colordialog',function(m){l.getDialog().getContentElement('info','borderColor').setValue(m.getContentElement('picker','selectedColor').getValue());});}}]}]}]}]}],onShow:function(){var l=this;l.cells=CKEDITOR.plugins.tabletools.getSelectedCells(l._.editor.getSelection());l.setupContent(l.cells[0]);},onOk:function(){var p=this;var l=p._.editor.getSelection(),m=l.createBookmarks(),n=p.cells;for(var o=0;o<n.length;o++)p.commitContent(n[o]);p._.editor.forceNextSelectionCheck();l.selectBookmarks(m);p._.editor.selectionChange();}};});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/templates/dialogs/templates.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/templates/dialogs/templates.js
deleted file mode 100644
index 4a9c31c..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/templates/dialogs/templates.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-(function(){var a=CKEDITOR.document;CKEDITOR.dialog.add('templates',function(b){function c(k,l){k.setHtml('');for(var m=0,n=l.length;m<n;m++){var o=CKEDITOR.getTemplates(l[m]),p=o.imagesPath,q=o.templates,r=q.length;for(var s=0;s<r;s++){var t=q[s],u=d(t,p);u.setAttribute('aria-posinset',s+1);u.setAttribute('aria-setsize',r);k.append(u);}}};function d(k,l){var m=CKEDITOR.dom.element.createFromHtml('<a href="javascript:void(0)" tabIndex="-1" role="option" ><div class="cke_tpl_item"></div></a>'),n='<table style="width:350px;" class="cke_tpl_preview" role="presentation"><tr>';if(k.image&&l)n+='<td class="cke_tpl_preview_img"><img src="'+CKEDITOR.getUrl(l+k.image)+'"'+(CKEDITOR.env.ie6Compat?' onload="this.width=this.width"':'')+' alt="" title=""></td>';n+='<td style="white-space:normal;"><span class="cke_tpl_title">'+k.title+'</span><br/>';if(k.description)n+='<span>'+k.description+'</span>';n+='</td></tr></table>';m.getFirst().setHtml(n);m.on('click',function(){e(k.html);});return m;};function e(k){var l=CKEDITOR.dialog.getCurrent(),m=l.getValueOf('selectTpl','chkInsertOpt');if(m){b.on('contentDom',function(n){n.removeListener();l.hide();var o=new CKEDITOR.dom.range(b.document);o.moveToElementEditStart(b.document.getBody());o.select(1);setTimeout(function(){b.fire('saveSnapshot');},0);});b.fire('saveSnapshot');b.setData(k);}else{b.insertHtml(k);l.hide();}};function f(k){var l=k.data.getTarget(),m=g.equals(l);if(m||g.contains(l)){var n=k.data.getKeystroke(),o=g.getElementsByTag('a'),p;if(o){if(m)p=o.getItem(0);else switch(n){case 40:p=l.getNext();break;case 38:p=l.getPrevious();break;case 13:case 32:l.fire('click');}if(p){p.focus();k.data.preventDefault();}}}};CKEDITOR.skins.load(b,'templates');var g,h='cke_tpl_list_label_'+CKEDITOR.tools.getNextNumber(),i=b.lang.templates,j=b.config;return{title:b.lang.templates.title,minWidth:CKEDITOR.env.ie?440:400,minHeight:340,contents:[{id:'selectTpl',label:i.title,elements:[{type:'vbox',padding:5,children:[{id:'selectTplText',type:'html',html:'<span>'+i.selectPromptMsg+'</span>'},{id:'templatesList',type:'html',focus:true,html:'<div class="cke_tpl_list" tabIndex="-1" role="listbox" aria-labelledby="'+h+'">'+'<div class="cke_tpl_loading"><span></span></div>'+'</div>'+'<span class="cke_voice_label" id="'+h+'">'+i.options+'</span>'},{id:'chkInsertOpt',type:'checkbox',label:i.insertOption,'default':j.templates_replaceContent}]}]}],buttons:[CKEDITOR.dialog.cancelButton],onShow:function(){var k=this.getContentElement('selectTpl','templatesList');
-g=k.getElement();CKEDITOR.loadTemplates(j.templates_files,function(){var l=(j.templates||'default').split(',');if(l.length){c(g,l);k.focus();}else g.setHtml('<div class="cke_tpl_empty"><span>'+i.emptyListMsg+'</span>'+'</div>');});this._.element.on('keydown',f);},onHide:function(){this._.element.removeListener('keydown',f);}};});})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/templates/templates/default.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/templates/templates/default.js
deleted file mode 100644
index dcb1613..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/templates/templates/default.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.addTemplates('default',{imagesPath:CKEDITOR.getUrl(CKEDITOR.plugins.getPath('templates')+'templates/images/'),templates:[{title:'Image and Title',image:'template1.gif',description:'One main image with a title and text that surround the image.',html:'<h3><img style="margin-right: 10px" height="100" width="100" align="left"/>Type the title here</h3><p>Type the text here</p>'},{title:'Strange Template',image:'template2.gif',description:'A template that defines two colums, each one with a title, and some text.',html:'<table cellspacing="0" cellpadding="0" style="width:100%" border="0"><tr><td style="width:50%"><h3>Title 1</h3></td><td></td><td style="width:50%"><h3>Title 2</h3></td></tr><tr><td>Text 1</td><td></td><td>Text 2</td></tr></table><p>More text goes here.</p>'},{title:'Text and Table',image:'template3.gif',description:'A title with some text and a table.',html:'<div style="width: 80%"><h3>Title goes here</h3><table style="width:150px;float: right" cellspacing="0" cellpadding="0" border="1"><caption style="border:solid 1px black"><strong>Table title</strong></caption></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr></table><p>Type the text here</p></div>'}]});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/dialogs/uicolor.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/dialogs/uicolor.js
deleted file mode 100644
index 70bba55..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/dialogs/uicolor.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.dialog.add('uicolor',function(a){var b,c,d,e=a.getUiColor(),f='cke_uicolor_picker'+CKEDITOR.tools.getNextNumber();function g(j){if(/^#/.test(j))j=window.YAHOO.util.Color.hex2rgb(j.substr(1));c.setValue(j,true);c.refresh(f);};function h(j,k){if(k||b._.contents.tab1.livePeview.getValue())a.setUiColor(j);b._.contents.tab1.configBox.setValue('config.uiColor = "#'+c.get('hex')+'"');};d={id:'yuiColorPicker',type:'html',html:"<div id='"+f+"' class='cke_uicolor_picker' style='width: 360px; height: 200px; position: relative;'></div>",onLoad:function(j){var k=CKEDITOR.getUrl('plugins/uicolor/yui/');c=new window.YAHOO.widget.ColorPicker(f,{showhsvcontrols:true,showhexcontrols:true,images:{PICKER_THUMB:k+'assets/picker_thumb.png',HUE_THUMB:k+'assets/hue_thumb.png'}});if(e)g(e);c.on('rgbChange',function(){b._.contents.tab1.predefined.setValue('');h('#'+c.get('hex'));});var l=new CKEDITOR.dom.nodeList(c.getElementsByTagName('input'));for(var m=0;m<l.count();m++)l.getItem(m).addClass('cke_dialog_ui_input_text');}};var i=true;return{title:a.lang.uicolor.title,minWidth:360,minHeight:320,onLoad:function(){b=this;this.setupContent();if(CKEDITOR.env.ie7Compat)b.parts.contents.setStyle('overflow','hidden');},contents:[{id:'tab1',label:'',title:'',expand:true,padding:0,elements:[d,{id:'tab1',type:'vbox',children:[{id:'livePeview',type:'checkbox',label:a.lang.uicolor.preview,'default':1,onLoad:function(){i=true;},onChange:function(){if(i)return;var j=this.getValue(),k=j?'#'+c.get('hex'):e;h(k,true);}},{type:'hbox',children:[{id:'predefined',type:'select','default':'',label:a.lang.uicolor.predefined,items:[[''],['Light blue','#9AB8F3'],['Sand','#D2B48C'],['Metallic','#949AAA'],['Purple','#C2A3C7'],['Olive','#A2C980'],['Happy green','#9BD446'],['Jezebel Blue','#14B8C4'],['Burn','#FF893A'],['Easy red','#FF6969'],['Pisces 3','#48B4F2'],['Aquarius 5','#487ED4'],['Absinthe','#A8CF76'],['Scrambled Egg','#C7A622'],['Hello monday','#8E8D80'],['Lovely sunshine','#F1E8B1'],['Recycled air','#B3C593'],['Down','#BCBCA4'],['Mark Twain','#CFE91D'],['Specks of dust','#D1B596'],['Lollipop','#F6CE23']],onChange:function(){var j=this.getValue();if(j){g(j);h(j);CKEDITOR.document.getById('predefinedPreview').setStyle('background',j);}else CKEDITOR.document.getById('predefinedPreview').setStyle('background','');},onShow:function(){var j=a.getUiColor();if(j)this.setValue(j);}},{id:'predefinedPreview',type:'html',html:'<div id="cke_uicolor_preview" style="border: 1px solid black; padding: 3px; width: 30px;"><div id="predefinedPreview" style="width: 30px; height: 30px;">&nbsp;</div></div>'}]},{id:'configBox',type:'text',label:a.lang.uicolor.config,onShow:function(){var j=a.getUiColor();
-if(j)this.setValue('config.uiColor = "'+j+'"');}}]}]}],buttons:[CKEDITOR.dialog.okButton]};});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/_translationstatus.txt b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/_translationstatus.txt
deleted file mode 100644
index 74b6235..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/_translationstatus.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-
-bg.js Found: 4 Missing: 0
-cs.js Found: 4 Missing: 0
-cy.js Found: 4 Missing: 0
-da.js Found: 4 Missing: 0
-de.js Found: 4 Missing: 0
-el.js Found: 4 Missing: 0
-eo.js Found: 4 Missing: 0
-et.js Found: 4 Missing: 0
-fa.js Found: 4 Missing: 0
-fi.js Found: 4 Missing: 0
-fr.js Found: 4 Missing: 0
-he.js Found: 4 Missing: 0
-hr.js Found: 4 Missing: 0
-it.js Found: 4 Missing: 0
-ku.js Found: 4 Missing: 0
-lv.js Found: 4 Missing: 0
-mk.js Found: 4 Missing: 0
-nb.js Found: 4 Missing: 0
-nl.js Found: 4 Missing: 0
-no.js Found: 4 Missing: 0
-pl.js Found: 4 Missing: 0
-pt-br.js Found: 4 Missing: 0
-sk.js Found: 4 Missing: 0
-tr.js Found: 4 Missing: 0
-ug.js Found: 4 Missing: 0
-uk.js Found: 4 Missing: 0
-vi.js Found: 4 Missing: 0
-zh-cn.js Found: 4 Missing: 0
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/bg.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/bg.js
deleted file mode 100644
index 2a41a3e..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/bg.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','bg',{uicolor:{title:'ПИ избор на цвÑÑ‚',preview:'Преглед',config:'Вмъкнете този низ във Ð’Ð°ÑˆÐ¸Ñ config.js fajl',predefined:'Предефинирани цветови палитри'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/cs.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/cs.js
deleted file mode 100644
index 6a4ce2a..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/cs.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','cs',{uicolor:{title:'Výběr barvy rozhraní',preview:'Živý náhled',config:'Vložte tento řetězec do Vašeho souboru config.js',predefined:'Přednastavené sady barev'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/cy.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/cy.js
deleted file mode 100644
index 6221d82..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/cy.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','cy',{uicolor:{title:"Dewisydd Lliwiau'r UI",preview:'Rhagolwg Byw',config:"Gludwch y llinyn hwn i'ch ffeil config.js",predefined:"Setiau lliw wedi'u cyn-ddiffinio"}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/da.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/da.js
deleted file mode 100644
index fe314db..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/da.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','da',{uicolor:{title:'Brugerflade på farvevælger',preview:'Vis liveeksempel',config:'Indsæt denne streng i din config.js fil',predefined:'Prædefinerede farveskemaer'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/de.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/de.js
deleted file mode 100644
index a995814..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/de.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','de',{uicolor:{title:'UI Pipette',preview:'Live-Vorschau',config:"Fügen Sie diese Zeichenfolge in die 'config.js' Datei.",predefined:'Vordefinierte Farbsätze'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/el.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/el.js
deleted file mode 100644
index 44135fa..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/el.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','el',{uicolor:{title:'Διεπαφή Επιλογέα ΧÏωμάτων',preview:'Ζωντανή ΠÏοεπισκόπηση',config:'Επικολλήστε αυτό το κείμενο στο αÏχείο config.js',predefined:'ΠÏοκαθοÏισμένα σÏνολα χÏωμάτων'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/en.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/en.js
deleted file mode 100644
index e4cbacb..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/en.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','en',{uicolor:{title:'UI Color Picker',preview:'Live preview',config:'Paste this string into your config.js file',predefined:'Predefined color sets'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/eo.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/eo.js
deleted file mode 100644
index fd58db3..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/eo.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','eo',{uicolor:{title:'UI Kolorselektilo',preview:'Vidigi la aspekton',config:'Gluu tiun signoĉenon en vian dosieron config.js',predefined:'Antaŭdifinita koloraro'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/et.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/et.js
deleted file mode 100644
index 63c19c5..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/et.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','et',{uicolor:{title:'Värvivalija kasutajaliides',preview:'Automaatne eelvaade',config:'Aseta see sõne oma config.js faili.',predefined:'Eelmääratud värvikomplektid'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/fa.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/fa.js
deleted file mode 100644
index 5a3686f..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/fa.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang( 'uicolor', 'fa',
-{
- uicolor :
- {
- title : 'انتخاب رنگ UI',
- preview : 'پیش‌نمایش زنده',
- config : 'این رشته را در Ùایل config.js خود بچسبانید.',
- predefined : 'مجموعه رنگ از پیش تعری٠شده'
- }
-});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/fi.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/fi.js
deleted file mode 100644
index 0304f95..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/fi.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','fi',{uicolor:{title:'Käyttöliittymän värivalitsin',preview:'Esikatsele',config:'Liitä tämä merkkijono config.js tiedostoosi',predefined:'Esimääritellyt värijoukot'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/fr.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/fr.js
deleted file mode 100644
index 9ef8b19..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/fr.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','fr',{uicolor:{title:'UI Sélecteur de couleur',preview:'Aperçu',config:'Collez cette chaîne de caractères dans votre fichier config.js',predefined:'Palettes de couleurs prédéfinies'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/he.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/he.js
deleted file mode 100644
index d838f8f..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/he.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','he',{uicolor:{title:'בחירת צבע ממשק משתמש',preview:'תצוגה מקדימה',config:'הדבק ×ת הטקסט ×”×‘× ×œ×ª×•×š הקובץ config.js',predefined:'קבוצות ×¦×‘×¢×™× ×ž×•×’×“×¨×•×ª מר×ש'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/hr.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/hr.js
deleted file mode 100644
index 7beeede..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/hr.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','hr',{uicolor:{title:'UI odabir boja',preview:'Pregled uživo',config:'Zalijepite ovaj tekst u Vašu config.js datoteku.',predefined:'Već postavljeni setovi boja'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/it.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/it.js
deleted file mode 100644
index 387c7d8..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/it.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','it',{uicolor:{title:'Selettore Colore UI',preview:'Anteprima Live',config:'Incolla questa stringa nel tuo file config.js',predefined:'Set di colori predefiniti'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/ku.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/ku.js
deleted file mode 100644
index c22c336..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/ku.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang( 'uicolor', 'ku',
-{
- uicolor :
- {
- title : 'هه‌ڵگری ڕه‌نگ بۆ ڕووکاری به‌کارهێنه‌ر',
- preview : 'پێشبینین به‌ زیندوویی',
- config : 'ئه‌م ده‌قانه‌ بلکێنه‌ به‌ په‌ڕگه‌ی config.js-fil',
- predefined : 'کۆمه‌ڵه‌ ڕه‌نگه‌ دیاریکراوه‌کانی پێشوو'
- }
-});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/lv.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/lv.js
deleted file mode 100644
index bdb553e..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/lv.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','lv',{uicolor:{title:'UI krÄsas izvÄ“le',preview:'PriekÅ¡skatÄ«jums',config:'IelÄ«mÄ“jiet Å¡o rindu jÅ«su config.js failÄ',predefined:'PredefinÄ“ti krÄsu komplekti'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/mk.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/mk.js
deleted file mode 100644
index bbd11ae..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/mk.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','mk',{uicolor:{title:'Палета Ñо бои',preview:'Преглед',config:'Залепи го овој текÑÑ‚ во config.js датотеката',predefined:'Предефинирани множеÑтва на бои'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/nb.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/nb.js
deleted file mode 100644
index 5749c8a..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/nb.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','nb',{uicolor:{title:'Fargevelger for brukergrensesnitt',preview:'Forhåndsvisning i sanntid',config:'Lim inn følgende tekst i din config.js-fil',predefined:'Forhåndsdefinerte fargesett'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/nl.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/nl.js
deleted file mode 100644
index e57b14b..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/nl.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','nl',{uicolor:{title:'UI Kleurenkiezer',preview:'Live voorbeeld',config:'Plak deze tekst in jouw config.js bestand',predefined:'Voorgedefinieerde kleurensets'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/no.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/no.js
deleted file mode 100644
index 76f20fe..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/no.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','no',{uicolor:{title:'Fargevelger for brukergrensesnitt',preview:'Forhåndsvisning i sanntid',config:'Lim inn følgende tekst i din config.js-fil',predefined:'Forhåndsdefinerte fargesett'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/pl.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/pl.js
deleted file mode 100644
index 71d7acf..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/pl.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','pl',{uicolor:{title:'Wybór koloru interfejsu',preview:'Podgląd na żywo',config:'Wklej poniższy łańcuch znaków do pliku config.js:',predefined:'Predefiniowane zestawy kolorów'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/pt-br.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/pt-br.js
deleted file mode 100644
index c902790..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/pt-br.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','pt-br',{uicolor:{title:'Paleta de Cores',preview:'Visualização ao vivo',config:'Cole o texto no seu arquivo config.js',predefined:'Conjuntos de cores predefinidos'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/sk.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/sk.js
deleted file mode 100644
index 616b004..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/sk.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','sk',{uicolor:{title:'UI výber farby',preview:'Živý náhľad',config:'Vložte tento reťazec do vášho config.js súboru',predefined:'Preddefinované sady farieb'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/tr.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/tr.js
deleted file mode 100644
index 4147ca1..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/tr.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','tr',{uicolor:{title:'UI Renk Seçicisi',preview:'Canlı önizleme',config:'Bu dizeyi config.js dosyasının içine yapıştırın',predefined:'Önceden tanımlanmış renk kümeleri'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/ug.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/ug.js
deleted file mode 100644
index 4e10c09..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/ug.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','ug',{uicolor:{title:'ئىشلەتكۈچى ئارايۈزى رەڭ تاللىغۇچ',preview:'شۇئان ئالدىن كۆزىتىش',config:'بۇ ھەرپ تىزىقىنى config.js ھۆججەتكە چاپلايدۇ',predefined:'ئالدىن بەلگىلەنگەن رەڭلەر'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/uk.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/uk.js
deleted file mode 100644
index 4820328..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/uk.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','uk',{uicolor:{title:'Color Picker ІнтерфейÑ',preview:'ПереглÑд наживо',config:'Ð’Ñтавте цей Ñ€Ñдок у файл config.js',predefined:'Стандартний набір кольорів'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/vi.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/vi.js
deleted file mode 100644
index 42c9cf0..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/vi.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','vi',{uicolor:{title:'Giao diện ngÆ°á»i dùng Color Picker',preview:'Xem trÆ°á»›c trá»±c tiếp',config:'Dán chuá»—i này vào tập tin config.js của bạn',predefined:'Tập màu định nghÄ©a sẵn'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/zh-cn.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/zh-cn.js
deleted file mode 100644
index f864d53..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/lang/zh-cn.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.setLang('uicolor','zh-cn',{uicolor:{title:'用户界é¢é¢œè‰²é€‰æ‹©å™¨',preview:'å³æ—¶é¢„览',config:'粘贴此字符串到您的 config.js 文件',predefined:'预定义颜色集'}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/plugin.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/plugin.js
deleted file mode 100644
index 19803e9..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/plugin.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.plugins.add('uicolor',{requires:['dialog'],lang:['bg','cs','cy','da','de','el','en','eo','et','fa','fi','fr','he','hr','it','ku','mk','nb','nl','no','pl','pt-br','sk','tr','ug','uk','vi','zh-cn'],init:function(a){if(CKEDITOR.env.ie6Compat)return;a.addCommand('uicolor',new CKEDITOR.dialogCommand('uicolor'));a.ui.addButton('UIColor',{label:a.lang.uicolor.title,command:'uicolor',icon:this.path+'uicolor.gif'});CKEDITOR.dialog.add('uicolor',this.path+'dialogs/uicolor.js');CKEDITOR.scriptLoader.load(CKEDITOR.getUrl('plugins/uicolor/yui/yui.js'));a.element.getDocument().appendStyleSheet(CKEDITOR.getUrl('plugins/uicolor/yui/assets/yui.css'));}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/yui/assets/yui.css b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/yui/assets/yui.css
deleted file mode 100644
index 2196703..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/yui/assets/yui.css
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-.yui-h-slider,.yui-v-slider{position:relative;}.yui-h-slider .yui-slider-thumb,.yui-v-slider .yui-slider-thumb{position:absolute;cursor:default;}.yui-skin-sam .yui-h-slider{background:url(bg-h.gif) no-repeat 5px 0;height:28px;width:228px;}.yui-skin-sam .yui-h-slider .yui-slider-thumb{top:4px;}.yui-skin-sam .yui-v-slider{background:url(bg-v.gif) no-repeat 12px 0;height:228px;width:48px;}.cke_uicolor_picker .yui-picker-panel{background:#e3e3e3;border-color:#888;}.cke_uicolor_picker .yui-picker-panel .hd{background-color:#ccc;font-size:100%;line-height:100%;border:1px solid #e3e3e3;font-weight:bold;overflow:hidden;padding:6px;color:#000;}.cke_uicolor_picker .yui-picker-panel .bd{background:#e8e8e8;margin:1px;height:200px;}.cke_uicolor_picker .yui-picker-panel .ft{background:#e8e8e8;margin:1px;padding:1px;}.cke_uicolor_picker .yui-picker{position:relative;}.cke_uicolor_picker .yui-picker-hue-thumb{cursor:default;width:18px;height:18px;top:-8px;left:-2px;z-index:9;position:absolute;}.cke_uicolor_picker .yui-picker-hue-bg{-moz-outline:none;outline:0 none;position:absolute;left:200px;height:183px;width:14px;background:url(hue_bg.png) no-repeat;top:4px;}.cke_uicolor_picker .yui-picker-bg{-moz-outline:none;outline:0 none;position:absolute;top:4px;left:4px;height:182px;width:182px;background-color:#F00;background-image:url(picker_mask.png);}*html .cke_uicolor_picker .yui-picker-bg{background-image:none;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='picker_mask.png',sizingMethod='scale');}.cke_uicolor_picker .yui-picker-mask{position:absolute;z-index:1;top:0;left:0;}.cke_uicolor_picker .yui-picker-thumb{cursor:default;width:11px;height:11px;z-index:9;position:absolute;top:-4px;left:-4px;}.cke_uicolor_picker .yui-picker-swatch{position:absolute;left:240px;top:4px;height:60px;width:55px;border:1px solid #888;}.cke_uicolor_picker .yui-picker-websafe-swatch{position:absolute;left:304px;top:4px;height:24px;width:24px;border:1px solid #888;}.cke_uicolor_picker .yui-picker-controls{position:absolute;top:72px;left:226px;font:1em monospace;}.cke_uicolor_picker .yui-picker-controls .hd{background:transparent;border-width:0!important;}.cke_uicolor_picker .yui-picker-controls .bd{height:100px;border-width:0!important;}.cke_uicolor_picker .yui-picker-controls ul{float:left;padding:0 2px 0 0;margin:0;}.cke_uicolor_picker .yui-picker-controls li{padding:2px;list-style:none;margin:0;}.cke_uicolor_picker .yui-picker-controls input{font-size:.85em;width:2.4em;}.cke_uicolor_picker .yui-picker-hex-controls{clear:both;padding:2px;}.cke_uicolor_picker .yui-picker-hex-controls input{width:4.6em;}.cke_uicolor_picker .yui-picker-controls a{font:1em arial,helvetica,clean,sans-serif;display:block;*display:inline-block;padding:0;color:#000;}
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/yui/yui.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/yui/yui.js
deleted file mode 100644
index f99a480..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/uicolor/yui/yui.js
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-/*jsl:ignoreall*/
-/*
-Copyright (c) 2009, Yahoo! Inc. All rights reserved.
-Code licensed under the BSD License:
-http://developer.yahoo.net/yui/license.txt
-version: 2.7.0
-*/
-if(typeof YAHOO=="undefined"||!YAHOO){var YAHOO={};}YAHOO.namespace=function(){var A=arguments,E=null,C,B,D;for(C=0;C<A.length;C=C+1){D=(""+A[C]).split(".");E=YAHOO;for(B=(D[0]=="YAHOO")?1:0;B<D.length;B=B+1){E[D[B]]=E[D[B]]||{};E=E[D[B]];}}return E;};YAHOO.log=function(D,A,C){var B=YAHOO.widget.Logger;if(B&&B.log){return B.log(D,A,C);}else{return false;}};YAHOO.register=function(A,E,D){var I=YAHOO.env.modules,B,H,G,F,C;if(!I[A]){I[A]={versions:[],builds:[]};}B=I[A];H=D.version;G=D.build;F=YAHOO.env.listeners;B.name=A;B.version=H;B.build=G;B.versions.push(H);B.builds.push(G);B.mainClass=E;for(C=0;C<F.length;C=C+1){F[C](B);}if(E){E.VERSION=H;E.BUILD=G;}else{YAHOO.log("mainClass is undefined for module "+A,"warn");}};YAHOO.env=YAHOO.env||{modules:[],listeners:[]};YAHOO.env.getVersion=function(A){return YAHOO.env.modules[A]||null;};YAHOO.env.ua=function(){var C={ie:0,opera:0,gecko:0,webkit:0,mobile:null,air:0,caja:0},B=navigator.userAgent,A;if((/KHTML/).test(B)){C.webkit=1;}A=B.match(/AppleWebKit\/([^\s]*)/);if(A&&A[1]){C.webkit=parseFloat(A[1]);if(/ Mobile\//.test(B)){C.mobile="Apple";}else{A=B.match(/NokiaN[^\/]*/);if(A){C.mobile=A[0];}}A=B.match(/AdobeAIR\/([^\s]*)/);if(A){C.air=A[0];}}if(!C.webkit){A=B.match(/Opera[\s\/]([^\s]*)/);if(A&&A[1]){C.opera=parseFloat(A[1]);A=B.match(/Opera Mini[^;]*/);if(A){C.mobile=A[0];}}else{A=B.match(/MSIE\s([^;]*)/);if(A&&A[1]){C.ie=parseFloat(A[1]);}else{A=B.match(/Gecko\/([^\s]*)/);if(A){C.gecko=1;A=B.match(/rv:([^\s\)]*)/);if(A&&A[1]){C.gecko=parseFloat(A[1]);}}}}}A=B.match(/Caja\/([^\s]*)/);if(A&&A[1]){C.caja=parseFloat(A[1]);}return C;}();(function(){YAHOO.namespace("util","widget","example");if("undefined"!==typeof YAHOO_config){var B=YAHOO_config.listener,A=YAHOO.env.listeners,D=true,C;if(B){for(C=0;C<A.length;C=C+1){if(A[C]==B){D=false;break;}}if(D){A.push(B);}}}})();YAHOO.lang=YAHOO.lang||{};(function(){var B=YAHOO.lang,F="[object Array]",C="[object Function]",A=Object.prototype,E=["toString","valueOf"],D={isArray:function(G){return A.toString.apply(G)===F;},isBoolean:function(G){return typeof G==="boolean";},isFunction:function(G){return A.toString.apply(G)===C;},isNull:function(G){return G===null;},isNumber:function(G){return typeof G==="number"&&isFinite(G);},isObject:function(G){return(G&&(typeof G==="object"||B.isFunction(G)))||false;},isString:function(G){return typeof G==="string";},isUndefined:function(G){return typeof G==="undefined";},_IEEnumFix:(YAHOO.env.ua.ie)?function(I,H){var G,K,J;for(G=0;G<E.length;G=G+1){K=E[G];J=H[K];if(B.isFunction(J)&&J!=A[K]){I[K]=J;}}}:function(){},extend:function(J,K,I){if(!K||!J){throw new Error("extend failed, please check that "+"all dependencies are included.");}var H=function(){},G;H.prototype=K.prototype;J.prototype=new H();J.prototype.constructor=J;J.superclass=K.prototype;if(K.prototype.constructor==A.constructor){K.prototype.constructor=K;}if(I){for(G in I){if(B.hasOwnProperty(I,G)){J.prototype[G]=I[G];}}B._IEEnumFix(J.prototype,I);}},augmentObject:function(K,J){if(!J||!K){throw new Error("Absorb failed, verify dependencies.");}var G=arguments,I,L,H=G[2];if(H&&H!==true){for(I=2;I<G.length;I=I+1){K[G[I]]=J[G[I]];}}else{for(L in J){if(H||!(L in K)){K[L]=J[L];}}B._IEEnumFix(K,J);}},augmentProto:function(J,I){if(!I||!J){throw new Error("Augment failed, verify dependencies.");}var G=[J.prototype,I.prototype],H;for(H=2;H<arguments.length;H=H+1){G.push(arguments[H]);}B.augmentObject.apply(this,G);},dump:function(G,L){var I,K,N=[],O="{...}",H="f(){...}",M=", ",J=" => ";if(!B.isObject(G)){return G+"";}else{if(G instanceof Date||("nodeType" in G&&"tagName" in G)){return G;}else{if(B.isFunction(G)){return H;}}}L=(B.isNumber(L))?L:3;if(B.isArray(G)){N.push("[");for(I=0,K=G.length;I<K;I=I+1){if(B.isObject(G[I])){N.push((L>0)?B.dump(G[I],L-1):O);}else{N.push(G[I]);}N.push(M);}if(N.length>1){N.pop();}N.push("]");}else{N.push("{");for(I in G){if(B.hasOwnProperty(G,I)){N.push(I+J);if(B.isObject(G[I])){N.push((L>0)?B.dump(G[I],L-1):O);}else{N.push(G[I]);}N.push(M);}}if(N.length>1){N.pop();}N.push("}");}return N.join("");},substitute:function(V,H,O){var L,K,J,R,S,U,Q=[],I,M="dump",P=" ",G="{",T="}",N;for(;;){L=V.lastIndexOf(G);if(L<0){break;}K=V.indexOf(T,L);if(L+1>=K){break;}I=V.substring(L+1,K);R=I;U=null;J=R.indexOf(P);if(J>-1){U=R.substring(J+1);R=R.substring(0,J);}S=H[R];if(O){S=O(R,S,U);}if(B.isObject(S)){if(B.isArray(S)){S=B.dump(S,parseInt(U,10));}else{U=U||"";N=U.indexOf(M);if(N>-1){U=U.substring(4);}if(S.toString===A.toString||N>-1){S=B.dump(S,parseInt(U,10));}else{S=S.toString();}}}else{if(!B.isString(S)&&!B.isNumber(S)){S="~-"+Q.length+"-~";Q[Q.length]=I;}}V=V.substring(0,L)+S+V.substring(K+1);}for(L=Q.length-1;L>=0;L=L-1){V=V.replace(new RegExp("~-"+L+"-~"),"{"+Q[L]+"}","g");}return V;},trim:function(G){try{return G.replace(/^\s+|\s+$/g,"");}catch(H){return G;}},merge:function(){var J={},H=arguments,G=H.length,I;for(I=0;I<G;I=I+1){B.augmentObject(J,H[I],true);}return J;},later:function(N,H,O,J,K){N=N||0;H=H||{};var I=O,M=J,L,G;if(B.isString(O)){I=H[O];}if(!I){throw new TypeError("method undefined");}if(!B.isArray(M)){M=[J];}L=function(){I.apply(H,M);};G=(K)?setInterval(L,N):setTimeout(L,N);return{interval:K,cancel:function(){if(this.interval){clearInterval(G);}else{clearTimeout(G);}}};},isValue:function(G){return(B.isObject(G)||B.isString(G)||B.isNumber(G)||B.isBoolean(G));}};B.hasOwnProperty=(A.hasOwnProperty)?function(G,H){return G&&G.hasOwnProperty(H);}:function(G,H){return !B.isUndefined(G[H])&&G.constructor.prototype[H]!==G[H];};D.augmentObject(B,D,true);YAHOO.util.Lang=B;B.augment=B.augmentProto;YAHOO.augment=B.augmentProto;YAHOO.extend=B.extend;})();YAHOO.register("yahoo",YAHOO,{version:"2.7.0",build:"1796"});(function(){YAHOO.env._id_counter=YAHOO.env._id_counter||0;var E=YAHOO.util,L=YAHOO.lang,m=YAHOO.env.ua,A=YAHOO.lang.trim,d={},h={},N=/^t(?:able|d|h)$/i,X=/color$/i,K=window.document,W=K.documentElement,e="ownerDocument",n="defaultView",v="documentElement",t="compatMode",b="offsetLeft",P="offsetTop",u="offsetParent",Z="parentNode",l="nodeType",C="tagName",O="scrollLeft",i="scrollTop",Q="getBoundingClientRect",w="getComputedStyle",a="currentStyle",M="CSS1Compat",c="BackCompat",g="class",F="className",J="",B=" ",s="(?:^|\\s)",k="(?= |$)",U="g",p="position",f="fixed",V="relative",j="left",o="top",r="medium",q="borderLeftWidth",R="borderTopWidth",D=m.opera,I=m.webkit,H=m.gecko,T=m.ie;E.Dom={CUSTOM_ATTRIBUTES:(!W.hasAttribute)?{"for":"htmlFor","class":F}:{"htmlFor":"for","className":g},get:function(y){var AA,Y,z,x,G;if(y){if(y[l]||y.item){return y;}if(typeof y==="string"){AA=y;y=K.getElementById(y);if(y&&y.id===AA){return y;}else{if(y&&K.all){y=null;Y=K.all[AA];for(x=0,G=Y.length;x<G;++x){if(Y[x].id===AA){return Y[x];}}}}return y;}if(y.DOM_EVENTS){y=y.get("element");}if("length" in y){z=[];for(x=0,G=y.length;x<G;++x){z[z.length]=E.Dom.get(y[x]);}return z;}return y;}return null;},getComputedStyle:function(G,Y){if(window[w]){return G[e][n][w](G,null)[Y];}else{if(G[a]){return E.Dom.IE_ComputedStyle.get(G,Y);}}},getStyle:function(G,Y){return E.Dom.batch(G,E.Dom._getStyle,Y);},_getStyle:function(){if(window[w]){return function(G,y){y=(y==="float")?y="cssFloat":E.Dom._toCamel(y);var x=G.style[y],Y;if(!x){Y=G[e][n][w](G,null);if(Y){x=Y[y];}}return x;};}else{if(W[a]){return function(G,y){var x;switch(y){case"opacity":x=100;try{x=G.filters["DXImageTransform.Microsoft.Alpha"].opacity;}catch(z){try{x=G.filters("alpha").opacity;}catch(Y){}}return x/100;case"float":y="styleFloat";default:y=E.Dom._toCamel(y);x=G[a]?G[a][y]:null;return(G.style[y]||x);}};}}}(),setStyle:function(G,Y,x){E.Dom.batch(G,E.Dom._setStyle,{prop:Y,val:x});},_setStyle:function(){if(T){return function(Y,G){var x=E.Dom._toCamel(G.prop),y=G.val;if(Y){switch(x){case"opacity":if(L.isString(Y.style.filter)){Y.style.filter="alpha(opacity="+y*100+")";if(!Y[a]||!Y[a].hasLayout){Y.style.zoom=1;}}break;case"float":x="styleFloat";default:Y.style[x]=y;}}else{}};}else{return function(Y,G){var x=E.Dom._toCamel(G.prop),y=G.val;if(Y){if(x=="float"){x="cssFloat";}Y.style[x]=y;}else{}};}}(),getXY:function(G){return E.Dom.batch(G,E.Dom._getXY);},_canPosition:function(G){return(E.Dom._getStyle(G,"display")!=="none"&&E.Dom._inDoc(G));},_getXY:function(){if(K[v][Q]){return function(y){var z,Y,AA,AF,AE,AD,AC,G,x,AB=Math.floor,AG=false;if(E.Dom._canPosition(y)){AA=y[Q]();AF=y[e];z=E.Dom.getDocumentScrollLeft(AF);Y=E.Dom.getDocumentScrollTop(AF);AG=[AB(AA[j]),AB(AA[o])];if(T&&m.ie<8){AE=2;AD=2;AC=AF[t];G=S(AF[v],q);x=S(AF[v],R);if(m.ie===6){if(AC!==c){AE=0;AD=0;}}if((AC==c)){if(G!==r){AE=parseInt(G,10);}if(x!==r){AD=parseInt(x,10);}}AG[0]-=AE;AG[1]-=AD;}if((Y||z)){AG[0]+=z;AG[1]+=Y;}AG[0]=AB(AG[0]);AG[1]=AB(AG[1]);}else{}return AG;};}else{return function(y){var x,Y,AA,AB,AC,z=false,G=y;if(E.Dom._canPosition(y)){z=[y[b],y[P]];x=E.Dom.getDocumentScrollLeft(y[e]);Y=E.Dom.getDocumentScrollTop(y[e]);AC=((H||m.webkit>519)?true:false);while((G=G[u])){z[0]+=G[b];z[1]+=G[P];if(AC){z=E.Dom._calcBorders(G,z);}}if(E.Dom._getStyle(y,p)!==f){G=y;while((G=G[Z])&&G[C]){AA=G[i];AB=G[O];if(H&&(E.Dom._getStyle(G,"overflow")!=="visible")){z=E.Dom._calcBorders(G,z);}if(AA||AB){z[0]-=AB;z[1]-=AA;}}z[0]+=x;z[1]+=Y;}else{if(D){z[0]-=x;z[1]-=Y;}else{if(I||H){z[0]+=x;z[1]+=Y;}}}z[0]=Math.floor(z[0]);z[1]=Math.floor(z[1]);}else{}return z;};}}(),getX:function(G){var Y=function(x){return E.Dom.getXY(x)[0];};return E.Dom.batch(G,Y,E.Dom,true);},getY:function(G){var Y=function(x){return E.Dom.getXY(x)[1];};return E.Dom.batch(G,Y,E.Dom,true);},setXY:function(G,x,Y){E.Dom.batch(G,E.Dom._setXY,{pos:x,noRetry:Y});},_setXY:function(G,z){var AA=E.Dom._getStyle(G,p),y=E.Dom.setStyle,AD=z.pos,Y=z.noRetry,AB=[parseInt(E.Dom.getComputedStyle(G,j),10),parseInt(E.Dom.getComputedStyle(G,o),10)],AC,x;if(AA=="static"){AA=V;y(G,p,AA);}AC=E.Dom._getXY(G);if(!AD||AC===false){return false;}if(isNaN(AB[0])){AB[0]=(AA==V)?0:G[b];}if(isNaN(AB[1])){AB[1]=(AA==V)?0:G[P];}if(AD[0]!==null){y(G,j,AD[0]-AC[0]+AB[0]+"px");}if(AD[1]!==null){y(G,o,AD[1]-AC[1]+AB[1]+"px");}if(!Y){x=E.Dom._getXY(G);if((AD[0]!==null&&x[0]!=AD[0])||(AD[1]!==null&&x[1]!=AD[1])){E.Dom._setXY(G,{pos:AD,noRetry:true});}}},setX:function(Y,G){E.Dom.setXY(Y,[G,null]);},setY:function(G,Y){E.Dom.setXY(G,[null,Y]);},getRegion:function(G){var Y=function(x){var y=false;if(E.Dom._canPosition(x)){y=E.Region.getRegion(x);}else{}return y;};return E.Dom.batch(G,Y,E.Dom,true);},getClientWidth:function(){return E.Dom.getViewportWidth();},getClientHeight:function(){return E.Dom.getViewportHeight();},getElementsByClassName:function(AB,AF,AC,AE,x,AD){AB=L.trim(AB);AF=AF||"*";AC=(AC)?E.Dom.get(AC):null||K;if(!AC){return[];}var Y=[],G=AC.getElementsByTagName(AF),z=E.Dom.hasClass;for(var y=0,AA=G.length;y<AA;++y){if(z(G[y],AB)){Y[Y.length]=G[y];}}if(AE){E.Dom.batch(Y,AE,x,AD);}return Y;},hasClass:function(Y,G){return E.Dom.batch(Y,E.Dom._hasClass,G);},_hasClass:function(x,Y){var G=false,y;if(x&&Y){y=E.Dom.getAttribute(x,F)||J;if(Y.exec){G=Y.test(y);}else{G=Y&&(B+y+B).indexOf(B+Y+B)>-1;}}else{}return G;},addClass:function(Y,G){return E.Dom.batch(Y,E.Dom._addClass,G);},_addClass:function(x,Y){var G=false,y;if(x&&Y){y=E.Dom.getAttribute(x,F)||J;if(!E.Dom._hasClass(x,Y)){E.Dom.setAttribute(x,F,A(y+B+Y));G=true;}}else{}return G;},removeClass:function(Y,G){return E.Dom.batch(Y,E.Dom._removeClass,G);},_removeClass:function(y,x){var Y=false,AA,z,G;if(y&&x){AA=E.Dom.getAttribute(y,F)||J;E.Dom.setAttribute(y,F,AA.replace(E.Dom._getClassRegex(x),J));z=E.Dom.getAttribute(y,F);if(AA!==z){E.Dom.setAttribute(y,F,A(z));Y=true;if(E.Dom.getAttribute(y,F)===""){G=(y.hasAttribute&&y.hasAttribute(g))?g:F;y.removeAttribute(G);}}}else{}return Y;},replaceClass:function(x,Y,G){return E.Dom.batch(x,E.Dom._replaceClass,{from:Y,to:G});
-},_replaceClass:function(y,x){var Y,AB,AA,G=false,z;if(y&&x){AB=x.from;AA=x.to;if(!AA){G=false;}else{if(!AB){G=E.Dom._addClass(y,x.to);}else{if(AB!==AA){z=E.Dom.getAttribute(y,F)||J;Y=(B+z.replace(E.Dom._getClassRegex(AB),B+AA)).split(E.Dom._getClassRegex(AA));Y.splice(1,0,B+AA);E.Dom.setAttribute(y,F,A(Y.join(J)));G=true;}}}}else{}return G;},generateId:function(G,x){x=x||"yui-gen";var Y=function(y){if(y&&y.id){return y.id;}var z=x+YAHOO.env._id_counter++;if(y){if(y[e].getElementById(z)){return E.Dom.generateId(y,z+x);}y.id=z;}return z;};return E.Dom.batch(G,Y,E.Dom,true)||Y.apply(E.Dom,arguments);},isAncestor:function(Y,x){Y=E.Dom.get(Y);x=E.Dom.get(x);var G=false;if((Y&&x)&&(Y[l]&&x[l])){if(Y.contains&&Y!==x){G=Y.contains(x);}else{if(Y.compareDocumentPosition){G=!!(Y.compareDocumentPosition(x)&16);}}}else{}return G;},inDocument:function(G,Y){return E.Dom._inDoc(E.Dom.get(G),Y);},_inDoc:function(Y,x){var G=false;if(Y&&Y[C]){x=x||Y[e];G=E.Dom.isAncestor(x[v],Y);}else{}return G;},getElementsBy:function(Y,AF,AB,AD,y,AC,AE){AF=AF||"*";AB=(AB)?E.Dom.get(AB):null||K;if(!AB){return[];}var x=[],G=AB.getElementsByTagName(AF);for(var z=0,AA=G.length;z<AA;++z){if(Y(G[z])){if(AE){x=G[z];break;}else{x[x.length]=G[z];}}}if(AD){E.Dom.batch(x,AD,y,AC);}return x;},getElementBy:function(x,G,Y){return E.Dom.getElementsBy(x,G,Y,null,null,null,true);},batch:function(x,AB,AA,z){var y=[],Y=(z)?AA:window;x=(x&&(x[C]||x.item))?x:E.Dom.get(x);if(x&&AB){if(x[C]||x.length===undefined){return AB.call(Y,x,AA);}for(var G=0;G<x.length;++G){y[y.length]=AB.call(Y,x[G],AA);}}else{return false;}return y;},getDocumentHeight:function(){var Y=(K[t]!=M||I)?K.body.scrollHeight:W.scrollHeight,G=Math.max(Y,E.Dom.getViewportHeight());return G;},getDocumentWidth:function(){var Y=(K[t]!=M||I)?K.body.scrollWidth:W.scrollWidth,G=Math.max(Y,E.Dom.getViewportWidth());return G;},getViewportHeight:function(){var G=self.innerHeight,Y=K[t];if((Y||T)&&!D){G=(Y==M)?W.clientHeight:K.body.clientHeight;}return G;},getViewportWidth:function(){var G=self.innerWidth,Y=K[t];if(Y||T){G=(Y==M)?W.clientWidth:K.body.clientWidth;}return G;},getAncestorBy:function(G,Y){while((G=G[Z])){if(E.Dom._testElement(G,Y)){return G;}}return null;},getAncestorByClassName:function(Y,G){Y=E.Dom.get(Y);if(!Y){return null;}var x=function(y){return E.Dom.hasClass(y,G);};return E.Dom.getAncestorBy(Y,x);},getAncestorByTagName:function(Y,G){Y=E.Dom.get(Y);if(!Y){return null;}var x=function(y){return y[C]&&y[C].toUpperCase()==G.toUpperCase();};return E.Dom.getAncestorBy(Y,x);},getPreviousSiblingBy:function(G,Y){while(G){G=G.previousSibling;if(E.Dom._testElement(G,Y)){return G;}}return null;},getPreviousSibling:function(G){G=E.Dom.get(G);if(!G){return null;}return E.Dom.getPreviousSiblingBy(G);},getNextSiblingBy:function(G,Y){while(G){G=G.nextSibling;if(E.Dom._testElement(G,Y)){return G;}}return null;},getNextSibling:function(G){G=E.Dom.get(G);if(!G){return null;}return E.Dom.getNextSiblingBy(G);},getFirstChildBy:function(G,x){var Y=(E.Dom._testElement(G.firstChild,x))?G.firstChild:null;return Y||E.Dom.getNextSiblingBy(G.firstChild,x);},getFirstChild:function(G,Y){G=E.Dom.get(G);if(!G){return null;}return E.Dom.getFirstChildBy(G);},getLastChildBy:function(G,x){if(!G){return null;}var Y=(E.Dom._testElement(G.lastChild,x))?G.lastChild:null;return Y||E.Dom.getPreviousSiblingBy(G.lastChild,x);},getLastChild:function(G){G=E.Dom.get(G);return E.Dom.getLastChildBy(G);},getChildrenBy:function(Y,y){var x=E.Dom.getFirstChildBy(Y,y),G=x?[x]:[];E.Dom.getNextSiblingBy(x,function(z){if(!y||y(z)){G[G.length]=z;}return false;});return G;},getChildren:function(G){G=E.Dom.get(G);if(!G){}return E.Dom.getChildrenBy(G);},getDocumentScrollLeft:function(G){G=G||K;return Math.max(G[v].scrollLeft,G.body.scrollLeft);},getDocumentScrollTop:function(G){G=G||K;return Math.max(G[v].scrollTop,G.body.scrollTop);},insertBefore:function(Y,G){Y=E.Dom.get(Y);G=E.Dom.get(G);if(!Y||!G||!G[Z]){return null;}return G[Z].insertBefore(Y,G);},insertAfter:function(Y,G){Y=E.Dom.get(Y);G=E.Dom.get(G);if(!Y||!G||!G[Z]){return null;}if(G.nextSibling){return G[Z].insertBefore(Y,G.nextSibling);}else{return G[Z].appendChild(Y);}},getClientRegion:function(){var x=E.Dom.getDocumentScrollTop(),Y=E.Dom.getDocumentScrollLeft(),y=E.Dom.getViewportWidth()+Y,G=E.Dom.getViewportHeight()+x;return new E.Region(x,y,G,Y);},setAttribute:function(Y,G,x){G=E.Dom.CUSTOM_ATTRIBUTES[G]||G;Y.setAttribute(G,x);},getAttribute:function(Y,G){G=E.Dom.CUSTOM_ATTRIBUTES[G]||G;return Y.getAttribute(G);},_toCamel:function(Y){var x=d;function G(y,z){return z.toUpperCase();}return x[Y]||(x[Y]=Y.indexOf("-")===-1?Y:Y.replace(/-([a-z])/gi,G));},_getClassRegex:function(Y){var G;if(Y!==undefined){if(Y.exec){G=Y;}else{G=h[Y];if(!G){Y=Y.replace(E.Dom._patterns.CLASS_RE_TOKENS,"\\$1");G=h[Y]=new RegExp(s+Y+k,U);}}}return G;},_patterns:{ROOT_TAG:/^body|html$/i,CLASS_RE_TOKENS:/([\.\(\)\^\$\*\+\?\|\[\]\{\}])/g},_testElement:function(G,Y){return G&&G[l]==1&&(!Y||Y(G));},_calcBorders:function(x,y){var Y=parseInt(E.Dom[w](x,R),10)||0,G=parseInt(E.Dom[w](x,q),10)||0;if(H){if(N.test(x[C])){Y=0;G=0;}}y[0]+=G;y[1]+=Y;return y;}};var S=E.Dom[w];if(m.opera){E.Dom[w]=function(Y,G){var x=S(Y,G);if(X.test(G)){x=E.Dom.Color.toRGB(x);}return x;};}if(m.webkit){E.Dom[w]=function(Y,G){var x=S(Y,G);if(x==="rgba(0, 0, 0, 0)"){x="transparent";}return x;};}})();YAHOO.util.Region=function(C,D,A,B){this.top=C;this.y=C;this[1]=C;this.right=D;this.bottom=A;this.left=B;this.x=B;this[0]=B;this.width=this.right-this.left;this.height=this.bottom-this.top;};YAHOO.util.Region.prototype.contains=function(A){return(A.left>=this.left&&A.right<=this.right&&A.top>=this.top&&A.bottom<=this.bottom);};YAHOO.util.Region.prototype.getArea=function(){return((this.bottom-this.top)*(this.right-this.left));};YAHOO.util.Region.prototype.intersect=function(E){var C=Math.max(this.top,E.top),D=Math.min(this.right,E.right),A=Math.min(this.bottom,E.bottom),B=Math.max(this.left,E.left);if(A>=C&&D>=B){return new YAHOO.util.Region(C,D,A,B);
-}else{return null;}};YAHOO.util.Region.prototype.union=function(E){var C=Math.min(this.top,E.top),D=Math.max(this.right,E.right),A=Math.max(this.bottom,E.bottom),B=Math.min(this.left,E.left);return new YAHOO.util.Region(C,D,A,B);};YAHOO.util.Region.prototype.toString=function(){return("Region {"+"top: "+this.top+", right: "+this.right+", bottom: "+this.bottom+", left: "+this.left+", height: "+this.height+", width: "+this.width+"}");};YAHOO.util.Region.getRegion=function(D){var F=YAHOO.util.Dom.getXY(D),C=F[1],E=F[0]+D.offsetWidth,A=F[1]+D.offsetHeight,B=F[0];return new YAHOO.util.Region(C,E,A,B);};YAHOO.util.Point=function(A,B){if(YAHOO.lang.isArray(A)){B=A[1];A=A[0];}YAHOO.util.Point.superclass.constructor.call(this,B,A,B,A);};YAHOO.extend(YAHOO.util.Point,YAHOO.util.Region);(function(){var B=YAHOO.util,A="clientTop",F="clientLeft",J="parentNode",K="right",W="hasLayout",I="px",U="opacity",L="auto",D="borderLeftWidth",G="borderTopWidth",P="borderRightWidth",V="borderBottomWidth",S="visible",Q="transparent",N="height",E="width",H="style",T="currentStyle",R=/^width|height$/,O=/^(\d[.\d]*)+(em|ex|px|gd|rem|vw|vh|vm|ch|mm|cm|in|pt|pc|deg|rad|ms|s|hz|khz|%){1}?/i,M={get:function(X,Z){var Y="",a=X[T][Z];if(Z===U){Y=B.Dom.getStyle(X,U);}else{if(!a||(a.indexOf&&a.indexOf(I)>-1)){Y=a;}else{if(B.Dom.IE_COMPUTED[Z]){Y=B.Dom.IE_COMPUTED[Z](X,Z);}else{if(O.test(a)){Y=B.Dom.IE.ComputedStyle.getPixel(X,Z);}else{Y=a;}}}}return Y;},getOffset:function(Z,e){var b=Z[T][e],X=e.charAt(0).toUpperCase()+e.substr(1),c="offset"+X,Y="pixel"+X,a="",d;if(b==L){d=Z[c];if(d===undefined){a=0;}a=d;if(R.test(e)){Z[H][e]=d;if(Z[c]>d){a=d-(Z[c]-d);}Z[H][e]=L;}}else{if(!Z[H][Y]&&!Z[H][e]){Z[H][e]=b;}a=Z[H][Y];}return a+I;},getBorderWidth:function(X,Z){var Y=null;if(!X[T][W]){X[H].zoom=1;}switch(Z){case G:Y=X[A];break;case V:Y=X.offsetHeight-X.clientHeight-X[A];break;case D:Y=X[F];break;case P:Y=X.offsetWidth-X.clientWidth-X[F];break;}return Y+I;},getPixel:function(Y,X){var a=null,b=Y[T][K],Z=Y[T][X];Y[H][K]=Z;a=Y[H].pixelRight;Y[H][K]=b;return a+I;},getMargin:function(Y,X){var Z;if(Y[T][X]==L){Z=0+I;}else{Z=B.Dom.IE.ComputedStyle.getPixel(Y,X);}return Z;},getVisibility:function(Y,X){var Z;while((Z=Y[T])&&Z[X]=="inherit"){Y=Y[J];}return(Z)?Z[X]:S;},getColor:function(Y,X){return B.Dom.Color.toRGB(Y[T][X])||Q;},getBorderColor:function(Y,X){var Z=Y[T],a=Z[X]||Z.color;return B.Dom.Color.toRGB(B.Dom.Color.toHex(a));}},C={};C.top=C.right=C.bottom=C.left=C[E]=C[N]=M.getOffset;C.color=M.getColor;C[G]=C[P]=C[V]=C[D]=M.getBorderWidth;C.marginTop=C.marginRight=C.marginBottom=C.marginLeft=M.getMargin;C.visibility=M.getVisibility;C.borderColor=C.borderTopColor=C.borderRightColor=C.borderBottomColor=C.borderLeftColor=M.getBorderColor;B.Dom.IE_COMPUTED=C;B.Dom.IE_ComputedStyle=M;})();(function(){var C="toString",A=parseInt,B=RegExp,D=YAHOO.util;D.Dom.Color={KEYWORDS:{black:"000",silver:"c0c0c0",gray:"808080",white:"fff",maroon:"800000",red:"f00",purple:"800080",fuchsia:"f0f",green:"008000",lime:"0f0",olive:"808000",yellow:"ff0",navy:"000080",blue:"00f",teal:"008080",aqua:"0ff"},re_RGB:/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i,re_hex:/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i,re_hex3:/([0-9A-F])/gi,toRGB:function(E){if(!D.Dom.Color.re_RGB.test(E)){E=D.Dom.Color.toHex(E);}if(D.Dom.Color.re_hex.exec(E)){E="rgb("+[A(B.$1,16),A(B.$2,16),A(B.$3,16)].join(", ")+")";}return E;},toHex:function(H){H=D.Dom.Color.KEYWORDS[H]||H;if(D.Dom.Color.re_RGB.exec(H)){var G=(B.$1.length===1)?"0"+B.$1:Number(B.$1),F=(B.$2.length===1)?"0"+B.$2:Number(B.$2),E=(B.$3.length===1)?"0"+B.$3:Number(B.$3);H=[G[C](16),F[C](16),E[C](16)].join("");}if(H.length<6){H=H.replace(D.Dom.Color.re_hex3,"$1$1");}if(H!=="transparent"&&H.indexOf("#")<0){H="#"+H;}return H.toLowerCase();}};}());YAHOO.register("dom",YAHOO.util.Dom,{version:"2.7.0",build:"1796"});YAHOO.util.CustomEvent=function(D,C,B,A){this.type=D;this.scope=C||window;this.silent=B;this.signature=A||YAHOO.util.CustomEvent.LIST;this.subscribers=[];if(!this.silent){}var E="_YUICEOnSubscribe";if(D!==E){this.subscribeEvent=new YAHOO.util.CustomEvent(E,this,true);}this.lastError=null;};YAHOO.util.CustomEvent.LIST=0;YAHOO.util.CustomEvent.FLAT=1;YAHOO.util.CustomEvent.prototype={subscribe:function(A,B,C){if(!A){throw new Error("Invalid callback for subscriber to '"+this.type+"'");}if(this.subscribeEvent){this.subscribeEvent.fire(A,B,C);}this.subscribers.push(new YAHOO.util.Subscriber(A,B,C));},unsubscribe:function(D,F){if(!D){return this.unsubscribeAll();}var E=false;for(var B=0,A=this.subscribers.length;B<A;++B){var C=this.subscribers[B];if(C&&C.contains(D,F)){this._delete(B);E=true;}}return E;},fire:function(){this.lastError=null;var K=[],E=this.subscribers.length;if(!E&&this.silent){return true;}var I=[].slice.call(arguments,0),G=true,D,J=false;if(!this.silent){}var C=this.subscribers.slice(),A=YAHOO.util.Event.throwErrors;for(D=0;D<E;++D){var M=C[D];if(!M){J=true;}else{if(!this.silent){}var L=M.getScope(this.scope);if(this.signature==YAHOO.util.CustomEvent.FLAT){var B=null;if(I.length>0){B=I[0];}try{G=M.fn.call(L,B,M.obj);}catch(F){this.lastError=F;if(A){throw F;}}}else{try{G=M.fn.call(L,this.type,I,M.obj);}catch(H){this.lastError=H;if(A){throw H;}}}if(false===G){if(!this.silent){}break;}}}return(G!==false);},unsubscribeAll:function(){var A=this.subscribers.length,B;for(B=A-1;B>-1;B--){this._delete(B);}this.subscribers=[];return A;},_delete:function(A){var B=this.subscribers[A];if(B){delete B.fn;delete B.obj;}this.subscribers.splice(A,1);},toString:function(){return"CustomEvent: "+"'"+this.type+"', "+"context: "+this.scope;}};YAHOO.util.Subscriber=function(A,B,C){this.fn=A;this.obj=YAHOO.lang.isUndefined(B)?null:B;this.overrideContext=C;};YAHOO.util.Subscriber.prototype.getScope=function(A){if(this.overrideContext){if(this.overrideContext===true){return this.obj;}else{return this.overrideContext;}}return A;};YAHOO.util.Subscriber.prototype.contains=function(A,B){if(B){return(this.fn==A&&this.obj==B);}else{return(this.fn==A);}};YAHOO.util.Subscriber.prototype.toString=function(){return"Subscriber { obj: "+this.obj+", overrideContext: "+(this.overrideContext||"no")+" }";};if(!YAHOO.util.Event){YAHOO.util.Event=function(){var H=false;var I=[];var J=[];var G=[];var E=[];var C=0;var F=[];var B=[];var A=0;var D={63232:38,63233:40,63234:37,63235:39,63276:33,63277:34,25:9};var K=YAHOO.env.ua.ie?"focusin":"focus";var L=YAHOO.env.ua.ie?"focusout":"blur";return{POLL_RETRYS:2000,POLL_INTERVAL:20,EL:0,TYPE:1,FN:2,WFN:3,UNLOAD_OBJ:3,ADJ_SCOPE:4,OBJ:5,OVERRIDE:6,lastError:null,isSafari:YAHOO.env.ua.webkit,webkit:YAHOO.env.ua.webkit,isIE:YAHOO.env.ua.ie,_interval:null,_dri:null,DOMReady:false,throwErrors:false,startInterval:function(){if(!this._interval){var M=this;var N=function(){M._tryPreloadAttach();};this._interval=setInterval(N,this.POLL_INTERVAL);}},onAvailable:function(S,O,Q,R,P){var M=(YAHOO.lang.isString(S))?[S]:S;for(var N=0;N<M.length;N=N+1){F.push({id:M[N],fn:O,obj:Q,overrideContext:R,checkReady:P});}C=this.POLL_RETRYS;this.startInterval();},onContentReady:function(P,M,N,O){this.onAvailable(P,M,N,O,true);},onDOMReady:function(M,N,O){if(this.DOMReady){setTimeout(function(){var P=window;if(O){if(O===true){P=N;}else{P=O;}}M.call(P,"DOMReady",[],N);},0);}else{this.DOMReadyEvent.subscribe(M,N,O);}},_addListener:function(O,M,Y,S,W,b){if(!Y||!Y.call){return false;}if(this._isValidCollection(O)){var Z=true;for(var T=0,V=O.length;T<V;++T){Z=this.on(O[T],M,Y,S,W)&&Z;}return Z;}else{if(YAHOO.lang.isString(O)){var R=this.getEl(O);if(R){O=R;}else{this.onAvailable(O,function(){YAHOO.util.Event.on(O,M,Y,S,W);});return true;}}}if(!O){return false;}if("unload"==M&&S!==this){J[J.length]=[O,M,Y,S,W];return true;}var N=O;if(W){if(W===true){N=S;}else{N=W;}}var P=function(c){return Y.call(N,YAHOO.util.Event.getEvent(c,O),S);};var a=[O,M,Y,P,N,S,W];var U=I.length;I[U]=a;if(this.useLegacyEvent(O,M)){var Q=this.getLegacyIndex(O,M);if(Q==-1||O!=G[Q][0]){Q=G.length;B[O.id+M]=Q;G[Q]=[O,M,O["on"+M]];E[Q]=[];O["on"+M]=function(c){YAHOO.util.Event.fireLegacyEvent(YAHOO.util.Event.getEvent(c),Q);};}E[Q].push(a);}else{try{this._simpleAdd(O,M,P,b);}catch(X){this.lastError=X;this.removeListener(O,M,Y);return false;}}return true;},addListener:function(N,Q,M,O,P){return this._addListener(N,Q,M,O,P,false);},addFocusListener:function(N,M,O,P){return this._addListener(N,K,M,O,P,true);},removeFocusListener:function(N,M){return this.removeListener(N,K,M);},addBlurListener:function(N,M,O,P){return this._addListener(N,L,M,O,P,true);},removeBlurListener:function(N,M){return this.removeListener(N,L,M);},fireLegacyEvent:function(R,P){var T=true,M,V,U,N,S;V=E[P].slice();for(var O=0,Q=V.length;O<Q;++O){U=V[O];if(U&&U[this.WFN]){N=U[this.ADJ_SCOPE];S=U[this.WFN].call(N,R);T=(T&&S);}}M=G[P];if(M&&M[2]){M[2](R);}return T;},getLegacyIndex:function(N,O){var M=this.generateId(N)+O;if(typeof B[M]=="undefined"){return -1;}else{return B[M];}},useLegacyEvent:function(M,N){return(this.webkit&&this.webkit<419&&("click"==N||"dblclick"==N));},removeListener:function(N,M,V){var Q,T,X;if(typeof N=="string"){N=this.getEl(N);}else{if(this._isValidCollection(N)){var W=true;for(Q=N.length-1;Q>-1;Q--){W=(this.removeListener(N[Q],M,V)&&W);}return W;}}if(!V||!V.call){return this.purgeElement(N,false,M);}if("unload"==M){for(Q=J.length-1;Q>-1;Q--){X=J[Q];if(X&&X[0]==N&&X[1]==M&&X[2]==V){J.splice(Q,1);return true;}}return false;}var R=null;var S=arguments[3];if("undefined"===typeof S){S=this._getCacheIndex(N,M,V);}if(S>=0){R=I[S];}if(!N||!R){return false;}if(this.useLegacyEvent(N,M)){var P=this.getLegacyIndex(N,M);var O=E[P];if(O){for(Q=0,T=O.length;Q<T;++Q){X=O[Q];if(X&&X[this.EL]==N&&X[this.TYPE]==M&&X[this.FN]==V){O.splice(Q,1);break;}}}}else{try{this._simpleRemove(N,M,R[this.WFN],false);}catch(U){this.lastError=U;return false;}}delete I[S][this.WFN];delete I[S][this.FN];
-I.splice(S,1);return true;},getTarget:function(O,N){var M=O.target||O.srcElement;return this.resolveTextNode(M);},resolveTextNode:function(N){try{if(N&&3==N.nodeType){return N.parentNode;}}catch(M){}return N;},getPageX:function(N){var M=N.pageX;if(!M&&0!==M){M=N.clientX||0;if(this.isIE){M+=this._getScrollLeft();}}return M;},getPageY:function(M){var N=M.pageY;if(!N&&0!==N){N=M.clientY||0;if(this.isIE){N+=this._getScrollTop();}}return N;},getXY:function(M){return[this.getPageX(M),this.getPageY(M)];},getRelatedTarget:function(N){var M=N.relatedTarget;if(!M){if(N.type=="mouseout"){M=N.toElement;}else{if(N.type=="mouseover"){M=N.fromElement;}}}return this.resolveTextNode(M);},getTime:function(O){if(!O.time){var N=new Date().getTime();try{O.time=N;}catch(M){this.lastError=M;return N;}}return O.time;},stopEvent:function(M){this.stopPropagation(M);this.preventDefault(M);},stopPropagation:function(M){if(M.stopPropagation){M.stopPropagation();}else{M.cancelBubble=true;}},preventDefault:function(M){if(M.preventDefault){M.preventDefault();}else{M.returnValue=false;}},getEvent:function(O,M){var N=O||window.event;if(!N){var P=this.getEvent.caller;while(P){N=P.arguments[0];if(N&&Event==N.constructor){break;}P=P.caller;}}return N;},getCharCode:function(N){var M=N.keyCode||N.charCode||0;if(YAHOO.env.ua.webkit&&(M in D)){M=D[M];}return M;},_getCacheIndex:function(Q,R,P){for(var O=0,N=I.length;O<N;O=O+1){var M=I[O];if(M&&M[this.FN]==P&&M[this.EL]==Q&&M[this.TYPE]==R){return O;}}return -1;},generateId:function(M){var N=M.id;if(!N){N="yuievtautoid-"+A;++A;M.id=N;}return N;},_isValidCollection:function(N){try{return(N&&typeof N!=="string"&&N.length&&!N.tagName&&!N.alert&&typeof N[0]!=="undefined");}catch(M){return false;}},elCache:{},getEl:function(M){return(typeof M==="string")?document.getElementById(M):M;},clearCache:function(){},DOMReadyEvent:new YAHOO.util.CustomEvent("DOMReady",this),_load:function(N){if(!H){H=true;var M=YAHOO.util.Event;M._ready();M._tryPreloadAttach();}},_ready:function(N){var M=YAHOO.util.Event;if(!M.DOMReady){M.DOMReady=true;M.DOMReadyEvent.fire();M._simpleRemove(document,"DOMContentLoaded",M._ready);}},_tryPreloadAttach:function(){if(F.length===0){C=0;if(this._interval){clearInterval(this._interval);this._interval=null;}return;}if(this.locked){return;}if(this.isIE){if(!this.DOMReady){this.startInterval();return;}}this.locked=true;var S=!H;if(!S){S=(C>0&&F.length>0);}var R=[];var T=function(V,W){var U=V;if(W.overrideContext){if(W.overrideContext===true){U=W.obj;}else{U=W.overrideContext;}}W.fn.call(U,W.obj);};var N,M,Q,P,O=[];for(N=0,M=F.length;N<M;N=N+1){Q=F[N];if(Q){P=this.getEl(Q.id);if(P){if(Q.checkReady){if(H||P.nextSibling||!S){O.push(Q);F[N]=null;}}else{T(P,Q);F[N]=null;}}else{R.push(Q);}}}for(N=0,M=O.length;N<M;N=N+1){Q=O[N];T(this.getEl(Q.id),Q);}C--;if(S){for(N=F.length-1;N>-1;N--){Q=F[N];if(!Q||!Q.id){F.splice(N,1);}}this.startInterval();}else{if(this._interval){clearInterval(this._interval);this._interval=null;}}this.locked=false;},purgeElement:function(Q,R,T){var O=(YAHOO.lang.isString(Q))?this.getEl(Q):Q;var S=this.getListeners(O,T),P,M;if(S){for(P=S.length-1;P>-1;P--){var N=S[P];this.removeListener(O,N.type,N.fn);}}if(R&&O&&O.childNodes){for(P=0,M=O.childNodes.length;P<M;++P){this.purgeElement(O.childNodes[P],R,T);}}},getListeners:function(O,M){var R=[],N;if(!M){N=[I,J];}else{if(M==="unload"){N=[J];}else{N=[I];}}var T=(YAHOO.lang.isString(O))?this.getEl(O):O;for(var Q=0;Q<N.length;Q=Q+1){var V=N[Q];if(V){for(var S=0,U=V.length;S<U;++S){var P=V[S];if(P&&P[this.EL]===T&&(!M||M===P[this.TYPE])){R.push({type:P[this.TYPE],fn:P[this.FN],obj:P[this.OBJ],adjust:P[this.OVERRIDE],scope:P[this.ADJ_SCOPE],index:S});}}}}return(R.length)?R:null;},_unload:function(T){var N=YAHOO.util.Event,Q,P,O,S,R,U=J.slice(),M;for(Q=0,S=J.length;Q<S;++Q){O=U[Q];if(O){M=window;if(O[N.ADJ_SCOPE]){if(O[N.ADJ_SCOPE]===true){M=O[N.UNLOAD_OBJ];}else{M=O[N.ADJ_SCOPE];}}O[N.FN].call(M,N.getEvent(T,O[N.EL]),O[N.UNLOAD_OBJ]);U[Q]=null;}}O=null;M=null;J=null;if(I){for(P=I.length-1;P>-1;P--){O=I[P];if(O){N.removeListener(O[N.EL],O[N.TYPE],O[N.FN],P);}}O=null;}G=null;N._simpleRemove(window,"unload",N._unload);},_getScrollLeft:function(){return this._getScroll()[1];},_getScrollTop:function(){return this._getScroll()[0];},_getScroll:function(){var M=document.documentElement,N=document.body;if(M&&(M.scrollTop||M.scrollLeft)){return[M.scrollTop,M.scrollLeft];}else{if(N){return[N.scrollTop,N.scrollLeft];}else{return[0,0];}}},regCE:function(){},_simpleAdd:function(){if(window.addEventListener){return function(O,P,N,M){O.addEventListener(P,N,(M));};}else{if(window.attachEvent){return function(O,P,N,M){O.attachEvent("on"+P,N);};}else{return function(){};}}}(),_simpleRemove:function(){if(window.removeEventListener){return function(O,P,N,M){O.removeEventListener(P,N,(M));};}else{if(window.detachEvent){return function(N,O,M){N.detachEvent("on"+O,M);};}else{return function(){};}}}()};}();(function(){var EU=YAHOO.util.Event;EU.on=EU.addListener;EU.onFocus=EU.addFocusListener;EU.onBlur=EU.addBlurListener;
-/* DOMReady: based on work by: Dean Edwards/John Resig/Matthias Miller */
-if(EU.isIE){YAHOO.util.Event.onDOMReady(YAHOO.util.Event._tryPreloadAttach,YAHOO.util.Event,true);var n=document.createElement("p");EU._dri=setInterval(function(){try{n.doScroll("left");clearInterval(EU._dri);EU._dri=null;EU._ready();n=null;}catch(ex){}},EU.POLL_INTERVAL);}else{if(EU.webkit&&EU.webkit<525){EU._dri=setInterval(function(){var rs=document.readyState;if("loaded"==rs||"complete"==rs){clearInterval(EU._dri);EU._dri=null;EU._ready();}},EU.POLL_INTERVAL);}else{EU._simpleAdd(document,"DOMContentLoaded",EU._ready);}}EU._simpleAdd(window,"load",EU._load);EU._simpleAdd(window,"unload",EU._unload);EU._tryPreloadAttach();})();}YAHOO.util.EventProvider=function(){};YAHOO.util.EventProvider.prototype={__yui_events:null,__yui_subscribers:null,subscribe:function(A,C,F,E){this.__yui_events=this.__yui_events||{};var D=this.__yui_events[A];if(D){D.subscribe(C,F,E);
-}else{this.__yui_subscribers=this.__yui_subscribers||{};var B=this.__yui_subscribers;if(!B[A]){B[A]=[];}B[A].push({fn:C,obj:F,overrideContext:E});}},unsubscribe:function(C,E,G){this.__yui_events=this.__yui_events||{};var A=this.__yui_events;if(C){var F=A[C];if(F){return F.unsubscribe(E,G);}}else{var B=true;for(var D in A){if(YAHOO.lang.hasOwnProperty(A,D)){B=B&&A[D].unsubscribe(E,G);}}return B;}return false;},unsubscribeAll:function(A){return this.unsubscribe(A);},createEvent:function(G,D){this.__yui_events=this.__yui_events||{};var A=D||{};var I=this.__yui_events;if(I[G]){}else{var H=A.scope||this;var E=(A.silent);var B=new YAHOO.util.CustomEvent(G,H,E,YAHOO.util.CustomEvent.FLAT);I[G]=B;if(A.onSubscribeCallback){B.subscribeEvent.subscribe(A.onSubscribeCallback);}this.__yui_subscribers=this.__yui_subscribers||{};var F=this.__yui_subscribers[G];if(F){for(var C=0;C<F.length;++C){B.subscribe(F[C].fn,F[C].obj,F[C].overrideContext);}}}return I[G];},fireEvent:function(E,D,A,C){this.__yui_events=this.__yui_events||{};var G=this.__yui_events[E];if(!G){return null;}var B=[];for(var F=1;F<arguments.length;++F){B.push(arguments[F]);}return G.fire.apply(G,B);},hasEvent:function(A){if(this.__yui_events){if(this.__yui_events[A]){return true;}}return false;}};(function(){var A=YAHOO.util.Event,C=YAHOO.lang;YAHOO.util.KeyListener=function(D,I,E,F){if(!D){}else{if(!I){}else{if(!E){}}}if(!F){F=YAHOO.util.KeyListener.KEYDOWN;}var G=new YAHOO.util.CustomEvent("keyPressed");this.enabledEvent=new YAHOO.util.CustomEvent("enabled");this.disabledEvent=new YAHOO.util.CustomEvent("disabled");if(C.isString(D)){D=document.getElementById(D);}if(C.isFunction(E)){G.subscribe(E);}else{G.subscribe(E.fn,E.scope,E.correctScope);}function H(O,N){if(!I.shift){I.shift=false;}if(!I.alt){I.alt=false;}if(!I.ctrl){I.ctrl=false;}if(O.shiftKey==I.shift&&O.altKey==I.alt&&O.ctrlKey==I.ctrl){var J,M=I.keys,L;if(YAHOO.lang.isArray(M)){for(var K=0;K<M.length;K++){J=M[K];L=A.getCharCode(O);if(J==L){G.fire(L,O);break;}}}else{L=A.getCharCode(O);if(M==L){G.fire(L,O);}}}}this.enable=function(){if(!this.enabled){A.on(D,F,H);this.enabledEvent.fire(I);}this.enabled=true;};this.disable=function(){if(this.enabled){A.removeListener(D,F,H);this.disabledEvent.fire(I);}this.enabled=false;};this.toString=function(){return"KeyListener ["+I.keys+"] "+D.tagName+(D.id?"["+D.id+"]":"");};};var B=YAHOO.util.KeyListener;B.KEYDOWN="keydown";B.KEYUP="keyup";B.KEY={ALT:18,BACK_SPACE:8,CAPS_LOCK:20,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,META:224,NUM_LOCK:144,PAGE_DOWN:34,PAGE_UP:33,PAUSE:19,PRINTSCREEN:44,RIGHT:39,SCROLL_LOCK:145,SHIFT:16,SPACE:32,TAB:9,UP:38};})();YAHOO.register("event",YAHOO.util.Event,{version:"2.7.0",build:"1796"});YAHOO.register("yahoo-dom-event", YAHOO, {version: "2.7.0", build: "1796"});
-/*
-Copyright (c) 2009, Yahoo! Inc. All rights reserved.
-Code licensed under the BSD License:
-http://developer.yahoo.net/yui/license.txt
-version: 2.7.0
-*/
-if(!YAHOO.util.DragDropMgr){YAHOO.util.DragDropMgr=function(){var A=YAHOO.util.Event,B=YAHOO.util.Dom;return{useShim:false,_shimActive:false,_shimState:false,_debugShim:false,_createShim:function(){var C=document.createElement("div");C.id="yui-ddm-shim";if(document.body.firstChild){document.body.insertBefore(C,document.body.firstChild);}else{document.body.appendChild(C);}C.style.display="none";C.style.backgroundColor="red";C.style.position="absolute";C.style.zIndex="99999";B.setStyle(C,"opacity","0");this._shim=C;A.on(C,"mouseup",this.handleMouseUp,this,true);A.on(C,"mousemove",this.handleMouseMove,this,true);A.on(window,"scroll",this._sizeShim,this,true);},_sizeShim:function(){if(this._shimActive){var C=this._shim;C.style.height=B.getDocumentHeight()+"px";C.style.width=B.getDocumentWidth()+"px";C.style.top="0";C.style.left="0";}},_activateShim:function(){if(this.useShim){if(!this._shim){this._createShim();}this._shimActive=true;var C=this._shim,D="0";if(this._debugShim){D=".5";}B.setStyle(C,"opacity",D);this._sizeShim();C.style.display="block";}},_deactivateShim:function(){this._shim.style.display="none";this._shimActive=false;},_shim:null,ids:{},handleIds:{},dragCurrent:null,dragOvers:{},deltaX:0,deltaY:0,preventDefault:true,stopPropagation:true,initialized:false,locked:false,interactionInfo:null,init:function(){this.initialized=true;},POINT:0,INTERSECT:1,STRICT_INTERSECT:2,mode:0,_execOnAll:function(E,D){for(var F in this.ids){for(var C in this.ids[F]){var G=this.ids[F][C];if(!this.isTypeOfDD(G)){continue;}G[E].apply(G,D);}}},_onLoad:function(){this.init();A.on(document,"mouseup",this.handleMouseUp,this,true);A.on(document,"mousemove",this.handleMouseMove,this,true);A.on(window,"unload",this._onUnload,this,true);A.on(window,"resize",this._onResize,this,true);},_onResize:function(C){this._execOnAll("resetConstraints",[]);},lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isLocked:function(){return this.locked;},locationCache:{},useCache:true,clickPixelThresh:3,clickTimeThresh:1000,dragThreshMet:false,clickTimeout:null,startX:0,startY:0,fromTimeout:false,regDragDrop:function(D,C){if(!this.initialized){this.init();}if(!this.ids[C]){this.ids[C]={};}this.ids[C][D.id]=D;},removeDDFromGroup:function(E,C){if(!this.ids[C]){this.ids[C]={};}var D=this.ids[C];if(D&&D[E.id]){delete D[E.id];}},_remove:function(E){for(var D in E.groups){if(D){var C=this.ids[D];if(C&&C[E.id]){delete C[E.id];}}}delete this.handleIds[E.id];},regHandle:function(D,C){if(!this.handleIds[D]){this.handleIds[D]={};}this.handleIds[D][C]=C;},isDragDrop:function(C){return(this.getDDById(C))?true:false;},getRelated:function(H,D){var G=[];for(var F in H.groups){for(var E in this.ids[F]){var C=this.ids[F][E];if(!this.isTypeOfDD(C)){continue;}if(!D||C.isTarget){G[G.length]=C;}}}return G;},isLegalTarget:function(G,F){var D=this.getRelated(G,true);for(var E=0,C=D.length;E<C;++E){if(D[E].id==F.id){return true;}}return false;},isTypeOfDD:function(C){return(C&&C.__ygDragDrop);},isHandle:function(D,C){return(this.handleIds[D]&&this.handleIds[D][C]);},getDDById:function(D){for(var C in this.ids){if(this.ids[C][D]){return this.ids[C][D];}}return null;},handleMouseDown:function(E,D){this.currentTarget=YAHOO.util.Event.getTarget(E);this.dragCurrent=D;var C=D.getEl();this.startX=YAHOO.util.Event.getPageX(E);this.startY=YAHOO.util.Event.getPageY(E);this.deltaX=this.startX-C.offsetLeft;this.deltaY=this.startY-C.offsetTop;this.dragThreshMet=false;this.clickTimeout=setTimeout(function(){var F=YAHOO.util.DDM;F.startDrag(F.startX,F.startY);F.fromTimeout=true;},this.clickTimeThresh);},startDrag:function(C,E){if(this.dragCurrent&&this.dragCurrent.useShim){this._shimState=this.useShim;this.useShim=true;}this._activateShim();clearTimeout(this.clickTimeout);var D=this.dragCurrent;if(D&&D.events.b4StartDrag){D.b4StartDrag(C,E);D.fireEvent("b4StartDragEvent",{x:C,y:E});}if(D&&D.events.startDrag){D.startDrag(C,E);D.fireEvent("startDragEvent",{x:C,y:E});}this.dragThreshMet=true;},handleMouseUp:function(C){if(this.dragCurrent){clearTimeout(this.clickTimeout);if(this.dragThreshMet){if(this.fromTimeout){this.fromTimeout=false;this.handleMouseMove(C);}this.fromTimeout=false;this.fireEvents(C,true);}else{}this.stopDrag(C);this.stopEvent(C);}},stopEvent:function(C){if(this.stopPropagation){YAHOO.util.Event.stopPropagation(C);}if(this.preventDefault){YAHOO.util.Event.preventDefault(C);}},stopDrag:function(E,D){var C=this.dragCurrent;if(C&&!D){if(this.dragThreshMet){if(C.events.b4EndDrag){C.b4EndDrag(E);C.fireEvent("b4EndDragEvent",{e:E});}if(C.events.endDrag){C.endDrag(E);C.fireEvent("endDragEvent",{e:E});}}if(C.events.mouseUp){C.onMouseUp(E);C.fireEvent("mouseUpEvent",{e:E});}}if(this._shimActive){this._deactivateShim();if(this.dragCurrent&&this.dragCurrent.useShim){this.useShim=this._shimState;this._shimState=false;}}this.dragCurrent=null;this.dragOvers={};},handleMouseMove:function(F){var C=this.dragCurrent;if(C){if(YAHOO.util.Event.isIE&&!F.button){this.stopEvent(F);return this.handleMouseUp(F);}else{if(F.clientX<0||F.clientY<0){}}if(!this.dragThreshMet){var E=Math.abs(this.startX-YAHOO.util.Event.getPageX(F));var D=Math.abs(this.startY-YAHOO.util.Event.getPageY(F));if(E>this.clickPixelThresh||D>this.clickPixelThresh){this.startDrag(this.startX,this.startY);}}if(this.dragThreshMet){if(C&&C.events.b4Drag){C.b4Drag(F);C.fireEvent("b4DragEvent",{e:F});}if(C&&C.events.drag){C.onDrag(F);C.fireEvent("dragEvent",{e:F});}if(C){this.fireEvents(F,false);}}this.stopEvent(F);}},fireEvents:function(V,L){var a=this.dragCurrent;if(!a||a.isLocked()||a.dragOnly){return;}var N=YAHOO.util.Event.getPageX(V),M=YAHOO.util.Event.getPageY(V),P=new YAHOO.util.Point(N,M),K=a.getTargetCoord(P.x,P.y),F=a.getDragEl(),E=["out","over","drop","enter"],U=new YAHOO.util.Region(K.y,K.x+F.offsetWidth,K.y+F.offsetHeight,K.x),I=[],D={},Q=[],c={outEvts:[],overEvts:[],dropEvts:[],enterEvts:[]};for(var S in this.dragOvers){var d=this.dragOvers[S];if(!this.isTypeOfDD(d)){continue;
-}if(!this.isOverTarget(P,d,this.mode,U)){c.outEvts.push(d);}I[S]=true;delete this.dragOvers[S];}for(var R in a.groups){if("string"!=typeof R){continue;}for(S in this.ids[R]){var G=this.ids[R][S];if(!this.isTypeOfDD(G)){continue;}if(G.isTarget&&!G.isLocked()&&G!=a){if(this.isOverTarget(P,G,this.mode,U)){D[R]=true;if(L){c.dropEvts.push(G);}else{if(!I[G.id]){c.enterEvts.push(G);}else{c.overEvts.push(G);}this.dragOvers[G.id]=G;}}}}}this.interactionInfo={out:c.outEvts,enter:c.enterEvts,over:c.overEvts,drop:c.dropEvts,point:P,draggedRegion:U,sourceRegion:this.locationCache[a.id],validDrop:L};for(var C in D){Q.push(C);}if(L&&!c.dropEvts.length){this.interactionInfo.validDrop=false;if(a.events.invalidDrop){a.onInvalidDrop(V);a.fireEvent("invalidDropEvent",{e:V});}}for(S=0;S<E.length;S++){var Y=null;if(c[E[S]+"Evts"]){Y=c[E[S]+"Evts"];}if(Y&&Y.length){var H=E[S].charAt(0).toUpperCase()+E[S].substr(1),X="onDrag"+H,J="b4Drag"+H,O="drag"+H+"Event",W="drag"+H;if(this.mode){if(a.events[J]){a[J](V,Y,Q);a.fireEvent(J+"Event",{event:V,info:Y,group:Q});}if(a.events[W]){a[X](V,Y,Q);a.fireEvent(O,{event:V,info:Y,group:Q});}}else{for(var Z=0,T=Y.length;Z<T;++Z){if(a.events[J]){a[J](V,Y[Z].id,Q[0]);a.fireEvent(J+"Event",{event:V,info:Y[Z].id,group:Q[0]});}if(a.events[W]){a[X](V,Y[Z].id,Q[0]);a.fireEvent(O,{event:V,info:Y[Z].id,group:Q[0]});}}}}}},getBestMatch:function(E){var G=null;var D=E.length;if(D==1){G=E[0];}else{for(var F=0;F<D;++F){var C=E[F];if(this.mode==this.INTERSECT&&C.cursorIsOver){G=C;break;}else{if(!G||!G.overlap||(C.overlap&&G.overlap.getArea()<C.overlap.getArea())){G=C;}}}}return G;},refreshCache:function(D){var F=D||this.ids;for(var C in F){if("string"!=typeof C){continue;}for(var E in this.ids[C]){var G=this.ids[C][E];if(this.isTypeOfDD(G)){var H=this.getLocation(G);if(H){this.locationCache[G.id]=H;}else{delete this.locationCache[G.id];}}}}},verifyEl:function(D){try{if(D){var C=D.offsetParent;if(C){return true;}}}catch(E){}return false;},getLocation:function(H){if(!this.isTypeOfDD(H)){return null;}var F=H.getEl(),K,E,D,M,L,N,C,J,G;try{K=YAHOO.util.Dom.getXY(F);}catch(I){}if(!K){return null;}E=K[0];D=E+F.offsetWidth;M=K[1];L=M+F.offsetHeight;N=M-H.padding[0];C=D+H.padding[1];J=L+H.padding[2];G=E-H.padding[3];return new YAHOO.util.Region(N,C,J,G);},isOverTarget:function(K,C,E,F){var G=this.locationCache[C.id];if(!G||!this.useCache){G=this.getLocation(C);this.locationCache[C.id]=G;}if(!G){return false;}C.cursorIsOver=G.contains(K);var J=this.dragCurrent;if(!J||(!E&&!J.constrainX&&!J.constrainY)){return C.cursorIsOver;}C.overlap=null;if(!F){var H=J.getTargetCoord(K.x,K.y);var D=J.getDragEl();F=new YAHOO.util.Region(H.y,H.x+D.offsetWidth,H.y+D.offsetHeight,H.x);}var I=F.intersect(G);if(I){C.overlap=I;return(E)?true:C.cursorIsOver;}else{return false;}},_onUnload:function(D,C){this.unregAll();},unregAll:function(){if(this.dragCurrent){this.stopDrag();this.dragCurrent=null;}this._execOnAll("unreg",[]);this.ids={};},elementCache:{},getElWrapper:function(D){var C=this.elementCache[D];if(!C||!C.el){C=this.elementCache[D]=new this.ElementWrapper(YAHOO.util.Dom.get(D));}return C;},getElement:function(C){return YAHOO.util.Dom.get(C);},getCss:function(D){var C=YAHOO.util.Dom.get(D);return(C)?C.style:null;},ElementWrapper:function(C){this.el=C||null;this.id=this.el&&C.id;this.css=this.el&&C.style;},getPosX:function(C){return YAHOO.util.Dom.getX(C);},getPosY:function(C){return YAHOO.util.Dom.getY(C);},swapNode:function(E,C){if(E.swapNode){E.swapNode(C);}else{var F=C.parentNode;var D=C.nextSibling;if(D==E){F.insertBefore(E,C);}else{if(C==E.nextSibling){F.insertBefore(C,E);}else{E.parentNode.replaceChild(C,E);F.insertBefore(E,D);}}}},getScroll:function(){var E,C,F=document.documentElement,D=document.body;if(F&&(F.scrollTop||F.scrollLeft)){E=F.scrollTop;C=F.scrollLeft;}else{if(D){E=D.scrollTop;C=D.scrollLeft;}else{}}return{top:E,left:C};},getStyle:function(D,C){return YAHOO.util.Dom.getStyle(D,C);},getScrollTop:function(){return this.getScroll().top;},getScrollLeft:function(){return this.getScroll().left;},moveToEl:function(C,E){var D=YAHOO.util.Dom.getXY(E);YAHOO.util.Dom.setXY(C,D);},getClientHeight:function(){return YAHOO.util.Dom.getViewportHeight();},getClientWidth:function(){return YAHOO.util.Dom.getViewportWidth();},numericSort:function(D,C){return(D-C);},_timeoutCount:0,_addListeners:function(){var C=YAHOO.util.DDM;if(YAHOO.util.Event&&document){C._onLoad();}else{if(C._timeoutCount>2000){}else{setTimeout(C._addListeners,10);if(document&&document.body){C._timeoutCount+=1;}}}},handleWasClicked:function(C,E){if(this.isHandle(E,C.id)){return true;}else{var D=C.parentNode;while(D){if(this.isHandle(E,D.id)){return true;}else{D=D.parentNode;}}}return false;}};}();YAHOO.util.DDM=YAHOO.util.DragDropMgr;YAHOO.util.DDM._addListeners();}(function(){var A=YAHOO.util.Event;var B=YAHOO.util.Dom;YAHOO.util.DragDrop=function(E,C,D){if(E){this.init(E,C,D);}};YAHOO.util.DragDrop.prototype={events:null,on:function(){this.subscribe.apply(this,arguments);},id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isTarget:true,padding:null,dragOnly:false,useShim:false,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,deltaX:0,deltaY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,cursorIsOver:false,overlap:null,b4StartDrag:function(C,D){},startDrag:function(C,D){},b4Drag:function(C){},onDrag:function(C){},onDragEnter:function(C,D){},b4DragOver:function(C){},onDragOver:function(C,D){},b4DragOut:function(C){},onDragOut:function(C,D){},b4DragDrop:function(C){},onDragDrop:function(C,D){},onInvalidDrop:function(C){},b4EndDrag:function(C){},endDrag:function(C){},b4MouseDown:function(C){},onMouseDown:function(C){},onMouseUp:function(C){},onAvailable:function(){},getEl:function(){if(!this._domRef){this._domRef=B.get(this.id);
-}return this._domRef;},getDragEl:function(){return B.get(this.dragElId);},init:function(F,C,D){this.initTarget(F,C,D);A.on(this._domRef||this.id,"mousedown",this.handleMouseDown,this,true);for(var E in this.events){this.createEvent(E+"Event");}},initTarget:function(E,C,D){this.config=D||{};this.events={};this.DDM=YAHOO.util.DDM;this.groups={};if(typeof E!=="string"){this._domRef=E;E=B.generateId(E);}this.id=E;this.addToGroup((C)?C:"default");this.handleElId=E;A.onAvailable(E,this.handleOnAvailable,this,true);this.setDragElId(E);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();},applyConfig:function(){this.events={mouseDown:true,b4MouseDown:true,mouseUp:true,b4StartDrag:true,startDrag:true,b4EndDrag:true,endDrag:true,drag:true,b4Drag:true,invalidDrop:true,b4DragOut:true,dragOut:true,dragEnter:true,b4DragOver:true,dragOver:true,b4DragDrop:true,dragDrop:true};if(this.config.events){for(var C in this.config.events){if(this.config.events[C]===false){this.events[C]=false;}}}this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false);this.dragOnly=((this.config.dragOnly===true)?true:false);this.useShim=((this.config.useShim===true)?true:false);},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable();},setPadding:function(E,C,F,D){if(!C&&0!==C){this.padding=[E,E,E,E];}else{if(!F&&0!==F){this.padding=[E,C,E,C];}else{this.padding=[E,C,F,D];}}},setInitPosition:function(F,E){var G=this.getEl();if(!this.DDM.verifyEl(G)){if(G&&G.style&&(G.style.display=="none")){}else{}return;}var D=F||0;var C=E||0;var H=B.getXY(G);this.initPageX=H[0]-D;this.initPageY=H[1]-C;this.lastPageX=H[0];this.lastPageY=H[1];this.setStartPosition(H);},setStartPosition:function(D){var C=D||B.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=C[0];this.startPageY=C[1];},addToGroup:function(C){this.groups[C]=true;this.DDM.regDragDrop(this,C);},removeFromGroup:function(C){if(this.groups[C]){delete this.groups[C];}this.DDM.removeDDFromGroup(this,C);},setDragElId:function(C){this.dragElId=C;},setHandleElId:function(C){if(typeof C!=="string"){C=B.generateId(C);}this.handleElId=C;this.DDM.regHandle(this.id,C);},setOuterHandleElId:function(C){if(typeof C!=="string"){C=B.generateId(C);}A.on(C,"mousedown",this.handleMouseDown,this,true);this.setHandleElId(C);this.hasOuterHandles=true;},unreg:function(){A.removeListener(this.id,"mousedown",this.handleMouseDown);this._domRef=null;this.DDM._remove(this);},isLocked:function(){return(this.DDM.isLocked()||this.locked);},handleMouseDown:function(J,I){var D=J.which||J.button;if(this.primaryButtonOnly&&D>1){return;}if(this.isLocked()){return;}var C=this.b4MouseDown(J),F=true;if(this.events.b4MouseDown){F=this.fireEvent("b4MouseDownEvent",J);}var E=this.onMouseDown(J),H=true;if(this.events.mouseDown){H=this.fireEvent("mouseDownEvent",J);}if((C===false)||(E===false)||(F===false)||(H===false)){return;}this.DDM.refreshCache(this.groups);var G=new YAHOO.util.Point(A.getPageX(J),A.getPageY(J));if(!this.hasOuterHandles&&!this.DDM.isOverTarget(G,this)){}else{if(this.clickValidator(J)){this.setStartPosition();this.DDM.handleMouseDown(J,this);this.DDM.stopEvent(J);}else{}}},clickValidator:function(D){var C=YAHOO.util.Event.getTarget(D);return(this.isValidHandleChild(C)&&(this.id==this.handleElId||this.DDM.handleWasClicked(C,this.id)));},getTargetCoord:function(E,D){var C=E-this.deltaX;var F=D-this.deltaY;if(this.constrainX){if(C<this.minX){C=this.minX;}if(C>this.maxX){C=this.maxX;}}if(this.constrainY){if(F<this.minY){F=this.minY;}if(F>this.maxY){F=this.maxY;}}C=this.getTick(C,this.xTicks);F=this.getTick(F,this.yTicks);return{x:C,y:F};},addInvalidHandleType:function(C){var D=C.toUpperCase();this.invalidHandleTypes[D]=D;},addInvalidHandleId:function(C){if(typeof C!=="string"){C=B.generateId(C);}this.invalidHandleIds[C]=C;},addInvalidHandleClass:function(C){this.invalidHandleClasses.push(C);},removeInvalidHandleType:function(C){var D=C.toUpperCase();delete this.invalidHandleTypes[D];},removeInvalidHandleId:function(C){if(typeof C!=="string"){C=B.generateId(C);}delete this.invalidHandleIds[C];},removeInvalidHandleClass:function(D){for(var E=0,C=this.invalidHandleClasses.length;E<C;++E){if(this.invalidHandleClasses[E]==D){delete this.invalidHandleClasses[E];}}},isValidHandleChild:function(F){var E=true;var H;try{H=F.nodeName.toUpperCase();}catch(G){H=F.nodeName;}E=E&&!this.invalidHandleTypes[H];E=E&&!this.invalidHandleIds[F.id];for(var D=0,C=this.invalidHandleClasses.length;E&&D<C;++D){E=!B.hasClass(F,this.invalidHandleClasses[D]);}return E;},setXTicks:function(F,C){this.xTicks=[];this.xTickSize=C;var E={};for(var D=this.initPageX;D>=this.minX;D=D-C){if(!E[D]){this.xTicks[this.xTicks.length]=D;E[D]=true;}}for(D=this.initPageX;D<=this.maxX;D=D+C){if(!E[D]){this.xTicks[this.xTicks.length]=D;E[D]=true;}}this.xTicks.sort(this.DDM.numericSort);},setYTicks:function(F,C){this.yTicks=[];this.yTickSize=C;var E={};for(var D=this.initPageY;D>=this.minY;D=D-C){if(!E[D]){this.yTicks[this.yTicks.length]=D;E[D]=true;}}for(D=this.initPageY;D<=this.maxY;D=D+C){if(!E[D]){this.yTicks[this.yTicks.length]=D;E[D]=true;}}this.yTicks.sort(this.DDM.numericSort);},setXConstraint:function(E,D,C){this.leftConstraint=parseInt(E,10);this.rightConstraint=parseInt(D,10);this.minX=this.initPageX-this.leftConstraint;this.maxX=this.initPageX+this.rightConstraint;if(C){this.setXTicks(this.initPageX,C);}this.constrainX=true;},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks();},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0;},setYConstraint:function(C,E,D){this.topConstraint=parseInt(C,10);this.bottomConstraint=parseInt(E,10);this.minY=this.initPageY-this.topConstraint;this.maxY=this.initPageY+this.bottomConstraint;if(D){this.setYTicks(this.initPageY,D);
-}this.constrainY=true;},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var D=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var C=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(D,C);}else{this.setInitPosition();}if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize);}if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize);}},getTick:function(I,F){if(!F){return I;}else{if(F[0]>=I){return F[0];}else{for(var D=0,C=F.length;D<C;++D){var E=D+1;if(F[E]&&F[E]>=I){var H=I-F[D];var G=F[E]-I;return(G>H)?F[D]:F[E];}}return F[F.length-1];}}},toString:function(){return("DragDrop "+this.id);}};YAHOO.augment(YAHOO.util.DragDrop,YAHOO.util.EventProvider);})();YAHOO.util.DD=function(C,A,B){if(C){this.init(C,A,B);}};YAHOO.extend(YAHOO.util.DD,YAHOO.util.DragDrop,{scroll:true,autoOffset:function(C,B){var A=C-this.startPageX;var D=B-this.startPageY;this.setDelta(A,D);},setDelta:function(B,A){this.deltaX=B;this.deltaY=A;},setDragElPos:function(C,B){var A=this.getDragEl();this.alignElWithMouse(A,C,B);},alignElWithMouse:function(C,G,F){var E=this.getTargetCoord(G,F);if(!this.deltaSetXY){var H=[E.x,E.y];YAHOO.util.Dom.setXY(C,H);var D=parseInt(YAHOO.util.Dom.getStyle(C,"left"),10);var B=parseInt(YAHOO.util.Dom.getStyle(C,"top"),10);this.deltaSetXY=[D-E.x,B-E.y];}else{YAHOO.util.Dom.setStyle(C,"left",(E.x+this.deltaSetXY[0])+"px");YAHOO.util.Dom.setStyle(C,"top",(E.y+this.deltaSetXY[1])+"px");}this.cachePosition(E.x,E.y);var A=this;setTimeout(function(){A.autoScroll.call(A,E.x,E.y,C.offsetHeight,C.offsetWidth);},0);},cachePosition:function(B,A){if(B){this.lastPageX=B;this.lastPageY=A;}else{var C=YAHOO.util.Dom.getXY(this.getEl());this.lastPageX=C[0];this.lastPageY=C[1];}},autoScroll:function(J,I,E,K){if(this.scroll){var L=this.DDM.getClientHeight();var B=this.DDM.getClientWidth();var N=this.DDM.getScrollTop();var D=this.DDM.getScrollLeft();var H=E+I;var M=K+J;var G=(L+N-I-this.deltaY);var F=(B+D-J-this.deltaX);var C=40;var A=(document.all)?80:30;if(H>L&&G<C){window.scrollTo(D,N+A);}if(I<N&&N>0&&I-N<C){window.scrollTo(D,N-A);}if(M>B&&F<C){window.scrollTo(D+A,N);}if(J<D&&D>0&&J-D<C){window.scrollTo(D-A,N);}}},applyConfig:function(){YAHOO.util.DD.superclass.applyConfig.call(this);this.scroll=(this.config.scroll!==false);},b4MouseDown:function(A){this.setStartPosition();this.autoOffset(YAHOO.util.Event.getPageX(A),YAHOO.util.Event.getPageY(A));},b4Drag:function(A){this.setDragElPos(YAHOO.util.Event.getPageX(A),YAHOO.util.Event.getPageY(A));},toString:function(){return("DD "+this.id);}});YAHOO.util.DDProxy=function(C,A,B){if(C){this.init(C,A,B);this.initFrame();}};YAHOO.util.DDProxy.dragElId="ygddfdiv";YAHOO.extend(YAHOO.util.DDProxy,YAHOO.util.DD,{resizeFrame:true,centerFrame:false,createFrame:function(){var B=this,A=document.body;if(!A||!A.firstChild){setTimeout(function(){B.createFrame();},50);return;}var F=this.getDragEl(),E=YAHOO.util.Dom;if(!F){F=document.createElement("div");F.id=this.dragElId;var D=F.style;D.position="absolute";D.visibility="hidden";D.cursor="move";D.border="2px solid #aaa";D.zIndex=999;D.height="25px";D.width="25px";var C=document.createElement("div");E.setStyle(C,"height","100%");E.setStyle(C,"width","100%");E.setStyle(C,"background-color","#ccc");E.setStyle(C,"opacity","0");F.appendChild(C);A.insertBefore(F,A.firstChild);}},initFrame:function(){this.createFrame();},applyConfig:function(){YAHOO.util.DDProxy.superclass.applyConfig.call(this);this.resizeFrame=(this.config.resizeFrame!==false);this.centerFrame=(this.config.centerFrame);this.setDragElId(this.config.dragElId||YAHOO.util.DDProxy.dragElId);},showFrame:function(E,D){var C=this.getEl();var A=this.getDragEl();var B=A.style;this._resizeProxy();if(this.centerFrame){this.setDelta(Math.round(parseInt(B.width,10)/2),Math.round(parseInt(B.height,10)/2));}this.setDragElPos(E,D);YAHOO.util.Dom.setStyle(A,"visibility","visible");},_resizeProxy:function(){if(this.resizeFrame){var H=YAHOO.util.Dom;var B=this.getEl();var C=this.getDragEl();var G=parseInt(H.getStyle(C,"borderTopWidth"),10);var I=parseInt(H.getStyle(C,"borderRightWidth"),10);var F=parseInt(H.getStyle(C,"borderBottomWidth"),10);var D=parseInt(H.getStyle(C,"borderLeftWidth"),10);if(isNaN(G)){G=0;}if(isNaN(I)){I=0;}if(isNaN(F)){F=0;}if(isNaN(D)){D=0;}var E=Math.max(0,B.offsetWidth-I-D);var A=Math.max(0,B.offsetHeight-G-F);H.setStyle(C,"width",E+"px");H.setStyle(C,"height",A+"px");}},b4MouseDown:function(B){this.setStartPosition();var A=YAHOO.util.Event.getPageX(B);var C=YAHOO.util.Event.getPageY(B);this.autoOffset(A,C);},b4StartDrag:function(A,B){this.showFrame(A,B);},b4EndDrag:function(A){YAHOO.util.Dom.setStyle(this.getDragEl(),"visibility","hidden");},endDrag:function(D){var C=YAHOO.util.Dom;var B=this.getEl();var A=this.getDragEl();C.setStyle(A,"visibility","");C.setStyle(B,"visibility","hidden");YAHOO.util.DDM.moveToEl(B,A);C.setStyle(A,"visibility","hidden");C.setStyle(B,"visibility","");},toString:function(){return("DDProxy "+this.id);}});YAHOO.util.DDTarget=function(C,A,B){if(C){this.initTarget(C,A,B);}};YAHOO.extend(YAHOO.util.DDTarget,YAHOO.util.DragDrop,{toString:function(){return("DDTarget "+this.id);}});YAHOO.register("dragdrop",YAHOO.util.DragDropMgr,{version:"2.7.0",build:"1796"});/*
-Copyright (c) 2009, Yahoo! Inc. All rights reserved.
-Code licensed under the BSD License:
-http://developer.yahoo.net/yui/license.txt
-version: 2.7.0
-*/
-(function(){var B=YAHOO.util.Dom.getXY,A=YAHOO.util.Event,D=Array.prototype.slice;function C(G,E,F,H){C.ANIM_AVAIL=(!YAHOO.lang.isUndefined(YAHOO.util.Anim));if(G){this.init(G,E,true);this.initSlider(H);this.initThumb(F);}}YAHOO.lang.augmentObject(C,{getHorizSlider:function(F,G,I,H,E){return new C(F,F,new YAHOO.widget.SliderThumb(G,F,I,H,0,0,E),"horiz");},getVertSlider:function(G,H,E,I,F){return new C(G,G,new YAHOO.widget.SliderThumb(H,G,0,0,E,I,F),"vert");},getSliderRegion:function(G,H,J,I,E,K,F){return new C(G,G,new YAHOO.widget.SliderThumb(H,G,J,I,E,K,F),"region");},SOURCE_UI_EVENT:1,SOURCE_SET_VALUE:2,SOURCE_KEY_EVENT:3,ANIM_AVAIL:false},true);YAHOO.extend(C,YAHOO.util.DragDrop,{_mouseDown:false,dragOnly:true,initSlider:function(E){this.type=E;this.createEvent("change",this);this.createEvent("slideStart",this);this.createEvent("slideEnd",this);this.isTarget=false;this.animate=C.ANIM_AVAIL;this.backgroundEnabled=true;this.tickPause=40;this.enableKeys=true;this.keyIncrement=20;this.moveComplete=true;this.animationDuration=0.2;this.SOURCE_UI_EVENT=1;this.SOURCE_SET_VALUE=2;this.valueChangeSource=0;this._silent=false;this.lastOffset=[0,0];},initThumb:function(F){var E=this;this.thumb=F;F.cacheBetweenDrags=true;if(F._isHoriz&&F.xTicks&&F.xTicks.length){this.tickPause=Math.round(360/F.xTicks.length);}else{if(F.yTicks&&F.yTicks.length){this.tickPause=Math.round(360/F.yTicks.length);}}F.onAvailable=function(){return E.setStartSliderState();};F.onMouseDown=function(){E._mouseDown=true;return E.focus();};F.startDrag=function(){E._slideStart();};F.onDrag=function(){E.fireEvents(true);};F.onMouseUp=function(){E.thumbMouseUp();};},onAvailable:function(){this._bindKeyEvents();},_bindKeyEvents:function(){A.on(this.id,"keydown",this.handleKeyDown,this,true);A.on(this.id,"keypress",this.handleKeyPress,this,true);},handleKeyPress:function(F){if(this.enableKeys){var E=A.getCharCode(F);switch(E){case 37:case 38:case 39:case 40:case 36:case 35:A.preventDefault(F);break;default:}}},handleKeyDown:function(J){if(this.enableKeys){var G=A.getCharCode(J),F=this.thumb,H=this.getXValue(),E=this.getYValue(),I=true;switch(G){case 37:H-=this.keyIncrement;break;case 38:E-=this.keyIncrement;break;case 39:H+=this.keyIncrement;break;case 40:E+=this.keyIncrement;break;case 36:H=F.leftConstraint;E=F.topConstraint;break;case 35:H=F.rightConstraint;E=F.bottomConstraint;break;default:I=false;}if(I){if(F._isRegion){this._setRegionValue(C.SOURCE_KEY_EVENT,H,E,true);}else{this._setValue(C.SOURCE_KEY_EVENT,(F._isHoriz?H:E),true);}A.stopEvent(J);}}},setStartSliderState:function(){this.setThumbCenterPoint();this.baselinePos=B(this.getEl());this.thumb.startOffset=this.thumb.getOffsetFromParent(this.baselinePos);if(this.thumb._isRegion){if(this.deferredSetRegionValue){this._setRegionValue.apply(this,this.deferredSetRegionValue);this.deferredSetRegionValue=null;}else{this.setRegionValue(0,0,true,true,true);}}else{if(this.deferredSetValue){this._setValue.apply(this,this.deferredSetValue);this.deferredSetValue=null;}else{this.setValue(0,true,true,true);}}},setThumbCenterPoint:function(){var E=this.thumb.getEl();if(E){this.thumbCenterPoint={x:parseInt(E.offsetWidth/2,10),y:parseInt(E.offsetHeight/2,10)};}},lock:function(){this.thumb.lock();this.locked=true;},unlock:function(){this.thumb.unlock();this.locked=false;},thumbMouseUp:function(){this._mouseDown=false;if(!this.isLocked()&&!this.moveComplete){this.endMove();}},onMouseUp:function(){this._mouseDown=false;if(this.backgroundEnabled&&!this.isLocked()&&!this.moveComplete){this.endMove();}},getThumb:function(){return this.thumb;},focus:function(){this.valueChangeSource=C.SOURCE_UI_EVENT;var E=this.getEl();if(E.focus){try{E.focus();}catch(F){}}this.verifyOffset();return !this.isLocked();},onChange:function(E,F){},onSlideStart:function(){},onSlideEnd:function(){},getValue:function(){return this.thumb.getValue();},getXValue:function(){return this.thumb.getXValue();},getYValue:function(){return this.thumb.getYValue();},setValue:function(){var E=D.call(arguments);E.unshift(C.SOURCE_SET_VALUE);return this._setValue.apply(this,E);},_setValue:function(I,L,G,H,E){var F=this.thumb,K,J;if(!F.available){this.deferredSetValue=arguments;return false;}if(this.isLocked()&&!H){return false;}if(isNaN(L)){return false;}if(F._isRegion){return false;}this._silent=E;this.valueChangeSource=I||C.SOURCE_SET_VALUE;F.lastOffset=[L,L];this.verifyOffset(true);this._slideStart();if(F._isHoriz){K=F.initPageX+L+this.thumbCenterPoint.x;this.moveThumb(K,F.initPageY,G);}else{J=F.initPageY+L+this.thumbCenterPoint.y;this.moveThumb(F.initPageX,J,G);}return true;},setRegionValue:function(){var E=D.call(arguments);E.unshift(C.SOURCE_SET_VALUE);return this._setRegionValue.apply(this,E);},_setRegionValue:function(F,J,H,I,G,K){var L=this.thumb,E,M;if(!L.available){this.deferredSetRegionValue=arguments;return false;}if(this.isLocked()&&!G){return false;}if(isNaN(J)){return false;}if(!L._isRegion){return false;}this._silent=K;this.valueChangeSource=F||C.SOURCE_SET_VALUE;L.lastOffset=[J,H];this.verifyOffset(true);this._slideStart();E=L.initPageX+J+this.thumbCenterPoint.x;M=L.initPageY+H+this.thumbCenterPoint.y;this.moveThumb(E,M,I);return true;},verifyOffset:function(F){var G=B(this.getEl()),E=this.thumb;if(!this.thumbCenterPoint||!this.thumbCenterPoint.x){this.setThumbCenterPoint();}if(G){if(G[0]!=this.baselinePos[0]||G[1]!=this.baselinePos[1]){this.setInitPosition();this.baselinePos=G;E.initPageX=this.initPageX+E.startOffset[0];E.initPageY=this.initPageY+E.startOffset[1];E.deltaSetXY=null;this.resetThumbConstraints();return false;}}return true;},moveThumb:function(K,J,I,G){var L=this.thumb,M=this,F,E,H;if(!L.available){return;}L.setDelta(this.thumbCenterPoint.x,this.thumbCenterPoint.y);E=L.getTargetCoord(K,J);F=[Math.round(E.x),Math.round(E.y)];if(this.animate&&L._graduated&&!I){this.lock();this.curCoord=B(this.thumb.getEl());this.curCoord=[Math.round(this.curCoord[0]),Math.round(this.curCoord[1])];setTimeout(function(){M.moveOneTick(F);
-},this.tickPause);}else{if(this.animate&&C.ANIM_AVAIL&&!I){this.lock();H=new YAHOO.util.Motion(L.id,{points:{to:F}},this.animationDuration,YAHOO.util.Easing.easeOut);H.onComplete.subscribe(function(){M.unlock();if(!M._mouseDown){M.endMove();}});H.animate();}else{L.setDragElPos(K,J);if(!G&&!this._mouseDown){this.endMove();}}}},_slideStart:function(){if(!this._sliding){if(!this._silent){this.onSlideStart();this.fireEvent("slideStart");}this._sliding=true;}},_slideEnd:function(){if(this._sliding&&this.moveComplete){var E=this._silent;this._sliding=false;this._silent=false;this.moveComplete=false;if(!E){this.onSlideEnd();this.fireEvent("slideEnd");}}},moveOneTick:function(F){var H=this.thumb,G=this,I=null,E,J;if(H._isRegion){I=this._getNextX(this.curCoord,F);E=(I!==null)?I[0]:this.curCoord[0];I=this._getNextY(this.curCoord,F);J=(I!==null)?I[1]:this.curCoord[1];I=E!==this.curCoord[0]||J!==this.curCoord[1]?[E,J]:null;}else{if(H._isHoriz){I=this._getNextX(this.curCoord,F);}else{I=this._getNextY(this.curCoord,F);}}if(I){this.curCoord=I;this.thumb.alignElWithMouse(H.getEl(),I[0]+this.thumbCenterPoint.x,I[1]+this.thumbCenterPoint.y);if(!(I[0]==F[0]&&I[1]==F[1])){setTimeout(function(){G.moveOneTick(F);},this.tickPause);}else{this.unlock();if(!this._mouseDown){this.endMove();}}}else{this.unlock();if(!this._mouseDown){this.endMove();}}},_getNextX:function(E,F){var H=this.thumb,J,G=[],I=null;if(E[0]>F[0]){J=H.tickSize-this.thumbCenterPoint.x;G=H.getTargetCoord(E[0]-J,E[1]);I=[G.x,G.y];}else{if(E[0]<F[0]){J=H.tickSize+this.thumbCenterPoint.x;G=H.getTargetCoord(E[0]+J,E[1]);I=[G.x,G.y];}else{}}return I;},_getNextY:function(E,F){var H=this.thumb,J,G=[],I=null;if(E[1]>F[1]){J=H.tickSize-this.thumbCenterPoint.y;G=H.getTargetCoord(E[0],E[1]-J);I=[G.x,G.y];}else{if(E[1]<F[1]){J=H.tickSize+this.thumbCenterPoint.y;G=H.getTargetCoord(E[0],E[1]+J);I=[G.x,G.y];}else{}}return I;},b4MouseDown:function(E){if(!this.backgroundEnabled){return false;}this.thumb.autoOffset();this.resetThumbConstraints();},onMouseDown:function(F){if(!this.backgroundEnabled||this.isLocked()){return false;}this._mouseDown=true;var E=A.getPageX(F),G=A.getPageY(F);this.focus();this._slideStart();this.moveThumb(E,G);},onDrag:function(F){if(this.backgroundEnabled&&!this.isLocked()){var E=A.getPageX(F),G=A.getPageY(F);this.moveThumb(E,G,true,true);this.fireEvents();}},endMove:function(){this.unlock();this.fireEvents();this.moveComplete=true;this._slideEnd();},resetThumbConstraints:function(){var E=this.thumb;E.setXConstraint(E.leftConstraint,E.rightConstraint,E.xTickSize);E.setYConstraint(E.topConstraint,E.bottomConstraint,E.xTickSize);},fireEvents:function(G){var F=this.thumb,I,H,E;if(!G){F.cachePosition();}if(!this.isLocked()){if(F._isRegion){I=F.getXValue();H=F.getYValue();if(I!=this.previousX||H!=this.previousY){if(!this._silent){this.onChange(I,H);this.fireEvent("change",{x:I,y:H});}}this.previousX=I;this.previousY=H;}else{E=F.getValue();if(E!=this.previousVal){if(!this._silent){this.onChange(E);this.fireEvent("change",E);}}this.previousVal=E;}}},toString:function(){return("Slider ("+this.type+") "+this.id);}});YAHOO.lang.augmentProto(C,YAHOO.util.EventProvider);YAHOO.widget.Slider=C;})();YAHOO.widget.SliderThumb=function(G,B,E,D,A,F,C){if(G){YAHOO.widget.SliderThumb.superclass.constructor.call(this,G,B);this.parentElId=B;}this.isTarget=false;this.tickSize=C;this.maintainOffset=true;this.initSlider(E,D,A,F,C);this.scroll=false;};YAHOO.extend(YAHOO.widget.SliderThumb,YAHOO.util.DD,{startOffset:null,dragOnly:true,_isHoriz:false,_prevVal:0,_graduated:false,getOffsetFromParent0:function(C){var A=YAHOO.util.Dom.getXY(this.getEl()),B=C||YAHOO.util.Dom.getXY(this.parentElId);return[(A[0]-B[0]),(A[1]-B[1])];},getOffsetFromParent:function(H){var A=this.getEl(),E,I,F,B,K,D,C,J,G;if(!this.deltaOffset){I=YAHOO.util.Dom.getXY(A);F=H||YAHOO.util.Dom.getXY(this.parentElId);E=[(I[0]-F[0]),(I[1]-F[1])];B=parseInt(YAHOO.util.Dom.getStyle(A,"left"),10);K=parseInt(YAHOO.util.Dom.getStyle(A,"top"),10);D=B-E[0];C=K-E[1];if(isNaN(D)||isNaN(C)){}else{this.deltaOffset=[D,C];}}else{J=parseInt(YAHOO.util.Dom.getStyle(A,"left"),10);G=parseInt(YAHOO.util.Dom.getStyle(A,"top"),10);E=[J+this.deltaOffset[0],G+this.deltaOffset[1]];}return E;},initSlider:function(D,C,A,E,B){this.initLeft=D;this.initRight=C;this.initUp=A;this.initDown=E;this.setXConstraint(D,C,B);this.setYConstraint(A,E,B);if(B&&B>1){this._graduated=true;}this._isHoriz=(D||C);this._isVert=(A||E);this._isRegion=(this._isHoriz&&this._isVert);},clearTicks:function(){YAHOO.widget.SliderThumb.superclass.clearTicks.call(this);this.tickSize=0;this._graduated=false;},getValue:function(){return(this._isHoriz)?this.getXValue():this.getYValue();},getXValue:function(){if(!this.available){return 0;}var A=this.getOffsetFromParent();if(YAHOO.lang.isNumber(A[0])){this.lastOffset=A;return(A[0]-this.startOffset[0]);}else{return(this.lastOffset[0]-this.startOffset[0]);}},getYValue:function(){if(!this.available){return 0;}var A=this.getOffsetFromParent();if(YAHOO.lang.isNumber(A[1])){this.lastOffset=A;return(A[1]-this.startOffset[1]);}else{return(this.lastOffset[1]-this.startOffset[1]);}},toString:function(){return"SliderThumb "+this.id;},onChange:function(A,B){}});(function(){var A=YAHOO.util.Event,B=YAHOO.widget;function C(I,F,H,D){var G=this,J={min:false,max:false},E,K;this.minSlider=I;this.maxSlider=F;this.activeSlider=I;this.isHoriz=I.thumb._isHoriz;E=this.minSlider.thumb.onMouseDown;K=this.maxSlider.thumb.onMouseDown;this.minSlider.thumb.onMouseDown=function(){G.activeSlider=G.minSlider;E.apply(this,arguments);};this.maxSlider.thumb.onMouseDown=function(){G.activeSlider=G.maxSlider;K.apply(this,arguments);};this.minSlider.thumb.onAvailable=function(){I.setStartSliderState();J.min=true;if(J.max){G.fireEvent("ready",G);}};this.maxSlider.thumb.onAvailable=function(){F.setStartSliderState();J.max=true;if(J.min){G.fireEvent("ready",G);}};I.onMouseDown=F.onMouseDown=function(L){return this.backgroundEnabled&&G._handleMouseDown(L);
-};I.onDrag=F.onDrag=function(L){G._handleDrag(L);};I.onMouseUp=F.onMouseUp=function(L){G._handleMouseUp(L);};I._bindKeyEvents=function(){G._bindKeyEvents(this);};F._bindKeyEvents=function(){};I.subscribe("change",this._handleMinChange,I,this);I.subscribe("slideStart",this._handleSlideStart,I,this);I.subscribe("slideEnd",this._handleSlideEnd,I,this);F.subscribe("change",this._handleMaxChange,F,this);F.subscribe("slideStart",this._handleSlideStart,F,this);F.subscribe("slideEnd",this._handleSlideEnd,F,this);this.createEvent("ready",this);this.createEvent("change",this);this.createEvent("slideStart",this);this.createEvent("slideEnd",this);D=YAHOO.lang.isArray(D)?D:[0,H];D[0]=Math.min(Math.max(parseInt(D[0],10)|0,0),H);D[1]=Math.max(Math.min(parseInt(D[1],10)|0,H),0);if(D[0]>D[1]){D.splice(0,2,D[1],D[0]);}this.minVal=D[0];this.maxVal=D[1];this.minSlider.setValue(this.minVal,true,true,true);this.maxSlider.setValue(this.maxVal,true,true,true);}C.prototype={minVal:-1,maxVal:-1,minRange:0,_handleSlideStart:function(E,D){this.fireEvent("slideStart",D);},_handleSlideEnd:function(E,D){this.fireEvent("slideEnd",D);},_handleDrag:function(D){B.Slider.prototype.onDrag.call(this.activeSlider,D);},_handleMinChange:function(){this.activeSlider=this.minSlider;this.updateValue();},_handleMaxChange:function(){this.activeSlider=this.maxSlider;this.updateValue();},_bindKeyEvents:function(D){A.on(D.id,"keydown",this._handleKeyDown,this,true);A.on(D.id,"keypress",this._handleKeyPress,this,true);},_handleKeyDown:function(D){this.activeSlider.handleKeyDown.apply(this.activeSlider,arguments);},_handleKeyPress:function(D){this.activeSlider.handleKeyPress.apply(this.activeSlider,arguments);},setValues:function(H,K,I,E,J){var F=this.minSlider,M=this.maxSlider,D=F.thumb,L=M.thumb,N=this,G={min:false,max:false};if(D._isHoriz){D.setXConstraint(D.leftConstraint,L.rightConstraint,D.tickSize);L.setXConstraint(D.leftConstraint,L.rightConstraint,L.tickSize);}else{D.setYConstraint(D.topConstraint,L.bottomConstraint,D.tickSize);L.setYConstraint(D.topConstraint,L.bottomConstraint,L.tickSize);}this._oneTimeCallback(F,"slideEnd",function(){G.min=true;if(G.max){N.updateValue(J);setTimeout(function(){N._cleanEvent(F,"slideEnd");N._cleanEvent(M,"slideEnd");},0);}});this._oneTimeCallback(M,"slideEnd",function(){G.max=true;if(G.min){N.updateValue(J);setTimeout(function(){N._cleanEvent(F,"slideEnd");N._cleanEvent(M,"slideEnd");},0);}});F.setValue(H,I,E,false);M.setValue(K,I,E,false);},setMinValue:function(F,H,I,E){var G=this.minSlider,D=this;this.activeSlider=G;D=this;this._oneTimeCallback(G,"slideEnd",function(){D.updateValue(E);setTimeout(function(){D._cleanEvent(G,"slideEnd");},0);});G.setValue(F,H,I);},setMaxValue:function(D,H,I,F){var G=this.maxSlider,E=this;this.activeSlider=G;this._oneTimeCallback(G,"slideEnd",function(){E.updateValue(F);setTimeout(function(){E._cleanEvent(G,"slideEnd");},0);});G.setValue(D,H,I);},updateValue:function(J){var E=this.minSlider.getValue(),K=this.maxSlider.getValue(),F=false,D,M,H,I,L,G;if(E!=this.minVal||K!=this.maxVal){F=true;D=this.minSlider.thumb;M=this.maxSlider.thumb;H=this.isHoriz?"x":"y";G=this.minSlider.thumbCenterPoint[H]+this.maxSlider.thumbCenterPoint[H];I=Math.max(K-G-this.minRange,0);L=Math.min(-E-G-this.minRange,0);if(this.isHoriz){I=Math.min(I,M.rightConstraint);D.setXConstraint(D.leftConstraint,I,D.tickSize);M.setXConstraint(L,M.rightConstraint,M.tickSize);}else{I=Math.min(I,M.bottomConstraint);D.setYConstraint(D.leftConstraint,I,D.tickSize);M.setYConstraint(L,M.bottomConstraint,M.tickSize);}}this.minVal=E;this.maxVal=K;if(F&&!J){this.fireEvent("change",this);}},selectActiveSlider:function(H){var E=this.minSlider,D=this.maxSlider,J=E.isLocked()||!E.backgroundEnabled,G=D.isLocked()||!E.backgroundEnabled,F=YAHOO.util.Event,I;if(J||G){this.activeSlider=J?D:E;}else{if(this.isHoriz){I=F.getPageX(H)-E.thumb.initPageX-E.thumbCenterPoint.x;}else{I=F.getPageY(H)-E.thumb.initPageY-E.thumbCenterPoint.y;}this.activeSlider=I*2>D.getValue()+E.getValue()?D:E;}},_handleMouseDown:function(D){if(!D._handled){D._handled=true;this.selectActiveSlider(D);return B.Slider.prototype.onMouseDown.call(this.activeSlider,D);}else{return false;}},_handleMouseUp:function(D){B.Slider.prototype.onMouseUp.apply(this.activeSlider,arguments);},_oneTimeCallback:function(F,D,E){F.subscribe(D,function(){F.unsubscribe(D,arguments.callee);E.apply({},[].slice.apply(arguments));});},_cleanEvent:function(K,E){var J,I,D,G,H,F;if(K.__yui_events&&K.events[E]){for(I=K.__yui_events.length;I>=0;--I){if(K.__yui_events[I].type===E){J=K.__yui_events[I];break;}}if(J){H=J.subscribers;F=[];G=0;for(I=0,D=H.length;I<D;++I){if(H[I]){F[G++]=H[I];}}J.subscribers=F;}}}};YAHOO.lang.augmentProto(C,YAHOO.util.EventProvider);B.Slider.getHorizDualSlider=function(H,J,K,G,F,D){var I=new B.SliderThumb(J,H,0,G,0,0,F),E=new B.SliderThumb(K,H,0,G,0,0,F);return new C(new B.Slider(H,H,I,"horiz"),new B.Slider(H,H,E,"horiz"),G,D);};B.Slider.getVertDualSlider=function(H,J,K,G,F,D){var I=new B.SliderThumb(J,H,0,0,0,G,F),E=new B.SliderThumb(K,H,0,0,0,G,F);return new B.DualSlider(new B.Slider(H,H,I,"vert"),new B.Slider(H,H,E,"vert"),G,D);};YAHOO.widget.DualSlider=C;})();YAHOO.register("slider",YAHOO.widget.Slider,{version:"2.7.0",build:"1796"});/*
-Copyright (c) 2009, Yahoo! Inc. All rights reserved.
-Code licensed under the BSD License:
-http://developer.yahoo.net/yui/license.txt
-version: 2.7.0
-*/
-YAHOO.util.Attribute=function(B,A){if(A){this.owner=A;this.configure(B,true);}};YAHOO.util.Attribute.prototype={name:undefined,value:null,owner:null,readOnly:false,writeOnce:false,_initialConfig:null,_written:false,method:null,setter:null,getter:null,validator:null,getValue:function(){var A=this.value;if(this.getter){A=this.getter.call(this.owner,this.name);}return A;},setValue:function(F,B){var E,A=this.owner,C=this.name;var D={type:C,prevValue:this.getValue(),newValue:F};if(this.readOnly||(this.writeOnce&&this._written)){return false;}if(this.validator&&!this.validator.call(A,F)){return false;}if(!B){E=A.fireBeforeChangeEvent(D);if(E===false){return false;}}if(this.setter){F=this.setter.call(A,F,this.name);if(F===undefined){}}if(this.method){this.method.call(A,F,this.name);}this.value=F;this._written=true;D.type=C;if(!B){this.owner.fireChangeEvent(D);}return true;},configure:function(B,C){B=B||{};if(C){this._written=false;}this._initialConfig=this._initialConfig||{};for(var A in B){if(B.hasOwnProperty(A)){this[A]=B[A];if(C){this._initialConfig[A]=B[A];}}}},resetValue:function(){return this.setValue(this._initialConfig.value);},resetConfig:function(){this.configure(this._initialConfig,true);},refresh:function(A){this.setValue(this.value,A);}};(function(){var A=YAHOO.util.Lang;YAHOO.util.AttributeProvider=function(){};YAHOO.util.AttributeProvider.prototype={_configs:null,get:function(C){this._configs=this._configs||{};var B=this._configs[C];if(!B||!this._configs.hasOwnProperty(C)){return null;}return B.getValue();},set:function(D,E,B){this._configs=this._configs||{};var C=this._configs[D];if(!C){return false;}return C.setValue(E,B);},getAttributeKeys:function(){this._configs=this._configs;var C=[],B;for(B in this._configs){if(A.hasOwnProperty(this._configs,B)&&!A.isUndefined(this._configs[B])){C[C.length]=B;}}return C;},setAttributes:function(D,B){for(var C in D){if(A.hasOwnProperty(D,C)){this.set(C,D[C],B);}}},resetValue:function(C,B){this._configs=this._configs||{};if(this._configs[C]){this.set(C,this._configs[C]._initialConfig.value,B);return true;}return false;},refresh:function(E,C){this._configs=this._configs||{};var F=this._configs;E=((A.isString(E))?[E]:E)||this.getAttributeKeys();for(var D=0,B=E.length;D<B;++D){if(F.hasOwnProperty(E[D])){this._configs[E[D]].refresh(C);}}},register:function(B,C){this.setAttributeConfig(B,C);},getAttributeConfig:function(C){this._configs=this._configs||{};var B=this._configs[C]||{};var D={};for(C in B){if(A.hasOwnProperty(B,C)){D[C]=B[C];}}return D;},setAttributeConfig:function(B,C,D){this._configs=this._configs||{};C=C||{};if(!this._configs[B]){C.name=B;this._configs[B]=this.createAttribute(C);}else{this._configs[B].configure(C,D);}},configureAttribute:function(B,C,D){this.setAttributeConfig(B,C,D);},resetAttributeConfig:function(B){this._configs=this._configs||{};this._configs[B].resetConfig();},subscribe:function(B,C){this._events=this._events||{};if(!(B in this._events)){this._events[B]=this.createEvent(B);}YAHOO.util.EventProvider.prototype.subscribe.apply(this,arguments);},on:function(){this.subscribe.apply(this,arguments);},addListener:function(){this.subscribe.apply(this,arguments);},fireBeforeChangeEvent:function(C){var B="before";B+=C.type.charAt(0).toUpperCase()+C.type.substr(1)+"Change";C.type=B;return this.fireEvent(C.type,C);},fireChangeEvent:function(B){B.type+="Change";return this.fireEvent(B.type,B);},createAttribute:function(B){return new YAHOO.util.Attribute(B,this);}};YAHOO.augment(YAHOO.util.AttributeProvider,YAHOO.util.EventProvider);})();(function(){var B=YAHOO.util.Dom,C=YAHOO.util.AttributeProvider;var A=function(D,E){this.init.apply(this,arguments);};A.DOM_EVENTS={"click":true,"dblclick":true,"keydown":true,"keypress":true,"keyup":true,"mousedown":true,"mousemove":true,"mouseout":true,"mouseover":true,"mouseup":true,"focus":true,"blur":true,"submit":true,"change":true};A.prototype={DOM_EVENTS:null,DEFAULT_HTML_SETTER:function(F,D){var E=this.get("element");if(E){E[D]=F;}},DEFAULT_HTML_GETTER:function(D){var E=this.get("element"),F;if(E){F=E[D];}return F;},appendChild:function(D){D=D.get?D.get("element"):D;return this.get("element").appendChild(D);},getElementsByTagName:function(D){return this.get("element").getElementsByTagName(D);},hasChildNodes:function(){return this.get("element").hasChildNodes();},insertBefore:function(D,E){D=D.get?D.get("element"):D;E=(E&&E.get)?E.get("element"):E;return this.get("element").insertBefore(D,E);},removeChild:function(D){D=D.get?D.get("element"):D;return this.get("element").removeChild(D);},replaceChild:function(D,E){D=D.get?D.get("element"):D;E=E.get?E.get("element"):E;return this.get("element").replaceChild(D,E);},initAttributes:function(D){},addListener:function(H,G,I,F){var E=this.get("element")||this.get("id");F=F||this;var D=this;if(!this._events[H]){if(E&&this.DOM_EVENTS[H]){YAHOO.util.Event.addListener(E,H,function(J){if(J.srcElement&&!J.target){J.target=J.srcElement;}D.fireEvent(H,J);},I,F);}this.createEvent(H,this);}return YAHOO.util.EventProvider.prototype.subscribe.apply(this,arguments);},on:function(){return this.addListener.apply(this,arguments);},subscribe:function(){return this.addListener.apply(this,arguments);},removeListener:function(E,D){return this.unsubscribe.apply(this,arguments);},addClass:function(D){B.addClass(this.get("element"),D);},getElementsByClassName:function(E,D){return B.getElementsByClassName(E,D,this.get("element"));},hasClass:function(D){return B.hasClass(this.get("element"),D);},removeClass:function(D){return B.removeClass(this.get("element"),D);},replaceClass:function(E,D){return B.replaceClass(this.get("element"),E,D);},setStyle:function(E,D){return B.setStyle(this.get("element"),E,D);},getStyle:function(D){return B.getStyle(this.get("element"),D);},fireQueue:function(){var E=this._queue;for(var F=0,D=E.length;F<D;++F){this[E[F][0]].apply(this,E[F][1]);}},appendTo:function(E,F){E=(E.get)?E.get("element"):B.get(E);this.fireEvent("beforeAppendTo",{type:"beforeAppendTo",target:E});
-F=(F&&F.get)?F.get("element"):B.get(F);var D=this.get("element");if(!D){return false;}if(!E){return false;}if(D.parent!=E){if(F){E.insertBefore(D,F);}else{E.appendChild(D);}}this.fireEvent("appendTo",{type:"appendTo",target:E});return D;},get:function(D){var F=this._configs||{},E=F.element;if(E&&!F[D]&&!YAHOO.lang.isUndefined(E.value[D])){this._setHTMLAttrConfig(D);}return C.prototype.get.call(this,D);},setAttributes:function(J,G){var E={},H=this._configOrder;for(var I=0,D=H.length;I<D;++I){if(J[H[I]]!==undefined){E[H[I]]=true;this.set(H[I],J[H[I]],G);}}for(var F in J){if(J.hasOwnProperty(F)&&!E[F]){this.set(F,J[F],G);}}},set:function(E,G,D){var F=this.get("element");if(!F){this._queue[this._queue.length]=["set",arguments];if(this._configs[E]){this._configs[E].value=G;}return;}if(!this._configs[E]&&!YAHOO.lang.isUndefined(F[E])){this._setHTMLAttrConfig(E);}return C.prototype.set.apply(this,arguments);},setAttributeConfig:function(D,E,F){this._configOrder.push(D);C.prototype.setAttributeConfig.apply(this,arguments);},createEvent:function(E,D){this._events[E]=true;return C.prototype.createEvent.apply(this,arguments);},init:function(E,D){this._initElement(E,D);},destroy:function(){var D=this.get("element");YAHOO.util.Event.purgeElement(D,true);this.unsubscribeAll();if(D&&D.parentNode){D.parentNode.removeChild(D);}this._queue=[];this._events={};this._configs={};this._configOrder=[];},_initElement:function(F,E){this._queue=this._queue||[];this._events=this._events||{};this._configs=this._configs||{};this._configOrder=[];E=E||{};E.element=E.element||F||null;var H=false;var D=A.DOM_EVENTS;this.DOM_EVENTS=this.DOM_EVENTS||{};for(var G in D){if(D.hasOwnProperty(G)){this.DOM_EVENTS[G]=D[G];}}if(typeof E.element==="string"){this._setHTMLAttrConfig("id",{value:E.element});}if(B.get(E.element)){H=true;this._initHTMLElement(E);this._initContent(E);}YAHOO.util.Event.onAvailable(E.element,function(){if(!H){this._initHTMLElement(E);}this.fireEvent("available",{type:"available",target:B.get(E.element)});},this,true);YAHOO.util.Event.onContentReady(E.element,function(){if(!H){this._initContent(E);}this.fireEvent("contentReady",{type:"contentReady",target:B.get(E.element)});},this,true);},_initHTMLElement:function(D){this.setAttributeConfig("element",{value:B.get(D.element),readOnly:true});},_initContent:function(D){this.initAttributes(D);this.setAttributes(D,true);this.fireQueue();},_setHTMLAttrConfig:function(D,F){var E=this.get("element");F=F||{};F.name=D;F.setter=F.setter||this.DEFAULT_HTML_SETTER;F.getter=F.getter||this.DEFAULT_HTML_GETTER;F.value=F.value||E[D];this._configs[D]=new YAHOO.util.Attribute(F,this);}};YAHOO.augment(A,C);YAHOO.util.Element=A;})();YAHOO.register("element",YAHOO.util.Element,{version:"2.7.0",build:"1796"});/*
-Copyright (c) 2009, Yahoo! Inc. All rights reserved.
-Code licensed under the BSD License:
-http://developer.yahoo.net/yui/license.txt
-version: 2.7.0
-*/
-YAHOO.util.Color=function(){var A="0",B=YAHOO.lang.isArray,C=YAHOO.lang.isNumber;return{real2dec:function(D){return Math.min(255,Math.round(D*256));},hsv2rgb:function(H,O,M){if(B(H)){return this.hsv2rgb.call(this,H[0],H[1],H[2]);}var D,I,L,G=Math.floor((H/60)%6),J=(H/60)-G,F=M*(1-O),E=M*(1-J*O),N=M*(1-(1-J)*O),K;switch(G){case 0:D=M;I=N;L=F;break;case 1:D=E;I=M;L=F;break;case 2:D=F;I=M;L=N;break;case 3:D=F;I=E;L=M;break;case 4:D=N;I=F;L=M;break;case 5:D=M;I=F;L=E;break;}K=this.real2dec;return[K(D),K(I),K(L)];},rgb2hsv:function(D,H,I){if(B(D)){return this.rgb2hsv.apply(this,D);}D/=255;H/=255;I/=255;var G,L,E=Math.min(Math.min(D,H),I),J=Math.max(Math.max(D,H),I),K=J-E,F;switch(J){case E:G=0;break;case D:G=60*(H-I)/K;if(H<I){G+=360;}break;case H:G=(60*(I-D)/K)+120;break;case I:G=(60*(D-H)/K)+240;break;}L=(J===0)?0:1-(E/J);F=[Math.round(G),L,J];return F;},rgb2hex:function(F,E,D){if(B(F)){return this.rgb2hex.apply(this,F);}var G=this.dec2hex;return G(F)+G(E)+G(D);},dec2hex:function(D){D=parseInt(D,10)|0;D=(D>255||D<0)?0:D;return(A+D.toString(16)).slice(-2).toUpperCase();},hex2dec:function(D){return parseInt(D,16);},hex2rgb:function(D){var E=this.hex2dec;return[E(D.slice(0,2)),E(D.slice(2,4)),E(D.slice(4,6))];},websafe:function(F,E,D){if(B(F)){return this.websafe.apply(this,F);}var G=function(H){if(C(H)){H=Math.min(Math.max(0,H),255);var I,J;for(I=0;I<256;I=I+51){J=I+51;if(H>=I&&H<=J){return(H-I>25)?J:I;}}}return H;};return[G(F),G(E),G(D)];}};}();(function(){var J=0,F=YAHOO.util,C=YAHOO.lang,D=YAHOO.widget.Slider,B=F.Color,E=F.Dom,I=F.Event,A=C.substitute,H="yui-picker";function G(L,K){J=J+1;K=K||{};if(arguments.length===1&&!YAHOO.lang.isString(L)&&!L.nodeName){K=L;L=K.element||null;}if(!L&&!K.element){L=this._createHostElement(K);}G.superclass.constructor.call(this,L,K);this.initPicker();}YAHOO.extend(G,YAHOO.util.Element,{ID:{R:H+"-r",R_HEX:H+"-rhex",G:H+"-g",G_HEX:H+"-ghex",B:H+"-b",B_HEX:H+"-bhex",H:H+"-h",S:H+"-s",V:H+"-v",PICKER_BG:H+"-bg",PICKER_THUMB:H+"-thumb",HUE_BG:H+"-hue-bg",HUE_THUMB:H+"-hue-thumb",HEX:H+"-hex",SWATCH:H+"-swatch",WEBSAFE_SWATCH:H+"-websafe-swatch",CONTROLS:H+"-controls",RGB_CONTROLS:H+"-rgb-controls",HSV_CONTROLS:H+"-hsv-controls",HEX_CONTROLS:H+"-hex-controls",HEX_SUMMARY:H+"-hex-summary",CONTROLS_LABEL:H+"-controls-label"},TXT:{ILLEGAL_HEX:"Illegal hex value entered",SHOW_CONTROLS:"Show color details",HIDE_CONTROLS:"Hide color details",CURRENT_COLOR:"Currently selected color: {rgb}",CLOSEST_WEBSAFE:"Closest websafe color: {rgb}. Click to select.",R:"R",G:"G",B:"B",H:"H",S:"S",V:"V",HEX:"#",DEG:"\u00B0",PERCENT:"%"},IMAGE:{PICKER_THUMB:"../../build/colorpicker/assets/picker_thumb.png",HUE_THUMB:"../../build/colorpicker/assets/hue_thumb.png"},DEFAULT:{PICKER_SIZE:180},OPT:{HUE:"hue",SATURATION:"saturation",VALUE:"value",RED:"red",GREEN:"green",BLUE:"blue",HSV:"hsv",RGB:"rgb",WEBSAFE:"websafe",HEX:"hex",PICKER_SIZE:"pickersize",SHOW_CONTROLS:"showcontrols",SHOW_RGB_CONTROLS:"showrgbcontrols",SHOW_HSV_CONTROLS:"showhsvcontrols",SHOW_HEX_CONTROLS:"showhexcontrols",SHOW_HEX_SUMMARY:"showhexsummary",SHOW_WEBSAFE:"showwebsafe",CONTAINER:"container",IDS:"ids",ELEMENTS:"elements",TXT:"txt",IMAGES:"images",ANIMATE:"animate"},skipAnim:true,_createHostElement:function(){var K=document.createElement("div");if(this.CSS.BASE){K.className=this.CSS.BASE;}return K;},_updateHueSlider:function(){var K=this.get(this.OPT.PICKER_SIZE),L=this.get(this.OPT.HUE);L=K-Math.round(L/360*K);if(L===K){L=0;}this.hueSlider.setValue(L,this.skipAnim);},_updatePickerSlider:function(){var L=this.get(this.OPT.PICKER_SIZE),M=this.get(this.OPT.SATURATION),K=this.get(this.OPT.VALUE);M=Math.round(M*L/100);K=Math.round(L-(K*L/100));this.pickerSlider.setRegionValue(M,K,this.skipAnim);},_updateSliders:function(){this._updateHueSlider();this._updatePickerSlider();},setValue:function(L,K){K=(K)||false;this.set(this.OPT.RGB,L,K);this._updateSliders();},hueSlider:null,pickerSlider:null,_getH:function(){var K=this.get(this.OPT.PICKER_SIZE),L=(K-this.hueSlider.getValue())/K;L=Math.round(L*360);return(L===360)?0:L;},_getS:function(){return this.pickerSlider.getXValue()/this.get(this.OPT.PICKER_SIZE);},_getV:function(){var K=this.get(this.OPT.PICKER_SIZE);return(K-this.pickerSlider.getYValue())/K;},_updateSwatch:function(){var M=this.get(this.OPT.RGB),O=this.get(this.OPT.WEBSAFE),N=this.getElement(this.ID.SWATCH),L=M.join(","),K=this.get(this.OPT.TXT);E.setStyle(N,"background-color","rgb("+L+")");N.title=A(K.CURRENT_COLOR,{"rgb":"#"+this.get(this.OPT.HEX)});N=this.getElement(this.ID.WEBSAFE_SWATCH);L=O.join(",");E.setStyle(N,"background-color","rgb("+L+")");N.title=A(K.CLOSEST_WEBSAFE,{"rgb":"#"+B.rgb2hex(O)});},_getValuesFromSliders:function(){this.set(this.OPT.RGB,B.hsv2rgb(this._getH(),this._getS(),this._getV()));},_updateFormFields:function(){this.getElement(this.ID.H).value=this.get(this.OPT.HUE);this.getElement(this.ID.S).value=this.get(this.OPT.SATURATION);this.getElement(this.ID.V).value=this.get(this.OPT.VALUE);this.getElement(this.ID.R).value=this.get(this.OPT.RED);this.getElement(this.ID.R_HEX).innerHTML=B.dec2hex(this.get(this.OPT.RED));this.getElement(this.ID.G).value=this.get(this.OPT.GREEN);this.getElement(this.ID.G_HEX).innerHTML=B.dec2hex(this.get(this.OPT.GREEN));this.getElement(this.ID.B).value=this.get(this.OPT.BLUE);this.getElement(this.ID.B_HEX).innerHTML=B.dec2hex(this.get(this.OPT.BLUE));this.getElement(this.ID.HEX).value=this.get(this.OPT.HEX);},_onHueSliderChange:function(N){var L=this._getH(),K=B.hsv2rgb(L,1,1),M="rgb("+K.join(",")+")";this.set(this.OPT.HUE,L,true);E.setStyle(this.getElement(this.ID.PICKER_BG),"background-color",M);if(this.hueSlider.valueChangeSource!==D.SOURCE_SET_VALUE){this._getValuesFromSliders();}this._updateFormFields();this._updateSwatch();},_onPickerSliderChange:function(M){var L=this._getS(),K=this._getV();this.set(this.OPT.SATURATION,Math.round(L*100),true);this.set(this.OPT.VALUE,Math.round(K*100),true);if(this.pickerSlider.valueChangeSource!==D.SOURCE_SET_VALUE){this._getValuesFromSliders();
-}this._updateFormFields();this._updateSwatch();},_getCommand:function(K){var L=I.getCharCode(K);if(L===38){return 3;}else{if(L===13){return 6;}else{if(L===40){return 4;}else{if(L>=48&&L<=57){return 1;}else{if(L>=97&&L<=102){return 2;}else{if(L>=65&&L<=70){return 2;}else{if("8, 9, 13, 27, 37, 39".indexOf(L)>-1||K.ctrlKey||K.metaKey){return 5;}else{return 0;}}}}}}}},_useFieldValue:function(L,K,N){var M=K.value;if(N!==this.OPT.HEX){M=parseInt(M,10);}if(M!==this.get(N)){this.set(N,M);}},_rgbFieldKeypress:function(M,K,O){var N=this._getCommand(M),L=(M.shiftKey)?10:1;switch(N){case 6:this._useFieldValue.apply(this,arguments);break;case 3:this.set(O,Math.min(this.get(O)+L,255));this._updateFormFields();break;case 4:this.set(O,Math.max(this.get(O)-L,0));this._updateFormFields();break;default:}},_hexFieldKeypress:function(L,K,N){var M=this._getCommand(L);if(M===6){this._useFieldValue.apply(this,arguments);}},_hexOnly:function(L,K){var M=this._getCommand(L);switch(M){case 6:case 5:case 1:break;case 2:if(K!==true){break;}default:I.stopEvent(L);return false;}},_numbersOnly:function(K){return this._hexOnly(K,true);},getElement:function(K){return this.get(this.OPT.ELEMENTS)[this.get(this.OPT.IDS)[K]];},_createElements:function(){var N,M,P,O,L,K=this.get(this.OPT.IDS),Q=this.get(this.OPT.TXT),S=this.get(this.OPT.IMAGES),R=function(U,V){var W=document.createElement(U);if(V){C.augmentObject(W,V,true);}return W;},T=function(U,V){var W=C.merge({autocomplete:"off",value:"0",size:3,maxlength:3},V);W.name=W.id;return new R(U,W);};L=this.get("element");N=new R("div",{id:K[this.ID.PICKER_BG],className:"yui-picker-bg",tabIndex:-1,hideFocus:true});M=new R("div",{id:K[this.ID.PICKER_THUMB],className:"yui-picker-thumb"});P=new R("img",{src:S.PICKER_THUMB});M.appendChild(P);N.appendChild(M);L.appendChild(N);N=new R("div",{id:K[this.ID.HUE_BG],className:"yui-picker-hue-bg",tabIndex:-1,hideFocus:true});M=new R("div",{id:K[this.ID.HUE_THUMB],className:"yui-picker-hue-thumb"});P=new R("img",{src:S.HUE_THUMB});M.appendChild(P);N.appendChild(M);L.appendChild(N);N=new R("div",{id:K[this.ID.CONTROLS],className:"yui-picker-controls"});L.appendChild(N);L=N;N=new R("div",{className:"hd"});M=new R("a",{id:K[this.ID.CONTROLS_LABEL],href:"#"});N.appendChild(M);L.appendChild(N);N=new R("div",{className:"bd"});L.appendChild(N);L=N;N=new R("ul",{id:K[this.ID.RGB_CONTROLS],className:"yui-picker-rgb-controls"});M=new R("li");M.appendChild(document.createTextNode(Q.R+" "));O=new T("input",{id:K[this.ID.R],className:"yui-picker-r"});M.appendChild(O);N.appendChild(M);M=new R("li");M.appendChild(document.createTextNode(Q.G+" "));O=new T("input",{id:K[this.ID.G],className:"yui-picker-g"});M.appendChild(O);N.appendChild(M);M=new R("li");M.appendChild(document.createTextNode(Q.B+" "));O=new T("input",{id:K[this.ID.B],className:"yui-picker-b"});M.appendChild(O);N.appendChild(M);L.appendChild(N);N=new R("ul",{id:K[this.ID.HSV_CONTROLS],className:"yui-picker-hsv-controls"});M=new R("li");M.appendChild(document.createTextNode(Q.H+" "));O=new T("input",{id:K[this.ID.H],className:"yui-picker-h"});M.appendChild(O);M.appendChild(document.createTextNode(" "+Q.DEG));N.appendChild(M);M=new R("li");M.appendChild(document.createTextNode(Q.S+" "));O=new T("input",{id:K[this.ID.S],className:"yui-picker-s"});M.appendChild(O);M.appendChild(document.createTextNode(" "+Q.PERCENT));N.appendChild(M);M=new R("li");M.appendChild(document.createTextNode(Q.V+" "));O=new T("input",{id:K[this.ID.V],className:"yui-picker-v"});M.appendChild(O);M.appendChild(document.createTextNode(" "+Q.PERCENT));N.appendChild(M);L.appendChild(N);N=new R("ul",{id:K[this.ID.HEX_SUMMARY],className:"yui-picker-hex_summary"});M=new R("li",{id:K[this.ID.R_HEX]});N.appendChild(M);M=new R("li",{id:K[this.ID.G_HEX]});N.appendChild(M);M=new R("li",{id:K[this.ID.B_HEX]});N.appendChild(M);L.appendChild(N);N=new R("div",{id:K[this.ID.HEX_CONTROLS],className:"yui-picker-hex-controls"});N.appendChild(document.createTextNode(Q.HEX+" "));M=new T("input",{id:K[this.ID.HEX],className:"yui-picker-hex",size:6,maxlength:6});N.appendChild(M);L.appendChild(N);L=this.get("element");N=new R("div",{id:K[this.ID.SWATCH],className:"yui-picker-swatch"});L.appendChild(N);N=new R("div",{id:K[this.ID.WEBSAFE_SWATCH],className:"yui-picker-websafe-swatch"});L.appendChild(N);},_attachRGBHSV:function(L,K){I.on(this.getElement(L),"keydown",function(N,M){M._rgbFieldKeypress(N,this,K);},this);I.on(this.getElement(L),"keypress",this._numbersOnly,this,true);I.on(this.getElement(L),"blur",function(N,M){M._useFieldValue(N,this,K);},this);},_updateRGB:function(){var K=[this.get(this.OPT.RED),this.get(this.OPT.GREEN),this.get(this.OPT.BLUE)];this.set(this.OPT.RGB,K);this._updateSliders();},_initElements:function(){var O=this.OPT,N=this.get(O.IDS),L=this.get(O.ELEMENTS),K,M,P;for(K in this.ID){if(C.hasOwnProperty(this.ID,K)){N[this.ID[K]]=N[K];}}M=E.get(N[this.ID.PICKER_BG]);if(!M){this._createElements();}else{}for(K in N){if(C.hasOwnProperty(N,K)){M=E.get(N[K]);P=E.generateId(M);N[K]=P;N[N[K]]=P;L[P]=M;}}},initPicker:function(){this._initSliders();this._bindUI();this.syncUI(true);},_initSliders:function(){var K=this.ID,L=this.get(this.OPT.PICKER_SIZE);this.hueSlider=D.getVertSlider(this.getElement(K.HUE_BG),this.getElement(K.HUE_THUMB),0,L);this.pickerSlider=D.getSliderRegion(this.getElement(K.PICKER_BG),this.getElement(K.PICKER_THUMB),0,L,0,L);this.set(this.OPT.ANIMATE,this.get(this.OPT.ANIMATE));},_bindUI:function(){var K=this.ID,L=this.OPT;this.hueSlider.subscribe("change",this._onHueSliderChange,this,true);this.pickerSlider.subscribe("change",this._onPickerSliderChange,this,true);I.on(this.getElement(K.WEBSAFE_SWATCH),"click",function(M){this.setValue(this.get(L.WEBSAFE));},this,true);I.on(this.getElement(K.CONTROLS_LABEL),"click",function(M){this.set(L.SHOW_CONTROLS,!this.get(L.SHOW_CONTROLS));I.preventDefault(M);},this,true);this._attachRGBHSV(K.R,L.RED);this._attachRGBHSV(K.G,L.GREEN);this._attachRGBHSV(K.B,L.BLUE);this._attachRGBHSV(K.H,L.HUE);
-this._attachRGBHSV(K.S,L.SATURATION);this._attachRGBHSV(K.V,L.VALUE);I.on(this.getElement(K.HEX),"keydown",function(N,M){M._hexFieldKeypress(N,this,L.HEX);},this);I.on(this.getElement(this.ID.HEX),"keypress",this._hexOnly,this,true);I.on(this.getElement(this.ID.HEX),"blur",function(N,M){M._useFieldValue(N,this,L.HEX);},this);},syncUI:function(K){this.skipAnim=K;this._updateRGB();this.skipAnim=false;},_updateRGBFromHSV:function(){var L=[this.get(this.OPT.HUE),this.get(this.OPT.SATURATION)/100,this.get(this.OPT.VALUE)/100],K=B.hsv2rgb(L);this.set(this.OPT.RGB,K);this._updateSliders();},_updateHex:function(){var N=this.get(this.OPT.HEX),K=N.length,O,M,L;if(K===3){O=N.split("");for(M=0;M<K;M=M+1){O[M]=O[M]+O[M];}N=O.join("");}if(N.length!==6){return false;}L=B.hex2rgb(N);this.setValue(L);},_hideShowEl:function(M,K){var L=(C.isString(M)?this.getElement(M):M);E.setStyle(L,"display",(K)?"":"none");},initAttributes:function(K){K=K||{};G.superclass.initAttributes.call(this,K);this.setAttributeConfig(this.OPT.PICKER_SIZE,{value:K.size||this.DEFAULT.PICKER_SIZE});this.setAttributeConfig(this.OPT.HUE,{value:K.hue||0,validator:C.isNumber});this.setAttributeConfig(this.OPT.SATURATION,{value:K.saturation||0,validator:C.isNumber});this.setAttributeConfig(this.OPT.VALUE,{value:C.isNumber(K.value)?K.value:100,validator:C.isNumber});this.setAttributeConfig(this.OPT.RED,{value:C.isNumber(K.red)?K.red:255,validator:C.isNumber});this.setAttributeConfig(this.OPT.GREEN,{value:C.isNumber(K.green)?K.green:255,validator:C.isNumber});this.setAttributeConfig(this.OPT.BLUE,{value:C.isNumber(K.blue)?K.blue:255,validator:C.isNumber});this.setAttributeConfig(this.OPT.HEX,{value:K.hex||"FFFFFF",validator:C.isString});this.setAttributeConfig(this.OPT.RGB,{value:K.rgb||[255,255,255],method:function(O){this.set(this.OPT.RED,O[0],true);this.set(this.OPT.GREEN,O[1],true);this.set(this.OPT.BLUE,O[2],true);var Q=B.websafe(O),P=B.rgb2hex(O),N=B.rgb2hsv(O);this.set(this.OPT.WEBSAFE,Q,true);this.set(this.OPT.HEX,P,true);if(N[1]){this.set(this.OPT.HUE,N[0],true);}this.set(this.OPT.SATURATION,Math.round(N[1]*100),true);this.set(this.OPT.VALUE,Math.round(N[2]*100),true);},readonly:true});this.setAttributeConfig(this.OPT.CONTAINER,{value:null,method:function(N){if(N){N.showEvent.subscribe(function(){this.pickerSlider.focus();},this,true);}}});this.setAttributeConfig(this.OPT.WEBSAFE,{value:K.websafe||[255,255,255]});var M=K.ids||C.merge({},this.ID),L;if(!K.ids&&J>1){for(L in M){if(C.hasOwnProperty(M,L)){M[L]=M[L]+J;}}}this.setAttributeConfig(this.OPT.IDS,{value:M,writeonce:true});this.setAttributeConfig(this.OPT.TXT,{value:K.txt||this.TXT,writeonce:true});this.setAttributeConfig(this.OPT.IMAGES,{value:K.images||this.IMAGE,writeonce:true});this.setAttributeConfig(this.OPT.ELEMENTS,{value:{},readonly:true});this.setAttributeConfig(this.OPT.SHOW_CONTROLS,{value:C.isBoolean(K.showcontrols)?K.showcontrols:true,method:function(N){var O=E.getElementsByClassName("bd","div",this.getElement(this.ID.CONTROLS))[0];this._hideShowEl(O,N);this.getElement(this.ID.CONTROLS_LABEL).innerHTML=(N)?this.get(this.OPT.TXT).HIDE_CONTROLS:this.get(this.OPT.TXT).SHOW_CONTROLS;}});this.setAttributeConfig(this.OPT.SHOW_RGB_CONTROLS,{value:C.isBoolean(K.showrgbcontrols)?K.showrgbcontrols:true,method:function(N){this._hideShowEl(this.ID.RGB_CONTROLS,N);}});this.setAttributeConfig(this.OPT.SHOW_HSV_CONTROLS,{value:C.isBoolean(K.showhsvcontrols)?K.showhsvcontrols:false,method:function(N){this._hideShowEl(this.ID.HSV_CONTROLS,N);if(N&&this.get(this.OPT.SHOW_HEX_SUMMARY)){this.set(this.OPT.SHOW_HEX_SUMMARY,false);}}});this.setAttributeConfig(this.OPT.SHOW_HEX_CONTROLS,{value:C.isBoolean(K.showhexcontrols)?K.showhexcontrols:false,method:function(N){this._hideShowEl(this.ID.HEX_CONTROLS,N);}});this.setAttributeConfig(this.OPT.SHOW_WEBSAFE,{value:C.isBoolean(K.showwebsafe)?K.showwebsafe:true,method:function(N){this._hideShowEl(this.ID.WEBSAFE_SWATCH,N);}});this.setAttributeConfig(this.OPT.SHOW_HEX_SUMMARY,{value:C.isBoolean(K.showhexsummary)?K.showhexsummary:true,method:function(N){this._hideShowEl(this.ID.HEX_SUMMARY,N);if(N&&this.get(this.OPT.SHOW_HSV_CONTROLS)){this.set(this.OPT.SHOW_HSV_CONTROLS,false);}}});this.setAttributeConfig(this.OPT.ANIMATE,{value:C.isBoolean(K.animate)?K.animate:true,method:function(N){if(this.pickerSlider){this.pickerSlider.animate=N;this.hueSlider.animate=N;}}});this.on(this.OPT.HUE+"Change",this._updateRGBFromHSV,this,true);this.on(this.OPT.SATURATION+"Change",this._updateRGBFromHSV,this,true);this.on(this.OPT.VALUE+"Change",this._updateRGBFromHSV,this,true);this.on(this.OPT.RED+"Change",this._updateRGB,this,true);this.on(this.OPT.GREEN+"Change",this._updateRGB,this,true);this.on(this.OPT.BLUE+"Change",this._updateRGB,this,true);this.on(this.OPT.HEX+"Change",this._updateHex,this,true);this._initElements();}});YAHOO.widget.ColorPicker=G;})();YAHOO.register("colorpicker",YAHOO.widget.ColorPicker,{version:"2.7.0",build:"1796"});
-
-/*
-Copyright (c) 2009, Yahoo! Inc. All rights reserved.
-Code licensed under the BSD License:
-http://developer.yahoo.net/yui/license.txt
-version: 2.7.0
-*/
-(function(){var B=YAHOO.util;var A=function(D,C,E,F){if(!D){}this.init(D,C,E,F);};A.NAME="Anim";A.prototype={toString:function(){var C=this.getEl()||{};var D=C.id||C.tagName;return(this.constructor.NAME+": "+D);},patterns:{noNegatives:/width|height|opacity|padding/i,offsetAttribute:/^((width|height)|(top|left))$/,defaultUnit:/width|height|top$|bottom$|left$|right$/i,offsetUnit:/\d+(em|%|en|ex|pt|in|cm|mm|pc)$/i},doMethod:function(C,E,D){return this.method(this.currentFrame,E,D-E,this.totalFrames);},setAttribute:function(C,F,E){var D=this.getEl();if(this.patterns.noNegatives.test(C)){F=(F>0)?F:0;}if("style" in D){B.Dom.setStyle(D,C,F+E);}else{if(C in D){D[C]=F;}}},getAttribute:function(C){var E=this.getEl();var G=B.Dom.getStyle(E,C);if(G!=="auto"&&!this.patterns.offsetUnit.test(G)){return parseFloat(G);}var D=this.patterns.offsetAttribute.exec(C)||[];var H=!!(D[3]);var F=!!(D[2]);if("style" in E){if(F||(B.Dom.getStyle(E,"position")=="absolute"&&H)){G=E["offset"+D[0].charAt(0).toUpperCase()+D[0].substr(1)];}else{G=0;}}else{if(C in E){G=E[C];}}return G;},getDefaultUnit:function(C){if(this.patterns.defaultUnit.test(C)){return"px";}return"";},setRuntimeAttribute:function(D){var I;var E;var F=this.attributes;this.runtimeAttributes[D]={};var H=function(J){return(typeof J!=="undefined");};if(!H(F[D]["to"])&&!H(F[D]["by"])){return false;}I=(H(F[D]["from"]))?F[D]["from"]:this.getAttribute(D);if(H(F[D]["to"])){E=F[D]["to"];}else{if(H(F[D]["by"])){if(I.constructor==Array){E=[];for(var G=0,C=I.length;G<C;++G){E[G]=I[G]+F[D]["by"][G]*1;}}else{E=I+F[D]["by"]*1;}}}this.runtimeAttributes[D].start=I;this.runtimeAttributes[D].end=E;this.runtimeAttributes[D].unit=(H(F[D].unit))?F[D]["unit"]:this.getDefaultUnit(D);return true;},init:function(E,J,I,C){var D=false;var F=null;var H=0;E=B.Dom.get(E);this.attributes=J||{};this.duration=!YAHOO.lang.isUndefined(I)?I:1;this.method=C||B.Easing.easeNone;this.useSeconds=true;this.currentFrame=0;this.totalFrames=B.AnimMgr.fps;this.setEl=function(M){E=B.Dom.get(M);};this.getEl=function(){return E;};this.isAnimated=function(){return D;};this.getStartTime=function(){return F;};this.runtimeAttributes={};this.animate=function(){if(this.isAnimated()){return false;}this.currentFrame=0;this.totalFrames=(this.useSeconds)?Math.ceil(B.AnimMgr.fps*this.duration):this.duration;if(this.duration===0&&this.useSeconds){this.totalFrames=1;}B.AnimMgr.registerElement(this);return true;};this.stop=function(M){if(!this.isAnimated()){return false;}if(M){this.currentFrame=this.totalFrames;this._onTween.fire();}B.AnimMgr.stop(this);};var L=function(){this.onStart.fire();this.runtimeAttributes={};for(var M in this.attributes){this.setRuntimeAttribute(M);}D=true;H=0;F=new Date();};var K=function(){var O={duration:new Date()-this.getStartTime(),currentFrame:this.currentFrame};O.toString=function(){return("duration: "+O.duration+", currentFrame: "+O.currentFrame);};this.onTween.fire(O);var N=this.runtimeAttributes;for(var M in N){this.setAttribute(M,this.doMethod(M,N[M].start,N[M].end),N[M].unit);}H+=1;};var G=function(){var M=(new Date()-F)/1000;var N={duration:M,frames:H,fps:H/M};N.toString=function(){return("duration: "+N.duration+", frames: "+N.frames+", fps: "+N.fps);};D=false;H=0;this.onComplete.fire(N);};this._onStart=new B.CustomEvent("_start",this,true);this.onStart=new B.CustomEvent("start",this);this.onTween=new B.CustomEvent("tween",this);this._onTween=new B.CustomEvent("_tween",this,true);this.onComplete=new B.CustomEvent("complete",this);this._onComplete=new B.CustomEvent("_complete",this,true);this._onStart.subscribe(L);this._onTween.subscribe(K);this._onComplete.subscribe(G);}};B.Anim=A;})();YAHOO.util.AnimMgr=new function(){var C=null;var B=[];var A=0;this.fps=1000;this.delay=1;this.registerElement=function(F){B[B.length]=F;A+=1;F._onStart.fire();this.start();};this.unRegister=function(G,F){F=F||E(G);if(!G.isAnimated()||F==-1){return false;}G._onComplete.fire();B.splice(F,1);A-=1;if(A<=0){this.stop();}return true;};this.start=function(){if(C===null){C=setInterval(this.run,this.delay);}};this.stop=function(H){if(!H){clearInterval(C);for(var G=0,F=B.length;G<F;++G){this.unRegister(B[0],0);}B=[];C=null;A=0;}else{this.unRegister(H);}};this.run=function(){for(var H=0,F=B.length;H<F;++H){var G=B[H];if(!G||!G.isAnimated()){continue;}if(G.currentFrame<G.totalFrames||G.totalFrames===null){G.currentFrame+=1;if(G.useSeconds){D(G);}G._onTween.fire();}else{YAHOO.util.AnimMgr.stop(G,H);}}};var E=function(H){for(var G=0,F=B.length;G<F;++G){if(B[G]==H){return G;}}return -1;};var D=function(G){var J=G.totalFrames;var I=G.currentFrame;var H=(G.currentFrame*G.duration*1000/G.totalFrames);var F=(new Date()-G.getStartTime());var K=0;if(F<G.duration*1000){K=Math.round((F/H-1)*G.currentFrame);}else{K=J-(I+1);}if(K>0&&isFinite(K)){if(G.currentFrame+K>=J){K=J-(I+1);}G.currentFrame+=K;}};};YAHOO.util.Bezier=new function(){this.getPosition=function(E,D){var F=E.length;var C=[];for(var B=0;B<F;++B){C[B]=[E[B][0],E[B][1]];}for(var A=1;A<F;++A){for(B=0;B<F-A;++B){C[B][0]=(1-D)*C[B][0]+D*C[parseInt(B+1,10)][0];C[B][1]=(1-D)*C[B][1]+D*C[parseInt(B+1,10)][1];}}return[C[0][0],C[0][1]];};};(function(){var A=function(F,E,G,H){A.superclass.constructor.call(this,F,E,G,H);};A.NAME="ColorAnim";A.DEFAULT_BGCOLOR="#fff";var C=YAHOO.util;YAHOO.extend(A,C.Anim);var D=A.superclass;var B=A.prototype;B.patterns.color=/color$/i;B.patterns.rgb=/^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i;B.patterns.hex=/^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;B.patterns.hex3=/^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i;B.patterns.transparent=/^transparent|rgba\(0, 0, 0, 0\)$/;B.parseColor=function(E){if(E.length==3){return E;}var F=this.patterns.hex.exec(E);if(F&&F.length==4){return[parseInt(F[1],16),parseInt(F[2],16),parseInt(F[3],16)];}F=this.patterns.rgb.exec(E);if(F&&F.length==4){return[parseInt(F[1],10),parseInt(F[2],10),parseInt(F[3],10)];}F=this.patterns.hex3.exec(E);if(F&&F.length==4){return[parseInt(F[1]+F[1],16),parseInt(F[2]+F[2],16),parseInt(F[3]+F[3],16)];
-}return null;};B.getAttribute=function(E){var G=this.getEl();if(this.patterns.color.test(E)){var I=YAHOO.util.Dom.getStyle(G,E);var H=this;if(this.patterns.transparent.test(I)){var F=YAHOO.util.Dom.getAncestorBy(G,function(J){return !H.patterns.transparent.test(I);});if(F){I=C.Dom.getStyle(F,E);}else{I=A.DEFAULT_BGCOLOR;}}}else{I=D.getAttribute.call(this,E);}return I;};B.doMethod=function(F,J,G){var I;if(this.patterns.color.test(F)){I=[];for(var H=0,E=J.length;H<E;++H){I[H]=D.doMethod.call(this,F,J[H],G[H]);}I="rgb("+Math.floor(I[0])+","+Math.floor(I[1])+","+Math.floor(I[2])+")";}else{I=D.doMethod.call(this,F,J,G);}return I;};B.setRuntimeAttribute=function(F){D.setRuntimeAttribute.call(this,F);if(this.patterns.color.test(F)){var H=this.attributes;var J=this.parseColor(this.runtimeAttributes[F].start);var G=this.parseColor(this.runtimeAttributes[F].end);if(typeof H[F]["to"]==="undefined"&&typeof H[F]["by"]!=="undefined"){G=this.parseColor(H[F].by);for(var I=0,E=J.length;I<E;++I){G[I]=J[I]+G[I];}}this.runtimeAttributes[F].start=J;this.runtimeAttributes[F].end=G;}};C.ColorAnim=A;})();
-/*
-TERMS OF USE - EASING EQUATIONS
-Open source under the BSD License.
-Copyright 2001 Robert Penner All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- * 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.
- * Neither the name of the author nor the names of 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 OWNER 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.
-*/
-YAHOO.util.Easing={easeNone:function(B,A,D,C){return D*B/C+A;},easeIn:function(B,A,D,C){return D*(B/=C)*B+A;},easeOut:function(B,A,D,C){return -D*(B/=C)*(B-2)+A;},easeBoth:function(B,A,D,C){if((B/=C/2)<1){return D/2*B*B+A;}return -D/2*((--B)*(B-2)-1)+A;},easeInStrong:function(B,A,D,C){return D*(B/=C)*B*B*B+A;},easeOutStrong:function(B,A,D,C){return -D*((B=B/C-1)*B*B*B-1)+A;},easeBothStrong:function(B,A,D,C){if((B/=C/2)<1){return D/2*B*B*B*B+A;}return -D/2*((B-=2)*B*B*B-2)+A;},elasticIn:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F)==1){return A+G;}if(!E){E=F*0.3;}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}return -(B*Math.pow(2,10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E))+A;},elasticOut:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F)==1){return A+G;}if(!E){E=F*0.3;}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}return B*Math.pow(2,-10*C)*Math.sin((C*F-D)*(2*Math.PI)/E)+G+A;},elasticBoth:function(C,A,G,F,B,E){if(C==0){return A;}if((C/=F/2)==2){return A+G;}if(!E){E=F*(0.3*1.5);}if(!B||B<Math.abs(G)){B=G;var D=E/4;}else{var D=E/(2*Math.PI)*Math.asin(G/B);}if(C<1){return -0.5*(B*Math.pow(2,10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E))+A;}return B*Math.pow(2,-10*(C-=1))*Math.sin((C*F-D)*(2*Math.PI)/E)*0.5+G+A;},backIn:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}return E*(B/=D)*B*((C+1)*B-C)+A;},backOut:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}return E*((B=B/D-1)*B*((C+1)*B+C)+1)+A;},backBoth:function(B,A,E,D,C){if(typeof C=="undefined"){C=1.70158;}if((B/=D/2)<1){return E/2*(B*B*(((C*=(1.525))+1)*B-C))+A;}return E/2*((B-=2)*B*(((C*=(1.525))+1)*B+C)+2)+A;},bounceIn:function(B,A,D,C){return D-YAHOO.util.Easing.bounceOut(C-B,0,D,C)+A;},bounceOut:function(B,A,D,C){if((B/=C)<(1/2.75)){return D*(7.5625*B*B)+A;}else{if(B<(2/2.75)){return D*(7.5625*(B-=(1.5/2.75))*B+0.75)+A;}else{if(B<(2.5/2.75)){return D*(7.5625*(B-=(2.25/2.75))*B+0.9375)+A;}}}return D*(7.5625*(B-=(2.625/2.75))*B+0.984375)+A;},bounceBoth:function(B,A,D,C){if(B<C/2){return YAHOO.util.Easing.bounceIn(B*2,0,D,C)*0.5+A;}return YAHOO.util.Easing.bounceOut(B*2-C,0,D,C)*0.5+D*0.5+A;}};(function(){var A=function(H,G,I,J){if(H){A.superclass.constructor.call(this,H,G,I,J);}};A.NAME="Motion";var E=YAHOO.util;YAHOO.extend(A,E.ColorAnim);var F=A.superclass;var C=A.prototype;C.patterns.points=/^points$/i;C.setAttribute=function(G,I,H){if(this.patterns.points.test(G)){H=H||"px";F.setAttribute.call(this,"left",I[0],H);F.setAttribute.call(this,"top",I[1],H);}else{F.setAttribute.call(this,G,I,H);}};C.getAttribute=function(G){if(this.patterns.points.test(G)){var H=[F.getAttribute.call(this,"left"),F.getAttribute.call(this,"top")];}else{H=F.getAttribute.call(this,G);}return H;};C.doMethod=function(G,K,H){var J=null;if(this.patterns.points.test(G)){var I=this.method(this.currentFrame,0,100,this.totalFrames)/100;J=E.Bezier.getPosition(this.runtimeAttributes[G],I);}else{J=F.doMethod.call(this,G,K,H);}return J;};C.setRuntimeAttribute=function(P){if(this.patterns.points.test(P)){var H=this.getEl();var J=this.attributes;var G;var L=J["points"]["control"]||[];var I;var M,O;if(L.length>0&&!(L[0] instanceof Array)){L=[L];}else{var K=[];for(M=0,O=L.length;M<O;++M){K[M]=L[M];}L=K;}if(E.Dom.getStyle(H,"position")=="static"){E.Dom.setStyle(H,"position","relative");}if(D(J["points"]["from"])){E.Dom.setXY(H,J["points"]["from"]);
-}else{E.Dom.setXY(H,E.Dom.getXY(H));}G=this.getAttribute("points");if(D(J["points"]["to"])){I=B.call(this,J["points"]["to"],G);var N=E.Dom.getXY(this.getEl());for(M=0,O=L.length;M<O;++M){L[M]=B.call(this,L[M],G);}}else{if(D(J["points"]["by"])){I=[G[0]+J["points"]["by"][0],G[1]+J["points"]["by"][1]];for(M=0,O=L.length;M<O;++M){L[M]=[G[0]+L[M][0],G[1]+L[M][1]];}}}this.runtimeAttributes[P]=[G];if(L.length>0){this.runtimeAttributes[P]=this.runtimeAttributes[P].concat(L);}this.runtimeAttributes[P][this.runtimeAttributes[P].length]=I;}else{F.setRuntimeAttribute.call(this,P);}};var B=function(G,I){var H=E.Dom.getXY(this.getEl());G=[G[0]-H[0]+I[0],G[1]-H[1]+I[1]];return G;};var D=function(G){return(typeof G!=="undefined");};E.Motion=A;})();(function(){var D=function(F,E,G,H){if(F){D.superclass.constructor.call(this,F,E,G,H);}};D.NAME="Scroll";var B=YAHOO.util;YAHOO.extend(D,B.ColorAnim);var C=D.superclass;var A=D.prototype;A.doMethod=function(E,H,F){var G=null;if(E=="scroll"){G=[this.method(this.currentFrame,H[0],F[0]-H[0],this.totalFrames),this.method(this.currentFrame,H[1],F[1]-H[1],this.totalFrames)];}else{G=C.doMethod.call(this,E,H,F);}return G;};A.getAttribute=function(E){var G=null;var F=this.getEl();if(E=="scroll"){G=[F.scrollLeft,F.scrollTop];}else{G=C.getAttribute.call(this,E);}return G;};A.setAttribute=function(E,H,G){var F=this.getEl();if(E=="scroll"){F.scrollLeft=H[0];F.scrollTop=H[1];}else{C.setAttribute.call(this,E,H,G);}};B.Scroll=D;})();YAHOO.register("animation",YAHOO.util.Anim,{version:"2.7.0",build:"1799"});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/ciframe.html b/rt/share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/ciframe.html
deleted file mode 100644
index cb0ba20..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/ciframe.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-<!--
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
--->
-<html>
-<head>
- <title></title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <script type="text/javascript">
-
-function gup( name )
-{
- name = name.replace( /[\[]/, '\\\[' ).replace( /[\]]/, '\\\]' ) ;
- var regexS = '[\\?&]' + name + '=([^&#]*)' ;
- var regex = new RegExp( regexS ) ;
- var results = regex.exec( window.location.href ) ;
-
- if ( results )
- return results[ 1 ] ;
- else
- return '' ;
-}
-
-var interval;
-
-function sendData2Master()
-{
- var destination = window.parent.parent ;
- try
- {
- if ( destination.XDTMaster )
- {
- var t = destination.XDTMaster.read( [ gup( 'cmd' ), gup( 'data' ) ] ) ;
- window.clearInterval( interval ) ;
- }
- }
- catch (e) {}
-}
-
-function onLoad()
-{
- interval = window.setInterval( sendData2Master, 100 );
-}
-
-</script>
-</head>
-<body onload="onLoad()"><p></p></body>
-</html>
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/tmpFrameset.html b/rt/share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/tmpFrameset.html
deleted file mode 100644
index 63d0774..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/tmpFrameset.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
-<!--
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
--->
-<html>
-<head>
- <title></title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <script type="text/javascript">
-
-function doLoadScript( url )
-{
- if ( !url )
- return false ;
-
- var s = document.createElement( "script" ) ;
- s.type = "text/javascript" ;
- s.src = url ;
- document.getElementsByTagName( "head" )[ 0 ].appendChild( s ) ;
-
- return true ;
-}
-
-var opener;
-function tryLoad()
-{
- opener = window.parent;
-
- // get access to global parameters
- var oParams = window.opener.oldFramesetPageParams;
-
- // make frameset rows string prepare
- var sFramesetRows = ( parseInt( oParams.firstframeh, 10 ) || '30') + ",*," + ( parseInt( oParams.thirdframeh, 10 ) || '150' ) + ',0' ;
- document.getElementById( 'itFrameset' ).rows = sFramesetRows ;
-
- // dynamic including init frames and crossdomain transport code
- // from config sproxy_js_frameset url
- var addScriptUrl = oParams.sproxy_js_frameset ;
- doLoadScript( addScriptUrl ) ;
-}
-
- </script>
-</head>
-
-<frameset id="itFrameset" onload="tryLoad();" border="0" rows="30,*,*,0">
- <frame scrolling="no" framespacing="0" frameborder="0" noresize="noresize" marginheight="0" marginwidth="2" src="" name="navbar"></frame>
- <frame scrolling="auto" framespacing="0" frameborder="0" noresize="noresize" marginheight="0" marginwidth="0" src="" name="mid"></frame>
- <frame scrolling="no" framespacing="0" frameborder="0" noresize="noresize" marginheight="1" marginwidth="1" src="" name="bot"></frame>
- <frame scrolling="no" framespacing="0" frameborder="0" noresize="noresize" marginheight="1" marginwidth="1" src="" name="spellsuggestall"></frame>
-</frameset>
-</html>
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/wsc.css b/rt/share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/wsc.css
deleted file mode 100644
index d831b2d..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/wsc.css
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-html,body{background-color:transparent;margin:0;padding:0;}body{padding:10px;}body,td,input,select,textarea{font-size:11px;font-family:'Microsoft Sans Serif',Arial,Helvetica,Verdana;}.midtext{padding:0;margin:10px;}.midtext p{padding:0;margin:10px;}.Button{border:#737357 1px solid;color:#3b3b1f;background-color:#c7c78f;}.PopupTabArea{color:#737357;background-color:#e3e3c7;}.PopupTitleBorder{border-bottom:#d5d59d 1px solid;}.PopupTabEmptyArea{padding-left:10px;border-bottom:#d5d59d 1px solid;}.PopupTab,.PopupTabSelected{border-right:#d5d59d 1px solid;border-top:#d5d59d 1px solid;border-left:#d5d59d 1px solid;padding:3px 5px 3px 5px;color:#737357;}.PopupTab{margin-top:1px;border-bottom:#d5d59d 1px solid;cursor:pointer;}.PopupTabSelected{font-weight:bold;cursor:default;padding-top:4px;border-bottom:#f1f1e3 1px solid;background-color:#f1f1e3;}
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/wsc.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/wsc.js
deleted file mode 100644
index 1eaa692..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/wsc/dialogs/wsc.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.dialog.add('checkspell',function(a){var b=CKEDITOR.tools.getNextNumber(),c='cke_frame_'+b,d='cke_data_'+b,e='cke_error_'+b,f,g=document.location.protocol||'http:',h=a.lang.spellCheck.notAvailable,i='<textarea style="display: none" id="'+d+'"'+' rows="10"'+' cols="40">'+' </textarea><div'+' id="'+e+'"'+' style="display:none;color:red;font-size:16px;font-weight:bold;padding-top:160px;text-align:center;z-index:11;">'+'</div><iframe'+' src=""'+' style="width:100%;background-color:#f1f1e3;"'+' frameborder="0"'+' name="'+c+'"'+' id="'+c+'"'+' allowtransparency="1">'+'</iframe>',j=a.config.wsc_customLoaderScript||g+'//loader.webspellchecker.net/sproxy_fck/sproxy.php'+'?plugin=fck2'+'&customerid='+a.config.wsc_customerId+'&cmd=script&doc=wsc&schema=22';if(a.config.wsc_customLoaderScript)h+='<p style="color:#000;font-size:11px;font-weight: normal;text-align:center;padding-top:10px">'+a.lang.spellCheck.errorLoading.replace(/%s/g,a.config.wsc_customLoaderScript)+'</p>';function k(m,n){var o=0;return function(){if(typeof window.doSpell=='function'){if(typeof f!='undefined')window.clearInterval(f);l(m);}else if(o++==180)window._cancelOnError(n);};};window._cancelOnError=function(m){if(typeof window.WSC_Error=='undefined'){CKEDITOR.document.getById(c).setStyle('display','none');var n=CKEDITOR.document.getById(e);n.setStyle('display','block');n.setHtml(m||a.lang.spellCheck.notAvailable);}};function l(m){var n=new window._SP_FCK_LangCompare(),o=CKEDITOR.getUrl(a.plugins.wsc.path+'dialogs/'),p=o+'tmpFrameset.html';window.gFCKPluginName='wsc';n.setDefaulLangCode(a.config.defaultLanguage);window.doSpell({ctrl:d,lang:a.config.wsc_lang||n.getSPLangCode(a.langCode),intLang:a.config.wsc_uiLang||n.getSPLangCode(a.langCode),winType:c,onCancel:function(){m.hide();},onFinish:function(q){a.focus();m.getParentEditor().setData(q.value);m.hide();},staticFrame:p,framesetPath:p,iframePath:o+'ciframe.html',schemaURI:o+'wsc.css',userDictionaryName:a.config.wsc_userDictionaryName,customDictionaryName:a.config.wsc_customDictionaryIds&&a.config.wsc_customDictionaryIds.split(','),domainName:a.config.wsc_domainName});CKEDITOR.document.getById(e).setStyle('display','none');CKEDITOR.document.getById(c).setStyle('display','block');};return{title:a.config.wsc_dialogTitle||a.lang.spellCheck.title,minWidth:485,minHeight:380,buttons:[CKEDITOR.dialog.cancelButton],onShow:function(){var m=this.getContentElement('general','content').getElement();m.setHtml(i);m.getChild(2).setStyle('height',this._.contentSize.height+'px');
-if(typeof window.doSpell!='function')CKEDITOR.document.getHead().append(CKEDITOR.document.createElement('script',{attributes:{type:'text/javascript',src:j}}));var n=a.getData();CKEDITOR.document.getById(d).setValue(n);f=window.setInterval(k(this,h),250);},onHide:function(){window.ooo=undefined;window.int_framsetLoaded=undefined;window.framesetLoaded=undefined;window.is_window_opened=false;},contents:[{id:'general',label:a.config.wsc_dialogTitle||a.lang.spellCheck.title,padding:0,elements:[{type:'html',id:'content',html:''}]}]};});CKEDITOR.dialog.on('resize',function(a){var b=a.data,c=b.dialog;if(c._.name=='checkspell'){var d=c.getContentElement('general','content').getElement(),e=d&&d.getChild(2);e&&e.setSize('height',b.height);e&&e.setSize('width',b.width);}});
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/plugins/xml/plugin.js b/rt/share/html/NoAuth/RichText/ckeditor/plugins/xml/plugin.js
deleted file mode 100644
index b8b6372..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/plugins/xml/plugin.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-(function(){CKEDITOR.plugins.add('xml',{});CKEDITOR.xml=function(a){var b=null;if(typeof a=='object')b=a;else{var c=(a||'').replace(/&nbsp;/g,'\xa0');if(window.DOMParser)b=new DOMParser().parseFromString(c,'text/xml');else if(window.ActiveXObject){try{b=new ActiveXObject('MSXML2.DOMDocument');}catch(d){try{b=new ActiveXObject('Microsoft.XmlDom');}catch(d){}}if(b){b.async=false;b.resolveExternals=false;b.validateOnParse=false;b.loadXML(c);}}}this.baseXml=b;};CKEDITOR.xml.prototype={selectSingleNode:function(a,b){var c=this.baseXml;if(b||(b=c))if(CKEDITOR.env.ie||b.selectSingleNode)return b.selectSingleNode(a);else if(c.evaluate){var d=c.evaluate(a,b,null,9,null);return d&&d.singleNodeValue||null;}return null;},selectNodes:function(a,b){var c=this.baseXml,d=[];if(b||(b=c))if(CKEDITOR.env.ie||b.selectNodes)return b.selectNodes(a);else if(c.evaluate){var e=c.evaluate(a,b,null,5,null);if(e){var f;while(f=e.iterateNext())d.push(f);}}return d;},getInnerXml:function(a,b){var c=this.selectSingleNode(a,b),d=[];if(c){c=c.firstChild;while(c){if(c.xml)d.push(c.xml);else if(window.XMLSerializer)d.push(new XMLSerializer().serializeToString(c));c=c.nextSibling;}}return d.length?d.join(''):null;}};})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/skins/kama/dialog.css b/rt/share/html/NoAuth/RichText/ckeditor/skins/kama/dialog.css
deleted file mode 100644
index d2fc8c9..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/skins/kama/dialog.css
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-body .cke_dialog{visibility:visible;}.cke_skin_kama table.cke_dialog.cke_browser_gecko{display:block;}.cke_skin_kama .cke_dialog_body{z-index:1;border:solid 1px #ddd;padding:5px;background-color:#fff;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;_position:static;}.cke_skin_kama .cke_dialog_tl,.cke_skin_kama .cke_dialog_tr,.cke_skin_kama .cke_dialog_tc,.cke_skin_kama .cke_dialog_bl,.cke_skin_kama .cke_dialog_br,.cke_skin_kama .cke_dialog_bc,.cke_skin_kama .cke_dialog_ml,.cke_skin_kama .cke_dialog_mr{display:none;}.cke_skin_kama .cke_dialog_title{font-weight:bold;font-size:14px;padding:3px 3px 8px;cursor:move;position:relative;border-bottom:1px solid #eee;}.cke_skin_kama .cke_browser_iequirks .cke_dialog_title,.cke_skin_kama .cke_browser_ie6 .cke_dialog_title,.cke_skin_kama .cke_browser_ie7 .cke_dialog_title{margin-bottom:22px;}.cke_skin_kama .cke_browser_iequirks.cke_single_page .cke_dialog_title,.cke_skin_kama .cke_browser_ie6.cke_single_page .cke_dialog_title,.cke_skin_kama .cke_browser_ie7.cke_single_page .cke_dialog_title{margin-bottom:10px;}.cke_skin_kama .cke_dialog_contents{background-color:#ebebeb;border:solid 1px #fff;border-bottom:none;overflow:auto;padding:17px 10px 5px 10px;-moz-border-radius-topleft:5px;-moz-border-radius-topright:5px;-webkit-border-top-left-radius:5px;-webkit-border-top-right-radius:5px;border-top-left-radius:5px;border-top-right-radius:5px;margin-top:22px;}.cke_skin_kama .cke_dialog_footer{text-align:right;background-color:#ebebeb;border:solid 1px #fff;border-bottom:none;-moz-border-radius-bottomleft:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-left-radius:5px;-webkit-border-bottom-right-radius:5px;border-bottom-left-radius:5px;border-bottom-right-radius:5px;}.cke_skin_kama .cke_rtl .cke_dialog_footer{text-align:left;}.cke_skin_kama .cke_dialog_footer .cke_resizer{margin-top:20px;}.cke_skin_kama .cke_browser_iequirks .cke_dialog_footer .cke_resizer,.cke_skin_kama .cke_browser_ie6 .cke_dialog_footer .cke_resizer{margin-top:27px;}.cke_skin_kama .cke_dialog_tabs{height:23px;display:inline-block;_display:block;margin-left:10px;margin-right:10px;margin-top:11px;position:absolute;z-index:2;}.cke_skin_kama .cke_browser_iequirks .cke_dialog_tabs,.cke_skin_kama .cke_browser_ie6 .cke_dialog_tabs,.cke_skin_kama .cke_browser_ie7 .cke_dialog_tabs{top:33px;}.cke_skin_kama .cke_rtl .cke_dialog_tabs{right:10px;}.cke_skin_kama a.cke_dialog_tab,.cke_skin_kama a:link.cke_dialog_tab,.cke_skin_kama a:active.cke_dialog_tab,.cke_skin_kama a:hover.cke_dialog_tab,.cke_skin_kama a:visited.cke_dialog_tab{background-image:url(images/sprites.png);background-repeat:repeat-x;background-position:0 -1323px;background-color:#ebebeb;height:14px;padding:4px 8px;display:inline-block;cursor:pointer;}.cke_skin_kama .cke_browser_gecko18 a.cke_dialog_tab,.cke_skin_kama .cke_browser_gecko18 a:link.cke_dialog_tab,.cke_skin_kama .cke_browser_gecko18 a:active.cke_dialog_tab,.cke_skin_kama .cke_browser_gecko18 a:hover.cke_dialog_tab,.cke_skin_kama .cke_browser_gecko18 a:visited.cke_dialog_tab{display:inline;position:relative;top:6px;}.cke_skin_kama a:hover.cke_dialog_tab{background-color:#f1f1e3;}.cke_skin_kama .cke_hc a:hover.cke_dialog_tab{padding:2px 6px!important;border-width:3px;}.cke_skin_kama a.cke_dialog_tab_selected,.cke_skin_kama a:link.cke_dialog_tab_selected,.cke_skin_kama a:active.cke_dialog_tab_selected,.cke_skin_kama a:hover.cke_dialog_tab_selected,.cke_skin_kama a:visited.cke_dialog_tab_selected{background-position:0 -1279px;cursor:default;}.cke_skin_kama .cke_hc a.cke_dialog_tab_selected,.cke_skin_kama .cke_hc a:link.cke_dialog_tab_selected,.cke_skin_kama .cke_hc a:active.cke_dialog_tab_selected,.cke_skin_kama .cke_hc a:hover.cke_dialog_tab_selected,.cke_skin_kama .cke_hc a:visited.cke_dialog_tab_selected{padding:2px 6px!important;border-width:3px;}.cke_skin_kama .cke_single_page .cke_dialog_tabs{display:none;}.cke_skin_kama .cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:10px;}.cke_skin_kama .cke_dialog_ui_vbox table,.cke_skin_kama .cke_dialog_ui_hbox table{margin:auto;}
-.cke_skin_kama .cke_dialog_ui_vbox_child{padding:5px 0;}.cke_skin_kama input.cke_dialog_ui_input_text,.cke_skin_kama input.cke_dialog_ui_input_password{background-color:white;border:none;padding:0;width:100%;height:14px;}.cke_skin_kama div.cke_dialog_ui_input_text,.cke_skin_kama div.cke_dialog_ui_input_password{background-color:white;border:1px solid #a0a0a0;padding:1px 0;_width:99.9%;}.cke_skin_kama .cke_browser_ie7 input.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_ie7 input.cke_dialog_ui_input_password{position:absolute;}.cke_skin_kama .cke_browser_ie7 div.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_ie7 div.cke_dialog_ui_input_password{height:14px;position:relative;}.cke_skin_kama .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_password,.cke_skin_kama .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_password{padding-right:2px;}.cke_skin_kama .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_password,.cke_skin_kama .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_password{padding-left:2px;}.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_vbox_child,.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_child,.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_first,.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_last{padding-right:2px!important;}.cke_skin_kama .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text{padding-right:1px;}.cke_skin_kama .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_password{border-width:0;}.cke_skin_kama .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_password{border-width:1px;}.cke_skin_kama textarea.cke_dialog_ui_input_textarea{background-color:white;border:none;padding:0;width:100%;_width:99%;overflow:auto;resize:none;}.cke_skin_kama div.cke_dialog_ui_input_textarea{background-color:white;border:1px solid #a0a0a0;padding:1px 0;}.cke_skin_kama div.cke_disabled .cke_dialog_ui_labeled_content *{background-color:#a0a0a0;cursor:default;}.cke_skin_kama .cke_rtl .cke_dialog_ui_labeled_content{_width:95%;}.cke_skin_kama .cke_dialog_ui_hbox{width:100%;}.cke_skin_kama .cke_dialog_ui_hbox_first,.cke_skin_kama .cke_dialog_ui_hbox_child,.cke_skin_kama .cke_dialog_ui_hbox_last{vertical-align:top;}.cke_skin_kama .cke_ltr .cke_dialog_ui_hbox_first,.cke_skin_kama .cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px;}.cke_skin_kama .cke_rtl .cke_dialog_ui_hbox_first,.cke_skin_kama .cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px;}.cke_skin_kama a.cke_dialog_ui_button{border-collapse:separate;cursor:default;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;background:transparent url(images/sprites.png) repeat-x scroll 0 -1069px;_background:none;padding:5px 0;text-align:center;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button{padding:0;}.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button span{width:70px;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span{width:100px;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button span{padding:5px 15px;text-align:center;color:#3b3b1f;background:#53D9F0 none;display:inline-block;cursor:default;}.cke_skin_kama .cke_browser_webkit a.cke_dialog_ui_button span.cke_dialog_ui_button{margin:0;}.cke_skin_kama .cke_browser_webkit a.cke_dialog_ui_button{display:inline-block;padding-top:3px;padding-bottom:2px;margin:2px 0;}.cke_skin_kama a.cke_dialog_ui_button_ok span,.cke_skin_kama a.cke_dialog_ui_button_cancel span{width:60px;padding-right:20px;padding-left:20px;}.cke_skin_kama a.cke_dialog_ui_button_ok{background-position:0 -1143px;}
-.cke_skin_kama a.cke_dialog_ui_button_ok span{background:transparent url(images/sprites.png) no-repeat scroll right -1219px;}.cke_skin_kama .cke_rtl a.cke_dialog_ui_button_ok span{background-position:left -1219px;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_ok span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_ok span{background-color:#B8E834;margin-right:0;}.cke_skin_kama a.cke_dialog_ui_button_cancel{background-position:0 -1104px;}.cke_skin_kama a.cke_dialog_ui_button_cancel span{background:transparent url(images/sprites.png) no-repeat scroll right -1245px;}.cke_skin_kama .cke_rtl a.cke_dialog_ui_button_cancel span{background-position:left -1245px;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_cancel span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_cancel span{background-color:#F65D20;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_cancel span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_cancel span,.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_ok span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_ok span{background-image:none;}.cke_skin_kama span.cke_dialog_ui_button{padding:2px 10px;text-align:center;color:#222;display:inline-block;cursor:default;min-width:60px;+margin:2px 0;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons span.cke_dialog_ui_button{display:block;}.cke_skin_kama a.cke_dialog_ui_button span.cke_disabled{border:#898980 1px solid;color:#5e5e55;background-color:#c5c5b3;}.cke_skin_kama a:hover.cke_dialog_ui_button,.cke_skin_kama a:focus.cke_dialog_ui_button,.cke_skin_kama a:active.cke_dialog_ui_button{background-position:0 -1180px;}.cke_skin_kama .cke_hc a:hover.cke_dialog_ui_button,.cke_skin_kama .cke_hc a:focus.cke_dialog_ui_button,.cke_skin_kama .cke_hc a:active.cke_dialog_ui_button{border-width:2px;}.cke_skin_kama .cke_browser_iequirks a:hover.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a:focus.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a:active.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a:hover.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a:focus.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a:active.cke_dialog_ui_button span{background-image:none;background:#F7A922;}.cke_skin_kama .cke_dialog_footer_buttons{display:inline-table;margin-right:12px;margin-left:12px;width:auto;position:relative;}.cke_skin_kama .cke_browser_ie7 .cke_dialog_footer_buttons{position:static;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons{display:inline;}.cke_skin_kama .cke_dialog_footer_buttons span.cke_dialog_ui_button{margin:7px 0;text-align:center;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons a.cke_dialog_ui_button{display:block;padding:0;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons span.cke_dialog_ui_button{padding-bottom:5px;padding-top:6px;margin-bottom:0;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons .cke_dialog_ui_button_ok .cke_dialog_ui_button{background-position:right -1214px;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons .cke_dialog_ui_button_cancel .cke_dialog_ui_button{background-position:right -1242px;}.cke_skin_kama .cke_browser_ie9.cke_rtl .cke_dialog_footer_buttons td{padding-left:2px;}.cke_skin_kama strong{font-weight:bold;}.cke_skin_kama .cke_dialog .cke_dialog_body .cke_dialog_close_button{background-image:url(images/sprites.png);background-repeat:no-repeat;background-position:0 -1022px;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:5px;_background-image:url(images/sprites_ie6.png);}.cke_skin_kama .cke_dialog_close_button span{display:none;}.cke_skin_kama .cke_dialog_close_button:hover{background-position:0 -1045px;}.cke_skin_kama .cke_ltr .cke_dialog_close_button{right:10px;}.cke_skin_kama .cke_browser_ie8.cke_rtl .cke_dialog_close_button{left:8px;}.cke_skin_kama .cke_rtl .cke_dialog_close_button{left:10px;}.cke_skin_kama .cke_browser_ie7.cke_rtl .cke_dialog_close_button{left:16px;top:0;}.cke_skin_kama .cke_browser_ie7.cke_rtl .cke_dialog_close_button{position:absolute;left:10px;top:5px;}
-.cke_skin_kama .cke_browser_ie7.cke_single_page .cke_dialog_footer{margin-top:22px;}.cke_skin_kama .cke_browser_ie6 .cke_dialog_close_button,.cke_skin_kama .cke_browser_iequirks .cke_dialog_close_button{top:7px;}.cke_skin_kama .cke_browser_ie7.cke_ltr .cke_dialog_close_button{margin-top:0;}.cke_skin_kama .cke_dialog_ui_input_select{border:1px solid #a0a0a0;background-color:white;}.cke_skin_kama .cke_dialog_ui_input_file{width:100%;height:25px;}.cke_skin_kama .cke_dialog .cke_dark_background{background-color:#eaead1;}.cke_skin_kama .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_kama .cke_dialog .cke_centered{text-align:center;}.cke_skin_kama .cke_dialog a.cke_btn_reset{float:right;background-position:0 -32px;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:1px none;font-size:1px;}.cke_skin_kama .cke_rtl .cke_dialog a.cke_btn_reset{float:left;}.cke_skin_kama .cke_dialog a.cke_btn_locked,.cke_skin_kama .cke_dialog a.cke_btn_unlocked{float:left;background-position:0 0;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px;}.cke_skin_kama .cke_dialog a.cke_btn_locked .cke_icon{display:none;}.cke_skin_kama .cke_rtl .cke_dialog a.cke_btn_locked,.cke_skin_kama .cke_rtl .cke_dialog a.cke_btn_unlocked{float:right;}.cke_skin_kama .cke_dialog a.cke_btn_unlocked{background-position:0 -16px;background-image:url(images/mini.gif);}.cke_skin_kama .cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer;}.cke_skin_kama .cke_dialog .ImagePreviewBox{border:2px ridge black;overflow:scroll;height:200px;width:300px;padding:2px;background-color:white;}.cke_skin_kama .cke_dialog .ImagePreviewBox table td{white-space:normal;}.cke_skin_kama .cke_browser_iequirks .cke_dialog_page_contents{_position:absolute;}.cke_skin_kama .cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4;}.cke_skin_kama .cke_dialog .FlashPreviewBox{white-space:normal;border:2px ridge black;overflow:auto;height:160px;width:390px;padding:2px;background-color:white;}.cke_skin_kama .cke_dialog .cke_pastetext{width:346px;height:170px;}.cke_skin_kama .cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none;}.cke_skin_kama .cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid black;}.cke_skin_kama .cke_dialog .cke_dark_background{text-align:center;background-color:#eaead1;font-size:14px;}.cke_skin_kama .cke_dialog .cke_light_background{text-align:center;background-color:#ffffbe;}.cke_skin_kama .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_kama .cke_disabled{color:#a0a0a0;}.cke_skin_kama .cke_hc .cke_dialog_title,.cke_skin_kama .cke_hc .cke_dialog_tabs,.cke_skin_kama .cke_hc .cke_dialog_contents,.cke_skin_kama .cke_hc .cke_dialog_footer{border-left:1px solid;border-right:1px solid;}.cke_skin_kama .cke_hc .cke_dialog_title{border-top:1px solid;}.cke_skin_kama .cke_hc .cke_dialog_footer{border-bottom:1px solid;}.cke_skin_kama .cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px;}.cke_skin_kama .cke_dialog_body .cke_label{display:none;}.cke_skin_kama .cke_dialog_body label.cke_required{font-weight:bold;}.cke_skin_kama .cke_hc .cke_dialog_body .cke_label{display:inline;cursor:inherit;}.cke_skin_kama .cke_hc a.cke_btn_locked,.cke_skin_kama .cke_hc a.cke_btn_unlocked,.cke_skin_kama .cke_hc a.cke_btn_reset{border-style:solid;float:left;width:auto;height:auto;padding:0 2px;}.cke_skin_kama .cke_rtl.cke_hc a.cke_btn_locked,.cke_skin_kama .cke_rtl.cke_hc a.cke_btn_unlocked,.cke_skin_kama .cke_rtl.cke_hc a.cke_btn_reset{float:right;}.cke_skin_kama .cke_hc a.cke_btn_locked .cke_icon{display:inline;}.cke_skin_kama a.cke_smile img{border:2px solid #eaead1;}.cke_skin_kama a.cke_smile:focus img,.cke_skin_kama a.cke_smile:active img,.cke_skin_kama a.cke_smile:hover img{border-color:#C7C78F;}.cke_skin_kama .cke_hc .cke_dialog_tabs a,.cke_skin_kama .cke_hc .cke_dialog_footer a{opacity:1.0;filter:alpha(opacity=100);border:1px solid white;}
-.cke_skin_kama .cke_hc .ImagePreviewBox{width:260px;}.cke_skin_kama .cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px;}.cke_skin_kama .cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px;}.cke_skin_kama .cke_browser_gecko .cke_dialog_ui_checkbox_input:focus,.cke_skin_kama .cke_browser_gecko .cke_dialog_ui_radio_input:focus,.cke_skin_kama .cke_browser_opera .cke_dialog_ui_checkbox_input:focus,.cke_skin_kama .cke_browser_opera .cke_dialog_ui_radio_input:focus,.cke_skin_kama .cke_browser_gecko .cke_dialog_ui_input_select:focus,.cke_skin_kama .cke_browser_gecko .cke_btn_over,.cke_skin_kama .cke_browser_opera .cke_btn_over,.cke_skin_kama .cke_browser_ie .cke_btn_over{outline:1px dotted #696969;}.cke_skin_kama .cke_browser_ie .cke_dialog_ui_checkbox_input,.cke_skin_kama .cke_browser_ie .cke_dialog_ui_ratio_input,.cke_skin_kama .cke_browser_ie .cke_btn_reset,.cke_skin_kama .cke_browser_ie .cke_btn_locked,.cke_skin_kama .cke_browser_ie .cke_btn_unlocked{*border:1px solid transparent!important;-border:1px solid red!important;-filter:chroma(color=red);}.cke_skin_kama .cke_browser_ie .cke_dialog_ui_focused,.cke_skin_kama .cke_browser_ie .cke_btn_over{*border:1px dotted #696969!important;}.cke_skin_kama .cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity=0);width:100%;height:100%;}.cke_dialog label{display:inline;margin-bottom:auto;cursor:default;}
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/skins/kama/editor.css b/rt/share/html/NoAuth/RichText/ckeditor/skins/kama/editor.css
deleted file mode 100644
index fe2893e..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/skins/kama/editor.css
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-.cke_skin_kama *,.cke_skin_kama a:hover,.cke_skin_kama a:link,.cke_skin_kama a:visited,.cke_skin_kama a:active{margin:0;padding:0;border:0;background:transparent;text-decoration:none;font:normal normal normal 100% Sans-Serif;width:auto;height:auto;border-collapse:collapse;text-align:left;vertical-align:baseline;white-space:nowrap;cursor:auto;color:#000;float:none;font-size:12px;font-family:Arial,Helvetica,Tahoma,Verdana,Sans-Serif;}.cke_skin_kama .cke_rtl *,.cke_skin_kama .cke_rtl a:hover,.cke_skin_kama .cke_rtl a:link,.cke_skin_kama .cke_rtl a:visited,.cke_skin_kama .cke_rtl a:active,.cke_rtl .cke_skin_kama *,.cke_rtl .cke_skin_kama a:hover,.cke_rtl .cke_skin_kama a:link,.cke_rtl .cke_skin_kama a:visited,.cke_rtl .cke_skin_kama a:active{text-align:right;}.cke_skin_kama iframe{vertical-align:inherit;}.cke_skin_kama textarea{white-space:pre;}.cke_skin_kama .cke_browser_gecko textarea{cursor:text;}.cke_skin_kama .cke_browser_gecko textarea[disabled]{cursor:default;}.cke_skin_kama input[type="text"],.cke_skin_kama input[type="password"]{cursor:text;}.cke_skin_kama input[type="text"][disabled],.cke_skin_kama input[type="password"][disabled]{cursor:default;}.cke_skin_kama fieldset{padding:10px;border:2px groove #E0DFE3;}.cke_skin_kama{display:block;}span.cke_skin_kama{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;border:1px solid #D3D3D3;padding:5px;}.cke_skin_kama span.cke_browser_webkit,.cke_skin_kama span.cke_browser_gecko18{display:block;}.cke_skin_kama .cke_wrapper{-moz-border-radius:5px;-webkit-border-radius:5px;-webkit-touch-callout:none;border-radius:5px;background-color:#d3d3d3;background-image:url(images/sprites.png);background-repeat:repeat-x;background-position:0 -1950px;display:block;_display:inline-block;padding:5px;}.cke_shared .cke_skin_kama .cke_wrapper{padding-bottom:0;}.cke_skin_kama .cke_browser_ie6 .cke_wrapper,.cke_skin_kama .cke_browser_iequirks .cke_wrapper{background-image:none;}.cke_skin_kama .cke_editor{display:inline-table;width:100%;}.cke_skin_kama .cke_browser_ie .cke_editor,.cke_skin_kama .cke_browser_webkit .cke_editor{display:table;}.cke_skin_kama .ltr .cke_browser_ie iframe{margin-right:-10px;}.cke_skin_kama .rtl .cke_browser_ie iframe{margin-left:-10px;}.cke_skin_kama .cke_browser_opera .cke_editor.cke_skin_kama .cke_resizer{display:table;}.cke_skin_kama .cke_contents{margin:5px;}.cke_skin_kama .cke_hc .cke_contents{border:1px solid black;}.cke_skin_kama .cke_contents iframe{background-color:#fff;}.cke_skin_kama .cke_focus{outline:auto 5px -webkit-focus-ring-color;}.cke_skin_kama textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre;}.cke_skin_kama .cke_browser_iequirks textarea.cke_source{_white-space:normal;}.cke_skin_kama .cke_resizer{width:12px;height:12px;margin-top:9px;display:block;float:right;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -1428px;background-repeat:no-repeat;cursor:se-resize;}.cke_skin_kama .cke_browser_air .cke_resizer,.cke_skin_kama .cke_browser_air .cke_rtl .cke_resizer{cursor:move;}.cke_skin_kama .cke_resizer_rtl{cursor:sw-resize;background-position:0 -1455px;float:left;}.cke_skin_kama .cke_resizer_horizontal,.cke_skin_kama .cke_rtl .cke_resizer_horizontal{cursor:e-resize;}.cke_skin_kama .cke_resizer_vertical,.cke_skin_kama .cke_rtl .cke_resizer_vertical{cursor:n-resize;}.cke_skin_kama .cke_maximized .cke_resizer{display:none;}.cke_skin_kama .cke_browser_ie6 .cke_contents textarea,.cke_skin_kama .cke_browser_ie7 .cke_contents textarea{position:absolute;}.cke_skin_kama .cke_browser_ie.cke_browser_quirks .cke_contents iframe{position:absolute;top:0;}.cke_skin_kama .cke_browser_ie6 .cke_editor,.cke_skin_kama .cke_browser_ie7 .cke_editor{display:inline-block;}.cke_skin_kama .cke_browser_ie6 .cke_editor,.cke_shared .cke_skin_kama .cke_browser_ie7 .cke_wrapper{padding-bottom:5px;}.cke_skin_kama .cke_voice_label{display:none;}.cke_skin_kama legend.cke_voice_label{display:none;}.cke_skin_kama .cke_browser_ie legend.cke_voice_label{position:absolute;display:block;width:0;height:0;overflow:hidden;}
-.cke_skin_kama .cke_panel{border:1px solid #8f8f73;background-color:#fff;width:120px;height:100px;overflow:hidden;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.cke_skin_kama .cke_contextmenu{margin:0;}.cke_skin_kama .cke_panel iframe{width:100%;height:100%;}html.cke_skin_kama_container{overflow:auto;overflow-x:hidden;}body.cke_panel_frame{overflow:auto;}.cke_panel_frame .cke_label{display:none;}ul.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap;}li.cke_panel_listItem{margin:0;}.cke_panel_listItem a{padding:2px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;}* html .cke_panel_listItem a{width:100%;color:#000;}*:first-child+html .cke_panel_listItem a{color:#000;}.cke_panel_listItem.cke_selected a{border:1px solid #ccc;background-color:#e9f5ff;}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#316ac5;background-color:#dff1ff;}.cke_hc .cke_panel_listItem.cke_selected a,.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border-width:3px;padding:0;}.cke_panel_grouptitle{font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif;font-weight:bold;white-space:nowrap;background-color:#dcdcdc;color:#000;margin:0;padding:3px;}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:3px;margin-bottom:3px;}.cke_skin_kama .cke_button_textcolor_panel,.cke_skin_kama .cke_button_bgcolor_panel{width:150px;height:135px;}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif;}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000;}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left;}.cke_rtl span.cke_colorbox{float:right;}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;}.cke_rtl a.cke_colorbox{float:right;}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#316ac5 1px solid;background-color:#dff1ff;}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer;}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#316ac5 1px solid;background-color:#dff1ff;}@media print{.cke_skin_kama .cke_toolbox{display:none;}}.cke_skin_kama .cke_browser_webkit .cke_toolbox,.cke_skin_kama .cke_browser_webkit .cke_toolbox>span{white-space:normal;}.cke_skin_kama .cke_toolbox{clear:both;padding-bottom:1px;}.cke_skin_kama a.cke_toolbox_collapser,.cke_skin_kama a:hover.cke_toolbox_collapser{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:3px -1366px;background-repeat:no-repeat;width:11px;height:11px;float:right;border:1px outset #D3D3D3;margin:11px 0 2px;cursor:pointer;}.cke_skin_kama .cke_rtl a.cke_toolbox_collapser,.cke_skin_kama .cke_rtl a:hover.cke_toolbox_collapser{float:left;}.cke_skin_kama a.cke_toolbox_collapser span{display:none;}.cke_skin_kama .cke_hc a.cke_toolbox_collapser span{font-size:10px;font-weight:bold;font-family:Arial;display:inline;}.cke_skin_kama a.cke_toolbox_collapser_min,.cke_skin_kama a:hover.cke_toolbox_collapser_min{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:4px -1387px;background-repeat:no-repeat;margin:2px 4px;}.cke_skin_kama .cke_rtl a.cke_toolbox_collapser_min,.cke_skin_kama .cke_rtl a:hover.cke_toolbox_collapser_min{background-position:4px -1408px;}.cke_skin_kama .cke_separator{display:inline-block;border-left:solid 1px #D3D3D3;margin:3px 2px 0;height:16px;vertical-align:top;}.cke_skin_kama .cke_break{font-size:0;clear:left;}.cke_skin_kama .cke_rtl .cke_break{clear:right;}.cke_skin_kama .cke_toolbar_start{display:none;}.cke_skin_kama .cke_toolgroup{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:repeat-x;background-position:0 -500px;float:left;margin-right:6px;margin-bottom:5px;padding:2px;display:inline;}
-.cke_skin_kama .cke_rtl .cke_toolgroup{float:right;margin-right:0;margin-left:6px;}.cke_skin_kama .cke_button a,.cke_skin_kama .cke_button a:hover,.cke_skin_kama .cke_button a:focus,.cke_skin_kama .cke_button a:active,.cke_skin_kama .cke_button a.cke_off{border-radius:3px;outline:none;padding:2px 4px;height:18px;display:inline-block;cursor:default;}.cke_skin_kama .cke_button a,.cke_skin_kama .cke_button a.cke_off{filter:alpha(opacity=70);opacity:.70;-moz-border-radius:3px;-webkit-border-radius:3px;}.cke_skin_kama .cke_hc .cke_button a,.cke_skin_kama .cke_hc .cke_button a.cke_off{opacity:1.0;filter:alpha(opacity=100);border:1px solid white;}.cke_skin_kama .cke_button a.cke_on{background-color:#a3d7ff;filter:alpha(opacity=100);opacity:1;padding:2px 4px;}.cke_skin_kama .cke_hc .cke_button a.cke_on{padding:0 2px!important;border-width:3px;}.cke_skin_kama .cke_button a.cke_disabled *{filter:alpha(opacity=30);opacity:.3;}.cke_skin_kama .cke_browser_ie .cke_button a.cke_disabled *,.cke_skin_kama .cke_browser_ie a:hover.cke_button .cke_disabled *{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale'), alpha(opacity=30);}.cke_skin_kama .cke_browser_ie .cke_rtl .cke_button a.cke_disabled *,.cke_skin_kama .cke_browser_ie .cke_rtl a:hover.cke_button .cke_disabled *{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale'), alpha(opacity=30);}.cke_skin_kama .cke_browser_ie6 .cke_button a.cke_disabled *,.cke_skin_kama .cke_browser_ie6 a:hover.cke_button .cke_disabled *,.cke_skin_kama .cke_browser_ie .cke_button.cke_noalphafix a.cke_disabled *{filter:alpha(opacity=30);}.cke_skin_kama .cke_hc .cke_button a.cke_disabled *,.cke_skin_kama .cke_browser_ie.cke_hc a:hover.cke_button .cke_disabled *{filter:alpha(opacity=60);opacity:.6;}.cke_skin_kama .cke_button a:hover.cke_on,.cke_skin_kama .cke_button a:focus.cke_on,.cke_skin_kama .cke_button a:active.cke_on,.cke_skin_kama .cke_button a:hover.cke_off,.cke_skin_kama .cke_button a:focus.cke_off,.cke_skin_kama .cke_button a:active.cke_off{filter:alpha(opacity=100);opacity:1;padding:2px 4px;}.cke_skin_kama .cke_button a:hover,.cke_skin_kama .cke_button a:focus,.cke_skin_kama .cke_button a:active{background-color:#dff1ff;}.cke_skin_kama .cke_button a:hover.cke_on,.cke_skin_kama .cke_button a:focus.cke_on,.cke_skin_kama .cke_button a:active.cke_on{background-color:#86caff;}.cke_skin_kama .cke_hc .cke_button a:hover,.cke_skin_kama .cke_hc .cke_button a:focus,.cke_skin_kama .cke_hc .cke_button a:active{padding:0 2px!important;border-width:3px;}.cke_skin_kama .cke_button .cke_icon{background-image:url(icons.png);background-position:100px;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;display:inline-block;cursor:default;}.cke_skin_kama .cke_rtl .cke_button .cke_icon{background-image:url(icons_rtl.png);}.cke_skin_kama .cke_browser_ie .cke_button .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_skin_kama .cke_browser_ie .cke_rtl .cke_button .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_skin_kama .cke_browser_ie6 .cke_button .cke_icon,.cke_skin_kama .cke_browser_ie6 .cke_rtl .cke_button .cke_icon,.cke_skin_kama .cke_browser_ie .cke_button.cke_noalphafix .cke_icon,.cke_skin_kama .cke_browser_ie .cke_rtl .cke_button.cke_noalphafix .cke_icon{filter:;}.cke_skin_kama .cke_button .cke_label{cursor:default;display:none;padding-left:3px;line-height:18px;vertical-align:middle;}.cke_skin_kama .cke_hc .cke_button .cke_label{padding:0;display:inline-block;}.cke_skin_kama .cke_hc .cke_button .cke_icon{display:none;}.cke_skin_kama .cke_accessibility{position:absolute;display:block;width:0;height:0;overflow:hidden;}.cke_skin_kama .cke_button .cke_buttonarrow{display:inline-block;height:17px;width:8px;background-position:2px -1469px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:no-repeat;cursor:default;}.cke_skin_kama .cke_browser_ie .cke_button .cke_buttonarrow{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}
-.cke_skin_kama .cke_browser_ie6 .cke_button .cke_buttonarrow{filter:;}.cke_skin_kama .cke_browser_gecko .cke_toolbar,.cke_skin_kama .cke_browser_gecko .cke_button a,.cke_skin_kama .cke_browser_gecko .cke_button a.cke_off,.cke_skin_kama .cke_browser_gecko .cke_button .cke_icon,.cke_skin_kama .cke_browser_gecko .cke_button .cke_buttonarrow,.cke_skin_kama .cke_browser_gecko .cke_separator,.cke_skin_kama .cke_browser_gecko .cke_toolbar_start{display:block;float:left;}.cke_skin_kama .cke_browser_gecko.cke_hc .cke_button .cke_icon{display:none;}.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_toolbar,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_button a,.cke_skin_kama .cke_browser_gecko .cke_rtl.cke_button a.cke_off,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_button .cke_icon,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_button .cke_buttonarrow,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_separator,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_toolbar_start{float:right;}.cke_skin_kama .cke_browser_gecko .cke_button .cke_label,.cke_skin_kama .cke_browser_gecko .cke_break{float:left;}.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_button .cke_label,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_break,.cke_skin_kama .cke_browser_ie8 .cke_rtl .cke_break,.cke_skin_kama .cke_browser_ie9plus .cke_rtl .cke_break{float:right;}.cke_skin_kama .cke_browser_webkit .cke_toolbar{float:left;}.cke_skin_kama .cke_browser_webkit .cke_rtl .cke_toolbar{float:right;}.cke_skin_kama .cke_browser_ie .cke_button .cke_label{line-height:16px;}.cke_skin_kama .cke_browser_ie .cke_rcombo,.cke_skin_kama .cke_browser_ie .cke_rcombo *{cursor:default;}.cke_skin_kama .cke_browser_ie .cke_toolbox{padding-bottom:5px;_padding-bottom:6px;}.cke_shared .cke_skin_kama .cke_browser_ie .cke_toolbox{padding-bottom:0;}.cke_skin_kama .cke_contextmenu{padding:2px;}.cke_skin_kama .cke_menuitem a{display:block;}.cke_skin_kama .cke_menuitem span{cursor:default;}.cke_skin_kama .cke_menuitem a:hover,.cke_skin_kama .cke_menuitem a:focus,.cke_skin_kama .cke_menuitem a:active{background-color:#D3D3D3;display:block;}.cke_hc .cke_menuitem a:hover,.cke_hc .cke_menuitem a:focus,.cke_hc .cke_menuitem a:active{border:2px solid;}.cke_skin_kama .cke_menuitem .cke_icon{background-image:url(icons.png);background-position:100px;background-repeat:no-repeat;background-color:transparent;width:16px;height:16px;float:left;}.cke_rtl .cke_skin_kama .cke_menuitem .cke_icon{background-image:url(icons_rtl.png);}.cke_browser_ie .cke_skin_kama .cke_menuitem .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_browser_ie.cke_rtl .cke_skin_kama .cke_menuitem .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_browser_ie6 .cke_skin_kama .cke_menuitem .cke_icon,.cke_browser_ie .cke_skin_kama .cke_menuitem.cke_noalphafix .cke_icon{filter:;}.cke_skin_kama .cke_menuitem .cke_disabled .cke_icon{filter:alpha(opacity=70);opacity:.70;}.cke_browser_ie .cke_skin_kama .cke_menuitem .cke_disabled .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_browser_ie.cke_rtl .cke_skin_kama .cke_menuitem .cke_disabled .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_browser_ie6 .cke_skin_kama .cke_menuitem .cke_disabled .cke_icon,.cke_browser_ie .cke_skin_kama .cke_menuitem.cke_noalphafix .cke_disabled .cke_icon{filter:;}.cke_skin_kama .cke_menuitem .cke_icon_wrapper{background-color:#D3D3D3;border:solid 4px #D3D3D3;width:16px;height:16px;float:left;filter:alpha(opacity=70);opacity:.70;clear:both;}.cke_rtl .cke_skin_kama .cke_menuitem .cke_icon_wrapper{float:right;}.cke_skin_kama .cke_menuitem a:hover .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:focus .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:active .cke_icon_wrapper{background-color:#9d9d9d;border:solid 4px #9d9d9d;filter:alpha(opacity=70);opacity:.70;}.cke_skin_kama .cke_menuitem a:hover.cke_disabled .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:focus.cke_disabled .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:active.cke_disabled .cke_icon_wrapper{background-color:#D3D3D3;border:solid 4px #D3D3D3;}
-.cke_skin_kama .cke_menuitem .cke_label{display:block;padding-right:3px;padding-top:5px;padding-left:4px;height:19px;margin-left:24px;background-color:#fff;}.cke_skin_kama .cke_frameLoaded .cke_menuitem .cke_label{filter:alpha(opacity=70);opacity:.70;}.cke_rtl .cke_skin_kama .cke_menuitem .cke_label{padding-right:0;margin-left:0;padding-left:3px;margin-right:28px;}.cke_skin_kama .cke_menuitem a.cke_disabled .cke_label{filter:alpha(opacity=30);opacity:.30;}.cke_skin_kama .cke_menuitem a:hover .cke_label,.cke_skin_kama .cke_menuitem a:focus .cke_label,.cke_skin_kama .cke_menuitem a:active .cke_label{background-color:#D3D3D3;}.cke_skin_kama .cke_menuitem a.cke_disabled:hover .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:focus .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:active .cke_label{background-color:transparent;}.cke_skin_kama .cke_menuseparator{background-color:#D3D3D3;height:2px;filter:alpha(opacity=70);opacity:.70;_font-size:0;}.cke_skin_kama .cke_menuarrow{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -1411px;background-repeat:no-repeat;height:5px;width:3px;float:right;margin-right:2px;margin-top:3px;}.cke_rtl .cke_skin_kama .cke_menuarrow{float:left;margin-right:0;margin-left:2px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -1390px;background-repeat:no-repeat;}.cke_skin_kama .cke_menuarrow span{display:none;}.cke_hc .cke_skin_kama .cke_menuarrow{width:auto;margin-top:0;}.cke_hc .cke_skin_kama .cke_menuarrow span{display:inline;}.cke_browser_ie.cke_ltr .cke_skin_kama .cke_menuarrow{position:absolute;right:2px;}.cke_browser_ie.cke_rtl .cke_skin_kama .cke_menuarrow{position:absolute;left:2px;}.cke_skin_kama .cke_rcombo{display:inline;}.cke_skin_kama .cke_rcombopanel{border:1px solid #8F8F73;-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;height:auto;_height:100px;}.cke_skin_kama .cke_rcombo a,.cke_skin_kama .cke_rcombo a:active,.cke_skin_kama .cke_rcombo a:hover{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:repeat-x;background-position:0 -100px;border-bottom:1px solid #DAD9D9;border-right:1px solid #DAD9D9;float:left;padding:2px;height:21px;margin-right:6px;margin-bottom:5px;}.cke_skin_kama .cke_rtl .cke_rcombo a,.cke_skin_kama .cke_rtl .cke_rcombo a:active,.cke_skin_kama .cke_rtl .cke_rcombo a:hover{float:right;margin-right:0;margin-left:6px;}.cke_skin_kama .cke_hc .cke_rcombo a{filter:alpha(opacity=100);opacity:1.0;}.cke_skin_kama .cke_rcombo .cke_label{display:none;line-height:26px;vertical-align:top;margin-right:5px;filter:alpha(opacity=70);opacity:.70;}.cke_skin_kama .cke_rtl .cke_rcombo .cke_label{margin-right:0;margin-left:5px;}.cke_skin_kama .cke_rcombo .cke_inline_label{line-height:21px;font-style:italic;color:#666;}.cke_skin_kama .cke_hc .cke_rcombo .cke_openbutton{vertical-align:top;}.cke_skin_kama .cke_hc .cke_rcombo .cke_label{filter:alpha(opacity=100);opacity:1.0;}.cke_skin_kama .cke_rcombo .cke_text{filter:alpha(opacity=70);opacity:.70;height:21px;line-height:21px;width:60px;text-overflow:ellipsis;overflow:hidden;display:inline-block;margin:0 2px 0 4px;cursor:default;}.cke_skin_kama .cke_rtl .cke_rcombo .cke_text{margin:0 4px 0 2px;}.cke_skin_kama .cke_rcombo .cke_openbutton{display:inline-block;}.cke_skin_kama .cke_rcombo .cke_openbutton .cke_icon{display:inline-block;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -68px;background-repeat:no-repeat;width:17px;height:19px;margin:1px 2px;}.cke_skin_kama .cke_hc .cke_rcombo .cke_openbutton .cke_icon{background:none;}.cke_skin_kama .cke_browser_iequirks .cke_rcombo .cke_openbutton{margin-bottom:0;}.cke_skin_kama .cke_rcombo .cke_off a:hover .cke_text,.cke_skin_kama .cke_rcombo .cke_off a:focus .cke_text,.cke_skin_kama .cke_rcombo .cke_off a:active .cke_text,.cke_skin_kama .cke_rcombo .cke_on .cke_text{border-color:#316ac5;filter:alpha(opacity=100);opacity:1;}
-.cke_skin_kama .cke_rcombo .cke_off a:hover .cke_openbutton,.cke_skin_kama .cke_rcombo .cke_off a:focus .cke_openbutton,.cke_skin_kama .cke_rcombo .cke_off a:active .cke_openbutton,.cke_skin_kama .cke_rcombo .cke_on .cke_openbutton{border-color:#316ac5;background-color:#dff1ff;}.cke_skin_kama .cke_rcombo .cke_on .cke_text{-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;}.cke_skin_kama .cke_rcombo .cke_on .cke_openbutton{-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;}.cke_skin_kama .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=30);opacity:.3;}.cke_skin_kama .cke_hc .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=70);opacity:.7;}.cke_skin_kama .cke_rcombo .cke_disabled .cke_text,.cke_skin_kama .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=50);opacity:.5;}.cke_skin_kama .cke_browser_ie .cke_rcombo .cke_disabled .cke_openbutton{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale'), alpha(opacity=50);}.cke_skin_kama .cke_browser_ie6 .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=50);}.cke_skin_kama .cke_hc .cke_rcombo .cke_disabled .cke_text,.cke_skin_kama .cke_hc .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=80);opacity:.8;}.cke_skin_kama .cke_rcombo .cke_disabled .cke_text{color:#fff;}.cke_skin_kama .cke_browser_gecko .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_gecko .cke_rcombo .cke_openbutton,.cke_skin_kama .cke_browser_webkit .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_webkit .cke_rcombo .cke_openbutton{display:block;float:left;}.cke_skin_kama .cke_browser_gecko .cke_rcombo .cke_label,.cke_skin_kama .cke_browser_webkit .cke_rcombo .cke_label{float:left;}.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_rcombo .cke_label,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_rcombo .cke_openbutton,.cke_skin_kama .cke_browser_webkit .cke_rtl .cke_rcombo .cke_label,.cke_skin_kama .cke_browser_webkit .cke_rtl .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_webkit .cke_rtl .cke_rcombo .cke_openbutton{float:right;}.cke_skin_kama .cke_browser_ie7 .cke_rcombo .cke_text{line-height:18px;}.cke_skin_kama .cke_browser_ie6 .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_iequirks .cke_rcombo .cke_text{height:auto;line-height:17px;}.cke_skin_kama .cke_rtl .cke_rcombo .cke_font .cke_text,.cke_skin_kama .cke_rtl .cke_rcombo .cke_fontSize .cke_text{direction:ltr;}@media print{.cke_path{display:none;}}.cke_skin_kama .cke_path{display:inline-block;float:left;margin-top:5px;}.cke_skin_kama .cke_rtl .cke_path{float:right;}.cke_shared .cke_skin_kama .cke_path{_width:100%;margin:0 0 5px;}.cke_skin_kama .cke_path a,.cke_skin_kama .cke_path .cke_empty{display:inline-block;float:left;padding:1px 4px 0;color:#60676a;cursor:default;}.cke_skin_kama .cke_path .cke_empty{visibility:hidden;}.cke_skin_kama .cke_rtl .cke_path a,.cke_skin_kama .cke_rtl .cke_path cke_empty{float:right;}.cke_skin_kama .cke_path a:hover,.cke_skin_kama .cke_path a:focus,.cke_skin_kama .cke_path a:active{background-color:#dff1ff;padding:1px 4px 0;outline:none;color:#000;}.cke_skin_kama .cke_browser_ie .cke_rtl .cke_path a,.cke_skin_kama .cke_browser_ie .cke_rtl .cke_path .cke_empty{float:none;}.cke_skin_kama .cke_path .cke_label{display:none;}.cke_skin_kama .cke_button_source .cke_icon{background-position:0 0;}.cke_skin_kama .cke_button_docProps .cke_icon{background-position:0 -16px;}.cke_skin_kama .cke_button_newpage .cke_icon{background-position:0 -48px;}.cke_skin_kama .cke_button_preview .cke_icon{background-position:0 -64px;}.cke_skin_kama .cke_button_cut .cke_icon{background-position:0 -96px;}.cke_skin_kama .cke_button_copy .cke_icon{background-position:0 -112px;}.cke_skin_kama .cke_button_paste .cke_icon{background-position:0 -128px;}.cke_skin_kama .cke_button_pastetext .cke_icon{background-position:0 -144px;}.cke_skin_kama .cke_button_find .cke_icon{background-position:0 -240px;}.cke_skin_kama .cke_button_replace .cke_icon{background-position:0 -256px;}
-.cke_skin_kama .cke_button_selectAll .cke_icon{background-position:0 -272px;}.cke_skin_kama .cke_button_removeFormat .cke_icon{background-position:0 -288px;}.cke_skin_kama .cke_button_bold .cke_icon{background-position:0 -304px;}.cke_skin_kama .cke_button_italic .cke_icon{background-position:0 -320px;}.cke_skin_kama .cke_button_underline .cke_icon{background-position:0 -336px;}.cke_skin_kama .cke_button_strike .cke_icon{background-position:0 -352px;}.cke_skin_kama .cke_button_subscript .cke_icon{background-position:0 -368px;}.cke_skin_kama .cke_button_superscript .cke_icon{background-position:0 -384px;}.cke_skin_kama .cke_button_table .cke_icon{background-position:0 -608px;}.cke_skin_kama .cke_button_horizontalrule .cke_icon{background-position:0 -624px;}.cke_skin_kama .cke_button_smiley .cke_icon{background-position:0 -640px;}.cke_skin_kama .cke_button_link .cke_icon{background-position:0 -528px;}.cke_skin_kama .cke_button_unlink .cke_icon{background-position:0 -544px;}.cke_skin_kama .cke_button_anchor .cke_icon{background-position:0 -560px;}.cke_skin_kama .cke_button_image .cke_icon{background-position:0 -576px;}.cke_skin_kama .cke_button_flash .cke_icon{background-position:0 -592px;}.cke_skin_kama .cke_button_specialchar .cke_icon{background-position:0 -656px;}.cke_skin_kama .cke_button_pagebreak .cke_icon{background-position:0 -672px;}.cke_skin_kama .cke_button_print .cke_icon{background-position:0 -176px;}.cke_skin_kama .cke_button_checkspell .cke_icon,.cke_skin_kama .cke_button_scayt .cke_icon{background-position:0 -192px;}.cke_skin_kama .cke_button_pagebreak .cke_icon{background-position:0 -672px;}.cke_skin_kama .cke_button_textcolor .cke_icon{background-position:0 -704px;}.cke_skin_kama .cke_button_bgcolor .cke_icon{background-position:0 -720px;}.cke_skin_kama .cke_button_form .cke_icon{background-position:0 -752px;}.cke_skin_kama .cke_button_checkbox .cke_icon{background-position:0 -768px;}.cke_skin_kama .cke_button_radio .cke_icon{background-position:0 -784px;}.cke_skin_kama .cke_button_textfield .cke_icon{background-position:0 -800px;}.cke_skin_kama .cke_button_textarea .cke_icon{background-position:0 -816px;}.cke_skin_kama .cke_button_showblocks .cke_icon{background-position:0 -1136px;}.cke_skin_kama .cke_button_select .cke_icon{background-position:0 -832px;}.cke_skin_kama .cke_button_button .cke_icon{background-position:0 -848px;}.cke_skin_kama .cke_button_imagebutton .cke_icon{background-position:0 -864px;}.cke_skin_kama .cke_button_hiddenfield .cke_icon{background-position:0 -880px;}.cke_skin_kama .cke_button_undo .cke_icon{background-position:0 -208px;}.cke_skin_kama .cke_rtl .cke_button_undo .cke_icon{background-position:0 -224px;}.cke_skin_kama .cke_button_redo .cke_icon{background-position:0 -224px;}.cke_skin_kama .cke_rtl .cke_button_redo .cke_icon{background-position:0 -208px;}.cke_skin_kama .cke_button_templates .cke_icon{background-position:0 -80px;}.cke_skin_kama .cke_button_numberedlist .cke_icon{background-position:0 -400px;}.cke_skin_kama .cke_button_bulletedlist .cke_icon{background-position:0 -416px;}.cke_skin_kama .cke_mixed_dir_content .cke_button_numberedlist .cke_icon{background-position:0 -1217px;}.cke_skin_kama .cke_mixed_dir_content .cke_button_bulletedlist .cke_icon{background-position:0 -1233px;}.cke_skin_kama .cke_button_outdent .cke_icon{background-position:0 -432px;}.cke_skin_kama .cke_button_indent .cke_icon{background-position:0 -448px;}.cke_skin_kama .cke_mixed_dir_content .cke_button_indent .cke_icon{background-position:0 -1265px;}.cke_skin_kama .cke_mixed_dir_content .cke_button_outdent .cke_icon{background-position:0 -1249px;}.cke_skin_kama .cke_button_justifyleft .cke_icon{background-position:0 -464px;}.cke_skin_kama .cke_button_justifycenter .cke_icon{background-position:0 -480px;}.cke_skin_kama .cke_button_justifyright .cke_icon{background-position:0 -496px;}.cke_skin_kama .cke_button_justifyblock .cke_icon{background-position:0 -512px;}.cke_skin_kama .cke_button_blockquote .cke_icon{background-position:0 -1152px;}.cke_skin_kama .cke_button_creatediv .cke_icon{background-position:0 -1168px;}
-.cke_skin_kama .cke_button_editdiv .cke_icon{background-position:0 -1184px;}.cke_skin_kama .cke_button_removediv .cke_icon{background-position:0 -1200px;}.cke_skin_kama .cke_button_flash .cke_icon{background-position:0 -592px;}.cke_skin_kama .cke_button_pastefromword .cke_icon{background-position:0 -160px;}.cke_skin_kama .cke_button_save .cke_icon{background-position:0 -32px;}.cke_skin_kama .cke_button_about .cke_icon{background-position:0 -736px;}.cke_skin_kama .cke_button_maximize .cke_icon{background-position:0 -1040px;}.cke_skin_kama .cke_button_editdiv .cke_icon{background-position:0 -1184px;}.cke_skin_kama .cke_button_bidirtl .cke_icon{background-position:0 -1072px;}.cke_skin_kama .cke_button_bidiltr .cke_icon{background-position:0 -1056px;}.cke_skin_kama .cke_button_iframe .cke_icon{background-position:0 -1279px;}.cke_skin_kama .cke_button_source .cke_label{display:inline;}.cke_skin_kama .cke_styles_panel{width:150px;height:170px;}.cke_skin_kama .cke_format_panel{width:150px;height:170px;}.cke_skin_kama .cke_font_panel{width:150px;height:170px;}.cke_skin_kama .cke_fontSize_panel{height:170px;}.cke_skin_kama .cke_fontSize .cke_text{width:25px;}.cke_skin_kama .cke_browser_iequirks .cke_fontSize .cke_text{width:32px;}html .cke_skin_kama{visibility:inherit;}html.cke_skin_kama_container{visibility:visible;}
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/skins/kama/skin.js b/rt/share/html/NoAuth/RichText/ckeditor/skins/kama/skin.js
deleted file mode 100644
index ff0a896..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/skins/kama/skin.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.skins.add('kama',(function(){var a='cke_ui_color';return{editor:{css:['editor.css']},dialog:{css:['dialog.css']},richcombo:{canGroup:false},templates:{css:['templates.css']},margins:[0,0,0,0],init:function(b){if(b.config.width&&!isNaN(b.config.width))b.config.width-=12;var c=[],d=/\$color/g,e='/* UI Color Support */.cke_skin_kama .cke_menuitem .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuitem a:hover .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:focus .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:active .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuitem a:hover .cke_label,.cke_skin_kama .cke_menuitem a:focus .cke_label,.cke_skin_kama .cke_menuitem a:active .cke_label{\tbackground-color: $color !important;}.cke_skin_kama .cke_menuitem a.cke_disabled:hover .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:focus .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:active .cke_label{\tbackground-color: transparent !important;}.cke_skin_kama .cke_menuitem a.cke_disabled:hover .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a.cke_disabled:focus .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a.cke_disabled:active .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuitem a.cke_disabled .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuseparator{\tbackground-color: $color !important;}.cke_skin_kama .cke_menuitem a:hover,.cke_skin_kama .cke_menuitem a:focus,.cke_skin_kama .cke_menuitem a:active{\tbackground-color: $color !important;}';if(CKEDITOR.env.webkit){e=e.split('}').slice(0,-1);for(var f=0;f<e.length;f++)e[f]=e[f].split('{');}function g(j){var k=j.getById(a);if(!k){k=j.getHead().append('style');k.setAttribute('id',a);k.setAttribute('type','text/css');}return k;};function h(j,k,l){var m,n,o;for(var p=0;p<j.length;p++){if(CKEDITOR.env.webkit)for(n=0;n<k.length;n++){o=k[n][1];for(m=0;m<l.length;m++)o=o.replace(l[m][0],l[m][1]);j[p].$.sheet.addRule(k[n][0],o);}else{o=k;for(m=0;m<l.length;m++)o=o.replace(l[m][0],l[m][1]);if(CKEDITOR.env.ie)j[p].$.styleSheet.cssText+=o;else j[p].$.innerHTML+=o;}}};var i=/\$color/g;CKEDITOR.tools.extend(b,{uiColor:null,getUiColor:function(){return this.uiColor;},setUiColor:function(j){var k,l=g(CKEDITOR.document),m='.'+b.id,n=[m+' .cke_wrapper',m+'_dialog .cke_dialog_contents',m+'_dialog a.cke_dialog_tab',m+'_dialog .cke_dialog_footer'].join(','),o='background-color: $color !important;';
-if(CKEDITOR.env.webkit)k=[[n,o]];else k=n+'{'+o+'}';return(this.setUiColor=function(p){var q=[[i,p]];b.uiColor=p;h([l],k,q);h(c,e,q);})(j);}});b.on('menuShow',function(j){var k=j.data[0],l=k.element.getElementsByTag('iframe').getItem(0).getFrameDocument();if(!l.getById('cke_ui_color')){var m=g(l);c.push(m);var n=b.getUiColor();if(n)h([m],e,[[i,n]]);}});if(b.config.uiColor)b.setUiColor(b.config.uiColor);}};})());(function(){CKEDITOR.dialog?a():CKEDITOR.on('dialogPluginReady',a);function a(){CKEDITOR.dialog.on('resize',function(b){var c=b.data,d=c.width,e=c.height,f=c.dialog,g=f.parts.contents;if(c.skin!='kama')return;g.setStyles({width:d+'px',height:e+'px'});});};})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/skins/kama/templates.css b/rt/share/html/NoAuth/RichText/ckeditor/skins/kama/templates.css
deleted file mode 100644
index ba7120c..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/skins/kama/templates.css
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-.cke_skin_kama .cke_tpl_list{border:#dcdcdc 2px solid;background-color:#fff;overflow-y:auto;overflow-x:hidden;width:100%;height:220px;}.cke_skin_kama .cke_tpl_item{margin:5px;padding:7px;border:#eee 1px solid;*width:88%;}.cke_skin_kama .cke_tpl_preview{border-collapse:separate;text-indent:0;width:100%;}.cke_skin_kama .cke_tpl_preview td{padding:2px;vertical-align:middle;}.cke_skin_kama .cke_tpl_preview .cke_tpl_preview_img{width:100px;}.cke_skin_kama .cke_tpl_preview span{white-space:normal;}.cke_skin_kama .cke_tpl_title{font-weight:bold;}.cke_skin_kama .cke_tpl_list a:active .cke_tpl_item,.cke_skin_kama .cke_tpl_list a:hover .cke_tpl_item,.cke_skin_kama .cke_tpl_list a:focus .cke_tpl_item{border:#f93 1px solid;background-color:#fffacd;}.cke_skin_kama .cke_tpl_list a:active *,.cke_skin_kama .cke_tpl_list a:hover *,.cke_skin_kama .cke_tpl_list a:focus *{cursor:pointer;}.cke_skin_kama .cke_browser_ie6 .cke_tpl_list a:active,.cke_skin_kama .cke_browser_ie6 .cke_tpl_list a:hover,.cke_skin_kama .cke_browser_ie6 .cke_tpl_list a:focus{background-position:0 0;}.cke_skin_kama .cke_hc .cke_tpl_list a:active .cke_tpl_item,.cke_skin_kama .cke_hc .cke_tpl_list a:hover .cke_tpl_item,.cke_skin_kama .cke_hc .cke_tpl_list a:focus .cke_tpl_item{border-width:3px;}.cke_skin_kama .cke_tpl_empty,.cke_tpl_loading{text-align:center;padding:5px;}
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/dialog.css b/rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/dialog.css
deleted file mode 100644
index 40b02a4..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/dialog.css
+++ /dev/null
@@ -1,10 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-body .cke_dialog{visibility:visible;}.cke_skin_office2003 table.cke_dialog.cke_browser_gecko{display:block;}.cke_skin_office2003 .cke_dialog_body{margin-left:16px;margin-right:16px;margin-top:2px;margin-bottom:20px;z-index:1;_position:static;}.cke_skin_office2003 .cke_dialog_tl,.cke_skin_office2003 .cke_dialog_tr,.cke_skin_office2003 .cke_dialog_tc,.cke_skin_office2003 .cke_dialog_bl,.cke_skin_office2003 .cke_dialog_br,.cke_skin_office2003 .cke_dialog_bc{background-image:url(images/sprites.png);background-repeat:no-repeat;position:absolute;_background-image:url(images/sprites_ie6.png);z-index:-1;}.cke_skin_office2003 .cke_dialog_tl{background-position:-16px -16px;height:16px;width:16px;top:0;left:0;}.cke_skin_office2003 .cke_rtl .cke_dialog_tl{background-position:-16px -397px;}.cke_skin_office2003 .cke_dialog_tr{background-position:-16px -76px;height:16px;width:16px;top:0;right:0;}.cke_skin_office2003 .cke_rtl .cke_dialog_tr{background-position:-16px -457px;}.cke_skin_office2003 .cke_dialog_tc{background-position:0 -136px;background-repeat:repeat-x;height:16px;top:0;left:16px;right:16px;}.cke_skin_office2003 .cke_dialog_bl{background-position:-16px -196px;height:51px;width:30px;bottom:0;left:0;}.cke_skin_office2003 .cke_rtl .cke_dialog_bl{background-position:-16px -517px;}.cke_skin_office2003 .cke_dialog_br{background-position:-16px -263px;height:51px;width:30px;bottom:0;right:0;}.cke_skin_office2003 .cke_rtl .cke_dialog_br{background-position:-16px -584px;}.cke_skin_office2003 .cke_dialog_bc{background-position:0 -330px;background-repeat:repeat-x;height:51px;bottom:0;left:30px;right:30px;}.cke_skin_office2003 .cke_dialog_ml,.cke_skin_office2003 .cke_dialog_mr{background-image:url(images/dialog_sides.png);background-repeat:repeat-y;position:absolute;width:16px;top:16px;bottom:51px;_background-image:url(images/dialog_sides.gif);_top:auto;}.cke_skin_office2003 .cke_rtl .cke_dialog_ml,.cke_skin_office2003 .cke_rtl .cke_dialog_mr{background-image:url(images/dialog_sides_rtl.png);_background-image:url(images/dialog_sides.gif);}.cke_skin_office2003 .cke_dialog_ml{background-position:0 0;left:0;}.cke_skin_office2003 .cke_dialog_mr{background-position:-16px 0;right:0;}.cke_skin_office2003 .cke_browser_iequirks .cke_dialog_ml,.cke_skin_office2003 .cke_browser_iequirks .cke_dialog_mr{margin-top:3px;}.cke_skin_office2003 .cke_dialog_title{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -678px;background-repeat:repeat-x;font-weight:bold;font-size:14pt;color:#0E3460;background-color:#8db1ff;padding:3px 10px 26px 10px;cursor:move;position:relative;}.cke_skin_office2003 .cke_browser_ie.cke_rtl .cke_dialog_title{position:static;}.cke_skin_office2003 .cke_dialog_contents{background-color:#f7f8fd;border:#2b66c9 1px solid;overflow:auto;padding:5px 10px;}.cke_skin_office2003 .cke_dialog_footer{background-color:#8db1ff;text-align:right;}.cke_skin_office2003 .cke_rtl .cke_dialog_footer{text-align:left;}.cke_skin_office2003 .cke_dialog_footer .cke_resizer{margin-top:21px;}.cke_skin_office2003 .cke_dialog_tabs{height:23px;background-color:#8db1ff;display:inline-block;margin-left:10px;margin-right:10px;margin-top:-23px;position:absolute;z-index:2;}.cke_skin_office2003 .cke_rtl .cke_dialog_tabs{right:10px;}.cke_skin_office2003 a.cke_dialog_tab,.cke_skin_office2003 a:link.cke_dialog_tab,.cke_skin_office2003 a:active.cke_dialog_tab,.cke_skin_office2003 a:hover.cke_dialog_tab,.cke_skin_office2003 a:visited.cke_dialog_tab{color:#0E3460;border-left:1px solid #2b66c9;border-right:1px solid #2b66c9;border-top:1px solid #2b66c9;height:14px;padding:4px 5px;display:inline-block;cursor:pointer;}.cke_skin_office2003 .cke_browser_gecko18 a.cke_dialog_tab,.cke_skin_office2003 .cke_browser_gecko18 a:link.cke_dialog_tab,.cke_skin_office2003 .cke_browser_gecko18 a:active.cke_dialog_tab,.cke_skin_office2003 .cke_browser_gecko18 a:hover.cke_dialog_tab,.cke_skin_office2003 .cke_browser_gecko18 a:visited.cke_dialog_tab{display:inline;position:relative;top:6px;}.cke_skin_office2003 a:hover.cke_dialog_tab{background-color:#f7f8fd;}
-.cke_skin_office2003 .cke_hc a:hover.cke_dialog_tab{padding:2px 3px!important;border-width:3px;}.cke_skin_office2003 a.cke_dialog_tab_selected,.cke_skin_office2003 a:link.cke_dialog_tab_selected,.cke_skin_office2003 a:active.cke_dialog_tab_selected,.cke_skin_office2003 a:hover.cke_dialog_tab_selected,.cke_skin_office2003 a:visited.cke_dialog_tab_selected{border-bottom:1px solid #f7f8fd;background-color:#f7f8fd;font-weight:bold;cursor:default;}.cke_skin_office2003 .cke_hc a.cke_dialog_tab_selected,.cke_skin_office2003 .cke_hc a:link.cke_dialog_tab_selected,.cke_skin_office2003 .cke_hc a:active.cke_dialog_tab_selected,.cke_skin_office2003 .cke_hc a:hover.cke_dialog_tab_selected,.cke_skin_office2003 .cke_hc a:visited.cke_dialog_tab_selected{padding:2px 3px!important;border-width:3px;}.cke_skin_office2003 .cke_single_page .cke_dialog_tabs{display:none;}.cke_skin_office2003 .cke_hc .cke_dialog_tabs a,.cke_skin_office2003 .cke_hc .cke_dialog_footer a{opacity:1.0;filter:alpha(opacity=100);border:1px solid white;}.cke_skin_office2003 .cke_single_page .cke_dialog_title{padding-bottom:3px;}.cke_skin_office2003 .cke_dialog_ui_vbox table,.cke_skin_office2003 .cke_dialog_ui_hbox table{margin:auto;}.cke_skin_office2003 .cke_dialog_ui_vbox_child{padding:5px 0;}.cke_skin_office2003 input.cke_dialog_ui_input_text,.cke_skin_office2003 input.cke_dialog_ui_input_password{background-color:white;border:none;padding:0;width:100%;height:14px;}.cke_skin_office2003 div.cke_dialog_ui_input_text,.cke_skin_office2003 div.cke_dialog_ui_input_password{background-color:white;border:1px solid #a0a0a0;padding:1px 0;_width:99.9%;}.cke_skin_office2003 .cke_browser_ie7 input.cke_dialog_ui_input_text,.cke_skin_office2003 .cke_browser_ie7 input.cke_dialog_ui_input_password{position:absolute;}.cke_skin_office2003 .cke_browser_ie7 div.cke_dialog_ui_input_text,.cke_skin_office2003 .cke_browser_ie7 div.cke_dialog_ui_input_password{height:14px;position:relative;}.cke_skin_office2003 .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_text,.cke_skin_office2003 .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_text,.cke_skin_office2003 .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_password,.cke_skin_office2003 .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_password{padding-right:2px;}.cke_skin_office2003 .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text,.cke_skin_office2003 .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_text,.cke_skin_office2003 .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_password,.cke_skin_office2003 .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_password{padding-left:2px;}.cke_skin_office2003 .cke_browser_ie.cke_rtl .cke_dialog_ui_vbox_child,.cke_skin_office2003 .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_child,.cke_skin_office2003 .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_first,.cke_skin_office2003 .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_last{padding-right:2px!important;}.cke_skin_office2003 .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text{padding-right:1px;}.cke_skin_office2003 .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_text,.cke_skin_office2003 .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_password{border-width:0;}.cke_skin_office2003 .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_text,.cke_skin_office2003 .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_password{border-width:1px;}.cke_skin_office2003 textarea.cke_dialog_ui_input_textarea{background-color:white;border:none;padding:0;width:100%;_width:99%;overflow:auto;resize:none;}.cke_skin_office2003 div.cke_dialog_ui_input_textarea{background-color:white;border:1px solid #a0a0a0;padding:1px 0;}.cke_skin_office2003 .cke_rtl .cke_dialog_ui_labeled_content{_width:95%;}.cke_skin_office2003 div.cke_disabled .cke_dialog_ui_labeled_content *{background-color:#a0a0a0;cursor:default;}.cke_skin_office2003 .cke_dialog_ui_hbox{width:100%;}.cke_skin_office2003 .cke_dialog_ui_hbox_first,.cke_skin_office2003 .cke_dialog_ui_hbox_child,.cke_skin_office2003 .cke_dialog_ui_hbox_last{vertical-align:top;}.cke_skin_office2003 .cke_ltr .cke_dialog_ui_hbox_first,.cke_skin_office2003 .cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px;}
-.cke_skin_office2003 .cke_rtl .cke_dialog_ui_hbox_first,.cke_skin_office2003 .cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px;}.cke_skin_office2003 a.cke_dialog_ui_button{border-collapse:separate;cursor:default;}.cke_skin_office2003 a.cke_dialog_ui_button_ok span,.cke_skin_office2003 a.cke_dialog_ui_button_cancel span{width:60px;}.cke_skin_office2003 span.cke_dialog_ui_button{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -678px;background-repeat:repeat-x;border:#0E3460 1px solid;padding:2px 10px;text-align:center;color:#0E3460;background-color:#8db1ff;display:inline-block;cursor:default;}.cke_skin_office2003 .cke_browser_gecko18 .cke_dialog_footer_buttons span.cke_dialog_ui_button{display:block;}.cke_skin_office2003 a.cke_dialog_ui_button span.cke_disabled{border:#898980 1px solid;color:#5e5e55;background-color:#c5c5b3;}.cke_skin_office2003 a:focus span.cke_dialog_ui_button,.cke_skin_office2003 a:active span.cke_dialog_ui_button{background-color:#8db1ff;}.cke_skin_office2003 .cke_hc a:focus span.cke_dialog_ui_button,.cke_skin_office2003 .cke_hc a:active span.cke_dialog_ui_button{border-width:2px;}.cke_skin_office2003 .cke_dialog_footer_buttons{display:inline-table;margin-right:12px;margin-left:12px;width:auto;position:relative;}.cke_skin_office2003 .cke_browser_gecko18 .cke_dialog_footer_buttons{display:inline;}.cke_skin_office2003 .cke_dialog_footer_buttons span.cke_dialog_ui_button{margin:7px 0;}.cke_skin_office2003 .cke_browser_ie7 .cke_dialog_footer_buttons{position:static;}.cke_skin_office2003 strong{font-weight:bold;}.cke_skin_office2003 a.cke_dialog_close_button,.cke_skin_office2003 a:hover.cke_dialog_close_button,.cke_skin_office2003 .cke_browser_ie6 a.cke_dialog_close_button,.cke_skin_office2003 .cke_browser_ie6 a:hover.cke_dialog_close_button{background-image:url(images/sprites.png);background-repeat:no-repeat;background-position:-20px -655px;position:absolute;cursor:pointer;text-align:center;height:21px;width:21px;top:4px;_background-image:url(images/sprites_ie6.png);}.cke_skin_office2003 a.cke_dialog_close_button span{display:none;}.cke_skin_office2003 .cke_ltr a.cke_dialog_close_button{right:22px;}.cke_skin_office2003 .cke_rtl a.cke_dialog_close_button,.cke_skin_office2003 .cke_rtl a:hover.cke_dialog_close_button{left:16px;_top:6px;}.cke_skin_office2003 .cke_browser_ie6.cke_rtl a.cke_dialog_close_button,.cke_skin_office2003 .cke_browser_ie6.cke_rtl a:hover.cke_dialog_close_button{position:relative;float:left;margin-top:-55px;margin-left:-7px;}.cke_skin_office2003 .cke_browser_iequirks.cke_rtl.cke_single_page a.cke_dialog_close_button,.cke_skin_office2003 .cke_browser_iequirks.cke_rtl.cke_single_page a:hover.cke_dialog_close_button{margin-top:-32px;}.cke_skin_office2003 .cke_browser_iequirks.cke_ltr a.cke_dialog_close_button,.cke_skin_office2003 .cke_browser_iequirks.cke_ltr a:hover.cke_dialog_close_button{margin-top:0;}.cke_skin_office2003 .cke_dialog_ui_input_select{border:1px solid #a0a0a0;background-color:white;}.cke_skin_office2003 .cke_dialog_ui_input_file{width:100%;height:25px;}.cke_skin_office2003 .cke_dialog .cke_dark_background{background-color:#eaead1;}.cke_skin_office2003 .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_office2003 .cke_dialog .cke_centered{text-align:center;}.cke_skin_office2003 .cke_dialog a.cke_btn_reset{float:right;background-position:0 -32px;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:1px none;font-size:1px;}.cke_skin_office2003 .cke_rtl .cke_dialog a.cke_btn_reset{float:left;}.cke_skin_office2003 .cke_dialog a.cke_btn_locked,.cke_skin_office2003 .cke_dialog a.cke_btn_unlocked{float:left;background-position:0 0;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px;}.cke_skin_office2003 .cke_dialog a.cke_btn_locked .cke_icon{display:none;}.cke_skin_office2003 .cke_rtl .cke_dialog a.cke_btn_locked,.cke_skin_office2003 .cke_rtl .cke_dialog a.cke_btn_unlocked{float:right;}.cke_skin_office2003 .cke_dialog a.cke_btn_unlocked{background-position:0 -16px;background-image:url(images/mini.gif);}
-.cke_skin_office2003 .cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer;}.cke_skin_office2003 .cke_dialog .ImagePreviewBox{border:2px ridge black;overflow:scroll;height:210px;width:230px;padding:2px;background-color:white;}.cke_skin_office2003 .cke_dialog .ImagePreviewBox table td{white-space:normal;}.cke_skin_office2003 .cke_browser_iequirks .cke_dialog_page_contents{_position:absolute;}.cke_skin_office2003 .cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4;}.cke_skin_office2003 .cke_dialog .FlashPreviewBox{white-space:normal;border:2px ridge black;overflow:auto;height:160px;width:390px;padding:2px;background-color:white;}.cke_skin_office2003 .cke_dialog .cke_pastetext{width:346px;height:170px;}.cke_skin_office2003 .cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none;}.cke_skin_office2003 .cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid black;}.cke_skin_office2003 .cke_dialog .cke_dark_background{text-align:center;background-color:#eaead1;font-size:14px;}.cke_skin_office2003 .cke_dialog .cke_light_background{text-align:center;background-color:#ffffbe;}.cke_skin_office2003 .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_office2003 .cke_disabled{color:#a0a0a0;}.cke_skin_office2003 .cke_hc .cke_dialog_title,.cke_skin_office2003 .cke_hc .cke_dialog_tabs,.cke_skin_office2003 .cke_hc .cke_dialog_contents,.cke_skin_office2003 .cke_hc .cke_dialog_footer{border-left:1px solid;border-right:1px solid;}.cke_skin_office2003 .cke_hc .cke_dialog_title{border-top:1px solid;}.cke_skin_office2003 .cke_hc .cke_dialog_footer{border-bottom:1px solid;}.cke_skin_office2003 .cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px;}.cke_skin_office2003 .cke_dialog_body .cke_label{display:none;}.cke_skin_office2003 .cke_dialog_body label.cke_required{font-weight:bold;}.cke_skin_office2003 .cke_hc .cke_dialog_body .cke_label{display:inline;cursor:inherit;}.cke_skin_office2003 .cke_hc a.cke_btn_locked,.cke_skin_office2003 .cke_hc a.cke_btn_unlocked,.cke_skin_office2003 .cke_hc a.cke_btn_reset{border-style:solid;float:left;width:auto;height:auto;padding:0 2px;}.cke_skin_office2003 .cke_hc a.cke_btn_locked .cke_icon{display:inline;}.cke_skin_office2003 .cke_rtl.cke_hc a.cke_btn_locked,.cke_skin_office2003 .cke_rtl.cke_hc a.cke_btn_unlocked,.cke_skin_office2003 .cke_rtl.cke_hc a.cke_btn_reset{float:right;}.cke_skin_office2003 .cke_dialog_contents a.colorChooser{display:block;margin-top:12px;margin-left:10px;width:40px;}.cke_skin_office2003 .cke_dialog_contents a.colorChooser .cke_dialog_ui_button{width:100%;}.cke_skin_office2003 .cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px;}.cke_skin_office2003 .cke_browser_gecko .cke_dialog_ui_checkbox_input:focus,.cke_skin_office2003 .cke_browser_gecko .cke_dialog_ui_radio_input:focus,.cke_skin_office2003 .cke_browser_opera .cke_dialog_ui_checkbox_input:focus,.cke_skin_office2003 .cke_browser_opera .cke_dialog_ui_radio_input:focus,.cke_skin_office2003 .cke_browser_gecko .cke_dialog_ui_input_select:focus,.cke_skin_office2003 .cke_browser_gecko .cke_btn_over,.cke_skin_office2003 .cke_browser_opera .cke_btn_over,.cke_skin_office2003 .cke_browser_ie .cke_btn_over{outline:1px dotted #696969;}.cke_skin_office2003 .cke_browser_ie .cke_dialog_ui_checkbox_input,.cke_skin_office2003 .cke_browser_ie .cke_dialog_ui_ratio_input,.cke_skin_office2003 .cke_browser_ie .cke_btn_reset,.cke_skin_office2003 .cke_browser_ie .cke_btn_locked,.cke_skin_office2003 .cke_browser_ie .cke_btn_unlocked{*border:1px solid transparent!important;-border:1px solid red!important;-filter:chroma(color=red);}.cke_skin_office2003 .cke_browser_ie .cke_dialog_ui_focused,.cke_skin_office2003 .cke_browser_ie .cke_btn_over{*border:1px dotted #696969!important;}.cke_skin_office2003 .cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity=0);width:100%;height:100%;}
-.cke_dialog label{display:inline;margin-bottom:auto;cursor:default;}
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/editor.css b/rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/editor.css
deleted file mode 100644
index e8e5cee..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/editor.css
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-.cke_skin_office2003 *,.cke_skin_office2003 a:hover,.cke_skin_office2003 a:link,.cke_skin_office2003 a:visited,.cke_skin_office2003 a:active{margin:0;padding:0;border:0;background:transparent;text-decoration:none;font:normal normal normal 100% Sans-Serif;width:auto;height:auto;border-collapse:collapse;text-align:left;vertical-align:baseline;white-space:nowrap;cursor:auto;color:#000;float:none;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif;}.cke_skin_office2003 .cke_rtl *,.cke_skin_office2003 .cke_rtl a:hover,.cke_skin_office2003 .cke_rtl a:link,.cke_skin_office2003 .cke_rtl a:visited,.cke_skin_office2003 .cke_rtl a:active,.cke_rtl .cke_skin_office2003 *,.cke_rtl .cke_skin_office2003 a:hover,.cke_rtl .cke_skin_office2003 a:link,.cke_rtl .cke_skin_office2003 a:visited,.cke_rtl .cke_skin_office2003 a:active{text-align:right;}.cke_skin_office2003 iframe{vertical-align:inherit;}.cke_skin_office2003 textarea{white-space:pre;}.cke_skin_office2003 .cke_browser_gecko textarea{cursor:text;}.cke_skin_office2003 .cke_browser_gecko textarea[disabled]{cursor:default;}.cke_skin_office2003 input[type="text"],.cke_skin_office2003 input[type="password"]{cursor:text;}.cke_skin_office2003 input[type="text"][disabled],.cke_skin_office2003 input[type="password"][disabled]{cursor:default;}.cke_skin_office2003 fieldset{padding:10px;border:2px groove #E0DFE3;}.cke_skin_office2003 .cke_editor{display:inline-table;width:100%;}.cke_skin_office2003 .cke_browser_webkit .cke_editor{display:table;}.cke_skin_office2003 span.cke_browser_webkit,.cke_skin_office2003 span.cke_browser_gecko18{display:block;}.cke_skin_office2003,.cke_skin_office2003 .cke_wrapper{display:block;}.cke_skin_office2003 .cke_top,.cke_skin_office2003 .cke_bottom,.cke_shared .cke_skin_office2003{background-color:#f7f8fd;}.cke_skin_office2003 .cke_top{border-top:solid 1px #fafaf5;border-left:solid 1px #fafaf5;border-right:solid 1px #696969;border-bottom:solid 2px #696969;}.cke_skin_office2003 .cke_rtl .cke_top{border-left:solid 1px #696969;border-right:solid 1px #fafaf5;}.cke_skin_office2003 .cke_bottom{border-left:solid 1px #696969;border-right:solid 1px #696969;border-bottom:solid 1px #696969;}.cke_skin_office2003 .cke_contents{border:solid 1px #696969;background-color:white;}.cke_skin_office2003 .cke_focus{outline:auto 5px -webkit-focus-ring-color;}.cke_skin_office2003 textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;white-space:pre;background-color:#fff;}.cke_skin_office2003 .cke_browser_iequirks textarea.cke_source{_white-space:normal;}.cke_skin_office2003 .cke_resizer{width:12px;height:12px;margin-top:16px;display:block;float:right;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -1088px;background-repeat:no-repeat;cursor:se-resize;}.cke_skin_office2003 .cke_browser_air .cke_resizer,.cke_skin_office2003 .cke_browser_air .cke_rtl .cke_resizer{cursor:move;}.cke_skin_office2003 .cke_resizer_rtl{cursor:sw-resize;background-position:0 -1115px;float:left;}.cke_skin_office2003 .cke_resizer_horizontal,.cke_skin_office2003 .cke_rtl .cke_resizer_horizontal{cursor:e-resize;}.cke_skin_office2003 .cke_resizer_vertical,.cke_skin_office2003 .cke_rtl .cke_resizer_vertical{cursor:n-resize;}.cke_skin_office2003 .cke_maximized .cke_resizer{display:none;}.cke_skin_office2003 .cke_browser_ie6 .cke_contents textarea,.cke_skin_office2003 .cke_browser_ie7 .cke_contents textarea{position:absolute;}.cke_skin_office2003 .cke_voice_label{display:none;}.cke_skin_office2003 legend.cke_voice_label{display:none;}.cke_skin_office2003 .cke_browser_ie legend.cke_voice_label{position:absolute;display:block;width:0;height:0;overflow:hidden;}.cke_skin_office2003 .cke_panel{border:1px solid #8f8f73;background-color:#fff;width:120px;height:100px;overflow:hidden;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.cke_skin_office2003 .cke_panel iframe{width:100%;height:100%;}cke_skin_office2003 .cke_panel_frame .cke_label{display:none;}html.cke_skin_office2003_container{overflow:auto;overflow-x:hidden;}
-body.cke_panel_frame{overflow:auto;}ul.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap;}li.cke_panel_listItem{margin:0;}.cke_panel_listItem a{padding:2px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;}* html .cke_panel_listItem a{width:100%;color:#000;}*:first-child+html .cke_panel_listItem a{color:#000;}.cke_panel_listItem.cke_selected a{border:1px solid #ccc;background-color:#e9f5ff;}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#316ac5;background-color:#dff1ff;}.cke_hc .cke_panel_listItem.cke_selected a,.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border-width:3px;padding:0;}.cke_panel_grouptitle{font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif;font-weight:bold;white-space:nowrap;background-color:#dcdcdc;color:#000;margin:0;padding:3px;}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:3px;margin-bottom:3px;}.cke_skin_office2003 .cke_button_textcolor_panel,.cke_skin_office2003 .cke_button_bgcolor_panel{width:150px;height:135px;}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif;}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000;}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left;}.cke_rtl span.cke_colorbox{float:right;}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;}.cke_rtl a.cke_colorbox{float:right;}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#316ac5 1px solid;background-color:#dff1ff;}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer;}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#316ac5 1px solid;background-color:#dff1ff;}@media print{.cke_skin_office2003 .cke_toolbox{display:none;}}.cke_skin_office2003 .cke_browser_webkit .cke_toolbox,.cke_skin_office2003 .cke_browser_webkit .cke_toolbox>span{white-space:normal;}.cke_skin_office2003 .cke_toolbox{clear:both;padding-bottom:1px;}.cke_skin_office2003 a.cke_toolbox_collapser,.cke_skin_office2003 a:hover.cke_toolbox_collapser{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:3px -1026px;background-repeat:no-repeat;width:11px;height:11px;float:right;border:outset 1px;margin:11px 2px 2px;cursor:pointer;}.cke_skin_office2003 .cke_rtl a.cke_toolbox_collapser,.cke_skin_office2003 .cke_rtl a:hover.cke_toolbox_collapser{float:left;}.cke_skin_office2003 a.cke_toolbox_collapser span{display:none;}.cke_skin_office2003 .cke_hc a.cke_toolbox_collapser span{font-size:10px;font-weight:bold;font-family:Arial;display:inline;}.cke_skin_office2003 a.cke_toolbox_collapser_min,.cke_skin_office2003 a:hover.cke_toolbox_collapser_min{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:4px -1047px;background-repeat:no-repeat;margin:2px;}.cke_skin_office2003 .cke_rtl a.cke_toolbox_collapser_min,.cke_skin_office2003 .cke_rtl a:hover.cke_toolbox_collapser_min{background-position:4px -1068px;}.cke_skin_office2003 .cke_toolbar{background-color:#d6dff7;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -962px;background-repeat:repeat-x;display:inline-block;float:left;!height:28px;!line-height:28px;}.cke_skin_office2003 .cke_rtl .cke_toolbar{float:right;}.cke_skin_office2003 .cke_toolgroup{display:inline-block;float:left;height:28px;}.cke_skin_office2003 .cke_browser_ie .cke_toolgroup{#float:none;#display:inline;}.cke_skin_office2003 .cke_rtl .cke_toolgroup{float:right;}.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_toolgroup{#float:none;}.cke_skin_office2003 .cke_separator{display:inline-block;float:left;border-left:solid 1px #B2CBFF;margin:6px 2px;height:16px;}
-.cke_skin_office2003 .cke_browser_ie .cke_separator{#float:none;#display:inline;}.cke_skin_office2003 .cke_rtl .cke_separator{float:right;}.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_separator{#float:none;}.cke_skin_office2003 .cke_break{clear:left;}.cke_skin_office2003 .cke_rtl .cke_break{clear:right;}.cke_skin_office2003 .cke_toolbar_start{display:inline-block;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:no-repeat;background-position:-27px -765px;width:10px;height:28px;float:left;}.cke_skin_office2003 .cke_browser_ie .cke_toolbar_start{#float:none;#display:inline;}.cke_skin_office2003 .cke_rtl .cke_toolbar_start{background-position:-27px -816px;float:right;}.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_toolbar_start{#float:none;}.cke_skin_office2003 .cke_toolbar_end{display:inline-block;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:no-repeat;background-position:-29px -861px;width:4px;height:28px;float:left;}.cke_skin_office2003 .cke_browser_ie .cke_toolbar_end{#float:none;#display:inline;}.cke_skin_office2003 .cke_rtl .cke_toolbar_end{background-position:-29px -907px;float:right;}.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_toolbar_end{#float:none;}.cke_skin_office2003 .cke_browser_ie9plus .cke_rtl .cke_separator,.cke_skin_office2003 .cke_browser_ie9plus .cke_rtl .cke_toolbar_start,.cke_skin_office2003 .cke_browser_ie9plus .cke_rtl .cke_toolbar_end{vertical-align:middle;}.cke_skin_office2003 .cke_button a,.cke_skin_office2003 .cke_button a:hover,.cke_skin_office2003 .cke_button a:focus,.cke_skin_office2003 .cke_button a:active,.cke_skin_office2003 .cke_button a.cke_off{border:solid 1px transparent;border-radius:3px;outline:none;padding-top:2px;padding-left:4px;padding-right:4px;padding-bottom:2px;margin-top:2px;height:18px;vertical-align:top;_border:none;_margin:3px 1px 1px 1px;cursor:default;display:inline-block;}.cke_skin_office2003 .cke_button a,.cke_skin_office2003 .cke_button a.cke_off{filter:alpha(opacity=70);opacity:.70;-moz-border-radius:3px;-webkit-border-radius:3px;}.cke_skin_office2003 .cke_hc .cke_button a,.cke_skin_office2003 .cke_hc .cke_button a.cke_off{opacity:1.0;filter:alpha(opacity=100);_border:1px solid transparent;}.cke_skin_office2003 .cke_button a.cke_on{border:solid 1px #316ac5;background-color:#c1d2ee;filter:alpha(opacity=100);opacity:1;_margin:2px 0 0 0;}.cke_skin_office2003 .cke_hc .cke_button a:hover,.cke_skin_office2003 .cke_hc .cke_button a:focus,.cke_skin_office2003 .cke_hc .cke_button a:active{padding:0 2px!important;border-width:3px;}.cke_skin_office2003 .cke_button a.cke_disabled *{filter:alpha(opacity=30);opacity:.3;}.cke_skin_office2003 .cke_browser_ie .cke_button a.cke_disabled *,.cke_skin_office2003 .cke_browser_ie a:hover.cke_button .cke_disabled *{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale'), alpha(opacity=30);}.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_button a.cke_disabled *,.cke_skin_office2003 .cke_browser_ie .cke_rtl a:hover.cke_button .cke_disabled *{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale'), alpha(opacity=30);}.cke_skin_office2003 .cke_browser_ie6 .cke_button a.cke_disabled *,.cke_skin_office2003 .cke_browser_ie6 a:hover.cke_button .cke_disabled *,.cke_skin_office2003 .cke_browser_ie .cke_button.cke_noalphafix a.cke_disabled *{filter:alpha(opacity=30);}.cke_skin_office2003 .cke_hc .cke_button a.cke_disabled *,.cke_skin_office2003 .cke_browser_ie.cke_hc a:hover.cke_button .cke_disabled *{filter:alpha(opacity=60);opacity:.6;}.cke_skin_office2003 .cke_button a:hover,.cke_skin_office2003 .cke_button a:focus,.cke_skin_office2003 .cke_button a:active{border:solid 1px #316ac5;background-color:#dff1ff;filter:alpha(opacity=100);opacity:1;vertical-align:top;_margin:2px 0 0 0;padding:2px 4px;}.cke_skin_office2003 .cke_button .cke_icon{background-image:url(icons.png);background-position:100px;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;display:inline-block;cursor:default;}
-.cke_skin_office2003 .cke_rtl .cke_button .cke_icon{background-image:url(icons_rtl.png);}.cke_skin_office2003 .cke_browser_ie .cke_button .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_button .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_skin_office2003 .cke_browser_ie6 .cke_button .cke_icon,.cke_skin_office2003 .cke_browser_ie6 .cke_rtl .cke_button .cke_icon,.cke_skin_office2003 .cke_browser_ie .cke_button.cke_noalphafix .cke_icon,.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_button.cke_noalphafix .cke_icon{filter:;}.cke_skin_office2003 .cke_button .cke_label{display:none;padding-left:3px;cursor:default;vertical-align:middle;_background-image:url(images/sprites_ie6.png);_background-position:0 -970px;_background-repeat:repeat-x;}.cke_skin_office2003 .cke_button a:hover .cke_label{_background-color:#dff1ff;_background-image:none;}.cke_skin_office2003 .cke_button a.cke_on .cke_label{_background-color:#c1d2ee;_background-image:none;}.cke_skin_office2003 .cke_hc .cke_button .cke_label{padding:0;display:inline-block;}.cke_skin_office2003 .cke_hc .cke_button .cke_icon{display:none;}.cke_skin_office2003 .cke_accessibility{position:absolute;display:block;width:0;height:0;overflow:hidden;}.cke_skin_office2003 .cke_button .cke_buttonarrow{display:inline-block;height:18px;width:8px;background-position:2px -1004px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:no-repeat;cursor:default;}.cke_skin_office2003 .cke_browser_ie .cke_button .cke_buttonarrow{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_skin_office2003 .cke_browser_ie6 .cke_button .cke_buttonarrow{filter:;}.cke_skin_office2003 .cke_rtl .cke_button .cke_buttonarrow{background-position:0 -1004px;}.cke_skin_office2003 .cke_browser_gecko18 .cke_toolbar,.cke_skin_office2003 .cke_browser_gecko18 .cke_button a,.cke_skin_office2003 .cke_browser_gecko18 .cke_button a.cke_off,.cke_skin_office2003 .cke_browser_gecko18 .cke_button .cke_icon,.cke_skin_office2003 .cke_browser_gecko18 .cke_button .cke_buttonarrow,.cke_skin_office2003 .cke_browser_gecko18 .cke_separator,.cke_skin_office2003 .cke_browser_gecko18 .cke_toolbar_start,.cke_skin_office2003 .cke_browser_gecko18 .cke_toolbar_end{display:block;float:left;}.cke_skin_office2003 .cke_browser_gecko18 .cke_hc .cke_button .cke_icon{display:none;}.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_toolbar,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_button a,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_button a.cke_off,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_button .cke_icon,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_button .cke_buttonarrow,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_separator,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_toolbar_start,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_toolbar_end{float:right;}.cke_skin_office2003 .cke_browser_gecko18 .cke_button .cke_label,.cke_skin_office2003 .cke_browser_gecko18 .cke_break{float:left;}.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl span.cke_inline_label{float:right;}.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_button .cke_label,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_break,.cke_skin_office2003 .cke_browser_ie8 .cke_rtl .cke_break,.cke_skin_office2003 .cke_browser_ie9plus .cke_rtl .cke_break{float:right;}.cke_skin_office2003 .cke_browser_gecko18 .cke_separator{margin-top:4px;}.cke_skin_office2003 .cke_browser_gecko18 .cke_button .cke_label{padding-top:3px;}.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_toolgroup,.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_separator,.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_toolbar_start,.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_toolbar_end{float:none;}.cke_skin_office2003 .cke_browser_ie8 .cke_toolbar,.cke_skin_office2003 .cke_browser_ie8 .cke_toolgroup{vertical-align:top;}
-.cke_skin_office2003 .cke_browser_iequirks.cke_browser_ie8 .cke_toolbar,.cke_skin_office2003 .cke_browser_iequirks.cke_browser_ie8 .cke_toolgroup{vertical-align:baseline;}.cke_skin_office2003 .cke_browser_iequirks .cke_separator{vertical-align:text-bottom;}.cke_skin_office2003 .cke_browser_ie .cke_rcombo,.cke_skin_office2003 .cke_browser_ie .cke_rcombo *{cursor:default;}.cke_skin_office2003 .cke_contextmenu{padding:2px;}.cke_skin_office2003 .cke_menuitem a{display:block;}.cke_skin_office2003 .cke_menuitem span{cursor:default;}.cke_skin_office2003 .cke_menuitem a:hover,.cke_skin_office2003 .cke_menuitem a:focus,.cke_skin_office2003 .cke_menuitem a:active{background-color:#8db1ff;display:block;}.cke_hc .cke_menuitem a:hover,.cke_hc .cke_menuitem a:focus,.cke_hc .cke_menuitem a:active{border:2px solid;}.cke_skin_office2003 .cke_menuitem .cke_icon{background-image:url(icons.png);background-position:100px;background-repeat:no-repeat;background-color:transparent;width:16px;height:16px;float:left;}.cke_rtl .cke_skin_office2003 .cke_menuitem .cke_icon{background-image:url(icons_rtl.png);}.cke_browser_ie .cke_skin_office2003 .cke_menuitem .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_browser_ie.cke_rtl .cke_skin_office2003 .cke_menuitem .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_browser_ie6 .cke_skin_office2003 .cke_menuitem .cke_icon,.cke_browser_ie .cke_skin_office2003 .cke_menuitem.cke_noalphafix .cke_icon{filter:;}.cke_skin_office2003 .cke_menuitem .cke_disabled .cke_icon{filter:alpha(opacity=70);opacity:.70;}.cke_browser_ie .cke_skin_office2003 .cke_menuitem .cke_disabled .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_browser_ie.cke_rtl .cke_skin_office2003 .cke_menuitem .cke_disabled .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_browser_ie6 .cke_skin_office2003 .cke_menuitem .cke_disabled .cke_icon,.cke_browser_ie .cke_skin_office2003 .cke_menuitem.cke_noalphafix .cke_disabled .cke_icon{filter:;}.cke_skin_office2003 .cke_menuitem .cke_icon_wrapper{background-color:#f7f8fd;border:solid 4px #f7f8fd;width:16px;height:16px;float:left;filter:alpha(opacity=70);opacity:.70;clear:both;}.cke_rtl .cke_skin_office2003 .cke_menuitem .cke_icon_wrapper{float:right;}.cke_skin_office2003 .cke_menuitem a:hover .cke_icon_wrapper,.cke_skin_office2003 .cke_menuitem a:focus .cke_icon_wrapper,.cke_skin_office2003 .cke_menuitem a:active .cke_icon_wrapper{background-color:#9d9d9d;border:solid 4px #9d9d9d;filter:alpha(opacity=70);opacity:.70;}.cke_skin_office2003 .cke_menuitem a:hover.cke_disabled .cke_icon_wrapper,.cke_skin_office2003 .cke_menuitem a:focus.cke_disabled .cke_icon_wrapper,.cke_skin_office2003 .cke_menuitem a:active.cke_disabled .cke_icon_wrapper{background-color:#f7f8fd;border:solid 4px #f7f8fd;}.cke_skin_office2003 .cke_menuitem .cke_label{display:block;padding-right:3px;padding-top:5px;padding-left:4px;height:19px;margin-left:24px;background-color:#fff;}.cke_skin_office2003 .cke_frameLoaded .cke_menuitem .cke_label{filter:alpha(opacity=70);opacity:.70;}.cke_rtl .cke_skin_office2003 .cke_menuitem .cke_label{padding-right:0;margin-left:0;padding-left:3px;margin-right:28px;}.cke_skin_office2003 .cke_menuitem a.cke_disabled .cke_label{filter:alpha(opacity=30);opacity:.30;}.cke_skin_office2003 .cke_menuitem a:hover .cke_label,.cke_skin_office2003 .cke_menuitem a:focus .cke_label,.cke_skin_office2003 .cke_menuitem a:active .cke_label{background-color:#8db1ff;}.cke_skin_office2003 .cke_menuitem a.cke_disabled:hover .cke_label,.cke_skin_office2003 .cke_menuitem a.cke_disabled:focus .cke_label,.cke_skin_office2003 .cke_menuitem a.cke_disabled:active .cke_label{background-color:transparent;}.cke_skin_office2003 .cke_menuseparator{background-color:#f7f8fd;height:2px;filter:alpha(opacity=70);opacity:.70;_font-size:0;}.cke_skin_office2003 .cke_menuarrow{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -1071px;background-repeat:no-repeat;height:5px;width:3px;float:right;margin-right:2px;margin-top:3px;}
-.cke_rtl .cke_skin_office2003 .cke_menuarrow{float:left;margin-right:0;margin-left:2px;background-position:0 -1050px;}.cke_skin_office2003 .cke_menuarrow span{display:none;}.cke_hc .cke_skin_office2003 .cke_menuarrow{width:auto;margin-top:0;}.cke_hc .cke_skin_office2003 .cke_menuarrow span{display:inline;}.cke_browser_ie.cke_ltr .cke_skin_office2003 .cke_menuarrow{position:absolute;right:2px;}.cke_browser_ie.cke_rtl .cke_skin_office2003 .cke_menuarrow{position:absolute;left:2px;}.cke_skin_office2003 .cke_rcombo{display:inline-block;margin-left:2px;margin-right:2px;margin-top:2px;vertical-align:top;}.cke_skin_office2003 .cke_browser_ie .cke_rcombo{#display:inline;}.cke_skin_office2003 .cke_rcombopanel{border:1px solid #316ac5;-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;}.cke_skin_office2003 .cke_rcombo a{display:inline-block;float:left;filter:alpha(opacity=70);opacity:.70;}.cke_skin_office2003 .cke_rtl .cke_rcombo a{float:right;}.cke_skin_office2003 .cke_hc .cke_rcombo a{filter:alpha(opacity=100);opacity:1.0;}.cke_skin_office2003 .cke_rcombo .cke_label{display:inline-block;float:left;cursor:default;line-height:24px;height:24px;vertical-align:top;padding-left:4px;padding-right:5px;filter:alpha(opacity=70);opacity:.70;_background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);_background-position:0 -962px;_background-repeat:repeat-x;}.cke_skin_office2003 .cke_rtl .cke_rcombo .cke_label{float:right;padding-right:4px;padding-left:5px;}.cke_skin_office2003 .cke_hc .cke_rcombo .cke_label{filter:alpha(opacity=100);opacity:1.0;}.cke_skin_office2003 .cke_rcombo .cke_inline_label{color:#fff;}.cke_skin_office2003 .cke_rcombo .cke_text{border:1px solid #8f8f73;background-color:#fff;height:14px;width:60px;padding-top:4px;padding-bottom:4px;padding-left:5px;padding-right:5px;text-overflow:ellipsis;overflow:hidden;display:inline-block;vertical-align:top;cursor:default;}.cke_skin_office2003 .cke_ltr .cke_rcombo .cke_text{-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}.cke_skin_office2003 .cke_rtl .cke_rcombo .cke_text{-moz-border-radius-topright:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;}.cke_skin_office2003 .cke_browser_iequirks .cke_rcombo .cke_text{height:22px;}.cke_skin_office2003 .cke_rcombo .cke_openbutton{display:inline-block;border-top:1px solid #8f8f73;border-bottom:1px solid #8f8f73;}.cke_skin_office2003 .cke_rcombo .cke_openbutton .cke_icon{display:inline-block;background-position:5px -1002px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:no-repeat;width:14px;height:22px;}.cke_skin_office2003 .cke_browser_iequirks .cke_rcombo .cke_openbutton .cke_icon{height:20px;}.cke_skin_office2003 .cke_browser_ie .cke_rcombo .cke_openbutton .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_skin_office2003 .cke_browser_ie6 .cke_rcombo .cke_openbutton .cke_icon{filter:;}.cke_skin_office2003 .cke_hc .cke_rcombo .cke_openbutton .cke_icon{background:none;filter:;}.cke_skin_office2003 .cke_ltr .cke_rcombo .cke_openbutton{border-right:1px solid #8f8f73;-moz-border-radius-topright:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;}.cke_skin_office2003 .cke_rtl .cke_rcombo .cke_openbutton{border-left:1px solid #8f8f73;-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}.cke_skin_office2003 .cke_rcombo .cke_off a:hover,.cke_skin_office2003 .cke_rcombo .cke_off a:focus,.cke_skin_office2003 .cke_rcombo .cke_off a:active,.cke_skin_office2003 .cke_rcombo .cke_on a{filter:alpha(opacity=100);opacity:1;}
-.cke_skin_office2003 .cke_rcombo .cke_off a:hover .cke_text,.cke_skin_office2003 .cke_rcombo .cke_off a:focus .cke_text,.cke_skin_office2003 .cke_rcombo .cke_off a:active .cke_text,.cke_skin_office2003 .cke_rcombo .cke_on .cke_text{border-color:#316ac5;}.cke_skin_office2003 .cke_rcombo .cke_off a:hover .cke_openbutton,.cke_skin_office2003 .cke_rcombo .cke_off a:focus .cke_openbutton,.cke_skin_office2003 .cke_rcombo .cke_off a:active .cke_openbutton,.cke_skin_office2003 .cke_rcombo .cke_on .cke_openbutton{border-color:#316ac5;background-color:#dff1ff;}.cke_skin_office2003 .cke_rcombo .cke_on .cke_text{-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;}.cke_skin_office2003 .cke_rcombo .cke_on .cke_openbutton{-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;}.cke_skin_office2003 .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=30);opacity:.3;}.cke_skin_office2003 .cke_hc .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=70);opacity:.7;}.cke_skin_office2003 .cke_rcombo .cke_disabled .cke_text,.cke_skin_office2003 .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=50);opacity:.5;}.cke_skin_office2003 .cke_browser_ie .cke_rcombo .cke_disabled .cke_openbutton{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale'), alpha(opacity=50);}.cke_skin_office2003 .cke_browser_ie6 .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=50);}.cke_skin_office2003 .cke_hc .cke_rcombo .cke_disabled .cke_text,.cke_skin_office2003 .cke_hc .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=80);opacity:.8;}.cke_skin_office2003 .cke_rcombo .cke_disabled .cke_text{color:#fff;}.cke_skin_office2003 .cke_browser_gecko18 .cke_rcombo,.cke_skin_office2003 .cke_browser_gecko18 .cke_rcombo .cke_label,.cke_skin_office2003 .cke_browser_gecko18 .cke_rcombo .cke_text,.cke_skin_office2003 .cke_browser_gecko18 .cke_rcombo .cke_openbutton,.cke_skin_office2003 .cke_browser_webkit .cke_rcombo .cke_label,.cke_skin_office2003 .cke_browser_webkit .cke_rcombo .cke_text,.cke_skin_office2003 .cke_browser_webkit .cke_rcombo .cke_openbutton{display:block;float:left;}.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_rcombo,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_label,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_text,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_openbutton,.cke_skin_office2003 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_label,.cke_skin_office2003 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_text,.cke_skin_office2003 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_openbutton{float:right;}.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_rcombo,.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_rcombo a,.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_rcombo .cke_label{float:none;}.cke_skin_office2003 .cke_rtl .cke_rcombo .cke_font .cke_text,.cke_skin_office2003 .cke_rtl .cke_rcombo .cke_fontSize .cke_text{direction:ltr;}@media print{.cke_path{display:none;}}.cke_skin_office2003 .cke_path{padding:3px 3px 0 3px;display:inline-block;float:left;}.cke_skin_office2003 .cke_rtl .cke_path{float:right;}.cke_skin_office2003 .cke_path a,.cke_skin_office2003 .cke_path .cke_empty{display:inline-block;float:left;border:solid 1px #f7f8fd;background-color:#f7f8fd;padding-top:1px;padding-bottom:1px;padding-left:4px;padding-right:4px;margin-bottom:3px;cursor:default;}.cke_skin_office2003 .cke_path .cke_empty{visibility:hidden;}.cke_skin_office2003 .cke_rtl .cke_path a,.cke_skin_office2003 .cke_rtl .cke_path cke_empty{float:right;}.cke_skin_office2003 .cke_path a:hover,.cke_skin_office2003 .cke_path a:focus,.cke_skin_office2003 .cke_path a:active{border:solid 1px #316ac5;background-color:#dff1ff;padding-top:1px;padding-bottom:1px;padding-left:4px;padding-right:4px;outline:none;}.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_path a,.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_path .cke_empty{float:none;}.cke_skin_office2003 .cke_path .cke_label{display:none;}
-.cke_skin_office2003 .cke_button_source .cke_icon{background-position:0 0;}.cke_skin_office2003 .cke_button_docProps .cke_icon{background-position:0 -16px;}.cke_skin_office2003 .cke_button_newpage .cke_icon{background-position:0 -48px;}.cke_skin_office2003 .cke_button_preview .cke_icon{background-position:0 -64px;}.cke_skin_office2003 .cke_button_cut .cke_icon{background-position:0 -96px;}.cke_skin_office2003 .cke_button_copy .cke_icon{background-position:0 -112px;}.cke_skin_office2003 .cke_button_paste .cke_icon{background-position:0 -128px;}.cke_skin_office2003 .cke_button_pastetext .cke_icon{background-position:0 -144px;}.cke_skin_office2003 .cke_button_find .cke_icon{background-position:0 -240px;}.cke_skin_office2003 .cke_button_replace .cke_icon{background-position:0 -256px;}.cke_skin_office2003 .cke_button_selectAll .cke_icon{background-position:0 -272px;}.cke_skin_office2003 .cke_button_removeFormat .cke_icon{background-position:0 -288px;}.cke_skin_office2003 .cke_button_bold .cke_icon{background-position:0 -304px;}.cke_skin_office2003 .cke_button_italic .cke_icon{background-position:0 -320px;}.cke_skin_office2003 .cke_button_underline .cke_icon{background-position:0 -336px;}.cke_skin_office2003 .cke_button_strike .cke_icon{background-position:0 -352px;}.cke_skin_office2003 .cke_button_subscript .cke_icon{background-position:0 -368px;}.cke_skin_office2003 .cke_button_superscript .cke_icon{background-position:0 -384px;}.cke_skin_office2003 .cke_button_table .cke_icon{background-position:0 -608px;}.cke_skin_office2003 .cke_button_horizontalrule .cke_icon{background-position:0 -624px;}.cke_skin_office2003 .cke_button_smiley .cke_icon{background-position:0 -640px;}.cke_skin_office2003 .cke_button_link .cke_icon{background-position:0 -528px;}.cke_skin_office2003 .cke_button_unlink .cke_icon{background-position:0 -544px;}.cke_skin_office2003 .cke_button_anchor .cke_icon{background-position:0 -560px;}.cke_skin_office2003 .cke_button_image .cke_icon{background-position:0 -576px;}.cke_skin_office2003 .cke_button_flash .cke_icon{background-position:0 -592px;}.cke_skin_office2003 .cke_button_specialchar .cke_icon{background-position:0 -656px;}.cke_skin_office2003 .cke_button_pagebreak .cke_icon{background-position:0 -672px;}.cke_skin_office2003 .cke_button_print .cke_icon{background-position:0 -176px;}.cke_skin_office2003 .cke_button_checkspell .cke_icon,.cke_skin_office2003 .cke_button_scayt .cke_icon{background-position:0 -192px;}.cke_skin_office2003 .cke_button_pagebreak .cke_icon{background-position:0 -672px;}.cke_skin_office2003 .cke_button_textcolor .cke_icon{background-position:0 -704px;}.cke_skin_office2003 .cke_button_bgcolor .cke_icon{background-position:0 -720px;}.cke_skin_office2003 .cke_button_form .cke_icon{background-position:0 -752px;}.cke_skin_office2003 .cke_button_checkbox .cke_icon{background-position:0 -768px;}.cke_skin_office2003 .cke_button_radio .cke_icon{background-position:0 -784px;}.cke_skin_office2003 .cke_button_textfield .cke_icon{background-position:0 -800px;}.cke_skin_office2003 .cke_button_textarea .cke_icon{background-position:0 -816px;}.cke_skin_office2003 .cke_button_showblocks .cke_icon{background-position:0 -1136px;}.cke_skin_office2003 .cke_button_select .cke_icon{background-position:0 -832px;}.cke_skin_office2003 .cke_button_button .cke_icon{background-position:0 -848px;}.cke_skin_office2003 .cke_button_imagebutton .cke_icon{background-position:0 -864px;}.cke_skin_office2003 .cke_button_hiddenfield .cke_icon{background-position:0 -880px;}.cke_skin_office2003 .cke_button_undo .cke_icon{background-position:0 -208px;}.cke_skin_office2003 .cke_rtl .cke_button_undo .cke_icon{background-position:0 -224px;}.cke_skin_office2003 .cke_button_redo .cke_icon{background-position:0 -224px;}.cke_skin_office2003 .cke_rtl .cke_button_redo .cke_icon{background-position:0 -208px;}.cke_skin_office2003 .cke_button_templates .cke_icon{background-position:0 -80px;}.cke_skin_office2003 .cke_button_numberedlist .cke_icon{background-position:0 -400px;}.cke_skin_office2003 .cke_button_bulletedlist .cke_icon{background-position:0 -416px;}
-.cke_skin_office2003 .cke_mixed_dir_content .cke_button_numberedlist .cke_icon{background-position:0 -1217px;}.cke_skin_office2003 .cke_mixed_dir_content .cke_button_bulletedlist .cke_icon{background-position:0 -1233px;}.cke_skin_office2003 .cke_button_outdent .cke_icon{background-position:0 -432px;}.cke_skin_office2003 .cke_button_indent .cke_icon{background-position:0 -448px;}.cke_skin_office2003 .cke_mixed_dir_content .cke_button_indent .cke_icon{background-position:0 -1265px;}.cke_skin_office2003 .cke_mixed_dir_content .cke_button_outdent .cke_icon{background-position:0 -1249px;}.cke_skin_office2003 .cke_button_justifyleft .cke_icon{background-position:0 -464px;}.cke_skin_office2003 .cke_button_justifycenter .cke_icon{background-position:0 -480px;}.cke_skin_office2003 .cke_button_justifyright .cke_icon{background-position:0 -496px;}.cke_skin_office2003 .cke_button_justifyblock .cke_icon{background-position:0 -512px;}.cke_skin_office2003 .cke_button_blockquote .cke_icon{background-position:0 -1152px;}.cke_skin_office2003 .cke_button_flash .cke_icon{background-position:0 -592px;}.cke_skin_office2003 .cke_button_pastefromword .cke_icon{background-position:0 -160px;}.cke_skin_office2003 .cke_button_save .cke_icon{background-position:0 -32px;}.cke_skin_office2003 .cke_button_about .cke_icon{background-position:0 -736px;}.cke_skin_office2003 .cke_button_maximize .cke_icon{background-position:0 -1040px;}.cke_skin_office2003 .cke_button_creatediv .cke_icon{background-position:0 -1168px;}.cke_skin_office2003 .cke_button_editdiv .cke_icon{background-position:0 -1184px;}.cke_skin_office2003 .cke_button_removediv .cke_icon{background-position:0 -1200px;}.cke_skin_office2003 .cke_button_bidirtl .cke_icon{background-position:0 -1072px;}.cke_skin_office2003 .cke_button_bidiltr .cke_icon{background-position:0 -1056px;}.cke_skin_office2003 .cke_button_iframe .cke_icon{background-position:0 -1279px;}.cke_skin_office2003 .cke_button_source .cke_label{display:inline;}.cke_skin_office2003 .cke_styles_panel{width:150px;height:170px;}.cke_skin_office2003 .cke_format_panel{width:150px;height:170px;}.cke_skin_office2003 .cke_font_panel{width:150px;height:170px;}.cke_skin_office2003 .cke_fontSize_panel{height:170px;}.cke_skin_office2003 .cke_fontSize .cke_text{width:20px;}.cke_skin_office2003 .cke_browser_iequirks .cke_fontSize .cke_text{width:32px;}html .cke_skin_office2003{visibility:inherit;}html.cke_skin_office2003_container{visibility:visible;}
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/skin.js b/rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/skin.js
deleted file mode 100644
index fa962dc..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/skin.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.skins.add('office2003',(function(){return{editor:{css:['editor.css']},dialog:{css:['dialog.css']},separator:{canGroup:false},templates:{css:['templates.css']},margins:[0,14,18,14]};})());(function(){CKEDITOR.dialog?a():CKEDITOR.on('dialogPluginReady',a);function a(){CKEDITOR.dialog.on('resize',function(b){var c=b.data,d=c.width,e=c.height,f=c.dialog,g=f.parts.contents;if(c.skin!='office2003')return;g.setStyles({width:d+'px',height:e+'px'});if(!CKEDITOR.env.ie||CKEDITOR.env.ie9Compat)return;var h=function(){var i=f.parts.dialog.getChild([0,0,0]),j=i.getChild(0),k=j.getSize('width');e+=j.getChild(0).getSize('height')+1;var l=i.getChild(2);l.setSize('width',k);l=i.getChild(7);l.setSize('width',k-28);l=i.getChild(4);l.setSize('height',e);l=i.getChild(5);l.setSize('height',e);};setTimeout(h,100);if(b.editor.lang.dir=='rtl')setTimeout(h,1000);});};})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/templates.css b/rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/templates.css
deleted file mode 100644
index dae0683..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/skins/office2003/templates.css
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-.cke_skin_office2003 .cke_tpl_list{border:#dcdcdc 2px solid;background-color:#fff;overflow:auto;width:100%;height:220px;}.cke_skin_office2003 .cke_tpl_item{margin:5px;padding:7px;border:#eee 1px solid;*width:88%;}.cke_skin_office2003 .cke_tpl_preview{border-collapse:separate;text-indent:0;width:100%;}.cke_skin_office2003 .cke_tpl_preview td{padding:2px;vertical-align:middle;}.cke_skin_office2003 .cke_tpl_preview .cke_tpl_preview_img{width:100px;}.cke_skin_office2003 .cke_tpl_preview span{white-space:normal;}.cke_skin_office2003 .cke_tpl_title{font-weight:bold;}.cke_skin_office2003 .cke_tpl_list a:active .cke_tpl_item,.cke_skin_office2003 .cke_tpl_list a:hover .cke_tpl_item,.cke_skin_office2003 .cke_tpl_list a:focus .cke_tpl_item{border:#f93 1px solid!important;background-color:#fffacd!important;}.cke_skin_office2003 .cke_tpl_list a:active *,.cke_skin_office2003 .cke_tpl_list a:hover *,.cke_skin_office2003 .cke_tpl_list a:focus *{cursor:pointer;}.cke_skin_office2003 .cke_browser_ie6 .cke_tpl_list a:active,.cke_skin_office2003 .cke_browser_ie6 .cke_tpl_list a:hover,.cke_skin_office2003 .cke_browser_ie6 .cke_tpl_list a:focus{background-position:0 0;}.cke_skin_office2003 .cke_tpl_list a:active .cke_tpl_item,.cke_skin_office2003 .cke_tpl_list a:hover .cke_tpl_item,.cke_skin_office2003 .cke_tpl_list a:focus .cke_tpl_item{border-width:3px;}.cke_skin_office2003 .cke_tpl_empty,.cke_tpl_loading{text-align:center;padding:5px;}
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/skins/v2/dialog.css b/rt/share/html/NoAuth/RichText/ckeditor/skins/v2/dialog.css
deleted file mode 100644
index 032234d..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/skins/v2/dialog.css
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-body .cke_dialog{visibility:visible;}.cke_skin_v2 table.cke_dialog.cke_browser_gecko{display:block;}.cke_skin_v2 .cke_dialog_body{margin-left:16px;margin-right:16px;margin-top:2px;margin-bottom:20px;z-index:1;_position:static;}.cke_skin_v2 .cke_dialog_tl,.cke_skin_v2 .cke_dialog_tr,.cke_skin_v2 .cke_dialog_tc,.cke_skin_v2 .cke_dialog_bl,.cke_skin_v2 .cke_dialog_br,.cke_skin_v2 .cke_dialog_bc{background-image:url(images/sprites.png);background-repeat:no-repeat;position:absolute;_background-image:url(images/sprites_ie6.png);z-index:-1;}.cke_skin_v2 .cke_dialog_tl{background-position:-16px -16px;height:16px;width:16px;top:0;left:0;}.cke_skin_v2 .cke_rtl .cke_dialog_tl{background-position:-16px -397px;}.cke_skin_v2 .cke_dialog_tr{background-position:-16px -76px;height:16px;width:16px;top:0;right:0;}.cke_skin_v2 .cke_rtl .cke_dialog_tr{background-position:-16px -457px;}.cke_skin_v2 .cke_dialog_tc{background-position:0 -136px;background-repeat:repeat-x;height:16px;top:0;left:16px;right:16px;}.cke_skin_v2 .cke_dialog_bl{background-position:-16px -196px;height:51px;width:30px;bottom:0;left:0;}.cke_skin_v2 .cke_rtl .cke_dialog_bl{background-position:-16px -517px;}.cke_skin_v2 .cke_dialog_br{background-position:-16px -263px;height:51px;width:30px;bottom:0;right:0;}.cke_skin_v2 .cke_rtl .cke_dialog_br{background-position:-16px -584px;}.cke_skin_v2 .cke_dialog_bc{background-position:0 -330px;background-repeat:repeat-x;height:51px;bottom:0;left:30px;right:30px;}.cke_skin_v2 .cke_dialog_ml,.cke_skin_v2 .cke_dialog_mr{background-image:url(images/dialog_sides.png);background-repeat:repeat-y;position:absolute;width:16px;top:16px;bottom:51px;_background-image:url(images/dialog_sides.gif);_top:auto;}.cke_skin_v2 .cke_rtl .cke_dialog_ml,.cke_skin_v2 .cke_rtl .cke_dialog_mr{background-image:url(images/dialog_sides_rtl.png);_background-image:url(images/dialog_sides.gif);}.cke_skin_v2 .cke_dialog_ml{background-position:0 0;left:0;}.cke_skin_v2 .cke_dialog_mr{background-position:-16px 0;right:0;}.cke_skin_v2 .cke_browser_iequirks .cke_dialog_ml,.cke_skin_v2 .cke_browser_iequirks .cke_dialog_mr{margin-top:3px;}.cke_skin_v2 .cke_dialog_title{font-weight:bold;font-size:14pt;color:#737357;background-color:#e3e3c7;padding:3px 10px 26px 10px;cursor:move;position:relative;}.cke_skin_v2 .cke_browser_ie.cke_rtl .cke_dialog_title{position:static;}.cke_skin_v2 .cke_dialog_contents{background-color:#f1f1e3;border:#d5d59d 1px solid;overflow:auto;padding:5px 10px;}.cke_skin_v2 .cke_dialog_footer{background-color:#e3e3c7;text-align:right;}.cke_skin_v2 .cke_rtl .cke_dialog_footer{text-align:left;}.cke_skin_v2 .cke_dialog_footer .cke_resizer{margin-top:21px;}.cke_skin_v2 .cke_dialog_tabs{height:23px;background-color:#e3e3c7;display:inline-block;margin-left:10px;margin-right:10px;margin-top:-23px;position:absolute;z-index:2;}.cke_skin_v2 .cke_rtl .cke_dialog_tabs{right:10px;}.cke_skin_v2 a.cke_dialog_tab,.cke_skin_v2 a:link.cke_dialog_tab,.cke_skin_v2 a:active.cke_dialog_tab,.cke_skin_v2 a:hover.cke_dialog_tab,.cke_skin_v2 a:visited.cke_dialog_tab{color:#737357;border-left:1px solid #d5d59d;border-right:1px solid #d5d59d;border-top:1px solid #d5d59d;height:14px;padding:4px 5px;display:inline-block;cursor:pointer;}.cke_skin_v2 .cke_browser_gecko18 a.cke_dialog_tab,.cke_skin_v2 .cke_browser_gecko18 a:link.cke_dialog_tab,.cke_skin_v2 .cke_browser_gecko18 a:active.cke_dialog_tab,.cke_skin_v2 .cke_browser_gecko18 a:hover.cke_dialog_tab,.cke_skin_v2 .cke_browser_gecko18 a:visited.cke_dialog_tab{display:inline;position:relative;top:6px;}.cke_skin_v2 a:hover.cke_dialog_tab{background-color:#f1f1e3;}.cke_skin_v2 .cke_hc a:hover.cke_dialog_tab{padding:2px 3px!important;border-width:3px;}.cke_skin_v2 a.cke_dialog_tab_selected,.cke_skin_v2 a:link.cke_dialog_tab_selected,.cke_skin_v2 a:active.cke_dialog_tab_selected,.cke_skin_v2 a:hover.cke_dialog_tab_selected,.cke_skin_v2 a:visited.cke_dialog_tab_selected{border-bottom:1px solid #f1f1e3;background-color:#f1f1e3;font-weight:bold;cursor:default;}.cke_skin_v2 .cke_hc a.cke_dialog_tab_selected,.cke_skin_v2 .cke_hc a:link.cke_dialog_tab_selected,.cke_skin_v2 .cke_hc a:active.cke_dialog_tab_selected,.cke_skin_v2 .cke_hc a:hover.cke_dialog_tab_selected,.cke_skin_v2 .cke_hc a:visited.cke_dialog_tab_selected{padding:2px 3px!important;border-width:3px;}
-.cke_skin_v2 .cke_hc .cke_dialog_tabs a,.cke_skin_v2 .cke_hc .cke_dialog_footer a{opacity:1.0;filter:alpha(opacity=100);border:1px solid white;}.cke_skin_v2 .cke_single_page .cke_dialog_tabs{display:none;}.cke_skin_v2 .cke_single_page .cke_dialog_title{padding-bottom:3px;}.cke_skin_v2 .cke_dialog_ui_vbox table,.cke_skin_v2 .cke_dialog_ui_hbox table{margin:auto;}.cke_skin_v2 .cke_dialog_ui_vbox_child{padding:5px 0;}.cke_skin_v2 input.cke_dialog_ui_input_text,.cke_skin_v2 input.cke_dialog_ui_input_password{background-color:white;border:none;padding:0;width:100%;height:14px;}.cke_skin_v2 .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_text,.cke_skin_v2 .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_password{border-width:0;}.cke_skin_v2 .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_text,.cke_skin_v2 .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_password{border-width:1px;}.cke_skin_v2 .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_text,.cke_skin_v2 .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_text,.cke_skin_v2 .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_password,.cke_skin_v2 .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_password{padding-right:2px;}.cke_skin_v2 .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text,.cke_skin_v2 .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_text,.cke_skin_v2 .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_password,.cke_skin_v2 .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_password{padding-left:2px;}.cke_skin_v2 .cke_browser_ie.cke_rtl .cke_dialog_ui_vbox_child,.cke_skin_v2 .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_child,.cke_skin_v2 .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_first,.cke_skin_v2 .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_last{padding-right:2px!important;}.cke_skin_v2 div.cke_dialog_ui_input_text,.cke_skin_v2 div.cke_dialog_ui_input_password{background-color:white;border:1px solid #a0a0a0;padding:1px 0;_width:99.9%;}.cke_skin_v2 .cke_browser_ie7 input.cke_dialog_ui_input_text,.cke_skin_v2 .cke_browser_ie7 input.cke_dialog_ui_input_password{position:absolute;}.cke_skin_v2 .cke_browser_ie7 div.cke_dialog_ui_input_text,.cke_skin_v2 .cke_browser_ie7 div.cke_dialog_ui_input_password{height:14px;position:relative;}.cke_skin_v2 .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text{padding-right:1px;}.cke_skin_v2 textarea.cke_dialog_ui_input_textarea{background-color:white;border:none;padding:0;width:100%;_width:99%;overflow:auto;resize:none;}.cke_skin_v2 div.cke_dialog_ui_input_textarea{background-color:white;border:1px solid #a0a0a0;padding:1px 0;}.cke_skin_v2 .cke_rtl .cke_dialog_ui_labeled_content{_width:95%;}.cke_skin_v2 div.cke_disabled .cke_dialog_ui_labeled_content *{background-color:#a0a0a0;cursor:default;}.cke_skin_v2 .cke_dialog_ui_hbox{width:100%;}.cke_skin_v2 .cke_dialog_ui_hbox_first,.cke_skin_v2 .cke_dialog_ui_hbox_child,.cke_skin_v2 .cke_dialog_ui_hbox_last{vertical-align:top;}.cke_skin_v2 .cke_ltr .cke_dialog_ui_hbox_first,.cke_skin_v2 .cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px;}.cke_skin_v2 .cke_rtl .cke_dialog_ui_hbox_first,.cke_skin_v2 .cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px;}.cke_skin_v2 a.cke_dialog_ui_button{border-collapse:separate;cursor:default;}.cke_skin_v2 a.cke_dialog_ui_button_ok span,.cke_skin_v2 a.cke_dialog_ui_button_cancel span{width:60px;}.cke_skin_v2 span.cke_dialog_ui_button{border:#737357 1px solid;padding:2px 10px;text-align:center;color:#3b3b1f;background-color:#c7c78f;display:inline-block;cursor:default;}.cke_skin_v2 .cke_browser_gecko18 .cke_dialog_footer_buttons span.cke_dialog_ui_button{display:block;}.cke_skin_v2 a.cke_dialog_ui_button span.cke_disabled{border:#898980 1px solid;color:#5e5e55;background-color:#c5c5b3;}.cke_skin_v2 a:focus span.cke_dialog_ui_button,.cke_skin_v2 a:active span.cke_dialog_ui_button{background-color:#e3e3c7;}.cke_skin_v2 .cke_hc a:focus span.cke_dialog_ui_button,.cke_skin_v2 .cke_hc a:active span.cke_dialog_ui_button{border-width:2px;}.cke_skin_v2 .cke_dialog_footer_buttons{display:inline-table;margin-right:12px;margin-left:12px;width:auto;position:relative;}
-.cke_skin_v2 .cke_browser_gecko18 .cke_dialog_footer_buttons{display:inline;}.cke_skin_v2 .cke_dialog_footer_buttons span.cke_dialog_ui_button{margin:7px 0;}.cke_skin_v2 .cke_browser_ie7 .cke_dialog_footer_buttons{position:static;}.cke_skin_v2 strong{font-weight:bold;}.cke_skin_v2 a.cke_dialog_close_button,.cke_skin_v2 a:hover.cke_dialog_close_button,.cke_skin_v2 .cke_browser_ie6 a.cke_dialog_close_button,.cke_skin_v2 .cke_browser_ie6 a:hover.cke_dialog_close_button{background-image:url(images/sprites.png);background-repeat:no-repeat;background-position:-16px -651px;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:5px;_background-image:url(images/sprites_ie6.png);}.cke_skin_v2 a.cke_dialog_close_button span{display:none;}.cke_skin_v2 a:hover.cke_dialog_close_button{background-position:-16px -687px;}.cke_skin_v2 .cke_ltr a.cke_dialog_close_button,.cke_skin_v2 .cke_ltr a:hover.cke_dialog_close_button{right:22px;}.cke_skin_v2 .cke_rtl a.cke_dialog_close_button,.cke_skin_v2 .cke_rtl a:hover.cke_dialog_close_button{left:16px;_top:7px;}.cke_skin_v2 .cke_browser_ie6.cke_rtl a.cke_dialog_close_button,.cke_skin_v2 .cke_browser_ie6.cke_rtl a:hover.cke_dialog_close_button{position:relative;float:left;margin-top:-55px;margin-left:-7px;}.cke_skin_v2 .cke_browser_iequirks.cke_rtl.cke_single_page a.cke_dialog_close_button,.cke_skin_v2 .cke_browser_iequirks.cke_rtl.cke_single_page a:hover.cke_dialog_close_button{margin-top:-32px;}.cke_skin_v2 .cke_browser_iequirks.cke_ltr a.cke_dialog_close_button,.cke_skin_v2 .cke_browser_iequirks.cke_ltr a:hover.cke_dialog_close_button{margin-top:0;}.cke_skin_v2 .cke_dialog_ui_input_select{border:1px solid #a0a0a0;background-color:white;}.cke_skin_v2 .cke_dialog_ui_input_file{width:100%;height:25px;}.cke_skin_v2 .cke_dialog .cke_dark_background{background-color:#eaead1;}.cke_skin_v2 .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_v2 .cke_dialog .cke_centered{text-align:center;}.cke_skin_v2 .cke_dialog a.cke_btn_reset{float:right;background-position:0 -32px;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:1px none;font-size:1px;}.cke_skin_v2 .cke_rtl .cke_dialog a.cke_btn_reset{float:left;}.cke_skin_v2 .cke_dialog a.cke_btn_locked,.cke_skin_v2 .cke_dialog a.cke_btn_unlocked{float:left;background-position:0 0;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px;}.cke_skin_v2 .cke_dialog a.cke_btn_locked .cke_icon{display:none;}.cke_skin_v2 .cke_rtl .cke_dialog a.cke_btn_locked,.cke_skin_v2 .cke_rtl .cke_dialog a.cke_btn_unlocked{float:right;}.cke_skin_v2 .cke_dialog a.cke_btn_unlocked{background-position:0 -16px;background-image:url(images/mini.gif);}.cke_skin_v2 .cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer;}.cke_skin_v2 .cke_dialog .ImagePreviewBox{border:2px ridge black;overflow:scroll;height:210px;width:230px;padding:2px;background-color:white;}.cke_skin_v2 .cke_dialog .ImagePreviewBox table td{white-space:normal;}.cke_skin_v2 .cke_browser_iequirks .cke_dialog_page_contents{_position:absolute;}.cke_skin_v2 .cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4;}.cke_skin_v2 .cke_dialog .FlashPreviewBox{white-space:normal;border:2px ridge black;overflow:auto;height:160px;width:390px;padding:2px;background-color:white;}.cke_skin_v2 .cke_dialog .cke_pastetext{width:346px;height:170px;}.cke_skin_v2 .cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none;}.cke_skin_v2 .cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid black;}.cke_skin_v2 .cke_dialog .cke_dark_background{text-align:center;background-color:#eaead1;font-size:14px;}.cke_skin_v2 .cke_dialog .cke_light_background{text-align:center;background-color:#ffffbe;}.cke_skin_v2 .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_v2 .cke_disabled{color:#a0a0a0;}.cke_skin_v2 .cke_hc .cke_dialog_title,.cke_skin_v2 .cke_hc .cke_dialog_tabs,.cke_skin_v2 .cke_hc .cke_dialog_contents,.cke_skin_v2 .cke_hc .cke_dialog_footer{border-left:1px solid;border-right:1px solid;}
-.cke_skin_v2 .cke_hc .cke_dialog_title{border-top:1px solid;}.cke_skin_v2 .cke_hc .cke_dialog_footer{border-bottom:1px solid;}.cke_skin_v2 .cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px;}.cke_skin_v2 .cke_dialog_body .cke_label{display:none;}.cke_skin_v2 .cke_dialog_body label.cke_required{font-weight:bold;}.cke_skin_v2 .cke_hc .cke_dialog_body .cke_label{display:inline;cursor:inherit;}.cke_skin_v2 .cke_hc a.cke_btn_locked,.cke_skin_v2 .cke_hc a.cke_btn_unlocked,.cke_skin_v2 .cke_hc a.cke_btn_reset{border-style:solid;float:left;width:auto;height:auto;padding:0 2px;}.cke_skin_v2 .cke_hc a.cke_btn_locked .cke_icon{display:inline;}.cke_skin_v2 .cke_rtl.cke_hc a.cke_btn_locked,.cke_skin_v2 .cke_rtl.cke_hc a.cke_btn_unlocked,.cke_skin_v2 .cke_rtl.cke_hc a.cke_btn_reset{float:right;}.cke_skin_v2 a.cke_smile img{border:2px solid #eaead1;}.cke_skin_v2 a.cke_smile:focus img,.cke_skin_v2 a.cke_smile:active img,.cke_skin_v2 a.cke_smile:hover img{border-color:#C7C78F;}.cke_skin_v2 .cke_dialog_contents a.colorChooser{display:block;margin-top:12px;margin-left:10px;width:40px;}.cke_skin_v2 .cke_dialog_contents a.colorChooser .cke_dialog_ui_button{width:100%;}.cke_skin_v2 .cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px;}.cke_skin_v2 .cke_browser_gecko .cke_dialog_ui_checkbox_input:focus,.cke_skin_v2 .cke_browser_gecko .cke_dialog_ui_radio_input:focus,.cke_skin_v2 .cke_browser_opera .cke_dialog_ui_checkbox_input:focus,.cke_skin_v2 .cke_browser_opera .cke_dialog_ui_radio_input:focus,.cke_skin_v2 .cke_browser_gecko .cke_dialog_ui_input_select:focus,.cke_skin_v2 .cke_browser_gecko .cke_btn_over,.cke_skin_v2 .cke_browser_opera .cke_btn_over,.cke_skin_v2 .cke_browser_ie .cke_btn_over{outline:1px dotted #696969;}.cke_skin_v2 .cke_browser_ie .cke_dialog_ui_checkbox_input,.cke_skin_v2 .cke_browser_ie .cke_dialog_ui_ratio_input,.cke_skin_v2 .cke_browser_ie .cke_btn_reset,.cke_skin_v2 .cke_browser_ie .cke_btn_locked,.cke_skin_v2 .cke_browser_ie .cke_btn_unlocked{*border:1px solid transparent!important;-border:1px solid red!important;-filter:chroma(color=red);}.cke_skin_v2 .cke_browser_ie .cke_dialog_ui_focused,.cke_skin_v2 .cke_browser_ie .cke_btn_over{*border:1px dotted #696969!important;}.cke_skin_v2 .cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity=0);width:100%;height:100%;}.cke_dialog label{display:inline;margin-bottom:auto;cursor:default;}
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/skins/v2/editor.css b/rt/share/html/NoAuth/RichText/ckeditor/skins/v2/editor.css
deleted file mode 100644
index 409bd85..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/skins/v2/editor.css
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-.cke_skin_v2 *,.cke_skin_v2 a:hover,.cke_skin_v2 a:link,.cke_skin_v2 a:visited,.cke_skin_v2 a:active{margin:0;padding:0;border:0;background:transparent;text-decoration:none;font:normal normal normal 100% Sans-Serif;width:auto;height:auto;border-collapse:collapse;text-align:left;vertical-align:baseline;white-space:nowrap;cursor:auto;color:#000;float:none;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif;}.cke_skin_v2 .cke_rtl *,.cke_skin_v2 .cke_rtl a:hover,.cke_skin_v2 .cke_rtl a:link,.cke_skin_v2 .cke_rtl a:visited,.cke_skin_v2 .cke_rtl a:active,.cke_rtl .cke_skin_v2 *,.cke_rtl .cke_skin_v2 a:hover,.cke_rtl .cke_skin_v2 a:link,.cke_rtl .cke_skin_v2 a:visited,.cke_rtl .cke_skin_v2 a:active{text-align:right;}.cke_skin_v2 iframe{vertical-align:inherit;}.cke_skin_v2 textarea{white-space:pre;}.cke_skin_v2 .cke_browser_gecko textarea{cursor:text;}.cke_skin_v2 .cke_browser_gecko textarea[disabled]{cursor:default;}.cke_skin_v2 input[type="text"],.cke_skin_v2 input[type="password"]{cursor:text;}.cke_skin_v2 input[type="text"][disabled],.cke_skin_v2 input[type="password"][disabled]{cursor:default;}.cke_skin_v2 fieldset{padding:10px;border:2px groove #E0DFE3;}.cke_skin_v2 .cke_editor{display:inline-table;width:100%;}.cke_skin_v2 .cke_browser_webkit .cke_editor{display:table;}.cke_skin_v2{display:block;}.cke_skin_v2 span.cke_browser_webkit,.cke_skin_v2 span.cke_browser_gecko18{display:block;}.cke_skin_v2 .cke_wrapper{display:block;}.cke_skin_v2 .cke_browser_opera .cke_editor{display:table;}.cke_skin_v2 .cke_top,.cke_skin_v2 .cke_bottom,.cke_shared .cke_skin_v2{background-color:#efefde;}.cke_skin_v2 .cke_top{border-top:solid 1px #fafaf5;border-left:solid 1px #fafaf5;border-right:solid 1px #696969;border-bottom:solid 2px #696969;}.cke_skin_v2 .cke_rtl .cke_top{border-left:solid 1px #696969;border-right:solid 1px #fafaf5;}.cke_skin_v2 .cke_bottom{border-left:solid 1px #696969;border-right:solid 1px #696969;border-bottom:solid 1px #696969;}.cke_skin_v2 .cke_contents{border:solid 1px #696969;background-color:white;}.cke_skin_v2 .cke_focus{outline:auto 5px -webkit-focus-ring-color;}.cke_skin_v2 textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre;}.cke_skin_v2 .cke_browser_iequirks textarea.cke_source{_white-space:normal;}.cke_skin_v2 .cke_resizer{width:12px;height:12px;margin-top:16px;display:block;float:right;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -801px;background-repeat:no-repeat;cursor:se-resize;}.cke_skin_v2 .cke_browser_air .cke_resizer,.cke_skin_v2 .cke_browser_air .cke_rtl .cke_resizer{cursor:move;}.cke_skin_v2 .cke_resizer_rtl{cursor:sw-resize;background-position:0 -828px;float:left;}.cke_skin_v2 .cke_resizer_horizontal,.cke_skin_v2 .cke_rtl .cke_resizer_horizontal{cursor:e-resize;}.cke_skin_v2 .cke_resizer_vertical,.cke_skin_v2 .cke_rtl .cke_resizer_vertical{cursor:n-resize;}.cke_skin_v2 .cke_maximized .cke_resizer{display:none;}.cke_skin_v2 .cke_browser_ie6 .cke_contents textarea,.cke_skin_v2 .cke_browser_ie7 .cke_contents textarea{position:absolute;}.cke_skin_v2 .cke_voice_label{display:none;}.cke_skin_v2 legend.cke_voice_label{display:none;}.cke_skin_v2 .cke_browser_ie legend.cke_voice_label{position:absolute;display:block;width:0;height:0;overflow:hidden;}.cke_skin_v2 .cke_panel{border:1px solid #8f8f73;background-color:#fff;width:120px;height:100px;overflow:hidden;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.cke_skin_v2 .cke_panel iframe{width:100%;height:100%;}.cke_skin_v2 .cke_panel_frame .cke_label{display:none;}html.cke_skin_v2_container{overflow:auto;overflow-x:hidden;}body.cke_panel_frame{overflow:auto;}ul.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap;}li.cke_panel_listItem{margin:0;}.cke_panel_listItem a{padding:2px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;}* html .cke_panel_listItem a{width:100%;color:#000;}*:first-child+html .cke_panel_listItem a{color:#000;}
-.cke_panel_listItem.cke_selected a{border:1px solid #ccc;background-color:#e9f5ff;}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#316ac5;background-color:#dff1ff;}.cke_hc .cke_panel_listItem.cke_selected a,.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border-width:3px;padding:0;}.cke_panel_grouptitle{font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif;font-weight:bold;white-space:nowrap;background-color:#dcdcdc;color:#000;margin:0;padding:3px;}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:3px;margin-bottom:3px;}.cke_skin_v2 .cke_button_textcolor_panel,.cke_skin_v2 .cke_button_bgcolor_panel{width:150px;height:135px;}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif;}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000;}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left;}.cke_rtl span.cke_colorbox{float:right;}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;}.cke_rtl a.cke_colorbox{float:right;}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#316ac5 1px solid;background-color:#dff1ff;}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer;}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#316ac5 1px solid;background-color:#dff1ff;}@media print{.cke_skin_v2 .cke_toolbox{display:none;}}.cke_skin_v2 .cke_browser_webkit .cke_toolbox,.cke_skin_v2 .cke_browser_webkit .cke_toolbox>span{white-space:normal;}.cke_skin_v2 .cke_toolbox{clear:both;padding-bottom:1px;}.cke_skin_v2 a.cke_toolbox_collapser,.cke_skin_v2 a:hover.cke_toolbox_collapser{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:3px -739px;background-repeat:no-repeat;width:11px;height:11px;float:right;border:outset 1px;margin:11px 2px 2px;cursor:pointer;}.cke_skin_v2 a.cke_toolbox_collapser span{display:none;}.cke_skin_v2 .cke_hc a.cke_toolbox_collapser span{font-size:10px;font-weight:bold;font-family:Arial;display:inline;}.cke_skin_v2 .cke_rtl a.cke_toolbox_collapser,.cke_skin_v2 .cke_rtl a:hover.cke_toolbox_collapser{float:left;}.cke_skin_v2 a.cke_toolbox_collapser_min,.cke_skin_v2 a:hover.cke_toolbox_collapser_min{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:4px -760px;background-repeat:no-repeat;margin:2px;}.cke_skin_v2 .cke_rtl a.cke_toolbox_collapser_min,.cke_skin_v2 .cke_rtl a:hover.cke_toolbox_collapser_min{background-position:4px -781px;}.cke_skin_v2 .cke_toolbar{padding-top:1px;padding-bottom:1px;display:inline-block;float:left;}.cke_skin_v2 .cke_rtl .cke_toolbar{float:right;}.cke_skin_v2 .cke_toolgroup{display:inline-block;float:left;}.cke_skin_v2 .cke_browser_ie .cke_toolgroup{#float:none;#display:inline;}.cke_skin_v2 .cke_rtl .cke_toolgroup{float:right;}.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_toolgroup{#float:none;}.cke_skin_v2 .cke_separator{display:inline-block;float:left;border-left:solid 1px #999;margin:4px 2px;height:16px;}.cke_skin_v2 .cke_browser_ie .cke_separator{#float:none;#display:inline;}.cke_skin_v2 .cke_rtl .cke_separator{float:right;}.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_separator{#float:none;}.cke_skin_v2 .cke_break{clear:left;}.cke_skin_v2 .cke_rtl .cke_break{clear:right;}.cke_skin_v2 .cke_toolbar_start{display:inline-block;background-image:url(images/toolbar_start.gif);background-repeat:no-repeat;margin:4px 2px 0 2px;width:3px;height:20px;float:left;}.cke_skin_v2 .cke_browser_ie .cke_toolbar_start{#float:none;#display:inline;}.cke_skin_v2 .cke_rtl .cke_toolbar_start{float:right;}.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_toolbar_start{#float:none;}.cke_skin_v2 .cke_toolbar_end{display:inline-block;float:left;}
-.cke_skin_v2 .cke_browser_ie .cke_toolbar_end{#float:none;#display:inline;}.cke_skin_v2 .cke_rtl .cke_toolbar_end{float:right;}.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_toolbar_end{#float:none;}.cke_skin_v2 .cke_browser_ie9plus .cke_rtl .cke_separator,.cke_skin_v2 .cke_browser_ie9plus .cke_rtl .cke_toolbar_start,.cke_skin_v2 .cke_browser_ie9plus .cke_rtl .cke_toolbar_end{vertical-align:middle;}.cke_skin_v2 .cke_button a,.cke_skin_v2 .cke_button a:hover,.cke_skin_v2 .cke_button a:focus,.cke_skin_v2 .cke_button a:active,.cke_skin_v2 .cke_button a.cke_off{border:solid 1px #efefde;display:inline-block;border-radius:3px;outline:none;padding-top:2px;padding-left:4px;padding-right:4px;padding-bottom:2px;height:18px;cursor:default;}.cke_skin_v2 .cke_button a,.cke_skin_v2 .cke_button a.cke_off{background-color:#efefde;filter:alpha(opacity=70);opacity:.70;-moz-border-radius:3px;-webkit-border-radius:3px;}.cke_skin_v2 .cke_hc .cke_button a,.cke_skin_v2 .cke_hc .cke_button a.cke_off{opacity:1.0;filter:alpha(opacity=100);}.cke_skin_v2 .cke_button a.cke_on{border:solid 1px #316ac5;background-color:#a3d7ff;filter:alpha(opacity=100);opacity:1;}.cke_skin_v2 .cke_button a.cke_disabled *{filter:alpha(opacity=30);opacity:.3;}.cke_skin_v2 .cke_browser_ie .cke_button a.cke_disabled *,.cke_skin_v2 .cke_browser_ie a:hover.cke_button .cke_disabled *{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale'), alpha(opacity=30);}.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_button a.cke_disabled *,.cke_skin_v2 .cke_browser_ie .cke_rtl a:hover.cke_button .cke_disabled *{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale'), alpha(opacity=30);}.cke_skin_v2 .cke_browser_ie6 .cke_button a.cke_disabled *,.cke_skin_v2 .cke_browser_ie6 a:hover.cke_button .cke_disabled *,.cke_skin_v2 .cke_browser_ie .cke_button.cke_noalphafix a.cke_disabled *{filter:alpha(opacity=30);}.cke_skin_v2 .cke_hc .cke_button a.cke_disabled *,.cke_skin_v2 .cke_browser_ie.cke_hc a:hover.cke_button .cke_disabled *{filter:alpha(opacity=60);opacity:.6;}.cke_skin_v2 .cke_button a:hover,.cke_skin_v2 .cke_button a:focus,.cke_skin_v2 .cke_button a:active{border:solid 1px #316ac5;background-color:#dff1ff;padding:2px 4px;}.cke_skin_v2 .cke_hc .cke_button a:hover,.cke_skin_v2 .cke_hc .cke_button a:focus,.cke_skin_v2 .cke_hc .cke_button a:active{padding:0 2px!important;border-width:3px;}.cke_skin_v2 .cke_button .cke_icon{background-image:url(icons.png);background-position:100px;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;display:inline-block;cursor:default;}.cke_skin_v2 .cke_rtl .cke_button .cke_icon{background-image:url(icons_rtl.png);}.cke_skin_v2 .cke_browser_ie .cke_button .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_button .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_skin_v2 .cke_browser_ie6 .cke_button .cke_icon,.cke_skin_v2 .cke_browser_ie6 .cke_rtl .cke_button .cke_icon,.cke_skin_v2 .cke_browser_ie .cke_button.cke_noalphafix .cke_icon,.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_button.cke_noalphafix .cke_icon{filter:;}.cke_skin_v2 .cke_button .cke_label{cursor:default;display:none;padding-left:3px;vertical-align:middle;}.cke_skin_v2 .cke_hc .cke_button .cke_label{padding:0;display:inline-block;}.cke_skin_v2 .cke_hc .cke_button .cke_icon{display:none;}.cke_skin_v2 .cke_accessibility{position:absolute;display:block;width:0;height:0;overflow:hidden;}.cke_skin_v2 .cke_button .cke_buttonarrow{display:inline-block;height:17px;width:8px;background-position:2px -717px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:no-repeat;cursor:default;}.cke_skin_v2 .cke_rtl .cke_button .cke_buttonarrow{background-position:0 -717px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);}.cke_skin_v2 .cke_browser_gecko18 .cke_toolbar,.cke_skin_v2 .cke_browser_gecko18 .cke_button a,.cke_skin_v2 .cke_browser_gecko18 .cke_button a.cke_off,.cke_skin_v2 .cke_browser_gecko18 .cke_button .cke_icon,.cke_skin_v2 .cke_browser_gecko18 .cke_button .cke_buttonarrow,.cke_skin_v2 .cke_browser_gecko18 .cke_separator,.cke_skin_v2 .cke_browser_gecko18 .cke_toolbar_start{display:block;float:left;}
-.cke_skin_v2 .cke_browser_gecko18 .cke_hc .cke_button .cke_icon{display:none;}.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_toolbar,.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_button a,.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_button a.cke_off,.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_button .cke_icon,.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_button .cke_buttonarrow,.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_separator,.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_toolbar_start{float:right;}.cke_skin_v2 .cke_browser_gecko18 .cke_button .cke_label,.cke_skin_v2 .cke_browser_gecko18 .cke_break{float:left;}.cke_skin_v2 .cke_browser_gecko18 .cke_rtl span.cke_inline_label{float:right;}.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_button .cke_label,.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_break,.cke_skin_v2 .cke_browser_ie8 .cke_rtl .cke_break,.cke_skin_v2 .cke_browser_ie9plus .cke_rtl .cke_break{float:right;}.cke_skin_v2 .cke_browser_gecko18 .cke_separator{margin-top:4px;}.cke_skin_v2 .cke_browser_gecko18 .cke_button .cke_label{padding-top:3px;}.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_toolgroup,.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_separator,.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_toolbar_start,.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_toolbar_end{float:none;}.cke_skin_v2 .cke_browser_ie8 .cke_toolbar,.cke_skin_v2 .cke_browser_ie8 .cke_toolgroup{vertical-align:top;}.cke_skin_v2 .cke_browser_iequirks.cke_browser_ie8 .cke_toolbar,.cke_skin_v2 .cke_browser_iequirks.cke_browser_ie8 .cke_toolgroup{vertical-align:baseline;}.cke_skin_v2 .cke_browser_ie .cke_rcombo,.cke_skin_v2 .cke_browser_ie .cke_rcombo *{cursor:default;}.cke_skin_v2 .cke_contextmenu{padding:2px;}.cke_skin_v2 .cke_menuitem a{display:block;}.cke_skin_v2 .cke_menuitem span{cursor:default;}.cke_skin_v2 .cke_menuitem a:hover,.cke_skin_v2 .cke_menuitem a:focus,.cke_skin_v2 .cke_menuitem a:active{background-color:#8f8f73;display:block;}.cke_hc .cke_menuitem a:hover,.cke_hc .cke_menuitem a:focus,.cke_hc .cke_menuitem a:active{border:2px solid;}.cke_skin_v2 .cke_menuitem .cke_icon{background-image:url(icons.png);background-position:100px;background-repeat:no-repeat;background-color:transparent;width:16px;height:16px;float:left;}.cke_rtl .cke_skin_v2 .cke_menuitem .cke_icon{background-image:url(icons_rtl.png);}.cke_browser_ie .cke_skin_v2 .cke_menuitem .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_browser_ie.cke_rtl .cke_skin_v2 .cke_menuitem .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_browser_ie6 .cke_skin_v2 .cke_menuitem .cke_icon,.cke_browser_ie .cke_skin_v2 .cke_menuitem.cke_noalphafix .cke_icon{filter:;}.cke_skin_v2 .cke_menuitem .cke_disabled .cke_icon{filter:alpha(opacity=70);opacity:.70;}.cke_browser_ie .cke_skin_v2 .cke_menuitem .cke_disabled .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_browser_ie.cke_rtl .cke_skin_v2 .cke_menuitem .cke_disabled .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_browser_ie6 .cke_skin_v2 .cke_menuitem .cke_disabled .cke_icon,.cke_browser_ie .cke_skin_v2 .cke_menuitem.cke_noalphafix .cke_disabled .cke_icon{filter:;}.cke_skin_v2 .cke_menuitem .cke_icon_wrapper{background-color:#e3e3c7;border:solid 4px #e3e3c7;width:16px;height:16px;float:left;filter:alpha(opacity=70);opacity:.70;clear:both;}.cke_rtl .cke_skin_v2 .cke_menuitem .cke_icon_wrapper{float:right;}.cke_skin_v2 .cke_menuitem a:hover .cke_icon_wrapper,.cke_skin_v2 .cke_menuitem a:focus .cke_icon_wrapper,.cke_skin_v2 .cke_menuitem a:active .cke_icon_wrapper{background-color:#9d9d9d;border:solid 4px #9d9d9d;filter:alpha(opacity=70);opacity:.70;}.cke_skin_v2 .cke_menuitem a:hover.cke_disabled .cke_icon_wrapper,.cke_skin_v2 .cke_menuitem a:focus.cke_disabled .cke_icon_wrapper,.cke_skin_v2 .cke_menuitem a:active.cke_disabled .cke_icon_wrapper{background-color:#e3e3c7;border:solid 4px #e3e3c7;}.cke_skin_v2 .cke_menuitem .cke_label{display:block;padding-right:3px;padding-top:5px;padding-left:4px;height:19px;margin-left:24px;background-color:#fff;}
-.cke_skin_v2 .cke_frameLoaded .cke_menuitem .cke_label{filter:alpha(opacity=70);opacity:.70;}.cke_rtl .cke_skin_v2 .cke_menuitem .cke_label{padding-right:0;margin-left:0;padding-left:3px;margin-right:28px;}.cke_skin_v2 .cke_menuitem a.cke_disabled .cke_label{filter:alpha(opacity=30);opacity:.30;}.cke_skin_v2 .cke_menuitem a:hover .cke_label,.cke_skin_v2 .cke_menuitem a:focus .cke_label,.cke_skin_v2 .cke_menuitem a:active .cke_label{background-color:#8f8f73;color:white;}.cke_skin_v2 .cke_menuitem a.cke_disabled:hover .cke_label,.cke_skin_v2 .cke_menuitem a.cke_disabled:focus .cke_label,.cke_skin_v2 .cke_menuitem a.cke_disabled:active .cke_label{background-color:transparent;color:black;}.cke_skin_v2 .cke_menuseparator{background-color:#e3e3c7;height:2px;filter:alpha(opacity=70);opacity:.70;_font-size:0;}.cke_skin_v2 .cke_menuarrow{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -784px;background-repeat:no-repeat;height:5px;width:3px;float:right;margin-right:2px;margin-top:3px;}.cke_rtl .cke_skin_v2 .cke_menuarrow{float:left;margin-right:0;margin-left:2px;background-position:0 -763px;}.cke_skin_v2 .cke_menuarrow span{display:none;}.cke_hc .cke_skin_v2 .cke_menuarrow{width:auto;margin-top:0;}.cke_hc .cke_skin_v2 .cke_menuarrow span{display:inline;}.cke_browser_ie.cke_ltr .cke_skin_v2 .cke_menuarrow{position:absolute;right:2px;}.cke_browser_ie.cke_rtl .cke_skin_v2 .cke_menuarrow{position:absolute;left:2px;}.cke_skin_v2 .cke_rcombo{display:inline-block;margin-left:2px;margin-right:2px;margin-top:2px;vertical-align:top;}.cke_skin_v2 .cke_browser_ie .cke_rcombo{#display:inline;}.cke_skin_v2 .cke_rcombopanel{border:1px solid #316ac5;-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;}.cke_skin_v2 .cke_rcombo a{display:inline-block;float:left;filter:alpha(opacity=70);opacity:.70;}.cke_skin_v2 .cke_rtl .cke_rcombo a{float:right;}.cke_skin_v2 .cke_hc .cke_rcombo a{filter:alpha(opacity=100);opacity:1.0;}.cke_skin_v2 .cke_rcombo .cke_label{float:left;line-height:20px;line-height:22px\9;height:22px;padding-left:4px;padding-right:5px;filter:alpha(opacity=70);opacity:.70;background-color:#f1f1e3;cursor:default;}.cke_skin_v2 .cke_rtl .cke_rcombo .cke_label{float:right;padding-right:4px;padding-left:5px;}.cke_skin_v2 .cke_hc .cke_rcombo .cke_label{filter:alpha(opacity=100);opacity:1.0;}.cke_skin_v2 .cke_rcombo .cke_inline_label{color:#fff;}.cke_skin_v2 .cke_rcombo .cke_text{border:1px solid #8f8f73;background-color:#fff;height:12px;width:60px;padding-top:4px;padding-bottom:4px;padding-left:5px;padding-right:5px;text-overflow:ellipsis;overflow:hidden;display:inline-block;vertical-align:top;cursor:default;}.cke_skin_v2 .cke_ltr .cke_rcombo .cke_text{-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}.cke_skin_v2 .cke_rtl .cke_rcombo .cke_text{-moz-border-radius-topright:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;}.cke_skin_v2 .cke_browser_iequirks .cke_rcombo .cke_text{height:22px;}.cke_skin_v2 .cke_rcombo .cke_openbutton{display:inline-block;border-top:1px solid #8f8f73;border-bottom:1px solid #8f8f73;}.cke_skin_v2 .cke_rcombo .cke_openbutton .cke_icon{display:inline-block;background-position:5px -715px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:no-repeat;width:14px;height:20px;}.cke_skin_v2 .cke_browser_ie .cke_rcombo .cke_openbutton .cke_icon{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale');}.cke_skin_v2 .cke_browser_ie6 .cke_rcombo .cke_openbutton .cke_icon{filter:;}.cke_skin_v2 .cke_hc .cke_rcombo .cke_openbutton .cke_icon{background:none;filter:;}.cke_skin_v2 .cke_ltr .cke_rcombo .cke_openbutton{border-right:1px solid #8f8f73;-moz-border-radius-topright:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;}
-.cke_skin_v2 .cke_rtl .cke_rcombo .cke_openbutton{border-left:1px solid #8f8f73;-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}.cke_skin_v2 .cke_rcombo .cke_off a:hover,.cke_skin_v2 .cke_rcombo .cke_off a:focus,.cke_skin_v2 .cke_rcombo .cke_off a:active,.cke_skin_v2 .cke_rcombo .cke_on a{filter:alpha(opacity=100);opacity:1;}.cke_skin_v2 .cke_rcombo .cke_off a:hover .cke_text,.cke_skin_v2 .cke_rcombo .cke_off a:focus .cke_text,.cke_skin_v2 .cke_rcombo .cke_off a:active .cke_text,.cke_skin_v2 .cke_rcombo .cke_on .cke_text{border-color:#316ac5;}.cke_skin_v2 .cke_rcombo .cke_off a:hover .cke_openbutton,.cke_skin_v2 .cke_rcombo .cke_off a:focus .cke_openbutton,.cke_skin_v2 .cke_rcombo .cke_off a:active .cke_openbutton,.cke_skin_v2 .cke_rcombo .cke_on .cke_openbutton{border-color:#316ac5;background-color:#dff1ff;}.cke_skin_v2 .cke_rcombo .cke_on .cke_text{-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;}.cke_skin_v2 .cke_rcombo .cke_on .cke_openbutton{-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;}.cke_skin_v2 .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=30);opacity:.3;}.cke_skin_v2 .cke_hc .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=70);opacity:.7;}.cke_skin_v2 .cke_rcombo .cke_disabled .cke_text,.cke_skin_v2 .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=50);opacity:.5;}.cke_skin_v2 .cke_browser_ie .cke_rcombo .cke_disabled .cke_openbutton{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod='scale'), alpha(opacity=50);}.cke_skin_v2 .cke_browser_ie6 .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=50);}.cke_skin_v2 .cke_hc .cke_rcombo .cke_disabled .cke_text,.cke_skin_v2 .cke_hc .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=80);opacity:.8;}.cke_skin_v2 .cke_rcombo .cke_disabled .cke_text{color:#fff;}.cke_skin_v2 .cke_browser_gecko18 .cke_rcombo,.cke_skin_v2 .cke_browser_gecko18 .cke_rcombo .cke_label,.cke_skin_v2 .cke_browser_gecko18 .cke_rcombo .cke_text,.cke_skin_v2 .cke_browser_gecko18 .cke_rcombo .cke_openbutton,.cke_skin_v2 .cke_browser_webkit .cke_rcombo .cke_label,.cke_skin_v2 .cke_browser_webkit .cke_rcombo .cke_text,.cke_skin_v2 .cke_browser_webkit .cke_rcombo .cke_openbutton{display:block;float:left;}.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_rcombo,.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_label,.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_text,.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_openbutton,.cke_skin_v2 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_label,.cke_skin_v2 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_text,.cke_skin_v2 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_openbutton{float:right;}.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_rcombo,.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_rcombo a,.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_rcombo .cke_label{float:none;}.cke_skin_v2 .cke_browser_iequirks .cke_rcombo .cke_openbutton{height:22px;}.cke_skin_v2 .cke_rtl .cke_rcombo .cke_font .cke_text,.cke_skin_v2 .cke_rtl .cke_rcombo .cke_fontSize .cke_text{direction:ltr;}@media print{.cke_path{display:none;}}.cke_skin_v2 .cke_path{padding:3px 3px 0 3px;display:inline-block;float:left;}.cke_skin_v2 .cke_rtl .cke_path{float:right;}.cke_skin_v2 .cke_path a,.cke_skin_v2 .cke_path .cke_empty{display:inline-block;float:left;border:solid 1px #efefde;background-color:#efefde;padding-top:1px;padding-bottom:1px;padding-left:4px;padding-right:4px;margin-bottom:3px;cursor:default;}.cke_skin_v2 .cke_path .cke_empty{visibility:hidden;}.cke_skin_v2 .cke_rtl .cke_path a,.cke_skin_v2 .cke_rtl .cke_path cke_empty{float:right;}.cke_skin_v2 .cke_path a:hover,.cke_skin_v2 .cke_path a:focus,.cke_skin_v2 .cke_path a:active{border:solid 1px #316ac5;background-color:#dff1ff;padding-top:1px;padding-bottom:1px;padding-left:4px;padding-right:4px;outline:none;}
-.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_path a,.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_path .cke_empty{float:none;}.cke_skin_v2 .cke_path .cke_label{display:none;}.cke_skin_v2 .cke_button_source .cke_icon{background-position:0 0;}.cke_skin_v2 .cke_button_docProps .cke_icon{background-position:0 -16px;}.cke_skin_v2 .cke_button_newpage .cke_icon{background-position:0 -48px;}.cke_skin_v2 .cke_button_preview .cke_icon{background-position:0 -64px;}.cke_skin_v2 .cke_button_cut .cke_icon{background-position:0 -96px;}.cke_skin_v2 .cke_button_copy .cke_icon{background-position:0 -112px;}.cke_skin_v2 .cke_button_paste .cke_icon{background-position:0 -128px;}.cke_skin_v2 .cke_button_pastetext .cke_icon{background-position:0 -144px;}.cke_skin_v2 .cke_button_find .cke_icon{background-position:0 -240px;}.cke_skin_v2 .cke_button_replace .cke_icon{background-position:0 -256px;}.cke_skin_v2 .cke_button_selectAll .cke_icon{background-position:0 -272px;}.cke_skin_v2 .cke_button_removeFormat .cke_icon{background-position:0 -288px;}.cke_skin_v2 .cke_button_bold .cke_icon{background-position:0 -304px;}.cke_skin_v2 .cke_button_italic .cke_icon{background-position:0 -320px;}.cke_skin_v2 .cke_button_underline .cke_icon{background-position:0 -336px;}.cke_skin_v2 .cke_button_strike .cke_icon{background-position:0 -352px;}.cke_skin_v2 .cke_button_subscript .cke_icon{background-position:0 -368px;}.cke_skin_v2 .cke_button_superscript .cke_icon{background-position:0 -384px;}.cke_skin_v2 .cke_button_table .cke_icon{background-position:0 -608px;}.cke_skin_v2 .cke_button_horizontalrule .cke_icon{background-position:0 -624px;}.cke_skin_v2 .cke_button_smiley .cke_icon{background-position:0 -640px;}.cke_skin_v2 .cke_button_link .cke_icon{background-position:0 -528px;}.cke_skin_v2 .cke_button_unlink .cke_icon{background-position:0 -544px;}.cke_skin_v2 .cke_button_anchor .cke_icon{background-position:0 -560px;}.cke_skin_v2 .cke_button_image .cke_icon{background-position:0 -576px;}.cke_skin_v2 .cke_button_flash .cke_icon{background-position:0 -592px;}.cke_skin_v2 .cke_button_specialchar .cke_icon{background-position:0 -656px;}.cke_skin_v2 .cke_button_pagebreak .cke_icon{background-position:0 -672px;}.cke_skin_v2 .cke_button_print .cke_icon{background-position:0 -176px;}.cke_skin_v2 .cke_button_checkspell .cke_icon,.cke_skin_v2 .cke_button_scayt .cke_icon{background-position:0 -192px;}.cke_skin_v2 .cke_button_pagebreak .cke_icon{background-position:0 -672px;}.cke_skin_v2 .cke_button_textcolor .cke_icon{background-position:0 -704px;}.cke_skin_v2 .cke_button_bgcolor .cke_icon{background-position:0 -720px;}.cke_skin_v2 .cke_button_form .cke_icon{background-position:0 -752px;}.cke_skin_v2 .cke_button_checkbox .cke_icon{background-position:0 -768px;}.cke_skin_v2 .cke_button_radio .cke_icon{background-position:0 -784px;}.cke_skin_v2 .cke_button_textfield .cke_icon{background-position:0 -800px;}.cke_skin_v2 .cke_button_textarea .cke_icon{background-position:0 -816px;}.cke_skin_v2 .cke_button_showblocks .cke_icon{background-position:0 -1136px;}.cke_skin_v2 .cke_button_select .cke_icon{background-position:0 -832px;}.cke_skin_v2 .cke_button_button .cke_icon{background-position:0 -848px;}.cke_skin_v2 .cke_button_imagebutton .cke_icon{background-position:0 -864px;}.cke_skin_v2 .cke_button_hiddenfield .cke_icon{background-position:0 -880px;}.cke_skin_v2 .cke_button_undo .cke_icon{background-position:0 -208px;}.cke_skin_v2 .cke_rtl .cke_button_undo .cke_icon{background-position:0 -224px;}.cke_skin_v2 .cke_button_redo .cke_icon{background-position:0 -224px;}.cke_skin_v2 .cke_rtl .cke_button_redo .cke_icon{background-position:0 -208px;}.cke_skin_v2 .cke_button_templates .cke_icon{background-position:0 -80px;}.cke_skin_v2 .cke_button_numberedlist .cke_icon{background-position:0 -400px;}.cke_skin_v2 .cke_button_bulletedlist .cke_icon{background-position:0 -416px;}.cke_skin_v2 .cke_mixed_dir_content .cke_button_numberedlist .cke_icon{background-position:0 -1217px;}.cke_skin_v2 .cke_mixed_dir_content .cke_button_bulletedlist .cke_icon{background-position:0 -1233px;}.cke_skin_v2 .cke_button_outdent .cke_icon{background-position:0 -432px;}
-.cke_skin_v2 .cke_button_indent .cke_icon{background-position:0 -448px;}.cke_skin_v2 .cke_mixed_dir_content .cke_button_indent .cke_icon{background-position:0 -1265px;}.cke_skin_v2 .cke_mixed_dir_content .cke_button_outdent .cke_icon{background-position:0 -1249px;}.cke_skin_v2 .cke_button_justifyleft .cke_icon{background-position:0 -464px;}.cke_skin_v2 .cke_button_justifycenter .cke_icon{background-position:0 -480px;}.cke_skin_v2 .cke_button_justifyright .cke_icon{background-position:0 -496px;}.cke_skin_v2 .cke_button_justifyblock .cke_icon{background-position:0 -512px;}.cke_skin_v2 .cke_button_blockquote .cke_icon{background-position:0 -1152px;}.cke_skin_v2 .cke_button_flash .cke_icon{background-position:0 -592px;}.cke_skin_v2 .cke_button_pastefromword .cke_icon{background-position:0 -160px;}.cke_skin_v2 .cke_button_save .cke_icon{background-position:0 -32px;}.cke_skin_v2 .cke_button_about .cke_icon{background-position:0 -736px;}.cke_skin_v2 .cke_button_maximize .cke_icon{background-position:0 -1040px;}.cke_skin_v2 .cke_button_creatediv .cke_icon{background-position:0 -1168px;}.cke_skin_v2 .cke_button_editdiv .cke_icon{background-position:0 -1184px;}.cke_skin_v2 .cke_button_removediv .cke_icon{background-position:0 -1200px;}.cke_skin_v2 .cke_button_bidirtl .cke_icon{background-position:0 -1072px;}.cke_skin_v2 .cke_button_bidiltr .cke_icon{background-position:0 -1056px;}.cke_skin_v2 .cke_button_iframe .cke_icon{background-position:0 -1279px;}.cke_skin_v2 .cke_button_source .cke_label{display:inline;display:inline-block;}.cke_skin_v2 .cke_styles_panel{width:150px;height:170px;}.cke_skin_v2 .cke_format_panel{width:150px;height:170px;}.cke_skin_v2 .cke_font_panel{width:150px;height:170px;}.cke_skin_v2 .cke_fontSize_panel{height:170px;}.cke_skin_v2 .cke_fontSize .cke_text{width:20px;}.cke_skin_v2 .cke_browser_iequirks .cke_fontSize .cke_text{width:32px;}html .cke_skin_v2{visibility:inherit;}html.cke_skin_v2_container{visibility:visible;}
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/skins/v2/skin.js b/rt/share/html/NoAuth/RichText/ckeditor/skins/v2/skin.js
deleted file mode 100644
index 7870040..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/skins/v2/skin.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.skins.add('v2',(function(){return{editor:{css:['editor.css']},dialog:{css:['dialog.css']},separator:{canGroup:false},templates:{css:['templates.css']},margins:[0,14,18,14]};})());(function(){CKEDITOR.dialog?a():CKEDITOR.on('dialogPluginReady',a);function a(){CKEDITOR.dialog.on('resize',function(b){var c=b.data,d=c.width,e=c.height,f=c.dialog,g=f.parts.contents;if(c.skin!='v2')return;g.setStyles({width:d+'px',height:e+'px'});if(!CKEDITOR.env.ie||CKEDITOR.env.ie9Compat)return;setTimeout(function(){var h=f.parts.dialog.getChild([0,0,0]),i=h.getChild(0),j=i.getSize('width');e+=i.getChild(0).getSize('height')+1;var k=h.getChild(2);k.setSize('width',j);k=h.getChild(7);k.setSize('width',j-28);k=h.getChild(4);k.setSize('height',e);k=h.getChild(5);k.setSize('height',e);},100);});};})();
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/skins/v2/templates.css b/rt/share/html/NoAuth/RichText/ckeditor/skins/v2/templates.css
deleted file mode 100644
index 2fcd09a..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/skins/v2/templates.css
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-.cke_skin_v2 .cke_tpl_list{border:#dcdcdc 2px solid;background-color:#fff;overflow:auto;width:100%;height:220px;}.cke_skin_v2 .cke_tpl_item{margin:5px;padding:7px;border:#eee 1px solid;*width:88%;}.cke_skin_v2 .cke_tpl_preview{border-collapse:separate;text-indent:0;width:100%;}.cke_skin_v2 .cke_tpl_preview td{padding:2px;vertical-align:middle;}.cke_skin_v2 .cke_tpl_preview .cke_tpl_preview_img{width:100px;}.cke_skin_v2 .cke_tpl_preview span{white-space:normal;}.cke_skin_v2 .cke_tpl_title{font-weight:bold;}.cke_skin_v2 .cke_tpl_list a:active .cke_tpl_item,.cke_skin_v2 .cke_tpl_list a:hover .cke_tpl_item,.cke_skin_v2 .cke_tpl_list a:focus .cke_tpl_item{border:#f93 1px solid!important;background-color:#fffacd!important;}.cke_skin_v2 .cke_tpl_list a:active *,.cke_skin_v2 .cke_tpl_list a:hover *,.cke_skin_v2 .cke_tpl_list a:focus *{cursor:pointer;}.cke_skin_v2 .cke_browser_ie6 .cke_tpl_list a:active,.cke_skin_v2 .cke_browser_ie6 .cke_tpl_list a:hover,.cke_skin_v2 .cke_browser_ie6 .cke_tpl_list a:focus{background-position:0 0;}.cke_skin_v2 .cke_tpl_list a:active .cke_tpl_item,.cke_skin_v2 .cke_tpl_list a:hover .cke_tpl_item,.cke_skin_v2 .cke_tpl_list a:focus .cke_tpl_item{border-width:3px;}.cke_skin_v2 .cke_tpl_empty,.cke_tpl_loading{text-align:center;padding:5px;}
diff --git a/rt/share/html/NoAuth/RichText/ckeditor/themes/default/theme.js b/rt/share/html/NoAuth/RichText/ckeditor/themes/default/theme.js
deleted file mode 100644
index d7a8bfe..0000000
--- a/rt/share/html/NoAuth/RichText/ckeditor/themes/default/theme.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/*
-Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
-For licensing, see LICENSE.html or http://ckeditor.com/license
-*/
-
-CKEDITOR.themes.add('default',(function(){var a={};function b(c,d){var e,f;f=c.config.sharedSpaces;f=f&&f[d];f=f&&CKEDITOR.document.getById(f);if(f){var g='<span class="cke_shared " dir="'+c.lang.dir+'"'+'>'+'<span class="'+c.skinClass+' '+c.id+' cke_editor_'+c.name+'">'+'<span class="'+CKEDITOR.env.cssClass+'">'+'<span class="cke_wrapper cke_'+c.lang.dir+'">'+'<span class="cke_editor">'+'<div class="cke_'+d+'">'+'</div></span></span></span></span></span>',h=f.append(CKEDITOR.dom.element.createFromHtml(g,f.getDocument()));if(f.getCustomData('cke_hasshared'))h.hide();else f.setCustomData('cke_hasshared',1);e=h.getChild([0,0,0,0]);!c.sharedSpaces&&(c.sharedSpaces={});c.sharedSpaces[d]=e;c.on('focus',function(){for(var i=0,j,k=f.getChildren();j=k.getItem(i);i++){if(j.type==CKEDITOR.NODE_ELEMENT&&!j.equals(h)&&j.hasClass('cke_shared'))j.hide();}h.show();});c.on('destroy',function(){h.remove();});}return e;};return{build:function(c,d){var e=c.name,f=c.element,g=c.elementMode;if(!f||g==CKEDITOR.ELEMENT_MODE_NONE)return;if(g==CKEDITOR.ELEMENT_MODE_REPLACE)f.hide();var h=c.fire('themeSpace',{space:'top',html:''}).html,i=c.fire('themeSpace',{space:'contents',html:''}).html,j=c.fireOnce('themeSpace',{space:'bottom',html:''}).html,k=i&&c.config.height,l=c.config.tabIndex||c.element.getAttribute('tabindex')||0;if(!i)k='auto';else if(!isNaN(k))k+='px';var m='',n=c.config.width;if(n){if(!isNaN(n))n+='px';m+='width: '+n+';';}var o=h&&b(c,'top'),p=b(c,'bottom');o&&(o.setHtml(h),h='');p&&(p.setHtml(j),j='');var q='<style>.'+c.skinClass+'{visibility:hidden;}</style>';if(a[c.skinClass])q='';else a[c.skinClass]=1;var r=CKEDITOR.dom.element.createFromHtml(['<span id="cke_',e,'" class="',c.skinClass,' ',c.id,' cke_editor_',e,'" dir="',c.lang.dir,'" title="',CKEDITOR.env.gecko?' ':'','" lang="',c.langCode,'"'+(CKEDITOR.env.webkit?' tabindex="'+l+'"':'')+' role="application"'+' aria-labelledby="cke_',e,'_arialbl"'+(m?' style="'+m+'"':'')+'>'+'<span id="cke_',e,'_arialbl" class="cke_voice_label">'+c.lang.editor+'</span>'+'<span class="',CKEDITOR.env.cssClass,'" role="presentation"><span class="cke_wrapper cke_',c.lang.dir,'" role="presentation"><table class="cke_editor" border="0" cellspacing="0" cellpadding="0" role="presentation"><tbody><tr',h?'':' style="display:none"',' role="presentation"><td id="cke_top_',e,'" class="cke_top" role="presentation">',h,'</td></tr><tr',i?'':' style="display:none"',' role="presentation"><td id="cke_contents_',e,'" class="cke_contents" style="height:',k,'" role="presentation">',i,'</td></tr><tr',j?'':' style="display:none"',' role="presentation"><td id="cke_bottom_',e,'" class="cke_bottom" role="presentation">',j,'</td></tr></tbody></table>'+q+'</span>'+'</span>'+'</span>'].join(''));
-r.getChild([1,0,0,0,0]).unselectable();r.getChild([1,0,0,0,2]).unselectable();if(g==CKEDITOR.ELEMENT_MODE_REPLACE)r.insertAfter(f);else f.append(r);c.container=r;r.disableContextMenu();c.on('contentDirChanged',function(s){var t=(c.lang.dir!=s.data?'add':'remove')+'Class';r.getChild(1)[t]('cke_mixed_dir_content');var u=this.sharedSpaces&&this.sharedSpaces[this.config.toolbarLocation];u&&u.getParent().getParent()[t]('cke_mixed_dir_content');});c.fireOnce('themeLoaded');c.fireOnce('uiReady');},buildDialog:function(c){var d=CKEDITOR.tools.getNextNumber(),e=CKEDITOR.dom.element.createFromHtml(['<div class="',c.id,'_dialog cke_editor_',c.name.replace('.','\\.'),'_dialog cke_skin_',c.skinName,'" dir="',c.lang.dir,'" lang="',c.langCode,'" role="dialog" aria-labelledby="%title#"><table class="cke_dialog',' '+CKEDITOR.env.cssClass,' cke_',c.lang.dir,'" style="position:absolute" role="presentation"><tr><td role="presentation"><div class="%body" role="presentation"><div id="%title#" class="%title" role="presentation"></div><a id="%close_button#" class="%close_button" href="javascript:void(0)" title="'+c.lang.common.close+'" role="button"><span class="cke_label">X</span></a>'+'<div id="%tabs#" class="%tabs" role="tablist"></div>'+'<table class="%contents" role="presentation">'+'<tr>'+'<td id="%contents#" class="%contents" role="presentation"></td>'+'</tr>'+'<tr>'+'<td id="%footer#" class="%footer" role="presentation"></td>'+'</tr>'+'</table>'+'</div>'+'<div id="%tl#" class="%tl"></div>'+'<div id="%tc#" class="%tc"></div>'+'<div id="%tr#" class="%tr"></div>'+'<div id="%ml#" class="%ml"></div>'+'<div id="%mr#" class="%mr"></div>'+'<div id="%bl#" class="%bl"></div>'+'<div id="%bc#" class="%bc"></div>'+'<div id="%br#" class="%br"></div>'+'</td></tr>'+'</table>',CKEDITOR.env.ie?'':'<style>.cke_dialog{visibility:hidden;}</style>','</div>'].join('').replace(/#/g,'_'+d).replace(/%/g,'cke_dialog_')),f=e.getChild([0,0,0,0,0]),g=f.getChild(0),h=f.getChild(1);if(CKEDITOR.env.ie&&!CKEDITOR.env.ie6Compat){var i=CKEDITOR.env.isCustomDomain(),j='javascript:void(function(){'+encodeURIComponent('document.open();'+(i?'document.domain="'+document.domain+'";':'')+'document.close();')+'}())',k=CKEDITOR.dom.element.createFromHtml('<iframe frameBorder="0" class="cke_iframe_shim" src="'+j+'"'+' tabIndex="-1"'+'></iframe>');k.appendTo(f.getParent());}g.unselectable();h.unselectable();return{element:e,parts:{dialog:e.getChild(0),title:g,close:h,tabs:f.getChild(2),contents:f.getChild([3,0,0,0]),footer:f.getChild([3,0,1,0])}};
-},destroy:function(c){var d=c.container,e=c.element;if(d){d.clearCustomData();d.remove();}if(e){e.clearCustomData();c.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE&&e.show();delete c.element;}}};})());CKEDITOR.editor.prototype.getThemeSpace=function(a){var b='cke_'+a,c=this._[b]||(this._[b]=CKEDITOR.document.getById(b+'_'+this.name));return c;};CKEDITOR.editor.prototype.resize=function(a,b,c,d){var j=this;var e=j.container,f=CKEDITOR.document.getById('cke_contents_'+j.name),g=CKEDITOR.env.webkit&&j.document&&j.document.getWindow().$.frameElement,h=d?e.getChild(1):e;h.setSize('width',a,true);g&&(g.style.width='1%');var i=c?0:(h.$.offsetHeight||0)-(f.$.clientHeight||0);f.setStyle('height',Math.max(b-i,0)+'px');g&&(g.style.width='100%');j.fire('resize');};CKEDITOR.editor.prototype.getResizable=function(a){return a?CKEDITOR.document.getById('cke_contents_'+this.name):this.container;};
diff --git a/rt/share/html/NoAuth/RichText/dhandler b/rt/share/html/NoAuth/RichText/dhandler
deleted file mode 100644
index 575d8f7..0000000
--- a/rt/share/html/NoAuth/RichText/dhandler
+++ /dev/null
@@ -1,69 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<%INIT>
-use File::Basename;
-my $arg = $m->dhandler_arg;
-my $file = dirname($m->current_comp->source_file) . '/ckeditor/' . $arg;
-return $m->decline unless -f $file && -r _;
-
-my $suffix = $1 if $file =~ /([^.]+)$/;
-
-my $type = {qw(
- xml text/xml
- html text/html
- js application/javascript
- css text/css
- gif image/gif
- jpg image/jpeg
- png image/png
-)}->{$suffix} || 'application/octet-stream';
-
-RT::Interface::Web->SendStaticFile( File => $file, Type => $type );
-
-$m->abort;
-</%INIT>
diff --git a/rt/share/html/NoAuth/css/aileron/AfterMenus b/rt/share/html/NoAuth/css/aileron/AfterMenus
new file mode 100644
index 0000000..3bfb51a
--- /dev/null
+++ b/rt/share/html/NoAuth/css/aileron/AfterMenus
@@ -0,0 +1,71 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<script type="text/javascript">
+var initMenus = function() {
+ jQuery.fn.supersubs.defaults = {
+ maxWidth: 30,
+ extraWidth: 2
+ };
+
+ jQuery("#app-nav.toplevel").addClass('sf-menu sf-js-enabled sf-shadow').supersubs().superfish({ speed: 'fast' });
+ jQuery("#page-menu.toplevel").addClass('sf-menu sf-js-enabled').supersubs().superfish({ dropShadows: false, speed: 'fast' }).supposition();
+
+ var originalOffset = jQuery("#page-menu").offset().top;
+ var floatMenu = function () {
+ jQuery("#page-menu").toggleClass("pinned", jQuery(document).scrollTop() > originalOffset);
+ };
+ floatMenu();
+ jQuery(window).scroll(floatMenu);
+};
+
+// If everything is loaded, init NOW. Otherwise, defer to DOM ready.
+if (jQuery.fn.supersubs && jQuery.fn.superfish && jQuery.fn.supposition)
+ initMenus();
+else
+ jQuery(initMenus);
+</script>
diff --git a/rt/share/html/NoAuth/css/aileron/InHeader b/rt/share/html/NoAuth/css/aileron/InHeader
index 4bdbe25..198eecb 100644
--- a/rt/share/html/NoAuth/css/aileron/InHeader
+++ b/rt/share/html/NoAuth/css/aileron/InHeader
@@ -46,19 +46,8 @@
%#
%# END BPS TAGGED BLOCK }}}
<!--[if lt IE 8]>
-<link rel="stylesheet" href="<%RT->Config->Get('WebPath')%>/NoAuth/css/aileron/msie.css" type="text/css" media="all" />
+<link rel="stylesheet" href="<%RT->Config->Get('WebPath')%>/static/css/aileron/msie.css" type="text/css" media="all" />
<![endif]-->
<!--[if lt IE 7]>
-<link rel="stylesheet" href="<%RT->Config->Get('WebPath')%>/NoAuth/css/aileron/msie6.css" type="text/css" media="all" />
+<link rel="stylesheet" href="<%RT->Config->Get('WebPath')%>/static/css/aileron/msie6.css" type="text/css" media="all" />
<![endif]-->
-<script type="text/javascript">
-jQuery(document).ready(function(){
- jQuery.fn.supersubs.defaults = {
- maxWidth: 30,
- extraWidth: 2
- };
-
- jQuery("#app-nav.toplevel").addClass('sf-menu sf-js-enabled sf-shadow').supersubs().superfish({ speed: 'fast' });
- jQuery("#page-menu.toplevel").addClass('sf-menu sf-js-enabled').supersubs().superfish({ dropShadows: false, speed: 'fast' }).supposition();
-});
-</script>
diff --git a/rt/share/html/NoAuth/css/aileron/boxes.css b/rt/share/html/NoAuth/css/aileron/boxes.css
deleted file mode 100644
index bd12b97..0000000
--- a/rt/share/html/NoAuth/css/aileron/boxes.css
+++ /dev/null
@@ -1,180 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-.titlebox {
- margin-top: 1em;
- margin-left: 1em;
- margin-bottom: 2em;
-}
-
-.titlebox .titlebox-content {
- border-left: 1px solid #ccc;
- border-top: 1px solid #ccc;
- background-color: #efefef;
- -moz-border-radius: 0.5em;
- -webkit-border-radius: 0.5em;
- border-bottom: 2px solid #aaa;
- border-right: 2px solid #aaa;
- border-radius: 0.5em;
- padding: 1.5em 1em 1em 1em;
-}
-
-* html .titlebox {
- border-top: none;
- border-left: none;
-}
-
-.titlebox .titlebox {
-
- margin-top: 1em;
- margin-right: 0.25em;
-
-}
-
-.titlebox .titlebox .titlebox-content {
- background-color: white;
-}
-
-
-.titlebox {
- margin-left: 0em;
- margin-right: 0em;
- min-height: 1.25em;
-
-}
-
-
-
-.titlebox .titlebox-title {
- position: relative;
-}
-
-.titlebox .titlebox-title a {
- text-decoration: none;
- color: black;
-
-}
-
-.titlebox .titlebox-title a:hover {
- text-decoration: underline;
-
-}
-
-.titlebox.rolled-up .titlebox-title {
- border-bottom: 1px solid #ccc;
-}
-
-.titlebox.rolled-up .titlebox-title .right {
- display: none;
-}
-
-.titlebox .titlebox-title .left {
- font-weight: bold;
- background: #ccc;
- margin-left: 1em;
- padding: 0.25em 0.75em 0.25em 2em;
- line-height: 1.5em;
- -webkit-border-top-left-radius: 0.3em;
- -webkit-border-top-right-radius: 0.3em;
- -moz-border-radius-topleft: 0.3em;
- -moz-border-radius-topright: 0.3em;
- border-radius: 0.3em 0.3em 0 0;
- border-right: 2px solid #aaa;
-}
-
-.titlebox .titlebox-title .right-empty {
- display:none;
-}
-
-.titlebox .titlebox-title .right {
- position: absolute;
- right: 2px;
- top: 1.75em;
- font-size: 0.9em;
- background: #dedede;
- border-left: 1px solid #ccc;
- border-bottom: 1px solid #ccc;
- padding-right: 0.4em;
- padding-left: 0.4em;
- padding-bottom: 0.2em;
- padding-top: 0.5em;
- -moz-border-radius-bottomleft: 0.25em;
- -webkit-border-bottom-left-radius: 0.25em;
-
-
- -moz-border-radius-topright: 0.25em;
- -webkit-border-top-right-radius: 0.25em;
-
- border-radius: 0 0.25em 0 0.25em;
-
-
-}
-
-.titlebox .titlebox-title .right a,
-.titlebox .titlebox-title .right a:visited {
- color: #000;
-}
-
-.titlebox .titlebox-title .widget a {
- display: block;
- margin: 0;
- width: 20px;
-
- background: url(<%RT->Config->Get('WebPath')%>/NoAuth/images/css/rollup-arrow.gif) no-repeat;
- background-position: center 0;
-
- position: absolute;
- top: 0.5em;
- left: 1.2em;
-
- padding: 7px 0 0 0;
- overflow: hidden;
-}
-
-.titlebox.rolled-up .titlebox-title .widget a {
- background-image: url(<%RT->Config->Get('WebPath')%>/NoAuth/images/css/rolldown-arrow.gif);
-}
diff --git a/rt/share/html/NoAuth/css/aileron/forms.css b/rt/share/html/NoAuth/css/aileron/forms.css
deleted file mode 100644
index c7bdcbd..0000000
--- a/rt/share/html/NoAuth/css/aileron/forms.css
+++ /dev/null
@@ -1,80 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-/* These override the base titlebox rules in base/forms.css. They try not to
- duplicate properties. */
-
-div.results .titlebox, div.error div.error {
- border: none;
- background: none;
-}
-
-div.results .titlebox-content {
- border: 1px solid #aa9;
- border-bottom: 2px solid #990;
- border-right: 2px solid #990;
- background: #ffc;
-}
-
-div.results .titlebox-title .left {
- border: solid #aa9;
- border-width: 1px 1px 0 1px;
-}
-
-div.error .titlebox-title span.left {
- border: none;
- border-right: 2px solid #b00;
-}
-
-div.error .titlebox-content {
- border: 1px solid #b00;
- border-bottom: 2px solid #a00;
- border-right: 2px solid #a00;
- background-color: #fcc;
-}
-
-div.error .titlebox-title .widget a { background-position: center -7px; }
diff --git a/rt/share/html/NoAuth/css/aileron/images/dhandler b/rt/share/html/NoAuth/css/aileron/images/dhandler
deleted file mode 100644
index 0e56d92..0000000
--- a/rt/share/html/NoAuth/css/aileron/images/dhandler
+++ /dev/null
@@ -1,55 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<%INIT>
-use File::Basename;
-my $arg = $m->dhandler_arg;
-my $file = dirname($m->current_comp->source_file) . '/source/'. $arg;
-RT::Interface::Web->SendStaticFile( File => $file );
-
-$m->abort;
-</%INIT>
diff --git a/rt/share/html/NoAuth/css/aileron/layout.css b/rt/share/html/NoAuth/css/aileron/layout.css
deleted file mode 100644
index bd17171..0000000
--- a/rt/share/html/NoAuth/css/aileron/layout.css
+++ /dev/null
@@ -1,174 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-/* body */
-
-body {
- padding:0;
- margin:0;
- background: #547CCC url(<%RT->Config->Get('WebPath')%>/NoAuth/css/web2/images/background-gradient.png) top left repeat-x ;
- font-family: arial, helvetica, sans-serif;
- color: #000000;
-}
-
-div#body {
- position: relative;
- padding: 1.8em 1em 1em 1em;
- -moz-border-radius-topleft: 0.5em;
- -webkit-border-top-left-radius: 0.5em;
- -moz-border-radius-bottomleft: 0.5em;
- -webkit-border-bottom-left-radius: 0.5em;
- margin-left: 1em;
- margin-top: 3em;
- margin-right: 0;
- margin-bottom: 0em;
- min-height: 10%;
- background: #fff;
- border-top: 2px solid #ccc;
- border-left: 2px solid #ccc;
- z-index:1;
- border-radius: 0.5em 0 0 0.5em;
-
-}
-
-div#footer {
- position: absolute;
- right: 0;
- text-align: right;
- font-size: 0.9em;
- margin-top: 2em;
- background: #fff;
- margin-bottom: 0;
- padding-left: 3em;
- padding-right: 1em;
- border-top: 2px solid #aaa;
- border-left: 2px solid #aaa;
- -moz-border-radius-topleft: 0.5em;
- -webkit-border-top-left-radius: 0.5em;
- -moz-border-radius-bottomleft: 0.5em;
- -webkit-border-bottom-left-radius: 0.5em;
-
- border-radius: 0.5em 0 0.5em 0;
-}
-
-div#footer #time {
- display: none ;
-}
-
-div#footer #bpscredits {
- text-align: right;
- background: url(<%RT->Config->Get('WebPath')%>/NoAuth/images/bpslogo.png) no-repeat top right;
- padding-top: 4em;
-}
-
-
-/* logo stuff */
-
-div#logo {
- position: absolute;
- right: 2px;
- top: 0;
- height: 2.3em;
-}
-
-div#logo a img {
- border: 0;
- height: 100% !important;
- width: auto !important;
- float: right;
-}
-
-div#logo .rtname {
- position: relative;
- font-weight: bold;
- text-align: center;
- top: 0.7em;
- padding-right: 1em;
- float:left;
-}
-
-
-div#quickbar, div#logo {
- font-size: 0.9em;
-}
-div#quickbar a, div#logo a {
- color: #000;
-}
-
-
-div#quickbar {
- background: #eaeaea;
- padding-top: 1em;
- padding-left: 1em;
- padding-bottom: 0.5em;
- height: 1em;
- border-bottom: 1px solid #ccc;
-
-}
-
-div#header h1 {
- position: absolute;
- left: 0.5em;
- right: 20em;
- top: 1.6em;
- overflow: hidden;
- height: 1em;
- font-size: 1.4em;
- margin-top: 0.4em;
- padding: 0.25em;
- color: #fff;
-}
-
-/* in multi-column layouts, make sure we have an internal gutter */
-
-tr .boxcontainer {
- padding-right: 1em;
-}
-
-tr .boxcontainer:last-child {
- padding-right: 0;
-}
diff --git a/rt/share/html/NoAuth/css/aileron/main.css b/rt/share/html/NoAuth/css/aileron/main.css
deleted file mode 100644
index c6a165b..0000000
--- a/rt/share/html/NoAuth/css/aileron/main.css
+++ /dev/null
@@ -1,63 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-% $m->callback(CallbackName => 'Begin');
-
-@import "../base/main.css";
-
-@import "base.css";
-@import "layout.css";
-@import "nav.css";
-@import "boxes.css";
-@import "forms.css";
-@import "login.css";
-@import "ticket-lists.css";
-@import "ticket-search.css";
-@import "ticket.css";
-@import "misc.css";
-
-% $m->callback(CallbackName => 'End');
diff --git a/rt/share/html/NoAuth/css/aileron/misc.css b/rt/share/html/NoAuth/css/aileron/misc.css
deleted file mode 100644
index ff2deb2..0000000
--- a/rt/share/html/NoAuth/css/aileron/misc.css
+++ /dev/null
@@ -1,58 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-.comment {
- padding-left: 0.5em;
- color: #999;
-
-}
-
-#comp-Ticket-ShowEmailRecord #body {
- margin-left: 1em;
- margin-top: 1em;
- overflow: auto;
-}
diff --git a/rt/share/html/NoAuth/css/aileron/msie.css b/rt/share/html/NoAuth/css/aileron/msie.css
deleted file mode 100644
index 2b06ce0..0000000
--- a/rt/share/html/NoAuth/css/aileron/msie.css
+++ /dev/null
@@ -1,180 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-div#body {
- top: 3em;
-}
-
-div#logo .rtname {
- float: none;
- right: 12em;
- position: absolute;
-}
-
-div#footer {
- margin-top: 5em;
-}
-
-
-
-.topaction form * {
- vertical-align: top;
-}
-
-.topaction form button, .topaction form input {
- height: 2em;
-}
-
-.topaction form input.field {
- height: 1.6em;
-}
-
-.topaction .select-queue {
- margin-top: 0.2em;
-}
-
-#pick-criteria td.label select {
- width: 10em;
-}
-
-
-#editquery {
- margin-top: 0.2em;
- width: 39%;
- left: 60%;
-}
-
-div#nav li.first {
- margin-top: 0.75em;
- border-top: none;
-}
-div#nav ul ul li.first {
- border-top: 1px solid #cccccc;
- margin-top: 0.25em;
-}
-
-div#nav li.last {
- border-bottom: none;
- padding-bottom: 0;
- margin-bottom: 0;
-}
-
-
-.ticket-transaction .type a { font-weight: normal; text-decoration: none; color: #fff; }
-
-
-
-/* IE's box model is wrong */
-.titlebox .titlebox-title .widget a {
- padding-top: 0;
- height: 7px;
- top: 0.75em;
-}
-
-
-
-.titlebox .titlebox-title .right {
- display: block;
- margin-top: 0.4em;
- padding-right: 0.3em;
-
-}
-
-
-.titlebox .titlebox-content {
- padding-top: 2.2em;
-}
-
-
-.titlebox table.collection-as-table, .titlebox table.queue-summary {
- width: 95%;
- padding: 0.5em;
- margin-left: auto;
- margin-right: auto;
-}
-
-.titlebox-title {
- position: relative;
-}
-
-/* nested things. like the ticket dates tab */
-.titlebox .titlebox .titlebox-title .right{
- top: 0.25em;
-}
-
-.combobox {
- float: left;
-}
-
-.combobox .combo-button {
- color: ButtonText;
- padding: 0;
-}
-
-.combobox .combo-list {
- margin-top:0.5em;
- margin-left: -0.2em;
-}
-
-#pick-criteria td.label {
- width: auto;
-}
-
-#pick-criteria td.operator {
- width: 7.5em;
-}
-
-.plain-text-white-space {
- word-wrap: break-word; /* Internet Explorer 5.5+ */
- white-space: pre; /* IE only hack to re-specify in addition to
- word-wrap */
-}
-
-#rt-portal .titlebox-content {
- height: 23em;
-}
-
diff --git a/rt/share/html/NoAuth/css/aileron/msie6.css b/rt/share/html/NoAuth/css/aileron/msie6.css
deleted file mode 100644
index aff8d93..0000000
--- a/rt/share/html/NoAuth/css/aileron/msie6.css
+++ /dev/null
@@ -1,110 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-@import "../base/msie6.css";
-
-div#body {
- top: 0em;
-}
-
-.topaction .select-queue {
- margin-top: 0;
-}
-
-.titlebox-title .widget {
- top: -1.25em;
- left: 0.5em;
-
-}
-.titlebox .titlebox-title .right{
- position: absolute;
- top: 1.5em;
-}
-
-.titlebox
-{
- height: auto !important;
- height: 1.25em;
-}
-
-
-.ticket-transaction .messagebody img {
- /* ie6 does not support max-width */
- width: expression(this.width > 401 ? 400 : true);
-}
-
-
-
-.sf-sub-indicator {
- background: url(<%RT->Config->Get('WebPath')%>/NoAuth/css/images/arrows-ffffff.gif) no-repeat -10px -100px;
-}
-
-#page-navigation ul {
- width: auto;
-}
-
-.ticket-transaction div.metadata span.actions {
- right: 1.2em;
-}
-
-div.titlebox,
-#ticket-create-metadata,
-#ticket-update-metadata,
-#ticket-create-message,
-#ticket-update-message {
- position: relative;
-}
-
-#Ticket-Create-details {
- float: left;
- position: relative;
-}
-
-div.submit .extra-buttons {
- float: none;
-}
-
diff --git a/rt/share/html/NoAuth/css/aileron/nav.css b/rt/share/html/NoAuth/css/aileron/nav.css
deleted file mode 100644
index 58b3d16..0000000
--- a/rt/share/html/NoAuth/css/aileron/nav.css
+++ /dev/null
@@ -1,165 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-.sf-menu {
- width: 100%;
- margin-bottom: 0;
-}
-
-.sf-menu li:hover {
- background-color: #CFDEFF;
-}
-
-.sf-menu li, .sf-menu li li, .sf-menu li li li {
- background-color: #eaeaea;
-}
-
-.sf-sub-indicator {
- background-image: url(<%RT->Config->Get('WebPath')%>/NoAuth/css/images/arrows-grey.png);
-}
-
-.sf-menu li li .sf-sub-indicator {
- margin-top: -3px;
-}
-
-#page-menu.sf-menu li .sf-sub-indicator {
- top: 0.7em;
-}
-
-#page-menu.sf-menu li:hover ul, #page-menu.sf-menu li.sfHover ul {
- top: 2.5em;
-}
-
-#page-menu.sf-menu li ul {
- border-bottom: 2px solid #ccc;
-}
-
-#main-navigation {
- position: absolute;
- top: 1px;
- left: 0;
- z-index: 9999;
- text-color: #000;
-}
-
-#main-navigation .sf-menu a, #main-navigation .sf-menu a:hover {
- padding-top: 0.5em;
- padding-bottom: 0.5em;
- border-color: #fff;
- color: #000;
-}
-
-#main-navigation a {
- border-top: none;
-}
-
-#main-navigation li li a {
- border-top: 1px solid white;
-}
-
-#app-nav.sf-menu > li:first-child > a {
- border-left: none;
-}
-
-#main-navigation #app-nav > li, #main-navigation #app-nav > li > a {
- background-color: transparent;
-}
-
-#page-navigation {
- position: absolute;
- top: 6.05em;
- right: 0em;
- left: auto;
- z-index: 9995;
- font-size: 0.9em;
-}
-
-#page-navigation .sf-menu li, #page-navigation .sf-menu li li, #page-navigation .sf-menu li li li {
- background-color: #fff;
-}
-
-#page-navigation .sf-menu a:visited, #page-navigation .sf-menu a {
- border: none;
- color: #000;
-}
-
-/* to stop a "flash" of an unstyled menu on an older browser, hide the menu until superfish has initialized it */
-#app-nav.toplevel { display: none; }
-#app-nav.toplevel.sf-menu { display:block; }
-#page-menu.toplevel { display: none; }
-#page-menu.toplevel.sf-menu { display:block; }
-
-#topactions {
- position: absolute;
- background: transparent;
- top: 3.2em;
- right: 0.7em;
- width: auto;
- min-width: 42em;
- font-size: 0.9em;
- z-index: 99;
-}
-
-#topactions form * {
- vertical-align: top;
-}
-
-#topactions button, #topactions select, #topactions input{
- padding-top: 0em;
- padding-bottom: 0em;
- width: 8em;
-
-}
-
-#topactions #simple-search .field{
- margin-left: 1em;
- color: #787;
- }
-
-#topactions #simple-search .field:focus {
- color: #000;
- }
diff --git a/rt/share/html/NoAuth/css/aileron/ticket-lists.css b/rt/share/html/NoAuth/css/aileron/ticket-lists.css
deleted file mode 100644
index 8d1258d..0000000
--- a/rt/share/html/NoAuth/css/aileron/ticket-lists.css
+++ /dev/null
@@ -1,238 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-table.queue-summary, table.collection-as-table {
- margin-top: 0.75em;
- font-size: 0.9em;
- border: 1px solid #aaa;
- border-bottom: 2px solid #999;
- border-right: 2px solid #999;
- border-spacing: 0;
- width: 100%;
-
-}
-
-table.queue-summary tr>*:first-child {
- padding-left: 1em;
-
-}
-
-
-table.queue-summary tr>*:last-child {
- padding-right: 1em;
-
-}
-
-table.queue-summary a, table.collection-as-table a {
- font-weight: bold;
-}
-
-
-table.collection-as-table th.collection-as-table {
- background: #ddd;
- font-size: 0.9em;
- margin-bottom: 0.5em;
- text-align: left;
-
-}
-
-
-table.queue-summary th.collection-as-table {
- font-size: 0.9em;
- margin-bottom: 0.5em;
- text-align: right;
-
-}
-
-table.queue-summary th.collection-as-table:first-child {
- text-align: left;
-
-}
-
-
-tr.collection-as-table+tr.collection-as-table th {
- border-bottom: 2px solid grey;
-
-}
-
-
-
-
-table.queue-summary td {
- background: #efefef;
- border-bottom: 1px solid #ccc;
-}
-
-
-
-tr.evenline td {
- background: #eee;
-}
-
-tr.oddline td {
- background: #fff;
-
-}
-
-tr.evenline td, tr.oddline td {
- padding-top: 0.5em;
-}
-
-
-
-tr.evenline+tr.evenline td, tr.oddline+tr.oddline td{
- padding-top: 0;
- border: none;
-}
-
-
-
-table.collection-as-table td:first-child,
-table.collection-as-table th:first-child {
- padding-left: 1em;
-}
-
-table.collection-as-table td:last-child, table.collection-as-table th:last-child {
- padding-right: 1em;
-}
-
-th.collection-as-table , td.collection-as-table {
- padding-right: 0.5em;
-}
-
-.pagenum.a:hover, .paging a.nav:hover{
-text-decoration: underline;
-}
-
-
-.pagenum *, .paging a.nav{
-padding: .5em;
-}
-
-.currentpage{
-text-decoration: none;
-font-weight: bold;
-background: #eee;
-}
-
-div.paging{
-text-align: center;
-padding-bottom: 1em;
-}
-
-
-/* full-page ticket lists */
-#body>table.collection-as-table {
- margin-bottom: 2em;
-
-}
-
-.chart.image {
- margin-top: -1em;
- padding-right: 2em;
- float: left;
- clear: both;
-}
-
-.chart-wrapper {
- display: block;
- width: auto;
-}
-
-.chart-wrapper .collection-as-table {
- width: auto;
- font-size: 1em;
- /* Firefox needs this to let the table flow below the chart on narrow screens */
- clear: right;
-}
-
-.chart-wrapper .collection-as-table th.collection-as-table {
- text-align: center;
- padding: 0.5em;
- padding-right: 1em;
- padding-left: 1em;
-}
-
-.chart-wrapper .collection-as-table tr.total td {
- border-top: 1px solid #ccc;
-}
-
-.chart-wrapper .collection-as-table td.value {
- padding-left: 0.5em;
-}
-
-.chart-wrapper .query {
- clear: both;
- text-align: center;
- font-size: 1.2em;
- padding: 1em;
-}
-
-.chart-wrapper .collection-as-table .label {
- font-weight: bold;
-}
-
-
-.chart-wrapper .query .label {
- font-weight: bold;
-}
-
-.chart-meta {
- padding-top: 2em;
- border-top: 1px solid #ccc;
-}
-
-.chart-meta .chart-type {
- display: inline-block;
- float: left;
- padding-right: 2em;
- clear: both;
-}
-
-.chart-meta .saved-search {
- display: inline-block;
-}
diff --git a/rt/share/html/NoAuth/css/aileron/ticket-search.css b/rt/share/html/NoAuth/css/aileron/ticket-search.css
deleted file mode 100644
index b738252..0000000
--- a/rt/share/html/NoAuth/css/aileron/ticket-search.css
+++ /dev/null
@@ -1,242 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-#comp-Search-Build #body {
- position: relative;
-}
-
-#pick-criteria select {
- width: 8em;
-}
-
-#pick-criteria tr {
- height: 1.5em;
-}
-
-#pick-criteria td.label {
- font: message-box;
- padding-right: 0.5em;
- width: 11em;
-}
-
-#pick-criteria td.label select {
- width: 8.5em;
- text-align: right;
-}
-
-#pick-criteria td.operator {
- padding-right: 0.5em;
- text-align: left;
- vertical-align: bottom;
- width: 7em;
-}
-
-#pick-criteria td.operator select {
- text-align: right;
-}
-
-#pick-criteria td.value input,
-#pick-criteria td.value select {
- width: 11em;
-}
-
-#pick-criteria td.value #ValueOfDate {
- width: 11em;
-}
-
-
-#pick-criteria td.value #ValueOfTime {
- width: 4em;
-
-}
-
-#pick-criteria td.value #ValueOfTime-TimeUnits{
- width: 5.5em;
-}
-
-#pick-criteria td.value {
- padding-right: 0.5em;
- text-align: left;
- font: message-box;
-}
-
-#editquery, #editsearches{
- position: absolute;
- margin-top: 0.2em;
- right: 1em;
- left: 60%;
- top: 1em;
-/* margin-top: -1em; */
-}
-
-#editquery {
- top: 1.3em;
-}
-
-
-#editsearches {
- top: 24em;
-}
-
-
-#pick-criteria {
- width: 58%;
- padding-top: 0em;
- margin-top: 0em;
-}
-
-#pick-criteria .titlebox-content {
- overflow-x: auto;
-}
-
-#BuildQuery .submit {
- width: 58%;
-}
-
-
-#sorting.titlebox {
- width: 55%;
- padding-right: 1em;
-}
-
-#display-options .submit {
- width: 100%;
-}
-
-
-
-.search-result-views {
- position: absolute;
- top: 0;
- right: 0;
- margin-top: -2px;
- margin-right: 0em;
- padding: 0.25em;
- padding-left: 0.5em;
- padding-right: 0.5em;
- background-color: #ccc;
- border-left: 1px solid #999;
- border-bottom: 1px solid #999;
- -moz-border-radius-bottomleft: 0.5em;
- -webkit-border-bottom-left-radius: 0.5em;
- border-radius: 0 0 0 0.5em;
-}
-
-
-
-.search-result-views li {
-
- display: inline;
-}
-
-.search-result-views li:after {
- content: " \00b7 ";
-}
-
-.search-result-views li:last-child:after {
- content: "";
-
-}
-
-.edit-saved-searches .label {
- display: inline-block;
- width: 10em;
-}
-
-span#display-options {
- display: block;
- padding-top: 2em;
- margin-top: 2em;
- border-top: 1px solid #ccc;
- clear: both;
-}
-
-span#display-options .titlebox#sorting {
- float: left;
- width: auto;
- margin-right: 2em;
- min-width: 35%;
-}
-
-span#display-options .titlebox#columns {
- float: left;
-}
-
-span#display-options .titlebox#columns table.edit-columns td {
- padding: 0.5em;
-}
-
-span#display-options .titlebox#columns table.edit-columns div.row {
- width: 9em;
-}
-span#display-options .titlebox#columns table.edit-columns span.label {
- width: 2em;
-}
-
-span#display-options .titlebox#columns table.edit-columns span.value input,
-span#display-options .titlebox#columns table.edit-columns span.value select {
- width: 7em;
- padding: 0;
-}
-
-span#display-options .titlebox#columns table.edit-columns span.value {
- display: inline-block;
- width:7em;
-}
-
-#BuildQuery #formatbuttons.submit{
- width: 85%;
-}
-
-.refresh {
- float: left;
-}
-
-/* Force some widget to fit at max parent box */
-#HomeRefreshInterval, #SavedSearchLoad, #SavedSearchOwner {
- max-width: 100%;
-}
diff --git a/rt/share/html/NoAuth/css/aileron/ticket.css b/rt/share/html/NoAuth/css/aileron/ticket.css
deleted file mode 100644
index afcb8ec..0000000
--- a/rt/share/html/NoAuth/css/aileron/ticket.css
+++ /dev/null
@@ -1,282 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-div#ticket-history div.ticket-transaction {
- border-top: 1px solid #ccc;
- padding-bottom: 0.25em;
- position: relative; /* gives us a container for position: absolute */
-}
-
-div#ticket-history div.odd {
- background-color: #fff;
-}
-
-div#ticket-history {
-
- margin-top: 0.75em;
- border-left: 1px solid #ccc;
-
- border-right: 2px solid #999;
- border-bottom: 2px solid #999;
-
-}
-
-.ticket-transaction div.metadata span.actions {
- position: absolute;
- top: 0;
- right: 0;
- padding: 0em;
- background: #ccc;
- text-align: right;
- border-left: 1px solid #999;
- border-bottom: 1px solid #999;
- color: #ccc;
- -moz-border-radius-bottomleft: 0.5em;
- -webkit-border-bottom-left-radius: 0.5em;
- white-space: nowrap;
-
- border-radius: 0 0 0 0.5em;
-}
-
-.ticket-transaction div.metadata span.type {
- text-align: center;
- float: left;
- margin: 0.25em 0.70em 0.25em 0.25em;
- width: 1em;
- padding: 0;
- border-right: 1px solid #999;
- border-bottom: 1px solid #999;
- -moz-border-radius-bottomright: 0.25em;
- -webkit-border-bottom-right-radius: 0.25em;
-
- border-radius: 0 0 0.25em 0;
-
-}
-
-div#ticket-history span.type a {
- color: #fff;
- padding-top: 0.75em;
- display: block;
-}
-
-#ticket-history a#lasttrans {
- display: inline;
- height: 0;
- width: 0;
- padding: 0;
- margin: 0;
-}
-
-
-div#ticket-history span.date {
- width: 10em;
-}
-
-
-div#ticket-history span.description {
- margin-left: 1em;
- font-weight: bold;
-}
-
-div#ticket-history span.time-taken {
- margin-left: 1em;
-}
-
-div#ticket-history div.content {
- padding-right: 1em;
- padding-bottom: 0.7em;
- margin-left: 1.5em;
-}
-
-
-.ticket-transaction .messagebody {
- font-size: 1em;
- padding-left: 1em;
- margin-top: 0.5em;
- padding-top: 0.5em;
- border-top: 1px solid #ccc;
- /*overflow: auto; */
- min-height: 2.5em;
- /* To avoid overlapping of "downloadattachment" by messagebody */
- clear: left;
- word-wrap: break-word;
-}
-
-.ticket-transaction .messagebody img {
- max-width: 100%;
-}
-
-div#ticket-history div.downloadattachment {
-float: right;
-clear: both;
-font-size: 0.9em;
-text-align: right;
-background: #ddd;
-padding: 0.5em;
-margin-left: 1em;
-
-border: 1px solid #ccc;
-border-right: 2px solid #aaa;
-border-bottom: 2px solid #aaa;
-margin-top: 0.5em;
--moz-border-radius: 0.5em;
--webkit-border-radius: 0.5em;
- border-radius: 0.5em;
-}
-
-div#ticket-history div.downloadattachment .downloadcontenttype{
-color: #666;
-padding-right:0.25em;
-}
-
-
-div#ticket-history .message-header-key {
- width: 7em;
- font-weight: bold;
- color: #666;
-}
-
-
-div#ticket-history .messagebody .messagebody{
- font-size: 1em;
- padding: 0;
- border: 0;
- margin: 0;
-}
-
-
-
-.ticket-transaction.basics .type { background: #b32; }
-.ticket-transaction.cfs .type { background: #b32; }
-.ticket-transaction.people .type { background: #48c; }
-.ticket-transaction.links .type { background: #316531; }
-.ticket-transaction.dates .type { background: #633063; }
-.ticket-transaction.message .type { background: #069; }
-.ticket-transaction.reminders .type { background: #369; }
-.ticket-transaction.other .type { background: #abc; }
-
-
-/* Color the titlebox tabs */
-.ticket-info-cfs .titlebox-title .left { background-color: #b32; color: #fff;}
-.ticket-info-basics .titlebox-title .left { background-color: #b32; color: #fff;}
-.ticket-info-people .titlebox-title .left { background-color: #48c; color: #fff;}
-.ticket-info-requestor .titlebox-title .left { white-space: nowrap; background-color: #48c; color: #fff;}
-.ticket-info-links .titlebox-title .left { background-color: #316531; color: #fff;}
-.ticket-info-reminders .titlebox-title .left { background-color: #369; color: #fff;}
-.ticket-info-dates .titlebox-title .left { background-color: #633063; color: #fff;}
-.ticket-info-attachments .titlebox-title .left { background-color: #993366; color: #fff;}
-
-/* Use a lighter colored toggle arrow */
-.ticket-info-cfs .titlebox-title .widget a { background-position: center -7px; }
-.ticket-info-basics .titlebox-title .widget a { background-position: center -7px; }
-.ticket-info-people .titlebox-title .widget a { background-position: center -7px; }
-.ticket-info-requestor .titlebox-title .widget a { background-position: center -7px; }
-.ticket-info-links .titlebox-title .widget a { background-position: center -7px; }
-.ticket-info-reminders .titlebox-title .widget a { background-position: center -7px; }
-.ticket-info-dates .titlebox-title .widget a { background-position: center -7px; }
-.ticket-info-attachments .titlebox-title .widget a { background-position: center -7px; }
-
-
-.ticket-summary .titlebox-title .left a, .ticket-summary .titlebox-title .left a:visited { color: #fff;}
-
-.ticket-inactive {
- text-decoration: line-through;
- color: #666
-}
-
-table.ticket-summary td.boxcontainer:first-child {
- width: 50%;
-}
-div.requestor-ticket-links {
- text-align: left;
- font-size: 0.8em;
- padding-top: 0.25em;
-}
-
-.more-about-requestor-extra-field .label {
- display: inline-block;
- width: 8em;
- font-weight: bold;
- text-align: right;
-}
-
-.more-about-requestor-extra-field .value {
- display: inline-block;
-}
-
-.ticket-info-requestor .more-about-requestor-extra,
-.ticket-info-requestor .comments-about-user,
-.ticket-info-requestor .more-about-requestor-tickets,
-.ticket-info-requestor .more-about-user-groups
-{
- margin: 1em 0;
-}
-
-.ticket-info-requestor .comments-about-user .label,
-.ticket-info-requestor .more-about-user-groups .label,
-.ticket-info-requestor .more-about-requestor-tickets .label
-{
- display: block;
- font-weight: bold;
- text-align: left;
-}
-
-.ticket-info-requestor .more-about-user-groups .value ul,
-.ticket-info-requestor .more-about-requestor-tickets ul
-{
- margin-top: 0;
- margin-bottom: 0;
-}
-
-
-/* textareas get to be bigger when we're in a table */
-tr.edit-custom-field.cftype-Text textarea,
-tr.edit-custom-field.cftype-Freeform input,
-tr.edit-custom-field.cftype-Wikitext textarea
-{
- width: 100%;
-}
diff --git a/rt/share/html/NoAuth/css/autohandler b/rt/share/html/NoAuth/css/autohandler
index aeca219..2795a1a 100644
--- a/rt/share/html/NoAuth/css/autohandler
+++ b/rt/share/html/NoAuth/css/autohandler
@@ -46,21 +46,8 @@
%#
%# END BPS TAGGED BLOCK }}}
<%init>
-my $file = $m->base_comp->source_file;
-
-if ($file =~ /\.(?:gif|png|jpe?g)$/i) {
- my $relfile = $m->base_comp->path;
- RT::Interface::Web->SendStaticFile( File => $file, RelativeFile => $relfile );
-}
-elsif ($file =~ /\.(?:htc)$/i) {
- RT::Interface::Web::StaticFileHeaders();
- $r->content_type('text/x-component') ;
- $m->call_next();
- return();
-} else {
- RT::Interface::Web::StaticFileHeaders();
- $r->content_type('text/css') ;
- $m->call_next();
- return();
-}
+RT::Interface::Web::StaticFileHeaders();
+$r->content_type('text/css; charset=utf-8') ;
+$m->call_next();
+return();
</%init>
diff --git a/rt/share/html/NoAuth/css/ballard/InHeader b/rt/share/html/NoAuth/css/ballard/InHeader
index e81b02b..2c2e497 100644
--- a/rt/share/html/NoAuth/css/ballard/InHeader
+++ b/rt/share/html/NoAuth/css/ballard/InHeader
@@ -46,9 +46,9 @@
%#
%# END BPS TAGGED BLOCK }}}
<!--[if lt IE 8]>
-<link rel="stylesheet" href="<%RT->Config->Get('WebPath')%>/NoAuth/css/web2/msie.css" type="text/css" media="all" />
+<link rel="stylesheet" href="<%RT->Config->Get('WebPath')%>/static/css/web2/msie.css" type="text/css" media="all" />
<![endif]-->
<!--[if lt IE 7]>
-<link rel="stylesheet" href="<%RT->Config->Get('WebPath')%>/NoAuth/css/ballard/msie6.css" type="text/css" media="all" />
+<link rel="stylesheet" href="<%RT->Config->Get('WebPath')%>/static/css/ballard/msie6.css" type="text/css" media="all" />
<![endif]-->
diff --git a/rt/share/html/NoAuth/css/ballard/base.css b/rt/share/html/NoAuth/css/ballard/base.css
deleted file mode 100644
index 2ed341e..0000000
--- a/rt/share/html/NoAuth/css/ballard/base.css
+++ /dev/null
@@ -1,62 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-a {
- color: #000;
- text-decoration: none;
-}
-
-
-a:visited {
- color: #666;
-}
-
-a:hover {
- text-decoration: underline;
-}
-
-textarea:focus, input:focus { background-color: #ffd; }
diff --git a/rt/share/html/NoAuth/css/ballard/boxes.css b/rt/share/html/NoAuth/css/ballard/boxes.css
deleted file mode 100644
index 6aed3bf..0000000
--- a/rt/share/html/NoAuth/css/ballard/boxes.css
+++ /dev/null
@@ -1,189 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-.titlebox {
- border-left: 1px solid #ccc;
- border-top: 1px solid #ccc;
- background-color: #efefef;
- padding-top: 1em;
- margin-top: 1em;
- margin-left: 1em;
- -moz-border-radius: 0.5em;
- -webkit-border-radius: 0.5em;
- border-radius: 0.5em;
- margin-bottom: 2em;
- border-bottom: 2px solid #aaa;
- border-right: 2px solid #aaa;
- padding-right: 1em;
-}
-
-* html .titlebox {
- border-top: none;
- border-left: none;
-}
-
-.titlebox .titlebox {
-
- background-color: #ffffff;
- margin-top: 1em;
- -moz-border-radius: 0.5em;
- -webkit-border-radius: 0.5em;
- border-radius: 0.5em;
- margin-right: 0.25em;
-
-}
-
-
-.titlebox {
- margin-left: 0em;
- margin-right: 0em;
- min-height: 1.25em;
-
-}
-
-
-
-.titlebox .titlebox-title {
- position: relative;
- margin-top: -1.5em;
- padding-bottom: 0.25em;
- padding-left: 1em;
- margin-right: -1em;
-
-}
-
-.titlebox .titlebox-title a {
- text-decoration: none;
- color: black;
-
-}
-
-.titlebox .titlebox-title a:hover {
- text-decoration: underline;
-
-}
-
-.titlebox .titlebox-title .left {
- font-weight: bold;
- background: #ccc;
- margin-left: 0.75em;
- padding:0.5em;
- padding-left: 0.75em;
- padding-right: 0.75em;
- -moz-border-radius: 0.5em;
- -webkit-border-radius: 0.5em;
- border-radius: 0.5em;
- border-bottom: 2px solid #aaa;
- border-right: 2px solid #aaa;
-
-
-}
-
-.titlebox .titlebox-title .right-empty {
- display:none;
-}
-
-.titlebox .titlebox-title .right {
- position: absolute;
- right: 0;
- top: 0.5em;
- font-size: 0.9em;
- background: #dedede;
- border-left: 1px solid #ccc;
- border-bottom: 1px solid #ccc;
- padding-right: 0.4em;
- padding-left: 0.4em;
- padding-bottom: 0.2em;
- padding-top: 0.5em;
- -moz-border-radius-bottomleft: 0.25em;
- -webkit-border-bottom-left-radius: 0.25em;
- border-bottom-left-radius: 0.25em;
-
-
- -moz-border-radius-topright: 0.25em;
- -webkit-border-top-right-radius: 0.25em;
- border-top-right-radius: 0.25em;
-
-}
-
-.titlebox .titlebox-title .right a,
-.titlebox .titlebox-title .right a:visited {
- color: #000;
-}
-
-.titlebox .titlebox-content {
- padding-top: 0.5em;
- padding-left: 1em;
- padding-bottom: 1em;
-
-}
-
-.titlebox .titlebox-title .widget a {
- display: block;
- margin: 0;
- margin-top: 0.6em;
- width: 20px;
-
- background: url(<%RT->Config->Get('WebPath')%>/NoAuth/images/css/rollup-arrow.gif) no-repeat center 0;
-
- position: absolute;
- top: -1em;
- left: 0.15em;
- float: left;
-
- padding: 7px 0 0 0;
- overflow: hidden;
-}
-
-* html .titlebox .titlebox-title .widget a {
- top: 0em;
- left: -1.5em;
-}
-
-.titlebox.rolled-up .titlebox-title .widget a {
- background-image: url(<%RT->Config->Get('WebPath')%>/NoAuth/images/css/rolldown-arrow.gif);
-}
diff --git a/rt/share/html/NoAuth/css/ballard/images/dhandler b/rt/share/html/NoAuth/css/ballard/images/dhandler
deleted file mode 100644
index 0e56d92..0000000
--- a/rt/share/html/NoAuth/css/ballard/images/dhandler
+++ /dev/null
@@ -1,55 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<%INIT>
-use File::Basename;
-my $arg = $m->dhandler_arg;
-my $file = dirname($m->current_comp->source_file) . '/source/'. $arg;
-RT::Interface::Web->SendStaticFile( File => $file );
-
-$m->abort;
-</%INIT>
diff --git a/rt/share/html/NoAuth/css/ballard/layout.css b/rt/share/html/NoAuth/css/ballard/layout.css
deleted file mode 100644
index b0c1334..0000000
--- a/rt/share/html/NoAuth/css/ballard/layout.css
+++ /dev/null
@@ -1,177 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-/* body */
-
-body {
- padding:0;
- margin:0;
- background: #547CCC url(<%RT->Config->Get('WebPath')%>/NoAuth/css/web2/images/background-gradient.png) top left repeat-x ;
- font-family: arial, helvetica, sans-serif;
- color: #000000;
-}
-
-div#body {
- position: relative;
- padding: 1.8em 1em 1em 1em;
- -moz-border-radius-topleft: 0.5em;
- -webkit-border-top-left-radius: 0.5em;
- border-top-left-radius: 0.5em;
- -moz-border-radius-bottomleft: 0.5em;
- -webkit-border-bottom-left-radius: 0.5em;
- border-bottom-left-radius: 0.5em;
- margin-left: 10em;
- margin-top: 3em;
- margin-right: 0;
- margin-bottom: 0em;
- min-height: 10%;
- background: #fff;
- border-top: 2px solid #ccc;
- border-left: 2px solid #ccc;
- z-index:1;
-
-
-}
-
-div#footer {
- position: absolute;
- right: 0;
- text-align: right;
- font-size: 0.9em;
- margin-top: 2em;
- background: #fff;
- margin-bottom: 0;
- padding-left: 3em;
- padding-right: 1em;
- border-top: 2px solid #aaa;
- border-left: 2px solid #aaa;
- -moz-border-radius-topleft: 0.5em;
- -webkit-border-top-left-radius: 0.5em;
- border-top-left-radius: 0.5em;
- -moz-border-radius-bottomleft: 0.5em;
- -webkit-border-bottom-left-radius: 0.5em;
- border-bottom-left-radius: 0.5em;
-}
-
-div#footer #time {
- display: none ;
-}
-
-div#footer #bpscredits {
- text-align: right;
- background: url(<%RT->Config->Get('WebPath')%>/NoAuth/images/bpslogo.png) no-repeat top right;
- padding-top: 4em;
-}
-
-
-/* logo stuff */
-
-div#logo {
- position: absolute;
- right: 2px;
- top: 0;
- height: 2.3em;
-}
-
-div#logo a img {
- border: 0;
- height: 100% !important;
- width: auto !important;
- float: right;
-}
-
-div#logo .rtname {
- position: relative;
- font-weight: bold;
- text-align: center;
- top: 0.7em;
- padding-right: 1em;
- float:left;
-}
-
-
-div#quickbar, div#logo {
- font-size: 0.9em;
-}
-div#quickbar a, div#logo a {
- color: #000;
-}
-
-
-div#quickbar {
- background: #eaeaea;
- padding-top: 1em;
- padding-left: 1em;
- padding-bottom: 0.5em;
- height: 1em;
- border-bottom: 1px solid #ccc;
-
-}
-
-div#header h1 {
- position: absolute;
- left: 0.5em;
- right: 20em;
- top: 1.6em;
- overflow: hidden;
- height: 1em;
- font-size: 1.4em;
- margin-top: 0.4em;
- padding: 0.25em;
- color: #fff;
-}
-
-/* in multi-column layouts, make sure we have an internal gutter */
-
-tr .boxcontainer {
- padding-right: 1em;
-}
-
-tr .boxcontainer:last-child {
- padding-right: 0;
-}
-
diff --git a/rt/share/html/NoAuth/css/ballard/main.css b/rt/share/html/NoAuth/css/ballard/main.css
deleted file mode 100644
index 1c4b750..0000000
--- a/rt/share/html/NoAuth/css/ballard/main.css
+++ /dev/null
@@ -1,62 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-% $m->callback(CallbackName => 'Begin');
-
-@import "../base/main.css";
-
-@import "base.css";
-@import "layout.css";
-@import "nav.css";
-@import "boxes.css";
-@import "ticket-lists.css";
-@import "ticket-search.css";
-@import "ticket.css";
-@import "misc.css";
-
-% $m->callback(CallbackName => 'End');
-
diff --git a/rt/share/html/NoAuth/css/ballard/misc.css b/rt/share/html/NoAuth/css/ballard/misc.css
deleted file mode 100644
index f3eae95..0000000
--- a/rt/share/html/NoAuth/css/ballard/misc.css
+++ /dev/null
@@ -1,58 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-.comment {
- padding-left: 0.5em;
- color: #999;
-
-}
-
-#comp-Ticket-ShowEmailRecord #body {
- margin-left: 1em;
- margin-top: 1em;
- overflow: auto;
-}
diff --git a/rt/share/html/NoAuth/css/ballard/msie.css b/rt/share/html/NoAuth/css/ballard/msie.css
deleted file mode 100644
index f05f38b..0000000
--- a/rt/share/html/NoAuth/css/ballard/msie.css
+++ /dev/null
@@ -1,234 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-div#body {
- left: 0.25em;
- height: 100%;
- top: 1em;
-
-}
-
-
-#footer {
- padding: 1em;
-}
-
-
-div#header h1 {
- position: absolute;
- left: 7.25em;
- overflow: hidden;
- height: 1em;
- font-size: 1.4em;
- margin-top: 0.4em;
- right: 23.5em;
- padding: 0.25em;
-}
-
-
-#topactions {
- top: 4.1em;
- width: auto;
-}
-.topaction form * {
- vertical-align: top;
-}
-
-.topaction form button, .topaction form input {
- height: 2em;
-}
-
-.topaction form input.field {
- height: 1.6em;
-}
-
-.topaction .select-queue {
- margin-top: 0.2em;
-}
-
-div#page-navigation {
- position: absolute;
- top: 6.2em;
- height: 1.8em;
- background: #fff;
- border-top: 2px solid #ccc;
-}
-
-
-
-div#page-navigation ul#page-menu {
- margin-top: -2.5em;
- margin-left: 4em;
- background: none;
- border: none;
-}
-
-
-div#quickbar { height: 1.2em;
-
-
-}
-
-#pick-criteria td.label select {
- width: 10em;
-}
-
-
-#editquery {
- margin-top: 0.2em;
- width: 39%;
- left: 60%;
-}
-
-div#nav li.first {
- margin-top: 0.75em;
- border-top: none;
-}
-div#nav ul ul li.first {
- border-top: 1px solid #cccccc;
- margin-top: 0.25em;
-}
-
-div#nav li.last {
- border-bottom: none;
- padding-bottom: 0;
- margin-bottom: 0;
-}
-
-
-.ticket-transaction .type a { font-weight: normal; text-decoration: none; color: #fff; }
-
-
-.titlebox {
- border-top: none;
- border-left: none;
-}
-
-.titlebox .titlebox-title .left {
- padding: 0.25em;
- padding-left: 0.5em;
-}
-
-.titlebox {
-}
-
-.titlebox .titlebox-title .right {
- border-right: 2px solid #aaa;
-
-}
-
-
-.titlebox .titlebox-content {
- padding-top: 2.2em;
-}
-
-.titlebox table.collection-as-table, .titlebox table.queue-summary {
- width: 95%;
- padding: 0.5em;
- margin-left: auto;
- margin-right: auto;
-}
-
- .titlebox-title {
- position: relative;
-}
-
-.titlebox-title .widget {
- position: absolute;
- top: -0.25em;
- left: -0.25em;
-
-}
-.titlebox-title .left {
- position: absolute;
- top: -0.75em;
- left: 0.5em;
-}
-
-
-.titlebox .titlebox-title .right{
- top: 0.2em;
- right: -0.2em;
-}
-
-/* nested things. like the ticket dates tab */
-.titlebox .titlebox .titlebox-title .right{
- top: 0.25em;
-}
-
-.combobox {
- float: left;
-}
-
-.combobox .combo-button {
- color: ButtonText;
- padding: 0;
-}
-
-.combobox .combo-list {
- margin-top:0.5em;
- margin-left: -0.2em;
-}
-
-#pick-criteria td.label {
- width: auto;
-}
-
-#pick-criteria td.operator {
- width: 7.5em;
-}
-
-.plain-text-white-space {
- word-wrap: break-word; /* Internet Explorer 5.5+ */
- white-space: pre; /* IE only hack to re-specify in addition to
- word-wrap */
-}
-
-#rt-portal .titlebox-content {
- height: 23em;
-}
-
diff --git a/rt/share/html/NoAuth/css/ballard/msie6.css b/rt/share/html/NoAuth/css/ballard/msie6.css
deleted file mode 100644
index 21bd1d1..0000000
--- a/rt/share/html/NoAuth/css/ballard/msie6.css
+++ /dev/null
@@ -1,98 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-@import "../base/msie6.css";
-
-.topaction .select-queue {
- margin-top: 0;
-}
-
-div#page-navigation ul#page-menu {
- margin-top: -3.2em;
-}
-
-.titlebox-title .widget {
- top: -1em;
- left: 0.5em;
-
-}
-.titlebox .titlebox-title .right{
- position: absolute;
- top: 0.25em;
- right: 1em;
-}
-
-/* nested things. like the ticket dates tab */
-.titlebox .titlebox .titlebox-title .right{
- right: 1.3em;
-}
-
-#login-box .titlebox .titlebox-title .right {
- margin-top: -0.1em;
- right: 0em;
-}
-
-.titlebox
-{
- height: auto !important;
- height: 1.25em;
-}
-
-
-.ticket-transaction .messagebody img {
- /* ie6 does not support max-width */
- width: expression(this.width > 401 ? 400 : true);
-}
-
-#page-navigation {
- width: 100%;
-}
-
-.ticket-transaction div.metadata span.actions {
- right: 1.1em;
-}
-
diff --git a/rt/share/html/NoAuth/css/ballard/nav.css b/rt/share/html/NoAuth/css/ballard/nav.css
deleted file mode 100644
index 7e69306..0000000
--- a/rt/share/html/NoAuth/css/ballard/nav.css
+++ /dev/null
@@ -1,191 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-#main-navigation {
- background-color: #fff;
- -moz-border-radius-bottomright: 0.5em;
- -webkit-border-bottom-right-radius: 0.5em;
- border-bottom-right-radius: 0.5em;
- -moz-border-radius-topright: 0.5em;
- -webkit-border-top-right-radius: 0.5em;
- border-top-right-radius: 0.5em;
- width: 10em;
- font-size: 0.85em;
- position: absolute;
- top: 6.2em;
- left: 0em;
- z-index: 9997;
- padding-top: 1em;
- padding-right: 0.5em;
- padding-left: 0.5em;
-}
-
-#main-navigation ul {
- list-style-type: none;
- padding: 0;
- margin: 0;
- padding-left: 8px; /* not em, since our font size reduces */
- border-left: 1px solid #ccc;
- margin-top: 0.2em;
- padding-top: 0.2em;
-
- margin-bottom: 0.2em;
- padding-bottom: 0.2em;
-}
-
-#main-navigation {
- text-color: #000;
-}
-
-#main-navigation li ul {
- font-size: 0.9em;
-}
-
-#main-navigation li ul ul {
- font-size: 1em;
-}
-
-#main-navigation li:first-child {
-}
-
-#main-navigation li:last-child {
- border-bottom: none;
-}
-
-
-#main-navigation a,
-#main-navigation a:visited {
- padding-top: 0.5em;
- padding-bottom: 0.5em;
- color: #000;
- border: none;
-}
-
-#main-navigation li {
-}
-
-
-#main-navigation ul a,
-#main-navigation ul a:visited {
- color: #000;
-}
-
-
-#main-navigation li li, #main-navigation li li li {
- border-left: none;
- background-color: #fff;
- text-color: #547CCC;
-}
-
-#page-navigation {
- position: absolute;
- top: 6em;
- right: 0em;
- z-index: 9995;
- font-size: 0.9em;
- background-color: #eee;
- border: 1px solid #ccc;
- -moz-border-radius-bottomleft: 0.5em;
- -webkit-border-bottom-left-radius: 0.5em;
- border-bottom-left-radius: 0.5em;
- padding: 0;
- padding-top: 0.5em;
- padding-right: 0.5em;
- width: 60%;
- text-align: right;
-}
-
-#page-navigation ul {
- list-style-type: none;
- padding: 0;
- padding-left: 0.3em;
- display: inline;
-}
-
-#page-navigation li {
- display: inline;
- padding: 0.3em;
-}
-#page-navigation li.has-children>a {
- display: none;
-}
-
-#page-navigation {
- margin: 0;
-}
-
-#topactions {
- position: absolute;
- background: transparent;
- top: 3.2em;
- right: 0.7em;
- width: auto;
- min-width: 42em;
- font-size: 0.9em;
- z-index: 99;
-}
-
-#topactions form * {
- vertical-align: top;
-}
-
-#topactions button, #topactions select, #topactions input{
- padding-top: 0em;
- padding-bottom: 0em;
- width: 8em;
-
-}
-
-#topactions #simple-search .field{
- margin-left: 1em;
- color: #787;
- }
-
-#topactions #simple-search .field:focus {
- color: #000;
- }
-
diff --git a/rt/share/html/NoAuth/css/ballard/ticket-lists.css b/rt/share/html/NoAuth/css/ballard/ticket-lists.css
deleted file mode 100644
index 2df86e8..0000000
--- a/rt/share/html/NoAuth/css/ballard/ticket-lists.css
+++ /dev/null
@@ -1,237 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-table.queue-summary, table.collection-as-table {
- margin-top: 0.75em;
- font-size: 0.9em;
- border: 1px solid #aaa;
- border-bottom: 2px solid #999;
- border-right: 2px solid #999;
- border-spacing: 0;
- width: 100%;
-
-}
-
-table.queue-summary tr>*:first-child {
- padding-left: 1em;
-
-}
-
-
-table.queue-summary tr>*:last-child {
- padding-right: 1em;
-
-}
-
-table.queue-summary a, table.collection-as-table a {
- font-weight: bold;
-}
-
-
-table.collection-as-table th.collection-as-table {
- background: #ddd;
- font-size: 0.9em;
- margin-bottom: 0.5em;
- text-align: left;
-
-}
-
-
-table.queue-summary th.collection-as-table {
- font-size: 0.9em;
- margin-bottom: 0.5em;
- text-align: right;
-
-}
-
-table.queue-summary th.collection-as-table:first-child {
- text-align: left;
-
-}
-
-
-tr.collection-as-table+tr.collection-as-table th {
- border-bottom: 2px solid grey;
-
-}
-
-
-
-
-table.queue-summary td {
- background: #efefef;
- border-bottom: 1px solid #ccc;
-}
-
-
-
-tr.evenline td {
- background: #eee;
-}
-
-tr.oddline td {
- background: #fff;
-
-}
-
-tr.evenline td, tr.oddline td {
- padding-top: 0.5em;
-}
-
-
-
-tr.evenline+tr.evenline td, tr.oddline+tr.oddline td{
- padding-top: 0;
- border: none;
-}
-
-
-
-table.collection-as-table td:first-child,
-table.collection-as-table th:first-child {
- padding-left: 1em;
-}
-
-table.collection-as-table td:last-child, table.collection-as-table th:last-child {
- padding-right: 1em;
-}
-
-th.collection-as-table , td.collection-as-table {
- padding-right: 0.5em;
-}
-
-.pagenum.a:hover, .paging a.nav:hover{
-text-decoration: underline;
-}
-
-
-.pagenum *, .paging a.nav{
-padding: .5em;
-}
-
-.currentpage{
-text-decoration: none;
-font-weight: bold;
-background: #eee;
-}
-
-div.paging{
-text-align: center;
-padding-bottom: 1em;
-}
-
-
-/* full-page ticket lists */
-#body>table.collection-as-table {
- margin-bottom: 2em;
-
-}
-
-.chart.image {
- padding-right: 2em;
- float: left;
- clear: both;
-}
-
-.chart-wrapper {
- display: block;
- width: auto;
-}
-
-.chart-wrapper .collection-as-table {
- width: auto;
- font-size: 1em;
- /* Firefox needs this to let the table flow below the chart on narrow screens */
- clear: right;
-}
-
-.chart-wrapper .collection-as-table th.collection-as-table {
- text-align: center;
- padding: 0.5em;
- padding-right: 1em;
- padding-left: 1em;
-}
-
-.chart-wrapper .collection-as-table tr.total td {
- border-top: 1px solid #ccc;
-}
-
-.chart-wrapper .collection-as-table td.value {
- padding-left: 0.5em;
-}
-
-.chart-wrapper .query {
- clear: both;
- text-align: center;
- font-size: 1.2em;
- padding: 1em;
-}
-
-.chart-wrapper .collection-as-table .label {
- font-weight: bold;
-}
-
-
-.chart-wrapper .query .label {
- font-weight: bold;
-}
-
-.chart-meta {
- padding-top: 2em;
- border-top: 1px solid #ccc;
-}
-
-.chart-meta .chart-type {
- display: inline-block;
- float: left;
- padding-right: 2em;
- clear: both;
-}
-
-.chart-meta .saved-search {
- display: inline-block;
-}
diff --git a/rt/share/html/NoAuth/css/ballard/ticket-search.css b/rt/share/html/NoAuth/css/ballard/ticket-search.css
deleted file mode 100644
index bb9eef4..0000000
--- a/rt/share/html/NoAuth/css/ballard/ticket-search.css
+++ /dev/null
@@ -1,244 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-#comp-Search-Build #body {
- position: relative;
-}
-
-#pick-criteria select {
- width: 8em;
-}
-
-#pick-criteria tr {
- height: 1.5em;
-}
-
-#pick-criteria td.label {
- font: message-box;
- padding-right: 0.5em;
- width: 11em;
-}
-
-#pick-criteria td.label select {
- width: 8.5em;
- text-align: right;
-}
-
-#pick-criteria td.operator {
- padding-right: 0.5em;
- text-align: left;
- vertical-align: bottom;
- width: 7em;
-}
-
-#pick-criteria td.operator select {
- text-align: right;
-}
-
-#pick-criteria td.value input,
-#pick-criteria td.value select {
- width: 11em;
-}
-
-#pick-criteria td.value #ValueOfDate {
- width: 11em;
-}
-
-
-#pick-criteria td.value #ValueOfTime {
- width: 4em;
-
-}
-
-#pick-criteria td.value #ValueOfTime-TimeUnits{
- width: 5.5em;
-}
-
-#pick-criteria td.value {
- padding-right: 0.5em;
- text-align: left;
- font: message-box;
-}
-
-#editquery, #editsearches{
- position: absolute;
- margin-top: 0.2em;
- right: 1em;
- left: 60%;
- top: 1em;
-/* margin-top: -1em; */
-}
-
-#editquery {
- top: 1.3em;
-}
-
-
-#editsearches {
- top: 24em;
-}
-
-
-#pick-criteria {
- width: 58%;
- padding-top: 0em;
- margin-top: 0em;
-}
-
-#pick-criteria .titlebox-content {
- overflow-x: auto;
-}
-
-#BuildQuery .submit {
- width: 58%;
-}
-
-
-#sorting.titlebox {
- width: 55%;
- padding-right: 1em;
-}
-
-#display-options .submit {
- width: 100%;
-}
-
-
-
-.search-result-views {
- position: absolute;
- top: 0;
- right: 0;
- margin-top: -2px;
- margin-right: 0em;
- padding: 0.25em;
- padding-left: 0.5em;
- padding-right: 0.5em;
- background-color: #ccc;
- border-left: 1px solid #999;
- border-bottom: 1px solid #999;
- -moz-border-radius-bottomleft: 0.5em;
- -webkit-border-bottom-left-radius: 0.5em;
- border-bottom-left-radius: 0.5em;
-}
-
-
-
-.search-result-views li {
-
- display: inline;
-}
-
-.search-result-views li:after {
- content: " \00b7 ";
-}
-
-.search-result-views li:last-child:after {
- content: "";
-
-}
-
-.edit-saved-searches .label {
- display: inline-block;
- width: 10em;
- font-weight: bold;
-}
-
-span#display-options {
- display: block;
- padding-top: 2em;
- margin-top: 2em;
- border-top: 1px solid #ccc;
- clear: both;
-}
-
-span#display-options .titlebox#sorting {
- float: left;
- width: auto;
- margin-right: 2em;
- min-width: 35%;
-}
-
-span#display-options .titlebox#columns {
- float: left;
-}
-
-span#display-options .titlebox#columns table.edit-columns td {
- padding: 0.5em;
-}
-
-span#display-options .titlebox#columns table.edit-columns div.row {
- width: 9em;
-}
-span#display-options .titlebox#columns table.edit-columns span.label {
- width: 2em;
-}
-
-span#display-options .titlebox#columns table.edit-columns span.value input,
-span#display-options .titlebox#columns table.edit-columns span.value select {
- width: 7em;
- padding: 0;
-}
-
-span#display-options .titlebox#columns table.edit-columns span.value {
- display: inline-block;
- width:7em;
-}
-
-#BuildQuery #formatbuttons.submit{
- width: 85%;
-}
-
-.refresh {
- float: left;
-}
-
-/* Force some widget to fit at max parent box */
-#HomeRefreshInterval, #SavedSearchLoad, #SavedSearchOwner {
- max-width: 100%;
-}
-
diff --git a/rt/share/html/NoAuth/css/ballard/ticket.css b/rt/share/html/NoAuth/css/ballard/ticket.css
deleted file mode 100644
index 22a86c7..0000000
--- a/rt/share/html/NoAuth/css/ballard/ticket.css
+++ /dev/null
@@ -1,278 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-div#ticket-history div.ticket-transaction {
- border-top: 1px solid #ccc;
- padding-bottom: 0.25em;
- position: relative; /* gives us a container for position: absolute */
-}
-
-div#ticket-history div.odd {
- background-color: #fff;
-}
-
-div#ticket-history {
-
- margin-top: 0.75em;
- border-left: 1px solid #ccc;
-
- border-right: 2px solid #999;
- border-bottom: 2px solid #999;
-
-}
-
-.ticket-transaction div.metadata span.actions {
- position: absolute;
- top: 0;
- right: 0;
- padding: 0em;
- background: #ccc;
- text-align: right;
- border-left: 1px solid #999;
- border-bottom: 1px solid #999;
- color: #ccc;
- -moz-border-radius-bottomleft: 0.5em;
- -webkit-border-bottom-left-radius: 0.5em;
- border-bottom-left-radius: 0.5em;
- white-space: nowrap;
-}
-
-.ticket-transaction div.metadata span.type {
- text-align: center;
- float: left;
- margin: 0.25em 0.70em 0.25em 0.25em;
- width: 1em;
- height: 1.25em;
- padding: 0.75em 0 0 0;
- border-right: 1px solid #999;
- border-bottom: 1px solid #999;
- -moz-border-radius: 0.25em;
- -webkit-border-bottom-right-radius: 0.25em;
- border-bottom-right-radius: 0.25em;
-}
-
-div#ticket-history span.type a {
- color: #fff;
-}
-
-
-div#ticket-history span.date {
- width: 10em;
-}
-
-
-div#ticket-history span.description {
- margin-left: 1em;
- font-weight: bold;
-}
-
-div#ticket-history span.time-taken {
- margin-left: 1em;
-}
-
-div#ticket-history div.content {
- padding-right: 1em;
- padding-bottom: 0.7em;
- margin-left: 1.5em;
-}
-
-.ticket-transaction .messagebody {
- font-size: 1em;
- padding-left: 1em;
- margin-top: 0.5em;
- padding-top: 0.5em;
- border-top: 1px solid #ccc;
- /*overflow: auto; */
- min-height: 2.5em;
- /* To avoid overlapping of "downloadattachment" by messagebody */
- clear: left;
- word-wrap: break-word;
-}
-
-.ticket-transaction .messagebody img {
- max-width: 100%;
-}
-
-div#ticket-history div.downloadattachment {
-float: right;
-clear: both;
-font-size: 0.9em;
-text-align: right;
-background: #ddd;
-padding: 0.5em;
-margin-left: 1em;
-
-border: 1px solid #ccc;
-border-right: 2px solid #aaa;
-border-bottom: 2px solid #aaa;
-margin-top: 0.5em;
--moz-border-radius: 0.5em;
--webkit-border-radius: 0.5em;
-border-radius: 0.5em;
-
-}
-
-div#ticket-history div.downloadattachment .downloadcontenttype{
-color: #666;
-padding-right:0.25em;
-}
-
-
-div#ticket-history .message-header-key {
- width: 7em;
- font-weight: bold;
- color: #666;
-}
-
-
-div#ticket-history .messagebody .messagebody{
- font-size: 1em;
- padding: 0;
- border: 0;
- margin: 0;
-}
-
-
-
-.ticket-transaction.basics .type { background: #b32; }
-.ticket-transaction.cfs .type { background: #b32; }
-.ticket-transaction.people .type { background: #48c; }
-.ticket-transaction.links .type { background: #316531; }
-.ticket-transaction.dates .type { background: #633063; }
-.ticket-transaction.message .type { background: #069; }
-.ticket-transaction.reminders .type { background: #369; }
-.ticket-transaction.other .type { background: #abc; }
-
-
-
-
-.ticket-info-cfs .titlebox-title .left { background-color: #b32; color: #fff;}
-.ticket-info-basics .titlebox-title .left { background-color: #b32; color: #fff;}
-.ticket-info-people .titlebox-title .left { background-color: #48c; color: #fff;}
-.ticket-info-requestor .titlebox-title .left { white-space: nowrap; background-color: #48c; color: #fff;}
-.ticket-info-links .titlebox-title .left { background-color: #316531; color: #fff;}
-.ticket-info-reminders .titlebox-title .left { background-color: #369; color: #fff;}
-.ticket-info-dates .titlebox-title .left { background-color: #633063; color: #fff;}
-.ticket-info-attachments .titlebox-title .left { background-color: #993366; color: #fff;}
-
-
-.ticket-summary .titlebox-title .left a, .ticket-summary .titlebox-title .left a:visited { color: #fff;}
-
-.unread-messages .titlebox , .unread-messages .titlebox-title .left {
- border: 1px solid #99a;
- border-right: 2px solid #aab;
- border-bottom: 2px solid #aab;
-
-}
-
-
-.unread-messages .titlebox {
- background-color: #dde;
-}
-
-.unread-messages .titlebox-title .left {
- background-color: #cce;
-}
-
-.ticket-inactive {
- text-decoration: line-through;
- color: #666
-}
-
-table.ticket-summary td.boxcontainer:first-child {
- width: 50%;
-}
-
-div.requestor-ticket-links {
- text-align: left;
- font-size: 0.8em;
- padding-top: 0.25em;
-}
-
-.more-about-requestor-extra-field .label {
- display: inline-block;
- width: 8em;
- font-weight: bold;
- text-align: right;
-}
-
-.more-about-requestor-extra-field .value {
- display: inline-block;
-}
-
-.ticket-info-requestor .more-about-requestor-extra,
-.ticket-info-requestor .comments-about-user,
-.ticket-info-requestor .more-about-requestor-tickets,
-.ticket-info-requestor .more-about-user-groups
-{
- margin: 1em 0;
-}
-
-.ticket-info-requestor .comments-about-user .label,
-.ticket-info-requestor .more-about-user-groups .label,
-.ticket-info-requestor .more-about-requestor-tickets .label
-{
- display: block;
- font-weight: bold;
- text-align: left;
-}
-
-.ticket-info-requestor .more-about-user-groups .value ul,
-.ticket-info-requestor .more-about-requestor-tickets ul
-{
- margin-top: 0;
- margin-bottom: 0;
-}
-
-
-/* textareas get to be bigger when we're in a table */
-tr.edit-custom-field.cftype-Text textarea,
-tr.edit-custom-field.cftype-Freeform input,
-tr.edit-custom-field.cftype-Wikitext textarea
-{
- width: 100%;
-}
diff --git a/rt/share/html/NoAuth/css/base/admin.css b/rt/share/html/NoAuth/css/base/admin.css
deleted file mode 100644
index 0c016c1..0000000
--- a/rt/share/html/NoAuth/css/base/admin.css
+++ /dev/null
@@ -1,97 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-ul.list-menu .menu-item {
- font-size: 1.25em;
-}
-ul.list-menu {
- list-style: none;
- width: 35%;
-}
-ul.list-menu > li {
- margin-bottom: 1em;
-}
-ul.list-menu .description {
- font-style: italic;
- display: block;
- padding: 0.2em 0 0 1em;
-}
-
-ul.list-menu ul {
- list-style: none;
- padding: 0.25em 0 0 1em;
-}
-ul.list-menu ul li {
- display: inline;
- margin-right: 0.5em;
-}
-
-#rt-portal .titlebox iframe {
- height: 100%;
- width: 100%;
- border: 0;
-}
-
-#rt-portal .titlebox {
- position: absolute;
- top: 1em;
- right: 1em;
- bottom: 3em;
- width: 55%;
- padding-bottom: 1em;
-}
-
-#rt-portal .titlebox-content {
- height: 100%;
- padding: 0;
-}
-
-#rt-portal .titlebox.rolled-up {
- bottom: auto;
- padding-bottom: 0;
-}
-
diff --git a/rt/share/html/NoAuth/css/base/articles.css b/rt/share/html/NoAuth/css/base/articles.css
deleted file mode 100644
index 8744c84..0000000
--- a/rt/share/html/NoAuth/css/base/articles.css
+++ /dev/null
@@ -1,54 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-#comp-Articles-Article-Search .label h2 {
- text-align: left;
-}
-
-.articles-select-article select {
- max-width: 20em;
-}
diff --git a/rt/share/html/NoAuth/css/base/collection.css b/rt/share/html/NoAuth/css/base/collection.css
deleted file mode 100644
index 94928eb..0000000
--- a/rt/share/html/NoAuth/css/base/collection.css
+++ /dev/null
@@ -1,50 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-table.collection td:first-child, table.collection th:first-child {
- padding-left: 1em;
-}
diff --git a/rt/share/html/NoAuth/css/base/forms.css b/rt/share/html/NoAuth/css/base/forms.css
deleted file mode 100644
index cc034b3..0000000
--- a/rt/share/html/NoAuth/css/base/forms.css
+++ /dev/null
@@ -1,278 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-form {
-
- background: none;
- border: none;
- margin: 0;
-}
-
-
-.input-row .label {
- position: relative;
- text-align: right;
- width: 4em;
-}
-
-.input-row .input {
- position: relative;
- left: 1em;
- width: 10em;
- text-align: right;
-}
-
-.value {
- font-size: 0.85em;
-
-}
-
-
-
-div.button-row {
- text-align: right;
- padding-right: 0.5em;
-}
-
-
-input[type=reset], input[type=submit], input[class=button], button {
- color: #fff;
- background: #3858a3;
- padding: 0.25em;
- padding-left: 0.5em;
- padding-right: 0.5em;
- -moz-border-radius: 0.5em;
- -webkit-border-radius: 0.5em;
- border-radius: 0.5em;
-}
-
-input.button:hover, button:hover, input[type=reset]:hover, input[type=submit]:hover, input[class=button]:hover {
- background: #1D3B7D;
-}
-
-input.button:focus, button:focus, input[type=reset]:focus, input[type=submit]:focus, input[class=button]:focus {
- background: #1D3B7D;
-}
-
-div.error div.error {
- border: 2px solid #aa0000;
- border-top: 1px solid #bb0000;
- border-left: 1px solid #bb0000;
- background-color: #fcc;
-}
-
-div.error .titlebox-title span.left {
- background-color: #f00;
- color: #fff;
- border: 1px solid #cc0000;
- border-right: 2px solid #bb0000;
- border-bottom: 2px solid #bb0000;
-
-}
-
-
-div.results .titlebox-title .left, div.results .titlebox {
- border: 1px solid #aa9;
- border-bottom: 2px solid #990;
- border-right: 2px solid #990;
-}
-
-div.results .titlebox-title .left {
- background: #ff9;
-
-}
-
-div.results .titlebox {
- background: #ffc;
-
-}
-
-div.results .titlebox-content {
- padding: 0;
-}
-
-
-.label, .labeltop {
- text-align: right;
- font-size: 0.8em;
- padding-right: .5em;
-
-}
-
-.cflabel {
- text-align: right;
- font-size: 0.8em;
- padding-right: .5em;
- width: 12em;
-}
-
-td.cflabel {
- width: auto;
-}
-
-.labeltop, .label, .value {
- padding-top: 0.25em;
-}
-
-div.ticket-info-basics div.titlebox-content .labeltop{
- width: 10em;
-}
-
-div.submit {
- text-align: right;
-}
-
-div.submit .extra-buttons {
- text-align: left;
- float: left;
-}
-
-
-div.widget {
- padding-bottom: 0.5em;
- clear: both;
-}
-
-div.widget .label {
- text-align: right;
- display: block;
- width: 15em;
- float: left;
- clear: both;
- font-size: 0.9em;
- padding-right: 0.5em;
-}
-
-div.widget .hints {
-
- display: block;
- padding-left: 14em;
- font-style: italic;
-}
-
-
-%# ComboBox styles... some properties like height and width must be dynamically
-%# set in the JS (at least for now).
-.combobox {
- position: relative;
- width: 11.5em;
-}
-
-.combobox .combo-button {
- right: 0;
- padding: 0;
- margin-top: 0;
- cursor: default;
- color: ButtonFace;
- background: ButtonFace;
- border: 2px outset ButtonHighlight;
-}
-
-/* this style replaces the default down-triangle with one that looks more like
- * native widget sets. It does not work in IE as it's an :after pseudo element
- * with a "content" value. but that's ok because IE can't display unicode 25be
- * anyway */
-
-.combobox .combo-button:after {
- color: ButtonText;
- margin: 0;
- padding: 0;
- margin-top: -0.5em;
- margin-left: -0.8em;
- content: "\25be";
-}
-
-.combobox .combo-text {
- border: 1px inset ButtonHighlight;
- margin: 0;
- padding: 0;
-}
-
-.combobox .combo-list {
- border: 1px outset;
- z-index: 150;
-}
-
-.value .TimeUnits{
- margin-left: .5em;
- width: 7em;
-}
-
-.cfinvalidfield {
- font-style: italic;
- color: red;
-}
-
-form div.submit div.buttons {
- min-height: 2.8em;
-}
-
-form div.submit div.buttons div.back {
- position: relative;
- float: left;
- width: 50%;
- text-align: left;
-}
-
-form div.submit div.buttons div.next {
- position: relative;
- float: right;
- width: 50%;
-}
-
-/* query builder */
-
-#formatbuttons {
- clear: both;
-}
-
-#ResetAuthTokenPrompt {
- display: block;
- text-align: right;
- font-weight: bold;
- text-decoration: underline;
-}
diff --git a/rt/share/html/NoAuth/css/base/jquery-ui-timepicker-addon.css b/rt/share/html/NoAuth/css/base/jquery-ui-timepicker-addon.css
deleted file mode 100644
index 8dc30f7..0000000
--- a/rt/share/html/NoAuth/css/base/jquery-ui-timepicker-addon.css
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-* jQuery timepicker addon
-* By: Trent Richardson [http://trentrichardson.com]
-* Version 1.0.0
-* Last Modified: 02/05/2012
-*
-* Copyright 2012 Trent Richardson
-* Dual licensed under the MIT and GPL licenses.
-* http://trentrichardson.com/Impromptu/GPL-LICENSE.txt
-* http://trentrichardson.com/Impromptu/MIT-LICENSE.txt
-*/
-
-.ui-timepicker-div .ui-widget-header { margin-bottom: 8px; }
-.ui-timepicker-div dl { text-align: left; }
-.ui-timepicker-div dl dt { height: 25px; margin-bottom: -25px; }
-.ui-timepicker-div dl dd { margin: 0 10px 10px 65px; }
-.ui-timepicker-div td { font-size: 90%; }
-.ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; }
-.ui-datepicker-buttonpane button.ui-datepicker-current { opacity: 1.0; }
diff --git a/rt/share/html/NoAuth/css/base/jquery-ui.custom.modified.css b/rt/share/html/NoAuth/css/base/jquery-ui.custom.modified.css
deleted file mode 100644
index 3b1e1a0..0000000
--- a/rt/share/html/NoAuth/css/base/jquery-ui.custom.modified.css
+++ /dev/null
@@ -1,478 +0,0 @@
-/*
- * jQuery UI CSS Framework 1.8.7
- *
- * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Theming/API
- */
-
-/* Layout helpers
-----------------------------------*/
-.ui-helper-hidden { display: none; }
-.ui-helper-hidden-accessible { position: absolute !important; left: -99999999px; }
-.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
-.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
-.ui-helper-clearfix { display: inline-block; }
-/* required comment for clearfix to work in Opera \*/
-* html .ui-helper-clearfix { height:1%; }
-.ui-helper-clearfix { display:block; }
-/* end clearfix */
-.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
-
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-disabled { cursor: default !important; }
-
-
-/* Icons
-----------------------------------*/
-
-/* states and images */
-.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
-
-
-/* Misc visuals
-----------------------------------*/
-
-/* Overlays */
-.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
-
-
-/*
- * jQuery UI CSS Framework 1.8.7
- *
- * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Theming/API
- *
- * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Arial,Helvetica,sans-serif&fwDefault=normal&fsDefault=1em&cornerRadius=0.3em&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
- */
-
-
-/* Component containers
-----------------------------------*/
-.ui-widget { font-family: Arial,Helvetica,sans-serif; font-size: 1em; }
-.ui-widget .ui-widget { font-size: 1em; }
-.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Arial,Helvetica,sans-serif; font-size: 1em; }
-.ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(<%RT->Config->Get('WebPath')%>/NoAuth/images/jquery_ui/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
-.ui-widget-content a { color: #222222; }
-.ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(<%RT->Config->Get('WebPath')%>/NoAuth/images/jquery_ui/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
-.ui-widget-header a { color: #222222; }
-
-/* Interaction states
-----------------------------------*/
-.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(<%RT->Config->Get('WebPath')%>/NoAuth/images/jquery_ui/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; }
-.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; }
-.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999; background: #dadada url(<%RT->Config->Get('WebPath')%>/NoAuth/images/jquery_ui/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
-.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; }
-.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(<%RT->Config->Get('WebPath')%>/NoAuth/images/jquery_ui/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
-.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; }
-.ui-widget :active { outline: none; }
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(<%RT->Config->Get('WebPath')%>/NoAuth/images/jquery_ui/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; }
-.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
-.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(<%RT->Config->Get('WebPath')%>/NoAuth/images/jquery_ui/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
-.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; }
-.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
-.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
-.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
-.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
-
-/* Icons
-----------------------------------*/
-
-/* states and images */
-.ui-icon { width: 16px; height: 16px; background-image: url(<%RT->Config->Get('WebPath')%>/NoAuth/images/jquery_ui/ui-icons_222222_256x240.png); }
-.ui-widget-content .ui-icon {background-image: url(<%RT->Config->Get('WebPath')%>/NoAuth/images/jquery_ui/ui-icons_222222_256x240.png); }
-.ui-widget-header .ui-icon {background-image: url(<%RT->Config->Get('WebPath')%>/NoAuth/images/jquery_ui/ui-icons_222222_256x240.png); }
-.ui-state-default .ui-icon { background-image: url(<%RT->Config->Get('WebPath')%>/NoAuth/images/jquery_ui/ui-icons_888888_256x240.png); }
-.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(<%RT->Config->Get('WebPath')%>/NoAuth/images/jquery_ui/ui-icons_454545_256x240.png); }
-.ui-state-active .ui-icon {background-image: url(<%RT->Config->Get('WebPath')%>/NoAuth/images/jquery_ui/ui-icons_454545_256x240.png); }
-.ui-state-highlight .ui-icon {background-image: url(<%RT->Config->Get('WebPath')%>/NoAuth/images/jquery_ui/ui-icons_2e83ff_256x240.png); }
-.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(<%RT->Config->Get('WebPath')%>/NoAuth/images/jquery_ui/ui-icons_cd0a0a_256x240.png); }
-
-/* positioning */
-.ui-icon-carat-1-n { background-position: 0 0; }
-.ui-icon-carat-1-ne { background-position: -16px 0; }
-.ui-icon-carat-1-e { background-position: -32px 0; }
-.ui-icon-carat-1-se { background-position: -48px 0; }
-.ui-icon-carat-1-s { background-position: -64px 0; }
-.ui-icon-carat-1-sw { background-position: -80px 0; }
-.ui-icon-carat-1-w { background-position: -96px 0; }
-.ui-icon-carat-1-nw { background-position: -112px 0; }
-.ui-icon-carat-2-n-s { background-position: -128px 0; }
-.ui-icon-carat-2-e-w { background-position: -144px 0; }
-.ui-icon-triangle-1-n { background-position: 0 -16px; }
-.ui-icon-triangle-1-ne { background-position: -16px -16px; }
-.ui-icon-triangle-1-e { background-position: -32px -16px; }
-.ui-icon-triangle-1-se { background-position: -48px -16px; }
-.ui-icon-triangle-1-s { background-position: -64px -16px; }
-.ui-icon-triangle-1-sw { background-position: -80px -16px; }
-.ui-icon-triangle-1-w { background-position: -96px -16px; }
-.ui-icon-triangle-1-nw { background-position: -112px -16px; }
-.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
-.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
-.ui-icon-arrow-1-n { background-position: 0 -32px; }
-.ui-icon-arrow-1-ne { background-position: -16px -32px; }
-.ui-icon-arrow-1-e { background-position: -32px -32px; }
-.ui-icon-arrow-1-se { background-position: -48px -32px; }
-.ui-icon-arrow-1-s { background-position: -64px -32px; }
-.ui-icon-arrow-1-sw { background-position: -80px -32px; }
-.ui-icon-arrow-1-w { background-position: -96px -32px; }
-.ui-icon-arrow-1-nw { background-position: -112px -32px; }
-.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
-.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
-.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
-.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
-.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
-.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
-.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
-.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
-.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
-.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
-.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
-.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
-.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
-.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
-.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
-.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
-.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
-.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
-.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
-.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
-.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
-.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
-.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
-.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
-.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
-.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
-.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
-.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
-.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
-.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
-.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
-.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
-.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
-.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
-.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
-.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
-.ui-icon-arrow-4 { background-position: 0 -80px; }
-.ui-icon-arrow-4-diag { background-position: -16px -80px; }
-.ui-icon-extlink { background-position: -32px -80px; }
-.ui-icon-newwin { background-position: -48px -80px; }
-.ui-icon-refresh { background-position: -64px -80px; }
-.ui-icon-shuffle { background-position: -80px -80px; }
-.ui-icon-transfer-e-w { background-position: -96px -80px; }
-.ui-icon-transferthick-e-w { background-position: -112px -80px; }
-.ui-icon-folder-collapsed { background-position: 0 -96px; }
-.ui-icon-folder-open { background-position: -16px -96px; }
-.ui-icon-document { background-position: -32px -96px; }
-.ui-icon-document-b { background-position: -48px -96px; }
-.ui-icon-note { background-position: -64px -96px; }
-.ui-icon-mail-closed { background-position: -80px -96px; }
-.ui-icon-mail-open { background-position: -96px -96px; }
-.ui-icon-suitcase { background-position: -112px -96px; }
-.ui-icon-comment { background-position: -128px -96px; }
-.ui-icon-person { background-position: -144px -96px; }
-.ui-icon-print { background-position: -160px -96px; }
-.ui-icon-trash { background-position: -176px -96px; }
-.ui-icon-locked { background-position: -192px -96px; }
-.ui-icon-unlocked { background-position: -208px -96px; }
-.ui-icon-bookmark { background-position: -224px -96px; }
-.ui-icon-tag { background-position: -240px -96px; }
-.ui-icon-home { background-position: 0 -112px; }
-.ui-icon-flag { background-position: -16px -112px; }
-.ui-icon-calendar { background-position: -32px -112px; }
-.ui-icon-cart { background-position: -48px -112px; }
-.ui-icon-pencil { background-position: -64px -112px; }
-.ui-icon-clock { background-position: -80px -112px; }
-.ui-icon-disk { background-position: -96px -112px; }
-.ui-icon-calculator { background-position: -112px -112px; }
-.ui-icon-zoomin { background-position: -128px -112px; }
-.ui-icon-zoomout { background-position: -144px -112px; }
-.ui-icon-search { background-position: -160px -112px; }
-.ui-icon-wrench { background-position: -176px -112px; }
-.ui-icon-gear { background-position: -192px -112px; }
-.ui-icon-heart { background-position: -208px -112px; }
-.ui-icon-star { background-position: -224px -112px; }
-.ui-icon-link { background-position: -240px -112px; }
-.ui-icon-cancel { background-position: 0 -128px; }
-.ui-icon-plus { background-position: -16px -128px; }
-.ui-icon-plusthick { background-position: -32px -128px; }
-.ui-icon-minus { background-position: -48px -128px; }
-.ui-icon-minusthick { background-position: -64px -128px; }
-.ui-icon-close { background-position: -80px -128px; }
-.ui-icon-closethick { background-position: -96px -128px; }
-.ui-icon-key { background-position: -112px -128px; }
-.ui-icon-lightbulb { background-position: -128px -128px; }
-.ui-icon-scissors { background-position: -144px -128px; }
-.ui-icon-clipboard { background-position: -160px -128px; }
-.ui-icon-copy { background-position: -176px -128px; }
-.ui-icon-contact { background-position: -192px -128px; }
-.ui-icon-image { background-position: -208px -128px; }
-.ui-icon-video { background-position: -224px -128px; }
-.ui-icon-script { background-position: -240px -128px; }
-.ui-icon-alert { background-position: 0 -144px; }
-.ui-icon-info { background-position: -16px -144px; }
-.ui-icon-notice { background-position: -32px -144px; }
-.ui-icon-help { background-position: -48px -144px; }
-.ui-icon-check { background-position: -64px -144px; }
-.ui-icon-bullet { background-position: -80px -144px; }
-.ui-icon-radio-off { background-position: -96px -144px; }
-.ui-icon-radio-on { background-position: -112px -144px; }
-.ui-icon-pin-w { background-position: -128px -144px; }
-.ui-icon-pin-s { background-position: -144px -144px; }
-.ui-icon-play { background-position: 0 -160px; }
-.ui-icon-pause { background-position: -16px -160px; }
-.ui-icon-seek-next { background-position: -32px -160px; }
-.ui-icon-seek-prev { background-position: -48px -160px; }
-.ui-icon-seek-end { background-position: -64px -160px; }
-.ui-icon-seek-start { background-position: -80px -160px; }
-/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
-.ui-icon-seek-first { background-position: -80px -160px; }
-.ui-icon-stop { background-position: -96px -160px; }
-.ui-icon-eject { background-position: -112px -160px; }
-.ui-icon-volume-off { background-position: -128px -160px; }
-.ui-icon-volume-on { background-position: -144px -160px; }
-.ui-icon-power { background-position: 0 -176px; }
-.ui-icon-signal-diag { background-position: -16px -176px; }
-.ui-icon-signal { background-position: -32px -176px; }
-.ui-icon-battery-0 { background-position: -48px -176px; }
-.ui-icon-battery-1 { background-position: -64px -176px; }
-.ui-icon-battery-2 { background-position: -80px -176px; }
-.ui-icon-battery-3 { background-position: -96px -176px; }
-.ui-icon-circle-plus { background-position: 0 -192px; }
-.ui-icon-circle-minus { background-position: -16px -192px; }
-.ui-icon-circle-close { background-position: -32px -192px; }
-.ui-icon-circle-triangle-e { background-position: -48px -192px; }
-.ui-icon-circle-triangle-s { background-position: -64px -192px; }
-.ui-icon-circle-triangle-w { background-position: -80px -192px; }
-.ui-icon-circle-triangle-n { background-position: -96px -192px; }
-.ui-icon-circle-arrow-e { background-position: -112px -192px; }
-.ui-icon-circle-arrow-s { background-position: -128px -192px; }
-.ui-icon-circle-arrow-w { background-position: -144px -192px; }
-.ui-icon-circle-arrow-n { background-position: -160px -192px; }
-.ui-icon-circle-zoomin { background-position: -176px -192px; }
-.ui-icon-circle-zoomout { background-position: -192px -192px; }
-.ui-icon-circle-check { background-position: -208px -192px; }
-.ui-icon-circlesmall-plus { background-position: 0 -208px; }
-.ui-icon-circlesmall-minus { background-position: -16px -208px; }
-.ui-icon-circlesmall-close { background-position: -32px -208px; }
-.ui-icon-squaresmall-plus { background-position: -48px -208px; }
-.ui-icon-squaresmall-minus { background-position: -64px -208px; }
-.ui-icon-squaresmall-close { background-position: -80px -208px; }
-.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
-.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
-.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
-.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
-.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
-.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
-
-
-/* Misc visuals
-----------------------------------*/
-
-/* Corner radius */
-.ui-corner-tl { -moz-border-radius-topleft: 0.3em; -webkit-border-top-left-radius: 0.3em; border-top-left-radius: 0.3em; }
-.ui-corner-tr { -moz-border-radius-topright: 0.3em; -webkit-border-top-right-radius: 0.3em; border-top-right-radius: 0.3em; }
-.ui-corner-bl { -moz-border-radius-bottomleft: 0.3em; -webkit-border-bottom-left-radius: 0.3em; border-bottom-left-radius: 0.3em; }
-.ui-corner-br { -moz-border-radius-bottomright: 0.3em; -webkit-border-bottom-right-radius: 0.3em; border-bottom-right-radius: 0.3em; }
-.ui-corner-top { -moz-border-radius-topleft: 0.3em; -webkit-border-top-left-radius: 0.3em; border-top-left-radius: 0.3em; -moz-border-radius-topright: 0.3em; -webkit-border-top-right-radius: 0.3em; border-top-right-radius: 0.3em; }
-.ui-corner-bottom { -moz-border-radius-bottomleft: 0.3em; -webkit-border-bottom-left-radius: 0.3em; border-bottom-left-radius: 0.3em; -moz-border-radius-bottomright: 0.3em; -webkit-border-bottom-right-radius: 0.3em; border-bottom-right-radius: 0.3em; }
-.ui-corner-right { -moz-border-radius-topright: 0.3em; -webkit-border-top-right-radius: 0.3em; border-top-right-radius: 0.3em; -moz-border-radius-bottomright: 0.3em; -webkit-border-bottom-right-radius: 0.3em; border-bottom-right-radius: 0.3em; }
-.ui-corner-left { -moz-border-radius-topleft: 0.3em; -webkit-border-top-left-radius: 0.3em; border-top-left-radius: 0.3em; -moz-border-radius-bottomleft: 0.3em; -webkit-border-bottom-left-radius: 0.3em; border-bottom-left-radius: 0.3em; }
-.ui-corner-all { -moz-border-radius: 0.3em; -webkit-border-radius: 0.3em; border-radius: 0.3em; }
-
-/* Overlays */
-.ui-widget-overlay { background: #aaaaaa url(<%RT->Config->Get('WebPath')%>/NoAuth/images/jquery_ui/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
-.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(<%RT->Config->Get('WebPath')%>/NoAuth/images/jquery_ui/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }
-
-/*
- * jQuery UI Accordion 1.8.7
- *
- * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Accordion#theming
- */
-/* IE/Win - Fix animation bug - #4615 */
-.ui-accordion { width: 100%; }
-.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
-.ui-accordion .ui-accordion-li-fix { display: inline; }
-.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
-.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
-.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
-.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
-.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
-.ui-accordion .ui-accordion-content-active { display: block; }/*
- * jQuery UI Autocomplete 1.8.7
- *
- * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Autocomplete#theming
- */
-.ui-autocomplete { position: absolute; cursor: default; }
-
-/* workarounds */
-* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
-
-/*
- * jQuery UI Menu 1.8.7
- *
- * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Menu#theming
- */
-.ui-menu {
- list-style:none;
- padding: 2px;
- margin: 0;
- display:block;
- float: left;
-}
-.ui-menu .ui-menu {
- margin-top: -3px;
-}
-.ui-menu .ui-menu-item {
- margin:0;
- padding: 0;
- zoom: 1;
- float: left;
- clear: left;
- width: 100%;
-}
-.ui-menu .ui-menu-item a {
- text-decoration:none;
- display:block;
- padding:.2em .4em;
- line-height:1.5;
- zoom:1;
-}
-.ui-menu .ui-menu-item a.ui-state-hover,
-.ui-menu .ui-menu-item a.ui-state-active {
- font-weight: normal;
- margin: -1px;
-}
-/*
- * jQuery UI Tabs 1.8.7
- *
- * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Tabs#theming
- */
-.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
-.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
-.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
-.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
-.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
-.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
-.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
-.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
-.ui-tabs .ui-tabs-hide { display: none !important; }
-/*
- * jQuery UI Datepicker 1.8.7
- *
- * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Datepicker#theming
- */
-#ui-datepicker-div { display: none;}
-.ui-datepicker { width: 17em; padding: .2em .2em 0; }
-.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
-.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
-.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
-.ui-datepicker .ui-datepicker-prev { left:2px; }
-.ui-datepicker .ui-datepicker-next { right:2px; }
-.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
-.ui-datepicker .ui-datepicker-next-hover { right:1px; }
-.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
-.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
-.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
-.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
-.ui-datepicker select.ui-datepicker-month,
-.ui-datepicker select.ui-datepicker-year { width: 49%;}
-.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
-.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
-.ui-datepicker td { border: 0; padding: 1px; }
-.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
-.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
-.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
-.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
-
-/* with multiple calendars */
-.ui-datepicker.ui-datepicker-multi { width:auto; }
-.ui-datepicker-multi .ui-datepicker-group { float:left; }
-.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
-.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
-.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
-.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
-.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
-.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
-.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
-.ui-datepicker-row-break { clear:both; width:100%; }
-
-/* RTL support */
-.ui-datepicker-rtl { direction: rtl; }
-.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
-.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
-.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
-.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
-.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
-.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
-.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
-.ui-datepicker-rtl .ui-datepicker-group { float:right; }
-.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
-.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
-
-/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
-.ui-datepicker-cover {
- display: none; /*sorry for IE5*/
- display/**/: block; /*sorry for IE5*/
- position: absolute; /*must have*/
- z-index: -1; /*must have*/
- filter: mask(); /*must have*/
- top: -4px; /*must have*/
- left: -4px; /*must have*/
- width: 200px; /*must have*/
- height: 200px; /*must have*/
-}
-/*
- * jQuery UI Slider 1.8.4
- *
- * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Slider#theming
- */
-.ui-slider { position: relative; text-align: left; }
-.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
-.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
-
-.ui-slider-horizontal { height: .8em; }
-.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
-.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
-.ui-slider-horizontal .ui-slider-range-min { left: 0; }
-.ui-slider-horizontal .ui-slider-range-max { right: 0; }
-
-.ui-slider-vertical { width: .8em; height: 100px; }
-.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
-.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
-.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
-.ui-slider-vertical .ui-slider-range-max { top: 0; }
diff --git a/rt/share/html/NoAuth/css/base/login.css b/rt/share/html/NoAuth/css/base/login.css
deleted file mode 100644
index a95efa6..0000000
--- a/rt/share/html/NoAuth/css/base/login.css
+++ /dev/null
@@ -1,114 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-.login-body .action-results {
- list-style: none;
-}
-
-#login-box hr {
- display: none;
-}
-
-#login-box {
-
- width: 30em;
-
-margin-right:auto;margin-left:auto;
- padding-top: 2em;
- padding-bottom: 2em;
-
-
-}
-
-
-#login-box .input-row {
- position: relative;
- height: 1.5em;
- padding-top: 1em;
-}
-
-#login-box .input-row .label {
-
- float: left;
- width: 8em;
- text-align: right;
- font-weight: bold;
-
-
-}
-
-#login-box .input-row input {
- width: 14em;
-}
-
-#login-box .button-row {
- margin-top: 0.5em;
-}
-
-#quick-personal {
- position: absolute;
- z-index: 9999;
- left: 0;
- /* This avoids a very weird bug in Chrome where opening a select causes a
- * hover event at (0,0), which will be over top of the menu sometimes */
- top: 1px;
-}
-
-#quick-personal #not-logged-in {
- display: block;
- padding-top: 0.5em;
- padding-left: 1em;
-}
-
-.redirect-warning tt {
- display: block;
- margin: 0.5em 0 0.5em 1em;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- width: 90%;
-}
diff --git a/rt/share/html/NoAuth/css/base/main.css b/rt/share/html/NoAuth/css/base/main.css
deleted file mode 100644
index 000ff70..0000000
--- a/rt/share/html/NoAuth/css/base/main.css
+++ /dev/null
@@ -1,74 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-% $m->callback(CallbackName => 'Begin');
-
-@import "yui-fonts.css";
-@import "jquery-ui.css";
-@import "jquery-ui-timepicker-addon.css";
-@import "superfish.css";
-@import "superfish-navbar.css";
-@import "superfish-vertical.css";
-@import "tablesorter.css";
-@import "farbtastic.css";
-@import "collection.css";
-@import "forms.css";
-@import "misc.css";
-@import "nav.css";
-@import "ticket-form.css";
-@import "rights-editor.css";
-@import "theme-editor.css";
-@import "ticket.css";
-@import "admin.css";
-@import "articles.css";
-@import "portlets.css";
-@import "tools.css";
-@import "login.css";
-@import "history-folding.css";
-
-% $m->callback(CallbackName => 'End');
-
diff --git a/rt/share/html/NoAuth/css/base/misc.css b/rt/share/html/NoAuth/css/base/misc.css
deleted file mode 100644
index 4de9299..0000000
--- a/rt/share/html/NoAuth/css/base/misc.css
+++ /dev/null
@@ -1,117 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-.hide, .hidden { display: none !important; }
-
-.clear { clear: both; }
-
-* html .clearfix {
- height: 1%; /* IE5-6 */
-}
-.clearfix {
- display: inline-block; /* IE7xhtml*/
-}
-html[xmlns] .clearfix { /* O */
- display: block;
-}
-.clearfix:after { /* FF, O, etc. */
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
-}
-
-hr.clear {
- visibility: hidden;
- height: 0;
- margin: 0;
- padding: 0;
- border: none;
- font-size: 1px;
-}
-
-/* Custom fields */
-
-/* Only apply these when we're not rendering in a table, hence the leading div. */
-div.edit-custom-field {
- width: 48%;
- float: left;
- margin: 0.5em;
-}
-
-div.edit-custom-field .cflabel {
- float: left;
- padding-right: 0.5em;
-}
-
-div.edit-custom-field .entry {
- margin-left: 10em;
-}
-
-.cflabel .name { font-weight: bold; }
-.cflabel .type { font-style: italic; }
-
-fieldset.cfedit {
- border: none;
- padding: 0;
- margin: 0;
-}
-
-.query-stacktrace-toggle {
- float: right;
-}
-
-/* jQuery UI overrides */
-.ui-widget {
- font-family: arial,helvetica,sans-serif !important;
-}
-
-textarea.messagebox, #cke_Content, #cke_UpdateContent {
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
diff --git a/rt/share/html/NoAuth/css/base/msie6.css b/rt/share/html/NoAuth/css/base/msie6.css
deleted file mode 100644
index 4cd1763..0000000
--- a/rt/share/html/NoAuth/css/base/msie6.css
+++ /dev/null
@@ -1,67 +0,0 @@
-
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-table.ticket-summary {
- table-layout: fixed;
-}
-
-.ticket-transaction div.metadata {
- height: 1px;
-}
-
-div.downloadattachment {
- position: relative;
-}
-
-div.messagebody {
- height: 3em;
-}
-
-span.message-stanza-folder {
- display: inline !important;
-}
diff --git a/rt/share/html/NoAuth/css/base/nav.css b/rt/share/html/NoAuth/css/base/nav.css
deleted file mode 100644
index 5879a91..0000000
--- a/rt/share/html/NoAuth/css/base/nav.css
+++ /dev/null
@@ -1,64 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-.sf-menu li.active > .menu-item {
- font-weight: bold;
-}
-
-#topactions input[type="submit"], #topactions input.button {
- width: auto;
- padding-left: 0.5em;
- padding-right: 0.5em;
-}
-
-#topactions form {
- display: block;
- float: right;
- margin-left: 1em;
- text-align: right;
-}
-
diff --git a/rt/share/html/NoAuth/css/base/portlets.css b/rt/share/html/NoAuth/css/base/portlets.css
deleted file mode 100644
index 2e30980..0000000
--- a/rt/share/html/NoAuth/css/base/portlets.css
+++ /dev/null
@@ -1,64 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-table.myrt {
- width: 100%;
-}
-
-table.dashboard {
- width: 100%;
- border: 0;
-}
-
-.quick-create .select-queue {
- width: 12em;
-}
-
-.quick-create input[type="text"], .quick-create textarea {
- width: 100%;
-
-}
diff --git a/rt/share/html/NoAuth/css/base/rights-editor.css b/rt/share/html/NoAuth/css/base/rights-editor.css
deleted file mode 100644
index f8974a7..0000000
--- a/rt/share/html/NoAuth/css/base/rights-editor.css
+++ /dev/null
@@ -1,177 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-/* Styles for putting jQuery UI tabs on the left */
-.rights-editor {
- border: none;
- background: transparent;
- width: 100%;
- font-size: 110%;
-}
-
-/* Position and style the left tabs */
-.rights-editor > .ui-tabs-nav {
- float: left;
- background: transparent;
- border: none;
- color: black;
- width: 25%;
-}
-
-.rights-editor > .ui-tabs-nav li {
- float: none;
- display: block;
- border: none;
- background: transparent;
-}
-
-.rights-editor > .ui-tabs-nav li a {
- float: none;
- display: block;
- padding: 0 0 0.2em 1em;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-
-.rights-editor .ui-tabs-nav li.category {
- text-transform: uppercase;
-}
-
-li.category ~ li.category {
- margin-top: 1em;
-}
-
-.rights-editor li.addprincipal .warning {
- color: #a00;
- display: none;
-}
-
-/* Position the outer-most panel */
-.rights-editor > .ui-tabs-panel {
- position: static;
- float: left;
- width: 72%;
-}
-
-.rights-editor .ui-tabs-panel {
- padding: 2px;
-}
-
-.rights-editor .ui-tabs-panel h3 {
- color: black;
- margin-top: 0;
- line-height: 0.8em;
-}
-
-.rights-editor .ui-tabs-panel h3 .subgroups {
- color: #444;
- font-size: 80%;
-}
-
-.category-tabs {
- width: 100%;
- border: none;
- background: none;
-}
-
-.category-tabs .ui-tabs-nav {
- border: none;
- background: none;
-}
-
-.category-tabs .ui-tabs-panel {
- background: none;
- border: 1px solid #aaa;
-}
-
-.rights-editor li.ui-tabs-selected {
- background: white !important;
- color: #222 !important;
- border-color: #aaa !important;
- font-weight: bold;
-}
-
-.rights-editor .ui-state-active a,
-.rights-editor .ui-state-hover a {
- color: #222 !important;
-}
-
-.rights-editor .category-tabs li.ui-state-hover {
- background: #f6f6f6;
- border-color: #aaa !important;
-}
-
-.rights-editor .separator {
- display: none;
-}
-
-.rights-editor ul.rights-list {
- list-style: none;
-}
-
-.rights-editor ul.rights-list li {
- padding: 0.2em 0;
-}
-
-.rights-editor ul.rights-list li:nth-child(even) {
- background: #f4f4f4;
-}
-
-.rights-editor ul.rights-list li label {
- cursor: pointer;
-}
-
-.rights-editor .rightname {
- color: #888;
- font-size: 0.9em;
-
- position: absolute;
- right: 1em;
- margin-top: 0.3em;
-
- text-align: right;
-}
diff --git a/rt/share/html/NoAuth/css/base/superfish-navbar.css b/rt/share/html/NoAuth/css/base/superfish-navbar.css
deleted file mode 100644
index 459156e..0000000
--- a/rt/share/html/NoAuth/css/base/superfish-navbar.css
+++ /dev/null
@@ -1,95 +0,0 @@
-
-/*** adding the class sf-navbar in addition to sf-menu creates an all-horizontal nav-bar menu ***/
-.sf-navbar {
- background: #BDD2FF;
- height: 2em;
- padding-bottom: 2em;
- position: relative;
-}
-.sf-navbar li {
- background: #AABDE6;
- position: static;
-}
-.sf-navbar a {
- border-top: none;
-}
-.sf-navbar li ul {
- width: 44em; /*IE6 soils itself without this*/
-}
-.sf-navbar li li {
- background: #BDD2FF;
- position: relative;
-}
-.sf-navbar li li ul {
- width: 13em;
-}
-.sf-navbar li li li {
- width: 100%;
-}
-.sf-navbar ul li {
- width: auto;
- float: left;
-}
-.sf-navbar a, .sf-navbar a:visited {
- border: none;
-}
-.sf-navbar li.current {
- background: #BDD2FF;
-}
-.sf-navbar li:hover,
-.sf-navbar li.sfHover,
-.sf-navbar li li.current,
-.sf-navbar a:focus, .sf-navbar a:hover, .sf-navbar a:active {
- background: #BDD2FF;
-}
-.sf-navbar ul li:hover,
-.sf-navbar ul li.sfHover,
-ul.sf-navbar ul li:hover li,
-ul.sf-navbar ul li.sfHover li,
-.sf-navbar ul a:focus, .sf-navbar ul a:hover, .sf-navbar ul a:active {
- background: #D1DFFF;
-}
-ul.sf-navbar li li li:hover,
-ul.sf-navbar li li li.sfHover,
-.sf-navbar li li.current li.current,
-.sf-navbar ul li li a:focus, .sf-navbar ul li li a:hover, .sf-navbar ul li li a:active {
- background: #E6EEFF;
-}
-ul.sf-navbar .current ul,
-ul.sf-navbar ul li:hover ul,
-ul.sf-navbar ul li.sfHover ul {
- left: 0;
- top: 2em; /* match top ul list item height */
-}
-ul.sf-navbar .current ul ul {
- top: -999em;
-}
-
-.sf-navbar li li.current > a {
- font-weight: bold;
-}
-
-/*** point all arrows down ***/
-/* point right for anchors in subs */
-.sf-navbar ul .sf-sub-indicator { background-position: -10px -100px; }
-.sf-navbar ul a > .sf-sub-indicator { background-position: 0 -100px; }
-/* apply hovers to modern browsers */
-.sf-navbar ul a:focus > .sf-sub-indicator,
-.sf-navbar ul a:hover > .sf-sub-indicator,
-.sf-navbar ul a:active > .sf-sub-indicator,
-.sf-navbar ul li:hover > a > .sf-sub-indicator,
-.sf-navbar ul li.sfHover > a > .sf-sub-indicator {
- background-position: -10px -100px; /* arrow hovers for modern browsers*/
-}
-
-/*** remove shadow on first submenu ***/
-.sf-navbar > li > ul {
- background: transparent;
- padding: 0;
- -moz-border-radius-bottomleft: 0;
- -moz-border-radius-topright: 0;
- -webkit-border-top-right-radius: 0;
- -webkit-border-bottom-left-radius: 0;
- border-top-right-radius: 0;
- border-bottom-left-radius: 0;
-}
diff --git a/rt/share/html/NoAuth/css/base/superfish-vertical.css b/rt/share/html/NoAuth/css/base/superfish-vertical.css
deleted file mode 100644
index 8025b78..0000000
--- a/rt/share/html/NoAuth/css/base/superfish-vertical.css
+++ /dev/null
@@ -1,23 +0,0 @@
-/*** adding sf-vertical in addition to sf-menu creates a vertical menu ***/
-.sf-vertical, .sf-vertical li {
- width: 10em;
-}
-/* this lacks ul at the start of the selector, so the styles from the main CSS file override it where needed */
-.sf-vertical li:hover ul,
-.sf-vertical li.sfHover ul {
- left: 10em; /* match ul width */
- top: 0;
-}
-
-/*** alter arrow directions ***/
-.sf-vertical .sf-sub-indicator { background-position: -10px 0; } /* IE6 gets solid image only */
-.sf-vertical a > .sf-sub-indicator { background-position: 0 0; } /* use translucent arrow for modern browsers*/
-
-/* hover arrow direction for modern browsers*/
-.sf-vertical a:focus > .sf-sub-indicator,
-.sf-vertical a:hover > .sf-sub-indicator,
-.sf-vertical a:active > .sf-sub-indicator,
-.sf-vertical li:hover > a > .sf-sub-indicator,
-.sf-vertical li.sfHover > a > .sf-sub-indicator {
- background-position: -10px 0; /* arrow hovers for modern browsers*/
-} \ No newline at end of file
diff --git a/rt/share/html/NoAuth/css/base/superfish.css b/rt/share/html/NoAuth/css/base/superfish.css
deleted file mode 100644
index 7cb3b56..0000000
--- a/rt/share/html/NoAuth/css/base/superfish.css
+++ /dev/null
@@ -1,138 +0,0 @@
-
-/*** ESSENTIAL STYLES ***/
-.sf-menu, .sf-menu * {
- margin: 0;
- padding: 0;
- list-style: none;
-}
-.sf-menu {
- line-height: 1.0;
-}
-.sf-menu ul {
- position: absolute;
- top: -999em;
- width: 10em; /* left offset of submenus need to match (see below) */
-}
-.sf-menu ul li {
- width: 100%;
-}
-.sf-menu li:hover {
- visibility: inherit; /* fixes IE7 'sticky bug' */
-}
-.sf-menu li {
- float: left;
- position: relative;
-}
-.sf-menu a {
- display: block;
- position: relative;
-}
-.sf-menu li:hover ul,
-.sf-menu li.sfHover ul {
- left: 0;
- top: 2em; /* match top ul list item height */
- z-index: 99;
-}
-ul.sf-menu li:hover li ul,
-ul.sf-menu li.sfHover li ul {
- top: -999em;
-}
-ul.sf-menu li li:hover ul,
-ul.sf-menu li li.sfHover ul {
- left: 10em; /* match ul width */
- top: 0;
-}
-ul.sf-menu li li:hover li ul,
-ul.sf-menu li li.sfHover li ul {
- top: -999em;
-}
-ul.sf-menu li li li:hover ul,
-ul.sf-menu li li li.sfHover ul {
- left: 10em; /* match ul width */
- top: 0;
-}
-
-/*** DEMO SKIN ***/
-.sf-menu {
- float: left;
- margin-bottom: 1em;
-}
-.sf-menu a {
- border-left: 1px solid #fff;
- border-top: 1px solid #CFDEFF;
- padding: .75em 1em;
- text-decoration:none;
-}
-.sf-menu a, .sf-menu a:visited { /* visited pseudo selector so IE6 applies text colour*/
- color: #13a;
-}
-.sf-menu li {
- background: #BDD2FF;
-}
-.sf-menu li li {
- background: #AABDE6;
-}
-.sf-menu li li li {
- background: #9AAEDB;
-}
-.sf-menu li:hover, .sf-menu li.sfHover,
-.sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {
- background: #CFDEFF;
- outline: 0;
-}
-
-/*** arrows **/
-.sf-menu a.sf-with-ul {
- padding-right: 2.25em;
- min-width: 1px; /* trigger IE7 hasLayout so spans position accurately */
-}
-.sf-sub-indicator {
- position: absolute;
- display: block;
- right: .75em;
- top: 1.05em; /* IE6 only */
- width: 10px;
- height: 10px;
- text-indent: -999em;
- overflow: hidden;
- background: url(<%RT->Config->Get('WebPath')%>/NoAuth/css/images/arrows-ffffff.png) no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */
-}
-a > .sf-sub-indicator { /* give all except IE6 the correct values */
- top: .8em;
- background-position: 0 -100px; /* use translucent arrow for modern browsers*/
-}
-/* apply hovers to modern browsers */
-a:focus > .sf-sub-indicator,
-a:hover > .sf-sub-indicator,
-a:active > .sf-sub-indicator,
-li:hover > a > .sf-sub-indicator,
-li.sfHover > a > .sf-sub-indicator {
- background-position: -10px -100px; /* arrow hovers for modern browsers*/
-}
-
-/* point right for anchors in subs */
-.sf-menu ul .sf-sub-indicator { background-position: -10px 0; }
-.sf-menu ul a > .sf-sub-indicator { background-position: 0 0; }
-/* apply hovers to modern browsers */
-.sf-menu ul a:focus > .sf-sub-indicator,
-.sf-menu ul a:hover > .sf-sub-indicator,
-.sf-menu ul a:active > .sf-sub-indicator,
-.sf-menu ul li:hover > a > .sf-sub-indicator,
-.sf-menu ul li.sfHover > a > .sf-sub-indicator {
- background-position: -10px 0; /* arrow hovers for modern browsers*/
-}
-
-/*** shadows for all but IE6 ***/
-.sf-shadow ul {
- background: url(<%RT->Config->Get('WebPath')%>/NoAuth/css/images/shadow.png) no-repeat bottom right;
- padding: 0 8px 9px 0;
- -moz-border-radius-bottomleft: 17px;
- -moz-border-radius-topright: 17px;
- -webkit-border-top-right-radius: 17px;
- -webkit-border-bottom-left-radius: 17px;
- border-top-right-radius: 17px;
- border-bottom-left-radius: 17px;
-}
-.sf-shadow ul.sf-shadow-off {
- background: transparent;
-}
diff --git a/rt/share/html/NoAuth/css/base/tablesorter.css b/rt/share/html/NoAuth/css/base/tablesorter.css
deleted file mode 100644
index 34d8c9c..0000000
--- a/rt/share/html/NoAuth/css/base/tablesorter.css
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- *
- * TableSorter 2.0 - Client-side table sorting with ease!
- * @requires jQuery v1.2.3
- *
- * Copyright (c) 2007 Christian Bach
- * Examples and docs at: http://tablesorter.com
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- *
- */
-
-/* tables */
-table.tablesorter {
- background-color: #CDCDCD;
- margin:10px 0pt 15px;
- font-size: 8pt;
- width: 100%;
- text-align: left;
-}
-table.tablesorter thead tr th, table.tablesorter tfoot tr th {
- background-color: #e6EEEE;
- border: 1px solid #FFF;
- font-size: 8pt;
- padding: 4px;
-}
-table.tablesorter thead tr .header {
- background-image: url(<%RT->Config->Get('WebPath')%>/NoAuth/images/tablesorter/bg.gif);
- background-repeat: no-repeat;
- background-position: center right;
- cursor: pointer;
- padding-right: 20px;
-}
-table.tablesorter tbody td {
- color: #3D3D3D;
- padding: 4px;
- background-color: #FFF;
- vertical-align: top;
-}
-table.tablesorter tbody tr.odd td {
- background-color:#F0F0F6;
-}
-table.tablesorter thead tr .headerSortUp {
- background-image: url(<%RT->Config->Get('WebPath')%>/NoAuth/images/tablesorter/asc.gif);
-}
-table.tablesorter thead tr .headerSortDown {
- background-image: url(<%RT->Config->Get('WebPath')%>/NoAuth/images/tablesorter/desc.gif);
-}
-table.tablesorter thead tr .headerSortDown, table.tablesorter thead tr .headerSortUp {
-background-color: #8dbdd8;
-}
diff --git a/rt/share/html/NoAuth/css/base/theme-editor.css b/rt/share/html/NoAuth/css/base/theme-editor.css
deleted file mode 100644
index e6adc1d..0000000
--- a/rt/share/html/NoAuth/css/base/theme-editor.css
+++ /dev/null
@@ -1,111 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-#upload-logo h2, #pick-section h2 {
- margin: 0 0 0.5em 0;
-}
-
-#custom-css h2 {
- margin: 0;
-}
-
-#upload-logo label {
- font-weight: bold;
-}
-
-#logo-theme-editor a img {
- border: none;
-}
-
-#simple-customize {
- float: left;
- width: 48%;
-}
-
-#custom-css {
- float: left;
- width: 48%;
-}
-
-#custom-css textarea {
- width: 100%;
-}
-
-#customize-theme ol li {
- font-size: 1.2em;
- font-weight: bold;
-}
-
-#customize-theme ol li .description,
-#customize-theme ol li label
-{
- font-weight: normal;
-}
-
-#customize-theme #section {
- font-size: 1em;
-}
-
-.color-template {
- height: 2em;
- margin: 0 0 0.5em 0;
-}
-
-.primary-colors, #color-picker {
- margin-top: 0.5em;
-}
-
-.primary-colors {
- float: left;
- width: 20%;
-}
-
-#color-picker {
- float: right;
- width: 78%;
-}
-
diff --git a/rt/share/html/NoAuth/css/base/ticket-form.css b/rt/share/html/NoAuth/css/base/ticket-form.css
deleted file mode 100644
index 981c870..0000000
--- a/rt/share/html/NoAuth/css/base/ticket-form.css
+++ /dev/null
@@ -1,122 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-.ticket-info-basics input[name="Subject"] {
- width: 20em;
-}
-
-#ticket-create-metadata .cflabel .name,
-#ticket-update-metadata .cflabel .name {
- font-weight: normal;
-}
-
-#ticket-create-message .messagedetails,
-#ticket-update-message .messagedetails
-{
- margin-bottom: 0.5em;
-}
-
-#ticket-create-message .messagedetails input[type="text"],
-#ticket-update-message .messagedetails input[type="text"] {
- width: 90%;
-}
-
-#ticket-create-message #SubmitTicket,
-#ticket-update-message #SubmitTicket {
- padding-bottom: 2em;
-}
-
-.ticket-info-squelch ul, #previewscrips ul {
- list-style: none;
-}
-
-iframe.richtext-editor {
- background-color: white !important;
-}
-
-.messagebox-container.action-response textarea,
-.messagebox-container.action-response iframe
-{
- background-color: #fcc !important;
-}
-
-.sidebyside #ticket-create-metadata,
-.sidebyside #ticket-update-metadata {
- float: right;
- width: 40%;
- clear: right;
-}
-
-.sidebyside #ticket-create-message,
-.sidebyside #ticket-update-message {
- float: left;
- width: 58%;
- clear: left;
-}
-
-@media (max-width: 950px) {
- /* Revert to a single column when we're less than 1000px wide */
- .sidebyside #ticket-create-metadata,
- .sidebyside #ticket-update-metadata,
- .sidebyside #ticket-create-message,
- .sidebyside #ticket-update-message
- {
- float: none;
- width: auto;
- clear: both;
- }
-}
-
-.sidebyside #comp-Ticket-Update #body {
- padding-top: 3em;
-}
-
-.sidebyside #ticket-create-message .button[name="AddMoreAttach"],
-.sidebyside #ticket-update-message .button[name="AddMoreAttach"] {
- float: right;
-}
-
diff --git a/rt/share/html/NoAuth/css/base/ticket.css b/rt/share/html/NoAuth/css/base/ticket.css
deleted file mode 100644
index c634dc9..0000000
--- a/rt/share/html/NoAuth/css/base/ticket.css
+++ /dev/null
@@ -1,149 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-#requestor-accordion .ui-accordion-content {
- padding: 0 0 0 20px;
- margin: -0.5em 0 0.5em 0;
- border: none;
- background: none;
- color: black !important;
-}
-
-#requestor-accordion {
- margin: 0.5em 0 0 0;
-}
-
-#requestor-accordion h3 .ui-icon {
- background-image: url(<%RT->Config->Get('WebPath')%>/NoAuth/images/jquery_ui/ui-icons_4488cc_256x240.png);
- left: 0;
-}
-
-#requestor-accordion h3 {
- padding: 0;
- background: none !important;
-}
-
-#requestor-accordion h3, #requestor-accordion h3 a {
- color: black !important;
- border: none !important;
- margin: 0;
-}
-
-#requestor-accordion h3 a {
- font-size: 90%;
- padding: 0 0 0.25em 20px;
-}
-
-#requestor-accordion h3 a:hover,
-#requestor-accordion h3.ui-state-active a {
- text-decoration: underline;
-}
-
-#requestor-accordion a.modify-user {
- font-size: 80%;
- color: black !important;
-}
-
-/* More about requestor ticket lists */
-
-.more-about-requestor-tickets {
- background: none;
- border: none;
- font-family: arial,helvetica,sans-serif !important;
- padding: 0 !important;
-}
-
-.more-about-requestor-tickets .ui-tabs-nav {
- background: none;
- border: none;
- font-size: 80%;
- padding: 0;
- margin: 0;
-}
-
-.more-about-requestor-tickets .ui-tabs-nav li {
- border: none !important;
- background: none !important;
- padding-right: 1em;
-}
-
-.more-about-requestor-tickets .ui-tabs-nav a {
- padding: 0 !important;
- margin: 0 !important;
- color: black !important;
-}
-
-.more-about-requestor-tickets .ui-tabs-nav a:hover,
-.more-about-requestor-tickets .ui-tabs-nav .ui-tabs-selected a {
- text-decoration: underline;
-}
-
-.more-about-requestor-tickets .ui-tabs-panel {
- border: none;
- padding: 0;
- margin: 0;
- color: black !important;
-}
-
-.more-about-requestor-tickets .ui-tabs-panel a {
- color: black !important;
-}
-
-
-.plain-text-white-space {
- white-space: pre-wrap;
- font-family: monospace;
-}
-
-.plain-text-white-space br {
- display: none;
-}
-
-.unread-messages .titlebox-content :link {
- text-decoration: underline;
-}
-
diff --git a/rt/share/html/NoAuth/css/base/tools.css b/rt/share/html/NoAuth/css/base/tools.css
deleted file mode 100644
index c6afa3b..0000000
--- a/rt/share/html/NoAuth/css/base/tools.css
+++ /dev/null
@@ -1,54 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-table.myday td {
- padding: 1em;
-}
-
-ol.dashboard-queries {
- padding-left: 1.5em;
-}
diff --git a/rt/share/html/NoAuth/css/base/yui-fonts.css b/rt/share/html/NoAuth/css/base/yui-fonts.css
deleted file mode 100644
index fdae8d9..0000000
--- a/rt/share/html/NoAuth/css/base/yui-fonts.css
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
-Copyright (c) 2008, Yahoo! Inc. All rights reserved.
-Code licensed under the BSD License:
-http://developer.yahoo.net/yui/license.txt
-version: 2.5.1
-*/
-body {font:13px/1.231 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}table {font-size:inherit;font:100%;}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%;}
diff --git a/rt/share/html/NoAuth/css/dhandler b/rt/share/html/NoAuth/css/dhandler
index 41e88fb..b8c5da7 100644
--- a/rt/share/html/NoAuth/css/dhandler
+++ b/rt/share/html/NoAuth/css/dhandler
@@ -50,7 +50,7 @@ my $squisher;
</%ONCE>
<%INIT>
my $arg = $m->dhandler_arg;
-if ( $arg =~ m{(.*)-squished-[0-9a-f]{32}\.css$} ) {
+if ( $arg =~ m{(.*)/squished-[0-9a-f]{32}\.css$} ) {
my $style = $1;
my $squished = RT::Interface::Web::SquishedCSS( $style );
# Don't send Last-Modified since we don't handle If-Modified-Since
diff --git a/rt/share/html/NoAuth/css/print.css b/rt/share/html/NoAuth/css/print.css
deleted file mode 100644
index 8aedbc9..0000000
--- a/rt/share/html/NoAuth/css/print.css
+++ /dev/null
@@ -1,218 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-* {
- float: none;
- position: static;
- background: transparent !important;
- overflow: visible !important;
-}
-
-body {
- margin: 0;
- padding: 0;
- font-size: 10pt;
- background: white !important;
-}
-
-div#body {
- margin: 0;
- margin-top: 0;
- padding: 0;
- border-style: none;
-}
-
-div#header h1 {
- margin-bottom: 1em;
- position: static;
- height: auto;
- width: auto;
- overflow: visible;
- color: black !important;
- padding: 0 !important;
-}
-
-#header {
- padding: 0 !important;
-}
-
-#quickbar,
-#app-nav,
-#page-menu,
-#main-navigation,
-#page-navigation,
-.titlebox-title .widget,
-.titlebox-title .right,
-.ticket-info-links .titlebox-content .create,
-.ticket-transaction .metadata .actions,
-.ticket-transaction .content .downloadattachment,
-#comp-Search-Results #body .refresh,
-.search-result-actions,
-#comp-Search-Chart .chart-meta,
-#footer,
-#topactions,
-#logo,
-form,
-div.summary + br
-{
- display: none;
-}
-
-/* Hide "Click to load" and "Loading" message. Loaded history is #id > .history */
-#deferred_ticket_history > .titlebox, #delayed_ticket_history > .titlebox {
- display: none;
-}
-
-a:link, a:visited {
- font-weight: bold !important;
-}
-
-div.ticket-transaction .metadata .type {
- display: none;
-}
-
-div.titlebox-title .left {
- border: 0 !important;
- color: black !important;
- margin: 0 !important;
- padding-left: 0 !important;
-}
-
-.titlebox.rolled-up .titlebox-title .left:after {
- content: " (<&|/l&>collapsed</&>)";
- font-weight: normal;
-}
-
-div.titlebox-content {
- border: 0 !important;
- padding-top: 0.5em !important;
-}
-
-/* outer Ticket Metadata titlebox gets no padding, but inside ones do below */
-.summary .titlebox-content {
- padding: 0 !important;
-}
-
-div.summary .ticket-summary div.titlebox-content {
- padding: 0.5em 1em 1em 1em !important;
-}
-
-div.titlebox-title .left * {
- color: black !important;
-}
-
-div.messagebody a[href]:after {
- text-decoration: underline !important;
- content: " (" attr(href) ") ";
-}
-
-.messagebody {
- orphans: 2;
- widows: 2;
-}
-
-div.titlebox-title {
- page-break-after: avoid;
- border: 0 !important;
-}
-
-#ticket-history, div.ticket-transaction {
- border: 0 !important;
-}
-
-div.ticket-transaction {
- page-break-inside: avoid;
-}
-
-/* hide "Ticket metadata" */
-div.summary > div > div.titlebox > div.titlebox-title {
- display: none !important;
-}
-
-.value {
- font-weight: bold !important;
-}
-
-.label, .label a, .labeltop, .labeltop a {
- font-weight: normal !important;
-}
-
-div.titlebox {
- margin-bottom: 0;
-}
-
-/* for web2 and ballard*/
-
-div.titlebox {
- border: 0 !important;
-}
-
-div.history .titlebox-title {
- padding: 0 !important;
- margin: 0 !important;
-}
-
-/* for web2 */
-
-#page-action-menu {
- display: none;
-}
-
-/* form elements */
-input, select, option {
- background: white !important;
- border: 1px solid #666 !important;
-}
-
-option {
- border: none !important;
-}
-
-option[selected] {
- font-weight: bold !important;
-}
-
diff --git a/rt/share/html/NoAuth/css/rudder/AfterMenus b/rt/share/html/NoAuth/css/rudder/AfterMenus
new file mode 100644
index 0000000..531cd69
--- /dev/null
+++ b/rt/share/html/NoAuth/css/rudder/AfterMenus
@@ -0,0 +1,71 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<script type="text/javascript">
+var initMenus = function() {
+ jQuery.fn.supersubs.defaults = {
+ maxWidth: 30,
+ extraWidth: 2
+ };
+
+ jQuery("#app-nav.toplevel").addClass('sf-menu sf-js-enabled sf-shadow').supersubs().superfish({ speed: 'fast' });
+ jQuery("#page-menu.toplevel").addClass('sf-menu sf-js-enabled sf-shadow').supersubs().superfish({ dropShadows: false, speed: 'fast' }).supposition();
+
+ var originalOffset = jQuery("#page-menu").offset().top;
+ var floatMenu = function () {
+ jQuery("#page-menu").toggleClass("pinned", jQuery(document).scrollTop() > originalOffset);
+ };
+ floatMenu();
+ jQuery(window).scroll(floatMenu);
+};
+
+// If everything is loaded, init NOW. Otherwise, defer to DOM ready.
+if (jQuery.fn.supersubs && jQuery.fn.superfish && jQuery.fn.supposition)
+ initMenus();
+else
+ jQuery(initMenus);
+</script>
diff --git a/rt/share/html/Elements/MyRequests b/rt/share/html/NoAuth/css/rudder/InHeader
index 357476c..63bcb0d 100755..100644
--- a/rt/share/html/Elements/MyRequests
+++ b/rt/share/html/NoAuth/css/rudder/InHeader
@@ -45,5 +45,6 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-%# DEPRECATED
-<& /Elements/ShowSearch, Name => 'My Requests' &>
+<!--[if lt IE 8]>
+<link rel="stylesheet" href="<%RT->Config->Get('WebPath')%>/static/css/rudder/msie.css" type="text/css" media="all" />
+<![endif]-->
diff --git a/rt/share/html/NoAuth/css/web2/AfterMenus b/rt/share/html/NoAuth/css/web2/AfterMenus
new file mode 100644
index 0000000..9c075bf
--- /dev/null
+++ b/rt/share/html/NoAuth/css/web2/AfterMenus
@@ -0,0 +1,74 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<script type="text/javascript">
+var initMenus = function() {
+ jQuery("#quick-personal").append('<ul id="prefs-menu"></ul>');
+ jQuery("#li-preferences").detach().appendTo("#prefs-menu");
+ jQuery("#li-tools-config").detach().appendTo("#app-nav");
+ jQuery("#li-search-simple").detach().insertBefore("#li-search");
+ jQuery("#li-tools-approval").detach().appendTo("#app-nav");
+
+ jQuery("#li-page-bookmark").detach().appendTo("#li-page-actions>ul");
+ jQuery("#li-page-actions>ul").attr("id","page-action-menu").detach().insertAfter("#topactions");
+
+ jQuery.fn.supersubs.defaults = {
+ maxWidth: 30,
+ extraWidth: 2
+ };
+
+ jQuery("#page-menu.toplevel").addClass("sf-menu sf-js-enabled").supersubs().superfish({ dropShadows: false, speed: 'fast' }).supposition();
+ jQuery("#app-nav.toplevel").addClass("sf-menu sf-vertical sf-js-enabled").supersubs().superfish({ speed: 'fast' }).supposition();
+ jQuery("#prefs-menu").addClass("sf-menu sf-js-enabled").supersubs().superfish().supposition({ speed: 'fast' });
+};
+
+// If everything is loaded, init NOW. Otherwise, defer to DOM ready.
+if (jQuery.fn.supersubs && jQuery.fn.superfish && jQuery.fn.supposition)
+ initMenus();
+else
+ jQuery(initMenus);
+</script>
diff --git a/rt/share/html/NoAuth/css/web2/InHeader b/rt/share/html/NoAuth/css/web2/InHeader
index b8fcab3..a670415 100644
--- a/rt/share/html/NoAuth/css/web2/InHeader
+++ b/rt/share/html/NoAuth/css/web2/InHeader
@@ -46,30 +46,9 @@
%#
%# END BPS TAGGED BLOCK }}}
<!--[if lt IE 8]>
-<link rel="stylesheet" href="<%RT->Config->Get('WebPath')%>/NoAuth/css/web2/msie.css" type="text/css" media="all" />
+<link rel="stylesheet" href="<%RT->Config->Get('WebPath')%>/static/css/web2/msie.css" type="text/css" media="all" />
<![endif]-->
<!--[if lt IE 7]>
-<link rel="stylesheet" href="<%RT->Config->Get('WebPath')%>/NoAuth/css/web2/msie6.css" type="text/css" media="all" />
+<link rel="stylesheet" href="<%RT->Config->Get('WebPath')%>/static/css/web2/msie6.css" type="text/css" media="all" />
<![endif]-->
-<script type="text/javascript">
-jQuery(document).ready(function(){
- jQuery("#quick-personal").append('<ul id="prefs-menu"></ul>');
- jQuery("#li-preferences").detach().appendTo("#prefs-menu");
- jQuery("#li-tools-config").detach().appendTo("#app-nav");
- jQuery("#li-search-simple").detach().insertBefore("#li-search");
- jQuery("#li-tools-approval").detach().appendTo("#app-nav");
-
- jQuery("#li-page-bookmark").detach().appendTo("#li-page-actions>ul");
- jQuery("#li-page-actions>ul").attr("id","page-action-menu").detach().insertAfter("#topactions");
-
- jQuery.fn.supersubs.defaults = {
- maxWidth: 30,
- extraWidth: 2
- };
-
- jQuery("#page-menu.toplevel").addClass("sf-menu sf-js-enabled").supersubs().superfish({ dropShadows: false, speed: 'fast' }).supposition();
- jQuery("#app-nav.toplevel").addClass("sf-menu sf-vertical sf-js-enabled").supersubs().superfish({ speed: 'fast' }).supposition();
- jQuery("#prefs-menu").addClass("sf-menu sf-js-enabled").supersubs().superfish().supposition({ speed: 'fast' });
-});
-</script>
diff --git a/rt/share/html/NoAuth/css/web2/base.css b/rt/share/html/NoAuth/css/web2/base.css
deleted file mode 100644
index 2ed341e..0000000
--- a/rt/share/html/NoAuth/css/web2/base.css
+++ /dev/null
@@ -1,62 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-a {
- color: #000;
- text-decoration: none;
-}
-
-
-a:visited {
- color: #666;
-}
-
-a:hover {
- text-decoration: underline;
-}
-
-textarea:focus, input:focus { background-color: #ffd; }
diff --git a/rt/share/html/NoAuth/css/web2/boxes.css b/rt/share/html/NoAuth/css/web2/boxes.css
deleted file mode 100644
index 44445fb..0000000
--- a/rt/share/html/NoAuth/css/web2/boxes.css
+++ /dev/null
@@ -1,191 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-.titlebox {
- border-left: 1px solid #ccc;
- border-top: 1px solid #ccc;
- background-color: #efefef;
- padding-top: 1em;
- margin-top: 1em;
- margin-left: 1em;
- -moz-border-radius: 0.5em;
- -webkit-border-radius: 0.5em;
- margin-bottom: 2em;
- border-bottom: 2px solid #aaa;
- border-right: 2px solid #aaa;
- padding-right: 1em;
-
-
- border-radius: 0.5em;
-
-}
-
-* html .titlebox {
- border-top: none;
- border-left: none;
-}
-
-.titlebox .titlebox {
-
- background-color: #ffffff;
- margin-top: 1em;
- margin-right: 0.25em;
-
-}
-
-
-.titlebox {
- margin-left: 0em;
- margin-right: 0em;
- min-height: 1.25em;
-
-}
-
-
-
-.titlebox .titlebox-title {
- position: relative;
- margin-top: -1.5em;
- padding-bottom: 0.25em;
- padding-left: 1em;
- margin-right: -1em;
-
-}
-
-.titlebox .titlebox-title a {
- text-decoration: none;
- color: black;
-
-}
-
-.titlebox .titlebox-title a:hover {
- text-decoration: underline;
-
-}
-
-.titlebox .titlebox-title .left {
- font-weight: bold;
- background: #ccc;
- margin-left: 0.75em;
- padding:0.5em;
- padding-left: 0.75em;
- padding-right: 0.75em;
- -moz-border-radius: 0.5em;
- -webkit-border-radius: 0.5em;
- border-bottom: 2px solid #aaa;
- border-right: 2px solid #aaa;
-
- border-radius: 0.5em;
-
-
-}
-
-.titlebox .titlebox-title .right-empty {
- display:none;
-}
-
-.titlebox .titlebox-title .right {
- position: absolute;
- right: 0;
- top: 0.5em;
- font-size: 0.9em;
- background: #dedede;
- border-left: 1px solid #ccc;
- border-bottom: 1px solid #ccc;
- padding-right: 0.4em;
- padding-left: 0.4em;
- padding-bottom: 0.2em;
- padding-top: 0.5em;
- -moz-border-radius-bottomleft: 0.25em;
- -webkit-border-bottom-left-radius: 0.25em;
-
-
- -moz-border-radius-topright: 0.25em;
- -webkit-border-top-right-radius: 0.25em;
-
- border-radius: 0 0.25em 0 0.25em;
-
-
-}
-
-.titlebox .titlebox-title .right a,
-.titlebox .titlebox-title .right a:visited {
- color: #000;
-}
-
-.titlebox .titlebox-content {
- padding-top: 0.5em;
- padding-left: 1em;
- padding-bottom: 1em;
-
-}
-
-.titlebox .titlebox-title .widget a {
- display: block;
- margin: 0;
- margin-top: 0.6em;
- width: 20px;
-
- background: url(<%RT->Config->Get('WebPath')%>/NoAuth/images/css/rollup-arrow.gif) no-repeat center 0;
-
- position: absolute;
- top: -1em;
- left: 0.15em;
- float: left;
-
- padding: 7px 0 0 0;
- overflow: hidden;
-}
-
-* html .titlebox .titlebox-title .widget a {
- top: 0em;
- left: -1.5em;
-}
-
-.titlebox.rolled-up .titlebox-title .widget a {
- background-image: url(<%RT->Config->Get('WebPath')%>/NoAuth/images/css/rolldown-arrow.gif);
-}
diff --git a/rt/share/html/NoAuth/css/web2/images/dhandler b/rt/share/html/NoAuth/css/web2/images/dhandler
deleted file mode 100644
index 0e56d92..0000000
--- a/rt/share/html/NoAuth/css/web2/images/dhandler
+++ /dev/null
@@ -1,55 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<%INIT>
-use File::Basename;
-my $arg = $m->dhandler_arg;
-my $file = dirname($m->current_comp->source_file) . '/source/'. $arg;
-RT::Interface::Web->SendStaticFile( File => $file );
-
-$m->abort;
-</%INIT>
diff --git a/rt/share/html/NoAuth/css/web2/layout.css b/rt/share/html/NoAuth/css/web2/layout.css
deleted file mode 100644
index ba4c6d6..0000000
--- a/rt/share/html/NoAuth/css/web2/layout.css
+++ /dev/null
@@ -1,210 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-/* body */
-
-body {
- padding:0;
- margin:0;
- background: #547CCC url(<%RT->Config->Get('WebPath')%>/NoAuth/css/web2/images/background-gradient.png) top left repeat-x ;
- font-family: arial, helvetica, sans-serif;
- color: #000000;
-}
-
-div#body {
- position: relative;
- padding: 1.8em 1em 1em 1em;
- -moz-border-radius-topleft: 0.5em;
- -webkit-border-top-left-radius: 0.5em;
- -moz-border-radius-bottomleft: 0.5em;
- -webkit-border-bottom-left-radius: 0.5em;
- margin-left: 10em;
- margin-top: 5.8em;
- margin-right: 0;
- margin-bottom: 0em;
- min-height: 10%;
- background: #fff;
- border-top: 2px solid #ccc;
- border-left: 2px solid #ccc;
- z-index:1;
- border-radius: 0.5em 0 0 0.5em;
-
-}
-
-div#body.login-body {
- top: -2.5em;
- margin-right: 10em;
-}
-
-div#footer {
- position: absolute;
- right: 0;
- text-align: right;
- font-size: 0.9em;
- margin-top: 2em;
- background: #fff;
- margin-bottom: 0;
- padding-left: 3em;
- padding-right: 1em;
- border-top: 2px solid #aaa;
- border-left: 2px solid #aaa;
- -moz-border-radius-topleft: 0.5em;
- -webkit-border-top-left-radius: 0.5em;
- -moz-border-radius-bottomleft: 0.5em;
- -webkit-border-bottom-left-radius: 0.5em;
-
- border-radius: 0.5em 0 0.5em 0;
-}
-
-div#footer #time {
- display: none ;
-}
-
-div#footer #bpscredits {
- text-align: right;
- background: url(<%RT->Config->Get('WebPath')%>/NoAuth/images/bpslogo.png) no-repeat top right;
- padding-top: 4em;
-}
-
-
-/* logo stuff */
-
-div#logo {
- position: absolute;
- right: 2px;
- top: 0;
- height: 2.3em;
-}
-
-div#logo a img {
- border: 0;
- height: 100% !important;
- width: auto !important;
- float: right;
-}
-
-div#logo .rtname {
- position: relative;
- font-weight: bold;
- text-align: center;
- top: 0.7em;
- padding-right: 1em;
- float:left;
-}
-
-
-div#quickbar, div#logo {
- font-size: 0.9em;
-}
-div#quickbar a, div#logo a {
- color: #000;
-}
-
-
-div#quickbar {
- background: #eaeaea;
- padding-top: 1em;
- padding-left: 1em;
- padding-bottom: 0.5em;
- height: 1em;
- border-bottom: 1px solid #ccc;
-
-}
-
-#prefs-menu.sf-menu li li {
- background: #eaeaea;
-}
-
-#prefs-menu.sf-menu #li-preferences {
- background: none;
-}
-
-#prefs-menu.sf-menu li:hover,
-#prefs-menu.sf-menu li.sfHover,
-#prefs-menu.sf-menu #li-preferences.sfHover,
-#prefs-menu.sf-menu #li-preferences:hover,
-#prefs-menu.sf-menu a:focus,
-#prefs-menu.sf-menu a:hover,
-#prefs-menu.sf-menu a:active,
-{
- background-color: #CFDEFF;
- text-color: #000;
- color: #000;
- border: none;
-}
-
-#prefs-menu .sfHover a,
-#prefs-menu .sfHover a:visited {
- color: #000;
- border: none;
-}
-
-
-
-div#header h1 {
- position: absolute;
- left: 7em;
- right: 20em;
- top: 1.4em;
- overflow: hidden;
- height: 1em;
- font-size: 1.4em;
- margin-top: 0.4em;
- padding: 0.25em;
- color: #fff;
-}
-
-/* in multi-column layouts, make sure we have an internal gutter */
-
-tr .boxcontainer {
- padding-right: 1em;
-}
-
-tr .boxcontainer:last-child {
- padding-right: 0;
-}
-
diff --git a/rt/share/html/NoAuth/css/web2/main.css b/rt/share/html/NoAuth/css/web2/main.css
deleted file mode 100644
index 1c4b750..0000000
--- a/rt/share/html/NoAuth/css/web2/main.css
+++ /dev/null
@@ -1,62 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-% $m->callback(CallbackName => 'Begin');
-
-@import "../base/main.css";
-
-@import "base.css";
-@import "layout.css";
-@import "nav.css";
-@import "boxes.css";
-@import "ticket-lists.css";
-@import "ticket-search.css";
-@import "ticket.css";
-@import "misc.css";
-
-% $m->callback(CallbackName => 'End');
-
diff --git a/rt/share/html/NoAuth/css/web2/misc.css b/rt/share/html/NoAuth/css/web2/misc.css
deleted file mode 100644
index f3eae95..0000000
--- a/rt/share/html/NoAuth/css/web2/misc.css
+++ /dev/null
@@ -1,58 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-.comment {
- padding-left: 0.5em;
- color: #999;
-
-}
-
-#comp-Ticket-ShowEmailRecord #body {
- margin-left: 1em;
- margin-top: 1em;
- overflow: auto;
-}
diff --git a/rt/share/html/NoAuth/css/web2/msie.css b/rt/share/html/NoAuth/css/web2/msie.css
deleted file mode 100644
index 7822613..0000000
--- a/rt/share/html/NoAuth/css/web2/msie.css
+++ /dev/null
@@ -1,242 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-div#body {
- left: 0.25em;
- height: 100%;
- top: 6em;
-}
-
-#main-navigation {
- padding-bottom: 1em;
-}
-
-#footer {
- padding: 1em;
-}
-
-
-div#header h1 {
- position: absolute;
- left: 7.25em;
- overflow: hidden;
- height: 1em;
- font-size: 1.4em;
- margin-top: 0.4em;
- right: 23.5em;
- padding: 0.25em;
-}
-
-
-#topactions {
- top: 3.5em;
- width: auto;
-}
-
-.topaction form * {
- vertical-align: top;
-}
-
-.topaction form button, .topaction form input {
- height: 2em;
-}
-
-.topaction form input.field {
- height: 1.6em;
-}
-
-.topaction .select-queue {
- margin-top: 0.2em;
-}
-
-div#page-navigation {
- position: absolute;
- top: 6.2em;
- height: 1.8em;
- background: #fff;
- border-top: 2px solid #ccc;
-}
-
-
-
-div#page-navigation ul#page-menu {
- background: none;
- border: none;
-}
-
-
-div#quickbar { height: 1.2em;
-
-
-}
-
-#pick-criteria td.label select {
- width: 10em;
-}
-
-
-#editquery {
- margin-top: 0.2em;
- width: 39%;
- left: 60%;
-}
-
-div#nav li.first {
- margin-top: 0.75em;
- border-top: none;
-}
-div#nav ul ul li.first {
- border-top: 1px solid #cccccc;
- margin-top: 0.25em;
-}
-
-div#nav li.last {
- border-bottom: none;
- padding-bottom: 0;
- margin-bottom: 0;
-}
-
-
-.ticket-transaction .type a { font-weight: normal; text-decoration: none; color: #fff; }
-
-
-.titlebox {
- border-top: none;
- border-left: none;
-}
-
-.titlebox .titlebox-title .left {
- padding: 0.25em;
- padding-left: 0.5em;
-}
-
-.titlebox {
-}
-
-.titlebox .titlebox-title .right {
- border-right: 2px solid #aaa;
- display: block;
- margin-top: 0.1em;
- right: -0.2em;
-
-}
-
-
-.titlebox .titlebox-content {
- padding-top: 2.2em;
-}
-
-
-.titlebox table.collection-as-table, .titlebox table.queue-summary {
- width: 95%;
- padding: 0.5em;
- margin-left: auto;
- margin-right: auto;
-}
-
- .titlebox-title {
- position: relative;
-}
-
-.titlebox-title .widget {
- position: absolute;
- top: -0.25em;
- left: -0.25em;
-
-}
-.titlebox-title .left {
- position: absolute;
- top: -0.75em;
- left: 0.5em;
-}
-
-/* nested things. like the ticket dates tab */
-.titlebox .titlebox .titlebox-title .right{
- top: 0.25em;
-}
-
-.combobox {
- float: left;
-}
-
-.combobox .combo-button {
- color: ButtonText;
- padding: 0;
-}
-
-.combobox .combo-list {
- margin-top:0.5em;
- margin-left: -0.2em;
-}
-
-#pick-criteria td.label {
- width: auto;
-}
-
-#pick-criteria td.operator {
- width: 7.5em;
-}
-
-.plain-text-white-space {
- word-wrap: break-word; /* Internet Explorer 5.5+ */
- white-space: pre; /* IE only hack to re-specify in addition to
- word-wrap */
-}
-
-div#logo .rtname {
- float: right;
- padding-right: 1em;
-}
-
-#page-action-menu {
- top: 9.5em;
-}
-
-#rt-portal .titlebox-content {
- height: 23em;
-}
-
diff --git a/rt/share/html/NoAuth/css/web2/msie6.css b/rt/share/html/NoAuth/css/web2/msie6.css
deleted file mode 100644
index 126a9ec..0000000
--- a/rt/share/html/NoAuth/css/web2/msie6.css
+++ /dev/null
@@ -1,101 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-@import "../base/msie6.css";
-
-.topaction .select-queue {
- margin-top: 0;
-}
-
-div#page-navigation {
- width: 100%;
-}
-
-.titlebox-title .widget {
- top: -1em;
- left: 0.5em;
-
-}
-.titlebox .titlebox-title .right{
- position: absolute;
- top: 0.25em;
- right: 1em;
-}
-
-/* nested things. like the ticket dates tab */
-.titlebox .titlebox .titlebox-title .right{
- right: 1.3em;
-}
-
-#login-box .titlebox .titlebox-title .right {
- margin-top: -0.1em;
- right: 0em;
-}
-
-.titlebox
-{
- height: auto !important;
- height: 1.25em;
-}
-
-
-.ticket-transaction .messagebody img {
- /* ie6 does not support max-width */
- width: expression(this.width > 401 ? 400 : true);
-}
-
-#prefs-menu .sf-sub-indicator {
- background-image: url(<%RT->Config->Get('WebPath')%>/NoAuth/css/images/arrows-grey.gif);
-}
-
-#app-nav .sf-sub-indicator {
- background-image: url(<%RT->Config->Get('WebPath')%>/NoAuth/css/images/arrows-grey.gif);
-}
-
-.ticket-transaction div.metadata span.actions {
- right: 1.1em;
-}
diff --git a/rt/share/html/NoAuth/css/web2/nav.css b/rt/share/html/NoAuth/css/web2/nav.css
deleted file mode 100644
index 8439060..0000000
--- a/rt/share/html/NoAuth/css/web2/nav.css
+++ /dev/null
@@ -1,292 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-#main-navigation {
- background-color: #fff;
- -moz-border-radius-bottomright: 0.5em;
- -moz-border-radius-topright: 0.5em;
- -webkit-border-top-right-radius: 0.5em;
- -webkit-border-bottom-right-radius: 0.5em;
- border-radius: 0 0.5em 0.5em 0;
- width: 10em;
- font-size: 0.85em;
- position: absolute;
- top: 3.4em;
- left: 0em;
- z-index: 9997;
- padding-top: 1em;
- padding-right: 0.5em;
- padding-left: 0.5em;
-}
-
-.sf-sub-indicator {
- background-image: url(<%RT->Config->Get('WebPath')%>/NoAuth/css/images/arrows-grey.png);
- margin-top: -3px;
-}
-
-#app-nav.sf-vertical li:hover ul,
-#app-nav.sf-vertical li.sfHover ul {
- top: -1px;
-}
-
-#prefs-menu > li, #prefs-menu > li > a {
- background-color: transparent;
-}
-
-#prefs-menu.sf-menu a,
-#prefs-menu .sf-menu a
-{
- border: none;
-}
-
-#prefs-menu.sf-menu li li li {
- border-left: 1px solid #ccc;
-}
-
-#prefs-menu.sf-menu li:hover ul,
-#prefs-menu.sf-menu li.sfHover ul {
- top: 2.4em; /* match the height of the top level li */
-}
-
-#prefs-menu.sf-menu li li:hover ul,
-#prefs-menu.sf-menu li li.sfHover ul {
- top: 0;
-}
-
-#prefs-menu .sf-sub-indicator {
- background-image: url(<%RT->Config->Get('WebPath')%>/NoAuth/css/images/arrows-grey.png);
- margin-top: 0;
-}
-
-#main-navigation ul li {
-}
-
-
-#main-navigation .sf-menu {
- text-color: #000;
-}
-
-#main-navigation .sf-menu li {
- background: none;
-}
-
-#main-navigation .sf-menu li:first-child {
- border-top: 1px solid #ccc;
-}
-
-#main-navigation .sf-menu a,
-#main-navigation .sf-menu a:visited {
- padding-top: 0.5em;
- padding-bottom: 0.5em;
- color: #000;
- border: none;
-}
-
-#main-navigation .sf-menu li {
- border-bottom: 1px solid #ccc;
-
-}
-
-
-#main-navigation .sf-menu ul a,
-#main-navigation .sf-menu ul a:visited {
- color: #000;
-}
-
-
-#main-navigation .sf-menu li li, #main-navigation .sf-menu li li li {
- border-left: none;
- background-color: #fff;
- text-color: #547CCC;
-}
-
-#main-navigation .sf-menu li:hover, #main-navigation .sf-menu li.sfHover, #main-navigation .sf-menu a:focus, #main-navigation .sf-menu a:hover, #main-navigation .sf-menu a:active {
- background-color: #CFDEFF;
- text-color: #000;
- color: #000;
-}
-
-#main-navigation .sfHover a,
-#main-navigation .sfHover a:visited {
- color: #000;
-}
-
-/* to stop a "flash" of an unstyled menu on an older browser, hide the menu until superfish has initialized it */
-#app-nav.toplevel { display: none; }
-#app-nav.toplevel.sf-menu { display:block; }
-#page-menu.toplevel { display: none; }
-#page-menu.toplevel.sf-menu { display:block; }
-
-
-
-#page-navigation {
- position: absolute;
- top: 5.7em;
- left: 10em;
- right: 0em;
- height: 2.1em;
- z-index: 9995;
- font-size: 0.9em;
- background-color: #fff;
- border: 1px solid #ccc;
- -moz-border-radius-bottomleft: 0.5em;
- -webkit-border-bottom-left-radius: 0.5em;
- border-right: none;
- border-radius: 0 0 0 0.5em;
-}
-
-#page-navigation .sf-menu {
- margin: 0;
-}
-
-#page-navigation .sf-menu li, #page-navigation .sf-menu li li, #page-navigation .sf-menu li li li {
- background: none;
- height: 2em;
- padding-top: 0.25em;
- padding-bottom: 0;
- padding-left: 0.5em;
- padding-right: 0.5em;
- display: inline-block;
-}
-
-
-#page-navigation .sf-menu ul {
- background: white;
- border-bottom: 2px solid #ccc;
-}
-
-
-#page-navigation .sf-menu li:hover, #page-navigation .sf-menu li.sfHover, #page-navigation .sf-menu a:focus, #page-navigation .sf-menu a:hover, #page-navigation .sf-menu a:active {
- background: none;
-}
-
-#page-navigation .sf-menu a:visited, #page-navigation .sf-menu a {
- border: none;
- color: #000;
-}
-
-#page-navigation .sf-menu a {
- padding: 0.25em;
-}
-
-#page-navigation .sf-menu a.sf-with-ul {
- /* allow space for the submenu indicator */
- padding-right: 2em;
-}
-
-#page-menu.sf-menu li .sf-sub-indicator {
- top: 0.7em;
-}
-
-
-#page-actions {
- display: none;
-}
-
-#page-action-menu {
- position: absolute;
- display: block;
- top: 8.2em;
- right: 0em;
- left: auto;
- z-index: 9995;
- font-size: 0.9em;
- background-color: #eee;
- border: 1px solid #ccc;
- -moz-border-radius-bottomleft: 0.5em;
- -webkit-border-bottom-left-radius: 0.5em;
- border-bottom-left-radius: 0.5em;
- border-right: none;
- border-top: none;
- list-style-type: none;
- padding: 0.5em;
-}
-
-
-#page-action-menu li {
- display: inline;
-}
-
-#page-action-menu a, #page-action-menu a:visited {
- border: none;
- padding: 0.25em;
- color: #000;
-}
-
-
-#topactions {
- position: absolute;
- background: transparent;
- top: 3.2em;
- right: 0.7em;
- width: auto;
- min-width: 42em;
- font-size: 0.9em;
- z-index: 99;
-}
-
-#topactions form * {
- vertical-align: top;
-}
-
-#topactions button, #topactions select, #topactions input{
- padding-top: 0em;
- padding-bottom: 0em;
- width: 8em;
-
-}
-
-#topactions #simple-search .field{
- margin-left: 1em;
- color: #787;
- }
-
-#topactions #simple-search .field:focus {
- color: #000;
- }
-
-
diff --git a/rt/share/html/NoAuth/css/web2/ticket-lists.css b/rt/share/html/NoAuth/css/web2/ticket-lists.css
deleted file mode 100644
index 2df86e8..0000000
--- a/rt/share/html/NoAuth/css/web2/ticket-lists.css
+++ /dev/null
@@ -1,237 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-table.queue-summary, table.collection-as-table {
- margin-top: 0.75em;
- font-size: 0.9em;
- border: 1px solid #aaa;
- border-bottom: 2px solid #999;
- border-right: 2px solid #999;
- border-spacing: 0;
- width: 100%;
-
-}
-
-table.queue-summary tr>*:first-child {
- padding-left: 1em;
-
-}
-
-
-table.queue-summary tr>*:last-child {
- padding-right: 1em;
-
-}
-
-table.queue-summary a, table.collection-as-table a {
- font-weight: bold;
-}
-
-
-table.collection-as-table th.collection-as-table {
- background: #ddd;
- font-size: 0.9em;
- margin-bottom: 0.5em;
- text-align: left;
-
-}
-
-
-table.queue-summary th.collection-as-table {
- font-size: 0.9em;
- margin-bottom: 0.5em;
- text-align: right;
-
-}
-
-table.queue-summary th.collection-as-table:first-child {
- text-align: left;
-
-}
-
-
-tr.collection-as-table+tr.collection-as-table th {
- border-bottom: 2px solid grey;
-
-}
-
-
-
-
-table.queue-summary td {
- background: #efefef;
- border-bottom: 1px solid #ccc;
-}
-
-
-
-tr.evenline td {
- background: #eee;
-}
-
-tr.oddline td {
- background: #fff;
-
-}
-
-tr.evenline td, tr.oddline td {
- padding-top: 0.5em;
-}
-
-
-
-tr.evenline+tr.evenline td, tr.oddline+tr.oddline td{
- padding-top: 0;
- border: none;
-}
-
-
-
-table.collection-as-table td:first-child,
-table.collection-as-table th:first-child {
- padding-left: 1em;
-}
-
-table.collection-as-table td:last-child, table.collection-as-table th:last-child {
- padding-right: 1em;
-}
-
-th.collection-as-table , td.collection-as-table {
- padding-right: 0.5em;
-}
-
-.pagenum.a:hover, .paging a.nav:hover{
-text-decoration: underline;
-}
-
-
-.pagenum *, .paging a.nav{
-padding: .5em;
-}
-
-.currentpage{
-text-decoration: none;
-font-weight: bold;
-background: #eee;
-}
-
-div.paging{
-text-align: center;
-padding-bottom: 1em;
-}
-
-
-/* full-page ticket lists */
-#body>table.collection-as-table {
- margin-bottom: 2em;
-
-}
-
-.chart.image {
- padding-right: 2em;
- float: left;
- clear: both;
-}
-
-.chart-wrapper {
- display: block;
- width: auto;
-}
-
-.chart-wrapper .collection-as-table {
- width: auto;
- font-size: 1em;
- /* Firefox needs this to let the table flow below the chart on narrow screens */
- clear: right;
-}
-
-.chart-wrapper .collection-as-table th.collection-as-table {
- text-align: center;
- padding: 0.5em;
- padding-right: 1em;
- padding-left: 1em;
-}
-
-.chart-wrapper .collection-as-table tr.total td {
- border-top: 1px solid #ccc;
-}
-
-.chart-wrapper .collection-as-table td.value {
- padding-left: 0.5em;
-}
-
-.chart-wrapper .query {
- clear: both;
- text-align: center;
- font-size: 1.2em;
- padding: 1em;
-}
-
-.chart-wrapper .collection-as-table .label {
- font-weight: bold;
-}
-
-
-.chart-wrapper .query .label {
- font-weight: bold;
-}
-
-.chart-meta {
- padding-top: 2em;
- border-top: 1px solid #ccc;
-}
-
-.chart-meta .chart-type {
- display: inline-block;
- float: left;
- padding-right: 2em;
- clear: both;
-}
-
-.chart-meta .saved-search {
- display: inline-block;
-}
diff --git a/rt/share/html/NoAuth/css/web2/ticket-search.css b/rt/share/html/NoAuth/css/web2/ticket-search.css
deleted file mode 100644
index 58137cf..0000000
--- a/rt/share/html/NoAuth/css/web2/ticket-search.css
+++ /dev/null
@@ -1,244 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-#comp-Search-Build #body {
- position: relative;
-}
-
-#pick-criteria select {
- width: 8em;
-}
-
-#pick-criteria tr {
- height: 1.5em;
-}
-
-#pick-criteria td.label {
- font: message-box;
- padding-right: 0.5em;
- width: 11em;
-}
-
-#pick-criteria td.label select {
- width: 8.5em;
- text-align: right;
-}
-
-#pick-criteria td.operator {
- padding-right: 0.5em;
- text-align: left;
- vertical-align: bottom;
- width: 7em;
-}
-
-#pick-criteria td.operator select {
- text-align: right;
-}
-
-#pick-criteria td.value input,
-#pick-criteria td.value select {
- width: 11em;
-}
-
-#pick-criteria td.value #ValueOfDate {
- width: 11em;
-}
-
-
-#pick-criteria td.value #ValueOfTime {
- width: 4em;
-
-}
-
-#pick-criteria td.value #ValueOfTime-TimeUnits{
- width: 5.5em;
-}
-
-#pick-criteria td.value {
- padding-right: 0.5em;
- text-align: left;
- font: message-box;
-}
-
-#editquery, #editsearches{
- position: absolute;
- margin-top: 0.2em;
- right: 1em;
- left: 60%;
- top: 1em;
-/* margin-top: -1em; */
-}
-
-#editquery {
- top: 1.3em;
-}
-
-
-#editsearches {
- top: 24em;
-}
-
-
-#pick-criteria {
- width: 58%;
- padding-top: 0em;
- margin-top: 0em;
-}
-
-#pick-criteria .titlebox-content {
- overflow-x: auto;
-}
-
-#BuildQuery .submit {
- width: 58%;
-}
-
-
-#sorting.titlebox {
- width: 55%;
- padding-right: 1em;
-}
-
-#display-options .submit {
- width: 100%;
-}
-
-
-
-.search-result-views {
- position: absolute;
- top: 0;
- right: 0;
- margin-top: -2px;
- margin-right: 0em;
- padding: 0.25em;
- padding-left: 0.5em;
- padding-right: 0.5em;
- background-color: #ccc;
- border-left: 1px solid #999;
- border-bottom: 1px solid #999;
- -moz-border-radius-bottomleft: 0.5em;
- -webkit-border-bottom-left-radius: 0.5em;
- border-radius: 0 0 0 0.5em;
-}
-
-
-
-.search-result-views li {
-
- display: inline;
-}
-
-.search-result-views li:after {
- content: " \00b7 ";
-}
-
-.search-result-views li:last-child:after {
- content: "";
-
-}
-
-.edit-saved-searches .label {
- display: inline-block;
- width: 10em;
- font-weight: bold;
-}
-
-span#display-options {
- display: block;
- padding-top: 2em;
- margin-top: 2em;
- border-top: 1px solid #ccc;
- clear: both;
-}
-
-span#display-options .titlebox#sorting {
- float: left;
- width: auto;
- margin-right: 2em;
- min-width: 35%;
-}
-
-span#display-options .titlebox#columns {
- float: left;
-}
-
-span#display-options .titlebox#columns table.edit-columns td {
- padding: 0.5em;
-}
-
-span#display-options .titlebox#columns table.edit-columns div.row {
- width: 9em;
-}
-span#display-options .titlebox#columns table.edit-columns span.label {
- width: 2em;
-}
-
-span#display-options .titlebox#columns table.edit-columns span.value input,
-span#display-options .titlebox#columns table.edit-columns span.value select {
- width: 7em;
- padding: 0;
-}
-
-span#display-options .titlebox#columns table.edit-columns span.value {
- display: inline-block;
- width:7em;
-}
-
-#BuildQuery #formatbuttons.submit{
- width: 85%;
-}
-
-.refresh {
- float: left;
-}
-
-/* Force some widget to fit at max parent box */
-#HomeRefreshInterval, #SavedSearchLoad, #SavedSearchOwner {
- max-width: 100%;
-}
-
diff --git a/rt/share/html/NoAuth/css/web2/ticket.css b/rt/share/html/NoAuth/css/web2/ticket.css
deleted file mode 100644
index 683eeb7..0000000
--- a/rt/share/html/NoAuth/css/web2/ticket.css
+++ /dev/null
@@ -1,280 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-div#ticket-history div.ticket-transaction {
- border-top: 1px solid #ccc;
- padding-bottom: 0.25em;
- position: relative; /* gives us a container for position: absolute */
-}
-
-div#ticket-history div.odd {
- background-color: #fff;
-}
-
-div#ticket-history {
-
- margin-top: 0.75em;
- border-left: 1px solid #ccc;
-
- border-right: 2px solid #999;
- border-bottom: 2px solid #999;
-
-}
-
-.ticket-transaction div.metadata span.actions {
- position: absolute;
- top: 0;
- right: 0;
- padding: 0em;
- background: #ccc;
- text-align: right;
- border-left: 1px solid #999;
- border-bottom: 1px solid #999;
- color: #ccc;
- -moz-border-radius-bottomleft: 0.5em;
- -webkit-border-bottom-left-radius: 0.5em;
- white-space: nowrap;
-
- border-radius: 0 0 0 0.5em;
-}
-
-.ticket-transaction div.metadata span.type {
- text-align: center;
- float: left;
- margin: 0.25em 0.70em 0.25em 0.25em;
- width: 1em;
- height: 1.25em;
- padding: 0.75em 0 0 0;
- border-right: 1px solid #999;
- border-bottom: 1px solid #999;
- -moz-border-radius-bottomright: 0.25em;
- -webkit-border-bottom-right-radius: 0.25em;
-
- border-radius: 0 0 0.25em 0;
-
-}
-
-div#ticket-history span.type a {
- color: #fff;
-}
-
-
-div#ticket-history span.date {
- width: 10em;
-}
-
-
-div#ticket-history span.description {
- margin-left: 1em;
- font-weight: bold;
-}
-
-div#ticket-history span.time-taken {
- margin-left: 1em;
-}
-
-div#ticket-history div.content {
- padding-right: 1em;
- padding-bottom: 0.7em;
- margin-left: 1.5em;
-}
-
-.ticket-transaction .messagebody {
- font-size: 1em;
- padding-left: 1em;
- margin-top: 0.5em;
- padding-top: 0.5em;
- border-top: 1px solid #ccc;
- /*overflow: auto; */
- min-height: 2.5em;
- /* To avoid overlapping of "downloadattachment" by messagebody */
- clear: left;
- word-wrap: break-word;
-}
-
-.ticket-transaction .messagebody img {
- max-width: 100%;
-}
-
-div#ticket-history div.downloadattachment {
-float: right;
-clear: both;
-font-size: 0.9em;
-text-align: right;
-background: #ddd;
-padding: 0.5em;
-margin-left: 1em;
-
-border: 1px solid #ccc;
-border-right: 2px solid #aaa;
-border-bottom: 2px solid #aaa;
-margin-top: 0.5em;
--moz-border-radius: 0.5em;
--webkit-border-radius: 0.5em;
- border-radius: 0.5em;
-}
-
-div#ticket-history div.downloadattachment .downloadcontenttype{
-color: #666;
-padding-right:0.25em;
-}
-
-
-div#ticket-history .message-header-key {
- width: 7em;
- font-weight: bold;
- color: #666;
-}
-
-
-div#ticket-history .messagebody .messagebody{
- font-size: 1em;
- padding: 0;
- border: 0;
- margin: 0;
-}
-
-
-
-.ticket-transaction.basics .type { background: #b32; }
-.ticket-transaction.cfs .type { background: #b32; }
-.ticket-transaction.people .type { background: #48c; }
-.ticket-transaction.links .type { background: #316531; }
-.ticket-transaction.dates .type { background: #633063; }
-.ticket-transaction.message .type { background: #069; }
-.ticket-transaction.reminders .type { background: #369; }
-.ticket-transaction.other .type { background: #abc; }
-
-
-
-
-.ticket-info-cfs .titlebox-title .left { background-color: #b32; color: #fff;}
-.ticket-info-basics .titlebox-title .left { background-color: #b32; color: #fff;}
-.ticket-info-people .titlebox-title .left { background-color: #48c; color: #fff;}
-.ticket-info-requestor .titlebox-title .left { white-space: nowrap; background-color: #48c; color: #fff;}
-.ticket-info-links .titlebox-title .left { background-color: #316531; color: #fff;}
-.ticket-info-reminders .titlebox-title .left { background-color: #369; color: #fff;}
-.ticket-info-dates .titlebox-title .left { background-color: #633063; color: #fff;}
-.ticket-info-attachments .titlebox-title .left { background-color: #993366; color: #fff;}
-
-
-.ticket-summary .titlebox-title .left a, .ticket-summary .titlebox-title .left a:visited { color: #fff;}
-
-.unread-messages .titlebox , .unread-messages .titlebox-title .left {
- border: 1px solid #99a;
- border-right: 2px solid #aab;
- border-bottom: 2px solid #aab;
-
-}
-
-
-.unread-messages .titlebox {
- background-color: #dde;
-}
-
-.unread-messages .titlebox-title .left {
- background-color: #cce;
-}
-
-.ticket-inactive {
- text-decoration: line-through;
- color: #666
-}
-
-table.ticket-summary td.boxcontainer:first-child {
- width: 50%;
-}
-
-div.requestor-ticket-links {
- text-align: left;
- font-size: 0.8em;
- padding-top: 0.25em;
-}
-
-.more-about-requestor-extra-field .label {
- display: inline-block;
- width: 8em;
- font-weight: bold;
- text-align: right;
-}
-
-.more-about-requestor-extra-field .value {
- display: inline-block;
-}
-
-.ticket-info-requestor .more-about-requestor-extra,
-.ticket-info-requestor .comments-about-user,
-.ticket-info-requestor .more-about-requestor-tickets,
-.ticket-info-requestor .more-about-user-groups
-{
- margin: 1em 0;
-}
-
-.ticket-info-requestor .comments-about-user .label,
-.ticket-info-requestor .more-about-user-groups .label,
-.ticket-info-requestor .more-about-requestor-tickets .label
-{
- display: block;
- font-weight: bold;
- text-align: left;
-}
-
-.ticket-info-requestor .more-about-user-groups .value ul,
-.ticket-info-requestor .more-about-requestor-tickets ul
-{
- margin-top: 0;
- margin-bottom: 0;
-}
-
-
-/* textareas get to be bigger when we're in a table */
-tr.edit-custom-field.cftype-Text textarea,
-tr.edit-custom-field.cftype-Freeform input,
-tr.edit-custom-field.cftype-Wikitext textarea
-{
- width: 100%;
-}
diff --git a/rt/share/html/NoAuth/iCal/dhandler b/rt/share/html/NoAuth/iCal/dhandler
index ad1b475..9309ee3 100644
--- a/rt/share/html/NoAuth/iCal/dhandler
+++ b/rt/share/html/NoAuth/iCal/dhandler
@@ -85,34 +85,64 @@ $feed->add_properties('method' => ['publish']);
$feed->add_properties('prodid' => ["-//" . RT->Config->Get('rtname') ."//"]);
while (my $t = $tickets->Next) {
- next unless $t->DueObj->Unix > 0;
+ next unless $t->DueObj->IsSet;
- my $starttime = $t->StartsObj->Unix > 0 ? $t->StartsObj : $t->CreatedObj;
+ my $starttime = $t->StartsObj->IsSet ? $t->StartsObj : $t->CreatedObj;
+
+ my $url;
+ if ( RT->Config->Get('CanonicalizeURLsInFeeds') ) {
+ $url = RT->Config->Get('WebURL');
+ }
+ else {
+ $url = RT::Interface::Web::GetWebURLFromRequest();
+ }
+ $url .= "Ticket/Display.html?id=".$t->id,
my $now = RT::Date->new( $cu ); $now->SetToNow;
my $start = Data::ICal::Entry::Event->new;
my $end = Data::ICal::Entry::Event->new;
+
+
$_->add_properties(
- url => RT->Config->Get('WebURL') . "Ticket/Display.html?id=".$t->id,
- organizer => $t->OwnerObj->Name,
- dtstamp => $now->iCal,
- created => $t->CreatedObj->iCal,
+ url => $url,
+ description => $url,
+ organizer => $t->OwnerObj->Name,
+ dtstamp => $now->iCal,
+ created => $t->CreatedObj->iCal,
'last-modified' => $t->LastUpdatedObj->iCal,
) for $start, $end;
- $start->add_properties(
- summary => "Start: ".$t->Subject,
- dtstart => [$starttime->iCal( Time => 0 ) => { value => 'DATE' }],
- dtend => [$starttime->iCal( Time => 0 ) => { value => 'DATE'}],
- );
- $end->add_properties(
- summary => "Due: ".$t->Subject,
- dtstart => [$t->DueObj->iCal( Time => 0 ) => { value => 'DATE' }],
- dtend => [$t->DueObj->iCal( Time => 0 ) => { value => 'DATE' }],
- );
-
- $feed->add_entry($start);
- $feed->add_entry($end);
+ my %time = ( Time => 0 );
+ my %ical_value = ( value => 'DATE' );
+
+ if ( defined $ARGS{Time} ?
+ $ARGS{Time} : RT->Config->Get('TimeInICal', $user) ) {
+ $time{Time} = 1;
+ $ical_value{value} = 'DATE-TIME';
+ }
+
+ if( $ARGS{SingleEvent} ){
+ $start->add_properties(
+ summary => $t->Subject,
+ dtstart => [$starttime->iCal( %time ) => \%ical_value ],
+ dtend => [$t->DueObj->iCal( %time ) => \%ical_value ],
+ );
+ $feed->add_entry($start);
+ }
+ else{
+ $start->add_properties(
+ summary => "Start: ".$t->Subject,
+ dtstart => [$starttime->iCal( %time ) => \%ical_value ],
+ dtend => [$starttime->iCal( %time ) => \%ical_value ],
+ );
+ $end->add_properties(
+ summary => "Due: ".$t->Subject,
+ dtstart => [$t->DueObj->iCal( %time ) => \%ical_value ],
+ dtend => [$t->DueObj->iCal( %time ) => \%ical_value ],
+ );
+ $feed->add_entry($start);
+ $feed->add_entry($end);
+ }
}
$m->clear_buffer;
diff --git a/rt/share/html/NoAuth/images/autohandler b/rt/share/html/NoAuth/images/autohandler
deleted file mode 100644
index 1fd539d..0000000
--- a/rt/share/html/NoAuth/images/autohandler
+++ /dev/null
@@ -1,55 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<%INIT>
-# This autohandler will spit out RT's images if the user hasn't
-# properly configured their webserver to stop RT from passing
-# images through the mason handler.
-my $file = $m->base_comp->source_file;
-my $relfile = $m->base_comp->path;
-RT::Interface::Web->SendStaticFile( File => $file, RelativeFile => $relfile );
-</%INIT>
diff --git a/rt/share/html/NoAuth/images/test.png b/rt/share/html/NoAuth/images/test.png
deleted file mode 100644
index 1dcb2a2..0000000
--- a/rt/share/html/NoAuth/images/test.png
+++ /dev/null
@@ -1,2 +0,0 @@
-This file exists to support t/web/basic.t's image handling test.
-<& SYNTAX ERROR
diff --git a/rt/share/html/NoAuth/js/autohandler b/rt/share/html/NoAuth/js/autohandler
index c17af93..8f8c312 100644
--- a/rt/share/html/NoAuth/js/autohandler
+++ b/rt/share/html/NoAuth/js/autohandler
@@ -46,17 +46,8 @@
%#
%# END BPS TAGGED BLOCK }}}
<%init>
-
-my $type;
-my $file = $m->base_comp->source_file;
-
-if ($file =~ /\.(gif|png|jpe?g)$/i) {
- my $relfile = $m->base_comp->path;
- RT::Interface::Web->SendStaticFile( File => $file, RelativeFile => $relfile );
-} else {
- &RT::Interface::Web::StaticFileHeaders();
- $r->content_type('application/x-javascript');
- $m->call_next();
- return();
-}
+RT::Interface::Web::StaticFileHeaders();
+$r->content_type('application/x-javascript; charset=utf-8');
+$m->call_next();
+return();
</%init>
diff --git a/rt/share/html/NoAuth/js/cascaded.js b/rt/share/html/NoAuth/js/cascaded.js
deleted file mode 100644
index 9598043..0000000
--- a/rt/share/html/NoAuth/js/cascaded.js
+++ /dev/null
@@ -1,152 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-function filter_cascade (id, vals) {
- var element = document.getElementById(id);
- if (!element) { return };
-
- if ( element.tagName == 'SELECT' ) {
- return filter_cascade_select.apply(this, arguments);
- }
- else {
- if ( !( vals instanceof Array ) ) {
- vals = [vals];
- }
-
- if ( arguments.length == 3 && (vals.length == 0 || (vals.length == 1 && vals[0] == '')) ) {
- // no category, and the category is from a hierchical cf;
- // leave it empty
- jQuery(element).find('div').hide();
- }
- else {
- jQuery(element).find('div').hide().find('input').attr('disabled', 'disabled');
- jQuery(element).find('div[data-name=]').show().find('input').attr('disabled', '');
- jQuery(element).find('div.none').show().find('input').attr('disabled','');
- for ( var j = 0; j < vals.length; j++ ) {
- jQuery(element).find('div[data-name^=' + vals[j] + ']').show().find('input').attr('disabled', '');
- }
- }
- }
-}
-
-function filter_cascade_select (id, vals) {
- var select = document.getElementById(id);
- var complete_select = document.getElementById(id + "-Complete" );
- if ( !( vals instanceof Array ) ) {
- vals = [vals];
- }
-
- if (!select) { return };
- var i;
- var children = select.childNodes;
-
- if ( complete_select ) {
- jQuery(select).children().remove();
-
- var complete_children = complete_select.childNodes;
-
- var cloned_labels = {};
- var cloned_empty_label;
- for ( var j = 0; j < vals.length; j++ ) {
- var val = vals[j];
- if ( val == '' && arguments.length == 3 ) {
- // no category, and the category is from a hierchical cf;
- // leave this set of options empty
- } else if ( val == '' ) {
- // no category, let's clone all node
- jQuery(select).append(jQuery(complete_children).clone());
- break;
- }
- else {
- var labels_to_clone = {};
- for (i = 0; i < complete_children.length; i++) {
- if (!complete_children[i].label ||
- (complete_children[i].hasAttribute &&
- !complete_children[i].hasAttribute('label') ) ) {
- if ( cloned_empty_label ) {
- continue;
- }
- }
- else if ( complete_children[i].label.substr(0, val.length) == val ) {
- if ( cloned_labels[complete_children[i].label] ) {
- continue;
- }
- labels_to_clone[complete_children[i].label] = true;
- }
- else {
- continue;
- }
-
- jQuery(select).append(jQuery(complete_children[i]).clone());
- }
-
- if ( !cloned_empty_label )
- cloned_empty_label = true;
-
- for ( label in labels_to_clone ) {
- if ( !cloned_labels[label] )
- cloned_labels[label] = true;
- }
- }
- }
- }
- else {
-// for back compatibility
- for (i = 0; i < children.length; i++) {
- if (!children[i].label) { continue };
- if ( val == '' && arguments.length == 3 ) {
- hide(children[i]);
- continue;
- }
- if ( val == '' || children[i].label.substr(0, val.length) == val) {
- show(children[i]);
- continue;
- }
- hide(children[i]);
- }
- }
-}
diff --git a/rt/share/html/NoAuth/js/class.js b/rt/share/html/NoAuth/js/class.js
deleted file mode 100644
index b823c69..0000000
--- a/rt/share/html/NoAuth/js/class.js
+++ /dev/null
@@ -1,15 +0,0 @@
-/* by TKirby, released under GPL */
-
- function _ClassSetup(Object) {
- this.prototype = Object;
- return this;
- }
-
- function Class(name) {
- var _newclass_;
- eval("window."+name+" = new Function('this."+name+".apply(this,arguments);');");
- eval("window."+name+".define = _ClassSetup;");
- eval("_newclass_ = window."+name+";");
- return _newclass_;
- }
-
diff --git a/rt/share/html/NoAuth/js/combobox.js b/rt/share/html/NoAuth/js/combobox.js
deleted file mode 100644
index 45750c1..0000000
--- a/rt/share/html/NoAuth/js/combobox.js
+++ /dev/null
@@ -1,262 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-function ComboBox_InitWith(n) {
- if ( typeof( window.addEventListener ) != "undefined" ) {
- window.addEventListener("load", ComboBox_Init(n), false);
- } else if ( typeof( window.attachEvent ) != "undefined" ) {
- window.attachEvent("onload", ComboBox_Init(n));
- } else {
- ComboBox_Init(n)();
- }
-}
-function ComboBox_Init(n) {
- return function () {
- if ( ComboBox_UplevelBrowser( n ) ) {
- ComboBox_Load( n );
- }
- }
-}
-function ComboBox_UplevelBrowser( n ) {
- if( typeof( document.getElementById ) == "undefined" ) return false;
- var combo = document.getElementById( n + "_Container" );
- if( combo == null || typeof( combo ) == "undefined" ) return false;
- if( typeof( combo.style ) == "undefined" ) return false;
- if( typeof( combo.innerHTML ) == "undefined" ) return false;
- return true;
-}
-function ComboBox_Load( comboId ) {
- var combo = document.getElementById( comboId + "_Container" );
- var button = document.getElementById( comboId + "_Button" );
- var list = document.getElementById( comboId + "_List" );
- var text = document.getElementById( comboId );
-
-
- combo.List = list;
- combo.Button = button;
- combo.Text = text;
-
- button.Container = combo;
- button.Toggle = ComboBox_ToggleList;
- button.onclick = button.Toggle;
- button.onmouseover = function(e) { this.Container.List.DisableBlur(e); };
- button.onmouseout = function(e) { this.Container.List.EnableBlur(e); };
- button.onselectstart = function(e){ return false; };
- button.style.height = ( list.offsetHeight - 4 ) + "px";
-
- text.Container = combo;
- text.TypeDown = ComboBox_TextTypeDown;
- text.KeyAccess = ComboBox_TextKeyAccess;
- text.onkeyup = function(e) { this.KeyAccess(e); this.TypeDown(e); };
-
- list.Container = combo;
- list.Show = ComboBox_ShowList;
- list.Hide = ComboBox_HideList;
- list.EnableBlur = ComboBox_ListEnableBlur;
- list.DisableBlur = ComboBox_ListDisableBlur;
- list.Select = ComboBox_ListItemSelect;
- list.ClearSelection = ComboBox_ListClearSelection;
- list.KeyAccess = ComboBox_ListKeyAccess;
- list.FireTextChange = ComboBox_ListFireTextChange;
- list.onchange = null;
- list.onclick = function(e){ this.Select(e); this.ClearSelection(); this.FireTextChange(); };
- list.onkeyup = function(e) { this.KeyAccess(e); };
- list.EnableBlur(null);
- list.style.position = "absolute";
- list.size = ComboBox_GetListSize( list );
- list.IsShowing = true;
- list.Hide();
-
-}
-function ComboBox_InitEvent( e ) {
- if( typeof( e ) == "undefined" && typeof( window.event ) != "undefined" ) e = window.event;
- if( e == null ) e = new Object();
- return e;
-}
-function ComboBox_ListClearSelection() {
- if ( typeof( this.Container.Text.createTextRange ) == "undefined" ) return;
- var rNew = this.Container.Text.createTextRange();
- rNew.moveStart('character', this.Container.Text.value.length) ;
- rNew.select();
-}
-function ComboBox_GetListSize( theList ) {
- ComboBox_EnsureListSize( theList );
- return theList.listSize;
-}
-function ComboBox_EnsureListSize( theList ) {
- if ( typeof( theList.listSize ) == "undefined" ) {
- if( typeof( theList.getAttribute ) != "undefined" ) {
- if( theList.getAttribute( "size" ) != null && theList.getAttribute( "size" ) != "" ) {
- theList.listSize = theList.getAttribute( "size" );
- return;
- }
- }
- if( theList.options.length > 0 ) {
- theList.listSize = theList.options.length;
- return;
- }
- theList.listSize = 4;
- }
-}
-function ComboBox_ListKeyAccess(e) { //Make enter/space and escape do the right thing :)
- e = ComboBox_InitEvent( e );
- if( e.keyCode == 13 || e.keyCode == 32 ) {
- this.Select();
- return;
- }
- if( e.keyCode == 27 ) {
- this.Hide();
- this.Container.Text.focus();
- return;
- }
-}
-function ComboBox_TextKeyAccess(e) { //Make alt+arrow expand the list
- e = ComboBox_InitEvent( e );
- if( e.altKey && (e.keyCode == 38 || e.keyCode == 40) ) {
- this.Container.List.Show();
- }
-}
-function ComboBox_TextTypeDown(e) { //Make the textbox do a type-down on the list
- e = ComboBox_InitEvent( e );
- var items = this.Container.List.options;
- if( this.value == "" ) return;
- var ctrlKeys = Array( 8, 46, 37, 38, 39, 40, 33, 34, 35, 36, 45, 16, 20 );
- for( var i = 0; i < ctrlKeys.length; i++ ) {
- if( e.keyCode == ctrlKeys[i] ) return;
- }
- for( var i = 0; i < items.length; i++ ) {
- var item = items[i];
- if( item.text.toLowerCase().indexOf( this.value.toLowerCase() ) == 0 ) {
- this.Container.List.selectedIndex = i;
- if ( typeof( this.Container.Text.createTextRange ) != "undefined" ) {
- this.Container.List.Select();
- }
- break;
- }
- }
-}
-function ComboBox_ListFireTextChange() {
- var textOnChange = this.Container.Text.onchange;
- if ( textOnChange != null && typeof(textOnChange) == "function" ) {
- textOnChange();
- }
-}
-function ComboBox_ListEnableBlur(e) {
- this.onblur = this.Hide;
-}
-function ComboBox_ListDisableBlur(e) {
- this.onblur = null;
-}
-function ComboBox_ListItemSelect(e) {
- if( this.options.length > 0 ) {
- var text = this.Container.Text;
- var oldValue = text.value;
- var newValue = this.options[ this.selectedIndex ].text;
- text.value = newValue;
- if ( typeof( text.createTextRange ) != "undefined" ) {
- if (newValue != oldValue) {
- var rNew = text.createTextRange();
- rNew.moveStart('character', oldValue.length) ;
- rNew.select();
- }
- }
- }
- this.Hide();
- this.Container.Text.focus();
-}
-function ComboBox_ToggleList(e) {
- if( this.Container.List.IsShowing == true ) {
- this.Container.List.Hide();
- } else {
- this.Container.List.Show();
- }
-}
-function ComboBox_ShowList(e) {
- if ( !this.IsShowing && !this.disabled ) {
- this.style.top = '1.2em';//( this.Container.offsetHeight + ComboBox_RecursiveOffsetTop(this.Container,true) ) + "px";
- this.style.left = '0px';// ( ComboBox_RecursiveOffsetLeft(this.Container,true) + 1 ) + "px";
- ComboBox_SetVisibility(this,true);
- this.focus();
- this.IsShowing = true;
- }
-}
-function ComboBox_HideList(e) {
- if( this.IsShowing ) {
- ComboBox_SetVisibility(this,false);
- this.IsShowing = false;
- }
-}
-function ComboBox_SetVisibility(theList, isVisible) {
- setVisibility(theList, isVisible);
-}
-function ComboBox_RecursiveOffsetTop(thisObject,isFirst) {
- if(thisObject.offsetParent) {
- if ( thisObject.style.position == "absolute" && !isFirst && typeof(document.designMode) != "undefined" ) {
- return 0;
- }
- return (thisObject.offsetTop + ComboBox_RecursiveOffsetTop(thisObject.offsetParent,false));
- } else {
- return thisObject.offsetTop;
- }
-}
-function ComboBox_RecursiveOffsetLeft(thisObject,isFirst) {
- if(thisObject.offsetParent) {
- if ( thisObject.style.position == "absolute" && !isFirst && typeof(document.designMode) != "undefined" ) {
- return 0;
- }
- return (thisObject.offsetLeft + ComboBox_RecursiveOffsetLeft(thisObject.offsetParent,false));
- } else {
- return thisObject.offsetLeft;
- }
-}
-function ComboBox_SimpleAttach(selectElement,textElement) {
- textElement.value = selectElement.options[ selectElement.options.selectedIndex ].text;
- var textOnChange = textElement.onchange;
- if ( textOnChange != null && typeof( textOnChange ) == "function" ) {
- textOnChange();
- }
-}
diff --git a/rt/share/html/NoAuth/js/dhandler b/rt/share/html/NoAuth/js/dhandler
index 2b720d1..c0ee0b7 100644
--- a/rt/share/html/NoAuth/js/dhandler
+++ b/rt/share/html/NoAuth/js/dhandler
@@ -45,9 +45,6 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<%ONCE>
-my $content = '';
-</%ONCE>
<%INIT>
my $arg = $m->dhandler_arg;
if ( $arg =~ m{squished-[a-f0-9]{32}\.js$} ) {
@@ -61,5 +58,4 @@ if ( $arg =~ m{squished-[a-f0-9]{32}\.js$} ) {
else {
return $m->decline;
}
-
</%INIT>
diff --git a/rt/share/html/NoAuth/js/farbtastic.js b/rt/share/html/NoAuth/js/farbtastic.js
deleted file mode 100644
index 5d2f604..0000000
--- a/rt/share/html/NoAuth/js/farbtastic.js
+++ /dev/null
@@ -1,347 +0,0 @@
-/**
- * Farbtastic Color Picker 1.2
- * © 2008 Steven Wittens
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-(function ($){
-jQuery.fn.farbtastic = function (callback) {
- $.farbtastic(this, callback);
- return this;
-};
-
-jQuery.farbtastic = function (container, callback) {
- var container = $(container).get(0);
- return container.farbtastic || (container.farbtastic = new jQuery._farbtastic(container, callback));
-}
-
-jQuery._farbtastic = function (container, callback) {
- // Store farbtastic object
- var fb = this;
-
- // Insert markup
- $(container).html('<div class="farbtastic"><div class="color"></div><div class="wheel"></div><div class="overlay"></div><div class="h-marker marker"></div><div class="sl-marker marker"></div></div>');
- var e = $('.farbtastic', container);
- fb.wheel = $('.wheel', container).get(0);
- // Dimensions
- fb.radius = 84;
- fb.square = 100;
- fb.width = 194;
-
- // Fix background PNGs in IE6
- if (navigator.appVersion.match(/MSIE [0-6]\./)) {
- $('*', e).each(function () {
- if (this.currentStyle.backgroundImage != 'none') {
- var image = this.currentStyle.backgroundImage;
- image = this.currentStyle.backgroundImage.substring(5, image.length - 2);
- $(this).css({
- 'backgroundImage': 'none',
- 'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='" + image + "')"
- });
- }
- });
- }
-
- /**
- * Link to the given element(s) or callback.
- */
- fb.linkTo = function (callback) {
- // Unbind previous nodes
- if (typeof fb.callback == 'object') {
- $(fb.callback).unbind('keyup', fb.updateValue);
- }
-
- // Reset color
- fb.color = null;
-
- // Bind callback or elements
- if (typeof callback == 'function') {
- fb.callback = callback;
- }
- else if (typeof callback == 'object' || typeof callback == 'string') {
- fb.callback = $(callback);
- fb.callback.bind('keyup', fb.updateValue);
- if (fb.callback.get(0).value) {
- fb.setColor(fb.callback.get(0).value);
- }
- }
- return this;
- }
- fb.updateValue = function (event) {
- if (this.value && this.value != fb.color) {
- fb.setColor(this.value);
- }
- }
-
- /**
- * Change color with HTML syntax #123456
- */
- fb.setColor = function (color) {
- var unpack = fb.unpack(color);
- if (fb.color != color && unpack) {
- fb.color = color;
- fb.rgb = unpack;
- fb.hsl = fb.RGBToHSL(fb.rgb);
- fb.updateDisplay();
- }
- return this;
- }
-
- /**
- * Change color with HSL triplet [0..1, 0..1, 0..1]
- */
- fb.setHSL = function (hsl) {
- fb.hsl = hsl;
- fb.rgb = fb.HSLToRGB(hsl);
- fb.color = fb.pack(fb.rgb);
- fb.updateDisplay();
- return this;
- }
-
- /////////////////////////////////////////////////////
-
- /**
- * Retrieve the coordinates of the given event relative to the center
- * of the widget.
- */
- fb.widgetCoords = function (event) {
- var x, y;
- var el = event.target || event.srcElement;
- var reference = fb.wheel;
-
- if (typeof event.offsetX != 'undefined') {
- // Use offset coordinates and find common offsetParent
- var pos = { x: event.offsetX, y: event.offsetY };
-
- // Send the coordinates upwards through the offsetParent chain.
- var e = el;
- while (e) {
- e.mouseX = pos.x;
- e.mouseY = pos.y;
- pos.x += e.offsetLeft;
- pos.y += e.offsetTop;
- e = e.offsetParent;
- }
-
- // Look for the coordinates starting from the wheel widget.
- var e = reference;
- var offset = { x: 0, y: 0 }
- while (e) {
- if (typeof e.mouseX != 'undefined') {
- x = e.mouseX - offset.x;
- y = e.mouseY - offset.y;
- break;
- }
- offset.x += e.offsetLeft;
- offset.y += e.offsetTop;
- e = e.offsetParent;
- }
-
- // Reset stored coordinates
- e = el;
- while (e) {
- e.mouseX = undefined;
- e.mouseY = undefined;
- e = e.offsetParent;
- }
- }
- else {
- // Use absolute coordinates
- var pos = fb.absolutePosition(reference);
- x = (event.pageX || 0*(event.clientX + $('html').get(0).scrollLeft)) - pos.x;
- y = (event.pageY || 0*(event.clientY + $('html').get(0).scrollTop)) - pos.y;
- }
- // Subtract distance to middle
- return { x: x - fb.width / 2, y: y - fb.width / 2 };
- }
-
- /**
- * Mousedown handler
- */
- fb.mousedown = function (event) {
- // Capture mouse
- if (!document.dragging) {
- $(document).bind('mousemove', fb.mousemove).bind('mouseup', fb.mouseup);
- document.dragging = true;
- }
-
- // Check which area is being dragged
- var pos = fb.widgetCoords(event);
- fb.circleDrag = Math.max(Math.abs(pos.x), Math.abs(pos.y)) * 2 > fb.square;
-
- // Process
- fb.mousemove(event);
- return false;
- }
-
- /**
- * Mousemove handler
- */
- fb.mousemove = function (event) {
- // Get coordinates relative to color picker center
- var pos = fb.widgetCoords(event);
-
- // Set new HSL parameters
- if (fb.circleDrag) {
- var hue = Math.atan2(pos.x, -pos.y) / 6.28;
- if (hue < 0) hue += 1;
- fb.setHSL([hue, fb.hsl[1], fb.hsl[2]]);
- }
- else {
- var sat = Math.max(0, Math.min(1, -(pos.x / fb.square) + .5));
- var lum = Math.max(0, Math.min(1, -(pos.y / fb.square) + .5));
- fb.setHSL([fb.hsl[0], sat, lum]);
- }
- return false;
- }
-
- /**
- * Mouseup handler
- */
- fb.mouseup = function () {
- // Uncapture mouse
- $(document).unbind('mousemove', fb.mousemove);
- $(document).unbind('mouseup', fb.mouseup);
- document.dragging = false;
- }
-
- /**
- * Update the markers and styles
- */
- fb.updateDisplay = function () {
- // Markers
- var angle = fb.hsl[0] * 6.28;
- $('.h-marker', e).css({
- left: Math.round(Math.sin(angle) * fb.radius + fb.width / 2) + 'px',
- top: Math.round(-Math.cos(angle) * fb.radius + fb.width / 2) + 'px'
- });
-
- $('.sl-marker', e).css({
- left: Math.round(fb.square * (.5 - fb.hsl[1]) + fb.width / 2) + 'px',
- top: Math.round(fb.square * (.5 - fb.hsl[2]) + fb.width / 2) + 'px'
- });
-
- // Saturation/Luminance gradient
- $('.color', e).css('backgroundColor', fb.pack(fb.HSLToRGB([fb.hsl[0], 1, 0.5])));
-
- // Linked elements or callback
- if (typeof fb.callback == 'object') {
- // Set background/foreground color
- $(fb.callback).css({
- backgroundColor: fb.color,
- color: fb.hsl[2] > 0.5 ? '#000' : '#fff'
- });
-
- // Change linked value
- $(fb.callback).each(function() {
- if (this.value && this.value != fb.color) {
- this.value = fb.color;
- }
- });
- }
- else if (typeof fb.callback == 'function') {
- fb.callback.call(fb, fb.color);
- }
- }
-
- /**
- * Get absolute position of element
- */
- fb.absolutePosition = function (el) {
- var r = { x: el.offsetLeft, y: el.offsetTop };
- // Resolve relative to offsetParent
- if (el.offsetParent) {
- var tmp = fb.absolutePosition(el.offsetParent);
- r.x += tmp.x;
- r.y += tmp.y;
- }
- return r;
- };
-
- /* Various color utility functions */
- fb.pack = function (rgb) {
- var r = Math.round(rgb[0] * 255);
- var g = Math.round(rgb[1] * 255);
- var b = Math.round(rgb[2] * 255);
- return '#' + (r < 16 ? '0' : '') + r.toString(16) +
- (g < 16 ? '0' : '') + g.toString(16) +
- (b < 16 ? '0' : '') + b.toString(16);
- }
-
- fb.unpack = function (color) {
- if (color.length == 7) {
- return [parseInt('0x' + color.substring(1, 3)) / 255,
- parseInt('0x' + color.substring(3, 5)) / 255,
- parseInt('0x' + color.substring(5, 7)) / 255];
- }
- else if (color.length == 4) {
- return [parseInt('0x' + color.substring(1, 2)) / 15,
- parseInt('0x' + color.substring(2, 3)) / 15,
- parseInt('0x' + color.substring(3, 4)) / 15];
- }
- }
-
- fb.HSLToRGB = function (hsl) {
- var m1, m2, r, g, b;
- var h = hsl[0], s = hsl[1], l = hsl[2];
- m2 = (l <= 0.5) ? l * (s + 1) : l + s - l*s;
- m1 = l * 2 - m2;
- return [this.hueToRGB(m1, m2, h+0.33333),
- this.hueToRGB(m1, m2, h),
- this.hueToRGB(m1, m2, h-0.33333)];
- }
-
- fb.hueToRGB = function (m1, m2, h) {
- h = (h < 0) ? h + 1 : ((h > 1) ? h - 1 : h);
- if (h * 6 < 1) return m1 + (m2 - m1) * h * 6;
- if (h * 2 < 1) return m2;
- if (h * 3 < 2) return m1 + (m2 - m1) * (0.66666 - h) * 6;
- return m1;
- }
-
- fb.RGBToHSL = function (rgb) {
- var min, max, delta, h, s, l;
- var r = rgb[0], g = rgb[1], b = rgb[2];
- min = Math.min(r, Math.min(g, b));
- max = Math.max(r, Math.max(g, b));
- delta = max - min;
- l = (min + max) / 2;
- s = 0;
- if (l > 0 && l < 1) {
- s = delta / (l < 0.5 ? (2 * l) : (2 - 2 * l));
- }
- h = 0;
- if (delta > 0) {
- if (max == r && max != g) h += (g - b) / delta;
- if (max == g && max != b) h += (2 + (b - r) / delta);
- if (max == b && max != r) h += (4 + (r - g) / delta);
- h /= 6;
- }
- return [h, s, l];
- }
-
- // Install mousedown handler (the others are set on the document on-demand)
- $('*', e).mousedown(fb.mousedown);
-
- // Init color
- fb.setColor('#000000');
-
- // Set linked elements/callback
- if (callback) {
- fb.linkTo(callback);
- }
-}
-})(jQuery);
diff --git a/rt/share/html/NoAuth/js/jquery-1.4.2.min.js b/rt/share/html/NoAuth/js/jquery-1.4.2.min.js
deleted file mode 100644
index 7c24308..0000000
--- a/rt/share/html/NoAuth/js/jquery-1.4.2.min.js
+++ /dev/null
@@ -1,154 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.4.2
- * http://jquery.com/
- *
- * Copyright 2010, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2010, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Sat Feb 13 22:33:48 2010 -0500
- */
-(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?
-e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=
-j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g,
-"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=
-true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
-Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
-(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
-a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
-"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
-function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||
-c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",
-L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,
-"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+
-a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],
-d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===
-a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&
-!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=
-true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";
-var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,
-parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=
-false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=
-s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,
-applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];
-else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,
-a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===
-w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,
-cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",
-i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",
-" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=
-this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=
-e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=
-c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");
-a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,
-function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");
-k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),
-C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=
-null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=
-e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&
-f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;
-if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
-fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
-d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,
-"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=
-a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,
-isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit=
-{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};
-if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",
-e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,
-"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,
-d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&
-!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},
-toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,
-u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),
-function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];
-if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
-e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();
-t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||
-g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];
-for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-
-1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,
-CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},
-relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=
-l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];
-h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},
-CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,
-g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},
-text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},
-setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=
-h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=
-m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===
-"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,
-h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||
-!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=
-h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&
-q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>";
-if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();
-(function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:
-function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,
-gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;
-c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j=
-{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a===
-"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",
-d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?
-a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===
-1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?
-a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
-c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
-wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
-prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
-this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
-return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,
-""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&
-this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||
-u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===
-1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);
-return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",
-""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=
-c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?
-c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=
-function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=
-Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,
-"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=
-a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=
-a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==
-"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},
-serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),
-function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,
-global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&
-e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?
-"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===
-false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=
-false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",
-c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||
-d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);
-g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===
-1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b===
-"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;
-if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");
-this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],
-"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},
-animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=
-j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);
-this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration===
-"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||
-c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;
-this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=
-this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,
-e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||
-c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement?
-function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=
-this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;
-k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&
-f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";
-a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);
-c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,
-d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-
-f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":
-"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in
-e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);
diff --git a/rt/share/html/NoAuth/js/jquery-ui-1.8.4.custom.min.js b/rt/share/html/NoAuth/js/jquery-ui-1.8.4.custom.min.js
deleted file mode 100644
index 0466005..0000000
--- a/rt/share/html/NoAuth/js/jquery-ui-1.8.4.custom.min.js
+++ /dev/null
@@ -1,274 +0,0 @@
-/*!
- * jQuery UI 1.8.4
- *
- * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI
- */
-(function(c,j){function k(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.4",plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,
-b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&c.ui.isOverAxis(b,e,i)},keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,
-CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable",
-"off").css("MozUserSelect","")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none")},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,
-"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"));if(!isNaN(b)&&b!=0)return b}a=a.parent()}}return 0}});c.each(["Width","Height"],function(a,b){function d(f,g,l,m){c.each(e,function(){g-=
-parseFloat(c.curCSS(f,"padding"+this,true))||0;if(l)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(m)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c.style(this,h,d(this,f)+"px")})};c.fn["outer"+
-b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c.style(this,h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){var b=a.nodeName.toLowerCase(),d=c.attr(a,"tabindex");if("area"===b){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&k(a)}return(/input|select|textarea|button|object/.test(b)?!a.disabled:"a"==
-b?a.href||!isNaN(d):!isNaN(d))&&k(a)},tabbable:function(a){var b=c.attr(a,"tabindex");return(isNaN(b)||b>=0)&&c(a).is(":focusable")}})}})(jQuery);
-;/*!
- * jQuery UI Widget 1.8.4
- *
- * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Widget
- */
-(function(b,j){var k=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){b(this).triggerHandler("remove")});return k.call(b(this),a,c)})};b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options);
-b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.substring(0,1)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}):
-this.each(function(){var g=b.data(this,a);if(g){d&&g.option(d);g._init()}else b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=b.extend(true,{},this.options,b.metadata&&b.metadata.get(c)[this.widgetName],a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});
-this._create();this._init()},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a,e=this;if(arguments.length===0)return b.extend({},e.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}b.each(d,function(f,
-h){e._setOption(f,h)});return e},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=
-b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);
-;/*
- * jQuery UI Position 1.8.4
- *
- * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Position
- */
-(function(c){c.ui=c.ui||{};var m=/left|center|right/,n=/top|center|bottom/,p=c.fn.position,q=c.fn.offset;c.fn.position=function(a){if(!a||!a.of)return p.apply(this,arguments);a=c.extend({},a);var b=c(a.of),d=(a.collision||"flip").split(" "),e=a.offset?a.offset.split(" "):[0,0],g,h,i;if(a.of.nodeType===9){g=b.width();h=b.height();i={top:0,left:0}}else if(a.of.scrollTo&&a.of.document){g=b.width();h=b.height();i={top:b.scrollTop(),left:b.scrollLeft()}}else if(a.of.preventDefault){a.at="left top";g=h=
-0;i={top:a.of.pageY,left:a.of.pageX}}else{g=b.outerWidth();h=b.outerHeight();i=b.offset()}c.each(["my","at"],function(){var f=(a[this]||"").split(" ");if(f.length===1)f=m.test(f[0])?f.concat(["center"]):n.test(f[0])?["center"].concat(f):["center","center"];f[0]=m.test(f[0])?f[0]:"center";f[1]=n.test(f[1])?f[1]:"center";a[this]=f});if(d.length===1)d[1]=d[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(a.at[0]==="right")i.left+=g;else if(a.at[0]==="center")i.left+=
-g/2;if(a.at[1]==="bottom")i.top+=h;else if(a.at[1]==="center")i.top+=h/2;i.left+=e[0];i.top+=e[1];return this.each(function(){var f=c(this),k=f.outerWidth(),l=f.outerHeight(),j=c.extend({},i);if(a.my[0]==="right")j.left-=k;else if(a.my[0]==="center")j.left-=k/2;if(a.my[1]==="bottom")j.top-=l;else if(a.my[1]==="center")j.top-=l/2;j.left=parseInt(j.left);j.top=parseInt(j.top);c.each(["left","top"],function(o,r){c.ui.position[d[o]]&&c.ui.position[d[o]][r](j,{targetWidth:g,targetHeight:h,elemWidth:k,
-elemHeight:l,offset:e,my:a.my,at:a.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(j,{using:a.using}))})};c.ui.position={fit:{left:function(a,b){var d=c(window);b=a.left+b.elemWidth-d.width()-d.scrollLeft();a.left=b>0?a.left-b:Math.max(0,a.left)},top:function(a,b){var d=c(window);b=a.top+b.elemHeight-d.height()-d.scrollTop();a.top=b>0?a.top-b:Math.max(0,a.top)}},flip:{left:function(a,b){if(b.at[0]!=="center"){var d=c(window);d=a.left+b.elemWidth-d.width()-d.scrollLeft();var e=b.my[0]==="left"?
--b.elemWidth:b.my[0]==="right"?b.elemWidth:0,g=-2*b.offset[0];a.left+=a.left<0?e+b.targetWidth+g:d>0?e-b.targetWidth+g:0}},top:function(a,b){if(b.at[1]!=="center"){var d=c(window);d=a.top+b.elemHeight-d.height()-d.scrollTop();var e=b.my[1]==="top"?-b.elemHeight:b.my[1]==="bottom"?b.elemHeight:0,g=b.at[1]==="top"?b.targetHeight:-b.targetHeight,h=-2*b.offset[1];a.top+=a.top<0?e+b.targetHeight+h:d>0?e+g+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(a,b){if(/static/.test(c.curCSS(a,"position")))a.style.position=
-"relative";var d=c(a),e=d.offset(),g=parseInt(c.curCSS(a,"top",true),10)||0,h=parseInt(c.curCSS(a,"left",true),10)||0;e={top:b.top-e.top+g,left:b.left-e.left+h};"using"in b?b.using.call(a,e):d.css(e)};c.fn.offset=function(a){var b=this[0];if(!b||!b.ownerDocument)return null;if(a)return this.each(function(){c.offset.setOffset(this,a)});return q.call(this)}}})(jQuery);
-;/*
- * jQuery UI Accordion 1.8.5
- *
- * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Accordion
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- */
-(function(c){c.widget("ui.accordion",{options:{active:0,animated:"slide",autoHeight:true,clearStyle:false,collapsible:false,event:"click",fillSpace:false,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var a=this,b=a.options;a.running=0;a.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix");
-a.headers=a.element.find(b.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){b.disabled||c(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){b.disabled||c(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){b.disabled||c(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){b.disabled||c(this).removeClass("ui-state-focus")});a.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");
-if(b.navigation){var d=a.element.find("a").filter(b.navigationFilter).eq(0);if(d.length){var f=d.closest(".ui-accordion-header");a.active=f.length?f:d.closest(".ui-accordion-content").prev()}}a.active=a._findActive(a.active||b.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all ui-corner-top");a.active.next().addClass("ui-accordion-content-active");a._createIcons();a.resize();a.element.attr("role","tablist");a.headers.attr("role","tab").bind("keydown.accordion",function(g){return a._keydown(g)}).next().attr("role",
-"tabpanel");a.headers.not(a.active||"").attr({"aria-expanded":"false",tabIndex:-1}).next().hide();a.active.length?a.active.attr({"aria-expanded":"true",tabIndex:0}):a.headers.eq(0).attr("tabIndex",0);c.browser.safari||a.headers.find("a").attr("tabIndex",-1);b.event&&a.headers.bind(b.event.split(" ").join(".accordion ")+".accordion",function(g){a._clickHandler.call(a,g,this);g.preventDefault()})},_createIcons:function(){var a=this.options;if(a.icons){c("<span></span>").addClass("ui-icon "+a.icons.header).prependTo(this.headers);
-this.active.children(".ui-icon").toggleClass(a.icons.header).toggleClass(a.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var a=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("tabIndex");
-this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");if(a.autoHeight||a.fillHeight)b.css("height","");return c.Widget.prototype.destroy.call(this)},_setOption:function(a,b){c.Widget.prototype._setOption.apply(this,arguments);a=="active"&&this.activate(b);if(a=="icons"){this._destroyIcons();
-b&&this._createIcons()}if(a=="disabled")this.headers.add(this.headers.next())[b?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(a){if(!(this.options.disabled||a.altKey||a.ctrlKey)){var b=c.ui.keyCode,d=this.headers.length,f=this.headers.index(a.target),g=false;switch(a.keyCode){case b.RIGHT:case b.DOWN:g=this.headers[(f+1)%d];break;case b.LEFT:case b.UP:g=this.headers[(f-1+d)%d];break;case b.SPACE:case b.ENTER:this._clickHandler({target:a.target},a.target);
-a.preventDefault()}if(g){c(a.target).attr("tabIndex",-1);c(g).attr("tabIndex",0);g.focus();return false}return true}},resize:function(){var a=this.options,b;if(a.fillSpace){if(c.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}b=this.element.parent().height();c.browser.msie&&this.element.parent().css("overflow",d);this.headers.each(function(){b-=c(this).outerHeight(true)});this.headers.next().each(function(){c(this).height(Math.max(0,b-c(this).innerHeight()+
-c(this).height()))}).css("overflow","auto")}else if(a.autoHeight){b=0;this.headers.next().each(function(){b=Math.max(b,c(this).height("").height())}).height(b)}return this},activate:function(a){this.options.active=a;a=this._findActive(a)[0];this._clickHandler({target:a},a);return this},_findActive:function(a){return a?typeof a==="number"?this.headers.filter(":eq("+a+")"):this.headers.not(this.headers.not(a)):a===false?c([]):this.headers.filter(":eq(0)")},_clickHandler:function(a,b){var d=this.options;
-if(!d.disabled)if(a.target){a=c(a.currentTarget||b);b=a[0]===this.active[0];d.active=d.collapsible&&b?false:this.headers.index(a);if(!(this.running||!d.collapsible&&b)){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);if(!b){a.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);
-a.next().addClass("ui-accordion-content-active")}h=a.next();f=this.active.next();g={options:d,newHeader:b&&d.collapsible?c([]):a,oldHeader:this.active,newContent:b&&d.collapsible?c([]):h,oldContent:f};d=this.headers.index(this.active[0])>this.headers.index(a[0]);this.active=b?c([]):a;this._toggle(h,f,g,b,d)}}else if(d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);
-this.active.next().addClass("ui-accordion-content-active");var f=this.active.next(),g={options:d,newHeader:c([]),oldHeader:d.active,newContent:c([]),oldContent:f},h=this.active=c([]);this._toggle(h,f,g)}},_toggle:function(a,b,d,f,g){var h=this,e=h.options;h.toShow=a;h.toHide=b;h.data=d;var j=function(){if(h)return h._completed.apply(h,arguments)};h._trigger("changestart",null,h.data);h.running=b.size()===0?a.size():b.size();if(e.animated){d={};d=e.collapsible&&f?{toShow:c([]),toHide:b,complete:j,
-down:g,autoHeight:e.autoHeight||e.fillSpace}:{toShow:a,toHide:b,complete:j,down:g,autoHeight:e.autoHeight||e.fillSpace};if(!e.proxied)e.proxied=e.animated;if(!e.proxiedDuration)e.proxiedDuration=e.duration;e.animated=c.isFunction(e.proxied)?e.proxied(d):e.proxied;e.duration=c.isFunction(e.proxiedDuration)?e.proxiedDuration(d):e.proxiedDuration;f=c.ui.accordion.animations;var i=e.duration,k=e.animated;if(k&&!f[k]&&!c.easing[k])k="slide";f[k]||(f[k]=function(l){this.slide(l,{easing:k,duration:i||700})});
-f[k](d)}else{if(e.collapsible&&f)a.toggle();else{b.hide();a.show()}j(true)}b.prev().attr({"aria-expanded":"false",tabIndex:-1}).blur();a.prev().attr({"aria-expanded":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(!this.running){this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion,{version:"1.8.5",animations:{slide:function(a,
-b){a=c.extend({easing:"swing",duration:300},a,b);if(a.toHide.size())if(a.toShow.size()){var d=a.toShow.css("overflow"),f=0,g={},h={},e;b=a.toShow;e=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(j,i){h[i]="hide";j=(""+c.css(a.toShow[0],i)).match(/^([\d+-.]+)(.*)$/);g[i]={value:j[1],
-unit:j[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(h,{step:function(j,i){if(i.prop=="height")f=i.end-i.start===0?0:(i.now-i.start)/(i.end-i.start);a.toShow[0].style[i.prop]=f*g[i.prop].value+g[i.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css({width:e,overflow:d});a.complete()}})}else a.toHide.animate({height:"hide",paddingTop:"hide",
-paddingBottom:"hide"},a);else a.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery);
-;/*
- * jQuery UI Autocomplete 1.8.4
- *
- * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Autocomplete
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- * jquery.ui.position.js
- */
-(function(e){e.widget("ui.autocomplete",{options:{appendTo:"body",delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},_create:function(){var a=this,b=this.element[0].ownerDocument;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!a.options.disabled){var d=e.ui.keyCode;switch(c.keyCode){case d.PAGE_UP:a._move("previousPage",
-c);break;case d.PAGE_DOWN:a._move("nextPage",c);break;case d.UP:a._move("previous",c);c.preventDefault();break;case d.DOWN:a._move("next",c);c.preventDefault();break;case d.ENTER:case d.NUMPAD_ENTER:a.menu.element.is(":visible")&&c.preventDefault();case d.TAB:if(!a.menu.active)return;a.menu.select(c);break;case d.ESCAPE:a.element.val(a.term);a.close(c);break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){if(a.term!=a.element.val()){a.selectedItem=null;a.search(null,c)}},a.options.delay);
-break}}}).bind("focus.autocomplete",function(){if(!a.options.disabled){a.selectedItem=null;a.previous=a.element.val()}}).bind("blur.autocomplete",function(c){if(!a.options.disabled){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)}});this._initSource();this.response=function(){return a._response.apply(a,arguments)};this.menu=e("<ul></ul>").addClass("ui-autocomplete").appendTo(e(this.options.appendTo||"body",b)[0]).mousedown(function(c){var d=a.menu.element[0];
-c.target===d&&setTimeout(function(){e(document).one("mousedown",function(f){f.target!==a.element[0]&&f.target!==d&&!e.ui.contains(d,f.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,d){d=d.item.data("item.autocomplete");false!==a._trigger("focus",null,{item:d})&&/^key/.test(c.originalEvent.type)&&a.element.val(d.value)},selected:function(c,d){d=d.item.data("item.autocomplete");var f=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();
-a.previous=f}false!==a._trigger("select",c,{item:d})&&a.element.val(d.value);a.close(c);a.selectedItem=d},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");e.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove();
-e.Widget.prototype.destroy.call(this)},_setOption:function(a,b){e.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(e(b||"body",this.element[0].ownerDocument)[0])},_initSource:function(){var a,b;if(e.isArray(this.options.source)){a=this.options.source;this.source=function(c,d){d(e.ui.autocomplete.filter(a,c.term))}}else if(typeof this.options.source==="string"){b=this.options.source;this.source=function(c,d){e.getJSON(b,
-c,d)}}else this.source=this.options.source},search:function(a,b){a=a!=null?a:this.element.val();if(a.length<this.options.minLength)return this.close(b);clearTimeout(this.closing);if(this._trigger("search")!==false)return this._search(a)},_search:function(a){this.term=this.element.addClass("ui-autocomplete-loading").val();this.source({term:a},this.response)},_response:function(a){if(a.length){a=this._normalize(a);this._suggest(a);this._trigger("open")}else this.close();this.element.removeClass("ui-autocomplete-loading")},
-close:function(a){clearTimeout(this.closing);if(this.menu.element.is(":visible")){this._trigger("close",a);this.menu.element.hide();this.menu.deactivate()}},_change:function(a){this.previous!==this.element.val()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(a){if(a.length&&a[0].label&&a[0].value)return a;return e.map(a,function(b){if(typeof b==="string")return{label:b,value:b};return e.extend({label:b.label||b.value,value:b.value||b.label},b)})},_suggest:function(a){var b=
-this.menu.element.empty().zIndex(this.element.zIndex()+1),c;this._renderMenu(b,a);this.menu.deactivate();this.menu.refresh();this.menu.element.show().position(e.extend({of:this.element},this.options.position));a=b.width("").outerWidth();c=this.element.outerWidth();b.outerWidth(Math.max(a,c))},_renderMenu:function(a,b){var c=this;e.each(b,function(d,f){c._renderItem(a,f)})},_renderItem:function(a,b){return e("<li></li>").data("item.autocomplete",b).append(e("<a></a>").text(b.label)).appendTo(a)},_move:function(a,
-b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});e.extend(e.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},filter:function(a,b){var c=new RegExp(e.ui.autocomplete.escapeRegex(b),"i");return e.grep(a,function(d){return c.test(d.label||d.value||
-d)})}})})(jQuery);
-(function(e){e.widget("ui.menu",{_create:function(){var a=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(b){if(e(b.target).closest(".ui-menu-item a").length){b.preventDefault();a.select(b)}});this.refresh()},refresh:function(){var a=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex",-1).mouseenter(function(b){a.activate(b,
-e(this).parent())}).mouseleave(function(){a.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var c=b.offset().top-this.element.offset().top,d=this.element.attr("scrollTop"),f=this.element.height();if(c<0)this.element.attr("scrollTop",d+c);else c>f&&this.element.attr("scrollTop",d+c-f+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",a,{item:b})},deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id");
-this._trigger("blur");this.active=null}},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(a,b,c){if(this.active){a=this.active[a+"All"](".ui-menu-item").eq(0);a.length?this.activate(c,a):this.activate(c,this.element.children(b))}else this.activate(c,
-this.element.children(b))},nextPage:function(a){if(this.hasScroll())if(!this.active||this.last())this.activate(a,this.element.children(":first"));else{var b=this.active.offset().top,c=this.element.height(),d=this.element.children("li").filter(function(){var f=e(this).offset().top-b-c+e(this).height();return f<10&&f>-10});d.length||(d=this.element.children(":last"));this.activate(a,d)}else this.activate(a,this.element.children(!this.active||this.last()?":first":":last"))},previousPage:function(a){if(this.hasScroll())if(!this.active||
-this.first())this.activate(a,this.element.children(":last"));else{var b=this.active.offset().top,c=this.element.height();result=this.element.children("li").filter(function(){var d=e(this).offset().top-b+c-e(this).height();return d<10&&d>-10});result.length||(result=this.element.children(":first"));this.activate(a,result)}else this.activate(a,this.element.children(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element.attr("scrollHeight")},select:function(a){this._trigger("selected",
-a,{item:this.active})}})})(jQuery);
-;/*
- * jQuery UI Tabs 1.8.4
- *
- * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Tabs
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.widget.js
- */
-(function(d,p){function u(){return++v}function w(){return++x}var v=0,x=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:"<li><a href='#{href}'><span>#{label}</span></a></li>"},_create:function(){this._tabify(true)},_setOption:function(a,e){if(a=="selected")this.options.collapsible&&
-e==this.options.selected||this.select(e);else{this.options[a]=e;this._tabify()}},_tabId:function(a){return a.title&&a.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(a){return a.replace(/:/g,"\\:")},_cookie:function(){var a=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[a].concat(d.makeArray(arguments)))},_ui:function(a,e){return{tab:a,panel:e,index:this.anchors.index(a)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var a=
-d(this);a.html(a.data("label.tabs")).removeData("label.tabs")})},_tabify:function(a){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var b=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var j=d(f).attr("href"),l=j.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]||
-(q=d("base")[0])&&l===q.href)){j=f.hash;f.href=j}if(h.test(j))b.panels=b.panels.add(b._sanitizeSelector(j));else if(j!=="#"){d.data(f,"href.tabs",j);d.data(f,"load.tabs",j.replace(/#.*$/,""));j=b._tabId(f);f.href="#"+j;f=d("#"+j);if(!f.length){f=d(c.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(b.panels[g-1]||b.list);f.data("destroy.tabs",true)}b.panels=b.panels.add(f)}else c.disabled.push(g)});if(a){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");
-this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(b._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected=
-this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return b.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");
-if(c.selected>=0&&this.anchors.length){this.panels.eq(c.selected).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");b.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[c.selected],b.panels[c.selected]))});this.load(c.selected)}d(window).bind("unload",function(){b.lis.add(b.anchors).unbind(".tabs");b.lis=b.anchors=b.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));this.element[c.collapsible?"addClass":
-"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);a=0;for(var i;i=this.lis[a];a++)d(i)[d.inArray(a,c.disabled)!=-1&&!d(i).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+g)};this.lis.bind("mouseover.tabs",
-function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",function(){e(f,o);b._trigger("show",
-null,b._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");b._trigger("show",null,b._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){b.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);b.element.dequeue("tabs")})}:function(g,f){b.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");b.element.dequeue("tabs")};this.anchors.bind(c.event+".tabs",
-function(){var g=this,f=d(g).closest("li"),j=b.panels.filter(":not(.ui-tabs-hide)"),l=d(b._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||b._trigger("select",null,b._ui(this,l[0]))===false){this.blur();return false}c.selected=b.anchors.index(this);b.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected=-1;c.cookie&&b._cookie(c.selected,c.cookie);b.element.queue("tabs",function(){s(g,
-j)}).dequeue("tabs");this.blur();return false}else if(!j.length){c.cookie&&b._cookie(c.selected,c.cookie);b.element.queue("tabs",function(){r(g,l)});b.load(b.anchors.index(this));this.blur();return false}c.cookie&&b._cookie(c.selected,c.cookie);if(l.length){j.length&&b.element.queue("tabs",function(){s(g,j)});b.element.queue("tabs",function(){r(g,l)});b.load(b.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",
-function(){return false})},_getIndex:function(a){if(typeof a=="string")a=this.anchors.index(this.anchors.filter("[href$="+a+"]"));return a},destroy:function(){var a=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=d.data(this,"href.tabs");if(e)this.href=
-e;var b=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){b.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});a.cookie&&this._cookie(null,a.cookie);return this},add:function(a,e,b){if(b===p)b=this.anchors.length;
-var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,a).replace(/#\{label\}/g,e));a=!a.indexOf("#")?a.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var i=d("#"+a);i.length||(i=d(h.panelTemplate).attr("id",a).data("destroy.tabs",true));i.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(b>=this.lis.length){e.appendTo(this.list);i.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[b]);
-i.insertBefore(this.panels[b])}h.disabled=d.map(h.disabled,function(k){return k>=b?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");i.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[b],this.panels[b]));return this},remove:function(a){a=this._getIndex(a);var e=this.options,b=this.lis.eq(a).remove(),c=this.panels.eq(a).remove();
-if(b.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(a+(a+1<this.anchors.length?1:-1));e.disabled=d.map(d.grep(e.disabled,function(h){return h!=a}),function(h){return h>=a?--h:h});this._tabify();this._trigger("remove",null,this._ui(b.find("a")[0],c[0]));return this},enable:function(a){a=this._getIndex(a);var e=this.options;if(d.inArray(a,e.disabled)!=-1){this.lis.eq(a).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(b){return b!=a});this._trigger("enable",null,
-this._ui(this.anchors[a],this.panels[a]));return this}},disable:function(a){a=this._getIndex(a);var e=this.options;if(a!=e.selected){this.lis.eq(a).addClass("ui-state-disabled");e.disabled.push(a);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[a],this.panels[a]))}return this},select:function(a){a=this._getIndex(a);if(a==-1)if(this.options.collapsible&&this.options.selected!=-1)a=this.options.selected;else return this;this.anchors.eq(a).trigger(this.options.event+".tabs");return this},
-load:function(a){a=this._getIndex(a);var e=this,b=this.options,c=this.anchors.eq(a)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(a).addClass("ui-state-processing");if(b.spinner){var i=d("span",c);i.data("label.tabs",i.html()).html(b.spinner)}this.xhr=d.ajax(d.extend({},b.ajaxOptions,{url:h,success:function(k,n){d(e._sanitizeSelector(c.hash)).html(k);e._cleanup();b.cache&&d.data(c,"cache.tabs",
-true);e._trigger("load",null,e._ui(e.anchors[a],e.panels[a]));try{b.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[a],e.panels[a]));try{b.ajaxOptions.error(k,n,a,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},url:function(a,
-e){this.anchors.eq(a).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.4"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(a,e){var b=this,c=this.options,h=b._rotate||(b._rotate=function(i){clearTimeout(b.rotation);b.rotation=setTimeout(function(){var k=c.selected;b.select(++k<b.anchors.length?k:0)},a);i&&i.stopPropagation()});e=b._unrotate||(b._unrotate=!e?function(i){i.clientX&&b.rotate(null)}:
-function(){t=c.selected;h()});if(a){this.element.bind("tabsshow",h);this.anchors.bind(c.event+".tabs",e);h()}else{clearTimeout(b.rotation);this.element.unbind("tabsshow",h);this.anchors.unbind(c.event+".tabs",e);delete this._rotate;delete this._unrotate}return this}})})(jQuery);
-;/*
- * jQuery UI Datepicker 1.8.4
- *
- * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Datepicker
- *
- * Depends:
- * jquery.ui.core.js
- */
-(function(d,G){function L(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._inDialog=this._datepickerShowing=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass=
-"ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su",
-"Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,yearRange:"c-10:c+10",showOtherMonths:false,selectOtherMonths:false,showWeek:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",
-minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false};d.extend(this._defaults,this.regional[""]);this.dpDiv=d('<div id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-helper-hidden-accessible"></div>')}function E(a,b){d.extend(a,
-b);for(var c in b)if(b[c]==null||b[c]==G)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.4"}});var y=(new Date).getTime();d.extend(L.prototype,{markerClassName:"hasDatepicker",log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){E(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=
-f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_])/g,"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:d('<div class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>')}},
-_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&&
-b.append.remove();if(c){b.append=d('<span class="'+this._appendClass+'">'+c+"</span>");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c=="focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("<img/>").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('<button type="button"></button>').addClass(this._triggerClass).html(f==
-""?c:d("<img/>").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker():d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;g<f.length;g++)if(f[g].length>h){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a,
-c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b),
-true);this._updateDatepicker(b);this._updateAlternate(b)}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+=1;this._dialogInput=d('<input type="text" id="'+("dp"+this.uuid)+'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}E(a.settings,e||{});b=b&&b.constructor==
-Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);
-d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},
-_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().removeClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b=
-d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().addClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;
-for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return true;return false},_getInst:function(a){try{return d.data(a,"datepicker")}catch(b){throw"Missing instance data for this datepicker";}},_optionDatepicker:function(a,b,c){var e=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?d.extend({},d.datepicker._defaults):e?b=="all"?d.extend({},e.settings):this._get(e,b):null;var f=b||{};if(typeof b=="string"){f={};f[b]=c}if(e){this._curInst==e&&
-this._hideDatepicker();var h=this._getDateDatepicker(a,true);E(e.settings,f);this._attachments(d(a),e);this._autoSize(e);this._setDateDatepicker(a,h);this._updateDatepicker(e)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){(a=this._getInst(a))&&this._updateDatepicker(a)},_setDateDatepicker:function(a,b){if(a=this._getInst(a)){this._setDate(a,b);this._updateDatepicker(a);this._updateAlternate(a)}},_getDateDatepicker:function(a,b){(a=this._getInst(a))&&
-!a.inline&&this._setDateFromField(a,b);return a?this._getDate(a):null},_doKeyDown:function(a){var b=d.datepicker._getInst(a.target),c=true,e=b.dpDiv.is(".ui-datepicker-rtl");b._keyEvent=true;if(d.datepicker._datepickerShowing)switch(a.keyCode){case 9:d.datepicker._hideDatepicker();c=false;break;case 13:c=d("td."+d.datepicker._dayOverClass,b.dpDiv).add(d("td."+d.datepicker._currentClass,b.dpDiv));c[0]?d.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,c[0]):d.datepicker._hideDatepicker();
-return false;case 27:d.datepicker._hideDatepicker();break;case 33:d.datepicker._adjustDate(a.target,a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 34:d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,"stepMonths"),"M");break;case 35:if(a.ctrlKey||a.metaKey)d.datepicker._clearDate(a.target);c=a.ctrlKey||a.metaKey;break;case 36:if(a.ctrlKey||a.metaKey)d.datepicker._gotoToday(a.target);c=a.ctrlKey||
-a.metaKey;break;case 37:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?+1:-1,"D");c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 38:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,-7,"D");c=a.ctrlKey||a.metaKey;break;case 39:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?-1:+1,"D");c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,
-a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,"stepMonths"),"M");break;case 40:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,+7,"D");c=a.ctrlKey||a.metaKey;break;default:c=false}else if(a.keyCode==36&&a.ctrlKey)d.datepicker._showDatepicker(this);else c=false;if(c){a.preventDefault();a.stopPropagation()}},_doKeyPress:function(a){var b=d.datepicker._getInst(a.target);if(d.datepicker._get(b,"constrainInput")){b=d.datepicker._possibleChars(d.datepicker._get(b,"dateFormat"));
-var c=String.fromCharCode(a.charCode==G?a.keyCode:a.charCode);return a.ctrlKey||c<" "||!b||b.indexOf(c)>-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target||
-a;if(a.nodeName.toLowerCase()!="input")a=d("input",a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);d.datepicker._curInst&&d.datepicker._curInst!=b&&d.datepicker._curInst.dpDiv.stop(true,true);var c=d.datepicker._get(b,"beforeShow");E(b.settings,c?c.apply(a,[a,b]):{});b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value="";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a);
-d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b);c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&&
-d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){d.datepicker._datepickerShowing=true;var i=d.datepicker._getBorders(b.dpDiv);b.dpDiv.find("iframe.ui-datepicker-cover").css({left:-i[0],top:-i[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})};b.dpDiv.zIndex(d(a).zIndex()+1);d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,
-h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}},_updateDatepicker:function(a){var b=this,c=d.datepicker._getBorders(a.dpDiv);a.dpDiv.empty().append(this._generateHTML(a)).find("iframe.ui-datepicker-cover").css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}).end().find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){d(this).removeClass("ui-state-hover");
-this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).removeClass("ui-datepicker-prev-hover");this.className.indexOf("ui-datepicker-next")!=-1&&d(this).removeClass("ui-datepicker-next-hover")}).bind("mouseover",function(){if(!b._isDisabledDatepicker(a.inline?a.dpDiv.parent()[0]:a.input[0])){d(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");d(this).addClass("ui-state-hover");this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).addClass("ui-datepicker-prev-hover");
-this.className.indexOf("ui-datepicker-next")!=-1&&d(this).addClass("ui-datepicker-next-hover")}}).end().find("."+this._dayOverClass+" a").trigger("mouseover").end();c=this._getNumberOfMonths(a);var e=c[1];e>1?a.dpDiv.addClass("ui-datepicker-multi-"+e).css("width",17*e+"em"):a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");a.dpDiv[(c[0]!=1||c[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");
-a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input.focus()},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(),h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),
-k=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>k&&k>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b=this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1);)a=a[b?"previousSibling":"nextSibling"];
-a=d(a).offset();return[a.left,a.top]},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b);this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();if(a=this._get(b,"onClose"))a.apply(b.input?b.input[0]:null,[b.input?b.input.val():
-"",b]);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&
-!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;
-b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e._selectingMonthYear=false;e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_clickMonthYear:function(a){var b=
-this._getInst(d(a)[0]);b.input&&b._selectingMonthYear&&setTimeout(function(){b.input.focus()},0);b._selectingMonthYear=!b._selectingMonthYear},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=
-d(a);this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,
-"altField");if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b==
-"object"?b.toString():b+"";if(b=="")return null;for(var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff,f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,k=c=-1,l=-1,u=-1,j=false,o=function(p){(p=z+1<a.length&&a.charAt(z+1)==p)&&z++;return p},m=function(p){o(p);p=new RegExp("^\\d{1,"+(p=="@"?14:p=="!"?20:p=="y"?4:p=="o"?
-3:2)+"}");p=b.substring(s).match(p);if(!p)throw"Missing number at position "+s;s+=p[0].length;return parseInt(p[0],10)},n=function(p,w,H){p=o(p)?H:w;for(w=0;w<p.length;w++)if(b.substr(s,p[w].length)==p[w]){s+=p[w].length;return w+1}throw"Unknown name at position "+s;},r=function(){if(b.charAt(s)!=a.charAt(z))throw"Unexpected literal at position "+s;s++},s=0,z=0;z<a.length;z++)if(j)if(a.charAt(z)=="'"&&!o("'"))j=false;else r();else switch(a.charAt(z)){case "d":l=m("d");break;case "D":n("D",f,h);break;
-case "o":u=m("o");break;case "m":k=m("m");break;case "M":k=n("M",i,g);break;case "y":c=m("y");break;case "@":var v=new Date(m("@"));c=v.getFullYear();k=v.getMonth()+1;l=v.getDate();break;case "!":v=new Date((m("!")-this._ticksTo1970)/1E4);c=v.getFullYear();k=v.getMonth()+1;l=v.getDate();break;case "'":if(o("'"))r();else j=true;break;default:r()}if(c==-1)c=(new Date).getFullYear();else if(c<100)c+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c<=e?0:-100);if(u>-1){k=1;l=u;do{e=this._getDaysInMonth(c,
-k-1);if(l<=e)break;k++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c,k-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=k||v.getDate()!=l)throw"Invalid date";return v},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";
-var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames:null)||this._defaults.monthNames;var i=function(o){(o=j+1<a.length&&a.charAt(j+1)==o)&&j++;return o},g=function(o,m,n){m=""+m;if(i(o))for(;m.length<n;)m="0"+m;return m},k=function(o,m,n,r){return i(o)?r[m]:n[m]},l="",u=false;if(b)for(var j=0;j<a.length;j++)if(u)if(a.charAt(j)=="'"&&!i("'"))u=false;else l+=a.charAt(j);
-else switch(a.charAt(j)){case "d":l+=g("d",b.getDate(),2);break;case "D":l+=k("D",b.getDay(),e,f);break;case "o":l+=g("o",(b.getTime()-(new Date(b.getFullYear(),0,0)).getTime())/864E5,3);break;case "m":l+=g("m",b.getMonth()+1,2);break;case "M":l+=k("M",b.getMonth(),h,c);break;case "y":l+=i("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case "@":l+=b.getTime();break;case "!":l+=b.getTime()*1E4+this._ticksTo1970;break;case "'":if(i("'"))l+="'";else u=true;break;default:l+=a.charAt(j)}return l},
-_possibleChars:function(a){for(var b="",c=false,e=function(h){(h=f+1<a.length&&a.charAt(f+1)==h)&&f++;return h},f=0;f<a.length;f++)if(c)if(a.charAt(f)=="'"&&!e("'"))c=false;else b+=a.charAt(f);else switch(a.charAt(f)){case "d":case "m":case "y":case "@":b+="0123456789";break;case "D":case "M":return null;case "'":if(e("'"))b+="'";else c=true;break;default:b+=a.charAt(f)}return b},_get:function(a,b){return a.settings[b]!==G?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!=
-a.lastVal){var c=this._get(a,"dateFormat"),e=a.lastVal=a.input?a.input.val():null,f,h;f=h=this._getDefaultDate(a);var i=this._getFormatConfig(a);try{f=this.parseDate(c,e,i)||h}catch(g){this.log(g);e=b?"":e}a.selectedDay=f.getDate();a.drawMonth=a.selectedMonth=f.getMonth();a.drawYear=a.selectedYear=f.getFullYear();a.currentDay=e?f.getDate():0;a.currentMonth=e?f.getMonth():0;a.currentYear=e?f.getFullYear():0;this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,
-this._get(a,"defaultDate"),new Date))},_determineDate:function(a,b,c){var e=function(h){var i=new Date;i.setDate(i.getDate()+h);return i},f=function(h){try{return d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),h,d.datepicker._getFormatConfig(a))}catch(i){}var g=(h.toLowerCase().match(/^c/)?d.datepicker._getDate(a):null)||new Date,k=g.getFullYear(),l=g.getMonth();g=g.getDate();for(var u=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,j=u.exec(h);j;){switch(j[2]||"d"){case "d":case "D":g+=parseInt(j[1],
-10);break;case "w":case "W":g+=parseInt(j[1],10)*7;break;case "m":case "M":l+=parseInt(j[1],10);g=Math.min(g,d.datepicker._getDaysInMonth(k,l));break;case "y":case "Y":k+=parseInt(j[1],10);g=Math.min(g,d.datepicker._getDaysInMonth(k,l));break}j=u.exec(h)}return new Date(k,l,g)};if(b=(b=b==null?c:typeof b=="string"?f(b):typeof b=="number"?isNaN(b)?c:e(b):b)&&b.toString()=="Invalid Date"?c:b){b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0)}return this._daylightSavingAdjust(b)},_daylightSavingAdjust:function(a){if(!a)return null;
-a.setHours(a.getHours()>12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||
-a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),k=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay?
-new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),j=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=j&&n<j?j:n;this._daylightSavingAdjust(new Date(m,g,1))>n;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-k,1)),this._getFormatConfig(a));
-n=this._canAdjustMonth(a,-1,m,g)?'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_'+y+".datepicker._adjustDate('#"+a.id+"', -"+k+", 'M');\" title=\""+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>":f?"":'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+n+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>";var r=this._get(a,"nextText");r=!h?r:this.formatDate(r,this._daylightSavingAdjust(new Date(m,
-g+k,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_'+y+".datepicker._adjustDate('#"+a.id+"', +"+k+", 'M');\" title=\""+r+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+r+"</span></a>":f?"":'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+r+'"><span class="ui-icon ui-icon-circle-triangle-'+(c?"w":"e")+'">'+r+"</span></a>";k=this._get(a,"currentText");r=this._get(a,"gotoCurrent")&&
-a.currentDay?u:b;k=!h?k:this.formatDate(k,r,this._getFormatConfig(a));h=!a.inline?'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+y+'.datepicker._hideDatepicker();">'+this._get(a,"closeText")+"</button>":"";e=e?'<div class="ui-datepicker-buttonpane ui-widget-content">'+(c?h:"")+(this._isInRange(a,r)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+
-y+".datepicker._gotoToday('#"+a.id+"');\">"+k+"</button>":"")+(c?"":h)+"</div>":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;k=this._get(a,"showWeek");r=this._get(a,"dayNames");this._get(a,"dayNamesShort");var s=this._get(a,"dayNamesMin"),z=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),w=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var M=this._getDefaultDate(a),I="",C=0;C<i[0];C++){for(var N=
-"",D=0;D<i[1];D++){var J=this._daylightSavingAdjust(new Date(m,g,a.selectedDay)),t=" ui-corner-all",x="";if(l){x+='<div class="ui-datepicker-group';if(i[1]>1)switch(D){case 0:x+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:x+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:x+=" ui-datepicker-group-middle";t="";break}x+='">'}x+='<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix'+t+'">'+(/all|left/.test(t)&&C==0?c?
-f:n:"")+(/all|right/.test(t)&&C==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,j,o,C>0||D>0,z,v)+'</div><table class="ui-datepicker-calendar"><thead><tr>';var A=k?'<th class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(t=0;t<7;t++){var q=(t+h)%7;A+="<th"+((t+h+6)%7>=5?' class="ui-datepicker-week-end"':"")+'><span title="'+r[q]+'">'+s[q]+"</span></th>"}x+=A+"</tr></thead><tbody>";A=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay,
-A);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;A=l?6:Math.ceil((t+A)/7);q=this._daylightSavingAdjust(new Date(m,g,1-t));for(var O=0;O<A;O++){x+="<tr>";var P=!k?"":'<td class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(q)+"</td>";for(t=0;t<7;t++){var F=p?p.apply(a.input?a.input[0]:null,[q]):[true,""],B=q.getMonth()!=g,K=B&&!H||!F[0]||j&&q<j||o&&q>o;P+='<td class="'+((t+h+6)%7>=5?" ui-datepicker-week-end":"")+(B?" ui-datepicker-other-month":"")+(q.getTime()==J.getTime()&&g==a.selectedMonth&&
-a._keyEvent||M.getTime()==q.getTime()&&M.getTime()==J.getTime()?" "+this._dayOverClass:"")+(K?" "+this._unselectableClass+" ui-state-disabled":"")+(B&&!w?"":" "+F[1]+(q.getTime()==u.getTime()?" "+this._currentClass:"")+(q.getTime()==b.getTime()?" ui-datepicker-today":""))+'"'+((!B||w)&&F[2]?' title="'+F[2]+'"':"")+(K?"":' onclick="DP_jQuery_'+y+".datepicker._selectDay('#"+a.id+"',"+q.getMonth()+","+q.getFullYear()+', this);return false;"')+">"+(B&&!w?"&#xa0;":K?'<span class="ui-state-default">'+q.getDate()+
-"</span>":'<a class="ui-state-default'+(q.getTime()==b.getTime()?" ui-state-highlight":"")+(q.getTime()==J.getTime()?" ui-state-active":"")+(B?" ui-priority-secondary":"")+'" href="#">'+q.getDate()+"</a>")+"</td>";q.setDate(q.getDate()+1);q=this._daylightSavingAdjust(q)}x+=P+"</tr>"}g++;if(g>11){g=0;m++}x+="</tbody></table>"+(l?"</div>"+(i[0]>0&&D==i[1]-1?'<div class="ui-datepicker-row-break"></div>':""):"");N+=x}I+=N}I+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':
-"");a._keyEvent=false;return I},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var k=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),j='<div class="ui-datepicker-title">',o="";if(h||!k)o+='<span class="ui-datepicker-month">'+i[b]+"</span>";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='<select class="ui-datepicker-month" onchange="DP_jQuery_'+y+".datepicker._selectMonthYear('#"+a.id+"', this, 'M');\" onclick=\"DP_jQuery_"+y+".datepicker._clickMonthYear('#"+
-a.id+"');\">";for(var n=0;n<12;n++)if((!i||n>=e.getMonth())&&(!m||n<=f.getMonth()))o+='<option value="'+n+'"'+(n==b?' selected="selected"':"")+">"+g[n]+"</option>";o+="</select>"}u||(j+=o+(h||!(k&&l)?"&#xa0;":""));if(h||!l)j+='<span class="ui-datepicker-year">'+c+"</span>";else{g=this._get(a,"yearRange").split(":");var r=(new Date).getFullYear();i=function(s){s=s.match(/c[+-].*/)?c+parseInt(s.substring(1),10):s.match(/[+-].*/)?r+parseInt(s,10):parseInt(s,10);return isNaN(s)?r:s};b=i(g[0]);g=Math.max(b,
-i(g[1]||""));b=e?Math.max(b,e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(j+='<select class="ui-datepicker-year" onchange="DP_jQuery_'+y+".datepicker._selectMonthYear('#"+a.id+"', this, 'Y');\" onclick=\"DP_jQuery_"+y+".datepicker._clickMonthYear('#"+a.id+"');\">";b<=g;b++)j+='<option value="'+b+'"'+(b==c?' selected="selected"':"")+">"+b+"</option>";j+="</select>"}j+=this._get(a,"yearSuffix");if(u)j+=(h||!(k&&l)?"&#xa0;":"")+o;j+="</div>";return j},_adjustInstDate:function(a,b,c){var e=
-a.drawYear+(c=="Y"?b:0),f=a.drawMonth+(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&b<c?c:b;return b=a&&b>a?a:b},_notifyChange:function(a){var b=this._get(a,
-"onChangeMonthYear");if(b)b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a);
-c=this._daylightSavingAdjust(new Date(c,e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,
-"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker=
-function(a){if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));
-return this.each(function(){typeof a=="string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new L;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.4";window["DP_jQuery_"+y]=d})(jQuery);
-;
-/*!
- * jQuery UI Mouse 1.8.4
- *
- * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Mouse
- *
- * Depends:
- * jquery.ui.widget.js
- */
-(function(c){c.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(b){return a._mouseDown(b)}).bind("click."+this.widgetName,function(b){if(a._preventClickEvent){a._preventClickEvent=false;b.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(a){a.originalEvent=a.originalEvent||{};if(!a.originalEvent.mouseHandled){this._mouseStarted&&
-this._mouseUp(a);this._mouseDownEvent=a;var b=this,e=a.which==1,f=typeof this.options.cancel=="string"?c(a.target).parents().add(a.target).filter(this.options.cancel).length:false;if(!e||f||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){b.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault();
-return true}}this._mouseMoveDelegate=function(d){return b._mouseMove(d)};this._mouseUpDelegate=function(d){return b._mouseUp(d)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);c.browser.safari||a.preventDefault();return a.originalEvent.mouseHandled=true}},_mouseMove:function(a){if(c.browser.msie&&!(document.documentMode>=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&
-this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=a.target==this._mouseDownEvent.target;this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-
-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery);
-/*
- * jQuery UI Slider 1.8.4
- *
- * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Slider
- *
- * Depends:
- * jquery.ui.core.js
- * jquery.ui.mouse.js
- * jquery.ui.widget.js
- */
-(function(d){d.widget("ui.slider",d.ui.mouse,{widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null},_create:function(){var a=this,b=this.options;this._mouseSliding=this._keySliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all");b.disabled&&this.element.addClass("ui-slider-disabled ui-disabled");
-this.range=d([]);if(b.range){if(b.range===true){this.range=d("<div></div>");if(!b.values)b.values=[this._valueMin(),this._valueMin()];if(b.values.length&&b.values.length!==2)b.values=[b.values[0],b.values[0]]}else this.range=d("<div></div>");this.range.appendTo(this.element).addClass("ui-slider-range");if(b.range==="min"||b.range==="max")this.range.addClass("ui-slider-range-"+b.range);this.range.addClass("ui-widget-header")}d(".ui-slider-handle",this.element).length===0&&d("<a href='#'></a>").appendTo(this.element).addClass("ui-slider-handle");
-if(b.values&&b.values.length)for(;d(".ui-slider-handle",this.element).length<b.values.length;)d("<a href='#'></a>").appendTo(this.element).addClass("ui-slider-handle");this.handles=d(".ui-slider-handle",this.element).addClass("ui-state-default ui-corner-all");this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(c){c.preventDefault()}).hover(function(){b.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(b.disabled)d(this).blur();
-else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(c){d(this).data("index.ui-slider-handle",c)});this.handles.keydown(function(c){var e=true,f=d(this).data("index.ui-slider-handle"),h,g,i;if(!a.options.disabled){switch(c.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:e=
-false;if(!a._keySliding){a._keySliding=true;d(this).addClass("ui-state-active");h=a._start(c,f);if(h===false)return}break}i=a.options.step;h=a.options.values&&a.options.values.length?(g=a.values(f)):(g=a.value());switch(c.keyCode){case d.ui.keyCode.HOME:g=a._valueMin();break;case d.ui.keyCode.END:g=a._valueMax();break;case d.ui.keyCode.PAGE_UP:g=a._trimAlignValue(h+(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:g=a._trimAlignValue(h-(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(h===
-a._valueMax())return;g=a._trimAlignValue(h+i);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(h===a._valueMin())return;g=a._trimAlignValue(h-i);break}a._slide(c,f,g);return e}}).keyup(function(c){var e=d(this).data("index.ui-slider-handle");if(a._keySliding){a._keySliding=false;a._stop(c,e);a._change(c,e);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");
-this._mouseDestroy();return this},_mouseCapture:function(a){var b=this.options,c,e,f,h,g;if(b.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:a.pageX,y:a.pageY});e=this._valueMax()-this._valueMin()+1;h=this;this.handles.each(function(i){var j=Math.abs(c-h.values(i));if(e>j){e=j;f=d(this);g=i}});if(b.range===true&&this.values(1)===b.min){g+=1;f=d(this.handles[g])}if(this._start(a,
-g)===false)return false;this._mouseSliding=true;h._handleIndex=g;f.addClass("ui-state-active").focus();b=f.offset();this._clickOffset=!d(a.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:a.pageX-b.left-f.width()/2,top:a.pageY-b.top-f.height()/2-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)};this._slide(a,g,c);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(a){var b=
-this._normValueFromMouse({x:a.pageX,y:a.pageY});this._slide(a,this._handleIndex,b);return false},_mouseStop:function(a){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(a,this._handleIndex);this._change(a,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b;if(this.orientation==="horizontal"){b=
-this.elementSize.width;a=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{b=this.elementSize.height;a=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}b=a/b;if(b>1)b=1;if(b<0)b=0;if(this.orientation==="vertical")b=1-b;a=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+b*a)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);
-c.values=this.values()}return this._trigger("start",a,c)},_slide:function(a,b,c){var e;if(this.options.values&&this.options.values.length){e=this.values(b?0:1);if(this.options.values.length===2&&this.options.range===true&&(b===0&&c>e||b===1&&c<e))c=e;if(c!==this.values(b)){e=this.values();e[b]=c;a=this._trigger("slide",a,{handle:this.handles[b],value:c,values:e});this.values(b?0:1);a!==false&&this.values(b,c,true)}}else if(c!==this.value()){a=this._trigger("slide",a,{handle:this.handles[b],value:c});
-a!==false&&this.value(c)}},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);c.values=this.values()}this._trigger("stop",a,c)},_change:function(a,b){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b);c.values=this.values()}this._trigger("change",a,c)}},value:function(a){if(arguments.length){this.options.value=
-this._trimAlignValue(a);this._refreshValue();this._change(null,0)}return this._value()},values:function(a,b){var c,e,f;if(arguments.length>1){this.options.values[a]=this._trimAlignValue(b);this._refreshValue();this._change(null,a)}if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;e=arguments[0];for(f=0;f<c.length;f+=1){c[f]=this._trimAlignValue(e[f]);this._change(null,f)}this._refreshValue()}else return this.options.values&&this.options.values.length?this._values(a):this.value();
-else return this._values()},_setOption:function(a,b){var c,e=0;if(d.isArray(this.options.values))e=this.options.values.length;d.Widget.prototype._setOption.apply(this,arguments);switch(a){case "disabled":if(b){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.attr("disabled","disabled");this.element.addClass("ui-disabled")}else{this.handles.removeAttr("disabled");this.element.removeClass("ui-disabled")}break;case "orientation":this._detectOrientation();
-this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue();break;case "value":this._animateOff=true;this._refreshValue();this._change(null,0);this._animateOff=false;break;case "values":this._animateOff=true;this._refreshValue();for(c=0;c<e;c+=1)this._change(null,c);this._animateOff=false;break}},_value:function(){var a=this.options.value;return a=this._trimAlignValue(a)},_values:function(a){var b,c;if(arguments.length){b=this.options.values[a];
-return b=this._trimAlignValue(b)}else{b=this.options.values.slice();for(c=0;c<b.length;c+=1)b[c]=this._trimAlignValue(b[c]);return b}},_trimAlignValue:function(a){if(a<this._valueMin())return this._valueMin();if(a>this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=a%b;a=a-c;if(Math.abs(c)*2>=b)a+=c>0?b:-b;return parseFloat(a.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var a=
-this.options.range,b=this.options,c=this,e=!this._animateOff?b.animate:false,f,h={},g,i,j,l;if(this.options.values&&this.options.values.length)this.handles.each(function(k){f=(c.values(k)-c._valueMin())/(c._valueMax()-c._valueMin())*100;h[c.orientation==="horizontal"?"left":"bottom"]=f+"%";d(this).stop(1,1)[e?"animate":"css"](h,b.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(k===0)c.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},b.animate);if(k===1)c.range[e?"animate":"css"]({width:f-
-g+"%"},{queue:false,duration:b.animate})}else{if(k===0)c.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},b.animate);if(k===1)c.range[e?"animate":"css"]({height:f-g+"%"},{queue:false,duration:b.animate})}g=f});else{i=this.value();j=this._valueMin();l=this._valueMax();f=l!==j?(i-j)/(l-j)*100:0;h[c.orientation==="horizontal"?"left":"bottom"]=f+"%";this.handle.stop(1,1)[e?"animate":"css"](h,b.animate);if(a==="min"&&this.orientation==="horizontal")this.range.stop(1,1)[e?"animate":"css"]({width:f+"%"},
-b.animate);if(a==="max"&&this.orientation==="horizontal")this.range[e?"animate":"css"]({width:100-f+"%"},{queue:false,duration:b.animate});if(a==="min"&&this.orientation==="vertical")this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},b.animate);if(a==="max"&&this.orientation==="vertical")this.range[e?"animate":"css"]({height:100-f+"%"},{queue:false,duration:b.animate})}}});d.extend(d.ui.slider,{version:"1.8.4"})})(jQuery);
diff --git a/rt/share/html/NoAuth/js/jquery-ui-patch-datepicker.js b/rt/share/html/NoAuth/js/jquery-ui-patch-datepicker.js
deleted file mode 100644
index 0c7546a..0000000
--- a/rt/share/html/NoAuth/js/jquery-ui-patch-datepicker.js
+++ /dev/null
@@ -1,92 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-(function($){
- $.datepicker._newInst_orig = $.datepicker._newInst;
- $.datepicker._newInst = function(target, inline) {
- var data = this._newInst_orig(target, inline);
-
- // Escape single quotes to avoid incorrect quoting in onclick handlers
- // when other datepicker code interpolates inst.id. They'll already be
- // escaped by the original _newInst for handing to jQuery's CSS
- // selector parser.
- data.id = data.id.replace(/'/g, "\\'");
-
- return data;
- };
-
- $.datepicker._checkOffset_orig = $.datepicker._checkOffset;
- $.datepicker._checkOffset = function(inst, offset, isFixed) {
- // copied from the original
- var dpHeight = inst.dpDiv.outerHeight();
- var inputHeight = inst.input ? inst.input.outerHeight() : 0;
- var viewHeight = document.documentElement.clientHeight + $(document).scrollTop();
-
- // save the original offset rather than the new offset because the
- // original function modifies the passed arg as a side-effect
- var old_offset = { top: offset.top, left: offset.left };
- offset = $.datepicker._checkOffset_orig(inst, offset, isFixed);
-
- // Negate any up or down positioning by adding instead of subtracting
- offset.top += Math.min(old_offset.top, (old_offset.top + dpHeight > viewHeight && viewHeight > dpHeight) ?
- Math.abs(dpHeight + inputHeight) : 0);
-
- return offset;
- };
-
-
- $.timepicker._newInst_orig = $.timepicker._newInst;
- $.timepicker._newInst = function($input, o) {
- var tp_inst = $.timepicker._newInst_orig($input, o);
- tp_inst._defaults.onClose = function(dateText, dp_inst) {
- if ($.isFunction(o.onClose))
- o.onClose.call($input[0], dateText, dp_inst, tp_inst);
- };
- return tp_inst;
- };
-
-})(jQuery);
diff --git a/rt/share/html/NoAuth/js/jquery-ui-timepicker-addon.js b/rt/share/html/NoAuth/js/jquery-ui-timepicker-addon.js
deleted file mode 100644
index 0a4ff02..0000000
--- a/rt/share/html/NoAuth/js/jquery-ui-timepicker-addon.js
+++ /dev/null
@@ -1,1326 +0,0 @@
-/*
-* jQuery timepicker addon
-* By: Trent Richardson [http://trentrichardson.com]
-* Version 1.0.0
-* Last Modified: 02/05/2012
-*
-* Copyright 2012 Trent Richardson
-* Dual licensed under the MIT and GPL licenses.
-* http://trentrichardson.com/Impromptu/GPL-LICENSE.txt
-* http://trentrichardson.com/Impromptu/MIT-LICENSE.txt
-*
-* HERES THE CSS:
-* .ui-timepicker-div .ui-widget-header { margin-bottom: 8px; }
-* .ui-timepicker-div dl { text-align: left; }
-* .ui-timepicker-div dl dt { height: 25px; margin-bottom: -25px; }
-* .ui-timepicker-div dl dd { margin: 0 10px 10px 65px; }
-* .ui-timepicker-div td { font-size: 90%; }
-* .ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; }
-*/
-
-(function($) {
-
-// Prevent "Uncaught RangeError: Maximum call stack size exceeded"
-$.ui.timepicker = $.ui.timepicker || {};
-if ($.ui.timepicker.version) {
- return;
-}
-
-$.extend($.ui, { timepicker: { version: "1.0.0" } });
-
-/* Time picker manager.
- Use the singleton instance of this class, $.timepicker, to interact with the time picker.
- Settings for (groups of) time pickers are maintained in an instance object,
- allowing multiple different settings on the same page. */
-
-function Timepicker() {
- this.regional = []; // Available regional settings, indexed by language code
- this.regional[''] = { // Default regional settings
- currentText: 'Now',
- closeText: 'Done',
- ampm: false,
- amNames: ['AM', 'A'],
- pmNames: ['PM', 'P'],
- timeFormat: 'hh:mm tt',
- timeSuffix: '',
- timeOnlyTitle: 'Choose Time',
- timeText: 'Time',
- hourText: 'Hour',
- minuteText: 'Minute',
- secondText: 'Second',
- millisecText: 'Millisecond',
- timezoneText: 'Time Zone'
- };
- this._defaults = { // Global defaults for all the datetime picker instances
- showButtonPanel: true,
- timeOnly: false,
- showHour: true,
- showMinute: true,
- showSecond: false,
- showMillisec: false,
- showTimezone: false,
- showTime: true,
- stepHour: 1,
- stepMinute: 1,
- stepSecond: 1,
- stepMillisec: 1,
- hour: 0,
- minute: 0,
- second: 0,
- millisec: 0,
- timezone: '+0000',
- hourMin: 0,
- minuteMin: 0,
- secondMin: 0,
- millisecMin: 0,
- hourMax: 23,
- minuteMax: 59,
- secondMax: 59,
- millisecMax: 999,
- minDateTime: null,
- maxDateTime: null,
- onSelect: null,
- hourGrid: 0,
- minuteGrid: 0,
- secondGrid: 0,
- millisecGrid: 0,
- alwaysSetTime: true,
- separator: ' ',
- altFieldTimeOnly: true,
- showTimepicker: true,
- timezoneIso8609: false,
- timezoneList: null,
- addSliderAccess: false,
- sliderAccessArgs: null
- };
- $.extend(this._defaults, this.regional['']);
-};
-
-$.extend(Timepicker.prototype, {
- $input: null,
- $altInput: null,
- $timeObj: null,
- inst: null,
- hour_slider: null,
- minute_slider: null,
- second_slider: null,
- millisec_slider: null,
- timezone_select: null,
- hour: 0,
- minute: 0,
- second: 0,
- millisec: 0,
- timezone: '+0000',
- hourMinOriginal: null,
- minuteMinOriginal: null,
- secondMinOriginal: null,
- millisecMinOriginal: null,
- hourMaxOriginal: null,
- minuteMaxOriginal: null,
- secondMaxOriginal: null,
- millisecMaxOriginal: null,
- ampm: '',
- formattedDate: '',
- formattedTime: '',
- formattedDateTime: '',
- timezoneList: null,
-
- /* Override the default settings for all instances of the time picker.
- @param settings object - the new settings to use as defaults (anonymous object)
- @return the manager object */
- setDefaults: function(settings) {
- extendRemove(this._defaults, settings || {});
- return this;
- },
-
- //########################################################################
- // Create a new Timepicker instance
- //########################################################################
- _newInst: function($input, o) {
- var tp_inst = new Timepicker(),
- inlineSettings = {};
-
- for (var attrName in this._defaults) {
- var attrValue = $input.attr('time:' + attrName);
- if (attrValue) {
- try {
- inlineSettings[attrName] = eval(attrValue);
- } catch (err) {
- inlineSettings[attrName] = attrValue;
- }
- }
- }
- tp_inst._defaults = $.extend({}, this._defaults, inlineSettings, o, {
- beforeShow: function(input, dp_inst) {
- if ($.isFunction(o.beforeShow))
- return o.beforeShow(input, dp_inst, tp_inst);
- },
- onChangeMonthYear: function(year, month, dp_inst) {
- // Update the time as well : this prevents the time from disappearing from the $input field.
- tp_inst._updateDateTime(dp_inst);
- if ($.isFunction(o.onChangeMonthYear))
- o.onChangeMonthYear.call($input[0], year, month, dp_inst, tp_inst);
- },
- onClose: function(dateText, dp_inst) {
- if (tp_inst.timeDefined === true && $input.val() != '')
- tp_inst._updateDateTime(dp_inst);
- if ($.isFunction(o.onClose))
- o.onClose.call($input[0], dateText, dp_inst, tp_inst);
- },
- timepicker: tp_inst // add timepicker as a property of datepicker: $.datepicker._get(dp_inst, 'timepicker');
- });
- tp_inst.amNames = $.map(tp_inst._defaults.amNames, function(val) { return val.toUpperCase(); });
- tp_inst.pmNames = $.map(tp_inst._defaults.pmNames, function(val) { return val.toUpperCase(); });
-
- if (tp_inst._defaults.timezoneList === null) {
- var timezoneList = [];
- for (var i = -11; i <= 12; i++)
- timezoneList.push((i >= 0 ? '+' : '-') + ('0' + Math.abs(i).toString()).slice(-2) + '00');
- if (tp_inst._defaults.timezoneIso8609)
- timezoneList = $.map(timezoneList, function(val) {
- return val == '+0000' ? 'Z' : (val.substring(0, 3) + ':' + val.substring(3));
- });
- tp_inst._defaults.timezoneList = timezoneList;
- }
-
- tp_inst.hour = tp_inst._defaults.hour;
- tp_inst.minute = tp_inst._defaults.minute;
- tp_inst.second = tp_inst._defaults.second;
- tp_inst.millisec = tp_inst._defaults.millisec;
- tp_inst.ampm = '';
- tp_inst.$input = $input;
-
- if (o.altField)
- tp_inst.$altInput = $(o.altField)
- .css({ cursor: 'pointer' })
- .focus(function(){ $input.trigger("focus"); });
-
- if(tp_inst._defaults.minDate==0 || tp_inst._defaults.minDateTime==0)
- {
- tp_inst._defaults.minDate=new Date();
- }
- if(tp_inst._defaults.maxDate==0 || tp_inst._defaults.maxDateTime==0)
- {
- tp_inst._defaults.maxDate=new Date();
- }
-
- // datepicker needs minDate/maxDate, timepicker needs minDateTime/maxDateTime..
- if(tp_inst._defaults.minDate !== undefined && tp_inst._defaults.minDate instanceof Date)
- tp_inst._defaults.minDateTime = new Date(tp_inst._defaults.minDate.getTime());
- if(tp_inst._defaults.minDateTime !== undefined && tp_inst._defaults.minDateTime instanceof Date)
- tp_inst._defaults.minDate = new Date(tp_inst._defaults.minDateTime.getTime());
- if(tp_inst._defaults.maxDate !== undefined && tp_inst._defaults.maxDate instanceof Date)
- tp_inst._defaults.maxDateTime = new Date(tp_inst._defaults.maxDate.getTime());
- if(tp_inst._defaults.maxDateTime !== undefined && tp_inst._defaults.maxDateTime instanceof Date)
- tp_inst._defaults.maxDate = new Date(tp_inst._defaults.maxDateTime.getTime());
- return tp_inst;
- },
-
- //########################################################################
- // add our sliders to the calendar
- //########################################################################
- _addTimePicker: function(dp_inst) {
- var currDT = (this.$altInput && this._defaults.altFieldTimeOnly) ?
- this.$input.val() + ' ' + this.$altInput.val() :
- this.$input.val();
-
- this.timeDefined = this._parseTime(currDT);
- this._limitMinMaxDateTime(dp_inst, false);
- this._injectTimePicker();
- },
-
- //########################################################################
- // parse the time string from input value or _setTime
- //########################################################################
- _parseTime: function(timeString, withDate) {
- var regstr = this._defaults.timeFormat.toString()
- .replace(/h{1,2}/ig, '(\\d?\\d)')
- .replace(/m{1,2}/ig, '(\\d?\\d)')
- .replace(/s{1,2}/ig, '(\\d?\\d)')
- .replace(/l{1}/ig, '(\\d?\\d?\\d)')
- .replace(/t{1,2}/ig, this._getPatternAmpm())
- .replace(/z{1}/ig, '(z|[-+]\\d\\d:?\\d\\d)?')
- .replace(/\s/g, '\\s?') + this._defaults.timeSuffix + '$',
- order = this._getFormatPositions(),
- ampm = '',
- treg;
-
- if (!this.inst) this.inst = $.datepicker._getInst(this.$input[0]);
-
- if (withDate || !this._defaults.timeOnly) {
- // the time should come after x number of characters and a space.
- // x = at least the length of text specified by the date format
- var dp_dateFormat = $.datepicker._get(this.inst, 'dateFormat');
- // escape special regex characters in the seperator
- var specials = new RegExp("[.*+?|()\\[\\]{}\\\\]", "g");
- regstr = '^.{' + dp_dateFormat.length + ',}?' + this._defaults.separator.replace(specials, "\\$&") + regstr;
- }
-
- treg = timeString.match(new RegExp(regstr, 'i'));
-
- if (treg) {
- if (order.t !== -1) {
- if (treg[order.t] === undefined || treg[order.t].length === 0) {
- ampm = '';
- this.ampm = '';
- } else {
- ampm = $.inArray(treg[order.t].toUpperCase(), this.amNames) !== -1 ? 'AM' : 'PM';
- this.ampm = this._defaults[ampm == 'AM' ? 'amNames' : 'pmNames'][0];
- }
- }
-
- if (order.h !== -1) {
- if (ampm == 'AM' && treg[order.h] == '12')
- this.hour = 0; // 12am = 0 hour
- else if (ampm == 'PM' && treg[order.h] != '12')
- this.hour = (parseFloat(treg[order.h]) + 12).toFixed(0); // 12pm = 12 hour, any other pm = hour + 12
- else this.hour = Number(treg[order.h]);
- }
-
- if (order.m !== -1) this.minute = Number(treg[order.m]);
- if (order.s !== -1) this.second = Number(treg[order.s]);
- if (order.l !== -1) this.millisec = Number(treg[order.l]);
- if (order.z !== -1 && treg[order.z] !== undefined) {
- var tz = treg[order.z].toUpperCase();
- switch (tz.length) {
- case 1: // Z
- tz = this._defaults.timezoneIso8609 ? 'Z' : '+0000';
- break;
- case 5: // +hhmm
- if (this._defaults.timezoneIso8609)
- tz = tz.substring(1) == '0000'
- ? 'Z'
- : tz.substring(0, 3) + ':' + tz.substring(3);
- break;
- case 6: // +hh:mm
- if (!this._defaults.timezoneIso8609)
- tz = tz == 'Z' || tz.substring(1) == '00:00'
- ? '+0000'
- : tz.replace(/:/, '');
- else if (tz.substring(1) == '00:00')
- tz = 'Z';
- break;
- }
- this.timezone = tz;
- }
-
- return true;
-
- }
- return false;
- },
-
- //########################################################################
- // pattern for standard and localized AM/PM markers
- //########################################################################
- _getPatternAmpm: function() {
- var markers = [],
- o = this._defaults;
- if (o.amNames)
- $.merge(markers, o.amNames);
- if (o.pmNames)
- $.merge(markers, o.pmNames);
- markers = $.map(markers, function(val) { return val.replace(/[.*+?|()\[\]{}\\]/g, '\\$&'); });
- return '(' + markers.join('|') + ')?';
- },
-
- //########################################################################
- // figure out position of time elements.. cause js cant do named captures
- //########################################################################
- _getFormatPositions: function() {
- var finds = this._defaults.timeFormat.toLowerCase().match(/(h{1,2}|m{1,2}|s{1,2}|l{1}|t{1,2}|z)/g),
- orders = { h: -1, m: -1, s: -1, l: -1, t: -1, z: -1 };
-
- if (finds)
- for (var i = 0; i < finds.length; i++)
- if (orders[finds[i].toString().charAt(0)] == -1)
- orders[finds[i].toString().charAt(0)] = i + 1;
-
- return orders;
- },
-
- //########################################################################
- // generate and inject html for timepicker into ui datepicker
- //########################################################################
- _injectTimePicker: function() {
- var $dp = this.inst.dpDiv,
- o = this._defaults,
- tp_inst = this,
- // Added by Peter Medeiros:
- // - Figure out what the hour/minute/second max should be based on the step values.
- // - Example: if stepMinute is 15, then minMax is 45.
- hourMax = parseInt((o.hourMax - ((o.hourMax - o.hourMin) % o.stepHour)) ,10),
- minMax = parseInt((o.minuteMax - ((o.minuteMax - o.minuteMin) % o.stepMinute)) ,10),
- secMax = parseInt((o.secondMax - ((o.secondMax - o.secondMin) % o.stepSecond)) ,10),
- millisecMax = parseInt((o.millisecMax - ((o.millisecMax - o.millisecMin) % o.stepMillisec)) ,10),
- dp_id = this.inst.id.toString().replace(/([^A-Za-z0-9_])/g, '');
-
- // Prevent displaying twice
- //if ($dp.find("div#ui-timepicker-div-"+ dp_id).length === 0) {
- if ($dp.find("div#ui-timepicker-div-"+ dp_id).length === 0 && o.showTimepicker) {
- var noDisplay = ' style="display:none;"',
- html = '<div class="ui-timepicker-div" id="ui-timepicker-div-' + dp_id + '"><dl>' +
- '<dt class="ui_tpicker_time_label" id="ui_tpicker_time_label_' + dp_id + '"' +
- ((o.showTime) ? '' : noDisplay) + '>' + o.timeText + '</dt>' +
- '<dd class="ui_tpicker_time" id="ui_tpicker_time_' + dp_id + '"' +
- ((o.showTime) ? '' : noDisplay) + '></dd>' +
- '<dt class="ui_tpicker_hour_label" id="ui_tpicker_hour_label_' + dp_id + '"' +
- ((o.showHour) ? '' : noDisplay) + '>' + o.hourText + '</dt>',
- hourGridSize = 0,
- minuteGridSize = 0,
- secondGridSize = 0,
- millisecGridSize = 0,
- size = null;
-
- // Hours
- html += '<dd class="ui_tpicker_hour"><div id="ui_tpicker_hour_' + dp_id + '"' +
- ((o.showHour) ? '' : noDisplay) + '></div>';
- if (o.showHour && o.hourGrid > 0) {
- html += '<div style="padding-left: 1px"><table class="ui-tpicker-grid-label"><tr>';
-
- for (var h = o.hourMin; h <= hourMax; h += parseInt(o.hourGrid,10)) {
- hourGridSize++;
- var tmph = (o.ampm && h > 12) ? h-12 : h;
- if (tmph < 10) tmph = '0' + tmph;
- if (o.ampm) {
- if (h == 0) tmph = 12 +'a';
- else if (h < 12) tmph += 'a';
- else tmph += 'p';
- }
- html += '<td>' + tmph + '</td>';
- }
-
- html += '</tr></table></div>';
- }
- html += '</dd>';
-
- // Minutes
- html += '<dt class="ui_tpicker_minute_label" id="ui_tpicker_minute_label_' + dp_id + '"' +
- ((o.showMinute) ? '' : noDisplay) + '>' + o.minuteText + '</dt>'+
- '<dd class="ui_tpicker_minute"><div id="ui_tpicker_minute_' + dp_id + '"' +
- ((o.showMinute) ? '' : noDisplay) + '></div>';
-
- if (o.showMinute && o.minuteGrid > 0) {
- html += '<div style="padding-left: 1px"><table class="ui-tpicker-grid-label"><tr>';
-
- for (var m = o.minuteMin; m <= minMax; m += parseInt(o.minuteGrid,10)) {
- minuteGridSize++;
- html += '<td>' + ((m < 10) ? '0' : '') + m + '</td>';
- }
-
- html += '</tr></table></div>';
- }
- html += '</dd>';
-
- // Seconds
- html += '<dt class="ui_tpicker_second_label" id="ui_tpicker_second_label_' + dp_id + '"' +
- ((o.showSecond) ? '' : noDisplay) + '>' + o.secondText + '</dt>'+
- '<dd class="ui_tpicker_second"><div id="ui_tpicker_second_' + dp_id + '"'+
- ((o.showSecond) ? '' : noDisplay) + '></div>';
-
- if (o.showSecond && o.secondGrid > 0) {
- html += '<div style="padding-left: 1px"><table><tr>';
-
- for (var s = o.secondMin; s <= secMax; s += parseInt(o.secondGrid,10)) {
- secondGridSize++;
- html += '<td>' + ((s < 10) ? '0' : '') + s + '</td>';
- }
-
- html += '</tr></table></div>';
- }
- html += '</dd>';
-
- // Milliseconds
- html += '<dt class="ui_tpicker_millisec_label" id="ui_tpicker_millisec_label_' + dp_id + '"' +
- ((o.showMillisec) ? '' : noDisplay) + '>' + o.millisecText + '</dt>'+
- '<dd class="ui_tpicker_millisec"><div id="ui_tpicker_millisec_' + dp_id + '"'+
- ((o.showMillisec) ? '' : noDisplay) + '></div>';
-
- if (o.showMillisec && o.millisecGrid > 0) {
- html += '<div style="padding-left: 1px"><table><tr>';
-
- for (var l = o.millisecMin; l <= millisecMax; l += parseInt(o.millisecGrid,10)) {
- millisecGridSize++;
- html += '<td>' + ((l < 10) ? '0' : '') + l + '</td>';
- }
-
- html += '</tr></table></div>';
- }
- html += '</dd>';
-
- // Timezone
- html += '<dt class="ui_tpicker_timezone_label" id="ui_tpicker_timezone_label_' + dp_id + '"' +
- ((o.showTimezone) ? '' : noDisplay) + '>' + o.timezoneText + '</dt>';
- html += '<dd class="ui_tpicker_timezone" id="ui_tpicker_timezone_' + dp_id + '"' +
- ((o.showTimezone) ? '' : noDisplay) + '></dd>';
-
- html += '</dl></div>';
- $tp = $(html);
-
- // if we only want time picker...
- if (o.timeOnly === true) {
- $tp.prepend(
- '<div class="ui-widget-header ui-helper-clearfix ui-corner-all">' +
- '<div class="ui-datepicker-title">' + o.timeOnlyTitle + '</div>' +
- '</div>');
- $dp.find('.ui-datepicker-header, .ui-datepicker-calendar').hide();
- }
-
- this.hour_slider = $tp.find('#ui_tpicker_hour_'+ dp_id).slider({
- orientation: "horizontal",
- value: this.hour,
- min: o.hourMin,
- max: hourMax,
- step: o.stepHour,
- slide: function(event, ui) {
- tp_inst.hour_slider.slider( "option", "value", ui.value);
- tp_inst._onTimeChange();
- }
- });
-
-
- // Updated by Peter Medeiros:
- // - Pass in Event and UI instance into slide function
- this.minute_slider = $tp.find('#ui_tpicker_minute_'+ dp_id).slider({
- orientation: "horizontal",
- value: this.minute,
- min: o.minuteMin,
- max: minMax,
- step: o.stepMinute,
- slide: function(event, ui) {
- tp_inst.minute_slider.slider( "option", "value", ui.value);
- tp_inst._onTimeChange();
- }
- });
-
- this.second_slider = $tp.find('#ui_tpicker_second_'+ dp_id).slider({
- orientation: "horizontal",
- value: this.second,
- min: o.secondMin,
- max: secMax,
- step: o.stepSecond,
- slide: function(event, ui) {
- tp_inst.second_slider.slider( "option", "value", ui.value);
- tp_inst._onTimeChange();
- }
- });
-
- this.millisec_slider = $tp.find('#ui_tpicker_millisec_'+ dp_id).slider({
- orientation: "horizontal",
- value: this.millisec,
- min: o.millisecMin,
- max: millisecMax,
- step: o.stepMillisec,
- slide: function(event, ui) {
- tp_inst.millisec_slider.slider( "option", "value", ui.value);
- tp_inst._onTimeChange();
- }
- });
-
- this.timezone_select = $tp.find('#ui_tpicker_timezone_'+ dp_id).append('<select></select>').find("select");
- $.fn.append.apply(this.timezone_select,
- $.map(o.timezoneList, function(val, idx) {
- return $("<option />")
- .val(typeof val == "object" ? val.value : val)
- .text(typeof val == "object" ? val.label : val);
- })
- );
- this.timezone_select.val((typeof this.timezone != "undefined" && this.timezone != null && this.timezone != "") ? this.timezone : o.timezone);
- this.timezone_select.change(function() {
- tp_inst._onTimeChange();
- });
-
- // Add grid functionality
- if (o.showHour && o.hourGrid > 0) {
- size = 100 * hourGridSize * o.hourGrid / (hourMax - o.hourMin);
-
- $tp.find(".ui_tpicker_hour table").css({
- width: size + "%",
- marginLeft: (size / (-2 * hourGridSize)) + "%",
- borderCollapse: 'collapse'
- }).find("td").each( function(index) {
- $(this).click(function() {
- var h = $(this).html();
- if(o.ampm) {
- var ap = h.substring(2).toLowerCase(),
- aph = parseInt(h.substring(0,2), 10);
- if (ap == 'a') {
- if (aph == 12) h = 0;
- else h = aph;
- } else if (aph == 12) h = 12;
- else h = aph + 12;
- }
- tp_inst.hour_slider.slider("option", "value", h);
- tp_inst._onTimeChange();
- tp_inst._onSelectHandler();
- }).css({
- cursor: 'pointer',
- width: (100 / hourGridSize) + '%',
- textAlign: 'center',
- overflow: 'hidden'
- });
- });
- }
-
- if (o.showMinute && o.minuteGrid > 0) {
- size = 100 * minuteGridSize * o.minuteGrid / (minMax - o.minuteMin);
- $tp.find(".ui_tpicker_minute table").css({
- width: size + "%",
- marginLeft: (size / (-2 * minuteGridSize)) + "%",
- borderCollapse: 'collapse'
- }).find("td").each(function(index) {
- $(this).click(function() {
- tp_inst.minute_slider.slider("option", "value", $(this).html());
- tp_inst._onTimeChange();
- tp_inst._onSelectHandler();
- }).css({
- cursor: 'pointer',
- width: (100 / minuteGridSize) + '%',
- textAlign: 'center',
- overflow: 'hidden'
- });
- });
- }
-
- if (o.showSecond && o.secondGrid > 0) {
- $tp.find(".ui_tpicker_second table").css({
- width: size + "%",
- marginLeft: (size / (-2 * secondGridSize)) + "%",
- borderCollapse: 'collapse'
- }).find("td").each(function(index) {
- $(this).click(function() {
- tp_inst.second_slider.slider("option", "value", $(this).html());
- tp_inst._onTimeChange();
- tp_inst._onSelectHandler();
- }).css({
- cursor: 'pointer',
- width: (100 / secondGridSize) + '%',
- textAlign: 'center',
- overflow: 'hidden'
- });
- });
- }
-
- if (o.showMillisec && o.millisecGrid > 0) {
- $tp.find(".ui_tpicker_millisec table").css({
- width: size + "%",
- marginLeft: (size / (-2 * millisecGridSize)) + "%",
- borderCollapse: 'collapse'
- }).find("td").each(function(index) {
- $(this).click(function() {
- tp_inst.millisec_slider.slider("option", "value", $(this).html());
- tp_inst._onTimeChange();
- tp_inst._onSelectHandler();
- }).css({
- cursor: 'pointer',
- width: (100 / millisecGridSize) + '%',
- textAlign: 'center',
- overflow: 'hidden'
- });
- });
- }
-
- var $buttonPanel = $dp.find('.ui-datepicker-buttonpane');
- if ($buttonPanel.length) $buttonPanel.before($tp);
- else $dp.append($tp);
-
- this.$timeObj = $tp.find('#ui_tpicker_time_'+ dp_id);
-
- if (this.inst !== null) {
- var timeDefined = this.timeDefined;
- this._onTimeChange();
- this.timeDefined = timeDefined;
- }
-
- //Emulate datepicker onSelect behavior. Call on slidestop.
- var onSelectDelegate = function() {
- tp_inst._onSelectHandler();
- };
- this.hour_slider.bind('slidestop',onSelectDelegate);
- this.minute_slider.bind('slidestop',onSelectDelegate);
- this.second_slider.bind('slidestop',onSelectDelegate);
- this.millisec_slider.bind('slidestop',onSelectDelegate);
-
- // slideAccess integration: http://trentrichardson.com/2011/11/11/jquery-ui-sliders-and-touch-accessibility/
- if (this._defaults.addSliderAccess){
- var sliderAccessArgs = this._defaults.sliderAccessArgs;
- setTimeout(function(){ // fix for inline mode
- if($tp.find('.ui-slider-access').length == 0){
- $tp.find('.ui-slider:visible').sliderAccess(sliderAccessArgs);
-
- // fix any grids since sliders are shorter
- var sliderAccessWidth = $tp.find('.ui-slider-access:eq(0)').outerWidth(true);
- if(sliderAccessWidth){
- $tp.find('table:visible').each(function(){
- var $g = $(this),
- oldWidth = $g.outerWidth(),
- oldMarginLeft = $g.css('marginLeft').toString().replace('%',''),
- newWidth = oldWidth - sliderAccessWidth,
- newMarginLeft = ((oldMarginLeft * newWidth)/oldWidth) + '%';
-
- $g.css({ width: newWidth, marginLeft: newMarginLeft });
- });
- }
- }
- },0);
- }
- // end slideAccess integration
-
- }
- },
-
- //########################################################################
- // This function tries to limit the ability to go outside the
- // min/max date range
- //########################################################################
- _limitMinMaxDateTime: function(dp_inst, adjustSliders){
- var o = this._defaults,
- dp_date = new Date(dp_inst.selectedYear, dp_inst.selectedMonth, dp_inst.selectedDay);
-
- if(!this._defaults.showTimepicker) return; // No time so nothing to check here
-
- if($.datepicker._get(dp_inst, 'minDateTime') !== null && $.datepicker._get(dp_inst, 'minDateTime') !== undefined && dp_date){
- var minDateTime = $.datepicker._get(dp_inst, 'minDateTime'),
- minDateTimeDate = new Date(minDateTime.getFullYear(), minDateTime.getMonth(), minDateTime.getDate(), 0, 0, 0, 0);
-
- if(this.hourMinOriginal === null || this.minuteMinOriginal === null || this.secondMinOriginal === null || this.millisecMinOriginal === null){
- this.hourMinOriginal = o.hourMin;
- this.minuteMinOriginal = o.minuteMin;
- this.secondMinOriginal = o.secondMin;
- this.millisecMinOriginal = o.millisecMin;
- }
-
- if(dp_inst.settings.timeOnly || minDateTimeDate.getTime() == dp_date.getTime()) {
- this._defaults.hourMin = minDateTime.getHours();
- if (this.hour <= this._defaults.hourMin) {
- this.hour = this._defaults.hourMin;
- this._defaults.minuteMin = minDateTime.getMinutes();
- if (this.minute <= this._defaults.minuteMin) {
- this.minute = this._defaults.minuteMin;
- this._defaults.secondMin = minDateTime.getSeconds();
- } else if (this.second <= this._defaults.secondMin){
- this.second = this._defaults.secondMin;
- this._defaults.millisecMin = minDateTime.getMilliseconds();
- } else {
- if(this.millisec < this._defaults.millisecMin)
- this.millisec = this._defaults.millisecMin;
- this._defaults.millisecMin = this.millisecMinOriginal;
- }
- } else {
- this._defaults.minuteMin = this.minuteMinOriginal;
- this._defaults.secondMin = this.secondMinOriginal;
- this._defaults.millisecMin = this.millisecMinOriginal;
- }
- }else{
- this._defaults.hourMin = this.hourMinOriginal;
- this._defaults.minuteMin = this.minuteMinOriginal;
- this._defaults.secondMin = this.secondMinOriginal;
- this._defaults.millisecMin = this.millisecMinOriginal;
- }
- }
-
- if($.datepicker._get(dp_inst, 'maxDateTime') !== null && $.datepicker._get(dp_inst, 'maxDateTime') !== undefined && dp_date){
- var maxDateTime = $.datepicker._get(dp_inst, 'maxDateTime'),
- maxDateTimeDate = new Date(maxDateTime.getFullYear(), maxDateTime.getMonth(), maxDateTime.getDate(), 0, 0, 0, 0);
-
- if(this.hourMaxOriginal === null || this.minuteMaxOriginal === null || this.secondMaxOriginal === null){
- this.hourMaxOriginal = o.hourMax;
- this.minuteMaxOriginal = o.minuteMax;
- this.secondMaxOriginal = o.secondMax;
- this.millisecMaxOriginal = o.millisecMax;
- }
-
- if(dp_inst.settings.timeOnly || maxDateTimeDate.getTime() == dp_date.getTime()){
- this._defaults.hourMax = maxDateTime.getHours();
- if (this.hour >= this._defaults.hourMax) {
- this.hour = this._defaults.hourMax;
- this._defaults.minuteMax = maxDateTime.getMinutes();
- if (this.minute >= this._defaults.minuteMax) {
- this.minute = this._defaults.minuteMax;
- this._defaults.secondMax = maxDateTime.getSeconds();
- } else if (this.second >= this._defaults.secondMax) {
- this.second = this._defaults.secondMax;
- this._defaults.millisecMax = maxDateTime.getMilliseconds();
- } else {
- if(this.millisec > this._defaults.millisecMax) this.millisec = this._defaults.millisecMax;
- this._defaults.millisecMax = this.millisecMaxOriginal;
- }
- } else {
- this._defaults.minuteMax = this.minuteMaxOriginal;
- this._defaults.secondMax = this.secondMaxOriginal;
- this._defaults.millisecMax = this.millisecMaxOriginal;
- }
- }else{
- this._defaults.hourMax = this.hourMaxOriginal;
- this._defaults.minuteMax = this.minuteMaxOriginal;
- this._defaults.secondMax = this.secondMaxOriginal;
- this._defaults.millisecMax = this.millisecMaxOriginal;
- }
- }
-
- if(adjustSliders !== undefined && adjustSliders === true){
- var hourMax = parseInt((this._defaults.hourMax - ((this._defaults.hourMax - this._defaults.hourMin) % this._defaults.stepHour)) ,10),
- minMax = parseInt((this._defaults.minuteMax - ((this._defaults.minuteMax - this._defaults.minuteMin) % this._defaults.stepMinute)) ,10),
- secMax = parseInt((this._defaults.secondMax - ((this._defaults.secondMax - this._defaults.secondMin) % this._defaults.stepSecond)) ,10),
- millisecMax = parseInt((this._defaults.millisecMax - ((this._defaults.millisecMax - this._defaults.millisecMin) % this._defaults.stepMillisec)) ,10);
-
- if(this.hour_slider)
- this.hour_slider.slider("option", { min: this._defaults.hourMin, max: hourMax }).slider('value', this.hour);
- if(this.minute_slider)
- this.minute_slider.slider("option", { min: this._defaults.minuteMin, max: minMax }).slider('value', this.minute);
- if(this.second_slider)
- this.second_slider.slider("option", { min: this._defaults.secondMin, max: secMax }).slider('value', this.second);
- if(this.millisec_slider)
- this.millisec_slider.slider("option", { min: this._defaults.millisecMin, max: millisecMax }).slider('value', this.millisec);
- }
-
- },
-
-
- //########################################################################
- // when a slider moves, set the internal time...
- // on time change is also called when the time is updated in the text field
- //########################################################################
- _onTimeChange: function() {
- var hour = (this.hour_slider) ? this.hour_slider.slider('value') : false,
- minute = (this.minute_slider) ? this.minute_slider.slider('value') : false,
- second = (this.second_slider) ? this.second_slider.slider('value') : false,
- millisec = (this.millisec_slider) ? this.millisec_slider.slider('value') : false,
- timezone = (this.timezone_select) ? this.timezone_select.val() : false,
- o = this._defaults;
-
- if (typeof(hour) == 'object') hour = false;
- if (typeof(minute) == 'object') minute = false;
- if (typeof(second) == 'object') second = false;
- if (typeof(millisec) == 'object') millisec = false;
- if (typeof(timezone) == 'object') timezone = false;
-
- if (hour !== false) hour = parseInt(hour,10);
- if (minute !== false) minute = parseInt(minute,10);
- if (second !== false) second = parseInt(second,10);
- if (millisec !== false) millisec = parseInt(millisec,10);
-
- var ampm = o[hour < 12 ? 'amNames' : 'pmNames'][0];
-
- // If the update was done in the input field, the input field should not be updated.
- // If the update was done using the sliders, update the input field.
- var hasChanged = (hour != this.hour || minute != this.minute
- || second != this.second || millisec != this.millisec
- || (this.ampm.length > 0
- && (hour < 12) != ($.inArray(this.ampm.toUpperCase(), this.amNames) !== -1))
- || timezone != this.timezone);
-
- if (hasChanged) {
-
- if (hour !== false)this.hour = hour;
- if (minute !== false) this.minute = minute;
- if (second !== false) this.second = second;
- if (millisec !== false) this.millisec = millisec;
- if (timezone !== false) this.timezone = timezone;
-
- if (!this.inst) this.inst = $.datepicker._getInst(this.$input[0]);
-
- this._limitMinMaxDateTime(this.inst, true);
- }
- if (o.ampm) this.ampm = ampm;
-
- //this._formatTime();
- this.formattedTime = $.datepicker.formatTime(this._defaults.timeFormat, this, this._defaults);
- if (this.$timeObj) this.$timeObj.text(this.formattedTime + o.timeSuffix);
- this.timeDefined = true;
- if (hasChanged) this._updateDateTime();
- },
-
- //########################################################################
- // call custom onSelect.
- // bind to sliders slidestop, and grid click.
- //########################################################################
- _onSelectHandler: function() {
- var onSelect = this._defaults.onSelect;
- var inputEl = this.$input ? this.$input[0] : null;
- if (onSelect && inputEl) {
- onSelect.apply(inputEl, [this.formattedDateTime, this]);
- }
- },
-
- //########################################################################
- // left for any backwards compatibility
- //########################################################################
- _formatTime: function(time, format) {
- time = time || { hour: this.hour, minute: this.minute, second: this.second, millisec: this.millisec, ampm: this.ampm, timezone: this.timezone };
- var tmptime = (format || this._defaults.timeFormat).toString();
-
- tmptime = $.datepicker.formatTime(tmptime, time, this._defaults);
-
- if (arguments.length) return tmptime;
- else this.formattedTime = tmptime;
- },
-
- //########################################################################
- // update our input with the new date time..
- //########################################################################
- _updateDateTime: function(dp_inst) {
- dp_inst = this.inst || dp_inst;
- var dt = $.datepicker._daylightSavingAdjust(new Date(dp_inst.selectedYear, dp_inst.selectedMonth, dp_inst.selectedDay)),
- dateFmt = $.datepicker._get(dp_inst, 'dateFormat'),
- formatCfg = $.datepicker._getFormatConfig(dp_inst),
- timeAvailable = dt !== null && this.timeDefined;
- this.formattedDate = $.datepicker.formatDate(dateFmt, (dt === null ? new Date() : dt), formatCfg);
- var formattedDateTime = this.formattedDate;
- if (dp_inst.lastVal !== undefined && (dp_inst.lastVal.length > 0 && this.$input.val().length === 0))
- return;
-
- if (this._defaults.timeOnly === true) {
- formattedDateTime = this.formattedTime;
- } else if (this._defaults.timeOnly !== true && (this._defaults.alwaysSetTime || timeAvailable)) {
- formattedDateTime += this._defaults.separator + this.formattedTime + this._defaults.timeSuffix;
- }
-
- this.formattedDateTime = formattedDateTime;
-
- if(!this._defaults.showTimepicker) {
- this.$input.val(this.formattedDate);
- } else if (this.$altInput && this._defaults.altFieldTimeOnly === true) {
- this.$altInput.val(this.formattedTime);
- this.$input.val(this.formattedDate);
- } else if(this.$altInput) {
- this.$altInput.val(formattedDateTime);
- this.$input.val(formattedDateTime);
- } else {
- this.$input.val(formattedDateTime);
- }
-
- this.$input.trigger("change");
- }
-
-});
-
-$.fn.extend({
- //########################################################################
- // shorthand just to use timepicker..
- //########################################################################
- timepicker: function(o) {
- o = o || {};
- var tmp_args = arguments;
-
- if (typeof o == 'object') tmp_args[0] = $.extend(o, { timeOnly: true });
-
- return $(this).each(function() {
- $.fn.datetimepicker.apply($(this), tmp_args);
- });
- },
-
- //########################################################################
- // extend timepicker to datepicker
- //########################################################################
- datetimepicker: function(o) {
- o = o || {};
- tmp_args = arguments;
-
- if (typeof(o) == 'string'){
- if(o == 'getDate')
- return $.fn.datepicker.apply($(this[0]), tmp_args);
- else
- return this.each(function() {
- var $t = $(this);
- $t.datepicker.apply($t, tmp_args);
- });
- }
- else
- return this.each(function() {
- var $t = $(this);
- $t.datepicker($.timepicker._newInst($t, o)._defaults);
- });
- }
-});
-
-//########################################################################
-// format the time all pretty...
-// format = string format of the time
-// time = a {}, not a Date() for timezones
-// options = essentially the regional[].. amNames, pmNames, ampm
-//########################################################################
-$.datepicker.formatTime = function(format, time, options) {
- options = options || {};
- options = $.extend($.timepicker._defaults, options);
- time = $.extend({hour:0, minute:0, second:0, millisec:0, timezone:'+0000'}, time);
-
- var tmptime = format;
- var ampmName = options['amNames'][0];
-
- var hour = parseInt(time.hour, 10);
- if (options.ampm) {
- if (hour > 11){
- ampmName = options['pmNames'][0];
- if(hour > 12)
- hour = hour % 12;
- }
- if (hour === 0)
- hour = 12;
- }
- tmptime = tmptime.replace(/(?:hh?|mm?|ss?|[tT]{1,2}|[lz])/g, function(match) {
- switch (match.toLowerCase()) {
- case 'hh': return ('0' + hour).slice(-2);
- case 'h': return hour;
- case 'mm': return ('0' + time.minute).slice(-2);
- case 'm': return time.minute;
- case 'ss': return ('0' + time.second).slice(-2);
- case 's': return time.second;
- case 'l': return ('00' + time.millisec).slice(-3);
- case 'z': return time.timezone;
- case 't': case 'tt':
- if (options.ampm) {
- if (match.length == 1)
- ampmName = ampmName.charAt(0);
- return match.charAt(0) == 'T' ? ampmName.toUpperCase() : ampmName.toLowerCase();
- }
- return '';
- }
- });
-
- tmptime = $.trim(tmptime);
- return tmptime;
-};
-
-//########################################################################
-// the bad hack :/ override datepicker so it doesnt close on select
-// inspired: http://stackoverflow.com/questions/1252512/jquery-datepicker-prevent-closing-picker-when-clicking-a-date/1762378#1762378
-//########################################################################
-$.datepicker._base_selectDate = $.datepicker._selectDate;
-$.datepicker._selectDate = function (id, dateStr) {
- var inst = this._getInst($(id)[0]),
- tp_inst = this._get(inst, 'timepicker');
-
- if (tp_inst) {
- tp_inst._limitMinMaxDateTime(inst, true);
- inst.inline = inst.stay_open = true;
- //This way the onSelect handler called from calendarpicker get the full dateTime
- this._base_selectDate(id, dateStr);
- inst.inline = inst.stay_open = false;
- this._notifyChange(inst);
- this._updateDatepicker(inst);
- }
- else this._base_selectDate(id, dateStr);
-};
-
-//#############################################################################################
-// second bad hack :/ override datepicker so it triggers an event when changing the input field
-// and does not redraw the datepicker on every selectDate event
-//#############################################################################################
-$.datepicker._base_updateDatepicker = $.datepicker._updateDatepicker;
-$.datepicker._updateDatepicker = function(inst) {
-
- // don't popup the datepicker if there is another instance already opened
- var input = inst.input[0];
- if($.datepicker._curInst &&
- $.datepicker._curInst != inst &&
- $.datepicker._datepickerShowing &&
- $.datepicker._lastInput != input) {
- return;
- }
-
- if (typeof(inst.stay_open) !== 'boolean' || inst.stay_open === false) {
-
- this._base_updateDatepicker(inst);
-
- // Reload the time control when changing something in the input text field.
- var tp_inst = this._get(inst, 'timepicker');
- if(tp_inst) tp_inst._addTimePicker(inst);
- }
-};
-
-//#######################################################################################
-// third bad hack :/ override datepicker so it allows spaces and colon in the input field
-//#######################################################################################
-$.datepicker._base_doKeyPress = $.datepicker._doKeyPress;
-$.datepicker._doKeyPress = function(event) {
- var inst = $.datepicker._getInst(event.target),
- tp_inst = $.datepicker._get(inst, 'timepicker');
-
- if (tp_inst) {
- if ($.datepicker._get(inst, 'constrainInput')) {
- var ampm = tp_inst._defaults.ampm,
- dateChars = $.datepicker._possibleChars($.datepicker._get(inst, 'dateFormat')),
- datetimeChars = tp_inst._defaults.timeFormat.toString()
- .replace(/[hms]/g, '')
- .replace(/TT/g, ampm ? 'APM' : '')
- .replace(/Tt/g, ampm ? 'AaPpMm' : '')
- .replace(/tT/g, ampm ? 'AaPpMm' : '')
- .replace(/T/g, ampm ? 'AP' : '')
- .replace(/tt/g, ampm ? 'apm' : '')
- .replace(/t/g, ampm ? 'ap' : '') +
- " " +
- tp_inst._defaults.separator +
- tp_inst._defaults.timeSuffix +
- (tp_inst._defaults.showTimezone ? tp_inst._defaults.timezoneList.join('') : '') +
- (tp_inst._defaults.amNames.join('')) +
- (tp_inst._defaults.pmNames.join('')) +
- dateChars,
- chr = String.fromCharCode(event.charCode === undefined ? event.keyCode : event.charCode);
- return event.ctrlKey || (chr < ' ' || !dateChars || datetimeChars.indexOf(chr) > -1);
- }
- }
-
- return $.datepicker._base_doKeyPress(event);
-};
-
-//#######################################################################################
-// Override key up event to sync manual input changes.
-//#######################################################################################
-$.datepicker._base_doKeyUp = $.datepicker._doKeyUp;
-$.datepicker._doKeyUp = function (event) {
- var inst = $.datepicker._getInst(event.target),
- tp_inst = $.datepicker._get(inst, 'timepicker');
-
- if (tp_inst) {
- if (tp_inst._defaults.timeOnly && (inst.input.val() != inst.lastVal)) {
- try {
- $.datepicker._updateDatepicker(inst);
- }
- catch (err) {
- $.datepicker.log(err);
- }
- }
- }
-
- return $.datepicker._base_doKeyUp(event);
-};
-
-//#######################################################################################
-// override "Today" button to also grab the time.
-//#######################################################################################
-$.datepicker._base_gotoToday = $.datepicker._gotoToday;
-$.datepicker._gotoToday = function(id) {
- var inst = this._getInst($(id)[0]),
- $dp = inst.dpDiv;
- this._base_gotoToday(id);
- var now = new Date();
- var tp_inst = this._get(inst, 'timepicker');
- if (tp_inst && tp_inst._defaults.showTimezone && tp_inst.timezone_select) {
- var tzoffset = now.getTimezoneOffset(); // If +0100, returns -60
- var tzsign = tzoffset > 0 ? '-' : '+';
- tzoffset = Math.abs(tzoffset);
- var tzmin = tzoffset % 60;
- tzoffset = tzsign + ('0' + (tzoffset - tzmin) / 60).slice(-2) + ('0' + tzmin).slice(-2);
- if (tp_inst._defaults.timezoneIso8609)
- tzoffset = tzoffset.substring(0, 3) + ':' + tzoffset.substring(3);
- tp_inst.timezone_select.val(tzoffset);
- }
- this._setTime(inst, now);
- $( '.ui-datepicker-today', $dp).click();
-};
-
-//#######################################################################################
-// Disable & enable the Time in the datetimepicker
-//#######################################################################################
-$.datepicker._disableTimepickerDatepicker = function(target, date, withDate) {
- var inst = this._getInst(target),
- tp_inst = this._get(inst, 'timepicker');
- $(target).datepicker('getDate'); // Init selected[Year|Month|Day]
- if (tp_inst) {
- tp_inst._defaults.showTimepicker = false;
- tp_inst._updateDateTime(inst);
- }
-};
-
-$.datepicker._enableTimepickerDatepicker = function(target, date, withDate) {
- var inst = this._getInst(target),
- tp_inst = this._get(inst, 'timepicker');
- $(target).datepicker('getDate'); // Init selected[Year|Month|Day]
- if (tp_inst) {
- tp_inst._defaults.showTimepicker = true;
- tp_inst._addTimePicker(inst); // Could be disabled on page load
- tp_inst._updateDateTime(inst);
- }
-};
-
-//#######################################################################################
-// Create our own set time function
-//#######################################################################################
-$.datepicker._setTime = function(inst, date) {
- var tp_inst = this._get(inst, 'timepicker');
- if (tp_inst) {
- var defaults = tp_inst._defaults,
- // calling _setTime with no date sets time to defaults
- hour = date ? date.getHours() : defaults.hour,
- minute = date ? date.getMinutes() : defaults.minute,
- second = date ? date.getSeconds() : defaults.second,
- millisec = date ? date.getMilliseconds() : defaults.millisec;
-
- //check if within min/max times..
- if ((hour < defaults.hourMin || hour > defaults.hourMax) || (minute < defaults.minuteMin || minute > defaults.minuteMax) || (second < defaults.secondMin || second > defaults.secondMax) || (millisec < defaults.millisecMin || millisec > defaults.millisecMax)) {
- hour = defaults.hourMin;
- minute = defaults.minuteMin;
- second = defaults.secondMin;
- millisec = defaults.millisecMin;
- }
-
- tp_inst.hour = hour;
- tp_inst.minute = minute;
- tp_inst.second = second;
- tp_inst.millisec = millisec;
-
- if (tp_inst.hour_slider) tp_inst.hour_slider.slider('value', hour);
- if (tp_inst.minute_slider) tp_inst.minute_slider.slider('value', minute);
- if (tp_inst.second_slider) tp_inst.second_slider.slider('value', second);
- if (tp_inst.millisec_slider) tp_inst.millisec_slider.slider('value', millisec);
-
- tp_inst._onTimeChange();
- tp_inst._updateDateTime(inst);
- }
-};
-
-//#######################################################################################
-// Create new public method to set only time, callable as $().datepicker('setTime', date)
-//#######################################################################################
-$.datepicker._setTimeDatepicker = function(target, date, withDate) {
- var inst = this._getInst(target),
- tp_inst = this._get(inst, 'timepicker');
-
- if (tp_inst) {
- this._setDateFromField(inst);
- var tp_date;
- if (date) {
- if (typeof date == "string") {
- tp_inst._parseTime(date, withDate);
- tp_date = new Date();
- tp_date.setHours(tp_inst.hour, tp_inst.minute, tp_inst.second, tp_inst.millisec);
- }
- else tp_date = new Date(date.getTime());
- if (tp_date.toString() == 'Invalid Date') tp_date = undefined;
- this._setTime(inst, tp_date);
- }
- }
-
-};
-
-//#######################################################################################
-// override setDate() to allow setting time too within Date object
-//#######################################################################################
-$.datepicker._base_setDateDatepicker = $.datepicker._setDateDatepicker;
-$.datepicker._setDateDatepicker = function(target, date) {
- var inst = this._getInst(target),
- tp_date = (date instanceof Date) ? new Date(date.getTime()) : date;
-
- this._updateDatepicker(inst);
- this._base_setDateDatepicker.apply(this, arguments);
- this._setTimeDatepicker(target, tp_date, true);
-};
-
-//#######################################################################################
-// override getDate() to allow getting time too within Date object
-//#######################################################################################
-$.datepicker._base_getDateDatepicker = $.datepicker._getDateDatepicker;
-$.datepicker._getDateDatepicker = function(target, noDefault) {
- var inst = this._getInst(target),
- tp_inst = this._get(inst, 'timepicker');
-
- if (tp_inst) {
- this._setDateFromField(inst, noDefault);
- var date = this._getDate(inst);
- if (date && tp_inst._parseTime($(target).val(), tp_inst.timeOnly)) date.setHours(tp_inst.hour, tp_inst.minute, tp_inst.second, tp_inst.millisec);
- return date;
- }
- return this._base_getDateDatepicker(target, noDefault);
-};
-
-//#######################################################################################
-// override parseDate() because UI 1.8.14 throws an error about "Extra characters"
-// An option in datapicker to ignore extra format characters would be nicer.
-//#######################################################################################
-$.datepicker._base_parseDate = $.datepicker.parseDate;
-$.datepicker.parseDate = function(format, value, settings) {
- var date;
- try {
- date = this._base_parseDate(format, value, settings);
- } catch (err) {
- if (err.indexOf(":") >= 0) {
- // Hack! The error message ends with a colon, a space, and
- // the "extra" characters. We rely on that instead of
- // attempting to perfectly reproduce the parsing algorithm.
- date = this._base_parseDate(format, value.substring(0,value.length-(err.length-err.indexOf(':')-2)), settings);
- } else {
- // The underlying error was not related to the time
- throw err;
- }
- }
- return date;
-};
-
-//#######################################################################################
-// override formatDate to set date with time to the input
-//#######################################################################################
-$.datepicker._base_formatDate = $.datepicker._formatDate;
-$.datepicker._formatDate = function(inst, day, month, year){
- var tp_inst = this._get(inst, 'timepicker');
- if(tp_inst) {
- tp_inst._updateDateTime(inst);
- return tp_inst.$input.val();
- }
- return this._base_formatDate(inst);
-};
-
-//#######################################################################################
-// override options setter to add time to maxDate(Time) and minDate(Time). MaxDate
-//#######################################################################################
-$.datepicker._base_optionDatepicker = $.datepicker._optionDatepicker;
-$.datepicker._optionDatepicker = function(target, name, value) {
- var inst = this._getInst(target),
- tp_inst = this._get(inst, 'timepicker');
- if (tp_inst) {
- var min = null, max = null, onselect = null;
- if (typeof name == 'string') { // if min/max was set with the string
- if (name === 'minDate' || name === 'minDateTime' )
- min = value;
- else if (name === 'maxDate' || name === 'maxDateTime')
- max = value;
- else if (name === 'onSelect')
- onselect = value;
- } else if (typeof name == 'object') { //if min/max was set with the JSON
- if (name.minDate)
- min = name.minDate;
- else if (name.minDateTime)
- min = name.minDateTime;
- else if (name.maxDate)
- max = name.maxDate;
- else if (name.maxDateTime)
- max = name.maxDateTime;
- }
- if(min) { //if min was set
- if (min == 0)
- min = new Date();
- else
- min = new Date(min);
-
- tp_inst._defaults.minDate = min;
- tp_inst._defaults.minDateTime = min;
- } else if (max) { //if max was set
- if(max==0)
- max=new Date();
- else
- max= new Date(max);
- tp_inst._defaults.maxDate = max;
- tp_inst._defaults.maxDateTime = max;
- } else if (onselect)
- tp_inst._defaults.onSelect = onselect;
- }
- if (value === undefined)
- return this._base_optionDatepicker(target, name);
- return this._base_optionDatepicker(target, name, value);
-};
-
-//#######################################################################################
-// jQuery extend now ignores nulls!
-//#######################################################################################
-function extendRemove(target, props) {
- $.extend(target, props);
- for (var name in props)
- if (props[name] === null || props[name] === undefined)
- target[name] = props[name];
- return target;
-};
-
-$.timepicker = new Timepicker(); // singleton instance
-$.timepicker.version = "1.0.0";
-
-})(jQuery);
diff --git a/rt/share/html/NoAuth/js/jquery.cookie.js b/rt/share/html/NoAuth/js/jquery.cookie.js
deleted file mode 100644
index 7b3e701..0000000
--- a/rt/share/html/NoAuth/js/jquery.cookie.js
+++ /dev/null
@@ -1,89 +0,0 @@
-/*jslint browser: true */ /*global jQuery: true */
-
-/**
- * jQuery Cookie plugin
- *
- * Copyright (c) 2010 Klaus Hartl (stilbuero.de)
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- *
- */
-
-// TODO JsDoc
-
-/**
- * Create a cookie with the given key and value and other optional parameters.
- *
- * @example $.cookie('the_cookie', 'the_value');
- * @desc Set the value of a cookie.
- * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
- * @desc Create a cookie with all available options.
- * @example $.cookie('the_cookie', 'the_value');
- * @desc Create a session cookie.
- * @example $.cookie('the_cookie', null);
- * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
- * used when the cookie was set.
- *
- * @param String key The key of the cookie.
- * @param String value The value of the cookie.
- * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
- * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
- * If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
- * If set to null or omitted, the cookie will be a session cookie and will not be retained
- * when the the browser exits.
- * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
- * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
- * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
- * require a secure protocol (like HTTPS).
- * @type undefined
- *
- * @name $.cookie
- * @cat Plugins/Cookie
- * @author Klaus Hartl/klaus.hartl@stilbuero.de
- */
-
-/**
- * Get the value of a cookie with the given key.
- *
- * @example $.cookie('the_cookie');
- * @desc Get the value of a cookie.
- *
- * @param String key The key of the cookie.
- * @return The value of the cookie.
- * @type String
- *
- * @name $.cookie
- * @cat Plugins/Cookie
- * @author Klaus Hartl/klaus.hartl@stilbuero.de
- */
-jQuery.cookie = function (key, value, options) {
-
- // key and value given, set cookie...
- if (arguments.length > 1 && (value === null || typeof value !== "object")) {
- options = jQuery.extend({}, options);
-
- if (value === null) {
- options.expires = -1;
- }
-
- if (typeof options.expires === 'number') {
- var days = options.expires, t = options.expires = new Date();
- t.setDate(t.getDate() + days);
- }
-
- return (document.cookie = [
- encodeURIComponent(key), '=',
- options.raw ? String(value) : encodeURIComponent(String(value)),
- options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
- options.path ? '; path=' + options.path : '',
- options.domain ? '; domain=' + options.domain : '',
- options.secure ? '; secure' : ''
- ].join(''));
- }
-
- // key and possibly options given, get cookie...
- options = value || {};
- var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
- return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
-};
diff --git a/rt/share/html/NoAuth/js/jquery.event.hover-1.0.js b/rt/share/html/NoAuth/js/jquery.event.hover-1.0.js
deleted file mode 100644
index 6883ad2..0000000
--- a/rt/share/html/NoAuth/js/jquery.event.hover-1.0.js
+++ /dev/null
@@ -1,85 +0,0 @@
-;(function($){ // secure $ jQuery alias
-/*******************************************************************************************/
-// jquery.event.hover.js - rev 5
-// Copyright (c) 2008, Three Dub Media (http://threedubmedia.com)
-// Liscensed under the MIT License (MIT-LICENSE.txt)
-// http://www.opensource.org/licenses/mit-license.php
-// Created: 2008-06-02 | Updated: 2008-07-30
-/*******************************************************************************************/
-
-// USE THESE PROPERTIES TO CUSTOMIZE SETTINGS...
-
-// $.event.special.hover.delay = 100;
-// Defines the delay (msec) while mouse is inside the element before checking the speed
-
-// $.event.special.hover.speed = 100;
-// Defines the maximum speed (px/sec) the mouse may be moving to trigger the hover event
-
-// save the old jquery "hover" method
-$.fn._hover = $.fn.hover;
-
-// jquery method
-$.fn.hover = function( fn1, fn2, fn3 ) {
- if ( fn3 ) this.bind('hoverstart', fn1 ); // 3 args
- if ( fn2 ) this.bind('hoverend', fn3 ? fn3 : fn2 ); // 2+ args
- return !fn1 ? this.trigger('hover') // 0 args
- : this.bind('hover', fn3 ? fn2 : fn1 ); // 1+ args
- };
-
-// special event configuration
-var hover = $.event.special.hover = {
- delay: 100, // milliseconds
- speed: 100, // pixels per second
- setup: function( data ){
- data = $.extend({ speed: hover.speed, delay: hover.delay, hovered:0 }, data||{} );
- $.event.add( this, "mouseenter mouseleave", hoverHandler, data );
- },
- teardown: function(){
- $.event.remove( this, "mouseenter mouseleave", hoverHandler );
- }
- };
-
-// shared event handler
-function hoverHandler( event ){
- var data = event.data || event;
- switch ( event.type ){
- case 'mouseenter': // mouseover
- data.dist2 = 0; // init mouse distance²
- data.event = event; // store the event
- event.type = "hoverstart"; // hijack event
- if ( $.event.handle.call( this, event ) !== false ){ // handle "hoverstart"
- data.elem = this; // ref to the current element
- $.event.add( this, "mousemove", hoverHandler, data ); // track the mouse
- data.timer = setTimeout( compare, data.delay ); // start async compare
- }
- break;
- case 'mousemove': // track the event, mouse distance² = x² + y²
- data.dist2 += Math.pow( event.pageX-data.event.pageX, 2 )
- + Math.pow( event.pageY-data.event.pageY, 2 );
- data.event = event; // store current event
- break;
- case 'mouseleave': // mouseout
- clearTimeout( data.timer ); // uncompare
- if ( data.hovered ){
- event.type = "hoverend"; // hijack event
- $.event.handle.call( this, event ); // handle "hoverend"
- data.hovered--; // reset flag
- }
- else $.event.remove( data.elem, "mousemove", hoverHandler ); // untrack
- break;
- default: // timeout compare // distance² = x² + y² = ( speed * time )²
- if ( data.dist2 <= Math.pow( data.speed*( data.delay/1e3 ), 2 ) ){ // speed acceptable
- $.event.remove( data.elem, "mousemove", hoverHandler ); // untrack
- data.event.type = "hover"; // hijack event
- if ( $.event.handle.call( data.elem, data.event ) !== false ) // handle "hover"
- data.hovered++; // flag for "hoverend"
- }
- else data.timer = setTimeout( compare, data.delay ); // async recurse
- data.dist2 = 0; // reset distance² for next compare
- break;
- }
- function compare(){ hoverHandler( data ); }; // timeout/recursive function
- };
-
-/*******************************************************************************************/
-})(jQuery); // confine scope \ No newline at end of file
diff --git a/rt/share/html/NoAuth/js/jquery.supposition.js b/rt/share/html/NoAuth/js/jquery.supposition.js
deleted file mode 100644
index 0ce5730..0000000
--- a/rt/share/html/NoAuth/js/jquery.supposition.js
+++ /dev/null
@@ -1,83 +0,0 @@
-/* This file was modified to look for superfish in $.fn.superfish instead of $.superfish */
-
-/*
- * Supposition v0.2 - an optional enhancer for Superfish jQuery menu widget
- *
- * Copyright (c) 2008 Joel Birch - based mostly on work by Jesse Klaasse and credit goes largely to him.
- * Special thanks to Karl Swedberg for valuable input.
- *
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- */
-
-(function($){
-
- $.fn.supposition = function(){
- var $w = $(window), /*do this once instead of every onBeforeShow call*/
- _offset = function(dir) {
- return window[dir == 'y' ? 'pageYOffset' : 'pageXOffset']
- || document.documentElement && document.documentElement[dir=='y' ? 'scrollTop' : 'scrollLeft']
- || document.body[dir=='y' ? 'scrollTop' : 'scrollLeft'];
- },
- onInit = function(){
- /* I haven't touched this bit - needs work as there are still z-index issues */
- $topNav = $('li',this);
- var cZ=parseInt($topNav.css('z-index')) + $topNav.length;
- $topNav.each(function() {
- $(this).css({zIndex:--cZ});
- });
- },
- onHide = function(){
- this.css({marginTop:'',marginLeft:''});
- },
- onBeforeShow = function(){
- this.each(function(){
- var $u = $(this);
- $u.css('display','block');
- var menuWidth = $u.width(),
- parentWidth = $u.parents('ul').width(),
- totalRight = $w.width() + _offset('x'),
- menuRight = $u.offset().left + menuWidth;
- if (menuRight > totalRight) {
- $u.css('margin-left', ($u.parents('ul').length == 1 ? totalRight - menuRight : -(menuWidth + parentWidth)) + 'px');
- }
-
- var windowHeight = $w.height(),
- offsetTop = $u.offset().top,
- menuHeight = $u.height(),
- baseline = windowHeight + _offset('y');
- var expandUp = (offsetTop + menuHeight > baseline);
- if (expandUp) {
- $u.css('margin-top',baseline - (menuHeight + offsetTop));
- }
- $u.css('display','none');
- });
- };
-
- return this.each(function() {
- var o = $.fn.superfish.o[this.serial]; /* get this menu's options */
-
- /* if callbacks already set, store them */
- var _onInit = o.onInit,
- _onBeforeShow = o.onBeforeShow,
- _onHide = o.onHide;
-
- $.extend($.fn.superfish.o[this.serial],{
- onInit : function() {
- onInit.call(this); /* fire our Supposition callback */
- _onInit.call(this); /* fire stored callbacks */
- },
- onBeforeShow: function() {
- onBeforeShow.call(this); /* fire our Supposition callback */
- _onBeforeShow.call(this); /* fire stored callbacks */
- },
- onHide : function() {
- onHide.call(this); /* fire our Supposition callback */
- _onHide.call(this); /* fire stored callbacks */
- }
- });
- });
- };
-
-})(jQuery);
diff --git a/rt/share/html/NoAuth/js/jquery.tablesorter.min.js b/rt/share/html/NoAuth/js/jquery.tablesorter.min.js
deleted file mode 100644
index 299f9de..0000000
--- a/rt/share/html/NoAuth/js/jquery.tablesorter.min.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- *
- * TableSorter 2.0 - Client-side table sorting with ease!
- * Version 2.0.5b
- * @requires jQuery v1.2.3
- *
- * Copyright (c) 2007 Christian Bach
- * Examples and docs at: http://tablesorter.com
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- *
- */
-(function($){$.extend({tablesorter:new
-function(){var parsers=[],widgets=[];this.defaults={cssHeader:"header",cssAsc:"headerSortUp",cssDesc:"headerSortDown",cssChildRow:"expand-child",sortInitialOrder:"asc",sortMultiSortKey:"shiftKey",sortForce:null,sortAppend:null,sortLocaleCompare:true,textExtraction:"simple",parsers:{},widgets:[],widgetZebra:{css:["even","odd"]},headers:{},widthFixed:false,cancelSelection:true,sortList:[],headerList:[],dateFormat:"us",decimal:'/\.|\,/g',onRenderHeader:null,selectorHeaders:'thead th',debug:false};function benchmark(s,d){log(s+","+(new Date().getTime()-d.getTime())+"ms");}this.benchmark=benchmark;function log(s){if(typeof console!="undefined"&&typeof console.debug!="undefined"){console.log(s);}else{alert(s);}}function buildParserCache(table,$headers){if(table.config.debug){var parsersDebug="";}if(table.tBodies.length==0)return;var rows=table.tBodies[0].rows;if(rows[0]){var list=[],cells=rows[0].cells,l=cells.length;for(var i=0;i<l;i++){var p=false;if($.metadata&&($($headers[i]).metadata()&&$($headers[i]).metadata().sorter)){p=getParserById($($headers[i]).metadata().sorter);}else if((table.config.headers[i]&&table.config.headers[i].sorter)){p=getParserById(table.config.headers[i].sorter);}if(!p){p=detectParserForColumn(table,rows,-1,i);}if(table.config.debug){parsersDebug+="column:"+i+" parser:"+p.id+"\n";}list.push(p);}}if(table.config.debug){log(parsersDebug);}return list;};function detectParserForColumn(table,rows,rowIndex,cellIndex){var l=parsers.length,node=false,nodeValue=false,keepLooking=true;while(nodeValue==''&&keepLooking){rowIndex++;if(rows[rowIndex]){node=getNodeFromRowAndCellIndex(rows,rowIndex,cellIndex);nodeValue=trimAndGetNodeText(table.config,node);if(table.config.debug){log('Checking if value was empty on row:'+rowIndex);}}else{keepLooking=false;}}for(var i=1;i<l;i++){if(parsers[i].is(nodeValue,table,node)){return parsers[i];}}return parsers[0];}function getNodeFromRowAndCellIndex(rows,rowIndex,cellIndex){return rows[rowIndex].cells[cellIndex];}function trimAndGetNodeText(config,node){return $.trim(getElementText(config,node));}function getParserById(name){var l=parsers.length;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==name.toLowerCase()){return parsers[i];}}return false;}function buildCache(table){if(table.config.debug){var cacheTime=new Date();}var totalRows=(table.tBodies[0]&&table.tBodies[0].rows.length)||0,totalCells=(table.tBodies[0].rows[0]&&table.tBodies[0].rows[0].cells.length)||0,parsers=table.config.parsers,cache={row:[],normalized:[]};for(var i=0;i<totalRows;++i){var c=$(table.tBodies[0].rows[i]),cols=[];if(c.hasClass(table.config.cssChildRow)){cache.row[cache.row.length-1]=cache.row[cache.row.length-1].add(c);continue;}cache.row.push(c);for(var j=0;j<totalCells;++j){cols.push(parsers[j].format(getElementText(table.config,c[0].cells[j]),table,c[0].cells[j]));}cols.push(cache.normalized.length);cache.normalized.push(cols);cols=null;};if(table.config.debug){benchmark("Building cache for "+totalRows+" rows:",cacheTime);}return cache;};function getElementText(config,node){var text="";if(!node)return"";if(!config.supportsTextContent)config.supportsTextContent=node.textContent||false;if(config.textExtraction=="simple"){if(config.supportsTextContent){text=node.textContent;}else{if(node.childNodes[0]&&node.childNodes[0].hasChildNodes()){text=node.childNodes[0].innerHTML;}else{text=node.innerHTML;}}}else{if(typeof(config.textExtraction)=="function"){text=config.textExtraction(node);}else{text=$(node).text();}}return text;}function appendToTable(table,cache){if(table.config.debug){var appendTime=new Date()}var c=cache,r=c.row,n=c.normalized,totalRows=n.length,checkCell=(n[0].length-1),tableBody=$(table.tBodies[0]),rows=[];for(var i=0;i<totalRows;i++){var pos=n[i][checkCell];rows.push(r[pos]);if(!table.config.appender){var l=r[pos].length;for(var j=0;j<l;j++){tableBody[0].appendChild(r[pos][j]);}}}if(table.config.appender){table.config.appender(table,rows);}rows=null;if(table.config.debug){benchmark("Rebuilt table:",appendTime);}applyWidget(table);setTimeout(function(){$(table).trigger("sortEnd");},0);};function buildHeaders(table){if(table.config.debug){var time=new Date();}var meta=($.metadata)?true:false;var header_index=computeTableHeaderCellIndexes(table);$tableHeaders=$(table.config.selectorHeaders,table).each(function(index){this.column=header_index[this.parentNode.rowIndex+"-"+this.cellIndex];this.order=formatSortingOrder(table.config.sortInitialOrder);this.count=this.order;if(checkHeaderMetadata(this)||checkHeaderOptions(table,index))this.sortDisabled=true;if(checkHeaderOptionsSortingLocked(table,index))this.order=this.lockedOrder=checkHeaderOptionsSortingLocked(table,index);if(!this.sortDisabled){var $th=$(this).addClass(table.config.cssHeader);if(table.config.onRenderHeader)table.config.onRenderHeader.apply($th);}table.config.headerList[index]=this;});if(table.config.debug){benchmark("Built headers:",time);log($tableHeaders);}return $tableHeaders;};function computeTableHeaderCellIndexes(t){var matrix=[];var lookup={};var thead=t.getElementsByTagName('THEAD')[0];var trs=thead.getElementsByTagName('TR');for(var i=0;i<trs.length;i++){var cells=trs[i].cells;for(var j=0;j<cells.length;j++){var c=cells[j];var rowIndex=c.parentNode.rowIndex;var cellId=rowIndex+"-"+c.cellIndex;var rowSpan=c.rowSpan||1;var colSpan=c.colSpan||1
-var firstAvailCol;if(typeof(matrix[rowIndex])=="undefined"){matrix[rowIndex]=[];}for(var k=0;k<matrix[rowIndex].length+1;k++){if(typeof(matrix[rowIndex][k])=="undefined"){firstAvailCol=k;break;}}lookup[cellId]=firstAvailCol;for(var k=rowIndex;k<rowIndex+rowSpan;k++){if(typeof(matrix[k])=="undefined"){matrix[k]=[];}var matrixrow=matrix[k];for(var l=firstAvailCol;l<firstAvailCol+colSpan;l++){matrixrow[l]="x";}}}}return lookup;}function checkCellColSpan(table,rows,row){var arr=[],r=table.tHead.rows,c=r[row].cells;for(var i=0;i<c.length;i++){var cell=c[i];if(cell.colSpan>1){arr=arr.concat(checkCellColSpan(table,headerArr,row++));}else{if(table.tHead.length==1||(cell.rowSpan>1||!r[row+1])){arr.push(cell);}}}return arr;};function checkHeaderMetadata(cell){if(($.metadata)&&($(cell).metadata().sorter===false)){return true;};return false;}function checkHeaderOptions(table,i){if((table.config.headers[i])&&(table.config.headers[i].sorter===false)){return true;};return false;}function checkHeaderOptionsSortingLocked(table,i){if((table.config.headers[i])&&(table.config.headers[i].lockedOrder))return table.config.headers[i].lockedOrder;return false;}function applyWidget(table){var c=table.config.widgets;var l=c.length;for(var i=0;i<l;i++){getWidgetById(c[i]).format(table);}}function getWidgetById(name){var l=widgets.length;for(var i=0;i<l;i++){if(widgets[i].id.toLowerCase()==name.toLowerCase()){return widgets[i];}}};function formatSortingOrder(v){if(typeof(v)!="Number"){return(v.toLowerCase()=="desc")?1:0;}else{return(v==1)?1:0;}}function isValueInArray(v,a){var l=a.length;for(var i=0;i<l;i++){if(a[i][0]==v){return true;}}return false;}function setHeadersCss(table,$headers,list,css){$headers.removeClass(css[0]).removeClass(css[1]);var h=[];$headers.each(function(offset){if(!this.sortDisabled){h[this.column]=$(this);}});var l=list.length;for(var i=0;i<l;i++){h[list[i][0]].addClass(css[list[i][1]]);}}function fixColumnWidth(table,$headers){var c=table.config;if(c.widthFixed){var colgroup=$('<colgroup>');$("tr:first td",table.tBodies[0]).each(function(){colgroup.append($('<col>').css('width',$(this).width()));});$(table).prepend(colgroup);};}function updateHeaderSortCount(table,sortList){var c=table.config,l=sortList.length;for(var i=0;i<l;i++){var s=sortList[i],o=c.headerList[s[0]];o.count=s[1];o.count++;}}function multisort(table,sortList,cache){if(table.config.debug){var sortTime=new Date();}var dynamicExp="var sortWrapper = function(a,b) {",l=sortList.length;for(var i=0;i<l;i++){var c=sortList[i][0];var order=sortList[i][1];var s=(table.config.parsers[c].type=="text")?((order==0)?makeSortFunction("text","asc",c):makeSortFunction("text","desc",c)):((order==0)?makeSortFunction("numeric","asc",c):makeSortFunction("numeric","desc",c));var e="e"+i;dynamicExp+="var "+e+" = "+s;dynamicExp+="if("+e+") { return "+e+"; } ";dynamicExp+="else { ";}var orgOrderCol=cache.normalized[0].length-1;dynamicExp+="return a["+orgOrderCol+"]-b["+orgOrderCol+"];";for(var i=0;i<l;i++){dynamicExp+="}; ";}dynamicExp+="return 0; ";dynamicExp+="}; ";if(table.config.debug){benchmark("Evaling expression:"+dynamicExp,new Date());}eval(dynamicExp);cache.normalized.sort(sortWrapper);if(table.config.debug){benchmark("Sorting on "+sortList.toString()+" and dir "+order+" time:",sortTime);}return cache;};function makeSortFunction(type,direction,index){var a="a["+index+"]",b="b["+index+"]";if(type=='text'&&direction=='asc'){return"("+a+" == "+b+" ? 0 : ("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : ("+a+" < "+b+") ? -1 : 1 )));";}else if(type=='text'&&direction=='desc'){return"("+a+" == "+b+" ? 0 : ("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : ("+b+" < "+a+") ? -1 : 1 )));";}else if(type=='numeric'&&direction=='asc'){return"("+a+" === null && "+b+" === null) ? 0 :("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : "+a+" - "+b+"));";}else if(type=='numeric'&&direction=='desc'){return"("+a+" === null && "+b+" === null) ? 0 :("+a+" === null ? Number.POSITIVE_INFINITY : ("+b+" === null ? Number.NEGATIVE_INFINITY : "+b+" - "+a+"));";}};function makeSortText(i){return"((a["+i+"] < b["+i+"]) ? -1 : ((a["+i+"] > b["+i+"]) ? 1 : 0));";};function makeSortTextDesc(i){return"((b["+i+"] < a["+i+"]) ? -1 : ((b["+i+"] > a["+i+"]) ? 1 : 0));";};function makeSortNumeric(i){return"a["+i+"]-b["+i+"];";};function makeSortNumericDesc(i){return"b["+i+"]-a["+i+"];";};function sortText(a,b){if(table.config.sortLocaleCompare)return a.localeCompare(b);return((a<b)?-1:((a>b)?1:0));};function sortTextDesc(a,b){if(table.config.sortLocaleCompare)return b.localeCompare(a);return((b<a)?-1:((b>a)?1:0));};function sortNumeric(a,b){return a-b;};function sortNumericDesc(a,b){return b-a;};function getCachedSortType(parsers,i){return parsers[i].type;};this.construct=function(settings){return this.each(function(){if(!this.tHead||!this.tBodies)return;var $this,$document,$headers,cache,config,shiftDown=0,sortOrder;this.config={};config=$.extend(this.config,$.tablesorter.defaults,settings);$this=$(this);$.data(this,"tablesorter",config);$headers=buildHeaders(this);this.config.parsers=buildParserCache(this,$headers);cache=buildCache(this);var sortCSS=[config.cssDesc,config.cssAsc];fixColumnWidth(this);$headers.click(function(e){var totalRows=($this[0].tBodies[0]&&$this[0].tBodies[0].rows.length)||0;if(!this.sortDisabled&&totalRows>0){$this.trigger("sortStart");var $cell=$(this);var i=this.column;this.order=this.count++%2;if(this.lockedOrder)this.order=this.lockedOrder;if(!e[config.sortMultiSortKey]){config.sortList=[];if(config.sortForce!=null){var a=config.sortForce;for(var j=0;j<a.length;j++){if(a[j][0]!=i){config.sortList.push(a[j]);}}}config.sortList.push([i,this.order]);}else{if(isValueInArray(i,config.sortList)){for(var j=0;j<config.sortList.length;j++){var s=config.sortList[j],o=config.headerList[s[0]];if(s[0]==i){o.count=s[1];o.count++;s[1]=o.count%2;}}}else{config.sortList.push([i,this.order]);}};setTimeout(function(){setHeadersCss($this[0],$headers,config.sortList,sortCSS);appendToTable($this[0],multisort($this[0],config.sortList,cache));},1);return false;}}).mousedown(function(){if(config.cancelSelection){this.onselectstart=function(){return false};return false;}});$this.bind("update",function(){var me=this;setTimeout(function(){me.config.parsers=buildParserCache(me,$headers);cache=buildCache(me);},1);}).bind("updateCell",function(e,cell){var config=this.config;var pos=[(cell.parentNode.rowIndex-1),cell.cellIndex];cache.normalized[pos[0]][pos[1]]=config.parsers[pos[1]].format(getElementText(config,cell),cell);}).bind("sorton",function(e,list){$(this).trigger("sortStart");config.sortList=list;var sortList=config.sortList;updateHeaderSortCount(this,sortList);setHeadersCss(this,$headers,sortList,sortCSS);appendToTable(this,multisort(this,sortList,cache));}).bind("appendCache",function(){appendToTable(this,cache);}).bind("applyWidgetId",function(e,id){getWidgetById(id).format(this);}).bind("applyWidgets",function(){applyWidget(this);});if($.metadata&&($(this).metadata()&&$(this).metadata().sortlist)){config.sortList=$(this).metadata().sortlist;}if(config.sortList.length>0){$this.trigger("sorton",[config.sortList]);}applyWidget(this);});};this.addParser=function(parser){var l=parsers.length,a=true;for(var i=0;i<l;i++){if(parsers[i].id.toLowerCase()==parser.id.toLowerCase()){a=false;}}if(a){parsers.push(parser);};};this.addWidget=function(widget){widgets.push(widget);};this.formatFloat=function(s){var i=parseFloat(s);return(isNaN(i))?0:i;};this.formatInt=function(s){var i=parseInt(s);return(isNaN(i))?0:i;};this.isDigit=function(s,config){return/^[-+]?\d*$/.test($.trim(s.replace(/[,.']/g,'')));};this.clearTableBody=function(table){if($.browser.msie){function empty(){while(this.firstChild)this.removeChild(this.firstChild);}empty.apply(table.tBodies[0]);}else{table.tBodies[0].innerHTML="";}};}});$.fn.extend({tablesorter:$.tablesorter.construct});var ts=$.tablesorter;ts.addParser({id:"text",is:function(s){return true;},format:function(s){return $.trim(s.toLocaleLowerCase());},type:"text"});ts.addParser({id:"digit",is:function(s,table){var c=table.config;return $.tablesorter.isDigit(s,c);},format:function(s){return $.tablesorter.formatFloat(s);},type:"numeric"});ts.addParser({id:"currency",is:function(s){return/^[£$€?.]/.test(s);},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/[£$€]/g),""));},type:"numeric"});ts.addParser({id:"ipAddress",is:function(s){return/^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(s);},format:function(s){var a=s.split("."),r="",l=a.length;for(var i=0;i<l;i++){var item=a[i];if(item.length==2){r+="0"+item;}else{r+=item;}}return $.tablesorter.formatFloat(r);},type:"numeric"});ts.addParser({id:"url",is:function(s){return/^(https?|ftp|file):\/\/$/.test(s);},format:function(s){return jQuery.trim(s.replace(new RegExp(/(https?|ftp|file):\/\//),''));},type:"text"});ts.addParser({id:"isoDate",is:function(s){return/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(s);},format:function(s){return $.tablesorter.formatFloat((s!="")?new Date(s.replace(new RegExp(/-/g),"/")).getTime():"0");},type:"numeric"});ts.addParser({id:"percent",is:function(s){return/\%$/.test($.trim(s));},format:function(s){return $.tablesorter.formatFloat(s.replace(new RegExp(/%/g),""));},type:"numeric"});ts.addParser({id:"usLongDate",is:function(s){return s.match(new RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/));},format:function(s){return $.tablesorter.formatFloat(new Date(s).getTime());},type:"numeric"});ts.addParser({id:"shortDate",is:function(s){return/\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/.test(s);},format:function(s,table){var c=table.config;s=s.replace(/\-/g,"/");if(c.dateFormat=="us"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$1/$2");}else if(c.dateFormat=="uk"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/,"$3/$2/$1");}else if(c.dateFormat=="dd/mm/yy"||c.dateFormat=="dd-mm-yy"){s=s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/,"$1/$2/$3");}return $.tablesorter.formatFloat(new Date(s).getTime());},type:"numeric"});ts.addParser({id:"time",is:function(s){return/^(([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(am|pm)))$/.test(s);},format:function(s){return $.tablesorter.formatFloat(new Date("2000/01/01 "+s).getTime());},type:"numeric"});ts.addParser({id:"metadata",is:function(s){return false;},format:function(s,table,cell){var c=table.config,p=(!c.parserMetadataName)?'sortValue':c.parserMetadataName;return $(cell).metadata()[p];},type:"numeric"});ts.addWidget({id:"zebra",format:function(table){if(table.config.debug){var time=new Date();}var $tr,row=-1,odd;$("tr:visible",table.tBodies[0]).each(function(i){$tr=$(this);if(!$tr.hasClass(table.config.cssChildRow))row++;odd=(row%2==0);$tr.removeClass(table.config.widgetZebra.css[odd?0:1]).addClass(table.config.widgetZebra.css[odd?1:0])});if(table.config.debug){$.tablesorter.benchmark("Applying Zebra widget",time);}}});})(jQuery);
diff --git a/rt/share/html/NoAuth/js/jquery_noconflict.js b/rt/share/html/NoAuth/js/jquery_noconflict.js
deleted file mode 100644
index 206d28a..0000000
--- a/rt/share/html/NoAuth/js/jquery_noconflict.js
+++ /dev/null
@@ -1,51 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-/**
- * noConflict.js - Tell jQuery not to clobber $()
- */
-jQuery.noConflict();
diff --git a/rt/share/html/NoAuth/js/late.js b/rt/share/html/NoAuth/js/late.js
deleted file mode 100644
index f33c9b3..0000000
--- a/rt/share/html/NoAuth/js/late.js
+++ /dev/null
@@ -1,49 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-// Lower the speed limit for hover intent event
-jQuery.event.special.hover.speed = 80; // pixels per second
diff --git a/rt/share/html/NoAuth/js/list.js b/rt/share/html/NoAuth/js/list.js
deleted file mode 100644
index feb5527..0000000
--- a/rt/share/html/NoAuth/js/list.js
+++ /dev/null
@@ -1,112 +0,0 @@
-/* by TKirby, released under GPL */
-/* Define the "list" Class */
-Class("list").define({
- name : null,
- xml : null,
- sels : null,
- list : function (src, esrc, name) { this.init(src, esrc, name); },
- read : function () {
- var i = 0;
- if(this.xml.readyState!=4) { setTimeout(this.name+".read()", 100); }
- else if(this.xml.status!=200) alert("Document not available.");
- else {
- var doc = this.xml.responseXML;
- var nNode = null;
- if(doc.childNodes[0].nodeName=="parseerror") alert("Parse Error.");
- doc = doc.getElementsByTagName("list")[0];
- for(i=0;i<doc.childNodes.length;i++) {
- if(doc.childNodes[i].childNodes.length>0) {
- nNode = document.createElement("option");
- nNode.appendChild(document.createTextNode(doc.childNodes[i].childNodes[0].nodeValue));
- this.sels[0].appendChild(nNode);
- }
- }
- }
- },
-
- init : function (src,esrc,name) {
- if(!src) return;
- this.name = name;
- this.sels = new Array();
- var i = 0;
- for(i=0;i<src.childNodes.length;i++) {
- if(src.childNodes[i].nodeName=="select" || src.childNodes[i].nodeName=="SELECT") {
- this.sels.push(src.childNodes[i]);
- }
-
- if((src.childNodes[i].nodeName=="input" || src.childNodes[i].nodeName=="INPUT")
- && (src.childNodes[i].name=="fromjs")) {
- src.childNodes[i].value = 1;
- }
-
- if((src.childNodes[i].nodeName=="input" || src.childNodes[i].nodeName=="INPUT")
- && (src.childNodes[i].type=="submit" || src.childNodes[i].type=="SUBMIT")) {
-
- if (src.childNodes[i].name.indexOf("Save") < 0) {
- var tmp = document.createElement("input");
- tmp.type = "button";
- tmp.name = src.childNodes[i].name;
- tmp.value = src.childNodes[i].value;
- src.replaceChild(tmp,src.childNodes[i]);
- }
-
- if(src.childNodes[i].name=="add")
- src.childNodes[i].onclick = new Function(this.name+".add();");
- if(src.childNodes[i].name=="remove")
- src.childNodes[i].onclick = new Function(this.name+".remove();");
- if(src.childNodes[i].name=="moveup")
- src.childNodes[i].onclick = new Function(this.name+".moveup();");
- if(src.childNodes[i].name=="movedown")
- src.childNodes[i].onclick = new Function(this.name+".movedown();");
- }
- }
- if (esrc) {
- this.xml = (window.navigator.appName!="Microsoft Internet Explorer"
- ?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP"));
- this.xml.open("GET", esrc);
- this.xml.send("");
- setTimeout(this.name+".read()", 100);
- }
- },
-
- add : function() {
- var i, j = 0;
- var dNode = null;
- for(i=0;i<this.sels[0].length;i++) if(this.sels[0][i].selected) {
- for(j=0;j<this.sels[1].length;j++) if(this.sels[1][j].value==this.sels[0][i].value) break;
- if(j==this.sels[1].length) dNode = this.sels[0][i].cloneNode(true),
- this.sels[1].appendChild(dNode);
- }
- },
-
- moveup : function() { this.move(-1); },
- movedown : function() { this.move(1); },
- move : function(v) {
- var i = 0;
- if(v<0) for(i=0;i<this.sels[1].length;i++) this.moveOne(v, i);
- else if(v>0) for(i=this.sels[1].length-1;i>=0;i--)this.moveOne(v, i);
- },
-
- moveOne : function(v, i) {
- var ins = v + i;
- if(ins<0 || ins>=this.sels[1].length) return;
- if(this.sels[1][ins].selected) return;
- if(this.sels[1][i].selected) {
- Node = this.sels[1][i];
- this.sels[1].removeChild(Node);
- this.sels[1].insertBefore(Node, this.sels[1][ins]);
- }
- },
-
- remove : function() {
- var i = 0;
- for(i=this.sels[1].length-1;i>=0;i--) if(this.sels[1][i].selected)
- this.sels[1].removeChild(this.sels[1][i]);
- },
-
- selectAll: function() {
- var i = 0;
- for(i=0;i<this.sels[0].length;i++) this.sels[0][i].selected = false;
- for(i=0;i<this.sels[1].length;i++) this.sels[1][i].selected = true;
- }
-});
diff --git a/rt/share/html/NoAuth/js/superfish.js b/rt/share/html/NoAuth/js/superfish.js
deleted file mode 100644
index 2d74318..0000000
--- a/rt/share/html/NoAuth/js/superfish.js
+++ /dev/null
@@ -1,121 +0,0 @@
-
-/*
- * Superfish v1.4.8 - jQuery menu widget
- * Copyright (c) 2008 Joel Birch
- *
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- *
- * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt
- */
-
-;(function($){
- $.fn.superfish = function(op){
-
- var sf = $.fn.superfish,
- c = sf.c,
- $arrow = $(['<span class="',c.arrowClass,'"> &#187;</span>'].join('')),
- over = function(){
- var $$ = $(this), menu = getMenu($$);
- clearTimeout(menu.sfTimer);
- $$.showSuperfishUl().siblings().hideSuperfishUl();
- },
- out = function(){
- var $$ = $(this), menu = getMenu($$), o = sf.op;
- clearTimeout(menu.sfTimer);
- menu.sfTimer=setTimeout(function(){
- o.retainPath=($.inArray($$[0],o.$path)>-1);
- $$.hideSuperfishUl();
- if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}
- },o.delay);
- },
- getMenu = function($menu){
- var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0];
- sf.op = sf.o[menu.serial];
- return menu;
- },
- addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); };
-
- return this.each(function() {
- var s = this.serial = sf.o.length;
- var o = $.extend({},sf.defaults,op);
- o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){
- $(this).addClass([o.hoverClass,c.bcClass].join(' '))
- .filter('li:has(ul)').removeClass(o.pathClass);
- });
- sf.o[s] = sf.op = o;
-
- $('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() {
- if (o.autoArrows) addArrow( $('>a:first-child',this) );
- })
- .not('.'+c.bcClass)
- .hideSuperfishUl();
-
- var $a = $('a',this);
- $a.each(function(i){
- var $li = $a.eq(i).parents('li');
- $a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);});
- });
- o.onInit.call(this);
-
- }).each(function() {
- var menuClasses = [c.menuClass];
- if (sf.op.dropShadows && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass);
- $(this).addClass(menuClasses.join(' '));
- });
- };
-
- var sf = $.fn.superfish;
- sf.o = [];
- sf.op = {};
- sf.IE7fix = function(){
- var o = sf.op;
- if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined)
- this.toggleClass(sf.c.shadowClass+'-off');
- };
- sf.c = {
- bcClass : 'sf-breadcrumb',
- menuClass : 'sf-js-enabled',
- anchorClass : 'sf-with-ul',
- arrowClass : 'sf-sub-indicator',
- shadowClass : 'sf-shadow'
- };
- sf.defaults = {
- hoverClass : 'sfHover',
- pathClass : 'overideThisToUse',
- pathLevels : 1,
- delay : 800,
- animation : {opacity:'show'},
- speed : 'normal',
- autoArrows : true,
- dropShadows : true,
- disableHI : false, // true disables hoverIntent detection
- onInit : function(){}, // callback functions
- onBeforeShow: function(){},
- onShow : function(){},
- onHide : function(){}
- };
- $.fn.extend({
- hideSuperfishUl : function(){
- var o = sf.op,
- not = (o.retainPath===true) ? o.$path : '';
- o.retainPath = false;
- var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass)
- .find('>ul').hide().css('visibility','hidden');
- o.onHide.call($ul);
- return this;
- },
- showSuperfishUl : function(){
- var o = sf.op,
- sh = sf.c.shadowClass+'-off',
- $ul = this.addClass(o.hoverClass)
- .find('>ul:hidden').css('visibility','visible');
- sf.IE7fix.call($ul);
- o.onBeforeShow.call($ul);
- $ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); });
- return this;
- }
- });
-
-})(jQuery);
diff --git a/rt/share/html/NoAuth/js/supersubs.js b/rt/share/html/NoAuth/js/supersubs.js
deleted file mode 100644
index a6fce65..0000000
--- a/rt/share/html/NoAuth/js/supersubs.js
+++ /dev/null
@@ -1,90 +0,0 @@
-
-/*
- * Supersubs v0.2b - jQuery plugin
- * Copyright (c) 2008 Joel Birch
- *
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- *
- *
- * This plugin automatically adjusts submenu widths of suckerfish-style menus to that of
- * their longest list item children. If you use this, please expect bugs and report them
- * to the jQuery Google Group with the word 'Superfish' in the subject line.
- *
- */
-
-;(function($){ // $ will refer to jQuery within this closure
-
- $.fn.supersubs = function(options){
- var opts = $.extend({}, $.fn.supersubs.defaults, options);
- // return original object to support chaining
- return this.each(function() {
- // cache selections
- var $$ = $(this);
- // support metadata
- var o = $.meta ? $.extend({}, opts, $$.data()) : opts;
- // get the font size of menu.
- // .css('fontSize') returns various results cross-browser, so measure an em dash instead
- var fontsize = $('<li id="menu-fontsize">&#8212;</li>').css({
- 'padding' : 0,
- 'position' : 'absolute',
- 'top' : '-999em',
- 'width' : 'auto'
- }).appendTo($$).width(); //clientWidth is faster, but was incorrect here
- // remove em dash
- $('#menu-fontsize').remove();
- // cache all ul elements
- $ULs = $$.find('ul');
- // loop through each ul in menu
- $ULs.each(function(i) {
- // cache this ul
- var $ul = $ULs.eq(i);
- // get all (li) children of this ul
- var $LIs = $ul.children();
- // get all anchor grand-children
- var $As = $LIs.children('a');
- // force content to one line and save current float property
- var liFloat = $LIs.css('white-space','nowrap').css('float');
- // remove width restrictions and floats so elements remain vertically stacked
- var emWidth = $ul.add($LIs).add($As).css({
- 'float' : 'none',
- 'width' : 'auto'
- })
- // this ul will now be shrink-wrapped to longest li due to position:absolute
- // so save its width as ems. Clientwidth is 2 times faster than .width() - thanks Dan Switzer
- .end().end()[0].clientWidth / fontsize;
- // add more width to ensure lines don't turn over at certain sizes in various browsers
- emWidth += o.extraWidth;
- // restrict to at least minWidth and at most maxWidth
- if (emWidth > o.maxWidth) { emWidth = o.maxWidth; }
- else if (emWidth < o.minWidth) { emWidth = o.minWidth; }
- emWidth += 'em';
- // set ul to width in ems
- $ul.css('width',emWidth);
- // restore li floats to avoid IE bugs
- // set li width to full width of this ul
- // revert white-space to normal
- $LIs.css({
- 'float' : liFloat,
- 'width' : '100%',
- 'white-space' : 'normal'
- })
- // update offset position of descendant ul to reflect new width of parent
- .each(function(){
- var $childUl = $('>ul',this);
- var offsetDirection = $childUl.css('left')!==undefined ? 'left' : 'right';
- $childUl.css(offsetDirection,emWidth);
- });
- });
-
- });
- };
- // expose defaults
- $.fn.supersubs.defaults = {
- minWidth : 9, // requires em unit.
- maxWidth : 25, // requires em unit.
- extraWidth : 0 // extra width can ensure lines don't sometimes turn over due to slight browser differences in how they round-off values
- };
-
-})(jQuery); // plugin code ends
diff --git a/rt/share/html/NoAuth/js/userautocomplete.js b/rt/share/html/NoAuth/js/userautocomplete.js
deleted file mode 100644
index c2b5a4a..0000000
--- a/rt/share/html/NoAuth/js/userautocomplete.js
+++ /dev/null
@@ -1,126 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-jQuery(function() {
- // inputs that accept multiple email addresses
- var multipleCompletion = new Array("Requestors", "To", "Bcc", "Cc", "AdminCc", "WatcherAddressEmail[123]", "UpdateCc", "UpdateBcc");
-
- // inputs with only a single email address allowed
- var singleCompletion = new Array("(Add|Delete)Requestor", "(Add|Delete)Cc", "(Add|Delete)AdminCc");
-
- // inputs for only privileged users
- var privilegedCompletion = new Array("AddPrincipalForRights-user");
-
- // build up the regexps we'll use to match
- var applyto = new RegExp('^(' + multipleCompletion.concat(singleCompletion, privilegedCompletion).join('|') + ')$');
- var acceptsMultiple = new RegExp('^(' + multipleCompletion.join('|') + ')$');
- var onlyPrivileged = new RegExp('^(' + privilegedCompletion.join('|') + ')$');
-
- var inputs = document.getElementsByTagName("input");
-
- for (var i = 0; i < inputs.length; i++) {
- var input = inputs[i];
- var inputName = input.getAttribute("name");
-
- if (!inputName || !inputName.match(applyto))
- continue;
-
- var options = {
- source: <% RT->Config->Get('WebPath') |n,j%>+"/Helpers/Autocomplete/Users"
- };
-
- var queryargs = [];
-
- if (inputName.match("AddPrincipalForRights-user")) {
- queryargs.push("return=Name");
- options.select = addprincipal_onselect;
- options.change = addprincipal_onchange;
- }
-
- if (inputName.match(onlyPrivileged)) {
- queryargs.push("privileged=1");
- }
-
- if (inputName.match(acceptsMultiple)) {
- queryargs.push("delim=,");
-
- options.focus = function () {
- // prevent value inserted on focus
- return false;
- }
-
- options.select = function(event, ui) {
- var terms = this.value.split(/,\s*/);
- terms.pop(); // remove current input
- terms.push( ui.item.value ); // add selected item
- this.value = terms.join(", ");
- return false;
- }
- }
-
- if (queryargs.length)
- options.source += "?" + queryargs.join("&");
-
- jQuery(input)
- .addClass('autocompletes-user')
- .autocomplete(options)
- .data("autocomplete")
- ._renderItem = function(ul, item) {
- var rendered = jQuery("<a/>");
-
- if (item.html == null)
- rendered.text( item.label );
- else
- rendered.html( item.html );
-
- return jQuery("<li/>")
- .data( "item.autocomplete", item )
- .append( rendered )
- .appendTo( ul );
- };
- }
-});
diff --git a/rt/share/html/NoAuth/js/util.js b/rt/share/html/NoAuth/js/util.js
deleted file mode 100644
index 4732226..0000000
--- a/rt/share/html/NoAuth/js/util.js
+++ /dev/null
@@ -1,372 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-/* Visibility */
-
-function show(id) { delClass( id, 'hidden' ) }
-function hide(id) { addClass( id, 'hidden' ) }
-
-function hideshow(id) { return toggleVisibility( id ) }
-function toggleVisibility(id) {
- var e = jQuery('#' + id);
-
- if ( e.hasClass('hidden') ) {
- e.removeClass('hidden');
- }
- else {
- e.addClass('hidden');
- }
-
- return false;
-}
-
-function setVisibility(id, visibility) {
- if ( visibility ) show(id);
- else hide(id);
-}
-
-function switchVisibility(id1, id2) {
- // Show both and then hide the one we want
- show(id1);
- show(id2);
- hide(id2);
- return false;
-}
-
-/* Classes */
-function jQueryWrap( id ) {
- return typeof id == 'object' ? jQuery(id) : jQuery('#'+id);
-}
-
-function addClass(id, value) {
- jQueryWrap(id).addClass(value);
-}
-
-function delClass(id, value) {
- jQueryWrap(id).removeClass(value);
-}
-
-/* Rollups */
-
-function rollup(id) {
- var e = jQueryWrap(id);
- var e2 = e.parent();
-
- if (e.hasClass('hidden')) {
- set_rollup_state(e,e2,'shown');
- createCookie(id,1,365);
- }
- else {
- set_rollup_state(e,e2,'hidden');
- createCookie(id,0,365);
- }
- return false;
-}
-
-function set_rollup_state(e,e2,state) {
- if (e && e2) {
- if (state == 'shown') {
- show(e);
- delClass( e2, 'rolled-up' );
- }
- else if (state == 'hidden') {
- hide(e);
- addClass( e2, 'rolled-up' );
- }
- }
-}
-
-/* other utils */
-
-function focusElementById(id) {
- var e = jQuery('#'+id);
- if (e) e.focus();
-}
-
-function setCheckbox(form, name, val) {
- var myfield = form.getElementsByTagName('input');
- for ( var i = 0; i < myfield.length; i++ ) {
- if ( myfield[i].type != 'checkbox' ) continue;
- if ( name ) {
- if ( name instanceof RegExp ) {
- if ( ! myfield[i].name.match( name ) ) continue;
- }
- else {
- if ( myfield[i].name != name ) continue;
- }
-
- }
-
- myfield[i].checked = val;
- }
-}
-
-/* apply callback to nodes or elements */
-
-function walkChildNodes(parent, callback)
-{
- if( !parent || !parent.childNodes ) return;
- var list = parent.childNodes;
- for( var i = 0; i < list.length; i++ ) {
- callback( list[i] );
- }
-}
-
-function walkChildElements(parent, callback)
-{
- walkChildNodes( parent, function(node) {
- if( node.nodeType != 1 ) return;
- return callback( node );
- } );
-}
-
-/* shredder things */
-
-function showShredderPluginTab( plugin )
-{
- var plugin_tab_id = 'shredder-plugin-'+ plugin +'-tab';
- var root = jQuery('#shredder-plugin-tabs');
-
- root.children(':not(.hidden)').addClass('hidden');
- root.children('#' + plugin_tab_id).removeClass('hidden');
-
- if( plugin ) {
- show('shredder-submit-button');
- } else {
- hide('shredder-submit-button');
- }
-}
-
-function checkAllObjects()
-{
- var check = jQuery('#shredder-select-all-objects-checkbox').attr('checked');
- var elements = jQuery('#shredder-search-form :checkbox[name=WipeoutObject]');
-
- if( check ) {
- elements.attr('checked', true);
- } else {
- elements.attr('checked', false);
- }
-}
-
-function checkboxToInput(target,checkbox,val){
- var tar = jQuery('#' + escapeCssSelector(target));
- var box = jQuery('#' + escapeCssSelector(checkbox));
- if(box.attr('checked')){
- if (tar.val()==''){
- tar.val(val);
- }
- else{
- tar.val( val+', '+ tar.val() );
- }
- }
- else{
- tar.val(tar.val().replace(val+', ',''));
- tar.val(tar.val().replace(val,''));
- }
- jQuery('#UpdateIgnoreAddressCheckboxes').val(true);
-}
-
-// ahah for back compatibility as plugins may still use it
-function ahah( url, id ) {
- jQuery('#'+id).load(url);
-}
-
-// only for back compatibility, please JQuery() instead
-function doOnLoad( js ) {
- jQuery(js);
-}
-
-jQuery(function() {
- var opts = {
- dateFormat: 'yy-mm-dd',
- constrainInput: false,
- showButtonPanel: true,
- changeMonth: true,
- changeYear: true,
- showOtherMonths: true,
- selectOtherMonths: true
- };
- jQuery(".ui-datepicker:not(.withtime)").datepicker(opts);
- jQuery(".ui-datepicker.withtime").datetimepicker( jQuery.extend({}, opts, {
- stepHour: 1,
- // We fake this by snapping below for the minute slider
- //stepMinute: 5,
- hourGrid: 6,
- minuteGrid: 15,
- showSecond: false,
- timeFormat: 'hh:mm:ss'
- }) ).each(function(index, el) {
- var tp = jQuery.datepicker._get( jQuery.datepicker._getInst(el), 'timepicker');
- if (!tp) return;
-
- // Hook after _injectTimePicker so we can modify the minute_slider
- // right after it's first created
- tp._base_injectTimePicker = tp._injectTimePicker;
- tp._injectTimePicker = function() {
- this._base_injectTimePicker.apply(this, arguments);
-
- // Now that we have minute_slider, modify it to be stepped for mouse movements
- var slider = jQuery.data(this.minute_slider[0], "slider");
- slider._base_normValueFromMouse = slider._normValueFromMouse;
- slider._normValueFromMouse = function() {
- var value = this._base_normValueFromMouse.apply(this, arguments);
- var old_step = this.options.step;
- this.options.step = 5;
- var aligned = this._trimAlignValue( value );
- this.options.step = old_step;
- return aligned;
- };
- };
- });
-});
-
-function textToHTML(value) {
- return value.replace(/&/g, "&amp;")
- .replace(/</g, "&lt;")
- .replace(/>/g, "&gt;")
- .replace(/-- \n/g,"--&nbsp;\n")
- .replace(/\n/g, "\n<br />");
-};
-
-function ReplaceAllTextareas() {
- var sAgent = navigator.userAgent.toLowerCase();
- if (!CKEDITOR.env.isCompatible ||
- sAgent.indexOf('iphone') != -1 ||
- sAgent.indexOf('ipad') != -1 ||
- sAgent.indexOf('android') != -1 )
- return false;
-
- // replace all content and signature message boxes
- var allTextAreas = document.getElementsByTagName("textarea");
-
- for (var i=0; i < allTextAreas.length; i++) {
- var textArea = allTextAreas[i];
- if (jQuery(textArea).hasClass("messagebox")) {
- // Turn the original plain text content into HTML
- var type = jQuery("#"+textArea.name+"Type");
- if (type.val() != "text/html")
- textArea.value = textToHTML(textArea.value);
-
- // Set the type
- type.val("text/html");
-
- CKEDITOR.replace(textArea.name,{width:'100%',height:<% RT->Config->Get('MessageBoxRichTextHeight') |n,j%>});
- CKEDITOR.basePath = <%RT->Config->Get('WebPath')|n,j%>+"/NoAuth/RichText/";
-
- jQuery("#" + textArea.name + "___Frame").addClass("richtext-editor");
- }
- }
-};
-
-function toggle_addprincipal_validity(input, good, title) {
- if (good) {
- jQuery(input).nextAll(".warning").hide();
- jQuery("#acl-AddPrincipal input[type=checkbox]").removeAttr("disabled");
- } else {
- jQuery(input).nextAll(".warning").css("display", "block");
- jQuery("#acl-AddPrincipal input[type=checkbox]").attr("disabled", "disabled");
- }
-
- if (title == null)
- title = jQuery(input).val();
-
- update_addprincipal_title( title );
-}
-
-function update_addprincipal_title(title) {
- var h3 = jQuery("#acl-AddPrincipal h3");
- h3.html( h3.text().replace(/: .*$/,'') + ": " + title );
-}
-
-// when a value is selected from the autocompleter
-function addprincipal_onselect(ev, ui) {
-
- // if principal link exists, we shall go there instead
- var principal_link = jQuery(ev.target).closest('form').find('ul.ui-tabs-nav a[href="#acl-' + ui.item.id + '"]:first');
- if (principal_link.size()) {
- jQuery(this).val('').blur();
- update_addprincipal_title( '' ); // reset title to blank for #acl-AddPrincipal
- principal_link.click();
- return false;
- }
-
- // pass the item's value along as the title since the input's value
- // isn't actually updated yet
- toggle_addprincipal_validity(this, true, ui.item.value);
-}
-
-// when the input is actually changed, through typing or autocomplete
-function addprincipal_onchange(ev, ui) {
- // if we have a ui.item, then they selected from autocomplete and it's good
- if (!ui.item) {
- var input = jQuery(this);
- // Check using the same autocomplete source if the value typed would
- // have been autocompleted and is therefore valid
- jQuery.ajax({
- url: input.autocomplete("option", "source"),
- data: {
- op: "=",
- term: input.val()
- },
- dataType: "json",
- success: function(data) {
- if (data)
- toggle_addprincipal_validity(input, data.length ? true : false );
- else
- toggle_addprincipal_validity(input, true);
- }
- });
- } else {
- toggle_addprincipal_validity(this, true);
- }
-}
-
-
-function escapeCssSelector(str) {
- return str.replace(/([^A-Za-z0-9_-])/g,'\\$1');
-}
diff --git a/rt/share/html/NoAuth/rss/dhandler b/rt/share/html/NoAuth/rss/dhandler
index 1446e6c..cdeae81 100644
--- a/rt/share/html/NoAuth/rss/dhandler
+++ b/rt/share/html/NoAuth/rss/dhandler
@@ -45,4 +45,37 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<& /Search/Elements/ResultsRSSView, %ARGS &>
+<%init>
+my $path = $m->dhandler_arg;
+
+my $notfound = sub {
+ my $mesg = shift;
+ $r->headers_out->{'Status'} = '404 Not Found';
+ $RT::Logger->info("Error encountered in rss generation: $mesg");
+ $m->clear_and_abort;
+};
+
+$notfound->("Invalid path: $path") unless $path =~ m!^([^/]+)/([^/]+)/?!;
+
+my ( $name, $auth ) = ( $1, $2 );
+
+# Unescape parts
+$name =~ s/\%([0-9a-z]{2})/chr(hex($1))/gei;
+
+# convert to perl strings
+$name = Encode::decode( "UTF-8", $name);
+
+my $user = RT::User->new(RT->SystemUser);
+$user->Load($name);
+$notfound->("Invalid user: $user") unless $user->id;
+
+$notfound->("Invalid authstring")
+ unless $user->ValidateAuthString( $auth,
+ $ARGS{Query} . $ARGS{Order} . $ARGS{OrderBy} );
+
+my $cu = RT::CurrentUser->new;
+$cu->Load($user);
+local $session{'CurrentUser'} = $cu;
+
+$m->comp("/Search/Elements/ResultsRSSView", %ARGS);
+</%init>
diff --git a/rt/share/html/Prefs/DashboardsInMenu.html b/rt/share/html/Prefs/DashboardsInMenu.html
new file mode 100644
index 0000000..215512d
--- /dev/null
+++ b/rt/share/html/Prefs/DashboardsInMenu.html
@@ -0,0 +1,113 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<& /Elements/Header, Title => $title &>
+<& /Elements/Tabs
+&>
+<& /Elements/ListActions, actions => \@results &>
+
+<br />
+
+% for my $pane ( @panes ) {
+<&|/Widgets/TitleBox,
+ title => loc('Dashboards in menu'),
+ bodyclass => ""
+&>
+<& /Widgets/SelectionBox:show, self => $pane &>
+</&>
+% }
+
+<&|/Widgets/TitleBox, title => loc("Reset dashboards in menu") &>
+<form method="post" action="DashboardsInMenu.html">
+<input type="hidden" name="Reset" value="1" />
+<input type="submit" class="button" value="<% loc('Reset to default') %>">
+</form>
+</&>
+
+
+<%INIT>
+my @results;
+my $title = loc("Customize").' '.loc("dashboards in menu");
+my $user = $session{'CurrentUser'}->UserObj;
+
+if ($ARGS{Reset}) {
+ my ($ok, $msg) = $user->SetPreferences('DashboardsInMenu', {});
+ push @results, $ok ? loc('Preferences saved.') : $msg;
+ delete $session{'dashboards_in_menu'};
+}
+
+my ($default_dashboards) =
+RT::System->new($session{'CurrentUser'})->Attributes->Named('DashboardsInMenu');
+
+my $dashboard_pref =
+ $session{CurrentUser}->UserObj->Preferences( 'DashboardsInMenu',
+ $default_dashboards ? $default_dashboards->Content : () );
+
+my $current_dashboards = $dashboard_pref->{dashboards} || [];
+
+my @dashboards = map { [$_->id, $_->Name] } $m->comp("/Dashboards/Elements/ListOfDashboards", IncludeSuperuserGroups => 0 );
+
+my @panes = $m->comp(
+ '/Admin/Elements/ConfigureDashboardsInMenu',
+ Action => 'DashboardsInMenu.html',
+ panes => ['dashboards_in_menu'],
+ items => \@dashboards,
+ current_portlets => $current_dashboards,
+ OnSave => sub {
+ my ( $conf ) = @_;
+ my ( $ok, $msg ) =
+ $user->SetPreferences( 'DashboardsInMenu', $conf );
+ push @results, $ok ? loc('Preferences saved for dashboards in menu.') : $msg;
+ delete $session{'dashboards_in_menu'};
+ }
+);
+
+$m->comp( '/Widgets/SelectionBox:process', %ARGS, self => $_ )
+ for @panes;
+
+</%INIT>
+
diff --git a/rt/share/html/Prefs/MyRT.html b/rt/share/html/Prefs/MyRT.html
index 433b91f..7613b8d 100644
--- a/rt/share/html/Prefs/MyRT.html
+++ b/rt/share/html/Prefs/MyRT.html
@@ -50,9 +50,6 @@
&>
<& /Elements/ListActions, actions => \@results &>
-<& /Widgets/SelectionBox:header, nojs => 1 &>
-
-
<br />
% for my $pane ( @panes ) {
@@ -60,7 +57,7 @@
title => loc('RT at a glance') .': '. loc( $pane->{Name} ),
bodyclass => ""
&>
-<& /Widgets/SelectionBox:show, self => $pane, nojs => 1 &>
+<& /Widgets/SelectionBox:show, self => $pane &>
</&>
% }
@@ -142,7 +139,8 @@ for my $object (@objs) {
else {
my $oid = ref($object).'-'.$object->Id.'-SavedSearch-'.$search->Id;
my $type = ($SearchType eq 'Ticket')
- ? 'Saved Search' : $SearchType; # loc
+ ? 'Saved Search' # loc
+ : $SearchType;
push @items, ["saved-$oid", loc($type).": $loc_desc"];
}
}
@@ -150,7 +148,7 @@ for my $object (@objs) {
my @panes = $m->comp(
'/Admin/Elements/ConfigureMyRT',
- panes => ['body', 'summary'],
+ panes => ['body', 'sidebar'],
Action => 'MyRT.html',
items => \@items,
current_portlets => $portlets,
@@ -161,7 +159,7 @@ my @panes = $m->comp(
}
);
-$m->comp( '/Widgets/SelectionBox:process', %ARGS, self => $_, nojs => 1 )
+$m->comp( '/Widgets/SelectionBox:process', %ARGS, self => $_ )
for @panes;
</%INIT>
diff --git a/rt/share/html/Prefs/Other.html b/rt/share/html/Prefs/Other.html
index 2af68a0..e6ac3bf 100644
--- a/rt/share/html/Prefs/Other.html
+++ b/rt/share/html/Prefs/Other.html
@@ -67,9 +67,9 @@
</&>
% }
-% if ( RT->Config->Get('GnuPG')->{'Enable'} ) {
+% if ( RT->Config->Get('Crypt')->{'Enable'} ) {
<&|/Widgets/TitleBox, title => loc( 'Cryptography' ) &>
-<&|/l&>Preferred key</&>: <& /Elements/GnuPG/SelectKeyForEncryption, EmailAddress => $UserObj->EmailAddress, Default => $UserObj->PreferredKey &>
+<&|/l&>Preferred key</&>: <& /Elements/Crypt/SelectKeyForEncryption, EmailAddress => $UserObj->EmailAddress, Default => $UserObj->PreferredKey &>
</&>
% }
@@ -77,7 +77,7 @@
</form>
<%INIT>
my @results;
-my $title = loc("Settings");
+my $title = loc("Preferences");
my $UserObj = $session{'CurrentUser'}->UserObj;
my $preferences = $UserObj->Preferences( $RT::System );
diff --git a/rt/share/html/Prefs/Quicksearch.html b/rt/share/html/Prefs/Quicksearch.html
index 2642aa5..0d3e58b 100644
--- a/rt/share/html/Prefs/Quicksearch.html
+++ b/rt/share/html/Prefs/Quicksearch.html
@@ -53,14 +53,15 @@
<form method="post" action="Quicksearch.html" name="Preferences">
<ul>
% for my $queue (@queues) {
-<li><input type="checkbox" class="checkbox" name="Want-<%$queue->Name%>" value="1"
+<li><input type="checkbox" class="checkbox" id="Want-<%$queue->Name%>" name="Want-<%$queue->Name%>" value="1"
% unless ($unwanted->{$queue->Name}) {
checked="checked"
% }
-/><%$queue->Name%><% $queue->Description ? ': '.$queue->Description : '' %></li>
+/>
+<label for="Want-<%$queue->Name%>"><%$queue->Name%><% $queue->Description ? ': '.$queue->Description : '' %></label>
+</li>
% }
</ul>
-
<& /Elements/Submit,
Caption => loc("Save Changes"),
Label => loc('Save'),
@@ -94,10 +95,10 @@ my @queues = grep { $right ? $_->CurrentUserHasRight($right) : 1 } @{$Queues->It
if ($ARGS{'Save'}) {
for my $queue (@queues) {
if ($ARGS{"Want-".$queue->Name}) {
- delete $unwanted->{$queue->Name};
- }
+ delete $unwanted->{$queue->Name};
+ }
else {
- ++$unwanted->{$queue->Name};
+ ++$unwanted->{$queue->Name};
}
}
diff --git a/rt/share/html/Prefs/Search.html b/rt/share/html/Prefs/Search.html
index 68f66a6..21066c8 100644
--- a/rt/share/html/Prefs/Search.html
+++ b/rt/share/html/Prefs/Search.html
@@ -53,8 +53,8 @@
<p>
<&|/l&>You can also edit the predefined search itself</&>:
<a href="<% RT->Config->Get('WebPath').'/Search/Build.html?'.
- $m->comp('/Elements/QueryString',
- SavedSearchLoad => 'RT::System-1-SavedSearch-'.$id) %>"><% $search->Name %></a>
+ $m->comp('/Elements/QueryString',
+ SavedSearchLoad => 'RT::System-1-SavedSearch-'.$id) %>"><% $search->Name %></a>
</p>
% }
diff --git a/rt/share/html/Prefs/SearchOptions.html b/rt/share/html/Prefs/SearchOptions.html
index 1d74640..cc0a5ed 100644
--- a/rt/share/html/Prefs/SearchOptions.html
+++ b/rt/share/html/Prefs/SearchOptions.html
@@ -86,8 +86,8 @@ if ($ARGS{'SavePreferences'}) {
my $prefs = $session{'CurrentUser'}->UserObj->Preferences("SearchDisplay") || {};
$Format ||= $prefs->{'Format'};
-$Order ||= ($prefs->{'Order'} || 'ASC');
-$OrderBy ||= ($prefs->{'OrderBy'} || 'id');
+$Order ||= ($prefs->{'Order'} || RT->Config->Get('DefaultSearchResultOrder'));
+$OrderBy ||= ($prefs->{'OrderBy'} || RT->Config->Get('DefaultSearchResultOrderBy'));
($RowsPerPage = defined( $prefs->{'RowsPerPage'} ) ? $prefs->{'RowsPerPage'} : 50) unless defined ($RowsPerPage);
my ( $AvailableColumns, $CurrentFormat );
diff --git a/rt/share/html/REST/1.0/Forms/group/default b/rt/share/html/REST/1.0/Forms/group/default
index 58dae57..3a872d0 100644
--- a/rt/share/html/REST/1.0/Forms/group/default
+++ b/rt/share/html/REST/1.0/Forms/group/default
@@ -58,7 +58,12 @@ my @comments;
my ($c, $o, $k, $e) = ("", [], {}, 0);
my %data = %$changes;
my $group = RT::Group->new($session{CurrentUser});
-my @fields = qw(Name Description);
+
+my @fields = qw(Name Description Disabled);
+if ( $fields && %$fields ) {
+ @fields = grep { exists $fields->{ lc $_ } } @fields;
+}
+
my %fields = map { lc $_ => $_ } @fields;
if ($id ne 'new') {
@@ -109,31 +114,33 @@ if (%data == 0) {
my @data;
push @data, [ id => "group/".$group->Id ];
- push @data, [ Name => $group->Name ];
- push @data, [ Description => $group->Description ];
-
+ foreach my $key (@fields) {
+ push @data, [ $key => $group->$key ];
+ }
# Members
- my $gms = [];
- my $GroupMembers = $group->MembersObj();
- while ( my $mo = $GroupMembers->Next() ) {
- if ( $mo->MemberObj->IsGroup ) {
- my $us = $mo->MemberObj->Object->UserMembersObj();
- my @users;
- while ( my $u = $us->Next() ) {
- push @users, $u->RealName . ' <' . $u->EmailAddress . '>';
+ unless ( $fields && !exists $fields->{members} ) {
+ my $gms = [];
+ my $GroupMembers = $group->MembersObj();
+ while ( my $mo = $GroupMembers->Next() ) {
+ if ( $mo->MemberObj->IsGroup ) {
+ my $us = $mo->MemberObj->Object->UserMembersObj();
+ my @users;
+ while ( my $u = $us->Next() ) {
+ push @users, $u->RealName . ' <' . $u->EmailAddress . '>';
+ }
+ push @$gms,
+ 'GROUP ['
+ . $mo->MemberObj->Object->Name . ']' . ' ('
+ . join( ';', @users ) . ')';
+ } elsif ( $mo->MemberObj->IsUser ) {
+ push @$gms,
+ $mo->MemberObj->Object->RealName . ' <'
+ . $mo->MemberObj->Object->EmailAddress . '>';
}
- push @$gms,
- 'GROUP ['
- . $mo->MemberObj->Object->Name . ']' . ' ('
- . join( ';', @users ) . ')';
- } elsif ( $mo->MemberObj->IsUser ) {
- push @$gms,
- $mo->MemberObj->Object->RealName . ' <'
- . $mo->MemberObj->Object->EmailAddress . '>';
}
+ push @data, [ Members => $gms ];
}
- push @data, [ Members => $gms ];
# Custom fields
my $CustomFields = $group->CustomFields;
diff --git a/rt/share/html/REST/1.0/Forms/group/ns b/rt/share/html/REST/1.0/Forms/group/ns
index b027934..7be8eaf 100644
--- a/rt/share/html/REST/1.0/Forms/group/ns
+++ b/rt/share/html/REST/1.0/Forms/group/ns
@@ -54,7 +54,7 @@ $id
use RT::Groups;
my $groups = RT::Groups->new($session{CurrentUser});
-$groups->Limit(FIELD => 'Name', OPERATOR => '=', VALUE => $id);
+$groups->Limit(FIELD => 'Name', OPERATOR => '=', VALUE => $id, CASESENSITIVE => 0);
if ($groups->Count == 0) {
return (0, "No group named $id exists.");
}
diff --git a/rt/share/html/REST/1.0/Forms/queue/default b/rt/share/html/REST/1.0/Forms/queue/default
index bb8eb5f..a85b057 100755
--- a/rt/share/html/REST/1.0/Forms/queue/default
+++ b/rt/share/html/REST/1.0/Forms/queue/default
@@ -58,8 +58,13 @@ my @comments;
my ($c, $o, $k, $e) = ("", [], {}, 0);
my %data = %$changes;
my $queue = RT::Queue->new($session{CurrentUser});
-my @fields = qw(Name Description CorrespondAddress CommentAddress
- InitialPriority FinalPriority DefaultDueIn);
+
+my @fields =
+ qw(Name Description CorrespondAddress CommentAddress InitialPriority FinalPriority DefaultDueIn Disabled);
+if ( $fields && %$fields ) {
+ @fields = grep { exists $fields->{ lc $_ } } @fields;
+}
+
my %fields = map { lc $_ => $_ } @fields;
if ($id ne 'new') {
diff --git a/rt/share/html/REST/1.0/Forms/queue/ns b/rt/share/html/REST/1.0/Forms/queue/ns
index 24bd868..618acc0 100755
--- a/rt/share/html/REST/1.0/Forms/queue/ns
+++ b/rt/share/html/REST/1.0/Forms/queue/ns
@@ -54,7 +54,7 @@ $id
use RT::Queues;
my $queues = RT::Queues->new($session{CurrentUser});
-$queues->Limit(FIELD => 'Name', OPERATOR => '=', VALUE => $id);
+$queues->Limit(FIELD => 'Name', OPERATOR => '=', VALUE => $id, CASESENSITIVE => 0 );
if ($queues->Count == 0) {
return (0, "No queue named $id exists.");
}
diff --git a/rt/share/html/REST/1.0/Forms/ticket/attachments b/rt/share/html/REST/1.0/Forms/ticket/attachments
index b9e3647..b9619ec 100755
--- a/rt/share/html/REST/1.0/Forms/ticket/attachments
+++ b/rt/share/html/REST/1.0/Forms/ticket/attachments
@@ -89,23 +89,23 @@ if ($aid) {
$r->content_type($attachment->ContentType);
}
} else {
- my @data;
- push @data, [ id => $attachment->Id ];
- push @data, [ Subject => $attachment->Subject ];
- push @data, [ Creator => $attachment->Creator ];
- push @data, [ Created => $attachment->Created ];
- push @data, [ Transaction => $attachment->TransactionId ];
- push @data, [ Parent => $attachment->Parent ];
- push @data, [ MessageId => $attachment->MessageId ];
- push @data, [ Filename => $attachment->Filename ];
- push @data, [ ContentType => $attachment->ContentType ];
- push @data, [ ContentEncoding => $attachment->ContentEncoding ];
- push @data, [ Headers => $attachment->Headers ];
- push @data, [ Content => $attachment->Content ];
+ my @data;
+ push @data, [ id => $attachment->Id ];
+ push @data, [ Subject => $attachment->Subject ];
+ push @data, [ Creator => $attachment->Creator ];
+ push @data, [ Created => $attachment->Created ];
+ push @data, [ Transaction => $attachment->TransactionId ];
+ push @data, [ Parent => $attachment->Parent ];
+ push @data, [ MessageId => $attachment->MessageId ];
+ push @data, [ Filename => $attachment->Filename ];
+ push @data, [ ContentType => $attachment->ContentType ];
+ push @data, [ ContentEncoding => $attachment->ContentEncoding ];
+ push @data, [ Headers => $attachment->Headers ];
+ push @data, [ Content => $attachment->Content ];
- my %k = map {@$_} @data;
- $o = [ map {$_->[0]} @data ];
- $k = \%k;
+ my %k = map {@$_} @data;
+ $o = [ map {$_->[0]} @data ];
+ $k = \%k;
}
}
diff --git a/rt/share/html/REST/1.0/Forms/ticket/default b/rt/share/html/REST/1.0/Forms/ticket/default
index a546af7..e60b6a6 100755
--- a/rt/share/html/REST/1.0/Forms/ticket/default
+++ b/rt/share/html/REST/1.0/Forms/ticket/default
@@ -99,12 +99,16 @@ else {
if (!keys(%data)) {
# GET ticket/new: Return a suitable default form.
# We get defaults from queue/1 (XXX: What if it isn't there?).
- my $due = RT::Date->new($session{CurrentUser});
my $queue = RT::Queue->new($session{CurrentUser});
- my $starts = RT::Date->new($session{CurrentUser});
$queue->Load(1);
- $due->SetToNow;
- $due->AddDays($queue->DefaultDueIn) if $queue->DefaultDueIn;
+
+ my $due;
+ if ($queue->DefaultDueIn) {
+ $due = RT::Date->new($session{CurrentUser});
+ $due->SetToNow;
+ $due->AddDays($queue->DefaultDueIn);
+ }
+ my $starts = RT::Date->new($session{CurrentUser});
$starts->SetToNow;
return [
@@ -124,8 +128,8 @@ else {
InitialPriority => $queue->InitialPriority,
FinalPriority => $queue->FinalPriority,
TimeEstimated => 0,
- Starts => $starts->ISO,
- Due => $due->ISO,
+ Starts => $starts->ISO(Timezone => 'user'),
+ Due => $due ? $due->ISO(Timezone => 'user') : undef,
Attachment => '',
Text => "",
},
@@ -153,17 +157,21 @@ else {
my $key = $1 || $2;
my $cf = RT::CustomField->new( $session{CurrentUser} );
- $cf->LoadByName( Name => $key, Queue => $data{Queue} || $v{Queue} );
- unless ( $cf->id ) {
- $cf->LoadByName( Name => $key, Queue => 0 );
- }
+ $cf->LoadByName(
+ Name => $key,
+ LookupType => RT::Ticket->CustomFieldLookupType,
+ ObjectId => $data{Queue} || $v{Queue},
+ IncludeGlobal => 1,
+ );
if (not $cf->id) {
push @comments, "# Invalid custom field name ($key)";
delete $data{$k};
next;
}
- $v{"CustomField-".$cf->Id()} = delete $data{$k};
+ my $val = delete $data{$k};
+ next unless defined $val && length $val;
+ $v{"CustomField-".$cf->Id()} = $cf->SingleValue ? $val : vsplit($val,1);
}
elsif (lc $k eq 'text') {
$text = delete $data{$k};
@@ -228,15 +236,15 @@ if (!keys(%data)) {
my ($time, $key, $val, @data);
push @data, [ id => "ticket/".$ticket->Id ];
- push @data, [ Queue => $ticket->QueueObj->Name ]
- if (!%$fields || exists $fields->{lc 'Queue'});
+ push @data, [ Queue => $ticket->QueueObj->Name ]
+ if (!%$fields || exists $fields->{lc 'Queue'});
push @data, [ Owner => $ticket->OwnerObj->Name ]
- if (!%$fields || exists $fields->{lc 'Owner'});
+ if (!%$fields || exists $fields->{lc 'Owner'});
push @data, [ Creator => $ticket->CreatorObj->Name ]
- if (!%$fields || exists $fields->{lc 'Creator'});
+ if (!%$fields || exists $fields->{lc 'Creator'});
foreach (qw(Subject Status Priority InitialPriority FinalPriority)) {
- next unless (!%$fields || (exists $fields->{lc $_}));
+ next unless (!%$fields || (exists $fields->{lc $_}));
push @data, [$_ => $ticket->$_ ];
}
@@ -247,14 +255,14 @@ if (!keys(%data)) {
$time = RT::Date->new ($session{CurrentUser});
foreach $key (@dates) {
- next unless (!%$fields || (exists $fields->{lc $key}));
+ next unless (!%$fields || (exists $fields->{lc $key}));
$time->Set(Format => 'sql', Value => $ticket->$key);
push @data, [ $key => $time->AsString ];
}
$time = RT::Date->new ($session{CurrentUser});
foreach $key (qw(TimeEstimated TimeWorked TimeLeft)) {
- next unless (!%$fields || (exists $fields->{lc $key}));
+ next unless (!%$fields || (exists $fields->{lc $key}));
$val = $ticket->$key || 0;
$val = "$val minutes" if $val;
push @data, [ $key => $val ];
@@ -276,8 +284,8 @@ if (!keys(%data)) {
else {
while (my $v = $vals->Next()) {
my $content = $v->Content;
- $content =~ s/'/\\'/g;
if ( $v->Content =~ /,/ ) {
+ $content =~ s/([\\'])/\\$1/g;
push @out, q{'} . $content . q{'};
}
else {
@@ -380,10 +388,13 @@ else {
$key = $1 || $2;
my $cf = RT::CustomField->new( $session{CurrentUser} );
- $cf->LoadByName( Name => $key, Queue => $ticket->Queue );
- unless ( $cf->id ) {
- $cf->LoadByName( Name => $key, Queue => 0 );
- }
+ $cf->ContextObject( $ticket );
+ $cf->LoadByName(
+ Name => $key,
+ LookupType => RT::Ticket->CustomFieldLookupType,
+ ObjectId => $ticket->Queue,
+ IncludeGlobal => 1,
+ );
if (not $cf->id) {
$n = 0;
@@ -401,52 +412,12 @@ else {
}
}
elsif ( $cf->SingleValue ) {
- my $old = $vals->Next;
- if ( $old ) {
- if ( $val ne $old->Content ) {
- ($n, $s) = $ticket->AddCustomFieldValue(
- Field => $cf, Value => $val );
- $s =~ s/^# // if defined $s;
- }
- }
- else {
- ($n, $s) = $ticket->AddCustomFieldValue(
- Field => $cf, Value => $val );
- $s =~ s/^# // if defined $s;
- }
+ ($n, $s) = $ticket->AddCustomFieldValue(
+ Field => $cf, Value => $val );
+ $s =~ s/^# // if defined $s;
}
else {
- my @new;
- my ( $a, $b ) = split /\s*,\s*/, $val, 2;
- while ($a) {
- no warnings 'uninitialized';
- if ( $a =~ /^'/ ) {
- my $s = $a;
- while ( $a !~ /'$/ || ( $a !~ /(\\\\)+'$/
- && $a =~ /(\\)+'$/ ) ) {
- ( $a, $b ) = split /\s*,\s*/, $b, 2;
- $s .= ',' . $a;
- }
- $s =~ s/^'//;
- $s =~ s/'$//;
- $s =~ s/\\'/'/g;
- push @new, $s;
- }
- elsif ( $a =~ /^q\{/ ) {
- my $s = $a;
- while ( $a !~ /\}$/ ) {
- ( $a, $b ) = split /\s*,\s*/, $b, 2;
- $s .= ',' . $a;
- }
- $s =~ s/^q\{//;
- $s =~ s/\}//;
- push @new, $s;
- }
- else {
- push @new, $a;
- }
- ( $a, $b ) = split /\s*,\s*/, $b, 2;
- }
+ my @new = @{vsplit($val, 1)};
my %new;
$new{$_}++ for @new;
diff --git a/rt/share/html/REST/1.0/Forms/ticket/history b/rt/share/html/REST/1.0/Forms/ticket/history
index 8bbb5b7..f5d2d25 100755
--- a/rt/share/html/REST/1.0/Forms/ticket/history
+++ b/rt/share/html/REST/1.0/Forms/ticket/history
@@ -101,61 +101,61 @@ if ($type) {
if ($tid) {
my @data;
my $t = RT::Transaction->new($session{CurrentUser});
-
+
# this paragraph limits the transaction ID query to transactions on this ticket.
# Otherwise you can query any transaction from any ticket, which makes no sense.
my $Transactions = $ticket->Transactions;
my $tok=0;
while (my $T = $Transactions->Next()) {
- $tok=1 if ($T->Id == $tid)
+ $tok=1 if ($T->Id == $tid)
}
if ($tok) {
- $t->Load($tid);
+ $t->Load($tid);
} else {
- return [ "# Transaction $tid is not related to Ticket $id", [], {}, 1 ];
+ return [ "# Transaction $tid is not related to Ticket $id", [], {}, 1 ];
}
push @data, [ id => $t->Id ];
push @data, [ Ticket => $t->Ticket ]
- if (!%$fields || exists $fields->{lc 'Ticket'});
+ if (!%$fields || exists $fields->{lc 'Ticket'});
push @data, [ TimeTaken => $t->TimeTaken ]
- if (!%$fields || exists $fields->{lc 'TimeTaken'});
+ if (!%$fields || exists $fields->{lc 'TimeTaken'});
push @data, [ Type => $t->Type ]
- if (!%$fields || exists $fields->{lc 'Type'});
+ if (!%$fields || exists $fields->{lc 'Type'});
push @data, [ Field => $t->Field ]
- if (!%$fields || exists $fields->{lc 'Field'});
+ if (!%$fields || exists $fields->{lc 'Field'});
push @data, [ OldValue => $t->OldValue ]
- if (!%$fields || exists $fields->{lc 'OldValue'});
+ if (!%$fields || exists $fields->{lc 'OldValue'});
push @data, [ NewValue => $t->NewValue ]
- if (!%$fields || exists $fields->{lc 'NewValue'});
+ if (!%$fields || exists $fields->{lc 'NewValue'});
push @data, [ Data => $t->Data ]
- if (!%$fields || exists $fields->{lc 'Data'});
+ if (!%$fields || exists $fields->{lc 'Data'});
push @data, [ Description => $t->Description ]
- if (!%$fields || exists $fields->{lc 'Description'});
+ if (!%$fields || exists $fields->{lc 'Description'});
push @data, [ Content => $t->Content ]
- if (!%$fields || exists $fields->{lc 'Content'});
+ if (!%$fields || exists $fields->{lc 'Content'});
- if (!%$fields || exists $fields->{lc 'Content'}) {
- my $creator = RT::User->new($session{CurrentUser});
- $creator->Load($t->Creator);
- push @data, [ Creator => $creator->Name ];
+ if (!%$fields || exists $fields->{lc 'Content'}) {
+ my $creator = RT::User->new($session{CurrentUser});
+ $creator->Load($t->Creator);
+ push @data, [ Creator => $creator->Name ];
}
push @data, [ Created => $t->Created ]
- if (!%$fields || exists $fields->{lc 'Created'});
+ if (!%$fields || exists $fields->{lc 'Created'});
if (!%$fields || exists $fields->{lc 'Attachments'}) {
- my $attachlist;
- my $attachments = $t->Attachments;
- while (my $a = $attachments->Next) {
- my $size = length($a->Content||'');
- if ($size > 1024) { $size = int($size/102.4)/10 . "k" }
- else { $size .= "b" }
+ my $attachlist;
+ my $attachments = $t->Attachments;
+ while (my $a = $attachments->Next) {
+ my $size = length($a->Content||'');
+ if ($size > 1024) { $size = int($size/102.4)/10 . "k" }
+ else { $size .= "b" }
my $name = (defined $a->Filename and length $a->Filename) ? $a->Filename : "untitled";
$attachlist .= "\n" . $a->Id.": $name ($size)";
- }
-
- push @data, [Attachments => $attachlist];
+ }
+
+ push @data, [Attachments => $attachlist];
}
my %k = map {@$_} @data;
@@ -168,31 +168,31 @@ if ($tid) {
$format = "l" if (%$fields);
while (my $t = $trans->Next) {
- my $tid = $t->Id;
-
- if ($format eq "l") {
- $tids .= "," if $tids;
- $tids .= $tid;
- } else {
- push @$o, $tid;
- $k->{$tid} = $t->Description;
- }
+ my $tid = $t->Id;
+
+ if ($format eq "l") {
+ $tids .= "," if $tids;
+ $tids .= $tid;
+ } else {
+ push @$o, $tid;
+ $k->{$tid} = $t->Description;
+ }
}
if ($format eq "l") {
- my @tid;
- push @tid, "ticket/$id/history/id/$tids";
- my $fieldstring;
- foreach my $key (keys %$fields) {
- $fieldstring .= "," if $fieldstring;
- $fieldstring .= $key;
- }
- my ($content, $forms);
- $m->subexec("/REST/1.0/show",
- id => \@tid,
- format => $format,
+ my @tid;
+ push @tid, "ticket/$id/history/id/$tids";
+ my $fieldstring;
+ foreach my $key (keys %$fields) {
+ $fieldstring .= "," if $fieldstring;
+ $fieldstring .= $key;
+ }
+ my ($content, $forms);
+ $m->subexec("/REST/1.0/show",
+ id => \@tid,
+ format => $format,
fields => $fieldstring);
- return [ $c, $o, $k, $e ];
+ return [ $c, $o, $k, $e ];
}
}
diff --git a/rt/share/html/REST/1.0/Forms/transaction/default b/rt/share/html/REST/1.0/Forms/transaction/default
index 27dcb38..19387f3 100644
--- a/rt/share/html/REST/1.0/Forms/transaction/default
+++ b/rt/share/html/REST/1.0/Forms/transaction/default
@@ -65,54 +65,53 @@ if ($tid) {
my $t = RT::Transaction->new($session{CurrentUser});
$t->Load($tid);
if ($format eq "l") {
- push @data, [ id => $t->Id ];
- push @data, [ Ticket => $t->Ticket ]
- if (!%$fields || exists $fields->{lc 'Ticket'});
- push @data, [ TimeTaken => $t->TimeTaken ]
- if (!%$fields || exists $fields->{lc 'TimeTaken'});
- push @data, [ Type => $t->Type ]
- if (!%$fields || exists $fields->{lc 'Type'});
- push @data, [ Field => $t->Field ]
- if (!%$fields || exists $fields->{lc 'Field'});
- push @data, [ OldValue => $t->OldValue ]
- if (!%$fields || exists $fields->{lc 'OldValue'});
- push @data, [ NewValue => $t->NewValue ]
- if (!%$fields || exists $fields->{lc 'NewValue'});
- push @data, [ Data => $t->Data ]
- if (!%$fields || exists $fields->{lc 'Data'});
- push @data, [ Description => $t->Description ]
- if (!%$fields || exists $fields->{lc 'Description'});
- push @data, [ Content => $t->Content ]
- if (!%$fields || exists $fields->{lc 'Content'});
-
- if (!%$fields || exists $fields->{lc 'Content'}) {
- my $creator = RT::User->new($session{CurrentUser});
- $creator->Load($t->Creator);
- push @data, [ Creator => $creator->Name ];
- }
- push @data, [ Created => $t->Created ]
- if (!%$fields || exists $fields->{lc 'Created'});
-
- if (!%$fields || exists $fields->{lc 'Attachments'}) {
- my $attachlist;
- my $attachments = $t->Attachments;
- while (my $a = $attachments->Next) {
- my $size = length($a->Content);
- if ($size > 1024) {
- $size = int($size/102.4)/10 . "k";
- }
- else {
- $size .= "b";
- }
- my $name = (defined $a->Filename and length $a->Filename) ? $a->Filename : "untitled";
- $attachlist .= "\n" . $a->Id.": $name ($size)";
- }
- push @data, [Attachments => $attachlist];
- }
-
+ push @data, [ id => $t->Id ];
+ push @data, [ Ticket => $t->Ticket ]
+ if (!%$fields || exists $fields->{lc 'Ticket'});
+ push @data, [ TimeTaken => $t->TimeTaken ]
+ if (!%$fields || exists $fields->{lc 'TimeTaken'});
+ push @data, [ Type => $t->Type ]
+ if (!%$fields || exists $fields->{lc 'Type'});
+ push @data, [ Field => $t->Field ]
+ if (!%$fields || exists $fields->{lc 'Field'});
+ push @data, [ OldValue => $t->OldValue ]
+ if (!%$fields || exists $fields->{lc 'OldValue'});
+ push @data, [ NewValue => $t->NewValue ]
+ if (!%$fields || exists $fields->{lc 'NewValue'});
+ push @data, [ Data => $t->Data ]
+ if (!%$fields || exists $fields->{lc 'Data'});
+ push @data, [ Description => $t->Description ]
+ if (!%$fields || exists $fields->{lc 'Description'});
+ push @data, [ Content => $t->Content ]
+ if (!%$fields || exists $fields->{lc 'Content'});
+
+ if (!%$fields || exists $fields->{lc 'Content'}) {
+ my $creator = RT::User->new($session{CurrentUser});
+ $creator->Load($t->Creator);
+ push @data, [ Creator => $creator->Name ];
+ }
+ push @data, [ Created => $t->Created ]
+ if (!%$fields || exists $fields->{lc 'Created'});
+
+ if (!%$fields || exists $fields->{lc 'Attachments'}) {
+ my $attachlist;
+ my $attachments = $t->Attachments;
+ while (my $a = $attachments->Next) {
+ my $size = length($a->Content);
+ if ($size > 1024) {
+ $size = int($size/102.4)/10 . "k";
+ }
+ else {
+ $size .= "b";
+ }
+ my $name = (defined $a->Filename and length $a->Filename) ? $a->Filename : "untitled";
+ $attachlist .= "\n" . $a->Id.": $name ($size)";
+ }
+ push @data, [Attachments => $attachlist];
+ }
} else {
- push @data, [ id => $t->Id ];
- push @data, [ Description => $t->Description ];
+ push @data, [ id => $t->Id ];
+ push @data, [ Description => $t->Description ];
}
my %k = map {@$_} @data;
@@ -125,14 +124,14 @@ if ($tid) {
# $format = "l" if (%$fields);
#
# while (my $t = $trans->Next) {
-# my $tid = $t->Id;
-# if ($format eq "l") {
-# $tids .= "," if $tids;
-# $tids .= $tid;
-# } else {
-# push @$o, $tid;
-# $k->{$tid} = $t->Description;
-# }
+# my $tid = $t->Id;
+# if ($format eq "l") {
+# $tids .= "," if $tids;
+# $tids .= $tid;
+# } else {
+# push @$o, $tid;
+# $k->{$tid} = $t->Description;
+# }
# }
#}
diff --git a/rt/share/html/REST/1.0/Forms/user/default b/rt/share/html/REST/1.0/Forms/user/default
index 227fc81..53d0e28 100755
--- a/rt/share/html/REST/1.0/Forms/user/default
+++ b/rt/share/html/REST/1.0/Forms/user/default
@@ -51,17 +51,25 @@
$id
$format => 's'
$changes => {}
+$fields => undef
</%ARGS>
<%perl>
my @comments;
my ($c, $o, $k, $e) = ("", [], {}, 0);
my %data = %$changes;
my $user = RT::User->new($session{CurrentUser});
-my @fields = qw(RealName NickName Gecos Organization Address1 Address2 City
- State Zip Country HomePhone WorkPhone MobilePhone PagerPhone
- FreeformContactInfo Comments Signature Lang EmailEncoding
- WebEncoding ExternalContactInfoId ContactInfoSystem
- ExternalAuthId AuthSystem Privileged Disabled);
+
+my @fields =
+ qw(Name EmailAddress RealName NickName Gecos Organization Address1
+ Address2 City State Zip Country HomePhone WorkPhone MobilePhone PagerPhone
+ FreeformContactInfo Comments Signature Lang EmailEncoding
+ WebEncoding ExternalContactInfoId ContactInfoSystem
+ ExternalAuthId AuthSystem Privileged Disabled);
+
+if ( $fields && %$fields ) {
+ @fields = grep { exists $fields->{ lc $_ } } @fields;
+}
+
my %fields = map { lc $_ => $_ } @fields;
if ($id ne 'new') {
@@ -117,19 +125,38 @@ if (keys %data == 0) {
my @data;
push @data, [ id => "user/".$user->Id ];
- push @data, [ Name => $user->Name ];
- push @data, [ Password => '********' ];
- push @data, [ EmailAddress => $user->EmailAddress ];
- foreach my $key (@fields) {
- my $val = $user->$key;
+ unless ( $fields && %$fields && !exists $fields->{'password'} ) {
+ push @data, [ Password => '********' ];
+ }
- if ( (defined ($format) && $format eq 'l') || (defined $val && $val ne '')) {
+ for my $key (@fields) {
+ my $val = $user->$key;
+ if ( ( $fields && exists $fields->{ lc $key } )
+ || ( defined $format && $format eq 'l' )
+ || ( defined $val && $val ne '' ) )
+ {
$key = "ContactInfo" if $key eq 'FreeformContactInfo';
push @data, [ $key => $val ];
}
}
+ # Custom fields
+ my $CustomFields = $user->CustomFields;
+ while ( my $CustomField = $CustomFields->Next() ) {
+ # show cf unless there are specified fields that don't include it
+ next
+ unless ( !%$fields
+ || exists $fields->{ lc "CF-" . $CustomField->Name } );
+ next unless $CustomField->CurrentUserHasRight('SeeCustomField');
+ my $CFvalues = $user->CustomFieldValues( $CustomField->Id );
+ my @CFvalues;
+ while ( my $CFvalue = $CFvalues->Next() ) {
+ push @CFvalues, $CFvalue->Content;
+ }
+ push @data, [ "CF-" . $CustomField->Name => \@CFvalues ];
+ }
+
my %k = map {@$_} @data;
$o = [ map {$_->[0]} @data ];
$k = \%k;
diff --git a/rt/share/html/REST/1.0/Forms/user/ns b/rt/share/html/REST/1.0/Forms/user/ns
index 4c459b4..76f446e 100755
--- a/rt/share/html/REST/1.0/Forms/user/ns
+++ b/rt/share/html/REST/1.0/Forms/user/ns
@@ -57,7 +57,7 @@ my $field = "Name";
$field = "EmailAddress" if $id =~ /\@/;
my $users = RT::Users->new($session{CurrentUser});
-$users->Limit(FIELD => $field, OPERATOR => '=', VALUE => $id);
+$users->Limit(FIELD => $field, OPERATOR => '=', VALUE => $id, CASESENSITIVE => 0);
if ($users->Count == 0) {
return (0, "No user named $id exists.");
}
diff --git a/rt/share/html/REST/1.0/NoAuth/mail-gateway b/rt/share/html/REST/1.0/NoAuth/mail-gateway
index 43ca165..0f70880 100755
--- a/rt/share/html/REST/1.0/NoAuth/mail-gateway
+++ b/rt/share/html/REST/1.0/NoAuth/mail-gateway
@@ -60,24 +60,24 @@ $r->content_type('text/plain; charset=utf-8');
$m->error_format('text');
my ( $status, $error, $Ticket ) = RT::Interface::Email::Gateway( \%ARGS );
if ( $status == 1 ) {
- $m->out('ok');
+ $m->out("ok\n");
if ( $Ticket && $Ticket->Id ) {
- $m->out( 'Ticket: ' . ($Ticket->Id || '') );
- $m->out( 'Queue: ' . ($Ticket->QueueObj->Name || '') );
- $m->out( 'Owner: ' . ($Ticket->OwnerObj->Name || '') );
- $m->out( 'Status: ' . ($Ticket->Status || '') );
- $m->out( 'Subject: ' . ($Ticket->Subject || '') );
+ $m->out( 'Ticket: ' . ($Ticket->Id || '') . "\n" );
+ $m->out( 'Queue: ' . ($Ticket->QueueObj->Name || '') . "\n" );
+ $m->out( 'Owner: ' . ($Ticket->OwnerObj->Name || '') . "\n" );
+ $m->out( 'Status: ' . ($Ticket->Status || '') . "\n" );
+ $m->out( 'Subject: ' . ($Ticket->Subject || '') . "\n" );
$m->out(
- 'Requestor: ' . ($Ticket->Requestors->MemberEmailAddressesAsString || '') );
+ 'Requestor: ' . ($Ticket->Requestors->MemberEmailAddressesAsString || '') . "\n" );
}
}
else {
$RT::Logger->error( "Could not record email: " . $error );
if ( $status == -75 ) {
- $m->out( "temporary failure - " . $error );
+ $m->out( "temporary failure - $error\n" );
}
else {
- $m->out( 'not ok - ' . $error );
+ $m->out( "not ok - $error\n" );
}
}
$m->abort();
diff --git a/rt/share/html/REST/1.0/dhandler b/rt/share/html/REST/1.0/dhandler
index 2243376..ef5a354 100755
--- a/rt/share/html/REST/1.0/dhandler
+++ b/rt/share/html/REST/1.0/dhandler
@@ -100,22 +100,22 @@ if ($object eq 'show' || # $REST/show
if (my ($type, $oids, $extra) =
($id =~ m#^($name)/($list|$labels)(?:(/.*))?$#o))
{
- $extra ||= '';
- my ($attr, $args) = $extra =~ m{^(?:/($name)(?:/(.*))?)?$}o;
- my $tids;
- if ($attr and $attr eq 'history' and $args) {
- ($tids) = $args =~ m#id/(\d.*)#o;
- }
- # expand transaction and attachment range specifications
- # (if applicable)
- foreach my $oid (expand_list($oids)) {
- if ($tids) {
- push(@objects, "$type/$oid/$attr/id/$_") for expand_list($tids);
- } else {
- push(@objects, "$type/$oid$extra");
- }
- }
- }
+ $extra ||= '';
+ my ($attr, $args) = $extra =~ m{^(?:/($name)(?:/(.*))?)?$}o;
+ my $tids;
+ if ($attr and $attr eq 'history' and $args) {
+ ($tids) = $args =~ m#id/(\d.*)#o;
+ }
+ # expand transaction and attachment range specifications
+ # (if applicable)
+ foreach my $oid (expand_list($oids)) {
+ if ($tids) {
+ push(@objects, "$type/$oid/$attr/id/$_") for expand_list($tids);
+ } else {
+ push(@objects, "$type/$oid$extra");
+ }
+ }
+ }
else {
$status = "400 Bad Request";
$output = "Invalid object ID specified: '$id'";
diff --git a/rt/share/html/REST/1.0/search/dhandler b/rt/share/html/REST/1.0/search/dhandler
index b81c56c..d8a0729 100755
--- a/rt/share/html/REST/1.0/search/dhandler
+++ b/rt/share/html/REST/1.0/search/dhandler
@@ -47,10 +47,247 @@
%# END BPS TAGGED BLOCK }}}
%# REST/1.0/search/dhandler
%#
+<%ARGS>
+$query
+$format => undef
+$orderby => undef
+$fields => undef
+</%ARGS>
<%INIT>
-my $status = "500 Server Error";
-my $output = "Unsupported object type.";
+my $type = $m->dhandler_arg;
+my ( $status, $output );
+
+if ( $type =~ /^(ticket|queue|user|group)$/i ) {
+ $status = "200 Ok";
+ $output = '';
+ my $type = lc $1;
+
+ if (
+ $type eq 'user'
+ && !$session{CurrentUser}->HasRight(
+ Object => $RT::System,
+ Right => 'AdminUsers',
+ )
+ )
+ {
+
+ $status = "403 Forbidden";
+ $output = "Permission denied";
+ goto OUTPUT;
+ }
+
+ my $class = 'RT::' . ucfirst $type . 's';
+ my $objects = $class->new( $session{CurrentUser} );
+
+ # Parse and validate any field specifications.
+ require RT::Interface::REST;
+ my $field = RT::Interface::REST->field_spec;
+ my ( %fields, @fields );
+ if ($fields) {
+ $format ||= "l";
+ unless ( $fields =~ /^(?:$field,)*$field$/ ) {
+ $status = "400 Bad Request";
+ $output = "Invalid field specification: $fields";
+ goto OUTPUT;
+ }
+ @fields = map lc, split /\s*,\s*/, $fields;
+ @fields{@fields} = ();
+ unless ( exists $fields{id} ) {
+ unshift @fields, "id";
+ $fields{id} = ();
+ }
+ }
+
+ $format ||= "s";
+ if ( $format !~ /^[isl]$/ ) {
+ $status = "400 Bad request";
+ $output = "Unknown listing format: $format. (Use i, s, or l.)\n";
+ goto OUTPUT;
+ }
+
+ my ( $n, $s );
+ $n = 0;
+ my @output;
+
+
+ if ( $type eq 'group' ) {
+ $objects->LimitToUserDefinedGroups;
+ }
+
+ if ( defined $query && length $query ) {
+ if ( $type eq 'ticket' ) {
+ my ( $n, $s );
+ eval { ( $n, $s ) = $objects->FromSQL($query); };
+ if ( $@ || $n == 0 ) {
+ $s ||= $@;
+ $status = "400 Bad request";
+ $output = "Invalid query: '$s'.\n";
+ goto OUTPUT;
+ }
+ }
+ else {
+ require Text::ParseWords;
+ my ( $field, $op, $value ) = Text::ParseWords::shellwords($query);
+ if ( $op !~
+ /^(?:[!<>]?=|[<>]|(NOT )?LIKE|STARTSWITH|ENDSWITH|MATCHES)$/i )
+ {
+ $status = "400 Bad Request";
+ $output = "Invalid operator specification: $op";
+ goto OUTPUT;
+ }
+
+ if ( ! $search_whitelist{$type}{lc $field} ) {
+ $status = "400 Bad Request";
+ $output = "Invalid field specification: $field";
+ goto OUTPUT;
+ }
+
+
+ if ( $field && $op && defined $value ) {
+ if ( $field eq 'Disabled' ) {
+ if ($value) {
+ if ( $type eq 'queue' ) {
+ $objects->FindAllRows;
+ $objects->Limit(
+ FIELD => $field,
+ OPERATOR => uc $op,
+ VALUE => $value
+ );
+ }
+ else {
+ $objects->LimitToDeleted;
+ }
+ }
+ else {
+ if ( $type eq 'queue' ) {
+ $objects->UnLimit;
+ }
+ else {
+ $objects->LimitToEnabled;
+ }
+ }
+ }
+ else {
+ $objects->Limit(
+ FIELD => $field,
+ OPERATOR => uc $op,
+ VALUE => $value,
+ CASESENSITIVE => 0,
+ );
+ }
+ }
+ else {
+ $output = "Invalid query specification: $query";
+ goto OUTPUT;
+ }
+ }
+ }
+ else {
+ if ( $type eq 'queue' ) {
+ $objects->UnLimit;
+ }
+ elsif ( $type eq 'user' ) {
+ $objects->LimitToPrivileged;
+ }
+ }
+
+ if ($orderby) {
+ my ( $order, $field ) = $orderby =~ /^([\+\-])?(.+)/;
+ $order = $order && $order eq '-' ? 'DESC' : 'ASC';
+ $objects->OrderBy( FIELD => $field, ORDER => $order );
+ }
+
+ while ( my $object = $objects->Next ) {
+ next if $type eq 'user' && ( $object->id == RT->SystemUser->id || $object->id == RT->Nobody->id );
+ $n++;
+
+ my $id = $object->Id;
+ if ( $format eq "i" ) {
+ $output .= "$type/" . $id . "\n";
+ }
+ elsif ( $format eq "s" ) {
+ if ($fields) {
+ my $result = $m->comp(
+ "/REST/1.0/Forms/$type/default",
+ id => $id,
+ format => $format,
+ fields => \%fields
+ );
+ my ( $notes, $order, $key_values, $errors ) = @$result;
+
+ # If it's the first time through, add our header
+ if ( $n == 1 ) {
+ $output .= join( "\t", @$order ) . "\n";
+ }
+
+ # Cut off the annoying $type/ before the id;
+ $key_values->{'id'} = $id;
+ $output .= join(
+ "\t",
+ map {
+ ref $key_values->{$_} eq 'ARRAY'
+ ? join( ', ', @{ $key_values->{$_} } )
+ : $key_values->{$_}
+ } @$order
+ ) . "\n";
+ }
+ else {
+ if ( $type eq 'ticket' ) {
+ $output .= $object->Id . ": " . $object->Subject . "\n";
+ }
+ else {
+ $output .= $object->Id . ": " . $object->Name . "\n";
+ }
+ }
+ }
+ else {
+ my $d = $m->comp(
+ "/REST/1.0/Forms/$type/default",
+ id => $id,
+ format => $format,
+ fields => \%fields
+ );
+ my ( $c, $o, $k, $e ) = @$d;
+ push @output, [ $c, $o, $k ];
+ }
+ }
+ if ( $n == 0 && $format ne "i" ) {
+ $output = "No matching results.\n";
+ }
+
+ $output = form_compose( \@output ) if @output;
+}
+else {
+ $status = "500 Server Error";
+ $output = "Unsupported object type.";
+ goto OUTPUT;
+}
+
+OUTPUT:
+$m->out("RT/". $RT::VERSION . " " . $status ."\n\n");
+$m->out($output );
</%INIT>
-RT/<% $RT::VERSION %> <% $status %>
-<% $output |n %>
+<%ONCE>
+my %search_whitelist = (
+ queue => {
+ map { lc $_ => 1 }
+ grep { $RT::Record::_TABLE_ATTR->{'RT::Queue'}{$_}{read} }
+ keys %{ $RT::Record::_TABLE_ATTR->{'RT::Queue'} }
+ },
+ user => {
+ disabled => 1,
+ map { lc $_ => 1 }
+ grep { $RT::Record::_TABLE_ATTR->{'RT::User'}{$_}{read} }
+ keys %{ $RT::Record::_TABLE_ATTR->{'RT::User'} }
+ },
+ group => {
+ disabled => 1,
+ map { lc $_ => 1 }
+ grep { $RT::Record::_TABLE_ATTR->{'RT::Group'}{$_}{read} }
+ keys %{ $RT::Record::_TABLE_ATTR->{'RT::Group'} }
+ }
+);
+
+</%ONCE>
+
diff --git a/rt/share/html/REST/1.0/search/ticket b/rt/share/html/REST/1.0/search/ticket
deleted file mode 100755
index f022b03..0000000
--- a/rt/share/html/REST/1.0/search/ticket
+++ /dev/null
@@ -1,165 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-%# REST/1.0/search/ticket
-%#
-<%ARGS>
-$query
-$format => undef
-$orderby => undef
-$fields => undef
-</%ARGS>
-<%INIT>
-use RT::Interface::REST;
-my $output = "";
-my $status = "200 Ok";
-my $tickets = RT::Tickets->new($session{CurrentUser});
-
-# Parse and validate any field specifications.
-my $field = RT::Interface::REST->field_spec;
-my (%fields, @fields);
-if ($fields) {
- $format ||= "l";
- unless ($fields =~ /^(?:$field,)*$field$/) {
- $status = "400 Bad Request";
- $output = "Invalid field specification: $fields";
- goto OUTPUT;
- }
- @fields = map lc, split /\s*,\s*/, $fields;
- @fields{@fields} = ();
- unless (exists $fields{id}) {
- unshift @fields, "id";
- $fields{id} = ();
- }
-}
-
-$format ||= "s";
-if ($format !~ /^[isl]$/) {
- $status = "400 Bad request";
- $output = "Unknown listing format: $format. (Use i, s, or l.)\n";
- goto OUTPUT;
-}
-
-my ($n, $s);
-eval {
- ($n, $s) = $tickets->FromSQL($query);
-};
-
-if ($orderby) {
- my %args;
-
- my $order = substr($orderby, 0, 1);
- if ($order eq '+' || $order eq '-') {
- # remove the +/- sorting sigil
- substr($orderby, 0, 1, '');
-
- if ($order eq '+') {
- $args{ORDER} = 'ASC';
- }
- elsif ($order eq '-') {
- $args{ORDER} = 'DESC';
- }
- }
-
- $tickets->OrderBy(
- FIELD => $orderby,
- %args,
- );
-}
-
-if ($@ || $n == 0) {
- $s ||= $@;
- $status = "400 Bad request";
- $output = "Invalid query: '$s'.\n";
- goto OUTPUT;
-}
-
-$n = 0;
-my @output;
-while (my $ticket = $tickets->Next) {
- $n++;
-
- my $id = $ticket->Id;
- if ($format eq "i") {
- $output .= "ticket/" . $id . "\n";
- }
- elsif ($format eq "s") {
- if ($fields) {
- my $result = $m->comp("/REST/1.0/Forms/ticket/default", id => $id, format => $format, fields => \%fields);
- my ($notes, $order, $key_values, $errors) = @$result;
- # If it's the first time through, add our header
- if ($n == 1) {
- $output .= join("\t",@$order)."\n";
- }
- # Cut off the annoying ticket/ before the id;
- $key_values->{'id'} = $id;
- $output .= join("\t", map { ref $key_values->{$_} eq 'ARRAY' ?
-join( ', ', @{$key_values->{$_}} ) : $key_values->{$_} } @$order)."\n";
-
-
- } else {
- $output .= $ticket->Id . ": ". $ticket->Subject . "\n";
- }
- }
- else {
- my $d = $m->comp("/REST/1.0/Forms/ticket/default", id => $id, format => $format, fields => \%fields);
- my ($c, $o, $k, $e) = @$d;
- push @output, [ $c, $o, $k ];
- }
-}
-if ($n == 0 && $format ne "i") {
- $output = "No matching results.\n";
-}
-
-$output = form_compose(\@output) if @output;
-
-OUTPUT:
-$m->out("RT/". $RT::VERSION . " " . $status ."\n\n");
-
-$m->out($output );
-return();
-</%INIT>
diff --git a/rt/share/html/Search/Build.html b/rt/share/html/Search/Build.html
index eea5f81..8ce404a 100644
--- a/rt/share/html/Search/Build.html
+++ b/rt/share/html/Search/Build.html
@@ -53,7 +53,7 @@
%# Build/Edit.html (Advanced).)
%#
%# After doing some stuff with default arguments and saved searches, the ParseQuery
-%# function (which is similar to, but not the same as, _parser in lib/RT/Tickets_SQL.pm)
+%# function (which is similar to, but not the same as, _parser in lib/RT/Tickets.pm)
%# converts the Query into a RT::Interface::Web::QueryBuilder::Tree. This mason file
%# then adds stuff to or modifies the tree based on the actions that had been requested
%# by clicking buttons. It then calls GetQueryAndOptionList on the tree to generate
@@ -140,7 +140,11 @@ if ( $NewQuery ) {
my $current = $session{'CurrentSearchHash'};
my $prefs = $session{'CurrentUser'}->UserObj->Preferences("SearchDisplay") || {};
- my $default = { Query => '', Format => '', OrderBy => 'id', Order => 'ASC', RowsPerPage => 50 };
+ my $default = { Query => '',
+ Format => '',
+ OrderBy => RT->Config->Get('DefaultSearchResultOrderBy'),
+ Order => RT->Config->Get('DefaultSearchResultOrder'),
+ RowsPerPage => 50 };
for( qw(Query Format OrderBy Order RowsPerPage) ) {
$query{$_} = $current->{$_} unless defined $query{$_};
@@ -188,9 +192,15 @@ my @options = $tree->GetDisplayedNodes;
my @current_values = grep defined, @options[@clauses];
my @new_values = ();
+my $cf_field_names =
+ join "|",
+ map quotemeta,
+ grep { $RT::Tickets::FIELD_METADATA{$_}->[0] eq 'CUSTOMFIELD' }
+ sort keys %RT::Tickets::FIELD_METADATA;
+
# Try to find if we're adding a clause
foreach my $arg ( keys %ARGS ) {
- next unless $arg =~ m/^ValueOf([\w\.]+|'\w*CF\.\{.*?\}')$/
+ next unless $arg =~ m/^ValueOf(\w+|($cf_field_names).\{.*?\})$/
&& ( ref $ARGS{$arg} eq "ARRAY"
? grep $_ ne '', @{ $ARGS{$arg} }
: $ARGS{$arg} ne '' );
@@ -220,6 +230,7 @@ foreach my $arg ( keys %ARGS ) {
for ( my $i = 0; $i < @ops; $i++ ) {
my ( $op, $value ) = ( $ops[$i], $values[$i] );
next if !defined $value || $value eq '';
+ my $rawvalue = $value;
if ( $value =~ /^NULL$/i && $op =~ /=/ ) {
if ( $op eq '=' ) {
@@ -234,16 +245,15 @@ foreach my $arg ( keys %ARGS ) {
$value = "'$value'";
}
- if ($keyword =~ /^'(\w*CF)\.\{(.*)\}'/) {
- my ($field, $cf) = ($1, $2);
- $cf =~ s/(['\\])/\\$1/g;
- $keyword = "'$field.{$cf}'";
+ if ($keyword =~ s/(['\\])/\\$1/g or $keyword =~ /[^{}\w\.]/) {
+ $keyword = "'$keyword'";
}
my $clause = {
Key => $keyword,
Op => $op,
- Value => $value
+ Value => $value,
+ RawValue => $rawvalue,
};
push @new_values, RT::Interface::Web::QueryBuilder::Tree->new($clause);
diff --git a/rt/share/html/Search/Bulk.html b/rt/share/html/Search/Bulk.html
index 89e850b..90fec68 100755
--- a/rt/share/html/Search/Bulk.html
+++ b/rt/share/html/Search/Bulk.html
@@ -50,13 +50,13 @@
<& /Elements/ListActions, actions => \@results &>
<form method="post" action="<% RT->Config->Get('WebPath') %>/Search/Bulk.html" enctype="multipart/form-data" name="BulkUpdate" id="BulkUpdate">
-% foreach my $var (qw(Query Format OrderBy Order Rows Page SavedChartSearchId)) {
+% foreach my $var (qw(Query Format OrderBy Order Rows Page SavedSearchId SavedChartSearchId Token)) {
<input type="hidden" class="hidden" name="<%$var%>" value="<%$ARGS{$var} || ''%>" />
%}
<& /Elements/CollectionList,
Query => $Query,
- DisplayFormat => $Format,
- Format => $ARGS{'Format'},
+ DisplayFormat => $DisplayFormat,
+ Format => $Format,
Verbatim => 1,
AllowSorting => 1,
OrderBy => $OrderBy,
@@ -71,7 +71,7 @@
<hr />
-<& /Elements/Submit, Label => loc('Update'), CheckboxNameRegex => '/^UpdateTicket\d+$/', CheckAll => 1, ClearAll => 1 &>
+<& /Elements/Submit, Label => loc('Update'), CheckboxNameRegex => '/^UpdateTicket(All)?$/', CheckAll => 1, ClearAll => 1 &>
<br />
<&|/Widgets/TitleBox, title => $title &>
<table>
@@ -80,20 +80,20 @@
<table>
<tr><td class="label"> <&|/l&>Make Owner</&>: </td>
<td class="value"> <& /Elements/SelectOwner, Name => "Owner", Default => $ARGS{Owner} || '' &>
-(<input type="checkbox" class="checkbox" name="ForceOwnerChange"
- <% $ARGS{ForceOwnerChange} ? 'checked="checked"' : '' %> /> <&|/l&>Force change</&>) </td></tr>
+<label>(<input type="checkbox" class="checkbox" name="ForceOwnerChange"
+<% $ARGS{ForceOwnerChange} ? 'checked="checked"' : '' %> /> <&|/l&>Force change</&>)</label></td></tr>
<tr><td class="label"> <&|/l&>Add Requestor</&>: </td>
-<td class="value"> <input name="AddRequestor" size="20" value="<% $ARGS{AddRequestor} || '' %>" /> </td></tr>
+<td class="value"> <& /Elements/EmailInput, Name => "AddRequestor", Size=> 20, Default => $ARGS{AddRequestor} &> </td></tr>
<tr><td class="label"> <&|/l&>Remove Requestor</&>: </td>
-<td class="value"> <input name="DeleteRequestor" size="20" value="<% $ARGS{DeleteRequestor} || '' %>"/> </td></tr>
+<td class="value"> <& /Elements/EmailInput, Name => "DeleteRequestor", Size=> 20, Default => $ARGS{DeleteRequestor} &> </td></tr>
<tr><td class="label"> <&|/l&>Add Cc</&>: </td>
-<td class="value"> <input name="AddCc" size="20" value="<% $ARGS{AddCc} || '' %>" /> </td></tr>
+<td class="value"> <& /Elements/EmailInput, Name => "AddCc", Size=> 20, Default => $ARGS{AddCc} &> </td></tr>
<tr><td class="label"> <&|/l&>Remove Cc</&>: </td>
-<td class="value"> <input name="DeleteCc" size="20" value="<% $ARGS{DeleteCc} || '' %>" /> </td></tr>
+<td class="value"> <& /Elements/EmailInput, Name => "DeleteCc", Size=> 20, Default => $ARGS{DeleteCc} &> </td></tr>
<tr><td class="label"> <&|/l&>Add AdminCc</&>: </td>
-<td class="value"> <input name="AddAdminCc" size="20" value="<% $ARGS{AddAdminCc} || '' %>" /> </td></tr>
+<td class="value"> <& /Elements/EmailInput, Name => "AddAdminCc", Size=> 20, Default => $ARGS{AddAdminCc} &> </td></tr>
<tr><td class="label"> <&|/l&>Remove AdminCc</&>: </td>
-<td class="value"> <input name="DeleteAdminCc" size="20" value="<% $ARGS{DeleteAdminCc} || '' %>" /> </td></tr>
+<td class="value"> <& /Elements/EmailInput, Name => "DeleteAdminCc", Size=> 20, Default => $ARGS{DeleteAdminCc} &> </td></tr>
</table>
</td>
<td valign="top">
@@ -111,7 +111,7 @@
<tr><td class="label"> <&|/l&>Make queue</&>: </td>
<td class="value"> <& /Elements/SelectQueue, Name => "Queue", Default => $ARGS{Queue} &> </td></tr>
<tr><td class="label"> <&|/l&>Make Status</&>: </td>
-<td class="value"> <& /Elements/SelectStatus, Name => "Status", Default => $ARGS{Status}, Queues => $seen_queues &> </td></tr>
+<td class="value"> <& /Ticket/Elements/SelectStatus, Name => "Status", Default => $ARGS{Status}, Queues => $seen_queues &> </td></tr>
<tr><td class="label"> <&|/l&>Make date Starts</&>: </td>
<td class="value"> <& /Elements/SelectDate, Name => "Starts_Date", Default => $ARGS{Starts_Date} || '' &> </td></tr>
<tr><td class="label"> <&|/l&>Make date Started</&>: </td>
@@ -120,8 +120,6 @@
<td class="value"> <& /Elements/SelectDate, Name => "Told_Date", Default => $ARGS{Told_Date} || '' &> </td></tr>
<tr><td class="label"> <&|/l&>Make date Due</&>: </td>
<td class="value"> <& /Elements/SelectDate, Name => "Due_Date", Default => $ARGS{Due_Date} || '' &> </td></tr>
-<tr><td class="label"> <&|/l&>Make date Resolved</&>: </td>
-<td class="value"> <& /Elements/SelectDate, Name => "Resolved_Date", Default => $ARGS{Resolved_Date} || '' &> </td></tr>
</table>
</td>
@@ -131,28 +129,34 @@
<&| /Widgets/TitleBox, title => loc('Add comments or replies to selected tickets') &>
<table>
<tr><td align="right"><&|/l&>Update Type</&>:</td>
-<td><select name="UpdateType">
+<td><select name="UpdateType" id="UpdateType">
<option value="private" <% $ARGS{UpdateType} && $ARGS{UpdateType} eq 'private' ? 'selected="selected"' : '' %> ><&|/l&>Comments (Not sent to requestors)</&></option>
<option value="response" <% $ARGS{UpdateType} && $ARGS{UpdateType} eq 'response' ? 'selected="selected"' : '' %>><&|/l&>Reply to requestors</&></option>
</select>
</td></tr>
-<tr><td align="right"><&|/l&>Subject</&>:</td><td> <input name="UpdateSubject"
-size="60" value="<% $ARGS{UpdateSubject} || "" %>" /></td></tr>
+<tr>
+ <td align="right"><&|/l&>Subject</&>:</td>
+ <td>
+ <input name="UpdateSubject" size="60" value="<% $ARGS{UpdateSubject} || "" %>" />
+% $m->callback( %ARGS, CallbackName => 'AfterUpdateSubject' );
+ </td>
+</tr>
+% $m->callback( CallbackName => 'BeforeTransactionCustomFields', CustomFields => $TxnCFs );
% while (my $CF = $TxnCFs->Next()) {
<tr>
<td align="right"><% $CF->Name %>:</td>
-<td><& /Elements/EditCustomField,
- CustomField => $CF,
- NamePrefix => "Object-RT::Transaction--CustomField-",
- Default => $ARGS{"Object-RT::Transaction--CustomField-" . $CF->id . '-Values'} ||
- $ARGS{"Object-RT::Transaction--CustomField-" . $CF->id . '-Value'},
+<td><& /Elements/EditCustomField,
+ CustomField => $CF,
+ Object => RT::Transaction->new( $session{'CurrentUser'} ),
&><em><% $CF->FriendlyType %></em></td>
</td></tr>
% } # end if while
<& /Ticket/Elements/AddAttachments, %ARGS &>
- <tr><td class="labeltop"><&|/l&>Message</&>:</td><td>
+ <tr><td class="labeltop"><&|/l&>Message</&>:</td>
+ <td class="messagebox-container action-<% $ARGS{UpdateType} || 'private' %>">
+% $m->callback( %ARGS, CallbackName => 'BeforeMessageBox' );
%# Currently, bulk update always starts with Comment not Reply selected, so we check this unconditionally
% my $IncludeSignature = RT->Config->Get('MessageBoxIncludeSignatureOnComment');
<& /Elements/MessageBox, Name => "UpdateContent",
@@ -168,59 +172,22 @@ size="60" value="<% $ARGS{UpdateSubject} || "" %>" /></td></tr>
my $cfs = RT::CustomFields->new($session{'CurrentUser'});
$cfs->LimitToGlobal();
$cfs->LimitToQueue($_) for keys %$seen_queues;
+$cfs->SetContextObject( values %$seen_queues ) if keys %$seen_queues == 1;
</%perl>
-% if ($cfs->Count) {
-<&|/Widgets/TitleBox, title => loc('Edit Custom Fields'), color => "#336633"&>
-<table>
-<tr>
-<th><&|/l&>Name</&></th>
-<th><&|/l&>Add values</&></th>
-<th><&|/l&>Delete values</&></th>
-</tr>
-% while (my $cf = $cfs->Next()) {
-<tr>
-<td class="label"><% loc($cf->Name) %><br />
-<em>(<%$cf->FriendlyType%>)</em></td>
-% my $rows = 5;
-% my $cf_id = $cf->id;
-% my @add = (NamePrefix => 'Bulk-Add-CustomField-', CustomField => $cf, Rows => $rows,
-% Multiple => ($cf->MaxValues ==1 ? 0 : 1) , Cols => 25,
-% Default => $ARGS{"Bulk-Add-CustomField-$cf_id-Values"} || $ARGS{"Bulk-Add-CustomField-$cf_id-Value"}, );
-% my @del = (NamePrefix => 'Bulk-Delete-CustomField-', CustomField => $cf,
-% Rows => $rows, Multiple => 1, Cols => 25,
-% Default => $ARGS{"Bulk-Delete-CustomField-$cf_id-Values"} || $ARGS{"Bulk-Delete-CustomField-$cf_id-Value"}, );
-% if ($cf->Type eq 'Select') {
-<td><& /Elements/EditCustomFieldSelect, @add &></td>
-<td><& /Elements/EditCustomFieldSelect, @del &></td>
-% } elsif ($cf->Type eq 'Combobox') {
-<td><& /Elements/EditCustomFieldCombobox, @add &></td>
-<td><& /Elements/EditCustomFieldCombobox, @del &></td>
-% } elsif ($cf->Type eq 'Freeform') {
-<td><& /Elements/EditCustomFieldFreeform, @add &></td>
-<td><& /Elements/EditCustomFieldFreeform, @del &></td>
-% } elsif ($cf->Type eq 'Text') {
-<td><& /Elements/EditCustomFieldText, @add &></td>
-<td>&nbsp;</td>
-% } elsif ($cf->Type eq 'Date') {
-<td><& /Elements/EditCustomFieldDate, @add, Default => undef &></td>
-<td><& /Elements/EditCustomFieldDate, @del, Default => undef &></td>
-% } elsif ($cf->Type eq 'DateTime') {
-% # Pass datemanip format to prevent another tz date conversion
-<td><& /Elements/EditCustomFieldDateTime, @add, Default => undef, Format => 'datemanip' &></td>
-<td><& /Elements/EditCustomFieldDateTime, @del, Default => undef, Format => 'datemanip' &></td>
-% } else {
-% $RT::Logger->crit("Unknown CustomField type: " . $cf->Type);
-% }
-</tr>
-% }
-</table>
+% if ( $cfs->Count ) {
+<&|/Widgets/TitleBox, title => loc('Edit Custom Fields') &>
+<& /Elements/BulkCustomFields, $ARGS{'AddMoreAttach'} ? %ARGS : (), CustomFields => $cfs &>
</&>
% }
<&|/Widgets/TitleBox, title => loc('Edit Links'), color => "#336633"&>
<em><&|/l&>Enter tickets or URIs to link tickets to. Separate multiple entries with spaces.</&></em><br />
-<& /Ticket/Elements/BulkLinks, Tickets => $Tickets, $ARGS{'AddMoreAttach'} ? %ARGS : () &>
+<& /Elements/BulkLinks, Collection => $Tickets, $ARGS{'AddMoreAttach'} ? %ARGS : () &>
+</&>
+
+<&| /Widgets/TitleBox, title => loc('Merge'), color => '#336633' &>
+<& /Ticket/Elements/EditMerge, Tickets => $Tickets, %ARGS &>
</&>
<& /Elements/Submit, Label => loc('Update') &>
@@ -248,7 +215,10 @@ $Page ||= 1;
$Format ||= RT->Config->Get('DefaultSearchResultFormat');
# inject _CHECKBOX to the first field.
-$Format =~ s/'?([^']+)'?,/'___CHECKBOX__$1',/; #'
+my $DisplayFormat = "'__CheckBox.{UpdateTicket}__',". $Format;
+$DisplayFormat =~ s/\s*,\s*('?__NEWLINE__'?)/,$1,''/gi;
+
+$DECODED_ARGS->{'UpdateTicketAll'} = 1 unless @UpdateTicket;
my $Tickets = RT::Tickets->new( $session{'CurrentUser'} );
$Tickets->FromSQL($Query);
@@ -276,7 +246,8 @@ Abort( loc("No search to operate on.") ) unless ($Tickets);
my $fields = {};
my $seen_queues = {};
while ( my $ticket = $Tickets->Next ) {
- next if $seen_queues->{ $ticket->Queue }++;
+ next if $seen_queues->{ $ticket->Queue };
+ $seen_queues->{ $ticket->Queue } ||= $ticket->QueueObj;
my $custom_fields = $ticket->CustomFields;
while ( my $field = $custom_fields->Next ) {
@@ -289,13 +260,6 @@ my @linkresults;
$Tickets->RedoSearch();
-# pull out the labels for any custom fields we want to update
-
-my $cf_del_keys;
-@$cf_del_keys = grep { /^Bulk-Delete-CustomField/ } keys %ARGS;
-my $cf_add_keys;
-@$cf_add_keys = grep { /^Bulk-Add-CustomField/ } keys %ARGS;
-
if ( defined($ARGS{'Priority'})
and ($ARGS{'Priority-Mode'} || '') eq 'relative' ) {
# magic in Ticket::SetPriority
@@ -304,19 +268,19 @@ if ( defined($ARGS{'Priority'})
delete $ARGS{'Priority-Mode'};
unless ( $ARGS{'AddMoreAttach'} ) {
- # Add session attachments if any to be processed by ProcessUpdateMessage
- $ARGS{'UpdateAttachments'} = $session{'Attachments'} if ( $session{'Attachments'} );
while ( my $Ticket = $Tickets->Next ) {
- next unless ( $ARGS{ "UpdateTicket" . $Ticket->Id } );
+ my $tid = $Ticket->id;
+ next unless grep $tid == $_, @UpdateTicket;
#Update the links
$ARGS{'id'} = $Ticket->id;
my @updateresults = ProcessUpdateMessage(
- TicketObj => $Ticket,
- ARGSRef => \%ARGS,
- );
+ TicketObj => $Ticket,
+ ARGSRef => \%ARGS,
+ KeepAttachments => 1,
+ );
#Update the basics.
my @basicresults =
@@ -328,86 +292,11 @@ unless ( $ARGS{'AddMoreAttach'} ) {
my @watchresults =
ProcessTicketWatchers( TicketObj => $Ticket, ARGSRef => \%ARGS );
- foreach my $type (qw(MergeInto DependsOn MemberOf RefersTo)) {
- $ARGS{ $Ticket->id . "-" . $type } = $ARGS{"Ticket-$type"};
- $ARGS{ $type . "-" . $Ticket->id } = $ARGS{"$type-Ticket"};
- }
- @linkresults =
- ProcessTicketLinks( TicketObj => $Ticket, ARGSRef => \%ARGS );
- foreach my $type (qw(MergeInto DependsOn MemberOf RefersTo)) {
- delete $ARGS{ $type . "-" . $Ticket->id };
- delete $ARGS{ $Ticket->id . "-" . $type };
- }
-
- my @cfresults;
-
- foreach my $list ( $cf_add_keys, $cf_del_keys ) {
- next unless $list->[0];
-
-
- my $op;
- if ( $list->[0] =~ /Add/ ) {
- $op = 'add';
-
- }
- elsif ( $list->[0] =~ /Del/ ) {
- $op = 'del';
- }
- else {
- $RT::Logger->crit(
- "Got an op that was neither add nor delete. can never happen"
- . $list->[0] );
- last;
- }
-
- foreach my $key (@$list) {
- my ( $cfid, $cf );
- next if $key =~ /CustomField-(\d+)-Category$/;
- if ( $key =~ /CustomField-(\d+)-/ ) {
- $cfid = $1;
- $cf = RT::CustomField->new( $session{'CurrentUser'} );
- $cf->Load($cfid);
- }
- else {next}
- my @values =
- ref( $ARGS{$key} ) eq 'ARRAY'
- ? @{ $ARGS{$key} }
- : ( $ARGS{$key} );
- map { s/(\r\n|\r)/\n/g; } @values; # fix the newlines
- # now break the multiline values into multivalues
- @values = map { split( /\n/, $_ ) } @values
- unless ( $cf->SingleValue );
-
- my $current_values = $Ticket->CustomFieldValues($cfid);
-
- if ( $cf->Type eq 'DateTime' || $cf->Type eq 'Date' ){
- # Clear out empty string submissions to avoid
- # Not set changed to Not set
- @values = grep length, @values;
- }
-
- foreach my $value (@values) {
-
- if ( $op eq 'del' ) {
- if ( my $entry = $current_values->HasEntry($value) ) {
- my ( $id, $msg ) = $Ticket->DeleteCustomFieldValue(
- Field => $cfid,
- ValueId => $entry->id,
- );
- push @cfresults, $msg;
- }
- }
-
- elsif ( $op eq 'add' && !$current_values->HasEntry($value) ) {
- my ( $id, $msg ) = $Ticket->AddCustomFieldValue(
- Field => $cfid,
- Value => $value
- );
- push @cfresults, $msg;
- }
- }
- }
- }
+ @linkresults =
+ ProcessTicketLinks( TicketObj => $Ticket, TicketId => 'Ticket', ARGSRef => \%ARGS );
+
+ my @cfresults = ProcessRecordBulkCustomFields( RecordObj => $Ticket, ARGSRef => \%ARGS );
+
my @statusresults =
ProcessTicketStatus( TicketObj => $Ticket, ARGSRef => \%ARGS );
@@ -426,8 +315,7 @@ unless ( $ARGS{'AddMoreAttach'} ) {
@results = ( @results, @tempresults );
}
- # Cleanup WebUI
- delete $session{'Attachments'};
+ delete $session{'Attachments'}{ $ARGS{'Token'} };
$Tickets->RedoSearch();
}
@@ -435,6 +323,7 @@ unless ( $ARGS{'AddMoreAttach'} ) {
my $TxnCFs = RT::CustomFields->new( $session{CurrentUser} );
$TxnCFs->LimitToLookupType( RT::Transaction->CustomFieldLookupType );
$TxnCFs->LimitToGlobalOrObjectId( keys %$seen_queues );
+$TxnCFs->SetContextObject( values %$seen_queues ) if keys %$seen_queues == 1;
</%INIT>
<%args>
@@ -445,6 +334,5 @@ $RowsPerPage => undef
$Order => 'ASC'
$OrderBy => 'id'
$Query => undef
-$SavedSearchId => undef
-$SavedChartSearchId => undef
+@UpdateTicket => ()
</%args>
diff --git a/rt/share/html/Search/Chart b/rt/share/html/Search/Chart
index 2a28d62..881a3d6 100644
--- a/rt/share/html/Search/Chart
+++ b/rt/share/html/Search/Chart
@@ -46,132 +46,403 @@
%#
%# END BPS TAGGED BLOCK }}}
<%args>
+$Cache => undef
$Query => "id > 0"
-$PrimaryGroupBy => 'Queue'
-$ChartStyle => 'bar'
+@GroupBy => ()
+$ChartStyle => 'bar+table+sql'
+@ChartFunction => 'COUNT'
+$Width => undef
+$Height => undef
</%args>
<%init>
-my $chart_class;
use GD;
use GD::Text;
-if ($ChartStyle eq 'pie') {
- require GD::Graph::pie;
- $chart_class = "GD::Graph::pie";
-} else {
- require GD::Graph::bars;
- $chart_class = "GD::Graph::bars";
-}
+my %font_config = RT->Config->Get('ChartFont');
+my $font = $font_config{ $session{CurrentUser}->UserObj->Lang || '' }
+ || $font_config{'others'};
+
+s/\D//g for grep defined, $Width, $Height;
+$Width ||= 600;
+$Height ||= ($ChartStyle =~ /\bpie\b/ ? $Width : 400);
+$Height = $Width if $ChartStyle =~ /\bpie\b/;
+
+my $plot_error = sub {
+ my $text = shift;
+ my ($plot, $error);
+
+ my $create_plot = sub {
+ my ($width, $height) = @_;
+
+ my $plot = GD::Image->new($width => $height);
+ $plot->colorAllocate(255, 255, 255); # background
+ my $black = $plot->colorAllocate(0, 0, 0);
+
+ require GD::Text::Wrap;
+ my $error = GD::Text::Wrap->new($plot,
+ color => $black,
+ text => $text,
+ align => "left",
+ width => $width - 20,
+ preserve_nl => 1,
+ );
+ $error->set_font( $font, 16 );
+ return ($plot, $error);
+ };
+
+ ($plot, $error) = $create_plot->($Width, $Height);
+ my $text_height = ($error->get_bounds(0, 0))[3];
+
+ # GD requires us to replot it all with the new height
+ ($plot, $error) = $create_plot->($Width, $text_height + 20);
+
+ $error->draw(10, 10);
+ $m->comp( 'SELF:Plot', plot => $plot, %ARGS );
+};
use RT::Report::Tickets;
-my $tix = RT::Report::Tickets->new( $session{'CurrentUser'} );
-my %AllowedGroupings = reverse $tix->Groupings( Query => $Query );
-$PrimaryGroupBy = 'Queue' unless exists $AllowedGroupings{$PrimaryGroupBy};
-my ($count_name, $value_name) = $tix->SetupGroupings(
- Query => $Query, GroupBy => $PrimaryGroupBy,
-);
+my $report = RT::Report::Tickets->new( $session{'CurrentUser'} );
-my %class = (
- Queue => 'RT::Queue',
- Owner => 'RT::User',
- Creator => 'RT::User',
- LastUpdatedBy => 'RT::User',
-);
-my $class = $class{ $PrimaryGroupBy };
+my %columns;
+if ( $Cache and my $data = delete $session{'charts_cache'}{ $Cache } ) {
+ %columns = %{ $data->{'columns'} };
+ $report->Deserialize( $data->{'report'} );
+ $session{'i'}++;
+} else {
+ %columns = $report->SetupGroupings(
+ Query => $Query,
+ GroupBy => \@GroupBy,
+ Function => \@ChartFunction,
+ );
-my %data;
+ $report->SortEntries;
+}
+
+my @data = ([],[]);
my $max_value = 0;
+my $min_value;
my $max_key_length = 0;
-while ( my $entry = $tix->Next ) {
- my $key;
- if ( $class ) {
- my $q = $class->new( $session{'CurrentUser'} );
- $q->Load( $entry->LabelValue( $value_name ) );
- $key = $q->Name;
- }
- else {
- $key = $entry->LabelValue($value_name);
- }
- $key ||= '(no value)';
-
- my $value = $entry->__Value( $count_name );
- if ($chart_class eq 'GD::Graph::pie') {
- $key = loc($key) ." - ". $value;
- } else {
- $key = loc($key);
+while ( my $entry = $report->Next ) {
+ push @{ $data[0] }, [ map $entry->LabelValue( $_ ), @{ $columns{'Groups'} } ];
+
+ my @values;
+ foreach my $column ( @{ $columns{'Functions'} } ) {
+ my $v = $entry->RawValue( $column );
+ unless ( ref $v ) {
+ push @values, $v;
+ next;
+ }
+
+ my @subs = $report->FindImplementationCode(
+ $report->ColumnInfo( $column )->{'META'}{'SubValues'}
+ )->( $report );
+ push @values, map $v->{$_}, @subs;
}
- $data{ $key } = $value;
- $max_value = $value if $max_value < $value;
- $max_key_length = length $key if $max_key_length < length $key;
-}
-unless (keys %data) {
- $data{''} = 0;
+ my $i = 0;
+ push @{ $data[++$i] }, $_ foreach @values;
+
+ foreach my $v ( @values ) {
+ $max_value = $v if $max_value < $v;
+ $min_value = $v if !defined $min_value || $min_value > $v;
+ }
}
+$ChartStyle =~ s/\bpie\b/bar/ if @data > 2;
-my $chart = $chart_class->new( 600 => 400 );
-$chart->set( pie_height => 60 ) if $chart_class eq 'GD::Graph::pie';
-my %font_config = RT->Config->Get('ChartFont');
-my $font = $font_config{ $session{CurrentUser}->UserObj->Lang || '' }
- || $font_config{'others'};
-$chart->set_title_font( $font, 16 ) if $chart->can('set_title_font');
-$chart->set_legend_font( $font, 16 ) if $chart->can('set_legend_font');
-$chart->set_x_label_font( $font, 14 ) if $chart->can('set_x_label_font');
-$chart->set_y_label_font( $font, 14 ) if $chart->can('set_y_label_font');
-$chart->set_label_font( $font, 14 ) if $chart->can('set_label_font');
-$chart->set_x_axis_font( $font, 12 ) if $chart->can('set_x_axis_font');
-$chart->set_y_axis_font( $font, 12 ) if $chart->can('set_y_axis_font');
-$chart->set_values_font( $font, 12 ) if $chart->can('set_values_font');
-$chart->set_value_font( $font, 12 ) if $chart->can('set_value_font');
+my $chart_class;
+if ($ChartStyle =~ /\bpie\b/) {
+ require GD::Graph::pie;
+ $chart_class = "GD::Graph::pie";
+} else {
+ require GD::Graph::bars;
+ $chart_class = "GD::Graph::bars";
+}
# Pie charts don't like having no input, so we show a special image
# that indicates an error message. Because this is used in an <img>
# context, it can't be a simple error message. Without this check,
# the chart will just be a non-loading image.
-if ($tix->Count == 0) {
- my $plot = GD::Image->new(600 => 400);
- $plot->colorAllocate(255, 255, 255); # background
- my $black = $plot->colorAllocate(0, 0, 0);
-
- require GD::Text::Wrap;
- my $error = GD::Text::Wrap->new($plot,
- color => $black,
- text => loc("No tickets found."),
- );
- $error->set_font( $font, 16 );
- $error->draw(0, 0);
-
- $m->comp( 'SELF:Plot', plot => $plot, %ARGS );
+unless ( $report->Count ) {
+ return $plot_error->(loc("No tickets found."));
}
+my $chart = $chart_class->new( $Width => $Height );
+
+my %chart_options;
if ($chart_class eq "GD::Graph::bars") {
- my $count = keys %data;
- $chart->set(
- x_label => $tix->Label( $PrimaryGroupBy ),
- y_label => loc('Tickets'),
- show_values => 1,
+ my $count = @{ $data[0] };
+ $chart_options{'bar_spacing'} =
+ $count > 30 ? 1
+ : $count > 20 ? 2
+ : $count > 10 ? 3
+ : 5
+ ;
+ if ( my $code = $report->LabelValueCode( $columns{'Functions'}[0] ) ) {
+ my %info = %{ $report->ColumnInfo( $columns{'Functions'}[0] ) };
+ $chart_options{'values_format'} = $chart_options{'y_number_format'} = sub {
+ return $code->($report, %info, VALUE => shift );
+ };
+ }
+ $report->GotoFirstItem;
+
+ # normalize min/max values to graph boundaries
+ {
+ my $integer = 1;
+ $integer = 0 for grep $_ ne int $_, $min_value, $max_value;
+
+ $max_value *= $max_value > 0 ? 1.1 : 0.9
+ if $max_value;
+ $min_value *= $min_value > 0 ? 0.9 : 1.1
+ if $min_value;
+
+ if ($integer) {
+ $max_value = int($max_value + ($max_value > 0? 1 : 0) );
+ $min_value = int($min_value + ($min_value < 0? -1 : 0) );
+
+ my $span = abs($max_value - $min_value);
+ $max_value += 5 - ($span % 5);
+ }
+ $chart_options{'y_label_skip'} = 2;
+ $chart_options{'y_tick_number'} = 10;
+ }
+ my $text_size = sub {
+ my ($size, $text) = (@_);
+ my $font_handle = GD::Text::Align->new(
+ $chart->get('graph'), valign => 'top', 'halign' => 'center',
+ );
+ $font_handle->set_font($font, $size);
+ $font_handle->set_text($text);
+ return $font_handle;
+ };
+
+ my $fitter = sub {
+ my %args = @_;
+
+ foreach my $font_size ( @{$args{'sizes'}} ) {
+ my $line_height = $text_size->($font_size, 'Q')->get('height');
+
+ my $keyset_height = $line_height;
+ if ( ref $args{data}->[0] ) {
+ $keyset_height = $text_size->($font_size, join "\n", ('Q')x scalar @{ $args{data}->[0] })
+ ->get('height');
+ }
+
+ my $status = 1;
+ foreach my $e ( @{ $args{data} } ) {
+ $status = $args{'cb'}->(
+ element => $e,
+ size => $font_size,
+ line_height => $line_height,
+ keyset_height => $keyset_height,
+ );
+ last unless $status;
+ }
+ next unless $status;
+
+ return $font_size;
+ }
+ return 0;
+ };
+
+ # try to fit in labels on X axis values, aka key
+ {
+ # we have several labels layouts:
+ # 1) horizontal, one line per label
+ # 2) horizontal, multi-line - doesn't work, GD::Chart bug
+ # 3) vertical, one line
+ # 4) vertical, multi-line
+ my %can = (
+ 'horizontal, one line' => 1,
+ 'vertical, one line' => 1,
+ 'vertical, multi line' => @{$data[0][0]} > 1,
+ );
+
+ my $x_space_for_label = $Width*0.8/($count+1.5);
+ my $y_space_for_label = $Height*0.4;
+
+ my $found_solution = $fitter->(
+ sizes => [12,11,10],
+ data => $data[0],
+ cb => sub {
+ my %args = @_;
+
+ # if horizontal space doesn't allow us to fit one vertical line,
+ # then we need smaller font
+ return 0 if $args{'line_height'} > $x_space_for_label;
+
+ my $width = $text_size->( $args{'size'}, join ' - ', @{ $args{'element'} } )
+ ->get('width');
+
+ if ( $width > $x_space_for_label ) {
+ $can{'horizontal, one line'} = 0;
+ }
+ if ( $width > $y_space_for_label ) {
+ $can{'vertical, one line'} = 0;
+ }
+ if ( $args{'keyset_height'} >= $x_space_for_label ) {
+ $can{'vertical, multi line'} = 0;
+ }
+ if ( $can{'vertical, multi line'} ) {
+ my $width = $text_size->( $args{'size'}, join "\n", @{ $args{'element'} } )
+ ->get('width');
+ if ( $width > $y_space_for_label ) {
+ $can{'vertical, multi line'} = 0;
+ }
+ }
+ return 0 unless grep $_, values %can;
+ return 1;
+ },
+ );
+ if ( $found_solution ) {
+ $chart_options{'x_axis_font'} = [$font, $found_solution];
+
+ if ( $can{'horizontal, one line'} ) {
+ $chart_options{'x_labels_vertical'} = 0;
+ $_ = join ' - ', @$_ foreach @{$data[0]};
+ }
+ elsif ( $can{'vertical, multi line'} ) {
+ $chart_options{'x_labels_vertical'} = 1;
+ $_ = join "\n", @$_ foreach @{$data[0]};
+ }
+ else {
+ $chart_options{'x_labels_vertical'} = 1;
+ $_ = join " - ", @$_ foreach @{$data[0]};
+ }
+ }
+ else {
+ my $font_handle = $text_size->(10, 'Q');
+ my $line_height = $font_handle->get('height');
+ if ( $line_height > $x_space_for_label ) {
+ $Width *= $line_height/$x_space_for_label;
+ $Width = int( $Width+1 );
+ }
+
+ $_ = join " - ", @$_ foreach @{$data[0]};
+
+ my $max_text_width = 0;
+ foreach (@{$data[0]}) {
+ $font_handle->set_text($_);
+ my $width = $font_handle->get('width');
+ $max_text_width = $width if $width > $max_text_width;
+ }
+ if ( $max_text_width > $Height*0.4 ) {
+ $Height = int($max_text_width / 0.4 + 1);
+ }
+
+ $chart_options{'x_labels_vertical'} = 1;
+ $chart_options{'x_axis_font'} = [$font, 10];
+ }
+ }
+
+ # use the same size for y axis labels
+ {
+ $chart_options{'y_axis_font'} = $chart_options{'x_axis_font'};
+ }
+
+ # try to fit in values above bars
+ {
+ # 0.8 is guess, labels for ticks on Y axis can be wider
+ # 1.5 for paddings around bars that GD::Graph adds
+ my $x_space_for_label = $Width*0.8/($count*(@data - 1)+1.5);
+
+ my %can = (
+ 'horizontal, one line' => 1,
+ 'vertical, one line' => 1,
+ );
+
+ my %seen;
+ my $found_solution = $fitter->(
+ sizes => [ grep $_ <= $chart_options{'x_axis_font'}[1], 12, 11, 10, 9 ],
+ data => [ map {@$_} @data[1..(@data-1)] ],
+ cb => sub {
+ my %args = @_;
+
+ # if horizontal space doesn't allow us to fit one vertical line,
+ # then we need smaller font
+ return 0 if $args{'line_height'} > $x_space_for_label;
+
+ my $value = $args{'element'};
+ $value = $chart_options{'values_format'}->($value)
+ if $chart_options{'values_format'};
+ return 1 if $seen{$value}++;
+
+ my $width = $text_size->( $args{'size'}, $value )->get('width');
+ if ( $width > $x_space_for_label ) {
+ $can{'horizontal, one line'} = 0;
+ }
+ my $y_space_for_label = $Height * 0.6
+ *( 1 - ($args{'element'}-$min_value)/($max_value-$min_value) );
+ if ( $width > $y_space_for_label ) {
+ $can{'vertical, one line'} = 0;
+ }
+ return 0 unless grep $_, values %can;
+ return 1;
+ },
+ );
+ $chart_options{'show_values'} = 1;
+ $chart_options{'hide_overlapping_values'} = 1;
+ if ( $found_solution ) {
+ $chart_options{'values_font'} = [ $font, $found_solution ],
+ $chart_options{'values_space'} = 2;
+ $chart_options{'values_vertical'} =
+ $can{'horizontal, one line'} ? 0 : 1;
+ } else {
+ $chart_options{'values_font'} = [ $font, 9 ],
+ $chart_options{'values_space'} = 1;
+ $chart_options{'values_vertical'} = 1;
+ }
+ }
+
+ %chart_options = (
+ %chart_options,
+ x_label => join( ' - ', map $report->Label( $_ ), @{ $columns{'Groups'} } ),
x_label_position => 0.6,
+ y_label => $report->Label( $columns{'Functions'}[0] ),
y_label_position => 0.6,
- values_space => -1,
# use a top margin enough to display values over the top line if needed
t_margin => 18,
# the following line to make sure there's enough space for values to show
- y_max_value => 5*(int($max_value/5) + 2),
+ y_max_value => $max_value,
+ y_min_value => $min_value,
# if there're too many bars or at least one key is too long, use vertical
- x_labels_vertical => ( $count * $max_key_length > 60 ) ? 1 : 0,
- $count > 30 ? ( bar_spacing => 1 ) : ( $count > 20 ? ( bar_spacing => 2 ) :
- ( $count > 10 ? ( bar_spacing => 3 ) : ( bar_spacing => 5 ) )
- ),
+ bargroup_spacing => $chart_options{'bar_spacing'}*5,
);
}
+else {
+ my $i = 0;
+ while ( my $entry = $report->Next ) {
+ push @{ $data[0][$i++] }, $entry->LabelValue( $columns{'Functions'}[0] );
+ }
+ $_ = join ' - ', @$_ foreach @{$data[0]};
+}
+
+if ($chart->get('width') != $Width || $chart->get('height') != $Height ) {
+ $chart = $chart_class->new( $Width => $Height );
+}
-# refine values' colors, with both Color::Scheme's help and my own tweak
-$chart->{dclrs} = [
- '66cc66', 'ff6666', 'ffcc66', '663399',
- '3333cc', '339933', '993333', '996633',
- '33cc33', 'cc3333', 'cc9933', '6633cc',
-];
+%chart_options = (
+ '3d' => 0,
+ title_font => [ $font, 16 ],
+ legend_font => [ $font, 16 ],
+ x_label_font => [ $font, 14 ],
+ y_label_font => [ $font, 14 ],
+ label_font => [ $font, 14 ],
+ y_axis_font => [ $font, 12 ],
+ values_font => [ $font, 12 ],
+ value_font => [ $font, 12 ],
+ %chart_options,
+);
+
+foreach my $opt ( grep /_font$/, keys %chart_options ) {
+ my $v = delete $chart_options{$opt};
+ next unless my $can = $chart->can("set_$opt");
+
+ $can->($chart, @$v);
+}
+$chart->set(%chart_options) if keys %chart_options;
+
+$chart->{dclrs} = [ RT->Config->Get("ChartColors") ];
{
no warnings 'redefine';
@@ -182,8 +453,12 @@ $chart->{dclrs} = [
};
}
-my $plot = $chart->plot( [ [sort keys %data], [map $data{$_}, sort keys %data] ] ) or die $chart->error;
-$m->comp( 'SELF:Plot', plot => $plot, %ARGS );
+if (my $plot = eval { $chart->plot( \@data ) }) {
+ $m->comp( 'SELF:Plot', plot => $plot, %ARGS );
+} else {
+ my $error = join "\n", grep defined && length, $chart->error, $@;
+ $plot_error->(loc("Error plotting chart: [_1]", $error));
+}
</%init>
<%METHOD Plot>
diff --git a/rt/share/html/Search/Chart.html b/rt/share/html/Search/Chart.html
index 2cde513..e08616a 100644
--- a/rt/share/html/Search/Chart.html
+++ b/rt/share/html/Search/Chart.html
@@ -45,36 +45,23 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<%args>
-$PrimaryGroupBy => 'Queue'
-$ChartStyle => 'bar'
-$Description => undef
-</%args>
<%init>
+my $default_value = {
+ Query => 'id > 0',
+ GroupBy => ['Status'],
+ ChartStyle => ['bar+table+sql'],
+ ChartFunction => ['COUNT'],
+};
+
$m->callback( ARGSRef => \%ARGS, CallbackName => 'Initial' );
-$ARGS{Query} ||= 'id > 0';
-
-# FIXME: should be factored with RT::Report::Tickets::Label :(
-my $PrimaryGroupByLabel;
-if ( $PrimaryGroupBy =~ /^(?:CF|CustomField)\.\{(.*)\}$/ ) {
- my $cf = $1;
- if ( $cf =~ /\D/ ) {
- $PrimaryGroupByLabel = loc( "custom field '[_1]'", $cf );
- } else {
- my $obj = RT::CustomField->new( $session{'CurrentUser'} );
- $obj->Load( $cf );
- $PrimaryGroupByLabel = loc( "custom field '[_1]'", $obj->Name );
- }
-} else {
- $PrimaryGroupByLabel = loc( $PrimaryGroupBy );
-}
-
-my $title = loc( "Search results grouped by [_1]", $PrimaryGroupByLabel );
+my $title = loc( "Grouped search results");
+my @search_fields = qw(Query GroupBy ChartStyle ChartFunction Width Height);
my $saved_search = $m->comp( '/Widgets/SavedSearch:new',
SearchType => 'Chart',
- SearchFields => [qw(Query PrimaryGroupBy ChartStyle)] );
+ SearchFields => [@search_fields],
+);
my @actions = $m->comp( '/Widgets/SavedSearch:process', args => \%ARGS, self => $saved_search );
@@ -113,7 +100,21 @@ my %query;
}
+foreach (@search_fields) {
+ if ( ref $default_value->{$_} ) {
+ $query{$_} = ref $ARGS{$_} ? $ARGS{$_} : [ $ARGS{$_} ];
+ $query{$_} = $default_value->{$_}
+ unless defined $query{$_} && defined $query{$_}[0];
+ }
+ else {
+ $query{$_} = ref $ARGS{$_} ? $ARGS{$_} : $ARGS{$_};
+ $query{$_} = $default_value->{$_}
+ unless defined $query{$_};
+ }
+}
+
$m->callback( ARGSRef => \%ARGS, QueryArgsRef => \%query );
+
</%init>
<& /Elements/Header, Title => $title &>
<& /Elements/Tabs, QueryArgs => \%query &>
@@ -127,15 +128,94 @@ $m->callback( ARGSRef => \%ARGS, QueryArgsRef => \%query );
<div class="chart-meta">
<div class="chart-type">
-<&| /Widgets/TitleBox, title => loc('Chart Properties')&>
-<form method="get" action="<%RT->Config->Get('WebPath')%>/Search/Chart.html">
-<input type="hidden" class="hidden" name="Query" value="<% $ARGS{Query} %>" />
+
+<form method="get" action="<% RT->Config->Get('WebPath') %>/Search/Chart.html">
+<input type="hidden" class="hidden" name="Query" value="<% $query{Query} %>" />
<input type="hidden" class="hidden" name="SavedChartSearchId" value="<% $saved_search->{SearchId} || 'new' %>" />
-<&|/l_unsafe, $m->scomp('Elements/SelectChartType', Name => 'ChartStyle', Default => $ChartStyle), $m->scomp('Elements/SelectGroupBy', Name => 'PrimaryGroupBy', Query => $ARGS{Query}, Default => $PrimaryGroupBy)
-&>[_1] chart by [_2]</&><input type="submit" class="button" value="<%loc('Update Chart')%>" />
-</form>
+<&| /Widgets/TitleBox, title => loc('Group by'), class => "chart-group-by" &>
+<fieldset><legend><% loc('Group tickets by') %></legend>
+<& Elements/SelectGroupBy,
+ Name => 'GroupBy',
+ Query => $query{Query},
+ Default => $query{'GroupBy'}[0],
+ &>
+</fieldset>
+<fieldset><legend><% loc('and then') %></legend>
+<& Elements/SelectGroupBy,
+ Name => 'GroupBy',
+ Query => $query{Query},
+ Default => $query{'GroupBy'}[1] // q{},
+ ShowEmpty => 1,
+ &>
+</fieldset>
+<fieldset><legend><% loc('and then') %></legend>
+<& Elements/SelectGroupBy,
+ Name => 'GroupBy',
+ Query => $query{Query},
+ Default => $query{'GroupBy'}[2] // q{},
+ ShowEmpty => 1,
+ &>
+</fieldset>
+</&>
+
+<&| /Widgets/TitleBox, title => loc("Calculate"), class => "chart-calculate" &>
+
+<fieldset><legend><% loc('Calculate values of') %></legend>
+<& Elements/SelectChartFunction, Default => $query{'ChartFunction'}[0] &>
+</fieldset>
+<fieldset><legend><% loc('and then') %></legend>
+<& Elements/SelectChartFunction, Default => $query{'ChartFunction'}[1] // q{}, ShowEmpty => 1 &>
+</fieldset>
+<fieldset><legend><% loc('and then') %></legend>
+<& Elements/SelectChartFunction, Default => $query{'ChartFunction'}[2] // q{}, ShowEmpty => 1 &>
+</fieldset>
+
</&>
+
+<&| /Widgets/TitleBox, title => loc('Picture'), class => "chart-picture" &>
+<input name="ChartStyle" type="hidden" value="<% $query{ChartStyle}[0] %>" />
+<label><% loc('Style') %>: <& Elements/SelectChartType, Default => $query{ChartStyle}[0] =~ /^(pie|bar|table)\b/ ? $1 : undef &></label>
+<span class="width">
+<label><% loc("Width") %>: <input type="text" name="Width" value="<% $query{'Width'} || q{} %>"> <% loc("px") %></label>
+</span>
+<span class="height">
+ &#x00d7;
+ <label><% loc("Height") %>: <input type="text" name="Height" value="<% $query{'Height'} || q{} %>"> <% loc("px") %></label>
+</span>
+<div class="include-table">
+ <input type="checkbox" name="ChartStyleIncludeTable" <% $query{ChartStyle}[0] =~ /\btable\b/ ? 'checked="checked"' : '' |n %>> <% loc('Include data table') %>
+</div>
+<div class="include-sql">
+ <input type="checkbox" name="ChartStyleIncludeSQL" <% $query{ChartStyle}[0] =~ /\bsql\b/ ? 'checked="checked"' : '' |n %>> <% loc('Include TicketSQL query') %>
+</div>
+</&>
+<script type="text/javascript">
+var updateChartStyle = function() {
+ var val = jQuery(".chart-picture [name=ChartType]").val();
+ if ( val != 'table' && jQuery(".chart-picture [name=ChartStyleIncludeTable]").is(':checked') ) {
+ val += '+table';
+ }
+ if ( jQuery(".chart-picture [name=ChartStyleIncludeSQL]").is(':checked') ) {
+ val += '+sql';
+ }
+ jQuery(".chart-picture [name=ChartStyle]").val(val);
+};
+jQuery(".chart-picture [name=ChartType]").change(function(){
+ var t = jQuery(this);
+ t.closest("form").find("[name=Height]").closest(".height").toggle( t.val() == 'bar' );
+ t.closest("form").find("[name=Width]").closest(".width").toggle( t.val() !== 'table' );
+ t.closest("form .chart-picture").find("div.include-table").toggle( t.val() !== 'table' );
+ updateChartStyle();
+}).change();
+
+jQuery(".chart-picture [name=ChartStyleIncludeTable]").change( updateChartStyle );
+jQuery(".chart-picture [name=ChartStyleIncludeSQL]").change( updateChartStyle );
+</script>
+
+<& /Elements/Submit, Label => loc('Update Chart'), Name => 'Update' &>
+</form>
+
</div>
<div class="saved-search">
<& /Widgets/SavedSearch:show, %ARGS, Action => 'Chart.html', self => $saved_search, Title => loc('Saved charts') &>
diff --git a/rt/share/html/Search/Elements/BuildFormatString b/rt/share/html/Search/Elements/BuildFormatString
index 9a3ba1e..10ac1af 100644
--- a/rt/share/html/Search/Elements/BuildFormatString
+++ b/rt/share/html/Search/Elements/BuildFormatString
@@ -115,10 +115,12 @@ $m->callback( CallbackOnce => 1, CallbackName => 'SetFieldsOnce', Fields => \@fi
my $CustomFields = RT::CustomFields->new( $session{'CurrentUser'});
foreach my $id (keys %queues) {
- # Gotta load up the $queue object, since queues get stored by name now. my $id
+ # Gotta load up the $queue object, since queues get stored by name now.
my $queue = RT::Queue->new($session{'CurrentUser'});
$queue->Load($id);
- $CustomFields->LimitToQueue($queue->Id) if $queue->Id;
+ next unless $queue->Id;
+ $CustomFields->LimitToQueue($queue->Id);
+ $CustomFields->SetContextObject( $queue ) if keys %queues == 1;
}
$CustomFields->LimitToGlobal;
@@ -140,8 +142,7 @@ foreach my $field (@format) {
if ( $RemoveCol ) {
# we do this regex match to avoid a non-numeric warning
- my ($index) = $CurrentDisplayColumns =~ /^(\d+)/;
- my $column = $seen[$index];
+ my ($index) = ($CurrentDisplayColumns // '') =~ /^(\d+)/;
if ( defined($index) ) {
delete $seen[$index];
my @temp = @seen;
@@ -206,7 +207,7 @@ elsif ( $AddCol ) {
}
}
elsif ( $ColUp ) {
- my $index = $CurrentDisplayColumns;
+ my ($index) = ($CurrentDisplayColumns // '') =~ /^(\d+)/;
if ( defined $index && ( $index - 1 ) >= 0 ) {
my $column = $seen[$index];
$seen[$index] = $seen[ $index - 1 ];
@@ -215,7 +216,7 @@ elsif ( $ColUp ) {
}
}
elsif ( $ColDown ) {
- my $index = $CurrentDisplayColumns;
+ my ($index) = ($CurrentDisplayColumns // '') =~ /^(\d+)/;
if ( defined $index && ( $index + 1 ) < scalar @seen ) {
my $column = $seen[$index];
$seen[$index] = $seen[ $index + 1 ];
diff --git a/rt/share/html/Search/Elements/Chart b/rt/share/html/Search/Elements/Chart
index 38c15f6..6285fac 100644
--- a/rt/share/html/Search/Elements/Chart
+++ b/rt/share/html/Search/Elements/Chart
@@ -47,107 +47,44 @@
%# END BPS TAGGED BLOCK }}}
<%args>
$Query => "id > 0"
-$PrimaryGroupBy => 'Queue'
-$ChartStyle => 'bar'
+@GroupBy => ()
+$ChartStyle => 'bar+table+sql'
+@ChartFunction => 'COUNT'
</%args>
<%init>
use RT::Report::Tickets;
-$PrimaryGroupBy ||= 'Queue'; # make sure PrimaryGroupBy is not undef
-my $tix = RT::Report::Tickets->new( $session{'CurrentUser'} );
-my %AllowedGroupings = reverse $tix->Groupings( Query => $Query );
-$PrimaryGroupBy = 'Queue' unless exists $AllowedGroupings{$PrimaryGroupBy};
-my ($count_name, $value_name) = $tix->SetupGroupings(
- Query => $Query, GroupBy => $PrimaryGroupBy,
-);
+my $report = RT::Report::Tickets->new( $session{'CurrentUser'} );
-my %class = (
- Queue => 'RT::Queue',
- Owner => 'RT::User',
- Creator => 'RT::User',
- LastUpdatedBy => 'RT::User',
+my %columns = $report->SetupGroupings(
+ Query => $Query,
+ GroupBy => \@GroupBy,
+ Function => \@ChartFunction,
);
-my $class = $class{ $PrimaryGroupBy };
-
-my (@keys, @values);
-while ( my $entry = $tix->Next ) {
- if ($class) {
- my $q = $class->new( $session{'CurrentUser'} );
- $q->Load( $entry->LabelValue( $value_name ) );
- push @keys, $q->Name;
- }
- else {
- push @keys, $entry->LabelValue( $value_name );
- }
- $keys[-1] ||= loc('(no value)');
- push @values, $entry->__Value( $count_name );
-}
-my %data;
-my %loc_keys;
-foreach my $key (@keys) { $data{$key} = shift @values; $loc_keys{$key} = loc($key); }
-my @sorted_keys = map { $loc_keys{$_}} sort { $loc_keys{$a} cmp $loc_keys{$b} } keys %loc_keys;
-my @sorted_values = map { $data{$_}} sort { $loc_keys{$a} cmp $loc_keys{$b} } keys %loc_keys;
-my $query_string = $m->comp('/Elements/QueryString', %ARGS);
+$report->SortEntries;
-my ($i,$total);
+my $query_string = $m->comp('/Elements/QueryString', %ARGS, GroupBy => \@GroupBy );
</%init>
<div class="chart-wrapper">
-<span class="chart image">
+% if ( ($ChartStyle || '') =~ /\b(pie|bar)\b/ ) {
+<span class="chart image <% $1 %>">
% if (RT->Config->Get('DisableGD')) {
<% loc('Graphical charts are not available.') %><br />
% } else {
-<img src="<%RT->Config->Get('WebPath')%>/Search/Chart?<%$query_string|n%>" />
+% my $key = Digest::MD5::md5_hex( rand(1024) );
+% $session{'charts_cache'}{$key} = { columns => \%columns, report => $report->Serialize };
+% $session{'i'}++;
+<img src="<% RT->Config->Get('WebPath') %>/Search/Chart?Cache=<% $key |un %>&<% $query_string |n %>" />
% }
</span>
-<table class="collection-as-table chart">
-<tr>
-<th class="collection-as-table"><% loc($tix->Label($PrimaryGroupBy)) %>
-</th>
-<th class="collection-as-table"><&|/l&>Tickets</&>
-</th>
-</tr>
-<%perl>
- while (my $key = shift @sorted_keys) {
- $i++;
- my $value = shift @sorted_values;
- $total += $value;
-</%perl>
-<tr class="<% $i%2 ? 'evenline' : 'oddline' %>">
-<%perl>
-# TODO sadly we don't have "creator.city is null" or alike support yet
-# so no link if the key is undef for now
- if ( $PrimaryGroupBy !~ /(Hourly|Daily|Monthly|Annually)$/
- && $key ne loc('(no value)') ) {
- my $group = $PrimaryGroupBy; $group =~ s! !.!;
- my %orig_keys = reverse %loc_keys;
- my $QueryString = $m->comp('/Elements/QueryString',
- Query => "$Query and $group = '$orig_keys{$key}'",
- Format => $ARGS{Format},
- Rows => $ARGS{Rows},
- OrderBy => $ARGS{OrderBy},
- Order => $ARGS{Order},
- );
-</%perl>
-<td class="label collection-as-table">
-<a href=<% RT->Config->Get('WebPath') %>/Search/Results.html?<%$QueryString%>><%$key%></a>
-</td>
-<td class="value collection-as-table">
-<a href=<% RT->Config->Get('WebPath') %>/Search/Results.html?<%$QueryString%>><%$value%></a>
-</td>
-% } else {
-<td class="label collection-as-table"><% $key %></td>
-<td class="value collection-as-table"><% $value %></td>
-% }
-</tr>
% }
-%$i++;
-<tr class="<%$i%2 ? 'evenline' : 'oddline' %> total">
-<td class="label collection-as-table"><%loc('Total')%></td>
-<td class="value collection-as-table"><%$total||'0'%></td>
-</tr>
+% if ( ($ChartStyle || '') =~ /\btable\b/ ) {
+<& ChartTable, %ARGS, Table => { $report->FormatTable( %columns ) } &>
+% }
-</table>
+% if ( ($ChartStyle || '') =~ /\bsql\b/ ) {
<div class="query"><span class="label"><% loc('Query') %>:</span><span class="value"><% $Query %></span></div>
+% }
</div>
diff --git a/rt/share/html/Search/Elements/ChartTable b/rt/share/html/Search/Elements/ChartTable
new file mode 100644
index 0000000..045653a
--- /dev/null
+++ b/rt/share/html/Search/Elements/ChartTable
@@ -0,0 +1,119 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<%ARGS>
+%Table => ()
+$Query => undef
+</%ARGS>
+<%INIT>
+
+my $base_query = $m->comp('/Elements/QueryString',
+ Format => $ARGS{Format},
+ Rows => $ARGS{Rows},
+ OrderBy => $ARGS{OrderBy},
+ Order => $ARGS{Order},
+);
+
+my $interp = $m->interp;
+my $eh = sub { $interp->apply_escapes( @_, 'h' ) };
+my $eu = sub { $interp->apply_escapes( @_, 'u' ) };
+
+$m->out('<table class="collection-as-table chart">'. "\n");
+foreach my $section (qw(thead tbody tfoot)) {
+ next unless $Table{ $section } && @{ $Table{ $section } };
+
+ $m->out("<$section>\n");
+ foreach my $row ( @{ $Table{ $section } } ) {
+ $m->out(' <tr');
+ $m->out(' class="'. ($row->{'even'}? 'evenline' : 'oddline') .'"')
+ if defined $row->{'even'};
+ $m->out(">");
+
+ foreach my $cell ( @{ $row->{'cells'} } ) {
+ my $tag = $cell->{'type'} eq 'value'? 'td' : 'th';
+ $m->out("<$tag");
+
+ my @class = ('collection-as-table');
+ push @class, ($cell->{'type'}) unless $cell->{'type'} eq 'head';
+ push @class, $cell->{'even'} ? 'evenline' : 'oddline'
+ if defined $cell->{'even'};
+ $m->out(' class="'. $eh->( join ' ', @class ) .'"');
+
+ foreach my $dir ( grep $cell->{$_}, qw(rowspan colspan) ) {
+ my $value = int $cell->{ $dir };
+ $m->out(qq{ $dir="$value"});
+ }
+ $m->out(' style="background-color: #'. $m->interp->apply_escapes($cell->{color}) .'"')
+ if $cell->{color};
+
+ $m->out('>');
+ if ( defined $cell->{'value'} ) {
+ if ( my $q = $cell->{'query'} ) {
+ $m->out(
+ '<a href="'. $eh->(RT->Config->Get('WebPath')) .'/Search/Results.html'
+ .'?Query='. $eu->(join ' AND ', map "($_)", grep defined && length, $Query, $q)
+ . $eh->('&') . $base_query
+ . '">'
+ );
+ $m->out( $eh->( $cell->{'value'} ) );
+ $m->out('</a>');
+ }
+ else {
+ $m->out( $eh->( $cell->{'value'} ) );
+ }
+ }
+ else {
+ $m->out('&nbsp;');
+ }
+ $m->out("</$tag>");
+ }
+ $m->out("</tr>\n");
+ }
+ $m->out("</$section>\n\n");
+}
+$m->out("</table>");
+</%INIT>
diff --git a/rt/share/html/Search/Elements/ConditionRow b/rt/share/html/Search/Elements/ConditionRow
index edf7381..80ecd97 100644
--- a/rt/share/html/Search/Elements/ConditionRow
+++ b/rt/share/html/Search/Elements/ConditionRow
@@ -74,9 +74,11 @@ $handle_block = sub {
return $m->scomp( $box->{'Path'}, %{ $box->{'Arguments'} }, Name => $name );
}
if ( $box->{'Type'} eq 'text' ) {
- my $default = $box->{'Default'} || '';
- my $size = $box->{'Size'}? qq{size="$box->{'Size'}"} : '';
- return qq{<input id="$name" name="$name" value="$default" $size />};
+ $box->{id} ||= $box->{name} ||= $name;
+ $box->{value} ||= delete($box->{Default}) || '';
+ return "<input ".join(" ", map{$m->interp->apply_escapes(lc($_),'h')
+ .q{="}.$m->interp->apply_escapes($box->{$_},'h').q{"}}
+ sort keys %$box)." />";
}
if ( $box->{'Type'} eq 'select' ) {
my $res = '';
diff --git a/rt/share/html/Search/Elements/EditFormat b/rt/share/html/Search/Elements/EditFormat
index a78fa05..fffec5c 100644
--- a/rt/share/html/Search/Elements/EditFormat
+++ b/rt/share/html/Search/Elements/EditFormat
@@ -59,7 +59,8 @@
<td valign="top"><select size="6" name="SelectDisplayColumns" multiple="multiple">
% my %seen;
% foreach my $field ( grep !$seen{lc $_}++, @$AvailableColumns) {
-<option value="<% $field %>"><% loc($field) %></option>
+<option value="<% $field %>" <% $selected{$field} ? 'selected="selected"' : '' |n%>>\
+<% $field =~ /^(?:CustomField|CF)\./ ? $field : loc($field) %></option>
% }
</select></td>
<td>
@@ -105,8 +106,10 @@
<td valign="top">
<select size="4" name="CurrentDisplayColumns">
% my $i=0;
+% my $current = $ARGS{CurrentDisplayColumns} || ''; $current =~ s/^\d+>//;
% foreach my $field ( @$CurrentFormat ) {
-<option value="<% $i++ %>><% $field->{Column} %>"><% loc( $field->{Column} ) %></option>
+<option value="<% $i++ %>><% $field->{Column} %>" <% $field->{Column} eq $current ? 'selected="selected"' : '' |n%>>\
+<% $field->{Column} =~ /^(?:CustomField|CF)\./ ? $field->{Column} : loc( $field->{Column} ) %></option>
% }
</select>
<br />
@@ -120,6 +123,12 @@
</tr>
</table>
+<%init>
+my $selected = $ARGS{SelectDisplayColumns};
+$selected = [ $selected ] unless ref $selected;
+my %selected;
+$selected{$_}++ for grep {defined} @{ $selected };
+</%init>
<%ARGS>
$CurrentFormat => undef
$AvailableColumns => undef
diff --git a/rt/share/html/Search/Elements/EditSearches b/rt/share/html/Search/Elements/EditSearches
index f5be486..0a55e0d 100644
--- a/rt/share/html/Search/Elements/EditSearches
+++ b/rt/share/html/Search/Elements/EditSearches
@@ -146,7 +146,7 @@ $SavedSearch => {}
$SavedSearch->{'Id'} = ( $ARGS{Type} && $ARGS{Type} eq 'Chart' ?
$ARGS{'SavedChartSearchId'} : $ARGS{'SavedSearchId'} ) || 'new';
-$SavedSearch->{'Description'} = $ARGS{'SavedSearchDescription'} || undef;
+$SavedSearch->{'Description'} = $ARGS{'SavedSearchDescription'} || '';
$SavedSearch->{'Privacy'} = $ARGS{'SavedSearchOwner'} || undef;
my @results;
@@ -158,7 +158,8 @@ if ( $ARGS{'SavedSearchRevert'} ) {
if ( $ARGS{'SavedSearchLoad'} ) {
my ($container, $id ) = _parse_saved_search ($ARGS{'SavedSearchLoad'});
if ( $container ) {
- my $search = $container->Attributes->WithId( $id );
+ my $search = RT::Attribute->new( $session{'CurrentUser'} );
+ $search->Load( $id );
$SavedSearch->{'Id'} = $ARGS{'SavedSearchLoad'};
$SavedSearch->{'Object'} = $search;
$SavedSearch->{'Description'} = $search->Description;
@@ -194,7 +195,8 @@ elsif ( $ARGS{'SavedSearchDelete'} ) {
}
elsif ( $ARGS{'SavedSearchCopy'} ) {
my ($container, $id ) = _parse_saved_search( $ARGS{'SavedSearchId'} );
- $SavedSearch->{'Object'} = $container->Attributes->WithId( $id );
+ $SavedSearch->{'Object'} = RT::Attribute->new( $session{'CurrentUser'} );
+ $SavedSearch->{'Object'}->Load( $id );
if ( $ARGS{'SavedSearchDescription'} && $ARGS{'SavedSearchDescription'} ne $SavedSearch->{'Object'}->Description ) {
$SavedSearch->{'Description'} = $ARGS{'SavedSearchDescription'};
} else {
@@ -208,7 +210,8 @@ if ( $SavedSearch->{'Id'} && $SavedSearch->{'Id'} ne 'new'
&& !$SavedSearch->{'Object'} )
{
my ($container, $id ) = _parse_saved_search( $ARGS{'SavedSearchId'} );
- $SavedSearch->{'Object'} = $container->Attributes->WithId( $id );
+ $SavedSearch->{'Object'} = RT::Attribute->new( $session{'CurrentUser'} );
+ $SavedSearch->{'Object'}->Load( $id );
$SavedSearch->{'Description'} ||= $SavedSearch->{'Object'}->Description;
}
@@ -290,7 +293,7 @@ if ( $obj && $obj->id ) {
}
push @results, loc('Updated saved search "[_1]"', $desc);
}
-elsif ( $id eq 'new' ) {
+elsif ( $id eq 'new' and defined $desc and length $desc ) {
my $saved_search = RT::SavedSearch->new( $session{'CurrentUser'} );
my ($status, $msg) = $saved_search->Save(
Privacy => $privacy,
@@ -300,8 +303,8 @@ elsif ( $id eq 'new' ) {
);
if ( $status ) {
- $SavedSearch->{'Object'} =
- $session{'CurrentUser'}->UserObj->Attributes->WithId( $saved_search->Id );
+ $SavedSearch->{'Object'} = RT::Attribute->new( $session{'CurrentUser'} );
+ $SavedSearch->{'Object'}->Load( $saved_search->Id );
# Build new SearchId
$SavedSearch->{'Id'} =
ref( $session{'CurrentUser'}->UserObj ) . '-'
@@ -313,6 +316,9 @@ elsif ( $id eq 'new' ) {
push @results, loc("Can't find a saved search to work with").': '.loc($msg);
}
}
+elsif ( $id eq 'new' ) {
+ push @results, loc("Can't save a search without a Description");
+}
else {
push @results, loc("Can't save this search");
}
diff --git a/rt/share/html/Search/Elements/EditSort b/rt/share/html/Search/Elements/EditSort
index de5d2d8..43ae729 100644
--- a/rt/share/html/Search/Elements/EditSort
+++ b/rt/share/html/Search/Elements/EditSort
@@ -68,7 +68,7 @@
% if (defined $OrderBy[$o] and $fieldval eq $OrderBy[$o]) {
selected="selected"
% }
-><% loc($field) %></option>
+><% $field =~ /^(?:CustomField|CF)\./ ? $field : loc($field) %></option>
% }
</select>
<select name="Order">
diff --git a/rt/share/html/Search/Elements/PickBasics b/rt/share/html/Search/Elements/PickBasics
index 3aae965..29eea7e 100644
--- a/rt/share/html/Search/Elements/PickBasics
+++ b/rt/share/html/Search/Elements/PickBasics
@@ -70,10 +70,10 @@ my @lines = (
Type => 'component',
Path => '/Elements/SelectBoolean',
Arguments => {
- True => loc("matches"),
- False => loc("doesn't match"),
- TrueVal => 'LIKE',
- FalseVal => 'NOT LIKE',
+ True => loc("matches"),
+ False => loc("doesn't match"),
+ TrueVal => 'LIKE',
+ FalseVal => 'NOT LIKE',
},
},
Value => { Type => 'text', Size => 20 },
@@ -89,7 +89,7 @@ my @lines = (
Value => {
Type => 'component',
Path => '/Elements/SelectQueue',
- Arguments => { NamedValues => 1, CheckQueueRight => 'ShowTicket' },
+ Arguments => { NamedValues => 1, },
},
},
{
@@ -102,7 +102,7 @@ my @lines = (
},
Value => {
Type => 'component',
- Path => '/Elements/SelectStatus',
+ Path => '/Ticket/Elements/SelectStatus',
Arguments => { SkipDeleted => 1, Queues => \%queues },
},
},
@@ -114,6 +114,7 @@ my @lines = (
Owner => loc('Owner'),
Creator => loc('Creator'),
LastUpdatedBy => loc('Last updated by'),
+ UpdatedBy => loc('Updated by'),
],
},
Op => {
@@ -141,6 +142,19 @@ my @lines = (
Value => { Type => 'text', Size => 20 }
},
{
+ Name => 'WatcherGroup',
+ Field => {
+ Type => 'component',
+ Path => 'SelectPersonType',
+ Arguments => { Default => 'Owner', Suffix => 'Group' },
+ },
+ Op => {
+ Type => 'select',
+ Options => [ '=' => loc('is') ],
+ },
+ Value => { Type => 'text', Size => 20, "data-autocomplete" => "Groups" }
+ },
+ {
Name => 'Date',
Field => {
Type => 'component',
diff --git a/rt/share/html/Search/Elements/PickCFs b/rt/share/html/Search/Elements/PickCFs
index cf8c92a..e8d9c71 100644
--- a/rt/share/html/Search/Elements/PickCFs
+++ b/rt/share/html/Search/Elements/PickCFs
@@ -58,7 +58,7 @@ $m->callback(
my @lines;
while ( my $CustomField = $CustomFields->Next ) {
my %line;
- $line{'Name'} = "'$TicketSQLField.{" . $CustomField->Name . "}'";
+ $line{'Name'} = "$TicketSQLField.{" . $CustomField->Name . "}";
$line{'Field'} = $CustomField->Name;
# Op
@@ -88,20 +88,11 @@ while ( my $CustomField = $CustomFields->Next ) {
}
# Value
- if ($CustomField->Type =~ /^Date(Time)?$/) {
- my $is_datetime = $1 ? 1 : 0;
- $line{'Value'} = {
- Type => 'component',
- Path => '/Elements/SelectDate',
- Arguments => { $is_datetime ? (ShowTime => 1) : (ShowTime => 0), },
- };
- } else {
- $line{'Value'} = {
- Type => 'component',
- Path => '/Elements/SelectCustomFieldValue',
- Arguments => { CustomField => $CustomField },
- };
- }
+ $line{'Value'} = {
+ Type => 'component',
+ Path => '/Elements/SelectCustomFieldValue',
+ Arguments => { CustomField => $CustomField },
+ };
push @lines, \%line;
}
diff --git a/rt/share/html/Search/Elements/PickCriteria b/rt/share/html/Search/Elements/PickCriteria
index b2e84ca..e55e270 100644
--- a/rt/share/html/Search/Elements/PickCriteria
+++ b/rt/share/html/Search/Elements/PickCriteria
@@ -54,6 +54,8 @@
<& PickBasics &>
<& PickCustomerFields &>
<& PickTicketCFs, queues => \%queues &>
+<& PickObjectCFs, Class => 'Transaction', queues => \%queues &>
+<& PickObjectCFs, Class => 'Queue', queues => \%queues &>
% $m->callback( %ARGS, CallbackName => "AfterCFs" );
<tr class="separator"><td colspan="3"><hr /></td></tr>
diff --git a/rt/share/html/Admin/Elements/PickObjects b/rt/share/html/Search/Elements/PickObjectCFs
index 6ab014c..1a67338 100644
--- a/rt/share/html/Admin/Elements/PickObjects
+++ b/rt/share/html/Search/Elements/PickObjectCFs
@@ -45,37 +45,32 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-% if (@Objects == 0) {
-<p><i><&|/l&>(None)</&></i></p>
-% } else {
-<table cellspacing="0" cellpadding="2">
-% my $count;
-% foreach my $Object (@Objects) {
-<tr>
-% my $id = "Object-".$Object->id."-CF-".$id;
-% if (!$ReadOnly) {
- <td valign="top">
-<input type="checkbox" id="<% $id %>" name="<% $id %>" value="1" <% $Checked ? 'checked="checked"' : ''%>
-/>
- </td>
-% }
- <td valign="top">
- <label for="<% $id %>">
-% if ($Object->Name) {
- <b><%$Object->Name%></b><br />
-% } else {
- <i>(<%loc("no name")%>)</i><br />
-% }
- <%$Object->can('Description') ? ($Object->Description||'') : '' %>
- </label>
+<%ARGS>
+$Class
+%queues => ()
+</%ARGS>
+<%init>
+my $CustomFields = RT::CustomFields->new( $session{'CurrentUser'} );
+$CustomFields->ApplySortOrder;
+$CustomFields->LimitToLookupType( "RT::$Class"->CustomFieldLookupType );
+$CustomFields->LimitToObjectId(0);
+
+foreach my $name (keys %queues) {
+ my $queue = RT::Queue->new($session{'CurrentUser'});
+ $queue->Load($name);
+ next unless $queue->Id;
+ $CustomFields->LimitToObjectId($queue->Id);
+ $CustomFields->SetContextObject( $queue ) if keys %queues == 1;
+}
+
+my $has_cf = $CustomFields->First ? 1 : 0;
+$CustomFields->GotoFirstItem;
+</%init>
+% if ($has_cf) {
+<tr class="separator">
+ <td colspan="3">
+ <hr><em><% loc("[_1] CFs", loc($Class)) %></em>
</td>
</tr>
% }
-</table>
-% }
-<%ARGS>
-@Objects
-$id
-$ReadOnly => 0
-$Checked => 0
-</%ARGS>
+<& PickCFs, %ARGS, TicketSQLField => "${Class}CF", CustomFields => $CustomFields &>
diff --git a/rt/share/html/Search/Elements/PickTicketCFs b/rt/share/html/Search/Elements/PickTicketCFs
index ac52049..ae3a4a2 100644
--- a/rt/share/html/Search/Elements/PickTicketCFs
+++ b/rt/share/html/Search/Elements/PickTicketCFs
@@ -54,8 +54,11 @@ foreach my $id (keys %queues) {
# Gotta load up the $queue object, since queues get stored by name now.
my $queue = RT::Queue->new($session{'CurrentUser'});
$queue->Load($id);
- $CustomFields->LimitToQueue($queue->Id) if $queue->Id;
+ next unless $queue->Id;
+ $CustomFields->LimitToQueue($queue->Id);
+ $CustomFields->SetContextObject( $queue ) if keys %queues == 1;
}
$CustomFields->LimitToGlobal;
+$CustomFields->OrderBy( FIELD => 'Name', ORDER => 'ASC' );
</%init>
<& PickCFs, %ARGS, TicketSQLField => 'CF', CustomFields => $CustomFields &>
diff --git a/rt/share/html/Search/Elements/ResultsRSSView b/rt/share/html/Search/Elements/ResultsRSSView
index 0bce7ec..f392369 100644
--- a/rt/share/html/Search/Elements/ResultsRSSView
+++ b/rt/share/html/Search/Elements/ResultsRSSView
@@ -46,41 +46,7 @@
%#
%# END BPS TAGGED BLOCK }}}
<%INIT>
-my $current_user = $session{CurrentUser};
-
-if ( $m->request_comp->path =~ RT->Config->Get('WebNoAuthRegex') ) {
- my $path = $m->dhandler_arg;
-
- my $notfound = sub {
- my $mesg = shift;
- $r->headers_out->{'Status'} = '404 Not Found';
- $RT::Logger->info("Error encountered in rss generation: $mesg");
- $m->clear_and_abort;
- };
-
- $notfound->("Invalid path: $path") unless $path =~ m!^([^/]+)/([^/]+)/?!;
-
- my ( $name, $auth ) = ( $1, $2 );
-
- # Unescape parts
- $name =~ s/\%([0-9a-z]{2})/chr(hex($1))/gei;
-
- # Decode from bytes to characters
- $name = Encode::decode( "UTF-8", $name );
-
- my $user = RT::User->new(RT->SystemUser);
- $user->Load($name);
- $notfound->("Invalid user: $user") unless $user->id;
-
- $notfound->("Invalid authstring")
- unless $user->ValidateAuthString( $auth,
- $ARGS{Query} . $ARGS{Order} . $ARGS{OrderBy} );
-
- $current_user = RT::CurrentUser->new;
- $current_user->Load($user);
-}
-
-my $Tickets = RT::Tickets->new($current_user);
+my $Tickets = RT::Tickets->new($session{'CurrentUser'});
$Tickets->FromSQL($ARGS{'Query'});
if ($OrderBy =~ /\|/) {
# Multiple Sorts
@@ -92,48 +58,58 @@ if ($OrderBy =~ /\|/) {
} else {
$Tickets->OrderBy(FIELD => $OrderBy, ORDER => $Order);
}
-$r->content_type('application/rss+xml');
-
-
+$r->content_type('application/rss+xml; charset=utf-8');
- # create an RSS 1.0 file (http://purl.org/rss/1.0/)
- use XML::RSS;
- my $rss = XML::RSS->new(version => '1.0');
- $rss->channel(
- title => RT->Config->Get('rtname').": Search " . $ARGS{'Query'},
- link => RT->Config->Get('WebURL'),
- description => "",
- dc => {
- },
- generator => "RT v" . $RT::VERSION,
- syn => {
- updatePeriod => "hourly",
- updateFrequency => "1",
- updateBase => "1901-01-01T00:00+00:00",
- },
- );
+use XML::RSS;
+my $rss = XML::RSS->new(version => '1.0');
+my $url;
+if ( RT->Config->Get('CanonicalizeURLsInFeeds') ) {
+ $url = RT->Config->Get('WebURL');
+} else {
+ $url = RT::Interface::Web::GetWebURLFromRequest();
+}
- while ( my $Ticket = $Tickets->Next()) {
- my $creator_str = $m->scomp('/Elements/ShowUser', User => $Ticket->CreatorObj);
- $creator_str =~ s/[\r\n]//g;
-
- # Get the plain-text content; it is interpreted as HTML by RSS
- # readers, so it must be escaped (and is escaped _again_ when
- # inserted into the XML).
- my $content = $Ticket->Transactions->First->Content;
- $content = $m->interp->apply_escapes( $content, 'h');
- $rss->add_item(
- title => $Ticket->Subject || loc('No Subject'),
- link => RT->Config->Get('WebURL')."Ticket/Display.html?id=".$Ticket->id,
- description => $content,
- dc => { creator => $creator_str,
- date => $Ticket->CreatedObj->RFC2822,
- },
- guid => $Ticket->Queue . '_' . $Ticket->id,
- );
- }
+my $base_date = RT::Date->new( RT->SystemUser );
+$base_date->SetToNow;
+$base_date->SetToMidnight;
+
+$rss->channel(
+ title => RT->Config->Get('rtname').": Search " . $ARGS{'Query'},
+ link => $url,
+ description => "",
+ dc => { },
+ generator => "RT v" . $RT::VERSION,
+ syn => {
+ updatePeriod => "hourly",
+ updateFrequency => "1",
+ updateBase => $base_date->W3CDTF,
+ },
+);
+
+
+while ( my $Ticket = $Tickets->Next()) {
+ my $creator_str = $Ticket->CreatorObj->Format;
+ $creator_str =~ s/[\r\n]//g;
+
+ # Get the plain-text content; it is interpreted as HTML by RSS
+ # readers, so it must be escaped (and is escaped _again_ when
+ # inserted into the XML).
+ my $content = $Ticket->Transactions->First->Content;
+ $content = $m->interp->apply_escapes( $content, 'h');
+
+ $rss->add_item(
+ title => $Ticket->Subject || loc('No Subject'),
+ link => $url . "Ticket/Display.html?id=".$Ticket->id,
+ description => $content,
+ dc => {
+ creator => $creator_str,
+ date => $Ticket->CreatedObj->W3CDTF,
+ },
+ guid => $Ticket->Queue . '_' . $Ticket->id,
+ );
+}
$m->out($rss->as_string);
$m->abort();
diff --git a/rt/share/html/Search/Elements/SearchPrivacy b/rt/share/html/Search/Elements/SearchPrivacy
index dd7ef3b..1e43dfd 100644
--- a/rt/share/html/Search/Elements/SearchPrivacy
+++ b/rt/share/html/Search/Elements/SearchPrivacy
@@ -53,9 +53,9 @@ my $label;
if (ref($Object) eq 'RT::User') {
$label = $Object->id == $session{'CurrentUser'}->Id
? loc("My saved searches")
- : loc("[_1]'s saved searches", $m->scomp('/Elements/ShowUser', User => $Object));
+ : loc("[_1]'s saved searches", $Object->Format);
} else {
- $label = loc("[_1]'s saved searches", $m->interp->apply_escapes($Object->Name, 'h'));
+ $label = loc("[_1]'s saved searches", $Object->Name);
}
</%init>
-<% $label |n %>\
+<% $label %>\
diff --git a/rt/share/html/Search/Elements/SearchesForObject b/rt/share/html/Search/Elements/SearchesForObject
index 397a0d9..f58752d 100644
--- a/rt/share/html/Search/Elements/SearchesForObject
+++ b/rt/share/html/Search/Elements/SearchesForObject
@@ -55,10 +55,10 @@ my @result;
while (my $search = $Object->Attributes->Next) {
my $desc;
if ($search->Name eq 'SavedSearch') {
- push @result, [$search->Description, $search->Description, $search];
+ push @result, [$search->Description, $search->Description, $search];
}
elsif ($search->Name =~ m/^Search - (.*)/) {
- push @result, [$1, loc($1), $search];
+ push @result, [$1, loc($1), $search];
}
}
return @result;
diff --git a/rt/share/html/Search/Elements/SelectAndOr b/rt/share/html/Search/Elements/SelectAndOr
index cbea34f..d506ef7 100644
--- a/rt/share/html/Search/Elements/SelectAndOr
+++ b/rt/share/html/Search/Elements/SelectAndOr
@@ -45,8 +45,8 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<input type="radio" class="radio" name="<%$Name%>" checked="checked" value="AND" /><&|/l&>AND</&>
-<input type="radio" class="radio" name="<%$Name%>" value="OR" /><&|/l&>OR</&>
+<label><input type="radio" class="radio" name="<%$Name%>" checked="checked" value="AND" /><&|/l&>AND</&></label>
+<label><input type="radio" class="radio" name="<%$Name%>" value="OR" /><&|/l&>OR</&></label>
<%ARGS>
$Name => "Operator"
diff --git a/rt/share/html/Elements/SelectTicketSortBy b/rt/share/html/Search/Elements/SelectChartFunction
index d06692a..dad6b78 100755..100644
--- a/rt/share/html/Elements/SelectTicketSortBy
+++ b/rt/share/html/Search/Elements/SelectChartFunction
@@ -45,18 +45,35 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>">
-% foreach my $field (@sortfields) {
-<option value="<%$field%>"<% $field eq $Default && qq[ selected="selected"] |n%>><% loc($field) %></option>
+<select name="<% $Name %>" class="cascade-by-optgroup">
+% if ( $ShowEmpty ) {
+<option value="">&nbsp;</option>
% }
-</select>
+<%perl>
+my $in_optgroup = "";
+while ( my ($value, $display) = splice @functions, 0, 2 ) {
+ my $optgroup = $value =~ /\((.+)\)$/ ? $1 : $display;
+ if ($in_optgroup ne $optgroup) {
+ $m->out("</optgroup>\n") if $in_optgroup;
-<%INIT>
-my $tickets = RT::Tickets->new($session{'CurrentUser'});
-my @sortfields = $tickets->SortFields();
+ my $name = $m->interp->apply_escapes(loc($optgroup), 'h');
+ $m->out(qq[<optgroup label="$name">\n]);
-</%INIT>
+ $in_optgroup = $optgroup;
+ }
+</%perl>
+<option value="<% $value %>"<% $value eq $Default ? qq[ selected="selected"] : '' |n %>><% loc( $display ) %></option>
+% }
+% if ($in_optgroup) {
+ </optgroup>
+% }
+</select>
<%ARGS>
-$Name => 'SortTicketsBy'
-$Default => 'id'
+$Name => 'ChartFunction'
+$Default => 'COUNT'
+$ShowEmpty => 0
</%ARGS>
+<%INIT>
+my @functions = RT::Report::Tickets->Statistics;
+$Default = '' unless defined $Default;
+</%INIT>
diff --git a/rt/share/html/Search/Elements/SelectChartType b/rt/share/html/Search/Elements/SelectChartType
index 266885f..c4d95d0 100644
--- a/rt/share/html/Search/Elements/SelectChartType
+++ b/rt/share/html/Search/Elements/SelectChartType
@@ -50,9 +50,10 @@ $Name => 'ChartType'
$Default => 'bar'
</%args>
<select id="<%$Name%>" name="<%$Name%>">
-% foreach my $option (qw(bar pie)) {
+% foreach my $option ('bar', 'pie', 'table') {
% # 'bar' # loc
% # 'pie' # loc
+% # 'table' # loc
<option value="<%$option%>"<% $option eq $Default ? qq[ selected="selected"] : '' |n %>><%loc($option)%></option>
% }
</select>
diff --git a/rt/share/html/Search/Elements/SelectGroup b/rt/share/html/Search/Elements/SelectGroup
index 907c88e..27d6a76 100644
--- a/rt/share/html/Search/Elements/SelectGroup
+++ b/rt/share/html/Search/Elements/SelectGroup
@@ -56,7 +56,7 @@
<%INIT>
my $groups = RT::Groups->new($session{'CurrentUser'});
-$groups->Limit(FIELD => 'Domain', OPERATOR => '=', VALUE => $Domain);
+$groups->Limit(FIELD => 'Domain', OPERATOR => '=', VALUE => $Domain, CASESENSITIVE => 0);
</%INIT>
<%ARGS>
diff --git a/rt/share/html/Search/Elements/SelectGroupBy b/rt/share/html/Search/Elements/SelectGroupBy
index 8daab6d..99f0f47 100644
--- a/rt/share/html/Search/Elements/SelectGroupBy
+++ b/rt/share/html/Search/Elements/SelectGroupBy
@@ -49,11 +49,29 @@
$Name => 'GroupBy'
$Default => 'Status'
$Query => ''
+$ShowEmpty => 0
</%args>
-<select id="<% $Name %>" name="<% $Name %>">
-% while (@options) {
-% my ($text, $value) = (shift @options, shift @options);
-<option value="<% $value %>" <% $value eq $Default ? 'selected="selected"' : '' |n%>><% $text %></option>
+<select name="<% $Name %>" class="cascade-by-optgroup">
+% if ( $ShowEmpty ) {
+<option value="">&nbsp;</option>
+% }
+<%perl>
+my $in_optgroup = "";
+while ( my ($label, $value) = splice @options, 0, 2 ) {
+ my ($optgroup, $text) = @$label;
+ if ($in_optgroup ne $optgroup) {
+ $m->out("</optgroup>\n") if $in_optgroup;
+
+ my $name = $m->interp->apply_escapes(loc($optgroup), 'h');
+ $m->out(qq[<optgroup label="$name">\n]);
+
+ $in_optgroup = $optgroup;
+ }
+</%perl>
+<option value="<% $value %>" <% $value eq ($Default||'') ? 'selected="selected"' : '' |n %>><% loc($text) %></option>
+% }
+% if ($in_optgroup) {
+ </optgroup>
% }
</select>
<%init>
diff --git a/rt/share/html/Search/Elements/SelectLinks b/rt/share/html/Search/Elements/SelectLinks
index 3759a58..1b85094 100644
--- a/rt/share/html/Search/Elements/SelectLinks
+++ b/rt/share/html/Search/Elements/SelectLinks
@@ -47,7 +47,7 @@
%# END BPS TAGGED BLOCK }}}
<select name="<%$Name%>">
% foreach (@fields) {
-<option value="<%$_%>"><% loc($_) %></option>
+<option value="<%$_->[0]%>"><% $_->[1] %></option>
% }
</select>
<%ARGS>
@@ -55,12 +55,13 @@ $Name => 'LinksField'
</%ARGS>
<%INIT>
-my @fields = ('HasMember',
- 'MemberOf',
- 'DependsOn',
- 'DependedOnBy',
- 'RefersTo',
- 'ReferredToBy',
- 'LinkedTo',
- );
+my @fields = (
+ [ HasMember => loc("Child") ],
+ [ MemberOf => loc("Parent") ],
+ [ DependsOn => loc("Depends on") ],
+ [ DependedOnBy => loc("Depended on by") ],
+ [ RefersTo => loc("Refers to") ],
+ [ ReferredToBy => loc("Referred to by") ],
+ [ LinkedTo => loc("Links to") ],
+);
</%INIT>
diff --git a/rt/share/html/Search/Elements/SelectPersonType b/rt/share/html/Search/Elements/SelectPersonType
index 7ec875a..0fc541b 100644
--- a/rt/share/html/Search/Elements/SelectPersonType
+++ b/rt/share/html/Search/Elements/SelectPersonType
@@ -51,7 +51,7 @@
% }
% for my $option (@types) {
% if ($Suffix) {
-<option value="<% $option %><% $Suffix %>"<%$option eq $Default && qq[ selected="selected"] |n %> ><%loc($option)%></option>
+<option value="<% $option %><% $Suffix %>"<%$option eq $Default && qq[ selected="selected"] |n %> ><% loc($option) %> <% loc('Group') %></option>
% next;
% }
% foreach my $subtype (@subtypes) {
@@ -66,7 +66,7 @@ if ($Scope =~ /queue/) {
@types = qw(Cc AdminCc);
}
elsif ($Suffix eq 'Group') {
- @types = qw(Requestor Cc AdminCc Watcher);
+ @types = qw(Owner Requestor Cc AdminCc Watcher);
}
else {
@types = qw(Requestor Cc AdminCc Watcher Owner QueueCc QueueAdminCc QueueWatcher);
diff --git a/rt/share/html/Search/Graph.html b/rt/share/html/Search/Graph.html
deleted file mode 100644
index 185278a..0000000
--- a/rt/share/html/Search/Graph.html
+++ /dev/null
@@ -1,50 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<%INIT>
-return $m->comp('/Ticket/Graphs/index.html', %ARGS );
-</%INIT>
diff --git a/rt/share/html/Search/Results.html b/rt/share/html/Search/Results.html
index 6125c36..b6b3379 100755
--- a/rt/share/html/Search/Results.html
+++ b/rt/share/html/Search/Results.html
@@ -50,11 +50,12 @@
LinkRel => \%link_rel &>
<& /Elements/Tabs &>
-% $m->callback( ARGSRef => \%ARGS, CallbackName => 'BeforeResults' );
+% my $DisplayFormat;
+% $m->callback( ARGSRef => \%ARGS, Format => \$Format, DisplayFormat => \$DisplayFormat, CallbackName => 'BeforeResults' );
% unless ($ok) {
% $msg =~ s{ at .*? line .*}{}s;
-<&| /Widgets/TitleBox, title => loc("Error"), class => "error" &>
+<&| /Widgets/TitleBox, title => loc("Error"), class => "error-titlebox" &>
<&|/l_unsafe, "<i>".$m->interp->apply_escapes($msg, "h")."</i>" &>There was an error parsing your search query: [_1]. Your RT admin can find more information in the error logs.</&>
</&>
% } else {
@@ -68,10 +69,13 @@
Rows => $Rows,
Page => $Page,
Format => $Format,
+ DisplayFormat => $DisplayFormat, # in case we set it in callbacks
Class => 'RT::Tickets',
- BaseURL => $BaseURL
-
- &>
+ BaseURL => $BaseURL,
+ SavedSearchId => $ARGS{'SavedSearchId'},
+ SavedChartSearchId => $ARGS{'SavedChartSearchId'},
+ PassArguments => [qw(Query Format Rows Page Order OrderBy SavedSearchId SavedChartSearchId)],
+&>
% }
% $m->callback( ARGSRef => \%ARGS, CallbackName => 'AfterResults' );
@@ -94,8 +98,8 @@ my $prefs = $session{'CurrentUser'}->UserObj->Preferences("SearchDisplay") || {}
# These variables are what define a search_hash; this is also
# where we give sane defaults.
$Format ||= $prefs->{'Format'} || RT->Config->Get('DefaultSearchResultFormat');
-$Order ||= $prefs->{'Order'} || 'ASC';
-$OrderBy ||= $prefs->{'OrderBy'} || 'id';
+$Order ||= $prefs->{'Order'} || RT->Config->Get('DefaultSearchResultOrder');
+$OrderBy ||= $prefs->{'OrderBy'} || RT->Config->Get('DefaultSearchResultOrderBy');
# Some forms pass in "RowsPerPage" rather than "Rows"
# We call it RowsPerPage everywhere else.
@@ -140,10 +144,10 @@ $session{'CurrentSearchHash'} = {
};
-my ($title, $ticketcount) = (loc("Found tickets"), 0);
+my ($title, $ticketcount) = (loc("Find tickets"), 0);
if ( $session{'tickets'}->Query()) {
$ticketcount = $session{tickets}->CountAll();
- $title = loc('Found [quant,_1,ticket]', $ticketcount);
+ $title = loc('Found [quant,_1,ticket,tickets]', $ticketcount);
}
my $QueryString = "?".$m->comp('/Elements/QueryString',
@@ -156,7 +160,7 @@ my $QueryString = "?".$m->comp('/Elements/QueryString',
my $ShortQueryString = "?".$m->comp('/Elements/QueryString', Query => $Query);
if ($ARGS{'TicketsRefreshInterval'}) {
- $session{'tickets_refresh_interval'} = $ARGS{'TicketsRefreshInterval'};
+ $session{'tickets_refresh_interval'} = $ARGS{'TicketsRefreshInterval'};
}
my $refresh = $session{'tickets_refresh_interval'}
diff --git a/rt/share/html/Search/Results.tsv b/rt/share/html/Search/Results.tsv
index b28ea48..1e45a33 100644
--- a/rt/share/html/Search/Results.tsv
+++ b/rt/share/html/Search/Results.tsv
@@ -54,56 +54,8 @@ $PreserveNewLines => 0
</%ARGS>
<%INIT>
-$r->content_type('text/tab-separated-values');
$r->header_out('Content-Disposition' => 'attachment;filename="Results.tsv"');
-my $DisplayFormat = $m->comp('/Elements/ScrubHTML', Content => $Format);
-
-my @Format = $m->comp('/Elements/CollectionAsTable/ParseFormat', Format => $DisplayFormat);
-
-my @columns;
-
-my $should_loc = { map { $_ => 1 } qw(Status) };
-
-my $col_entry = sub {
- my $col = shift;
- # in tsv output, "#" is often a comment character but we use it for "id"
- delete $col->{title}
- if $col->{title} and $col->{title} =~ /^\s*#\s*$/;
- return {
- header => loc($col->{title} || $col->{attribute}),
- map => $m->comp(
- "/Elements/ColumnMap",
- Name => $col->{attribute},
- Attr => 'value'
- ),
- should_loc => $should_loc->{$col->{attribute}},
- }
-};
-
-if ($PreserveNewLines) {
- my $col = [];
- push @columns, $col;
- for (@Format) {
- if ($_->{title} eq 'NEWLINE') {
- $col = [];
- push @columns, $col;
- }
- else {
- push @$col, $col_entry->($_);
- }
- }
-}
-else {
- push @columns, [map { $_->{attribute}
- ? $col_entry->($_)
- : () } @Format];
-}
-
-for (@columns) {
- $m->out(join("\t", map { $_->{header} } @$_)."\n");
-}
-
my $Tickets = RT::Tickets->new( $session{'CurrentUser'} );
$Tickets->FromSQL( $Query );
if ( $OrderBy =~ /\|/ ) {
@@ -119,21 +71,5 @@ else {
$Tickets->OrderBy( FIELD => $OrderBy, ORDER => $Order );
}
-my $i = 0;
-my $ii = 0;
-while (my $row = $Tickets->Next) {
- for my $col (@columns) {
- $m->out(join("\t", map {
- my $val = ProcessColumnMapValue($_->{map}, Arguments => [$row, $ii++], Escape => 0);
- $val = loc($val) if $_->{should_loc};
- # remove tabs from all field values, they screw up the tsv
- $val = '' unless defined $val;
- $val =~ s/(?:\n|\r)//g; $val =~ s{\t}{ }g;
- $val;
- } @$col)."\n");
- }
- $m->flush_buffer unless ++$i % 10;
-}
-$m->abort();
-
+$m->comp( "/Elements/TSVExport", Collection => $Tickets, Format => $Format, PreserveNewLines => $PreserveNewLines );
</%INIT>
diff --git a/rt/share/html/Search/Simple.html b/rt/share/html/Search/Simple.html
index fbbffde..f65ad5d 100644
--- a/rt/share/html/Search/Simple.html
+++ b/rt/share/html/Search/Simple.html
@@ -98,7 +98,7 @@
<%INIT>
my $title = loc("Search for tickets");
-use RT::Search::Googleish;
+use RT::Search::Simple;
if ($q) {
my $tickets = RT::Tickets->new( $session{'CurrentUser'} );
@@ -115,7 +115,7 @@ if ($q) {
$m->callback( %ARGS, CallbackName => 'SearchArgs', args => \%args);
- my $search = RT::Search::Googleish->new(%args);
+ my $search = RT::Search::Simple->new(%args);
$m->comp( "Results.html", Query => $search->QueryToSQL() );
$m->comp( "/Elements/Footer" );
diff --git a/rt/share/html/Search/index.html b/rt/share/html/Search/index.html
new file mode 100644
index 0000000..ffb7a5b
--- /dev/null
+++ b/rt/share/html/Search/index.html
@@ -0,0 +1,50 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<& /Admin/Elements/Header, Title => loc('Searches') &>
+<& /Elements/Tabs &>
+<& /Elements/ListMenu, menu => Menu()->child('search'), show_children => 1 &>
diff --git a/rt/share/html/SelfService/Closed.html b/rt/share/html/SelfService/Closed.html
index bfdc1db..803772a 100755
--- a/rt/share/html/SelfService/Closed.html
+++ b/rt/share/html/SelfService/Closed.html
@@ -50,9 +50,9 @@
<& /SelfService/Elements/MyRequests,
%ARGS,
status => [ RT::Queue->InactiveStatusArray ],
- friendly_status => loc('closed'),
- BaseURL => RT->Config->Get('WebPath') ."/SelfService/Closed.html?",
- Page => $Page,
+ title => loc('My closed tickets'),
+ BaseURL => RT->Config->Get('WebPath') ."/SelfService/Closed.html?",
+ Page => $Page,
&>
<%ARGS>
diff --git a/rt/share/html/SelfService/Create.html b/rt/share/html/SelfService/Create.html
index 9784917..18b970b 100755
--- a/rt/share/html/SelfService/Create.html
+++ b/rt/share/html/SelfService/Create.html
@@ -48,8 +48,12 @@
<& Elements/Header, Title => loc("Create a ticket") &>
<& /Elements/ListActions, actions => \@results &>
-<form action="Create.html" method="post" enctype="multipart/form-data">
+<form action="Create.html" method="post" enctype="multipart/form-data" name="TicketCreate">
<input type="hidden" class="hidden" name="id" value="new" />
+<input type="hidden" class="hidden" name="Token" value="<% $ARGS{'Token'} %>" />
+% for my $key (grep {defined $ARGS{$_}} map {+("new-$_", "$_-new")} keys %RT::Link::DIRMAP) {
+<input type="hidden" class="hidden" name="<% $key %>" value="<% $ARGS{$key} %>" />
+% }
<table width="100%">
<tr>
@@ -67,7 +71,7 @@
<&|/l&>Requestors</&>:
</td>
<td class="value">
-<& /Elements/EmailInput, Name => 'Requestors', Size => '20', Default => $ARGS{Requestors} || $session{CurrentUser}->EmailAddress &>
+<& /Elements/EmailInput, Name => 'Requestors', Size => '20', Default => $ARGS{Requestors} || $session{CurrentUser}->EmailAddress, AutocompleteMultiple => 1 &>
</td>
</tr>
<tr>
@@ -88,7 +92,12 @@
</tr>
<tr>
<td colspan="2">
- <& /Ticket/Elements/EditCustomFields, %ARGS, QueueObj => $queue_obj &>
+ <& /Elements/EditCustomFields,
+ %ARGS,
+ Object => RT::Ticket->new($session{CurrentUser}),
+ CustomFields => $queue_obj->TicketCustomFields,
+ AsTable => 0,
+ &>
</td>
</tr>
<& /Ticket/Elements/AddAttachments, %ARGS, QueueObj => $queue_obj &>
@@ -112,31 +121,31 @@ $Queue => undef
my @results;
my $queue_obj = RT::Queue->new($session{'CurrentUser'});
$queue_obj->Load($Queue);
-my $CFs = $queue_obj->TicketCustomFields();
-my $ValidCFs = $m->comp(
- '/Elements/ValidateCustomFields',
- CustomFields => $CFs,
- ARGSRef => \%ARGS
-);
ProcessAttachments(ARGSRef => \%ARGS);
my $skip_create = 0;
+
+{
+ my ($status, @msg) = $m->comp(
+ '/Elements/ValidateCustomFields',
+ CustomFields => $queue_obj->TicketCustomFields,
+ ARGSRef => \%ARGS
+ );
+ unless ($status) {
+ push @results, @msg;
+ $skip_create = 1;
+ }
+}
+
$m->callback( CallbackName => 'BeforeCreate', ARGSRef => \%ARGS, skip_create => \$skip_create, results => \@results );
if ( !exists $ARGS{'AddMoreAttach'} and defined($ARGS{'id'}) and $ARGS{'id'} eq 'new' ) { # new ticket?
- if ( $ValidCFs && !$skip_create ) {
+ if ( !$skip_create ) {
$m->comp('Display.html', %ARGS);
$RT::Logger->crit("After display call; error is $@");
$m->abort();
}
- elsif ( !$ValidCFs ) {
- # Invalid CFs
- while (my $CF = $CFs->Next) {
- my $msg = $m->notes('InvalidField-' . $CF->Id) or next;
- push @results, $CF->Name . ': ' . $msg;
- }
- }
}
</%init>
diff --git a/rt/share/html/SelfService/Display.html b/rt/share/html/SelfService/Display.html
index 3d4c4e4..9a115eb 100755
--- a/rt/share/html/SelfService/Display.html
+++ b/rt/share/html/SelfService/Display.html
@@ -52,20 +52,27 @@
<& /Elements/ListActions, actions => \@results &>
<& /Ticket/Elements/ShowUpdateStatus, Ticket => $Ticket &>
- <table width="100%" class="ticketsummary" >
+ <table width="100%" class="ticket-summary" >
<tr>
<td valign="top" width="50%" class="boxcontainer">
<&| /Widgets/TitleBox, title => loc('The Basics'),
+ class => 'ticket-info-basics',
($LinkBasicsTitle ? (title_href => $title_box_link) : ()),
title_class=> 'inverse',
color => "#993333" &>
- <& /Ticket/Elements/ShowBasics, Ticket => $Ticket &>
- <& /Ticket/Elements/ShowCustomFields, Ticket => $Ticket &>
+ <& /Ticket/Elements/ShowBasics, Ticket => $Ticket, UngroupedCFs => 1 &>
</&>
+
+ <& /Elements/ShowCustomFieldCustomGroupings,
+ Object => $Ticket,
+ title_href => ($LinkBasicsTitle ? RT->Config->Get('WebPath')."/SelfService/Update.html" : "" ),
+ Groupings => [ grep {$_ !~ /^(Basics|Dates)$/} RT::CustomField->Groupings( "RT::Ticket" ) ],
+ &>
</td>
<td valign="top" width="50%" class="boxcontainer">
<&| /Widgets/TitleBox, title => loc("Dates"),
- title_class=> 'inverse',
+ class => 'ticket-info-dates',
+ title_class=> 'inverse',
color => "#663366" &>
<& /Ticket/Elements/ShowDates, Ticket => $Ticket, UpdatedLink => 0 &>
</&>
@@ -73,16 +80,12 @@
</tr>
</table>
+% $m->callback(CallbackName => 'BeforeShowHistory', ARGSRef=> \%ARGS, Ticket => $Ticket );
-
-<& /Ticket/Elements/ShowHistory,
- Ticket => $Ticket,
- URIFile => "Display.html",
+<& /Elements/ShowHistory,
+ Object => $Ticket,
ShowHeaders => $ARGS{'ShowHeaders'},
DownloadableHeaders => 0,
- AttachPath => "Attachment",
- Attachments => $attachments,
- UpdatePath => "Update.html"
&>
@@ -101,108 +104,66 @@ my @id = ( ref $id eq 'ARRAY' ) ? @{$id} : ($id);
my $Ticket = RT::Ticket->new( $session{'CurrentUser'} );
-if ( defined ($id[0]) && $id[0] eq 'new' ) {
-
- # {{{ Create a new ticket
+if ( ($id[0]||'') eq 'new' ) {
my $Queue = RT::Queue->new( $session{'CurrentUser'} );
- unless ( $Queue->Load( $ARGS{'Queue'} ) ) {
- $m->comp( 'Error.html', Why => loc('Queue not found') );
- $m->abort;
- }
+ Abort( loc('Queue not found') ) unless $Queue->Load( $ARGS{'Queue'} );
- unless ( $Queue->CurrentUserHasRight('CreateTicket') ) {
- $m->comp( 'Error.html',
- Why =>
- loc('You have no permission to create tickets in that queue.') );
- $m->abort;
- }
+ Abort( loc('You have no permission to create tickets in that queue.') )
+ unless $Queue->CurrentUserHasRight('CreateTicket');
+ ( $Ticket, @results ) = CreateTicket( %ARGS );
- ( $Ticket, @results ) =
- CreateTicket( Attachments => delete $session{'Attachments'}, %ARGS );
+ Abort( join("\n", @results ) ) unless $Ticket->id;
+
+}
+else {
+ $Ticket = LoadTicket($ARGS{'id'});
- unless ( $Ticket->id ) {
- $m->comp( 'Error.html', Why => join( "\n", @results ));
- $m->abort();
- }
- }
- else {
- unless ( $Ticket->Load( $id[0] ) ) {
- $m->comp( 'Error.html',
- Why => loc( "Couldn't load ticket '[_1]'", $id ) );
- $m->abort();
- }
-
- my ( $code, $msg );
-
-
- if (
- $session{'Attachments'}
- || ( defined $ARGS{'UpdateContent'}
- && $ARGS{'UpdateContent'} ne ''
- && $ARGS{'UpdateContent'} ne "-- \n"
- . $session{'CurrentUser'}->UserObj->Signature )
- )
- {
- $ARGS{UpdateAttachments} = $session{'Attachments'};
- }
push @results, ProcessUpdateMessage(
ARGSRef => \%ARGS,
TicketObj => $Ticket
);
- delete $session{'Attachments'};
my @cfupdates = ProcessObjectCustomFieldUpdates(Object => $Ticket, ARGSRef => \%ARGS);
push (@results, @cfupdates);
-
#Update the status
if ( ( defined $ARGS{'Status'} )
and $ARGS{'Status'}
and ( $ARGS{'Status'} ne $Ticket->Status ) )
{
- ( $code, $msg ) = $Ticket->SetStatus( $ARGS{'Status'} );
+ my ($code, $msg) = $Ticket->SetStatus( $ARGS{'Status'} );
push @results, "$msg";
}
+}
- }
+# This code does automatic redirection if any updates happen.
- # This code does automatic redirection if any updates happen.
+unless ( $Ticket->CurrentUserHasRight('ShowTicket') ) {
+ Abort( loc("No permission to display that ticket") );
+}
- unless ( $Ticket->CurrentUserHasRight('ShowTicket') ) {
- $m->comp( 'Error.html',
- Why => loc("No permission to display that ticket") );
- # XXX: Why abort? then we loose footer //ruz
- $m->abort();
- }
-
- if ( $ARGS{'MarkAsSeen'} ) {
- $Ticket->SetAttribute(
- Name => 'User-'. $Ticket->CurrentUser->id .'-SeenUpTo',
- Content => $Ticket->LastUpdated,
- );
- push @results, loc('Marked all messages as seen');
- }
-
- # This code does automatic redirection if any updates happen.
- MaybeRedirectForResults(
- Actions => \@results,
- Path => '/SelfService/Display.html',
- Anchor => $ARGS{'Anchor'},
- Arguments => { id => $Ticket->id },
+if ( $ARGS{'MarkAsSeen'} ) {
+ $Ticket->SetAttribute(
+ Name => 'User-'. $Ticket->CurrentUser->id .'-SeenUpTo',
+ Content => $Ticket->LastUpdated,
);
-
- my $Transactions = $Ticket->Transactions;
-
- my $attachments =
- $m->comp( '/Ticket/Elements/FindAttachments', Ticket => $Ticket );
-
- my $LinkBasicsTitle = $Ticket->CurrentUserHasRight('ModifyTicket')
- || $Ticket->CurrentUserHasRight('ReplyToTicket');
- my $title_box_link = RT->Config->Get('WebPath')."/SelfService/Update.html?id=".$Ticket->Id;
- $m->callback(CallbackName => 'BeforeDisplay', Ticket => \$Ticket, ARGSRef => \%ARGS, title_box_link => \$title_box_link);
+ push @results, loc('Marked all messages as seen');
+}
+
+MaybeRedirectForResults(
+ Actions => \@results,
+ Path => '/SelfService/Display.html',
+ Anchor => $ARGS{'Anchor'},
+ Arguments => { 'id' => $Ticket->id },
+);
+
+my $LinkBasicsTitle = $Ticket->CurrentUserHasRight('ModifyTicket')
+ || $Ticket->CurrentUserHasRight('ReplyToTicket');
+my $title_box_link = RT->Config->Get('WebPath')."/SelfService/Update.html?id=".$Ticket->Id;
+$m->callback(CallbackName => 'BeforeDisplay', Ticket => \$Ticket, ARGSRef => \%ARGS, title_box_link => \$title_box_link);
</%INIT>
diff --git a/rt/share/html/SelfService/Elements/MyRequests b/rt/share/html/SelfService/Elements/MyRequests
index b9fdcf1..107240dce 100755
--- a/rt/share/html/SelfService/Elements/MyRequests
+++ b/rt/share/html/SelfService/Elements/MyRequests
@@ -47,19 +47,19 @@
%# END BPS TAGGED BLOCK }}}
<&| /Widgets/TitleBox, title => $title &>
<& /Elements/CollectionList, Title => $title,
- Format => $Format,
- Query => $Query,
- Order => @Order,
- OrderBy => @OrderBy,
- BaseURL => $BaseURL,
- AllowSorting => 1,
- Class => 'RT::Tickets',
- Rows => $Rows,
- Page => $Page &>
+ Format => $Format,
+ Query => $Query,
+ Order => @Order,
+ OrderBy => @OrderBy,
+ BaseURL => $BaseURL,
+ AllowSorting => 1,
+ Class => 'RT::Tickets',
+ Rows => $Rows,
+ Page => $Page &>
</&>
<%INIT>
-my $title = loc("My [_1] tickets", $friendly_status);
+$title ||= loc("My [_1] tickets", $friendly_status);
my $id = $session{'CurrentUser'}->id;
my $Query = "( Watcher.id = $id )";
if ( @status ) {
@@ -69,6 +69,7 @@ if ( @status ) {
my $Format = RT->Config->Get('DefaultSelfServiceSearchResultFormat');
</%INIT>
<%ARGS>
+$title => undef
$friendly_status => loc('open')
@status => ()
$BaseURL => undef
diff --git a/rt/share/html/Elements/MyTickets b/rt/share/html/SelfService/Helpers/Autocomplete/CustomFieldValues
index 583d17d..be0c96b 100755..100644
--- a/rt/share/html/Elements/MyTickets
+++ b/rt/share/html/SelfService/Helpers/Autocomplete/CustomFieldValues
@@ -45,5 +45,4 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-%# DEPRECATED
-<& /Elements/ShowSearch, Name => 'My Tickets' &>
+% $m->comp('/Helpers/Autocomplete/CustomFieldValues', %ARGS);
diff --git a/rt/share/html/NoAuth/css/base/jquery-ui.css b/rt/share/html/SelfService/Helpers/Autocomplete/Users
index a9ba81c..bfe4ef0 100644
--- a/rt/share/html/NoAuth/css/base/jquery-ui.css
+++ b/rt/share/html/SelfService/Helpers/Autocomplete/Users
@@ -45,4 +45,4 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-@import "jquery-ui.custom.modified.css";
+% $m->comp('/Helpers/Autocomplete/Users', %ARGS);
diff --git a/rt/share/html/SelfService/Prefs.html b/rt/share/html/SelfService/Prefs.html
index 6284a88..6207a3b 100755
--- a/rt/share/html/SelfService/Prefs.html
+++ b/rt/share/html/SelfService/Prefs.html
@@ -77,7 +77,7 @@
</td></tr></table>
<br />
<& /Elements/Submit, Label => loc('Save Changes') &>
- </form>
+</form>
<%INIT>
@@ -120,8 +120,8 @@ if ( $Lang ) {
if ($Signature) {
$Signature =~ s/(\r\n|\r)/\n/g;
if ($Signature ne $user->Signature) {
- my ($val, $msg) = $user->SetSignature($Signature);
- push (@results, "Signature: ".$msg);
+ my ($val, $msg) = $user->SetSignature($Signature);
+ push (@results, "Signature: ".$msg);
}
}
diff --git a/rt/share/html/SelfService/Update.html b/rt/share/html/SelfService/Update.html
index 3bbf109..9cc80b7 100755
--- a/rt/share/html/SelfService/Update.html
+++ b/rt/share/html/SelfService/Update.html
@@ -51,17 +51,21 @@
% $m->callback(CallbackName => 'BeforeForm', %ARGS, ARGSRef => \%ARGS, Ticket => $Ticket );
-<form action="Update.html" method="post" enctype="multipart/form-data">
+<form action="Update.html" method="post" enctype="multipart/form-data" name="TicketUpdate">
<input type="hidden" class="hidden" name="QuoteTransaction" value="<% $ARGS{QuoteTransaction}||'' %>" />
<input type="hidden" class="hidden" name="UpdateType" value="response" />
<input type="hidden" class="hidden" name="id" value="<%$Ticket->Id%>" />
+<input type="hidden" class="hidden" name="Token" value="<% $ARGS{'Token'} %>" />
<table width="100%">
<tr>
<td class="label">
<&|/l&>Status</&>
</td>
<td class="value">
- <& /Elements/SelectStatus, Name => "Status", TicketObj => $Ticket, DefaultLabel => loc("[_1] (Unchanged)", loc($Ticket->Status)), Default => $ARGS{'Status'} || ($Ticket->Status eq $DefaultStatus ? undef : $DefaultStatus)&>
+ <& /Ticket/Elements/SelectStatus,
+ Name => "Status",
+ TicketObj => $Ticket,
+ Default => $DefaultStatus &>
</td>
</tr>
<tr>
@@ -74,7 +78,7 @@
</tr>
<& /Ticket/Elements/AddAttachments, %ARGS, TicketObj => $Ticket &>
- <tr><td colspan="2"><& /Ticket/Elements/EditCustomFields, TicketObj => $Ticket &></td></tr>
+ <tr><td colspan="2"><& /Elements/EditCustomFields, Object => $Ticket, AsTable => 0 &></td></tr>
</table>
% if (exists $ARGS{UpdateContent}) {
% # preserve QuoteTransaction so we can use it to set up sane references/in/reply to
diff --git a/rt/share/html/SelfService/index.html b/rt/share/html/SelfService/index.html
index f002a68..4f0f6d8 100755
--- a/rt/share/html/SelfService/index.html
+++ b/rt/share/html/SelfService/index.html
@@ -49,7 +49,7 @@
<& /SelfService/Elements/MyRequests,
%ARGS,
status => [ RT::Queue->ActiveStatusArray() ],
- friendly_status => loc('open'),
+ title => loc('My open tickets'),
BaseURL => RT->Config->Get('WebPath') ."/SelfService/?",
Page => $Page,
&>
diff --git a/rt/share/html/Ticket/Attachment/dhandler b/rt/share/html/Ticket/Attachment/dhandler
index a43eba7..134ecd6 100755
--- a/rt/share/html/Ticket/Attachment/dhandler
+++ b/rt/share/html/Ticket/Attachment/dhandler
@@ -46,52 +46,61 @@
%#
%# END BPS TAGGED BLOCK }}}
<%perl>
- my ($ticket, $trans,$attach, $filename);
- my $arg = $m->dhandler_arg; # get rest of path
- if ($arg =~ m{^(\d+)/(\d+)}) {
- $trans = $1;
- $attach = $2;
- }
- else {
- Abort("Corrupted attachment URL.");
- }
- my $AttachmentObj = RT::Attachment->new($session{'CurrentUser'});
- $AttachmentObj->Load($attach) || Abort("Attachment '$attach' could not be loaded");
+my ( $ticket, $trans, $attach, $filename );
+my $arg = $m->dhandler_arg; # get rest of path
+if ( $arg =~ m{^(\d+)/(\d+)} ) {
+ $trans = $1;
+ $attach = $2;
+}
+else {
+ Abort("Corrupted attachment URL.");
+}
+my $AttachmentObj = RT::Attachment->new( $session{'CurrentUser'} );
+$AttachmentObj->Load($attach) || Abort("Attachment '$attach' could not be loaded");
+unless ( $AttachmentObj->id ) {
+ Abort("Bad attachment id. Couldn't find attachment '$attach'\n");
+}
+unless ( $AttachmentObj->TransactionId() == $trans ) {
+ Abort("Bad transaction number for attachment. $trans should be". $AttachmentObj->TransactionId() . "\n");
+}
- unless ($AttachmentObj->id) {
- Abort("Bad attachment id. Couldn't find attachment '$attach'\n");
- }
- unless ($AttachmentObj->TransactionId() == $trans ) {
- Abort("Bad transaction number for attachment. $trans should be".$AttachmentObj->TransactionId() ."\n");
+my $content = $AttachmentObj->OriginalContent;
+my $content_type = $AttachmentObj->ContentType || 'text/plain';
- }
+if ( RT->Config->Get('AlwaysDownloadAttachments') ) {
+ $r->headers_out->{'Content-Disposition'} = "attachment";
+}
+elsif ( !RT->Config->Get('TrustHTMLAttachments') ) {
+ $content_type = 'text/plain' if ( $content_type =~ /^text\/html/i );
+}
+elsif (lc $content_type eq 'text/html') {
+ # If we're trusting and serving HTML for display not download, try to do
+ # inline <img> rewriting to be extra helpful.
+ my $count = RT::Interface::Web::RewriteInlineImages(
+ Content => \$content,
+ Attachment => $AttachmentObj,
+ );
+ RT->Logger->debug("Rewrote $count CID images when displaying original HTML attachment #$attach");
+}
- my $content_type = $AttachmentObj->ContentType || 'text/plain';
+my $enc = $AttachmentObj->OriginalEncoding || 'utf-8';
+my $iana = Encode::find_encoding($enc);
+ $iana = $iana ? $iana->mime_name : $enc;
- if (RT->Config->Get('AlwaysDownloadAttachments')) {
- $r->headers_out->{'Content-Disposition'} = "attachment";
- }
- elsif (!RT->Config->Get('TrustHTMLAttachments')) {
- $content_type = 'text/plain' if ($content_type =~ /^text\/html/i);
- }
+require MIME::Types;
+my $mimetype = MIME::Types->new->type($content_type);
+unless ( $mimetype && $mimetype->isBinary ) {
+ $content_type .= ";charset=$iana";
+}
- my $enc = $AttachmentObj->OriginalEncoding || 'utf-8';
- my $iana = Encode::find_encoding( $enc );
- $iana = $iana? $iana->mime_name : $enc;
-
- require MIME::Types;
- my $mimetype = MIME::Types->new->type($content_type);
- unless ( $mimetype && $mimetype->isBinary ) {
- $content_type .= ";charset=$iana";
- }
-
- $r->subprocess_env('no-gzip' => 1); # disable mod_deflate
- $r->content_type( $content_type );
- $m->clear_buffer();
- $m->out($AttachmentObj->OriginalContent);
- $m->abort;
+$r->subprocess_env('no-gzip' => 1); # disable mod_deflate
+$r->content_type($content_type);
+$m->clear_buffer();
+$m->out($content);
+$m->abort;
</%perl>
<%attr>
AutoFlush => 0
</%attr>
+
diff --git a/rt/share/html/Ticket/Create.html b/rt/share/html/Ticket/Create.html
index 7a1619a..1d18037 100755
--- a/rt/share/html/Ticket/Create.html
+++ b/rt/share/html/Ticket/Create.html
@@ -55,11 +55,12 @@
<form action="<% RT->Config->Get('WebPath') %>/Ticket/Create.html" method="post" enctype="multipart/form-data" name="TicketCreate">
<input type="submit" name="SubmitTicket" value="Create" style="display:none">
<input type="hidden" class="hidden" name="id" value="new" />
+ <input type="hidden" class="hidden" name="Token" value="<% $ARGS{'Token'} %>" />
% $m->callback( CallbackName => 'FormStart', QueueObj => $QueueObj, ARGSRef => \%ARGS );
% if ($gnupg_widget) {
- <& /Elements/GnuPG/SignEncryptWidget:ShowIssues, self => $gnupg_widget &>
+ <& /Elements/Crypt/SignEncryptWidget:ShowIssues, self => $gnupg_widget &>
% }
<div id="Ticket-Create-basics">
@@ -83,12 +84,9 @@
},
},
{ name => 'Status',
- comp => '/Elements/SelectStatus',
+ comp => '/Ticket/Elements/SelectStatus',
args => {
Name => "Status",
- Default => $ARGS{Status} || $QueueObj->Lifecycle->DefaultOnCreate,
- DefaultValue => 0,
- SkipDeleted => 1,
QueueObj => $QueueObj,
},
},
@@ -106,11 +104,26 @@
% $m->callback( CallbackName => 'AfterOwner', ARGSRef => \%ARGS );
- <& /Ticket/Elements/EditCustomFields, %ARGS, QueueObj => $QueueObj, InTable => 1, KeepValue => 1 &>
- <& /Ticket/Elements/EditTransactionCustomFields, %ARGS, QueueObj => $QueueObj, InTable => 1, KeepValue => 1 &>
+ <& /Elements/EditCustomFields,
+ %ARGS,
+ Object => $ticket,
+ CustomFields => $QueueObj->TicketCustomFields,
+ Grouping => 'Basics',
+ InTable => 1,
+ KeepValue => 1,
+ &>
+ <& /Ticket/Elements/EditTransactionCustomFields, %ARGS, QueueObj => $QueueObj, InTable => 1, KeepValue => 1, &>
</table>
</&>
% $m->callback( CallbackName => 'AfterBasics', QueueObj => $QueueObj, ARGSRef => \%ARGS );
+
+<& /Elements/EditCustomFieldCustomGroupings,
+ %ARGS,
+ Object => $ticket,
+ CustomFieldGenerator => sub { $QueueObj->TicketCustomFields },
+ KeepValue => 1,
+&>
+
</div>
<div id="ticket-create-message">
@@ -121,7 +134,7 @@
<&|/l&>Requestors</&>:
</td>
<td class="value" colspan="5">
-<& /Elements/EmailInput, Name => 'Requestors', Size => undef, Default => exists($ARGS{Requestors}) ? $ARGS{Requestors} : $session{CurrentUser}->EmailAddress &>
+<& /Elements/EmailInput, Name => 'Requestors', Size => undef, Default => $ARGS{Requestors} // $session{CurrentUser}->EmailAddress, AutocompleteMultiple => 1 &>
% $m->callback( CallbackName => 'AfterRequestors', QueueObj => $QueueObj, ARGSRef => \%ARGS );
</td>
</tr>
@@ -129,7 +142,7 @@
<td class="label">
<&|/l&>Cc</&>:
</td>
-<td class="value" colspan="5"><& /Elements/EmailInput, Name => 'Cc', Size => undef, Default => $ARGS{Cc} &></td>
+<td class="value" colspan="5"><& /Elements/EmailInput, Name => 'Cc', Size => undef, Default => $ARGS{Cc}, AutocompleteMultiple => 1 &></td>
</tr>
<tr>
@@ -145,7 +158,7 @@
<td class="label">
<&|/l&>Admin Cc</&>:
</td>
-<td class="value" colspan="5"><& /Elements/EmailInput, Name => 'AdminCc', Size => undef, Default => $ARGS{AdminCc} &></td>
+<td class="value" colspan="5"><& /Elements/EmailInput, Name => 'AdminCc', Size => undef, Default => $ARGS{AdminCc}, AutocompleteMultiple => 1 &></td>
</tr>
<tr>
@@ -157,6 +170,15 @@
</td>
</tr>
+<& /Elements/EditCustomFields,
+ %ARGS,
+ Object => $ticket,
+ CustomFields => $QueueObj->TicketCustomFields,
+ Grouping => 'People',
+ InTable => 1,
+ KeepValue => 1,
+&>
+
<tr>
<td class="label">
<&|/l&>Subject</&>:
@@ -169,7 +191,7 @@
% if ( $gnupg_widget ) {
<tr><td>&nbsp;</td><td colspan="5">
-<& /Elements/GnuPG/SignEncryptWidget, self => $gnupg_widget, QueueObj => $QueueObj &>
+<& /Elements/Crypt/SignEncryptWidget, self => $gnupg_widget, QueueObj => $QueueObj &>
</td></tr>
% }
@@ -204,9 +226,9 @@
<tr>
<td width="50%" valign="top" class="boxcontainer">
<div class="ticket-info-basics">
- <&| /Widgets/TitleBox, title => loc('The Basics'),
- title_class=> 'inverse',
- color => "#993333" &>
+ <&| /Widgets/TitleBox, title => loc('The Basics'),
+ title_class=> 'inverse',
+ color => "#993333" &>
<table border="0">
<tr><td class="label"><&|/l&>Priority</&>:</td>
<td><& /Elements/SelectPriority,
@@ -220,29 +242,37 @@
&></td></tr>
<tr><td class="label"><&|/l&>Time Estimated</&>:</td>
<td>
-<& /Elements/EditTimeValue, Name => 'TimeEstimated', Default => $ARGS{TimeEstimated} || '', InUnits => $ARGS{'TimeEstimated-TimeUnits'} &>
+<& /Elements/EditTimeValue, Name => 'TimeEstimated', Default => $ARGS{TimeEstimated} || '' &>
</td></tr>
<tr><td class="label"><&|/l&>Time Worked</&>:</td>
<td>
-<& /Elements/EditTimeValue, Name => 'TimeWorked', Default => $ARGS{TimeWorked} || '', InUnits => $ARGS{'TimeWorked-TimeUnits'} &>
+<& /Elements/EditTimeValue, Name => 'TimeWorked', Default => $ARGS{TimeWorked} || '' &>
</td></tr>
<tr>
<td class="label"><&|/l&>Time Left</&>:</td>
<td>
-<& /Elements/EditTimeValue, Name => 'TimeLeft', Default => $ARGS{TimeLeft} || '', InUnits => $ARGS{'TimeLeft-TimeUnits'} &>
+<& /Elements/EditTimeValue, Name => 'TimeLeft', Default => $ARGS{TimeLeft} || '' &>
</td></tr>
</table>
</&>
<br />
<div class="ticket-info-dates">
<&|/Widgets/TitleBox, title => loc("Dates"),
- title_class=> 'inverse',
- color => "#663366" &>
+ title_class=> 'inverse',
+ color => "#663366" &>
<table>
<tr><td class="label"><&|/l&>Starts</&>:</td><td><& /Elements/SelectDate, Name => "Starts", Default => $ARGS{Starts} || '' &></td></tr>
<tr><td class="label"><&|/l&>Due</&>:</td><td><& /Elements/SelectDate, Name => "Due", Default => $ARGS{Due} || '' &></td></tr>
+<& /Elements/EditCustomFields,
+ %ARGS,
+ Object => $ticket,
+ CustomFields => $QueueObj->TicketCustomFields,
+ Grouping => 'Dates',
+ InTable => 1,
+ KeepValue => 1,
+&>
</table>
</&>
</div>
@@ -254,17 +284,11 @@
<div class="ticket-info-links">
<&| /Widgets/TitleBox, title => loc('Links'), title_class=> 'inverse' &>
-<em><&|/l&>(Enter ticket ids or URLs, separated with spaces)</&></em>
-<table border="0">
-<tr><td class="label"><&|/l&>Depends on</&></td><td><input size="10" name="new-DependsOn" value="<% $ARGS{'new-DependsOn'} || '' %>" /></td></tr>
-<tr><td class="label"><&|/l&>Depended on by</&></td><td><input size="10" name="DependsOn-new" value="<% $ARGS{'DependsOn-new'} || '' %>" /></td></tr>
-<tr><td class="label"><&|/l&>Parents</&></td><td><input size="10" name="new-MemberOf" value="<% $ARGS{'new-MemberOf'} || '' %>" /></td></tr>
-<tr><td class="label"><&|/l&>Children</&></td><td><input size="10" name="MemberOf-new" value="<% $ARGS{'MemberOf-new'} || '' %>" /></td></tr>
-<tr><td class="label"><&|/l&>Refers to</&></td><td><input size="10" name="new-RefersTo" value="<% $ARGS{'new-RefersTo'} || '' %>" /></td></tr>
-<tr><td class="label"><&|/l&>Referred to by</&></td><td><input size="10" name="RefersTo-new" value="<% $ARGS{'RefersTo-new'} || '' %>" /></td></tr>
-<tr><td class="label">Customer ID</td><td><input size="10" name="new-Customer" value="<% $ARGS{'new-Customer'} || '' %>" /></td></tr>
-
-</table>
+<& /Elements/AddLinks,
+ Object => $ticket,
+ CustomFields => $QueueObj->TicketCustomFields,
+ ARGSRef => \%ARGS,
+ &>
</&>
</div>
<br />
@@ -281,6 +305,8 @@ $m->callback( CallbackName => "Init", ARGSRef => \%ARGS );
my $Queue = $ARGS{Queue};
$session{DefaultQueue} = $Queue;
+my $current_user = $session{'CurrentUser'};
+
if ($CloneTicket) {
my $CloneTicketObj = RT::Ticket->new( $session{CurrentUser} );
$CloneTicketObj->Load($CloneTicket)
@@ -298,12 +324,9 @@ if ($CloneTicket) {
# not TimeWorked, TimeEstimated, or TimeLeft
$clone->{$_} = $CloneTicketObj->$_->AsString
- for grep { $CloneTicketObj->$_->Unix }
+ for grep { $CloneTicketObj->$_->IsSet }
map { $_ . "Obj" } qw/Starts Started Due Resolved/;
- my $members = $CloneTicketObj->Members;
- my ( @members, @members_of, @refers, @refers_by, @depends, @depends_by );
- my $refers = $CloneTicketObj->RefersTo;
my $get_link_value = sub {
my ($link, $type) = @_;
my $uri_method = $type . 'URI';
@@ -316,6 +339,8 @@ if ($CloneTicket) {
return $link->$local_method || $uri->URI;
};
+ my (@refers, @refers_by);
+ my $refers = $CloneTicketObj->RefersTo;
while ( my $refer = $refers->Next ) {
my $refer_value = $get_link_value->($refer, 'Target');
push @refers, $refer_value if defined $refer_value;
@@ -340,10 +365,10 @@ if ($CloneTicket) {
}
if ( @cf_values > 1 && $cf->Type eq 'Select' ) {
- $clone->{"Object-RT::Ticket--CustomField-$cf_id-Value"} = \@cf_values;
+ $clone->{GetCustomFieldInputName( CustomField => $cf )} = \@cf_values;
}
else {
- $clone->{"Object-RT::Ticket--CustomField-$cf_id-Value"} = join "\n",
+ $clone->{GetCustomFieldInputName( CustomField => $cf )} = join "\n",
@cf_values;
}
}
@@ -368,34 +393,42 @@ my @results;
my $title = loc("Create a new ticket");
-my $QueueObj = RT::Queue->new($session{'CurrentUser'});
-$QueueObj->Load($Queue) || Abort(loc("Queue could not be loaded."));
+my $QueueObj = RT::Queue->new($current_user);
+$QueueObj->Load($Queue) || Abort(loc("Queue [_1] could not be loaded.", $Queue||''));
$m->callback( QueueObj => $QueueObj, title => \$title, results => \@results, ARGSRef => \%ARGS );
-$QueueObj->Disabled && Abort(loc("Cannot create tickets in a disabled queue."));
+$m->scomp( '/Articles/Elements/SubjectOverride', ARGSRef => \%ARGS, QueueObj => $QueueObj, results => \@results );
-my $CFs = $QueueObj->TicketCustomFields();
+$QueueObj->Disabled && Abort(loc("Cannot create tickets in a disabled queue."));
-my $ValidCFs = $m->comp(
- '/Elements/ValidateCustomFields',
- CustomFields => $CFs,
- ARGSRef => \%ARGS
-);
+my $ticket = RT::Ticket->new($current_user); # empty ticket object
ProcessAttachments(ARGSRef => \%ARGS);
my $checks_failure = 0;
-my $gnupg_widget = $m->comp('/Elements/GnuPG/SignEncryptWidget:new', Arguments => \%ARGS );
-$m->comp( '/Elements/GnuPG/SignEncryptWidget:Process',
+{
+ my ($status, @msg) = $m->comp(
+ '/Elements/ValidateCustomFields',
+ CustomFields => $QueueObj->TicketCustomFields,
+ ARGSRef => \%ARGS
+ );
+ unless ($status) {
+ $checks_failure = 1;
+ push @results, @msg;
+ }
+}
+
+my $gnupg_widget = $m->comp('/Elements/Crypt/SignEncryptWidget:new', Arguments => \%ARGS );
+$m->comp( '/Elements/Crypt/SignEncryptWidget:Process',
self => $gnupg_widget,
QueueObj => $QueueObj,
);
if ( !exists $ARGS{'AddMoreAttach'} && ($ARGS{'id'}||'') eq 'new' ) {
- my $status = $m->comp('/Elements/GnuPG/SignEncryptWidget:Check',
+ my $status = $m->comp('/Elements/Crypt/SignEncryptWidget:Check',
self => $gnupg_widget,
Operation => 'Create',
QueueObj => $QueueObj,
@@ -427,7 +460,7 @@ $m->comp( '/Articles/Elements/CheckSkipCreate', ARGSRef => \%ARGS, skip_create =
checks_failure => $checks_failure, results => \@results );
if ((!exists $ARGS{'AddMoreAttach'}) and (defined($ARGS{'id'}) and $ARGS{'id'} eq 'new')) { # new ticket?
- if ( $ValidCFs && !$checks_failure && !$skip_create ) {
+ if ( !$checks_failure && !$skip_create ) {
# CREATE THE TICKET.
# For some reason it's done by a Mason component named "Display.html"
# and the call is buried in obscure error-handling stuff.
@@ -443,13 +476,6 @@ if ((!exists $ARGS{'AddMoreAttach'}) and (defined($ARGS{'id'}) and $ARGS{'id'} e
$RT::Logger->crit("After display call; error is $@");
$m->abort();
}
- elsif ( !$ValidCFs ) {
- # Invalid CFs
- while (my $CF = $CFs->Next) {
- my $msg = $m->notes('InvalidField-' . $CF->Id) or next;
- push @results, $CF->Name . ': ' . $msg;
- }
- }
}
PageMenu->child( basics => raw_html => q[<a href="#basics" onclick="return switchVisibility('Ticket-Create-basics','Ticket-Create-details');">] . loc('Basics') . q[</a>]);
PageMenu->child( details => raw_html => q[<a href="#details" onclick="return switchVisibility('Ticket-Create-details','Ticket-Create-basics');">] . loc('Details') . q[</a>]);
diff --git a/rt/share/html/Ticket/GnuPG.html b/rt/share/html/Ticket/Crypt.html
index 9ea840f..0eb0b15 100644
--- a/rt/share/html/Ticket/GnuPG.html
+++ b/rt/share/html/Ticket/Crypt.html
@@ -78,7 +78,7 @@ my $encrypted = 0;
my $attachments = $txn->Attachments;
while ( my $attachment = $attachments->Next ) {
- next unless $attachment->ContentType =~ m{^x-application-rt/gpg-encrypted\b};
+ next unless $attachment->ContentType =~ m{^x-application-rt/[^-]+-encrypted\b};
$encrypted = 1;
last;
}
diff --git a/rt/share/html/Ticket/Display.html b/rt/share/html/Ticket/Display.html
index 3c2385a..41684c5 100755
--- a/rt/share/html/Ticket/Display.html
+++ b/rt/share/html/Ticket/Display.html
@@ -54,6 +54,7 @@
<& /Elements/ListActions, actions => \@Actions &>
<& Elements/ShowUpdateStatus, Ticket => $TicketObj &>
+<& Elements/ShowDependencyStatus, Ticket => $TicketObj &>
% $m->callback( %ARGS, Ticket => $TicketObj, Transactions => $transactions, Attachments => $attachments, CallbackName => 'BeforeShowSummary' );
<div class="summary">
@@ -65,16 +66,21 @@
% $m->callback( Ticket => $TicketObj, %ARGS, Transactions => $transactions, Attachments => $attachments, CallbackName => 'BeforeShowHistory' );
-% if (not $ForceShowHistory and RT->Config->Get( 'DeferTransactionLoading', $session{'CurrentUser'} )) {
+% my $ShowHistory = RT->Config->Get("ShowHistory", $session{'CurrentUser'});
+% if ($ShowHistory eq "delay") {
+ <& /Ticket/Elements/DelayShowHistory,
+ Ticket => $TicketObj,
+ ShowHeaders => $ARGS{'ShowHeaders'},
+ &>
+% } elsif (not $ForceShowHistory and $ShowHistory eq "click") {
<& /Ticket/Elements/ClickToShowHistory,
Ticket => $TicketObj,
+ ShowHeaders => $ARGS{'ShowHeaders'},
&>
% } else {
- <& /Ticket/Elements/ShowHistory ,
- Ticket => $TicketObj,
- Tickets => $Tickets,
+ <& /Elements/ShowHistory ,
+ Object => $TicketObj,
Transactions => $transactions,
- Collapsed => $ARGS{'Collapsed'},
ShowHeaders => $ARGS{'ShowHeaders'},
Attachments => $attachments,
AttachmentContent => $attachment_content
@@ -92,7 +98,6 @@
$id => undef
$TicketObj => undef
$ShowHeaders => 0
-$Collapsed => undef
$ForceShowHistory => 0
</%ARGS>
@@ -107,7 +112,7 @@ if ( ! $ARGS{'NoRedirect'} && RT::Interface::Web->MobileClient()) {
}
-my (@Actions, $Tickets, $title);
+my (@Actions, $title);
unless ($id || $TicketObj) {
@@ -115,7 +120,7 @@ unless ($id || $TicketObj) {
}
if ($ARGS{'id'} eq 'new') {
- # {{{ Create a new ticket
+ # Create a new ticket
# Massage customer IDs into member links.
my @cust_uris = map {
@@ -135,10 +140,7 @@ if ($ARGS{'id'} eq 'new') {
Abort('You have no permission to create tickets in that queue.');
}
- ($TicketObj, @Actions) = CreateTicket(
- Attachments => delete $session{'Attachments'},
- %ARGS,
- );
+ ($TicketObj, @Actions) = CreateTicket( %ARGS );
unless ( $TicketObj->CurrentUserHasRight('ShowTicket') ) {
Abort("No permission to view newly created ticket #".$TicketObj->id.".");
}
@@ -150,7 +152,7 @@ if ($ARGS{'id'} eq 'new') {
my $SkipProcessing;
$m->callback( CallbackName => 'BeforeProcessArguments',
- TicketObj => $TicketObj, Tickets => $Tickets,
+ TicketObj => $TicketObj,
ActionsRef => \@Actions, ARGSRef => \%ARGS,
SkipProcessing => \$SkipProcessing );
@@ -168,21 +170,18 @@ if ($ARGS{'id'} eq 'new') {
ARGSRef => \%ARGS,
Actions => \@Actions);
- $ARGS{UpdateAttachments} = $session{'Attachments'};
- push @Actions,
- ProcessUpdateMessage(
+ push @Actions, ProcessUpdateMessage(
ARGSRef => \%ARGS,
Actions => \@Actions,
TicketObj => $TicketObj,
- );
- delete $session{'Attachments'};
+ );
#Process status updates
push @Actions, ProcessTicketWatchers(ARGSRef => \%ARGS, TicketObj => $TicketObj );
push @Actions, ProcessTicketBasics( ARGSRef => \%ARGS, TicketObj => $TicketObj );
push @Actions, ProcessTicketLinks( ARGSRef => \%ARGS, TicketObj => $TicketObj );
push @Actions, ProcessTicketDates( ARGSRef => \%ARGS, TicketObj => $TicketObj );
- push @Actions, ProcessTicketCustomFieldUpdates(ARGSRef => \%ARGS, TicketObj => $TicketObj );
+ push @Actions, ProcessObjectCustomFieldUpdates(ARGSRef => \%ARGS, TicketObj => $TicketObj );
# If this fails due to required fields being empty, it will set
# notes('RedirectToBasics').
push @Actions, ProcessTicketStatus( ARGSRef => \%ARGS, TicketObj => $TicketObj );
@@ -212,7 +211,6 @@ $title = loc("Ticket #[_1]: [_2]", $TicketObj->Id, $TicketObj->Subject || '');
$m->callback(
CallbackName => 'BeforeDisplay',
TicketObj => \$TicketObj,
- Tickets => \$Tickets,
Actions => \@Actions,
title => \$title,
ARGSRef => \%ARGS,
@@ -231,10 +229,9 @@ MaybeRedirectForResults(
Arguments => { id => $TicketObj->id },
);
-# Get the transactoins before the attachments, for great ACL justice
-my $transactions = $m->comp('Elements/FindTransactions',Ticket => $TicketObj, Tickets => $Tickets || undef);
-my $attachments = $m->comp('Elements/FindAttachments', Ticket => $TicketObj, Tickets => $Tickets);
-my $attachment_content = $m->comp('Elements/LoadTextAttachments', Ticket => $TicketObj);
+my $transactions = $TicketObj->SortedTransactions;
+my $attachments = $TicketObj->Attachments;
+my $attachment_content = $TicketObj->TextAttachments;
my %link_rel;
if (defined $session{'tickets'} and ($ARGS{'Query'} or $session{'CurrentSearchHash'}->{'Query'})) {
diff --git a/rt/share/html/Ticket/Elements/AddAttachments b/rt/share/html/Ticket/Elements/AddAttachments
index 25470eb..7c1f0b8 100644
--- a/rt/share/html/Ticket/Elements/AddAttachments
+++ b/rt/share/html/Ticket/Elements/AddAttachments
@@ -45,12 +45,14 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-% if (exists $session{'Attachments'}) {
+% if ( $attachments ) {
<tr><td class="label"><&|/l&>Attached file</&>:</td>
<td>
<&|/l&>Check box to delete</&><br />
-% foreach my $attach_name (sort keys %{$session{'Attachments'}}) {
-<input type="checkbox" class="checkbox" name="DeleteAttach-<%$attach_name%>" value="1" /><%$attach_name%><br />
+% foreach my $attach_name ( sort keys %$attachments ) {
+<input type="checkbox" class="checkbox" name="DeleteAttach" value="<% $attach_name %>" id="DeleteAttach-<%$attach_name%>" />
+<label for="DeleteAttach-<%$attach_name%>"><% $attach_name %></label>
+<br />
% } # end of foreach
</td>
</tr>
@@ -59,3 +61,12 @@
<tr><td class="label"><&|/l&>Attach</&>:</td><td><input name="Attach" type="file" /><input type="submit" class="button" name="AddMoreAttach" value="<&|/l&>Add More Files</&>" /><input type="hidden" class="hidden" name="UpdateAttach" value="1" />
</td></tr>
% $m->callback( %ARGS, CallbackName => 'End' );
+<%ARGS>
+$Token => ''
+</%ARGS>
+<%INIT>
+my $attachments;
+if ( exists $session{'Attachments'}{ $Token } && keys %{ $session{'Attachments'}{ $Token } } ) {
+ $attachments = $session{'Attachments'}{ $Token };
+}
+</%INIT>
diff --git a/rt/share/html/Ticket/Elements/AddWatchers b/rt/share/html/Ticket/Elements/AddWatchers
index 594574e..4093c26 100755
--- a/rt/share/html/Ticket/Elements/AddWatchers
+++ b/rt/share/html/Ticket/Elements/AddWatchers
@@ -69,7 +69,7 @@
<&|/l&>Group</&>
</td></tr>
% while (my $g = $Groups->Next ) {
-<tr><td><&/Elements/SelectWatcherType, Name => "Ticket-AddWatcher-Principal-".$g->PrincipalId, Scope => 'queue' &></td><td><%$g->Name%> (<%$g->Description%>)</td></tr>
+<tr><td><&/Elements/SelectWatcherType, Name => "Ticket-AddWatcher-Principal-".$g->PrincipalId &></td><td><%$g->Name%> (<%$g->Description%>)</td></tr>
% }
% }
@@ -84,7 +84,7 @@
<tr><td>
<&/Elements/SelectWatcherType, Name => "WatcherTypeEmail".$counter &>
</td><td>
-<input type="hidden" name="WatcherAddressEmail<%$counter%>" value="<%$email->address%>">
+<input type="hidden" name="WatcherAddressEmail<%$counter%>" value="<%$email->format%>">
<%$email->format%>
</td></tr>
% }
@@ -110,24 +110,24 @@ my ($Users, $Groups);
if ($UserString) {
$Users = RT::Users->new($session{'CurrentUser'});
- $Users->Limit(FIELD => $UserField, VALUE => $UserString, OPERATOR => $UserOp);
+ $Users->Limit(FIELD => $UserField, VALUE => $UserString, OPERATOR => $UserOp, CASESENSITIVE => 0);
$Users->LimitToPrivileged if $PrivilegedOnly;
- }
+}
if ($GroupString) {
$Groups = RT::Groups->new($session{'CurrentUser'});
- $Groups->Limit(FIELD => 'Domain', OPERATOR => '=', VALUE => 'UserDefined');
- $Groups->Limit(FIELD => $GroupField, VALUE => $GroupString, OPERATOR => $GroupOp);
- }
+ $Groups->LimitToUserDefinedGroups;
+ $Groups->Limit(FIELD => $GroupField, VALUE => $GroupString, OPERATOR => $GroupOp, CASESENSITIVE => 0);
+}
my @extras;
for my $addr ( values %{$Ticket->TransactionAddresses} ) {
my $is_watcher;
for my $type ( qw/Owner Requestor Cc AdminCc/ ) {
- if ($Ticket->IsWatcher( Email => $addr->address, Type => $type )) {
- $is_watcher = 1;
- last;
- }
+ if ($Ticket->IsWatcher( Email => $addr->address, Type => $type )) {
+ $is_watcher = 1;
+ last;
+ }
}
push @extras, $addr unless $is_watcher;
}
diff --git a/rt/share/html/Ticket/Elements/Bookmark b/rt/share/html/Ticket/Elements/Bookmark
index bb80d3b..fa40cc1 100644
--- a/rt/share/html/Ticket/Elements/Bookmark
+++ b/rt/share/html/Ticket/Elements/Bookmark
@@ -46,48 +46,28 @@
%#
%# END BPS TAGGED BLOCK }}}
<%INIT>
-my $bookmarks = $session{'CurrentUser'}->UserObj->FirstAttribute('Bookmarks');
-$bookmarks = $bookmarks->Content if $bookmarks;
-$bookmarks ||= {};
+my $ticket = RT::Ticket->new( $session{'CurrentUser'} );
+$ticket->Load( $id );
-my $bookmarked = $bookmarks->{ $id }; # we still not sure if it's undef
-
-my @ids;
-if ( $Toggle || !$bookmarked ) {
- my $ticket = RT::Ticket->new( $session{'CurrentUser'} );
- $ticket->Load( $id );
- return unless $id = $ticket->id;
-
- @ids = ($id, $ticket->Merged);
+my $is_bookmarked;
+if ($Toggle) {
+ $is_bookmarked = $session{'CurrentUser'}->UserObj->ToggleBookmark($ticket);
}
-
-if ( $Toggle ) {
- if ( grep $bookmarks->{ $_ }, @ids ) {
- delete $bookmarks->{ $_ } foreach @ids;
- $bookmarked = 0;
- } else {
- $bookmarks->{ $id } = 1;
- $bookmarked = 1;
- }
- $session{'CurrentUser'}->UserObj->SetAttribute(
- Name => 'Bookmarks',
- Content => $bookmarks,
- );
-} elsif ( !$bookmarked ) {
- $bookmarked = grep $bookmarks->{ $_ }, @ids;
+else {
+ $is_bookmarked = $session{'CurrentUser'}->UserObj->HasBookmark($ticket);
}
</%INIT>
<%ARGS>
$id
$Toggle => 0
</%ARGS>
-<span class="toggle-bookmark-<% $id %>">
+<span class="toggle-bookmark toggle-bookmark-<% $id %>">
% my $url = RT->Config->Get('WebPath') ."/Helpers/Toggle/TicketBookmark?id=". $id;
-<a align="right" href="<% $url %>" onclick="jQuery('.toggle-bookmark-'+<% $id |n,j%>).load(<% $url |n,j %>); return false;" >
-% if ( $bookmarked ) {
-<img src="<% RT->Config->Get('WebPath') %>/NoAuth/images/star.gif" alt="<% loc('Remove Bookmark') %>" style="border-style: none" />
+<a align="right" href="<% $url %>" onclick="jQuery.get(<% $url |n,j %>, function(data){ jQuery('.toggle-bookmark-'+<% $id |n,j%>).replaceWith(data) }); return false;" >
+% if ( $is_bookmarked ) {
+<img src="<% RT->Config->Get('WebPath') %>/static/images/star.gif" alt="<% loc('Remove Bookmark') %>" style="border-style: none" />
% } else {
-<img src="<% RT->Config->Get('WebPath') %>/NoAuth/images/empty_star.gif" alt="<% loc('Add Bookmark') %>" style="border-style: none" />
+<img src="<% RT->Config->Get('WebPath') %>/static/images/empty_star.gif" alt="<% loc('Add Bookmark') %>" style="border-style: none" />
% }
</a>
</span>
diff --git a/rt/share/html/Ticket/Elements/ClickToShowHistory b/rt/share/html/Ticket/Elements/ClickToShowHistory
index 3b547b9..47a08f2 100644
--- a/rt/share/html/Ticket/Elements/ClickToShowHistory
+++ b/rt/share/html/Ticket/Elements/ClickToShowHistory
@@ -46,7 +46,7 @@
%#
%# END BPS TAGGED BLOCK }}}
<div id="deferred_ticket_history">
- <& /Widgets/TitleBoxStart, title => 'History' &>
+ <& /Widgets/TitleBoxStart, title => loc('History') &>
<a href="<% $display %>" onclick="jQuery('#deferred_ticket_history').text(<% loc('Loading...') |n,j%>).load(<% $url |n,j %>); return false;" ><% loc('Show ticket history') %></a>
<& /Widgets/TitleBoxEnd &>
</div>
@@ -54,7 +54,10 @@
$Ticket
</%ARGS>
<%INIT>
-my $id = $Ticket->id;
-my $url = RT->Config->Get('WebPath') ."/Helpers/TicketHistory?id=". $id;
-my $display = RT->Config->Get('WebPath') ."/Ticket/Display.html?id=$id;ForceShowHistory=1";
+my %params = %ARGS;
+delete $params{Ticket};
+
+my $query = $m->comp('/Elements/QueryString', %params, id => $Ticket->id );
+my $url = RT->Config->Get('WebPath')."/Helpers/TicketHistory?$query";
+my $display = RT->Config->Get('WebPath')."/Ticket/Display.html?ForceShowHistory=1;$query";
</%INIT>
diff --git a/rt/share/html/Admin/Elements/SelectModifyUser b/rt/share/html/Ticket/Elements/DelayShowHistory
index 442e0ca..a675fe2 100755..100644
--- a/rt/share/html/Admin/Elements/SelectModifyUser
+++ b/rt/share/html/Ticket/Elements/DelayShowHistory
@@ -45,29 +45,34 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-%while ( $user = $users->Next) {
-<a href="Modify.html?id=<%$user->id%>"><%$user->id%>: <& /Elements/ShowUser, User => $user &></a><br />
-%}
+<div id="delayed_ticket_history">
+ <& /Widgets/TitleBoxStart, title => loc('History') &>
+ <&|/l&>Loading...</&>
+ <& /Widgets/TitleBoxEnd &>
+</div>
+<script type="text/javascript">
+jQuery(function(){
+ jQuery('#delayed_ticket_history').load(<% $url |n %>, null, function() {
+ jQuery(this).find('.titlebox-content').hide().slideDown(400, function(){
+ // Jump to any anchor specified after we load the txns into the page
+ var hash = window.location.hash;
+ if (hash) {
+ window.location.hash = ""; // trick the browser into a "change"
+ window.location.hash = hash;
+ }
+ });
+ });
+});
+</script>
+<%ARGS>
+$Ticket
+</%ARGS>
<%INIT>
-my ($user);
-my $users = RT::Users->new($session{'CurrentUser'});
-$users->Limit(FIELD => 'id',
- VALUE => RT->SystemUser->id,
- OPERATOR => '!=' );
-
-if (defined $IdLike) {
-$users->Limit(FIELD => 'Name',
- VALUE => $IdLike,
- OPERATOR => 'LIKE' );
-}
-if (defined $EmailLike) {
-$users->Limit(FIELD => 'EmailAddress',
- VALUE => $EmailLike,
- OPERATOR => 'LIKE');
+my %params = %ARGS;
+delete $params{Ticket};
-}
+my $url = JSON(
+ RT->Config->Get('WebPath') . "/Helpers/TicketHistory?".
+ $m->comp('/Elements/QueryString', %params, id => $Ticket->id )
+);
</%INIT>
-<%ARGS>
-$IdLike => undef
-$EmailLike => undef
-</%ARGS>
diff --git a/rt/share/html/Ticket/Elements/EditBasics b/rt/share/html/Ticket/Elements/EditBasics
index a54caac..d6f1862 100755
--- a/rt/share/html/Ticket/Elements/EditBasics
+++ b/rt/share/html/Ticket/Elements/EditBasics
@@ -60,13 +60,12 @@ unless ( @fields ) {
html => '<input name="Subject" value="'.(defined($subject) ? $m->interp->apply_escapes( $subject, 'h' ) : '').'" />',
},
{ name => 'Status',
- comp => '/Elements/SelectStatus',
+ comp => '/Ticket/Elements/SelectStatus',
args => {
Name => 'Status',
- DefaultLabel => loc("[_1] (Unchanged)",loc($TicketObj->Status)),
- Default => $defaults{'Status'} || undef,
+ Default => $defaults{'Status'},
+ DefaultFromArgs => 0,
TicketObj => $TicketObj,
- QueueObj => $TicketObj->QueueObj,
onchange => 'changeStatus()',
},
},
@@ -148,7 +147,7 @@ for my $field (@fields) {
% }
% for my $field (@fields) {
<tr class="<% lc $field->{'name'} %>">\
-<td class="label"><&|/l&><% $field->{'name'} %></&>:</td>\
+<td class="label"><% loc($field->{'name'}) %>:</td>\
<td class="value"><% $field->{'html'} |n %></td>\
</tr>
% }
diff --git a/rt/share/html/Ticket/Elements/EditCustomFields b/rt/share/html/Ticket/Elements/EditCustomFields
index 5f17d18..336e86c 100755
--- a/rt/share/html/Ticket/Elements/EditCustomFields
+++ b/rt/share/html/Ticket/Elements/EditCustomFields
@@ -45,63 +45,17 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-% $m->callback( %ARGS, CallbackName => 'BeforeCustomFields' );
-% if ( $WRAP ) {
-<<% $WRAP %> class="edit-custom-fields">
-% }
-% while ( my $CustomField = $CustomFields->Next ) {
-% next unless $CustomField->CurrentUserHasRight('ModifyCustomField');
-% my $Type = $CustomField->Type || 'Unknown';
- <<% $FIELD %> class="edit-custom-field cftype-<% $Type %>">
- <<% $CELL %> class="cflabel">
- <span class="name"><% loc($CustomField->Name) %></span><br />
- <span class="type"><% $CustomField->FriendlyType %></span>
- </<% $CELL %>>
- <<% $CELL %> class="entry">
-% my $default = $m->notes('Field-' . $CustomField->Id);
-% $default ||= $ARGS{"CustomField-". $CustomField->Id };
- <& /Elements/EditCustomField,
- %ARGS,
- Object => $TicketObj,
- CustomField => $CustomField,
- NamePrefix => $NamePrefix,
- Default => $default,
- &>
-% if (my $msg = $m->notes('InvalidField-' . $CustomField->Id)) {
- <br />
- <span class="cfinvalidfield"><% $msg %></span>
-% }
- </<% $CELL %>>
- </<% $FIELD %>>
-% }
-
-% if ( $WRAP ) {
-</<% $WRAP %>>
-% }
-% $m->callback( %ARGS, CallbackName => 'AfterCustomFields', TicketObj => $TicketObj, QueueObj => $QueueObj );
<%INIT>
-my $CustomFields;
+RT->Deprecated( Remove => "4.4", Instead => "/Elements/EditCustomFields" );
+my $CustomFields;
if ($TicketObj && !$OnCreate) {
- $CustomFields = $TicketObj->CustomFields();
- $NamePrefix .= "Object-RT::Ticket-".$TicketObj->Id."-CustomField-";
+ $CustomFields = $TicketObj->CustomFields;
} else {
- $CustomFields = $QueueObj->TicketCustomFields();
- $NamePrefix .= "Object-RT::Ticket--CustomField-";
+ $CustomFields = $QueueObj->TicketCustomFields;
}
-
$m->callback( %ARGS, CallbackName => 'MassageCustomFields', CustomFields => $CustomFields );
-$AsTable ||= $InTable;
-my $FIELD = $AsTable ? 'tr' : 'div';
-my $CELL = $AsTable ? 'td' : 'div';
-my $WRAP = '';
-if ( $AsTable ) {
- $WRAP = 'table' unless $InTable;
-} else {
- $WRAP = 'div';
-}
-
# show hints for missing required fields
if ( $TicketObj ) {
foreach my $field ( $TicketObj->MissingRequiredFields ) {
@@ -109,13 +63,14 @@ if ( $TicketObj ) {
}
}
+return $m->comp('/Elements/EditCustomFields',
+ %ARGS,
+ Object => $TicketObj || RT::Ticket->new( $session{'CurrentUser'} ),
+ CustomFields => $CustomFields,
+);
</%INIT>
<%ARGS>
-$NamePrefix => ''
$TicketObj => undef
$QueueObj => undef
$OnCreate => undef
-$DefaultsFromTopArguments => 1
-$AsTable => 0
-$InTable => 0
</%ARGS>
diff --git a/rt/share/html/Ticket/Elements/EditDates b/rt/share/html/Ticket/Elements/EditDates
index 7793a8a..710ee51 100755
--- a/rt/share/html/Ticket/Elements/EditDates
+++ b/rt/share/html/Ticket/Elements/EditDates
@@ -76,6 +76,7 @@
<& /Elements/SelectDate, menu_prefix => 'WillResolve', current => 0 &> (<% $TicketObj->WillResolveObj->AsString %>)
</td>
</tr>
+ <& /Elements/EditCustomFields, Object => $TicketObj, Grouping => 'Dates', InTable => 1 &>
% $m->callback( %ARGS, CallbackName => 'EndOfList', Ticket => $TicketObj );
</table>
<%ARGS>
diff --git a/rt/share/html/Ticket/Elements/FindTransactions b/rt/share/html/Ticket/Elements/EditMerge
index 950320e..321a6f4 100644
--- a/rt/share/html/Ticket/Elements/FindTransactions
+++ b/rt/share/html/Ticket/Elements/EditMerge
@@ -45,28 +45,35 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
+<i>
+<&|/l&>Warning: merging is a non-reversible action! Enter a single ticket number to be merged into.</&>
+</i>
+
+<table>
+ <tr>
+ <td class="label"><&|/l&>Merge into</&>:</td>
+ <td class="entry"><input name="<% $Name %>" value="<% $Default || '' %>" data-autocomplete="Tickets" data-autocomplete-exclude="<% join( ' ', @excludes) || '' %>" /></td>
+ </tr>
+</table>
+
<%INIT>
-my $Transactions = RT::Transactions->new($session{'CurrentUser'});
-if ($Tickets) {
- while (my $t = $Tickets->Next) {
- $Transactions->LimitToTicket($t->id);
+my @excludes;
+if ( $Ticket ) {
+ $Name ||= $Ticket->id . '-MergeInto';
+ @excludes = $Ticket->id;
+}
+elsif ( $Tickets ) {
+ $Name ||= 'Ticket-MergeInto';
+ while ( my $ticket = $Tickets->Next ) {
+ push @excludes, $ticket->id;
}
-} else {
- $Transactions = $Ticket->Transactions;
}
-
-
-my $OldestFirst = RT->Config->Get( 'OldestTransactionsFirst', $session{'CurrentUser'} );
-my $SortOrder = $OldestFirst? 'ASC': 'DESC';
-$Transactions->OrderByCols( { FIELD => 'Created',
- ORDER => $SortOrder },
- { FIELD => 'id',
- ORDER => $SortOrder },
- );
-$Transactions->Next(); $Transactions->GotoFirstItem(); # actually do the search
-return ($Transactions);
+$Default ||= $ARGS{$Name};
</%INIT>
+
<%ARGS>
$Ticket => undef
$Tickets => undef
+$Name => ''
+$Default => ''
</%ARGS>
diff --git a/rt/share/html/Ticket/Elements/EditPeople b/rt/share/html/Ticket/Elements/EditPeople
index c5edb9c..8d5a418 100755
--- a/rt/share/html/Ticket/Elements/EditPeople
+++ b/rt/share/html/Ticket/Elements/EditPeople
@@ -60,23 +60,35 @@
<& AddWatchers, Ticket => $Ticket, UserString => $UserString,
UserOp => $UserOp, UserField => $UserField,
- GroupString => $GroupString, GroupOp => $GroupOp,
- GroupField => $GroupField, PrivilegedOnly => $PrivilegedOnly &>
+ GroupString => $GroupString, GroupOp => $GroupOp,
+ GroupField => $GroupField, PrivilegedOnly => $PrivilegedOnly &>
</td><td valign="top">
<h3><&|/l&>Owner</&></h3>
<&|/l&>Owner</&>: <& /Elements/SelectOwner, Name => 'Owner', QueueObj => $Ticket->QueueObj, TicketObj => $Ticket, Default => $Ticket->OwnerObj->Id, DefaultValue => 0&>
<h3><&|/l&>Current watchers</&></h3>
+<i><&|/l&>(Check box to delete)</&></i><br />
-<&|/l&>Requestors</&>:
-<& EditWatchers, TicketObj => $Ticket, Watchers => $Ticket->Requestors &>
+<table>
-<&|/l&>Cc</&>:
-<& EditWatchers, TicketObj => $Ticket, Watchers => $Ticket->Cc &>
+<tr>
+ <td class="label"><&|/l&>Requestors</&>:</td>
+ <td class="value"><& EditWatchers, TicketObj => $Ticket, Watchers => $Ticket->Requestors &></td>
+</tr>
-<&|/l&>Administrative Cc</&>:
-<& EditWatchers, TicketObj => $Ticket, Watchers => $Ticket->AdminCc &>
+<tr>
+ <td class="label"><&|/l&>Cc</&>:</td>
+ <td class="value"><& EditWatchers, TicketObj => $Ticket, Watchers => $Ticket->Cc &></td>
+</tr>
+
+<tr>
+ <td class="label"><&|/l&>Administrative Cc</&>:</td>
+ <td class="value"><& EditWatchers, TicketObj => $Ticket, Watchers => $Ticket->AdminCc &></td>
+</tr>
+
+<& /Elements/EditCustomFields, Object => $Ticket, Grouping => 'People', InTable => 1 &>
+
+</table>
-<i><&|/l&>(Check box to delete)</&></i><br />
</td>
</tr>
</table>
diff --git a/rt/share/html/Ticket/Elements/EditTransactionCustomFields b/rt/share/html/Ticket/Elements/EditTransactionCustomFields
index 4de7e5f..f0c1f29 100644
--- a/rt/share/html/Ticket/Elements/EditTransactionCustomFields
+++ b/rt/share/html/Ticket/Elements/EditTransactionCustomFields
@@ -45,7 +45,7 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-% $m->callback( CallbackName => 'BeforeTransactionCustomFields', TicketObj => $TicketObj, QueueObj => $QueueObj, NamePrefix => $NamePrefix );
+% $m->callback( CallbackName => 'BeforeTransactionCustomFields', TicketObj => $TicketObj, QueueObj => $QueueObj, InTable => $InTable );
% if ( $WRAP ) {
<<% $WRAP %> class="edit-transaction-custom-fields">
% }
@@ -56,7 +56,7 @@
% next unless $CF->UILocation eq $UILocation;
<<% $FIELD %>>
<<% $CELL %> class="label cflabel">
- <span class="name"><% loc($CF->Name) %>:</span><br />
+ <span class="name"><% $CF->Name %>:</span><br />
% if ( $CF->Type ne 'TimeValue' ) {
<span class="type"><% $CF->FriendlyType %></span>
% }
@@ -65,7 +65,7 @@
<& /Elements/EditCustomField,
%ARGS,
CustomField => $CF,
- NamePrefix => $NamePrefix,
+ Object => RT::Transaction->new( $session{'CurrentUser'} ),
&>
% if (my $msg = $m->notes('InvalidField-' . $CF->Id)) {
<br />
@@ -78,7 +78,7 @@
% if ( $WRAP ) {
</<% $WRAP %>>
% }
-% $m->callback( CallbackName => 'AfterTransactionCustomFields', TicketObj => $TicketObj, QueueObj => $QueueObj, NamePrefix => $NamePrefix );
+% $m->callback( CallbackName => 'AfterTransactionCustomFields', TicketObj => $TicketObj, QueueObj => $QueueObj, InTable => $InTable );
<%INIT>
my $CustomFields;
@@ -89,7 +89,7 @@ if ($TicketObj) {
$CustomFields = $QueueObj->TicketTransactionCustomFields();
}
-$m->callback( CallbackName => 'MassageTransactionCustomFields', CustomFields => $CustomFields );
+$m->callback( CallbackName => 'MassageTransactionCustomFields', CustomFields => $CustomFields, InTable => $InTable );
$AsTable ||= $InTable;
my $FIELD = $AsTable ? 'tr' : 'div';
@@ -103,7 +103,6 @@ if ( $AsTable ) {
</%INIT>
<%ARGS>
-$NamePrefix => "Object-RT::Transaction--CustomField-"
$TicketObj => undef
$QueueObj => undef
$AsTable => 0
diff --git a/rt/share/html/Ticket/Elements/EditWatchers b/rt/share/html/Ticket/Elements/EditWatchers
index ab5ada3..0f613ca 100755
--- a/rt/share/html/Ticket/Elements/EditWatchers
+++ b/rt/share/html/Ticket/Elements/EditWatchers
@@ -55,7 +55,7 @@
% while ( my $watcher = $Members->Next ) {
% my $member = $watcher->MemberObj->Object;
<li>
-<input type="checkbox" class="checkbox" name="Ticket-DeleteWatcher-Type-<% $Watchers->Type %>-Principal-<% $watcher->MemberId %>" value="1" unchecked />
+<input type="checkbox" class="checkbox" name="Ticket-DeleteWatcher-Type-<% $Watchers->Name %>-Principal-<% $watcher->MemberId %>" value="1" unchecked />
% if ( $member->isa( 'RT::User' ) ) {
% if ( $session{CurrentUser}->HasRight( Right => 'AdminUsers', Object => $RT::System ) &&
% $session{CurrentUser}->HasRight( Right => 'ShowConfigTab', Object =>$RT::System ) ) {
diff --git a/rt/share/html/Ticket/Elements/LoadTextAttachments b/rt/share/html/Ticket/Elements/LoadTextAttachments
index 5e87c64..69ec52b 100644
--- a/rt/share/html/Ticket/Elements/LoadTextAttachments
+++ b/rt/share/html/Ticket/Elements/LoadTextAttachments
@@ -46,48 +46,9 @@
%#
%# END BPS TAGGED BLOCK }}}
<%INIT>
-
-my $attachments = RT::Attachments->new( $session{'CurrentUser'} );
-
-$attachments->Columns( qw(id Content ContentType TransactionId ContentEncoding));
-
-if ( $Ticket->CurrentUserHasRight('ShowTicket') ) {
- my $transactions = $attachments->NewAlias('Transactions');
- $attachments->Join( ALIAS1 => 'main',
- FIELD1 => 'TransactionId',
- ALIAS2 => $transactions,
- FIELD2 => 'id' );
-
- my $tickets = $attachments->NewAlias('Tickets');
-
-
- $attachments->Join( ALIAS1 => $transactions,
- FIELD1 => 'ObjectId',
- ALIAS2 => $tickets,
- FIELD2 => 'id' );
-
- $attachments->Limit( ALIAS => $transactions,
- FIELD => 'ObjectType',
- VALUE => 'RT::Ticket');
-
-
- $attachments->Limit( ALIAS => $tickets,
- FIELD => 'EffectiveId',
- VALUE => $Ticket->id() );
- # if the user may not see comments do not return them
- unless ( $Ticket->CurrentUserHasRight('ShowTicketComments') ) {
- $attachments->Limit( ALIAS => $transactions, FIELD => 'Type', OPERATOR => '!=', VALUE => "Comment" );
- }
-
- $attachments->Limit ( FIELD => 'ContentType', OPERATOR => '=', VALUE => 'text/plain');
- $attachments->Limit ( FIELD => 'ContentType', OPERATOR => 'STARTSWITH', VALUE => 'message/');
- $attachments->Limit ( FIELD => 'ContentType', OPERATOR => '=', VALUE => 'text');
- $attachments->Limit ( FIELD => 'Filename', OPERATOR => 'IS', VALUE => 'NULL')
- if RT->Config->Get('SuppressInlineTextFiles', $Ticket->CurrentUser );
-}
-return ($attachments);
+RT->Deprecated( Remove => "4.4", Instead => "RT::Ticket->TextAttachments" );
+return $Ticket->TextAttachments;
</%INIT>
<%ARGS>
-$Ticket => undef
+$Ticket
</%ARGS>
-
diff --git a/rt/share/html/Ticket/Elements/PreviewScrips b/rt/share/html/Ticket/Elements/PreviewScrips
index bb51ef3..cc55fa8 100755
--- a/rt/share/html/Ticket/Elements/PreviewScrips
+++ b/rt/share/html/Ticket/Elements/PreviewScrips
@@ -69,7 +69,7 @@ my %squelched = ProcessTransactionSquelching( \%ARGS );
% @{$Object->Scrips->Prepared};
% for my $scrip (@scrips) {
<b><% $scrip->Description || loc('Scrip #[_1]',$scrip->id) %></b><br />
- <&|/l, loc($scrip->ConditionObj->Name), loc($scrip->ActionObj->Name), loc($scrip->TemplateObj->Name)&>[_1] [_2] with template [_3]</&>
+ <&|/l, loc($scrip->ConditionObj->Name), loc($scrip->ActionObj->Name), loc($scrip->Template)&>[_1] [_2] with template [_3]</&>
<br />
% for my $type (qw(To Cc Bcc)) {
% my @addresses = $scrip->ActionObj->Action->$type();
@@ -88,31 +88,7 @@ my %squelched = ProcessTransactionSquelching( \%ARGS );
</ul>
% }
% if (RT->Config->Get('PreviewScripMessages')) {
- <textarea cols="80" rows="5"><% Encode::decode( "UTF-8", $scrip->ActionObj->TemplateObj->MIMEObj->as_string ) %></textarea>
-% }
- <br />
-% }
-% }
-
-% if ( $Object->Rules ) {
-% for my $rule (@{$Object->Rules}) {
-% next unless $rule->{hints} && $rule->{hints}{class} eq 'SendEmail';
- <b><% $rule->Describe %></b>
-% my $data = $rule->{hints}{recipients};
-% for my $type (qw(To Cc Bcc)) {
-% next unless @{$data->{$type}};
- <ul>
-% for my $address (@{$data->{$type}}) {
- <li>
-% my $checked = not $squelched{$address};
-% $m->callback(CallbackName => 'BeforeAddress', Ticket => $TicketObj, Address => Email::Address->parse($address), Type => $type, Checked => \$checked);
-% $recips{$address}++;
- <b><%loc($type)%></b>: <input type="checkbox" class="checkbox" name="TxnSendMailTo" <% $checked ? 'checked="checked"' : '' |n%> value="<%$address%>" id="TxnSendMailTo-<% $address %>-<% $recips{$address} %>" />
- <label for="TxnSendMailTo-<% $address %>-<% $recips{$address} %>"><%$address%></label>
-% $m->callback(CallbackName => 'AfterAddress', Ticket => $TicketObj, Address => Email::Address->parse($address), Type => $type);
- </li>
-% }
- </ul>
+ <textarea cols="80" rows="5"><% Encode::decode( "UTF-8", $scrip->ActionObj->Action->TemplateObj->MIMEObj->as_string )%></textarea>
% }
<br />
% }
diff --git a/rt/share/html/Ticket/Elements/Reminders b/rt/share/html/Ticket/Elements/Reminders
index 1ce2d18..80326db 100644
--- a/rt/share/html/Ticket/Elements/Reminders
+++ b/rt/share/html/Ticket/Elements/Reminders
@@ -50,11 +50,12 @@ $Ticket => undef
$id => undef
$ShowCompleted => 0
$Edit => 0
+$ShowSave => 1
</%args>
<%init>
$Ticket = LoadTicket($id) if ($id);
-my $resolve_status = $Ticket->QueueObj->Lifecycle->ReminderStatusOnResolve;
+my $resolve_status = $Ticket->LifecycleObj->ReminderStatusOnResolve;
my $count_reminders = RT::Reminders->new($session{'CurrentUser'});
$count_reminders->Ticket($Ticket->id);
@@ -67,10 +68,10 @@ my $has_reminders = $count_tickets->Count;
# We've made changes, let's reload our search
my $reminder_collection = $count_reminders->Collection;
-my $visible = 0;
</%init>
<input type="hidden" class="hidden" name="id" value="<% $Ticket->id %>" />
<input type="hidden" class="hidden" name="update-reminders" value="1" />
+% my $editable = 0;
% if ($has_reminders) {
<table border="0" cellpadding="1" cellspacing="0" class="collection-as-table"<% $Edit ? ' style="width: auto;"' : '' |n %>>
<tr>
@@ -89,16 +90,18 @@ my $visible = 0;
% if ( $reminder->Status eq $resolve_status && !$ShowCompleted ) {
<tr class="hidden"><td><input type="hidden" class="hidden" name="Complete-Reminder-<% $reminder->id %>" value="1" /></td></tr>
% $i++;
-% } elsif ($Edit) {
+% }
+% else {
+% $editable = 1 if !$editable && $reminder->CurrentUserHasRight( 'ModifyTicket' );
+% if ($Edit) {
<& SELF:EditEntry, Reminder => $reminder, Ticket => $Ticket, Index => $i &>
-% $visible++;
-% } else {
+% } else {
<& SELF:ShowEntry, Reminder => $reminder, Ticket => $Ticket, Index => $i &>
-% $visible++;
+% }
% }
% }
</table>
-% if ( $visible > 0 ) {
+% if ( $editable ) {
<i><&|/l&>(Check box to complete)</&></i><br /><br />
% }
% } else {
@@ -112,11 +115,15 @@ my $visible = 0;
% }
% }
-% if (lc $Ticket->Status ne "deleted") {
+% if (lc $Ticket->Status ne "deleted" and $Ticket->QueueObj->CurrentUserHasRight('CreateTicket') and $Ticket->CurrentUserHasRight('ModifyTicket') ) {
<&|/l&>New reminder:</&>
<& SELF:NewReminder, Ticket => $Ticket &>
+% $editable = 1;
+% }
+
+% if ( $editable && $ShowSave ) {
+<div align="right"><input type="submit" class="button" value="<&|/l&>Save</&>" /></div>
% }
-% return(lc $Ticket->Status ne "deleted" or $visible);
<%method NewReminder>
<%args>
$Ticket
@@ -142,17 +149,38 @@ $Reminder
$Ticket
$Index
</%args>
-<tr class="<% $Index%2 ? 'oddline' : 'evenline' %>">
-<td class="entry"><input type="checkbox" value="1" name="Complete-Reminder-<% $Reminder->id %>" <% $Reminder->Status eq $Reminder->QueueObj->Lifecycle->ReminderStatusOnResolve ? 'checked="checked"' : '' |n %> /></td>
+<tr class="<% $Index%2 ? 'oddline' : 'evenline' %>" id="reminder-<% $Reminder->id %>">
+<td class="entry">
+% unless ( $Reminder->CurrentUserHasRight('ModifyTicket') ) {
+<input name="Complete-Reminder-<% $Reminder->id %>" type="hidden"
+value=<% $Reminder->Status eq $Reminder->LifecycleObj->ReminderStatusOnResolve ? 1 : 0 %> />
+% }
+
+<input type="checkbox" value="1" name="Complete-Reminder-<% $Reminder->id %>" <% $Reminder->Status eq $Reminder->LifecycleObj->ReminderStatusOnResolve ? 'checked="checked"' : '' |n %>
+% unless ( $Reminder->CurrentUserHasRight('ModifyTicket') ) {
+disabled="disabled"
+% }
+/></td>
<td class="label"><&|/l&>Subject</&>:</td>
-<td class="entry" colspan="3"><input type="text" size="50" name="Reminder-Subject-<% $Reminder->id %>" value="<% $Reminder->Subject %>" /></td>
+<td class="entry" colspan="3">
+<input type="text" size="50" name="Reminder-Subject-<% $Reminder->id %>" value="<% $Reminder->Subject %>"
+% unless ( $Reminder->CurrentUserHasRight('ModifyTicket') ) {
+readonly="readonly"
+% }
+/>
+</td>
</tr>
<tr class="<% $Index%2 ? 'oddline' : 'evenline' %>">
<td class="entry">&nbsp;</td>
<td class="label"><&|/l&>Owner</&>:</td>
<td class="entry"><& /Elements/SelectOwner, Name => 'Reminder-Owner-'.$Reminder->id, QueueObj => $Ticket->QueueObj, Default => $Reminder->Owner, DefaultValue => 0 &></td>
<td class="label"><&|/l&>Due</&>:</td>
-<td class="entry"><& /Elements/SelectDate, Name => 'Reminder-Due-'.$Reminder->id &> (<% $Reminder->DueObj->AsString %>)</td>
+<td class="entry">
+% if ( $Reminder->CurrentUserHasRight('ModifyTicket') ) {
+<& /Elements/SelectDate, Name => 'Reminder-Due-'.$Reminder->id &>
+% }
+(<% $Reminder->DueObj->AsString %>)
+</td>
</tr>
</%method>
<%method ShowEntry>
@@ -162,10 +190,20 @@ $Ticket
$Index
</%args>
% my $dueobj = $Reminder->DueObj;
-% my $overdue = $dueobj->Unix > 0 && $dueobj->Diff < 0 ? 1 : 0;
-<tr class="<% $Index%2 ? 'oddline' : 'evenline' %>">
-<td class="collection-as-table"><input type="checkbox" value="1" name="Complete-Reminder-<% $Reminder->id %>" <% $Reminder->Status eq $Reminder->QueueObj->Lifecycle->ReminderStatusOnResolve ? 'checked="checked"' : '' |n %> /></td>
-<td class="collection-as-table"><% $Reminder->Subject %></td>
+% my $overdue = $dueobj->IsSet && $dueobj->Diff < 0 ? 1 : 0;
+<tr class="<% $Index%2 ? 'oddline' : 'evenline' %>" id="reminder-<% $Reminder->id %>">
+
+<td class="collection-as-table">
+% unless ( $Reminder->CurrentUserHasRight('ModifyTicket') ) {
+<input name="Complete-Reminder-<% $Reminder->id %>" type="hidden"
+value=<% $Reminder->Status eq $Reminder->LifecycleObj->ReminderStatusOnResolve ? 1 : 0 %> />
+% }
+<input type="checkbox" value="1" id="Complete-Reminder-<% $Reminder->id %>" name="Complete-Reminder-<% $Reminder->id %>" <% $Reminder->Status eq $Reminder->LifecycleObj->ReminderStatusOnResolve ? 'checked="checked"' : '' |n %>
+% unless ( $Reminder->CurrentUserHasRight('ModifyTicket') ) {
+disabled="disabled"
+% }
+/></td>
+<td class="collection-as-table"><label for="Complete-Reminder-<% $Reminder->id %>"><% $Reminder->Subject %></label></td>
<td class="collection-as-table"><% $overdue ? '<span class="overdue">' : '' |n %><% $dueobj->AgeAsString || loc('Not set') %><% $overdue ? '</span>' : '' |n %></td>
<td class="collection-as-table"><& /Elements/ShowUser, User => $Reminder->OwnerObj &></td>
</tr>
diff --git a/rt/share/html/Ticket/Elements/SelectStatus b/rt/share/html/Ticket/Elements/SelectStatus
new file mode 100644
index 0000000..f793967
--- /dev/null
+++ b/rt/share/html/Ticket/Elements/SelectStatus
@@ -0,0 +1,83 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<& /Elements/SelectStatus,
+ %ARGS,
+ Statuses => \@Statuses,
+ Object => $TicketObj || $QueueObj,
+ Lifecycles => \@Lifecycles,
+ Type => 'ticket',
+ onchange => $onchange,
+&>
+<%INIT>
+my @Lifecycles;
+for my $id (keys %Queues) {
+ my $queue = RT::Queue->new($session{'CurrentUser'});
+ $queue->Load($id);
+ push @Lifecycles, $queue->LifecycleObj if $queue->id;
+}
+
+if ($TicketObj) {
+ $ARGS{DefaultLabel} = loc("[_1] (Unchanged)", loc($TicketObj->Status));
+ if ($DefaultFromArgs and $DECODED_ARGS->{Status}) {
+ $ARGS{Default} = $DECODED_ARGS->{Status};
+ } elsif (defined $ARGS{Default}) {
+ $ARGS{Default} = undef if $TicketObj->Status eq $ARGS{Default};
+ }
+} elsif ($QueueObj) {
+ $ARGS{DefaultValue} = 0;
+ $ARGS{Default} ||= $DECODED_ARGS->{Status} || $QueueObj->LifecycleObj->DefaultOnCreate;
+}
+</%INIT>
+<%ARGS>
+$DefaultFromArgs => 1,
+@Statuses => ()
+$TicketObj => undef
+$QueueObj => undef
+%Queues => ()
+$onchange => undef
+</%ARGS>
diff --git a/rt/share/html/Ticket/Elements/ShowAttachments b/rt/share/html/Ticket/Elements/ShowAttachments
index 5cf4531..a567844 100755
--- a/rt/share/html/Ticket/Elements/ShowAttachments
+++ b/rt/share/html/Ticket/Elements/ShowAttachments
@@ -56,34 +56,10 @@
<%$key%><br />
<ul>
% foreach my $rev (@{$documents{$key}}) {
-
-<%PERL>
-my $size = $rev->ContentLength;
-
-if ($size) {
- my $kb = int($size/102.4) / 10;
- my $units = RT->Config->Get('AttachmentUnits');
-
- if (!defined($units)) {
- if ($size > 1024) {
- $size = $kb . "k";
- }
- else {
- $size = $size . "b";
- }
- }
- elsif ($units eq 'k') {
- $size = $kb . "k";
- }
- else {
- $size = $size . "b";
- }
-
-</%PERL>
-
+% if ($rev->ContentLength) {
<li><font size="-2">
<a href="<%RT->Config->Get('WebPath')%>/Ticket/Attachment/<%$rev->TransactionId%>/<%$rev->Id%>/<%$rev->Filename | un %>">
-% my $desc = loc("[_1] ([_2]) by [_3]", $rev->CreatedAsString, $size, $m->scomp('/Elements/ShowUser', User => $rev->CreatorObj));
+% my $desc = loc("[_1] ([_2]) by [_3]", $rev->CreatedAsString, $rev->FriendlyContentLength, $m->scomp('/Elements/ShowUser', User => $rev->CreatorObj));
<% $desc |n%>
</a>
</font></li>
@@ -100,8 +76,10 @@ if ($size) {
# If we haven't been passed in an Attachments object (through the precaching mechanism)
# then we need to find one
-$Attachments ||= $m->comp('FindAttachments', Ticket => $Ticket);
+$Attachments ||= $Ticket->Attachments;
+# XXX PERF: why doesn't this Limit on Filename to avoid fetching *all* the
+# attachments?
my %documents;
while ( my $attach = $Attachments->Next() ) {
next unless defined $attach->Filename && length $attach->Filename;
diff --git a/rt/share/html/Ticket/Elements/ShowBasics b/rt/share/html/Ticket/Elements/ShowBasics
index f9ec540..546f581 100755
--- a/rt/share/html/Ticket/Elements/ShowBasics
+++ b/rt/share/html/Ticket/Elements/ShowBasics
@@ -60,12 +60,14 @@
<td class="value"><& ShowTime, minutes => $Ticket->TimeEstimated &></td>
</tr>
% }
+% $m->callback( %ARGS, CallbackName => 'AfterTimeEstimated', TicketObj => $Ticket );
% if ($Ticket->TimeWorked) {
<tr class="time worked">
<td class="label"><&|/l&>Worked</&>:</td>
<td class="value"><& ShowTime, minutes => $Ticket->TimeWorked &></td>
</tr>
% }
+% $m->callback( %ARGS, CallbackName => 'AfterTimeWorked', TicketObj => $Ticket );
% if ($Ticket->TimeLeft) {
<tr class="time left">
<td class="label"><&|/l&>Left</&>:</td>
@@ -83,8 +85,13 @@
<td class="value"><& ShowQueue, Ticket => $Ticket, QueueObj => $Ticket->QueueObj &></td>
</tr>
% }
+ <& /Ticket/Elements/ShowCustomFields, Ticket => $Ticket, Grouping => 'Basics', Table => 0 &>
+% if ($UngroupedCFs) {
+ <& /Ticket/Elements/ShowCustomFields, Ticket => $Ticket, Grouping => '', Table => 0 &>
+% }
% $m->callback( %ARGS, CallbackName => 'EndOfList', TicketObj => $Ticket );
</table>
<%ARGS>
$Ticket => undef
+$UngroupedCFs => 0
</%ARGS>
diff --git a/rt/share/html/Ticket/Elements/ShowCustomFields b/rt/share/html/Ticket/Elements/ShowCustomFields
index 2e2276e..7d4298a 100755
--- a/rt/share/html/Ticket/Elements/ShowCustomFields
+++ b/rt/share/html/Ticket/Elements/ShowCustomFields
@@ -45,7 +45,7 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<& /Elements/ShowCustomFields, Object => $Ticket &>
+<& /Elements/ShowCustomFields, %ARGS, Object => $Ticket &>
<%ARGS>
$Ticket => undef
</%ARGS>
diff --git a/rt/share/html/Ticket/Elements/ShowDates b/rt/share/html/Ticket/Elements/ShowDates
index 9a6e323..24e88e2 100755
--- a/rt/share/html/Ticket/Elements/ShowDates
+++ b/rt/share/html/Ticket/Elements/ShowDates
@@ -50,49 +50,74 @@
<td class="label"><&|/l&>Created</&>:</td>\
<td class="value"><% $Ticket->CreatedObj->AsString %></td>
</tr>
+% $m->callback( %ARGS, CallbackName => 'AfterCreated', TicketObj => $Ticket );
<tr class="date starts">
<td class="label"><&|/l&>Starts</&>:</td>\
<td class="value"><% $Ticket->StartsObj->AsString %></td>
</tr>
+% $m->callback( %ARGS, CallbackName => 'AfterStarts', TicketObj => $Ticket );
<tr class="date started">
<td class="label"><&|/l&>Started</&>:</td>\
<td class="value"><% $Ticket->StartedObj->AsString %></td>
</tr>
+% $m->callback( %ARGS, CallbackName => 'AfterStarted', TicketObj => $Ticket );
<tr class="date told">
<td class="label"><a href="<% RT->Config->Get('WebPath') %>/Ticket/Display.html?id=<% $Ticket->id %>&Action=SetTold"><&|/l&>Last Contact</&></a>:</td>\
<td class="value"><% $Ticket->ToldObj->AsString %></td>
</tr>
+% $m->callback( %ARGS, CallbackName => 'AfterTold', TicketObj => $Ticket );
<tr class="date due">
<td class="label"><&|/l&>Due</&>:</td>\
% my $due = $Ticket->DueObj;
-% if ( $due && $due->Unix > 0 && $due->Diff < 0 ) {
+% if ( $due && $due->IsSet && $due->Diff < 0 && $Ticket->QueueObj->IsActiveStatus($Ticket->Status) ) {
<td class="value"><span class="overdue"><% $due->AsString %></span></td>
% } else {
<td class="value"><% $due->AsString %></td>
% }
</tr>
+% $m->callback( %ARGS, CallbackName => 'AfterDue', TicketObj => $Ticket );
<tr class="date resolved">
<td class="label"><&|/l&>Resolved</&>:</td>\
<td class="value"><% $Ticket->ResolvedObj->AsString %></td>
</tr>
+% $m->callback( %ARGS, CallbackName => 'AfterResolved', TicketObj => $Ticket );
% my $willresolve = $Ticket->WillResolveObj;
% if ( $willresolve && $willresolve->Unix > 0 ) {
<tr>
<td class="label date willresolve"><&|/l&>Will Resolve</&>:</td>
<td class="value date willresolve"><% $willresolve->AsString %></td>
</tr>
-% } # else don't display either of them <tr class="date updated">
+% } # else don't display either of them
+ <tr class="date updated">
<td class="label"><&|/l&>Updated</&>:</td>\
% my $UpdatedString = $Ticket->LastUpdated ? loc("[_1] by [_2]", $Ticket->LastUpdatedAsString, $m->scomp('/Elements/ShowUser', User => $Ticket->LastUpdatedByObj)) : loc("Never");
% if ($UpdatedLink) {
- <td class="value"><a href="#lasttrans"><% $UpdatedString | n %></a></td>
+ <td class="value"><a href="<% $UpdatedLink %>"><% $UpdatedString | n %></a></td>
% } else {
<td class="value"><% $UpdatedString | n %></td>
% }
</tr>
+% $m->callback( %ARGS, CallbackName => 'AfterUpdated', TicketObj => $Ticket );
+ <& /Ticket/Elements/ShowCustomFields, Ticket => $Ticket, Grouping => 'Dates', Table => 0 &>
% $m->callback( %ARGS, CallbackName => 'EndOfList', TicketObj => $Ticket );
</table>
<%ARGS>
$Ticket => undef
$UpdatedLink => 1
</%ARGS>
+<%INIT>
+if ($UpdatedLink and $Ticket) {
+ my $txns = $Ticket->Transactions;
+ $txns->OrderByCols(
+ { FIELD => "Created", ORDER => "DESC" },
+ { FIELD => "id", ORDER => "DESC" },
+ );
+ $txns->RowsPerPage(1);
+
+ if (my $latest = $txns->First) {
+ $UpdatedLink = "#txn-" . $latest->id;
+ } else {
+ undef $UpdatedLink;
+ }
+}
+</%INIT>
diff --git a/rt/share/html/Ticket/Elements/ShowDependencies b/rt/share/html/Ticket/Elements/ShowDependencies
deleted file mode 100755
index 72e37b1..0000000
--- a/rt/share/html/Ticket/Elements/ShowDependencies
+++ /dev/null
@@ -1,66 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<&|/l&>Depends on</&>:<br />
-% while (my $Link = $Ticket->DependsOn->Next) {
-% my $member = $Link->TargetObj;
-<a href="<%RT->Config->Get('WebPath')%>/Ticket/Display.html?id=<%$member->Id%>"><%$member->Id%></a>: (<& /Elements/ShowUser, User => $member->OwnerObj &>) <%$member->Subject%>
-
-[<%$member->Status%>]
- <br />
-% }
-<&|/l&>Depended on by</&>:<br />
-% while (my $Link = $Ticket->DependedOnBy->Next) {
-% my $member = $Link->TargetObj;
-<a href="<%RT->Config->Get('WebPath')%>/Ticket/Display.html?id=<%$member->Id%>"><%$member->Id%></a>: (<& /Elements/ShowUser, User => $member->OwnerObj &>) <%$member->Subject%>
-[<%$member->Status%>]
- <br />
-% }
-
-<%ARGS>
-$Ticket => undef
-</%ARGS>
diff --git a/rt/share/html/Ticket/Elements/ShowDependencyStatus b/rt/share/html/Ticket/Elements/ShowDependencyStatus
new file mode 100644
index 0000000..eba6139
--- /dev/null
+++ b/rt/share/html/Ticket/Elements/ShowDependencyStatus
@@ -0,0 +1,78 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<div class="dependency-status">
+% if ($approvals) {
+ <span class="summary">
+% if ($approvals == 1) {
+ <&|/l&>Pending approval.</&>
+% } else {
+ <&|/l, $approvals &>Pending [quant,_1,approval,approvals].</&>
+% }
+ </span>
+ <&|/l&>This ticket cannot be resolved until it is approved.</&>
+% } else {
+ <span class="summary"><&|/l, $depends &>Pending [quant,_1,ticket,tickets].</&></span>
+ <&|/l, $depends &>This ticket cannot be resolved until its [numerate,_1,dependency is,dependencies are] resolved.</&>
+% }
+</div>
+<%args>
+$Ticket
+</%args>
+<%init>
+# normal tickets
+my $deps = $Ticket->UnresolvedDependencies;
+$deps->LimitType( VALUE => 'ticket' );
+my $depends = $deps->Count || 0;
+
+# approvals
+$deps = $Ticket->UnresolvedDependencies;
+$deps->LimitType( VALUE => 'approval' );
+my $approvals = $deps->Count || 0;
+
+return unless $depends or $approvals;
+</%init>
diff --git a/rt/share/html/Ticket/Elements/ShowGroupMembers b/rt/share/html/Ticket/Elements/ShowGroupMembers
index d42f528..dc5cc6b 100644
--- a/rt/share/html/Ticket/Elements/ShowGroupMembers
+++ b/rt/share/html/Ticket/Elements/ShowGroupMembers
@@ -46,22 +46,16 @@
%#
%# END BPS TAGGED BLOCK }}}
%# Released under the terms of version 2 of the GNU Public License
-
-% my $Users = $Group->UserMembersObj( Recursively => $Recursively );
-% while ( my $user = $Users->Next ) {
-<& /Elements/ShowUser, User => $user, Ticket => $Ticket &>
-<& /Elements/ShowUserEmailFrequency, User => $user, Ticket => $Ticket &>
-% $m->callback( User => $user, Ticket => $Ticket, %ARGS, CallbackName => 'AboutThisUser' );
-<br />
-% }
-% my $Groups = $Group->GroupMembersObj( Recursively => $Recursively );
-% $Groups->LimitToUserDefinedGroups;
-% while (my $group = $Groups->Next) {
-<&|/l&>Group</&>: <% $group->Name %><br />
-% }
-
+<%init>
+my $post_user = sub {
+ my $user = shift;
+ $m->comp("/Elements/ShowUserEmailFrequency", User => $user, Ticket => $Ticket);
+ $m->callback( User => $user, Ticket => $Ticket, %ARGS, CallbackName => 'AboutThisUser', CallbackPage => '/Ticket/Elements/ShowGroupMembers' );
+};
+$m->comp("/Elements/ShowPrincipal", Object => $Group, Separator => "<br />", PostUser => $post_user, Link => $Link);
+</%init>
<%ARGS>
$Group => undef
-$Recursively => 0,
$Ticket => undef
+$Link => 1
</%ARGS>
diff --git a/rt/share/html/Ticket/Elements/ShowHistory b/rt/share/html/Ticket/Elements/ShowHistory
deleted file mode 100755
index 835b66d..0000000
--- a/rt/share/html/Ticket/Elements/ShowHistory
+++ /dev/null
@@ -1,161 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<%doc>
-# This is (ab)used in Admin/(Users|Groups)/History.html and should probably
-# be generalized at some point.
-</%doc>
-<%perl>
-if ($ShowDisplayModes or $ShowTitle) {
- my $title = $ShowTitle
- ? loc('History')
- : '&nbsp;';
-
- my $titleright;
-
- if ($ShowDisplayModes) {
- $titleright = '';
-
- my $open_all = $m->interp->apply_escapes( loc("Show all quoted text"), 'j' );
- my $open_html = $m->interp->apply_escapes( loc("Show all quoted text"), 'h' );
- my $close_all = $m->interp->apply_escapes( loc("Hide all quoted text"), 'j' );
- $titleright .= '<a href="#" data-direction="open" '
- . qq{onclick="return toggle_all_folds(this, $open_all, $close_all);"}
- . ">$open_html</a> &mdash; ";
-
- if ($ShowHeaders) {
- $titleright .= qq{<a href="$URIFile?id=} .
- $Ticket->id.qq{">} .
- loc("Show brief headers") .
- qq{</a>};
- } else {
- $titleright .= qq{<a href="$URIFile?ShowHeaders=1;id=} .
- $Ticket->id.qq{">} .
- loc("Show full headers") .
- qq{</a>};
- }
- }
-</%perl>
-<div class="history">
-<& /Widgets/TitleBoxStart, title => $title, titleright_raw => $titleright &>
-% }
-<div id="ticket-history">
-<%perl>
-my $trans_content = {};
-my $trans_attachments = {};
-
-for my $content (@{$AttachmentContent->ItemsArrayRef()}) {
- $trans_content->{$content->TransactionId}->{$content->Id} = $content;
-}
-
-for my $attachment (@{$Attachments->ItemsArrayRef()}) {
- push (@{$trans_attachments->{$attachment->TransactionId}}, $attachment)
-}
-
-while ( my $Transaction = $Transactions->Next ) {
- my $skip = 0;
- $m->callback(
- %ARGS,
- Transaction => $Transaction,
- skip => \$skip,
- CallbackName => 'SkipTransaction',
- );
- next if $skip;
-
- $i++;
-
- my $IsLastTransaction = 0;
- if ( RT->Config->Get( 'OldestTransactionsFirst', $session{'CurrentUser'} )){
- $IsLastTransaction = $Transactions->IsLast;
- } else {
- $IsLastTransaction = 1 if ( $i == 1 );
- }
-
- #Args is first because we're clobbering the "Attachments" parameter
- $m->comp( 'ShowTransaction',
- %ARGS,
-
- Ticket => $Ticket,
- Transaction => $Transaction,
- ShowHeaders => $ShowHeaders,
- RowNum => $i,
- Attachments => $trans_attachments->{$Transaction->id},
- AttachmentContent => $trans_content,
- LastTransaction => $IsLastTransaction
- );
-
-# manually flush the content buffer after each txn, so the user sees
-# some update
-$m->flush_buffer();
-}
-
-</%perl>
-</div>
-% if ($ShowDisplayModes or $ShowTitle) {
-<& /Widgets/TitleBoxEnd &>
-</div>
-% }
-<%INIT>
-
-my $i;
-$Transactions ||= $m->comp('/Ticket/Elements/FindTransactions',Ticket => $Ticket, Tickets => $Tickets || undef);
-$Attachments ||= $m->comp('/Ticket/Elements/FindAttachments', Ticket => $Ticket, Tickets => $Tickets || undef);
-$AttachmentContent ||= $m->comp('/Ticket/Elements/LoadTextAttachments', Ticket => $Ticket);
-
-</%INIT>
-<%ARGS>
-$URIFile => RT->Config->Get('WebPath')."/Ticket/Display.html"
-$Ticket => undef
-$Tickets => undef
-$Transactions => undef
-$Attachments => undef
-$AttachmentContent => undef
-$ShowHeaders => undef
-$ShowTitle => 1
-$ShowDisplayModes => 1
-$WarnUnsigned => undef
-</%ARGS>
diff --git a/rt/share/html/Ticket/Elements/ShowPeople b/rt/share/html/Ticket/Elements/ShowPeople
index 188cc23..b5b5dab 100755
--- a/rt/share/html/Ticket/Elements/ShowPeople
+++ b/rt/share/html/Ticket/Elements/ShowPeople
@@ -66,6 +66,7 @@
<td class="labeltop"><&|/l&>AdminCc</&>:</td>
<td class="value"><& ShowGroupMembers, Group => $Ticket->AdminCc, Ticket => $Ticket &></td>
</tr>
+ <& /Ticket/Elements/ShowCustomFields, Ticket => $Ticket, Grouping => 'People', Table => 0 &>
</table>
<%INIT>
</%INIT>
diff --git a/rt/share/html/Ticket/Elements/ShowRequestor b/rt/share/html/Ticket/Elements/ShowRequestor
index cfa079f..266604c 100755
--- a/rt/share/html/Ticket/Elements/ShowRequestor
+++ b/rt/share/html/Ticket/Elements/ShowRequestor
@@ -45,33 +45,28 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
+% if ($ShowTickets) {
<script type="text/javascript">
jQuery(function() {
- jQuery("#requestor-accordion").accordion({
- active: <% $count == 1 ? 0 : 'false' %>,
- collapsible: true,
- autoHeight: false
- });
-
-% if ($ShowTickets) {
jQuery(".more-about-requestor-tickets").tabs({
cache: true,
collapsible: true,
selected: <% $selected %>
});
-% }
});
</script>
+% }
<&| /Widgets/TitleBox,
title_raw => loc("More about the requestors"),
class => 'ticket-info-requestor'
&>
-<div id="requestor-accordion">
+<div id="requestor-accordion" class="user-accordion">
% while ( my $requestor = $people->Next ) {
- <h3><a href="#"><& /Elements/ShowUser, User => $requestor &></a></h3>
+<h3><a href="#"><& /Elements/ShowUser, User => $requestor, Link => 0 &></a>
+ <a class="user-summary" href="<%RT->Config->Get('WebPath')%>/User/Summary.html?id=<%$requestor->Id%>">User Summary</a></h3>
<div class="details">
%# Additional information about this user. Empty by default.
@@ -85,6 +80,8 @@
</div>
% }
+% $m->callback( requestor => $requestor, %ARGS, CallbackName => 'AfterComments' );
+
% if ( $ShowTickets ) {
<div class="more-about-requestor-tickets ui-tabs" id="more-about-requestor-tickets-<%$requestor->Id%>">
<ul>
@@ -108,7 +105,7 @@
<div id="requestor-<%$requestor->Id%>-ticket-tab-default">
<& $TicketTemplate, Requestor => $requestor &>
% } else {
- <div id="requestor-<%$requestor->Id%>-ticket-tab-<% $index++ %>" class="ui-tabs-hide">
+ <div id="requestor-<%$requestor->Id%>-ticket-tab-<% $index++ %>" class="hidden">
<span class="label"><&|/l&>Loading...</&></span>
% }
</div>
@@ -131,15 +128,13 @@
</div>
% }
-% if ( $has_right_adminusers ) {
- <a class="modify-user" href="<% RT->Config->Get('WebPath')."/Admin/Users/Modify.html?id=".$requestor->id %>"><&|/l&>Modify this user</&></a>
-% }
-
%# end of individual requestor details <div>
</div>
% }
%# end of requestors loop
+% $m->callback( %ARGS, CallbackName => 'AfterRequestors' );
+
</div>
</&>
<%INIT>
@@ -167,17 +162,20 @@ my $status_link_text = {Active => loc('Active Tickets'),
my $status_order = [qw/Active Inactive All/];
$m->callback( CallbackName => 'AddStatus', status_link_text => \$status_link_text, status_order => \$status_order );
-unless ( $DefaultTicketsTab eq 'None' ) {
+$ShowTickets = 0 if $DefaultTicketsTab eq 'None';
+
+my $TicketTemplate;
+if ($ShowTickets) {
for (0 .. (@$status_order - 1)) {
$selected = $_ && last
if $status_order->[$_] eq $DefaultTicketsTab;
}
-}
-my $TicketTemplate = "ShowRequestorTickets$DefaultTicketsTab";
-$TicketTemplate = "ShowRequestorTicketsActive"
- unless RT::Interface::Web->ComponentPathIsSafe($TicketTemplate)
- and $m->comp_exists($TicketTemplate);
+ $TicketTemplate = "ShowRequestorTickets$DefaultTicketsTab";
+ $TicketTemplate = "ShowRequestorTicketsActive"
+ unless RT::Interface::Web->ComponentPathIsSafe($TicketTemplate)
+ and $m->comp_exists($TicketTemplate);
+}
</%INIT>
<%ARGS>
$Ticket=>undef
diff --git a/rt/share/html/Ticket/Elements/ShowRequestorExtraInfo b/rt/share/html/Ticket/Elements/ShowRequestorExtraInfo
index 42c8f25..cd2dbc8 100644
--- a/rt/share/html/Ticket/Elements/ShowRequestorExtraInfo
+++ b/rt/share/html/Ticket/Elements/ShowRequestorExtraInfo
@@ -45,45 +45,7 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<div class="more-about-requestor-extra">
-% for my $column (@formats) {
-% my $title = $column->{title} || '';
-% my $attr = $column->{'attribute'} || $column->{'last_attribute'};
-% unless (defined $column->{title}) {
-% $title = $fetch_columnmap->($attr,'title',[$attr]);
-% }
-% $title = $m->comp('/Elements/ScrubHTML', Content => $title);
-<div class="more-about-requestor-extra-field <% $fetch_columnmap->($attr,'attribute',[$attr]) %>" >
-<span class="label"><% loc($title) %></span>
-% my @out;
-% foreach my $subcol ( @{ $column->{output} } ) {
-% my ($col) = ($subcol =~ /^__(.*?)__$/);
-% unless ( $col ) {
-% push @out, $subcol;
-% next;
-% }
-% push @out, $fetch_columnmap->($col, 'value', [$Requestor]);
-% }
-% @out = grep { defined $_ and length $_ } @out;
-<span class="value"><% join(' ',@out) %></span>
-</div>
-% }
-</div>
-<%INIT>
-my $format = RT->Config->Get('MoreAboutRequestorExtraInfo');
-my @formats = $m->comp('/Elements/CollectionAsTable/ParseFormat', Format => $format);
-
-my $fetch_columnmap = sub {
- my ($name, $attr, $arguments) = @_;
- my $tmp = $m->comp( '/Elements/ColumnMap',
- Class => $Class,
- Name => $name,
- Attr => $attr,
- );
- return ProcessColumnMapValue( $tmp, Arguments => $arguments, Escape => 0 );
-};
-</%INIT>
+<& /User/Elements/UserInfo, User => $Requestor, FormatConfig => 'MoreAboutRequestorExtraInfo', ClassPrefix => 'more-about-requestor' &>
<%ARGS>
$Requestor => undef
-$Class => 'RT__User';
</%ARGS>
diff --git a/rt/share/html/Ticket/Elements/ShowRequestorTickets b/rt/share/html/Ticket/Elements/ShowRequestorTickets
index 1213d3d..55e7819 100644
--- a/rt/share/html/Ticket/Elements/ShowRequestorTickets
+++ b/rt/share/html/Ticket/Elements/ShowRequestorTickets
@@ -45,31 +45,21 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<span class="label">
- <a href="<% $url %>"><&|/l, $Rows, $Description &>This user's [_1] highest priority [_2] tickets</&>:</a>
-</span>
-<ul>
-%while (my $w=$tickets->Next) {
-%my $uri = RT::URI->new( $session{'CurrentUser'} );
-%$uri->FromObject($w);
-<li class="value"><& /Elements/ShowLink, URI => $uri &></li>
-%}
-</ul>
+<& /User/Elements/TicketList,
+ User => $Requestor,
+ conditions => $conditions,
+ Rows => $Rows,
+ Title => $Title,
+ WatcherTypes => ['Requestor'],
+ Format => => RT->Config->Get('MoreAboutRequestorTicketListFormat'),
+ &>
<%INIT>
-my $sql = "Requestor.id = ". $Requestor->id;
-if (@$conditions) {
- $sql .= " AND (".join( " OR ", map $_->{cond}, @$conditions).")";
-}
-my $tickets = RT::Tickets->new( $session{'CurrentUser'} );
-$tickets->FromSQL( $sql );
-$tickets->RowsPerPage( $Rows );
-$tickets->OrderBy( FIELD => 'Priority', ORDER => 'DESC' );
+my $Title = loc("This user's [_1] highest priority [_2] tickets", $Rows, $Description );
-my $url = RT->Config->Get('WebPath') . '/Search/Results.html?';
- $url .= $m->comp('/Elements/QueryString',
- Query => $sql,
- OrderBy => 'Priority',
- Order => 'DESC' );
+$m->callback( CallbackName => 'ModifyTitle',
+ %ARGS,
+ Title => \$Title
+);
</%INIT>
<%ARGS>
$Requestor => undef
diff --git a/rt/share/html/Ticket/Elements/ShowSimplifiedRecipients b/rt/share/html/Ticket/Elements/ShowSimplifiedRecipients
index 73c1fd9..2f07456 100644
--- a/rt/share/html/Ticket/Elements/ShowSimplifiedRecipients
+++ b/rt/share/html/Ticket/Elements/ShowSimplifiedRecipients
@@ -64,14 +64,6 @@ if ($Object->Scrips) {
}
}
}
-if ($Object->Rules) {
- for my $rule (grep {$_->{hints} and $_->{hints}{class} eq "SendEmail"} @{$Object->Rules}) {
- for my $type (qw(To Cc Bcc)) {
- $headers{$type}{$_} ||= @{[Email::Address->parse($_)]}[0] # Hate list context
- for @{$rule->{hints}{recipients}{$type}};
- }
- }
-}
my %recips;
my %squelched = ProcessTransactionSquelching( \%ARGS );
</%init>
@@ -95,8 +87,9 @@ my %squelched = ProcessTransactionSquelching( \%ARGS );
% }
% $m->callback( CallbackName => 'AfterRecipients', TicketObj => $TicketObj );
</table>
-<i>(Uncheck boxes to disable notifications to the listed
-recipients. Does <b>not</b> change who will receive future
-updates.)</i>
+<p>
+<&|/l, RT->Config->Get('WebPath')."/Ticket/ModifyPeople.html?id=".$TicketObj->Id,
+&>Uncheck boxes to disable notifications to the listed recipients <b>for this transaction only</b>; persistent squelching is managed on the <a href="[_1]">People page</a>.</&>
+</p>
</&>
% $m->notes("DryRun-Recipients-".$TicketObj->Id, \%recips);
diff --git a/rt/share/html/Ticket/Elements/ShowSummary b/rt/share/html/Ticket/Elements/ShowSummary
index 25782e6..9c8c8b4 100755
--- a/rt/share/html/Ticket/Elements/ShowSummary
+++ b/rt/share/html/Ticket/Elements/ShowSummary
@@ -53,11 +53,11 @@
(($can_modify || $can_modify_cf) ? (title_href => RT->Config->Get('WebPath')."/Ticket/Modify.html?id=".$Ticket->Id) : ()),
class => 'ticket-info-basics',
&><& /Ticket/Elements/ShowBasics, Ticket => $Ticket &></&>
- <&| /Widgets/TitleBox, title => loc('Custom Fields'),
- (($can_modify || $can_modify_cf) ? (title_href => RT->Config->Get('WebPath')."/Ticket/Modify.html?id=".$Ticket->Id) : ()),
- class => 'ticket-info-cfs',
- hide_empty => 1,
- &><& /Ticket/Elements/ShowCustomFields, Ticket => $Ticket &></&>
+
+ <& /Elements/ShowCustomFieldCustomGroupings,
+ Object => $Ticket,
+ title_href => ($can_modify || $can_modify_cf) ? RT->Config->Get('WebPath')."/Ticket/Modify.html" : "",
+ &>
<&| /Widgets/TitleBox, title => loc('Customers'),
#$can_modify_customers?
@@ -70,6 +70,7 @@
class => 'ticket-info-people',
&><& /Ticket/Elements/ShowPeople, Ticket => $Ticket &></&>
<& /Ticket/Elements/ShowAttachments, Ticket => $Ticket, Attachments => $Attachments &>
+% $m->callback( %ARGS, CallbackName => 'AfterAttachments' );
<& /Ticket/Elements/ShowRequestor, Ticket => $Ticket &>
% $m->callback( %ARGS, CallbackName => 'LeftColumn' );
</td>
@@ -82,9 +83,7 @@
&>
<table><tr><td>
<form action="<%RT->Config->Get('WebPath')%>/Ticket/Display.html" name="UpdateReminders" id="UpdateReminders" method="post">
-% if ( $m->comp("/Ticket/Elements/Reminders", Ticket => $Ticket, ShowCompleted => 0) ) {
- <div align="right"><input type="submit" class="button" value="<&|/l&>Save</&>" /></div>
-% }
+ <& /Ticket/Elements/Reminders, Ticket => $Ticket, ShowCompleted => 0 &>
</form>
</td></tr></table>
</&>
@@ -100,7 +99,7 @@
($can_modify ? (title_href => RT->Config->Get('WebPath')."/Ticket/ModifyLinks.html?id=".$Ticket->Id) : ()),
class => 'ticket-info-links',
@extra,
- &><& /Elements/ShowLinks, Ticket => $Ticket &></&>
+ &><& /Elements/ShowLinks, Object => $Ticket &></&>
% $m->callback( %ARGS, CallbackName => 'RightColumn' );
</td>
</tr>
@@ -112,9 +111,7 @@ $Attachments => undef
<%INIT>
my $can_modify = $Ticket->CurrentUserHasRight('ModifyTicket');
my $can_modify_cf = $Ticket->CurrentUserHasRight('ModifyCustomField');
-my $can_modify_owner = $Ticket->CurrentUserHasRight('OwnTicket')
- || $Ticket->CurrentUserHasRight('TakeTicket')
- || $Ticket->CurrentUserHasRight('StealTicket');
+my $can_modify_owner = $Ticket->CurrentUserCanSetOwner();
my $can_modify_people = $Ticket->CurrentUserHasRight('Watch')
|| $Ticket->CurrentUserHasRight('WatchAsAdminCc');
</%INIT>
diff --git a/rt/share/html/Ticket/Elements/ShowTime b/rt/share/html/Ticket/Elements/ShowTime
index 2653146..2645353 100644
--- a/rt/share/html/Ticket/Elements/ShowTime
+++ b/rt/share/html/Ticket/Elements/ShowTime
@@ -46,9 +46,9 @@
%#
%# END BPS TAGGED BLOCK }}}
% if ($minutes < 60) {
-<&|/l, $minutes &>[_1] min</&>
+<&|/l, $minutes &>[quant,_1,minute,minutes]</&>
% } else {
-<&|/l, sprintf("%.1f",$minutes / 60) &>[quant,_1,hour]</&> (<&|/l, $minutes &>[_1] min</&>)
+<&|/l, sprintf("%.1f",$minutes / 60), $minutes &>[quant,_1,hour,hours] ([quant,_2,minute,minutes])</&>
% }
<%init>
$minutes ||= 0;
diff --git a/rt/share/html/Ticket/Elements/ShowTransaction b/rt/share/html/Ticket/Elements/ShowTransaction
deleted file mode 100755
index bf3c527..0000000
--- a/rt/share/html/Ticket/Elements/ShowTransaction
+++ /dev/null
@@ -1,240 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<div class="ticket-transaction <% $type_class %> <%$type%> <% $RowNum % 2 ? 'odd' : 'even' %>">
-% $m->callback( titlebar_cmd => \$titlebar_commands, Transaction => $Transaction, %ARGS, CallbackName => 'ModifyDisplay' );
-<div class="ticket-transaction">
-% $m->callback( titlebar_cmd => \$titlebar_commands, Transaction => $Transaction, %ARGS, CallbackName => 'ModifyCommand' );
- <div class="metadata">
- <span class="type">
- <a name="txn-<% $Transaction->Id %>" href="<% $DisplayPath %>#txn-<% $Transaction->Id %>">#</a>\
- <% $LastTransaction ? '<a id="lasttrans" name="lasttrans"></a>' : ''|n %>
- </span>
-% $m->callback( Transaction => $Transaction, %ARGS, CallbackName => 'AfterAnchor' );
- <span class="date"><% $transdate|n %></span>
-% my $desc = $Transaction->BriefDescription;
-% $m->callback( text => \$desc, Transaction => $Transaction, %ARGS, CallbackName => 'ModifyDisplay' );
- <span class="description">\
-<& /Elements/ShowUser, User => $Transaction->CreatorObj &> - <% $TicketString %> <% $desc %>\
-% $m->callback( Transaction => $Transaction, %ARGS, CallbackName => 'AfterDescription' );
-</span>
-% $m->callback( TimeTaken => \$TimeTaken, Transaction => $Transaction, %ARGS, CallbackName => 'ModifyTimeTaken' );
- <span class="time-taken"><% $TimeTaken %></span>\
- <span class="actions<% $titlebar_commands ? '': ' hidden'%>"><% $titlebar_commands |n %></span>
- </div>
- <div class="content">
-% if ( $type_class eq 'message' ) {
- <& /Elements/ShowCustomFields, Object => $Transaction &>
-% }
-% $m->comp('ShowTransactionAttachments', %ARGS, Parent => 0) unless ($Collapsed ||!$ShowBody);
- </div>
-</div>
-</div>
-<%ARGS>
-$Ticket => undef
-$Transaction => undef
-$ShowHeaders => 0
-$Collapsed => undef
-$ShowTitleBarCommands => 1
-$RowNum => 1
-$DisplayPath => RT->Config->Get('WebPath')."/Ticket/Display.html?id=".$Ticket->id
-$AttachPath => RT->Config->Get('WebPath')."/Ticket/Attachment"
-$UpdatePath => RT->Config->Get('WebPath')."/Ticket/Update.html"
-$ForwardPath => RT->Config->Get('WebPath')."/Ticket/Forward.html"
-$EncryptionPath => RT->Config->Get('WebPath')."/Ticket/GnuPG.html"
-$EmailRecordPath => RT->Config->Get('WebPath')."/Ticket/ShowEmailRecord.html"
-$Attachments => undef
-$AttachmentContent => undef
-$ShowBody => 1
-$LastTransaction => 0
-$WarnUnsigned => undef
-</%ARGS>
-<%ONCE>
-
-my %class = (
- Correspond => 'message',
- Comment => 'message',
-
- AddWatcher => 'people',
- DelWatcher => 'people',
- Take => 'people',
- Untake => 'people',
- Force => 'people',
- Steal => 'people',
- Give => 'people',
-
- AddLink => 'links',
- DeleteLink => 'links',
-);
-
-</%ONCE>
-<%INIT>
-
-my $transdate = $Transaction->CreatedAsString();
-$transdate =~ s/\s/&nbsp;/g;
-
-my ($type, $field) = ($Transaction->Type, $Transaction->Field || '');
-my $type_class = $class{ $type };
-if ( $type eq 'Create' && $Transaction->ObjectType eq 'RT::Ticket' ) {
- $type_class = 'message';
-}
-
-unless ( $type_class ) {
- if ( $field eq 'Owner' ) {
- $type_class = 'people';
- }
- elsif ( $type =~ /^(Status|Set|Told)$/ ) {
- if ( $field =~ /^(Told|Starts|Started|Due)$/ ) {
- $type_class = 'dates';
- }
- else {
- $type_class = 'basics';
- }
- }
- else {
- $type_class = 'other';
- }
-}
-
-$m->callback(
- CallbackName => 'MassageTypeClass',
- Transaction => $Transaction,
- TypeClassRef => \$type_class,
- ARGSRef => \%ARGS,
-);
-
-my $TicketString = '';
-if ( $Ticket->Id != $Transaction->Ticket ) {
- $TicketString = loc("Ticket #[_1]:", $Transaction->Ticket) .' ';
-}
-
-my $TimeTaken = '';
-$TimeTaken = $Transaction->TimeTaken . " min"
- if $Transaction->TimeTaken;
-
-unless ($Attachments) {
- my $attachments = $Transaction->Attachments;
- $attachments->Columns( qw( Id Filename ContentType Headers Subject Parent ContentEncoding ContentType TransactionId) );
- $ARGS{'Attachments'} = $Attachments = $attachments->ItemsArrayRef();
-}
-my $titlebar_commands = '';
-
-$m->callback(
- CallbackName => 'MassageAttachments',
- Transaction => $Transaction,
- AttachmentsRef => \$Attachments,
- ARGSRef => \%ARGS,
-);
-
-if ( $type =~ /EmailRecord$/ ) {
-
- $titlebar_commands .=
- "[<a target=\"_blank\" href=\"$EmailRecordPath?id="
- . $Transaction->Ticket
- . "&Transaction="
- . $Transaction->Id
- . "&Attachment="
- . ( $Attachments->[0] && $Attachments->[0]->id )
- . '">' . loc('Show') . "</a>]&nbsp;";
- $ShowBody = 0;
-}
-
-
-# If the transaction has anything attached to it at all
-else {
-
- if ( $Attachments->[0] && $ShowTitleBarCommands ) {
- my $ticket = $Transaction->TicketObj;
- my $can_modify = $ticket->CurrentUserHasRight('ModifyTicket');
- if ( $can_modify || $ticket->CurrentUserHasRight('ReplyToTicket') ) {
- $titlebar_commands .=
- "[<a href=\"" . $UpdatePath
- . "?id=" . $Transaction->Ticket
- . "&QuoteTransaction=" . $Transaction->Id
- . "&Action=Respond\" "
- . "class=\"reply-link\""
- . ">"
- . loc('Reply')
- . "</a>]&nbsp;";
- }
- if ( $can_modify || $ticket->CurrentUserHasRight('CommentOnTicket') ) {
- $titlebar_commands .=
- "[<a href=\"" . $UpdatePath
- . "?id=" . $Transaction->Ticket
- . "&QuoteTransaction=" . $Transaction->Id
- . "&Action=Comment\" "
- . "class=\"comment-link\""
- . ">"
- . loc('Comment')
- . "</a>]";
- }
- if ( $ticket->CurrentUserHasRight('ForwardMessage') ) {
- $titlebar_commands .=
- "[<a href=\"" . $ForwardPath
- . "?id=" . $Transaction->Ticket
- . "&QuoteTransaction=" . $Transaction->Id ."\" "
- . "class=\"forward-link\""
- . ">"
- . loc('Forward')
- . "</a>]";
- }
- if ( $can_modify
- && RT->Config->Get('GnuPG')->{'Enable'}
- && RT->Config->Get('GnuPG')->{'AllowEncryptDataInDB'}
- && $ticket->CurrentUserHasRight('ForwardMessage')
- ) {
- $titlebar_commands .=
- "[<a href=\"" . $EncryptionPath
- . "?id=" . $Transaction->Id ."\" "
- . "class=\"gpg-link\""
- . ">"
- . loc('Encrypt/Decrypt')
- . "</a>]";
- }
- }
-}
-</%INIT>
diff --git a/rt/share/html/Ticket/Elements/ShowUserEntry b/rt/share/html/Ticket/Elements/ShowUserEntry
deleted file mode 100644
index a589168..0000000
--- a/rt/share/html/Ticket/Elements/ShowUserEntry
+++ /dev/null
@@ -1,56 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<& /Elements/ShowUser, %ARGS &>
-% if ($Ticket and grep { $_->Content eq $User->EmailAddress } $Ticket->SquelchMailTo) {
-<b><&|/l&>(Will not be sent email)</&></b>
-% }
-
-<%ARGS>
-$User => undef
-$Ticket => undef
-</%ARGS>
diff --git a/rt/share/html/Ticket/Elements/UpdateCc b/rt/share/html/Ticket/Elements/UpdateCc
index eaa78c5..843dd3b 100644
--- a/rt/share/html/Ticket/Elements/UpdateCc
+++ b/rt/share/html/Ticket/Elements/UpdateCc
@@ -47,7 +47,7 @@
%# END BPS TAGGED BLOCK }}}
% $m->callback(CallbackName => 'BeforeCc', ARGSRef => \%ARGS, Ticket => $TicketObj, one_time_Ccs => \@one_time_Ccs, txn_addresses => \%txn_addresses);
-<tr><td class="label"><&|/l&>One-time Cc</&>:</td><td><& /Elements/EmailInput, Name => 'UpdateCc', Size => undef, Default => $ARGS{UpdateCc} &>
+<tr><td class="label"><&|/l&>One-time Cc</&>:</td><td><& /Elements/EmailInput, Name => 'UpdateCc', Size => undef, Default => $ARGS{UpdateCc}, AutocompleteMultiple => 1 &>
<input type="hidden" id="UpdateIgnoreAddressCheckboxes" name="UpdateIgnoreAddressCheckboxes" value="0">
<br />
@@ -62,10 +62,11 @@
type="checkbox"
% my $clean_addr = $txn_addresses{$addr}->format;
onClick="checkboxToInput('UpdateCc', <% "UpdateCc-$addr" |n,j%>, <%$clean_addr|n,j%> );"
- <% $ARGS{'UpdateCc-'.$addr} ? 'checked="checked"' : ''%> > <& /Elements/ShowUser, Address => $txn_addresses{$addr}&>
+ <% $ARGS{'UpdateCc-'.$addr} ? 'checked="checked"' : ''%> >
+ <label for="UpdateCc-<%$addr%>"><& /Elements/ShowUser, Address => $txn_addresses{$addr}&></label>
%}
</td></tr>
-<tr><td class="label"><&|/l&>One-time Bcc</&>:</td><td><& /Elements/EmailInput, Name => 'UpdateBcc', Size => undef, Default => $ARGS{UpdateBcc} &><br />
+<tr><td class="label"><&|/l&>One-time Bcc</&>:</td><td><& /Elements/EmailInput, Name => 'UpdateBcc', Size => undef, Default => $ARGS{UpdateBcc}, AutocompleteMultiple => 1 &><br />
%if (scalar @one_time_Ccs) {
<i class="label">(<&|/l&>check to add</&>)</i>
%}
@@ -77,8 +78,8 @@
type="checkbox"
% my $clean_addr = $txn_addresses{$addr}->format;
onClick="checkboxToInput('UpdateBcc', <% "UpdateBcc-$addr" |n,j%>, <%$clean_addr|n,j%> );"
- <% $ARGS{'UpdateBcc-'.$addr} ? 'checked="checked"' : ''%>>
-<& /Elements/ShowUser, Address => $txn_addresses{$addr}&>
+ <% $ARGS{'UpdateBcc-'.$addr} ? 'checked="checked"' : ''%> >
+ <label for="UpdateBcc-<%$addr%>"><& /Elements/ShowUser, Address => $txn_addresses{$addr}&></label>
%}
</td></tr>
<%args>
diff --git a/rt/share/html/Ticket/Forward.html b/rt/share/html/Ticket/Forward.html
index e457aeb..2970298 100644
--- a/rt/share/html/Ticket/Forward.html
+++ b/rt/share/html/Ticket/Forward.html
@@ -61,19 +61,32 @@
<td><% $from %></td></tr>
<tr><td align="right"><&|/l&>Subject</&>:</td>
-<td><% $subject %></td></tr>
+<td><input name="Subject" size="60" value="<% $ARGS{'Subject'} || $subject %>" /></td></tr>
<tr><td align="right"><&|/l&>To</&>:</td>
-<td><input name="To" size="60" value="<% $ARGS{'To'} || '' %>" /></td></tr>
+<td><& /Elements/EmailInput, Name => "To", AutocompleteMultiple => 1, Default => $ARGS{'To'} &></td></tr>
<tr><td align="right"><&|/l&>Cc</&>:</td>
-<td><input name="Cc" size="60" value="<% $ARGS{'Cc'} || '' %>" /></td></tr>
+<td><& /Elements/EmailInput, Name => "Cc", AutocompleteMultiple => 1, Default => $ARGS{'Cc'} &></td></tr>
<tr><td align="right"><&|/l&>Bcc</&>:</td>
-<td><input name="Bcc" size="60" value="<% $ARGS{'Bcc'} || '' %>" /></td></tr>
+<td><& /Elements/EmailInput, Name => "Bcc", AutocompleteMultiple => 1, Default => $ARGS{'Bcc'} &></td></tr>
+
+<tr>
+<td><&|/l&>Content</&>:</td>
+<td>
+% if (exists $ARGS{Content}) {
+<& /Elements/MessageBox, Default => $ARGS{Content}, IncludeSignature => 0 &>
+% } else {
+<& /Elements/MessageBox &>
+%}
+</td>
+</tr>
</table>
+<& /Ticket/Elements/ShowAttachments, Ticket => $TicketObj, Attachments => $attachments &>
+
<& /Elements/Submit, Label => loc('Forward Message and Return'), Name => 'ForwardAndReturn' &>
<& /Elements/Submit, Label => loc('Forward Message'), Name => 'Forward' &>
</form>
@@ -94,10 +107,7 @@ if ( $QuoteTransaction ) {
my @results;
if ( $Forward || $ForwardAndReturn ) {
- require RT::Interface::Email;
- my ($status, $msg) = $txn
- ? RT::Interface::Email::ForwardTransaction( $txn, %ARGS )
- : RT::Interface::Email::ForwardTicket( $TicketObj, %ARGS );
+ my ( $status, $msg ) = $TicketObj->Forward( Transaction => $txn, %ARGS );
push @results, $msg;
if ( $ForwardAndReturn ) {
@@ -115,9 +125,12 @@ my $Title = $txn
my $from = RT::Interface::Email::GetForwardFrom(
$txn ? ( Transaction => $txn ) : ( Ticket => $TicketObj ) );
-my $subject = $TicketObj->Subject;
-$subject = RT::Interface::Email::AddSubjectTag( $subject, $TicketObj )
- unless RT->Config->Get('ForwardFromUser');
+my $subject = "Fwd: ".($txn || $TicketObj)->Subject;
+
+my $attachments = RT::Interface::Email::GetForwardAttachments(
+ Ticket => $TicketObj,
+ $txn ? ( Transaction => $txn ) : (),
+);
</%INIT>
diff --git a/rt/share/html/Ticket/Graphs/Elements/EditGraphProperties b/rt/share/html/Ticket/Graphs/Elements/EditGraphProperties
index 2079202..45dbd7d 100644
--- a/rt/share/html/Ticket/Graphs/Elements/EditGraphProperties
+++ b/rt/share/html/Ticket/Graphs/Elements/EditGraphProperties
@@ -72,7 +72,8 @@
% foreach my $type ( @link_types ) {
% my $checked = '';
% $checked = 'checked="checked"' if grep $type eq $_, @ShowLinks;
-<input type="checkbox" name="ShowLinks" value="<% $type %>" <% $checked |n %> /><% loc($type) %>
+<input type="checkbox" id="ShowLinks" name="ShowLinks" value="<% $type %>" <% $checked |n %> />
+<label for="ShowLinks"><% loc($type) %></label>
% }
<br />
@@ -98,8 +99,8 @@ while ( my ($group, $list) = (splice @tmp, 0, 2) ) {
% if ( RT::Link->can('Description' ) ) {
% my $checked = '';
% $checked = 'checked="checked"' if $ShowLinkDescriptions;
-<% loc('Show link descriptions') %>:
-<input type="checkbox" name="ShowLinkDescriptions" value="1" <% $checked |n %> />
+<label for="ShowLinkDescriptions"><% loc('Show link descriptions') %>:</label>
+<input type="checkbox" id="ShowLinkDescriptions" name="ShowLinkDescriptions" value="1" <% $checked |n %> />
<br />
% }
@@ -158,7 +159,8 @@ $class = 'class="hidden"' if $Level != 1 && !@Default;
% foreach my $prop ( @$list ) {
% my $checked = '';
% $checked = 'checked="checked"' if grep $_ eq $prop, @Default;
-<input type="checkbox" class="checkbox" name="Level-<% $Level %>-Properties" value="<% $prop %>" <% $checked |n %> /><% loc($prop) %>
+<input type="checkbox" class="checkbox" id="Level-<% $Level %>-Properties" name="Level-<% $Level %>-Properties" value="<% $prop %>" <% $checked |n %> />
+<label for="Level-<% $Level %>-Properties"><% loc($prop) %></label>
% }
</td></tr>
% }
diff --git a/rt/share/html/Ticket/History.html b/rt/share/html/Ticket/History.html
index 3fa05fe..0837c99 100755
--- a/rt/share/html/Ticket/History.html
+++ b/rt/share/html/Ticket/History.html
@@ -53,12 +53,12 @@
<br />
-<& /Ticket/Elements/ShowHistory ,
- Ticket => $Ticket,
+<& /Elements/ShowHistory,
+ Object => $Ticket,
ShowHeaders => $ARGS{'ShowHeaders'},
- URIFile => 'History.html',
Attachments => $attachments,
- AttachmentContent => $attachment_content
+ AttachmentContent => $attachment_content,
+ DisplayPath => 'History.html',
&>
% $m->callback( %ARGS, CallbackName => 'AfterShowHistory', Ticket => $Ticket );
@@ -77,9 +77,8 @@ unless ($Ticket->CurrentUserHasRight('ShowTicket')) {
Abort("No permission to view ticket");
}
-my $attachments = $m->comp('Elements/FindAttachments', Ticket => $Ticket);
-my $attachment_content = $m->comp('Elements/LoadTextAttachments', Ticket =>
-$Ticket);
+my $attachments = $Ticket->Attachments;
+my $attachment_content = $Ticket->TextAttachments;
</%INIT>
diff --git a/rt/share/html/Ticket/Modify.html b/rt/share/html/Ticket/Modify.html
index af417e9..40adbda 100755
--- a/rt/share/html/Ticket/Modify.html
+++ b/rt/share/html/Ticket/Modify.html
@@ -56,36 +56,61 @@
<input type="hidden" class="hidden" name="id" value="<% $TicketObj->Id %>" />
<&| /Widgets/TitleBox, title => loc('Modify ticket #[_1]',$TicketObj->Id), class=>'ticket-info-basics' &>
-<& Elements/EditBasics, TicketObj => $TicketObj &>
-<& Elements/EditCustomFields, TicketObj => $TicketObj, DefaultsFromTopArguments => 0 &>
+<table>
+<& Elements/EditBasics, TicketObj => $TicketObj, defaults => \%ARGS, InTable => 1 &>
+<& Elements/EditCustomFields, Object => $TicketObj, Grouping => 'Basics', InTable => 1, DefaultsFromTopArguments => 0 &>
+</table>
</&>
% $m->callback( CallbackName => 'AfterBasics', Ticket => $TicketObj );
+<& /Elements/EditCustomFieldCustomGroupings, Object => $TicketObj &>
+
<& /Elements/Submit, Name => 'SubmitTicket', Label => loc('Save Changes'), Caption => loc("If you've updated anything above, be sure to"), color => "#993333" &>
</form>
+
+% $m->callback(CallbackName => 'AfterForm', ARGSRef => \%ARGS, Ticket => $TicketObj);
<%INIT>
my $TicketObj = LoadTicket($id);
my $CustomFields = $TicketObj->CustomFields;
-# call this to show up hints of valid cf values.
-$m->comp(
- '/Elements/ValidateCustomFields',
- CustomFields => $CustomFields,
- ARGSRef => {},
-);
+my @results;
+my $skip_update = 0;
# Now let callbacks have a chance at editing %ARGS
-$m->callback( TicketObj => $TicketObj, CustomFields => $CustomFields, ARGSRef => \%ARGS );
+$m->callback( TicketObj => $TicketObj, CustomFields => $CustomFields, ARGSRef => \%ARGS, skip_update => \$skip_update, results => \@results )
-my @results;
-push @results, ProcessTicketBasics(TicketObj => $TicketObj, ARGSRef => \%ARGS);
-push @results, ProcessObjectCustomFieldUpdates(Object => $TicketObj, ARGSRef => \%ARGS);
push @results, ProcessTicketStatus(TicketObj => $TicketObj, ARGSRef => \%ARGS);
# for WillResolve
push @results, ProcessTicketDates( TicketObj => $TicketObj, ARGSRef => \%ARGS);
-$TicketObj->ApplyTransactionBatch;
+{
+ my ($status, @msg) = $m->comp(
+ '/Elements/ValidateCustomFields',
+ Object => $TicketObj,
+ CustomFields => $CustomFields,
+ ARGSRef => \%ARGS,
+ );
+ unless ($status) {
+ push @results, @msg;
+ $skip_update = 1;
+ }
+}
+
+unless ($skip_update) {
+ push @results, ProcessTicketBasics(TicketObj => $TicketObj, ARGSRef => \%ARGS);
+ push @results, ProcessObjectCustomFieldUpdates(Object => $TicketObj, ARGSRef => \%ARGS);
+ $m->callback( CallbackName => 'ProcessUpdates', TicketObj => $TicketObj,
+ ARGSRef => \%ARGS, Results => \@results );
+
+ $TicketObj->ApplyTransactionBatch;
+
+ MaybeRedirectForResults(
+ Actions => \@results,
+ Path => "/Ticket/Modify.html",
+ Arguments => { id => $TicketObj->id },
+ );
+}
unless ($TicketObj->CurrentUserHasRight('ShowTicket')) {
if (@results) {
diff --git a/rt/share/html/Ticket/ModifyAll.html b/rt/share/html/Ticket/ModifyAll.html
index 20471ac..f0b70b5 100755
--- a/rt/share/html/Ticket/ModifyAll.html
+++ b/rt/share/html/Ticket/ModifyAll.html
@@ -55,14 +55,16 @@
% $m->callback( CallbackName => 'FormStart', ARGSRef => \%ARGS );
<input type="submit" name="SubmitTicket" value="Save Changes" style="display:none">
<input type="hidden" class="hidden" name="id" value="<%$Ticket->Id%>" />
+<input type="hidden" class="hidden" name="Token" value="<% $ARGS{'Token'} %>" />
<&| /Widgets/TitleBox, title => loc('Modify ticket # [_1]', $Ticket->Id), class=>'ticket-info-basics' &>
-<& Elements/EditBasics, TicketObj => $Ticket &>
-<& Elements/EditCustomFields, TicketObj => $Ticket &>
+<& Elements/EditBasics, TicketObj => $Ticket, defaults => \%ARGS &>
+<& /Elements/EditCustomFields, Object => $Ticket, Grouping => 'Basics' &>
</&>
% $m->callback(CallbackName => 'AfterBasics', Ticket => $Ticket);
-<br />
+
+<& /Elements/EditCustomFieldCustomGroupings, Object => $Ticket &>
<&| /Widgets/TitleBox, title => loc('Dates'), class=>'ticket-info-dates'&>
<& Elements/EditDates, TicketObj => $Ticket &>
@@ -78,7 +80,13 @@
<br />
<&| /Widgets/TitleBox, title => loc('Links'), class=>'ticket-info-links' &>
-<& /Elements/EditLinks, Object => $Ticket, Merge => 1 &>
+<& /Elements/EditLinks, Object => $Ticket &>
+</&>
+
+<br />
+
+<&| /Widgets/TitleBox, title => loc('Merge'), class=>'ticket-info-merge' &>
+<& Elements/EditMerge, Ticket => $Ticket, %ARGS &>
</&>
<br />
@@ -88,7 +96,7 @@
<tr>
<td class="label"><&|/l&>Update Type</&>:</td>
<td class="entry">
- <select name="UpdateType">
+ <select name="UpdateType" id="UpdateType">
% if ($CanComment) {
<option value="private" ><&|/l&>Comments (Not sent to requestors)</&></option>
% }
@@ -112,8 +120,9 @@
<tr>
<td class="labeltop"><&|/l&>Content</&>:</td>
- <td class="entry">
-% if ( defined $ARGS{UpdateContent} && length $ARGS{UpdateContent} ) {
+ <td class="entry messagebox-container action-<% $ARGS{UpdateType} || ($CanComment ? 'private' : 'response') %>">
+% $m->callback( %ARGS, CallbackName => 'BeforeMessageBox' );
+% if (defined $ARGS{UpdateContent} && length($ARGS{UpdateContent})) {
<& /Elements/MessageBox, Name=>"UpdateContent", Default=>$ARGS{UpdateContent}, IncludeSignature => 0 &>
% } else {
<& /Elements/MessageBox, Name=>"UpdateContent", QuoteTransaction=>$ARGS{QuoteTransaction} &>
@@ -129,6 +138,8 @@
Caption => loc("If you've updated anything above, be sure to"), color => "#333399" &>
</form>
+% $m->callback(CallbackName => 'AfterForm', ARGSRef => \%ARGS, Ticket => $Ticket);
+
<%INIT>
@@ -136,13 +147,6 @@
my $Ticket = LoadTicket($id);
my $CustomFields = $Ticket->CustomFields;
-# call this to show up hints of valid cf values.
-$m->comp(
- '/Elements/ValidateCustomFields',
- CustomFields => $CustomFields,
- ARGSRef => {},
-);
-
my $CanRespond = 0;
my $CanComment = 0;
@@ -155,47 +159,56 @@ $CanComment = 1 if ( $Ticket->CurrentUserHasRight('CommentOnTicket') or
ProcessAttachments(ARGSRef => \%ARGS);
-$m->callback( TicketObj => $Ticket, ARGSRef => \%ARGS );
my @results;
-
-unless ($OnlySearchForPeople or $OnlySearchForGroup or $ARGS{'AddMoreAttach'} ) {
- # There might be two owners.
- if ( ref ($ARGS{'Owner'} )) {
- my @owners =@{$ARGS{'Owner'}};
- delete $ARGS{'Owner'};
- foreach my $owner(@owners){
- if (defined($owner) && $owner =~ /\D/) {
- $ARGS{'Owner'} = $owner unless ($Ticket->OwnerObj->Name eq $owner);
- }
- elsif (length $owner) {
- $ARGS{'Owner'} = $owner unless ($Ticket->OwnerObj->id == $owner);
- }
- }
-
+my $skip_update = 0;
+$m->callback( TicketObj => $Ticket, ARGSRef => \%ARGS, skip_update => \$skip_update, results => \@results );
+
+{
+ my ($status, @msg) = $m->comp(
+ '/Elements/ValidateCustomFields',
+ Object => $Ticket,
+ CustomFields => $CustomFields,
+ ARGSRef => \%ARGS,
+ );
+ unless ($status) {
+ push @results, @msg;
+ $skip_update = 1;
}
+}
+
+# There might be two owners.
+if ( ref ($ARGS{'Owner'} )) {
+ my @owners =@{$ARGS{'Owner'}};
+ delete $ARGS{'Owner'};
+ foreach my $owner(@owners){
+ if (defined($owner) && $owner =~ /\D/) {
+ $ARGS{'Owner'} = $owner unless ($Ticket->OwnerObj->Name eq $owner);
+ }
+ elsif (length $owner) {
+ $ARGS{'Owner'} = $owner unless ($Ticket->OwnerObj->id == $owner);
+ }
+ }
+}
+unless ($skip_update or $OnlySearchForPeople or $OnlySearchForGroup or $ARGS{'AddMoreAttach'} ) {
push @results, ProcessTicketWatchers( TicketObj => $Ticket, ARGSRef => \%ARGS);
push @results, ProcessObjectCustomFieldUpdates( Object => $Ticket, ARGSRef => \%ARGS);
push @results, ProcessTicketDates( TicketObj => $Ticket, ARGSRef => \%ARGS);
-
- # Add session attachments if any to be processed by ProcessUpdateMessage
- $ARGS{'UpdateAttachments'} = $session{'Attachments'} if ( $session{'Attachments'} );
push @results, ProcessUpdateMessage( TicketObj => $Ticket, ARGSRef=>\%ARGS );
- # Cleanup WebUI
- delete $session{'Attachments'};
-
push @results, ProcessTicketBasics( TicketObj => $Ticket, ARGSRef => \%ARGS );
push @results, ProcessTicketLinks( TicketObj => $Ticket, ARGSRef => \%ARGS);
}
push @results, ProcessTicketStatus( TicketObj => $Ticket, ARGSRef => \%ARGS );
-$Ticket->ApplyTransactionBatch;
+ $Ticket->ApplyTransactionBatch;
-MaybeRedirectForResults(
- Actions => \@results,
- Path => "/Ticket/ModifyAll.html",
- Arguments => { id => $Ticket->id },
-);
+ MaybeRedirectForResults(
+ Actions => \@results,
+ Path => "/Ticket/ModifyAll.html",
+ Arguments => { id => $Ticket->id },
+ );
+
+}
# If they've gone and moved the ticket to somewhere they can't see, etc...
unless ($Ticket->CurrentUserHasRight('ShowTicket')) {
diff --git a/rt/share/html/Ticket/ModifyDates.html b/rt/share/html/Ticket/ModifyDates.html
index faf7ffa..ebd33bd 100755
--- a/rt/share/html/Ticket/ModifyDates.html
+++ b/rt/share/html/Ticket/ModifyDates.html
@@ -45,21 +45,22 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<& /Elements/Header, Title => loc('Modify dates for #[_1]', $TicketObj->Id) &>
+<& /Elements/Header, Title => loc('Modify dates for ticket #[_1]', $TicketObj->Id) &>
<& /Elements/Tabs &>
% $m->callback(CallbackName => 'BeforeActionList', Actions => \@results, ARGSRef => \%ARGS, Ticket => $TicketObj);
<& /Elements/ListActions, actions => \@results &>
-<form method="post" action="ModifyDates.html">
+<form method="post" action="ModifyDates.html" name="TicketDates">
% $m->callback( CallbackName => 'FormStart', ARGSRef => \%ARGS );
<input type="hidden" class="hidden" name="id" value="<%$TicketObj->Id%>" />
-<&| /Widgets/TitleBox,title => loc('Modify dates for ticket # [_1]', $TicketObj->Id), class=> 'ticket-info-dates' &>
+<&| /Widgets/TitleBox,title => loc('Modify dates for ticket #[_1]', $TicketObj->Id), class=> 'ticket-info-dates' &>
<& Elements/EditDates, TicketObj => $TicketObj &>
</&>
<& /Elements/Submit, Name => 'SubmitTicket', Label => loc('Save Changes') &>
</form>
+% $m->callback(CallbackName => 'AfterForm', ARGSRef => \%ARGS, Ticket => $TicketObj);
<%INIT>
diff --git a/rt/share/html/Ticket/ModifyLinks.html b/rt/share/html/Ticket/ModifyLinks.html
index eda09c5..59f7141 100755
--- a/rt/share/html/Ticket/ModifyLinks.html
+++ b/rt/share/html/Ticket/ModifyLinks.html
@@ -57,23 +57,31 @@
% my (@extra);
% push @extra, titleright_raw => '<a href="'. RT->Config->Get('WebPath') . '/Ticket/Graphs/index.html?id='.$Ticket->id.'">'.loc('Graph').'</a>' unless RT->Config->Get('DisableGraphViz');
<&| /Widgets/TitleBox, title => loc('Edit Links'), class=>'ticket-info-links', @extra &>
-<& /Elements/EditLinks, Object => $Ticket, Merge => 1 &>
+<& /Elements/EditLinks, Object => $Ticket &>
</&>
-<& /Elements/Submit, Name => 'SubmitTicket', Label => loc('Save Changes') &>
-</form>
+<&| /Widgets/TitleBox, title => loc('Merge'), class=>'ticket-info-merge' &>
+<& Elements/EditMerge, Ticket => $Ticket, %ARGS &>
+</&>
+<& /Elements/Submit, Name => 'SubmitTicket', Label => loc('Save Changes') &>
+</form>
+% $m->callback(CallbackName => 'AfterForm', ARGSRef => \%ARGS, Ticket => $Ticket);
<%INIT>
-
my $Ticket = LoadTicket($id);
my @results;
$m->callback( TicketObj => $Ticket, ARGSRef => \%ARGS, Results => \@results );
push @results, ProcessTicketLinks( TicketObj => $Ticket, ARGSRef => \%ARGS );
+push @results, ProcessObjectCustomFieldUpdates( TicketObj => $Ticket, ARGSRef => \%ARGS );
$Ticket->ApplyTransactionBatch;
-
+
+MaybeRedirectForResults(
+ Actions => \@results,
+ Arguments => { id => $id },
+);
</%INIT>
diff --git a/rt/share/html/Ticket/ModifyPeople.html b/rt/share/html/Ticket/ModifyPeople.html
index 93f616a..f216ec8 100755
--- a/rt/share/html/Ticket/ModifyPeople.html
+++ b/rt/share/html/Ticket/ModifyPeople.html
@@ -51,7 +51,7 @@
% $m->callback(CallbackName => 'BeforeActionList', Actions => \@results, ARGSRef => \%ARGS, Ticket => $Ticket);
<& /Elements/ListActions, actions => \@results &>
-<form method="post" action="ModifyPeople.html">
+<form method="post" action="ModifyPeople.html" name="TicketPeople">
<input type="submit" name="SubmitTicket" value="Save Changes" style="display:none">
<input type="hidden" class="hidden" name="id" value="<%$Ticket->Id%>" />
% $m->callback( CallbackName => 'FormStart', ARGSRef => \%ARGS );
@@ -60,8 +60,7 @@
</&>
<&| /Widgets/TitleBox, title => loc("Modify who receives mail for ticket #[_1]", $Ticket->Id), width => "100%", color=> "#333399", class=>'ticket-info-squelch' &>
<p>
- The checked users may receive email related to this ticket depending on the
- action taken. Uncheck users to stop sending email to them about this ticket.
+<&|/l&>The checked users may receive email related to this ticket depending on the action taken. Uncheck users to stop sending email to them about this ticket.</&>
</p>
<ul>
@@ -77,6 +76,8 @@
<& /Elements/Submit, Name => 'SubmitTicket', Label => loc('Save Changes'), Caption => loc("If you've updated anything above, be sure to"), color => "#333399" &>
</form>
+% $m->callback(CallbackName => 'AfterForm', ARGSRef => \%ARGS, Ticket => $Ticket);
+
<%INIT>
my @results;
@@ -101,6 +102,8 @@ $Ticket->SquelchMailTo($_)
unless ($OnlySearchForPeople or $OnlySearchForGroup) {
push @results, ProcessTicketBasics( TicketObj => $Ticket, ARGSRef => \%ARGS);
push @results, ProcessTicketWatchers( TicketObj => $Ticket, ARGSRef => \%ARGS);
+ push @results, ProcessObjectCustomFieldUpdates( TicketObj => $Ticket, ARGSRef => \%ARGS );
+
$Ticket->ApplyTransactionBatch;
}
diff --git a/rt/share/html/Ticket/Reminders.html b/rt/share/html/Ticket/Reminders.html
index b9cefe6..892eca7 100755
--- a/rt/share/html/Ticket/Reminders.html
+++ b/rt/share/html/Ticket/Reminders.html
@@ -49,14 +49,15 @@
<& /Elements/Tabs &>
% $m->callback(CallbackName => 'BeforeActionList', ARGSRef => \%ARGS, Ticket => $Ticket);
+
+<& /Elements/ListActions, actions => \@actions &>
-<& /Elements/ListActions, actions => \@results &>
<form action="<%RT->Config->Get('WebPath')%>/Ticket/Reminders.html" name="UpdateReminders" id="UpdateReminders" method="post">
<&|/Widgets/TitleBox, title => loc("Reminders"),
class=>'ticket-info-reminders'
&>
-<& /Ticket/Elements/Reminders, Ticket => $Ticket, ShowCompleted => 1, Edit => 1 &>
+<& /Ticket/Elements/Reminders, Ticket => $Ticket, ShowCompleted => 1, Edit => 1, ShowSave => 0 &>
</&>
<& /Elements/Submit,
Label => loc('Save Changes') &>
@@ -66,7 +67,7 @@
<%INIT>
my $Ticket = LoadTicket($id);
-my @results = ProcessTicketReminders( TicketObj => $Ticket, ARGSRef => \%ARGS );
+my @actions = ProcessTicketReminders( TicketObj => $Ticket, ARGSRef => \%ARGS );
</%INIT>
<%ARGS>
$id => undef
diff --git a/rt/share/html/Ticket/ShowEmailRecord.html b/rt/share/html/Ticket/ShowEmailRecord.html
index e7d496e..bdb2119 100644
--- a/rt/share/html/Ticket/ShowEmailRecord.html
+++ b/rt/share/html/Ticket/ShowEmailRecord.html
@@ -50,10 +50,16 @@ $Attachment => undef
$Transaction => undef
</%ARGS>
<%INIT>
+my $plain_text_mono
+ = RT->Config->Get( 'PlainTextMono', $session{'CurrentUser'} );
+my $use_brs = !$plain_text_mono;
+
my $show_content = sub {
my $attach = shift;
if ( $attach->ContentType =~ m{^(?:text|message)/}i ) {
- $m->out( $m->interp->apply_escapes( $attach->Content, 'h' ) );
+ my $content = $m->interp->apply_escapes( $attach->Content, 'h' );
+ $content =~ s{(\r?\n)}{<br />}g if $use_brs;
+ $m->out( $content );
return;
}
my $href = RT->Config->Get('WebPath') .'/Ticket/Attachment/'
@@ -65,9 +71,15 @@ my $show_content = sub {
my $show;
$show = sub {
my $attach = shift;
- $m->out( '<div id="body"><pre style="padding: 2em;">' );
- $m->out( $m->interp->apply_escapes( $attach->Headers, 'h' ) );
- $m->out( "\n\n" );
+ $m->out('<div id="body">');
+ $m->out('<div class="plain-text-white-space">') if $plain_text_mono;
+
+ my $headers = $m->interp->apply_escapes( $attach->Headers, 'h' );
+ $headers =~ s{(\r?\n)}{<br />}g if $use_brs;
+ $m->out( $headers );
+
+ $m->out( $use_brs ? "<br /><br />" : "\n\n" );
+
if ( $attach->ContentType =~ m{^multipart/}i ) {
my $children = $attach->Children;
while ( my $child = $children->Next ) {
@@ -76,21 +88,44 @@ $show = sub {
} else {
$show_content->( $attach );
}
- $m->out( '</pre></div>' );
+ $m->out('</div>') if $plain_text_mono;
+ $m->out('</div>');
};
+# Set error for error message below. Abort doesn't display well
+# because ShowEmailRecord doesn't use the standard RT menus
+# and headers.
+
+my ($title, $error);
+
my $AttachmentObj = RT::Attachment->new($session{'CurrentUser'});
-$AttachmentObj->Load($Attachment) || Abort(loc("Attachment '[_1]' could not be loaded", $Attachment));
-unless ( $AttachmentObj->id ) {
- Abort(loc("Attachment '[_1]' could not be loaded", $Attachment));
+$AttachmentObj->Load($Attachment);
+
+if ( not $AttachmentObj->id
+ or not $AttachmentObj->TransactionId() == $Transaction ) {
+ $title = loc("Error loading attachment");
+ $error = loc("Attachment '[_1]' could not be loaded", $Attachment);
+}
+elsif ( not $AttachmentObj->TransactionObj->CurrentUserCanSee("Transaction")){
+ $title = loc("Permission Denied");
+ $error = loc("Permission Denied");
}
-unless ($AttachmentObj->TransactionId() == $Transaction ) {
- Abort(loc("Attachment '[_1]' could not be loaded", $Attachment));
+else{
+ $title = loc("Email Source for Ticket [_1], Attachment [_2]",
+ $AttachmentObj->TransactionObj->ObjectId,
+ $AttachmentObj->Id);
}
</%INIT>
-<& /Elements/Header, ShowBar => 0 &>
-% $show->( $AttachmentObj );
+<& /Elements/Header, ShowBar => 0, Title => $title &>
+% if ( $error ){
+<div id="body"><div class="error">
+<% $error %>
+</div></div>
+% }
+% else{
+% $show->( $AttachmentObj );
+% }
</body>
</html>
% $m->abort;
diff --git a/rt/share/html/Ticket/Update.html b/rt/share/html/Ticket/Update.html
index c4e8c25..8d3c9a4 100755
--- a/rt/share/html/Ticket/Update.html
+++ b/rt/share/html/Ticket/Update.html
@@ -56,9 +56,10 @@
% $m->callback( CallbackName => 'FormStart', ARGSRef => \%ARGS, Ticket => $TicketObj, CanRespond => $CanRespond, CanComment => $CanComment, ResponseDefault => $ResponseDefault, CommentDefault => $CommentDefault );
<input type="hidden" class="hidden" name="QuoteTransaction" value="<% $ARGS{QuoteTransaction}||'' %>" />
<input type="hidden" class="hidden" name="DefaultStatus" value="<% $DefaultStatus ||''%>" />
-<input type="hidden" class="hidden" name="Action" value="<% $ARGS{Action}||'' %>" />
+<input type="hidden" class="hidden" name="Action" value="<% $Action %>" />
+<input type="hidden" class="hidden" name="Token" value="<% $ARGS{'Token'} %>" />
-<& /Elements/GnuPG/SignEncryptWidget:ShowIssues, self => $gnupg_widget &>
+<& /Elements/Crypt/SignEncryptWidget:ShowIssues, self => $gnupg_widget &>
<div id="ticket-update-metadata">
<&|/Widgets/TitleBox, title => loc('Ticket and Transaction') &>
@@ -88,16 +89,8 @@
<script type="text/javascript">
jQuery(function() {
- jQuery("#UpdateType").change(function(ev) {
- jQuery(".messagebox-container")
- .removeClass("action-response action-private")
- .addClass("action-"+ev.target.value);
- });
- });
- jQuery(function() {
jQuery("input[name=TxnSendMailTo]").change(function(ev) {
- jQuery("input[name=TxnSendMailTo][value="+ev.target.value+"]")
- .attr("checked",jQuery(ev.target).attr('checked'));
+ jQuery("input[name=TxnSendMailTo]").filter( function() { return this.value == ev.target.value; } ).prop("checked",jQuery(ev.target).prop('checked'));
});
});
</script>
@@ -127,13 +120,11 @@ function changeStatus() {
InTable => 1,
fields => [
{ name => 'Status',
- comp => '/Elements/SelectStatus',
+ comp => '/Ticket/Elements/SelectStatus',
args => {
Name => 'Status',
- DefaultLabel => loc("[_1] (Unchanged)", loc($TicketObj->Status)),
- Default => $ARGS{'Status'} || ($TicketObj->Status eq $DefaultStatus ? undef : $DefaultStatus),
+ Default => $DefaultStatus,
TicketObj => $TicketObj,
- QueueObj => $TicketObj->QueueObj,
onchange => 'changeStatus()'
},
},
@@ -151,7 +142,7 @@ function changeStatus() {
Name => "Owner",
TicketObj => $TicketObj,
QueueObj => $TicketObj->QueueObj,
- DefaultLabel => loc("[_1] (Unchanged)", $m->scomp('/Elements/ShowUser', User => $TicketObj->OwnerObj)),
+ DefaultLabel => loc("[_1] (Unchanged)", $TicketObj->OwnerObj->Format),
Default => $ARGS{'Owner'}
}
},
@@ -160,7 +151,6 @@ function changeStatus() {
args => {
Name => 'UpdateTimeWorked',
Default => $ARGS{UpdateTimeWorked}||'',
- InUnits => $ARGS{'UpdateTimeWorked-TimeUnits'}||'minutes',
}
},
]
@@ -172,7 +162,7 @@ changeStatus();
% $m->callback( %ARGS, CallbackName => 'AfterWorked', Ticket => $TicketObj );
-<& /Ticket/Elements/EditTransactionCustomFields, %ARGS, TicketObj => $TicketObj, AsTable => 1, KeepValue => 1 &>
+<& /Ticket/Elements/EditTransactionCustomFields, %ARGS, TicketObj => $TicketObj, InTable => 1, KeepValue => 1, &>
<!--</table>-->
</&>
@@ -187,7 +177,7 @@ changeStatus();
% if ( $gnupg_widget ) {
<tr><td>&nbsp;</td><td>
-<& /Elements/GnuPG/SignEncryptWidget,
+<& /Elements/Crypt/SignEncryptWidget,
self => $gnupg_widget,
TicketObj => $TicketObj,
&>
@@ -255,6 +245,7 @@ my $TicketObj = LoadTicket($id);
my @results;
$m->callback( Ticket => $TicketObj, ARGSRef => \%ARGS, checks_failure => \$checks_failure, results => \@results, CallbackName => 'Initial' );
+$m->scomp( '/Articles/Elements/SubjectOverride', Ticket => $TicketObj, ARGSRef => \%ARGS, results => \@results );
unless($DefaultStatus){
$DefaultStatus=($ARGS{'Status'} ||$TicketObj->Status());
@@ -275,8 +266,8 @@ if ($Action ne 'Respond') {
}
my $type = $ARGS{'UpdateType'} ? $ARGS{'UpdateType'} :
- lc $ARGS{'Action'} eq 'respond' ? 'response' :
- lc $ARGS{'Action'} eq 'comment' ? 'private' :
+ lc $Action eq 'respond' ? 'response' :
+ lc $Action eq 'comment' ? 'private' :
'none' ;
@@ -286,35 +277,30 @@ $CanRespond = 1 if ( $TicketObj->CurrentUserHasRight('ReplyToTicket') or
$CanComment = 1 if ( $TicketObj->CurrentUserHasRight('CommentOnTicket') or
$TicketObj->CurrentUserHasRight('ModifyTicket') );
-
ProcessAttachments(ARGSRef => \%ARGS);
-my $gnupg_widget = $m->comp('/Elements/GnuPG/SignEncryptWidget:new', Arguments => \%ARGS );
-$m->comp( '/Elements/GnuPG/SignEncryptWidget:Process',
+my %squelched = ProcessTransactionSquelching( \%ARGS );
+$ARGS{'SquelchMailTo'} = [keys %squelched] if keys %squelched;
+
+my $gnupg_widget = $m->comp('/Elements/Crypt/SignEncryptWidget:new', Arguments => \%ARGS );
+$m->comp( '/Elements/Crypt/SignEncryptWidget:Process',
self => $gnupg_widget,
TicketObj => $TicketObj,
);
if ( $ARGS{'SubmitTicket'} ) {
- my %squelched = ProcessTransactionSquelching( \%ARGS );
- $ARGS{'SquelchMailTo'} = [keys %squelched] if keys %squelched;
-
- my $CFs = $TicketObj->TransactionCustomFields;
- my $ValidCFs = $m->comp(
+ my ($status, @msg) = $m->comp(
'/Elements/ValidateCustomFields',
- CustomFields => $CFs,
- NamePrefix => "Object-RT::Transaction--CustomField-",
+ CustomFields => $TicketObj->TransactionCustomFields,
+ Object => RT::Transaction->new( $session{'CurrentUser'} ),
ARGSRef => \%ARGS
);
- unless ( $ValidCFs ) {
+ unless ( $status ) {
+ push @results, @msg;
$checks_failure = 1;
- while (my $CF = $CFs->Next) {
- my $msg = $m->notes('InvalidField-' . $CF->Id) or next;
- push @results, loc($CF->Name) . ': ' . $msg;
- }
}
- my $status = $m->comp('/Elements/GnuPG/SignEncryptWidget:Check',
+ $status = $m->comp('/Elements/Crypt/SignEncryptWidget:Check',
self => $gnupg_widget,
TicketObj => $TicketObj,
);
@@ -348,6 +334,6 @@ if ( !$checks_failure && !$skip_update && exists $ARGS{SubmitTicket} ) {
<%ARGS>
$id => undef
-$Action => undef
+$Action => ''
$DefaultStatus => undef
</%ARGS>
diff --git a/rt/share/html/Tools/MyDay.html b/rt/share/html/Tools/MyDay.html
index 33b36fa..0f79af2 100644
--- a/rt/share/html/Tools/MyDay.html
+++ b/rt/share/html/Tools/MyDay.html
@@ -64,8 +64,7 @@ href="<%RT->Config->Get('WebPath')%>/Ticket/Display.html?id=<%$Ticket->Id%>"><%$
<td rowspan="2"><span class="label"><&|/l&>Comments</&>:<br /></span><textarea name="UpdateContent-<%$Ticket->Id%>" rows="5"
cols="60"></textarea></td></tr>
<tr <%$class|n%>>
-<td><span class="label"><&|/l&>Status</&>:</span> <& /Elements/SelectStatus, Name=> 'UpdateStatus-'.$Ticket->Id, TicketObj => $Ticket,
- DefaultLabel => loc("[_1] (Unchanged)",loc($Ticket->Status())) &></td>
+<td><span class="label"><&|/l&>Status</&>:</span> <& /Ticket/Elements/SelectStatus, Name=> 'UpdateStatus-'.$Ticket->Id, TicketObj => $Ticket &></td>
</tr>
% }
@@ -106,7 +105,7 @@ foreach my $arg ( keys %ARGS ) {
my $Tickets = RT::Tickets->new($session{'CurrentUser'});
$Tickets->LimitOwner(VALUE => $session{'CurrentUser'}->Id);
-$Tickets->LimitStatus( VALUE => $_ ) foreach RT::Queue->ActiveStatusArray;
+$Tickets->LimitToActiveStatus;
$Tickets->OrderBy ( FIELD => 'Priority', ORDER => 'DESC');
diff --git a/rt/share/html/Tools/Offline.html b/rt/share/html/Tools/Offline.html
deleted file mode 100644
index 9d1bd28..0000000
--- a/rt/share/html/Tools/Offline.html
+++ /dev/null
@@ -1,165 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-<& /Elements/Header, Title => loc("Offline upload") &>
-<& /Elements/Tabs &>
-
-<& /Elements/ListActions, actions => \@results &>
-
-% $m->callback( Requestor => \$requestoraddress, Queue => \$qname, %ARGS );
-
-<form action="Offline.html" name="TicketUpdate"
- method="post" enctype="multipart/form-data">
-<table>
-<tr>
-<td class="label">
-<&|/l&>Default Queue</&>:
-</td>
-<td>
-<& /Elements/SelectQueue, Name => "qname", NamedValues => 1 &>
-<em><&|/l&>If no queue is specified, create tickets in this queue.</&></em>
-</td>
-</tr>
-<tr>
-<td class="label">
-<&|/l&>Default Requestor</&>:
-</td>
-<td>
-<input name="requestoraddress" value="<%$requestoraddress%>" />
-<em><&|/l&>If no Requestor is specified, create tickets with this requestor.</&></em>
-</td>
-</tr>
-<tr><td class="labeltop">
-<&|/l&>Template</&>:
-</td>
-<td colspan="2">
-<textarea name="string" cols="80" rows="30"><% $string %></textarea>
-</td>
-</tr>
-<tr><td class="label">
-<&|/l&>Get template from file</&>:
-</td>
-<td>
-<input name="Template" type="file" />
-<input type="submit" class="button" name="Parse" value="<&|/l&>Go!</&>" />
-</td>
-</tr>
-</table>
-<& /Elements/Submit, Name => 'UpdateTickets', Label => loc('Upload'), Caption => loc("Upload your changes"), color => "#993333" &>
-
-</form>
-<%args>
-$requestoraddress => ''
-$qname => undef
-$string => undef
-</%args>
-<%INIT>
-
-my @results;
-use RT::Action::CreateTickets;
-my $action = RT::Action::CreateTickets->new(CurrentUser => $session{'CurrentUser'});
-;
-if ($ARGS{'Parse'} && $ARGS{'Template'}) {
- $string = "";
- my $cgi_object = $m->cgi_object;
- my $fh = $cgi_object->upload('Template');
- my $filename = "$fh";
-
- my ($buffer, $template);
- while ( my $bytesread = read( $fh, $buffer, 4096 ) ) {
- $template .= $buffer;
- }
- my $encode = RT::I18N::_GuessCharset( $template );
- $template = Encode::decode( $encode, $template );
- $template =~ s/\r\n/\n/gs;
- $action->Parse(Content => $template, Queue => $qname, Requestor => $requestoraddress);
- foreach ( @{ $action->{'create_tickets'} } ) {
- my $id = $_;
- $id =~ s/^create\-//;
- $string .= "===Create-Ticket: $id\n";
- $string .= $action->{'templates'}->{$_} . "\n";
- }
- foreach ( @{ $action->{'update_tickets'} } ) {
- my $id = $_;
- $id =~ s/^update\-//;
- $string .= "===Update-Ticket: $id\n";
- $string .= $action->{'templates'}->{$_} . "\n";
- }
-
-
-} elsif ($ARGS{'UpdateTickets'}) {
- $action->Parse(Content => $ARGS{string}, Queue => $qname, Requestor=> $requestoraddress);
- push @results, $action->CreateByTemplate();
- push @results, $action->UpdateByTemplate();
-} else {
- if ($ARGS{'Query'}) {
- my $Tickets = RT::Tickets->new($session{'CurrentUser'});
- $Tickets->FromSQL($ARGS{'Query'});
-
- while (my $t = $Tickets->Next) {
- $string .= "===Update-Ticket: " . $t->Id . "\n";
- $string .= $action->GetUpdateTemplate($t);
- $string .= "" . "\n";
- }
-
- $string .= "" . "\n";
- $string .= "===# DO NOT EDIT BELOW THIS LINE#===\n";
- $string .= "" . "\n";
-
- while (my $t = $Tickets->Next) {
- $string .= "===# DO NOT EDIT #===\n";
- $string .= "===Base-Ticket: " . $t->Id . "\n";
- $string .= $action->GetBaseTemplate($t);
- $string .= "===# DO NOT EDIT #===\n";
- $string .= "" . "\n";
- }
- } else {
- $string .= "===Create-Ticket: ticket1\n";
- $string .= $action->GetCreateTemplate();
- }
-}
-</%INIT>
diff --git a/rt/share/html/Elements/ShowUserConcise b/rt/share/html/User/Elements/Portlets/ActiveTickets
index 1fa970e..f281d32 100644
--- a/rt/share/html/Elements/ShowUserConcise
+++ b/rt/share/html/User/Elements/Portlets/ActiveTickets
@@ -45,23 +45,26 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-%# Released under the terms of version 2 of the GNU Public License
-<% $display |n %>\
-<%ARGS>
-$User => undef
-$Address => undef
-</%ARGS>
+<& /User/Elements/TicketList ,
+ User => $User,
+ conditions => $conditions,
+ Rows => $Rows,
+ WatcherTypes => [qw(Watcher)],
+ Class => "user active-tickets",
+ Title => loc('Active Tickets'),
+ TitleBox => 1,
+ ShowHeader => 1,
+ Format => RT->Config->Get('UserSummaryTicketListFormat'),
+&>
<%INIT>
-if ( !$User && $Address ) {
- $User = RT::User->new( $session{'CurrentUser'} );
- $User->LoadByEmail( $Address->address );
- if ( $User->Id ) {
- $Address = '';
- } else {
- $Address = $Address->address;
+unless ( @$conditions ) {
+ foreach (RT::Queue->ActiveStatusArray()) {
+ push @$conditions, { cond => "Status = '$_'", name => loc($_) };
}
}
-my $display = $Address || $User->RealName || $User->Name;
- $display = $m->interp->apply_escapes( $display, 'h' )
- unless $ARGS{'NoEscape'};
</%INIT>
+<%ARGS>
+$User => undef
+$conditions => []
+$Rows => 10
+</%ARGS>
diff --git a/rt/share/html/Admin/Elements/EditUserComments b/rt/share/html/User/Elements/Portlets/CreateTicket
index d0c6d62..b4df5a3 100755..100644
--- a/rt/share/html/Admin/Elements/EditUserComments
+++ b/rt/share/html/User/Elements/Portlets/CreateTicket
@@ -45,12 +45,14 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<& /Elements/Header, Title => "Comments about $name" &>
-<&|/l&>These comments aren't generally visible to the user</&>:<br />
-<input type="hidden" class="hidden" name="id" value="<%$id%>" />
-<textarea cols="60" rows="15" wrap="soft" name="Comments"><% $UserObj->Comments %></textarea>
+<&| /Widgets/TitleBox, title => loc('Quick ticket creation'), class => "user create-ticket" &>
+<form action="<%RT->Config->Get('WebPath')%>/Ticket/Create.html">
+<&|/l&>Create a ticket with this user as the Requestor in Queue</&>
+<input type="hidden" name="Requestors" value="<%$User->EmailAddress%>">
+<& /Elements/SelectNewTicketQueue &>
+<input type="submit" value="<&|/l&>Create</&>">
</form>
-
+</&>
<%ARGS>
-$UserObj => undef
+$User
</%ARGS>
diff --git a/rt/share/html/Elements/SelectTicketTypes b/rt/share/html/User/Elements/Portlets/ExtraInfo
index cecf617..70007cd 100755..100644
--- a/rt/share/html/Elements/SelectTicketTypes
+++ b/rt/share/html/User/Elements/Portlets/ExtraInfo
@@ -45,14 +45,12 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>">
-%foreach (@Types) {
-<option value="<% $_ %>"<% ($_ eq $Default) && qq[ selected="selected"] |n %>><% loc($_) %>
-%}
-</select>
+<&| /Widgets/TitleBox, title => loc('User Information'), class => "user extra-info" &>
+% $m->callback( User => $User, CallbackName => 'BeforeExtraInfo' );
+<& /User/Elements/UserInfo, User => $User, FormatConfig => 'UserSummaryExtraInfo', ClassPrefix => 'user-summary' &>
+
+</&>
<%ARGS>
-$Name => 'TickType'
-$Default => undef
-@Types => qw(Approval Ticket)
+$User
</%ARGS>
diff --git a/rt/share/html/Admin/Elements/SelectModifyGroup b/rt/share/html/User/Elements/Portlets/InactiveTickets
index 29c924b..52cced1 100755..100644
--- a/rt/share/html/Admin/Elements/SelectModifyGroup
+++ b/rt/share/html/User/Elements/Portlets/InactiveTickets
@@ -45,13 +45,26 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-%while ( $Group = $Groups->Next) {
-<a href="Modify.html?id=<%$Group->id%>"><%$Group->id%>: <%$Group->Name%></a><br />
-%}
+<& /User/Elements/TicketList ,
+ User => $User,
+ conditions => $conditions,
+ Rows => $Rows,
+ WatcherTypes => [qw(Watcher)],
+ Class => "user inactive-tickets",
+ Title => loc('Inactive Tickets'),
+ TitleBox => 1,
+ ShowHeader => 1,
+ Format => RT->Config->Get('UserSummaryTicketListFormat'),
+&>
<%INIT>
-my ($Group);
-my $Groups = RT::Groups->new($session{'CurrentUser'});
-$Groups->UnLimit;
+unless ( @$conditions ) {
+ foreach (RT::Queue->InactiveStatusArray()) {
+ push @$conditions, { cond => "Status = '$_'", name => loc($_) };
+ }
+}
</%INIT>
<%ARGS>
+$User => undef
+$conditions => []
+$Rows => 10
</%ARGS>
diff --git a/rt/share/html/User/Elements/TicketList b/rt/share/html/User/Elements/TicketList
new file mode 100644
index 0000000..6d17afe
--- /dev/null
+++ b/rt/share/html/User/Elements/TicketList
@@ -0,0 +1,115 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+% if ( $TitleBox ) {
+ <& /Widgets/TitleBoxStart, title => $Title, title_href => $url, class => $Class &>
+% } else {
+ <span class="label"><a href="<% $url %>"><% $Title %>:</a></span>
+% }
+
+<& /Elements/CollectionList,
+ %QueryProperties,
+
+ Class => 'RT::Tickets',
+ Page => 1,
+ AllowSorting => 0,
+ ShowNavigation => 0,
+&>
+
+% if ( $TitleBox ) {
+ <& /Widgets/TitleBoxEnd &>
+% }
+<%INIT>
+
+my $sql = '';
+
+$sql = join(' OR ', map { "$_.id = ".$User->Id } @WatcherTypes );
+$sql = "( $sql )";
+
+$m->callback( CallbackName => 'ModifyWatcherSQL',
+ %ARGS,
+ sql => \$sql,
+);
+
+if (@$conditions) {
+ $sql .= " AND (".join( " OR ", map $_->{cond}, @$conditions).")";
+}
+
+my %QueryProperties = (
+ Query => $sql,
+ OrderBy => 'Priority|id',
+ Order => 'DESC|DESC',
+ Rows => $Rows || 10,
+ ShowHeader => $ShowHeader,
+ Format => $Format,
+);
+
+$m->callback( CallbackName => 'ModifyQueryProperties',
+ %ARGS,
+ QueryProperties => \%QueryProperties,
+);
+
+my $url = RT->Config->Get('WebPath') . '/Search/Results.html?';
+ $url .= $m->comp('/Elements/QueryString',
+ Query => $QueryProperties{'Query'},
+ OrderBy => $QueryProperties{'OrderBy'},
+ Order => $QueryProperties{'Order'},
+ );
+
+</%INIT>
+<%ARGS>
+$Title => ''
+$Class => ''
+@WatcherTypes => (qw(Watcher))
+$User => undef
+$conditions
+$Rows => 10
+$Description => ''
+$TitleBox => 0
+$Format => ''
+$ShowHeader => 0
+</%ARGS>
diff --git a/rt/share/html/Admin/Elements/QueueRightsForUser b/rt/share/html/User/Elements/UserInfo
index 2dc99a2..6944483 100755..100644
--- a/rt/share/html/Admin/Elements/QueueRightsForUser
+++ b/rt/share/html/User/Elements/UserInfo
@@ -45,20 +45,20 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<ul>
-%while(my $ACE = $ACL->Next) {
-
-<li><checkbox name="delete_ace_<%$ACE->id%>" value="1"> <% loc($ACE->RightName) %> (<%$ACE->UserObj->RealName%>)
-
-%}
-</ul>
-
+<& /Elements/ShowRecord,
+ Object => $User,
+ Format => $format,
+ TrustFormat => 1, # Only modifiable by the RT server admin, so no need to scrub.
+ Class => "$ClassPrefix-extra",
+ &>
<%INIT>
-my $ACL = RT::ACL->new($session{'CurrentUser'});
-$ACL->LimitToQueue($QueueObj->id);
-$ACL->LimitPrincipalToUser($PrincipalId);
+return unless blessed($User) and $User->id;
+return unless $FormatConfig;
+my $format = RT->Config->Get($FormatConfig);
+return unless $format;
</%INIT>
<%ARGS>
-$PrincipalId => undef
-$QueueObj => undef
+$User => undef
+$FormatConfig => undef
+$ClassPrefix => undef
</%ARGS>
diff --git a/rt/share/html/Admin/Elements/SelectSingleOrMultiple b/rt/share/html/User/History.html
index d6909b8..a5ad3d2 100755..100644
--- a/rt/share/html/Admin/Elements/SelectSingleOrMultiple
+++ b/rt/share/html/User/History.html
@@ -45,23 +45,23 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
- <select name="<%$Name%>">
- <option value="1" <%$SingleDefault|n%>><&|/l&>Single</&></option>
- <option value="0" <%$MultipleDefault|n%>><&|/l&>Multiple</&></option>
- </select>
+<& /Elements/Header, Title => loc('History of the user [_1]', $User->Format) &>
+<& /Elements/Tabs &>
+<& /Elements/ShowHistory,
+ Object => $User,
+ ShowDisplayModes => 0,
+ DisplayPath => 'History.html',
+&>
<%INIT>
-my ($SingleDefault, $MultipleDefault);
-if ($Default == 1) {
- $SingleDefault = qq[ selected="selected"];
+my $User = RT::User->new( $session{'CurrentUser'} );
+my ($status, $msg) = $User->Load($id);
+unless ($status) {
+ RT->Logger->error("Unable to load user $id: $msg");
+ Abort("Unable to load User $id");
}
-elsif ($Default == 0 ) {
- $MultipleDefault = qq[ selected="selected"];
-}
-
</%INIT>
<%ARGS>
-$Name => 'Single'
-$Default => 1
+$id => undef
</%ARGS>
diff --git a/rt/share/html/User/Prefs.html b/rt/share/html/User/Prefs.html
index d491145..be2919a 100755
--- a/rt/share/html/User/Prefs.html
+++ b/rt/share/html/User/Prefs.html
@@ -80,6 +80,7 @@
<td class="label"><&|/l&>Timezone</&>:</td>
<td class="value"><& /Elements/SelectTimezone, Name => 'Timezone', Default => $UserObj->Timezone &></td>
</tr>
+<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Identity', InTable => 1 &>
</table>
</&>
<&| /Widgets/TitleBox, title => loc('Phone numbers'), id => "user-prefs-phone" &>
@@ -100,11 +101,12 @@
<td class="label"><&|/l&>Pager</&>:</td>
<td class="value"><input name="PagerPhone" value="<%$UserObj->PagerPhone || ''%>" size="13" /></td>
</tr>
+<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Phones', InTable => 1 &>
</table>
</&>
%if ($UserObj->Privileged) {
-<&| /Widgets/TitleBox, title => loc('Signature') &>
+<&| /Widgets/TitleBox, title => loc('Signature'), id => "user-prefs-signature" &>
<textarea cols="80" rows="5" name="Signature" class="signature" wrap="hard">
<%$UserObj->Signature || ''%></textarea>
</&>
@@ -119,6 +121,9 @@
User => $UserObj,
Name => [qw(CurrentPass Pass1 Pass2)],
&>
+
+<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Access control' &>
+
</&>
<&| /Widgets/TitleBox, title => loc('Location'), id => "user-prefs-location" &>
@@ -151,27 +156,21 @@
<td class="label"><&|/l&>Country</&>:</td>
<td class="value"><input name="Country" value="<%$UserObj->Country || ''%>" /></td>
</tr>
+<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Location', InTable => 1 &>
</table>
</&>
-<&| /Widgets/TitleBox, title => loc('Custom Fields') &>
-<table>
-% my $CustomFields = $UserObj->CustomFields;
-% while ( my $CF = $CustomFields->Next ) {
-<tr valign="top">
-<td align="right"><% loc( $CF->Name ) %>:</td>
-<td><& /Elements/EditCustomField,
- %ARGS, Object => $UserObj, CustomField => $CF
-&></td></tr>
-% }
-</table>
-</&>
+
+
+<& /Elements/EditCustomFieldCustomGroupings, Object => $UserObj &>
+
+
<& /Elements/Submit, Label => loc('Save Preferences') &>
<&| /Widgets/TitleBox, title => loc('Secret authentication token'), id => "user-prefs-feeds" &>
-<&|/l&>All iCal feeds embed a secret token which authorizes you. If the URL one of your iCal feeds got exposed to the outside world, you can get a new secret, <b>breaking all existing iCal feeds</b> below.</&>
+<&|/l&>All iCal feeds embed a secret token which authorizes you. If the URL for one of your iCal feeds was exposed to the outside world, you can get a new secret, <b>breaking all existing iCal feeds</b>, below.</&>
<a href="#" id="ResetAuthTokenPrompt" style="display: none">
<&|/l&>I want to reset my secret token.</&>
diff --git a/rt/share/html/User/Search.html b/rt/share/html/User/Search.html
new file mode 100644
index 0000000..bb9c5bf
--- /dev/null
+++ b/rt/share/html/User/Search.html
@@ -0,0 +1,101 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%#
+%# COPYRIGHT:
+%#
+%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
+%# <sales@bestpractical.com>
+%#
+%# (Except where explicitly superseded by other copyright notices)
+%#
+%#
+%# LICENSE:
+%#
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%#
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%# General Public License for more details.
+%#
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%#
+%#
+%# CONTRIBUTION SUBMISSION POLICY:
+%#
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%#
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%#
+%# END BPS TAGGED BLOCK }}}
+<& /Elements/Header, Title => loc('User Search'), Focus => '#autocomplete-UserString' &>
+<& /Elements/Tabs &>
+
+<& /Elements/GotoUser, Default => $UserString||'' &>
+
+<p> <&|/l&>This will search for users by looking in the following fields:</&> <% $search_fields %></p>
+
+% if ($UserString) {
+
+% unless ( $users->Count ) {
+<p><&|/l&>No users matching search criteria found.</&></p>
+% } else {
+<p><&|/l&>Select a user</&>:</p>
+
+<& /Elements/CollectionList,
+ OrderBy => 'Name',
+ Order => 'ASC',
+ Rows => 100,
+ %ARGS,
+ Format => $Format,
+ Collection => $users,
+ AllowSorting => 1,
+ PassArguments => [qw(Format Rows Page Order OrderBy UserString)],
+&>
+
+% }
+% }
+
+<%INIT>
+
+my $users;
+my $Format;
+if ( $UserString ) {
+ my $exclude = [RT->Nobody->Id, RT->System->Id];
+ $users = RT::Users->new($session{'CurrentUser'});
+ $users->SimpleSearch( Return => 'Name',
+ Term => $UserString,
+ Max => 100,
+ Exclude => $exclude );
+ my $first = $users->First;
+ RT::Interface::Web::Redirect(RT->Config->Get('WebURL')."User/Summary.html?id=".$first->Id)
+ if $users->Count == 1;
+ $users->GotoFirstItem;
+ $Format = RT->Config->Get('UserSearchResultFormat');
+}
+
+my $search_fields = join ", ",
+ sort map {s/^CF\.(?:\{(.*)}|(.*))/$1 || $2/e; loc($_)}
+ keys %{RT->Config->Get('UserSearchFields')};
+
+</%INIT>
+<%ARGS>
+$UserString => undef
+</%ARGS>
diff --git a/rt/share/html/Ticket/Elements/FindAttachments b/rt/share/html/User/Summary.html
index 448df07..6b2c4c0 100644
--- a/rt/share/html/Ticket/Elements/FindAttachments
+++ b/rt/share/html/User/Summary.html
@@ -45,51 +45,55 @@
%# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
-<%INIT>
-my %documents;
-
-#A default implementation here loops through all transactions and pulls out all their attachments.
-# We end up doing an end-run around that to get a bit more performance
-
-# We force the cache of ticket transactions to get populated up front. otherwise, the
-# code that looks at attachments will look at each one in turn.
-my $attachments = RT::Attachments->new( $session{'CurrentUser'} );
+<& /Elements/Header, Title => loc('User: [_1]', $User->Format) &>
+<& /Elements/Tabs &>
+
+<& /Elements/GotoUser &>
+<& /Elements/ListActions, actions => \@results &>
-$attachments->Columns( qw( Id Filename Headers Subject Parent ContentEncoding ContentType TransactionId Created));
+<%perl>
+$m->callback( CallbackName => 'BeforePortlets', User => $User );
+for my $portlet (@$portlets) {
+ $show_portlet->($portlet);
+}
+$m->callback( CallbackName => 'AfterPortlets', User => $User );
+</%perl>
-my $transactions = $attachments->NewAlias('Transactions');
-$attachments->Join( ALIAS1 => 'main',
- FIELD1 => 'TransactionId',
- ALIAS2 => $transactions,
- FIELD2 => 'id' );
-
-my $tickets = $attachments->NewAlias('Tickets');
+<%INIT>
+my $User = RT::User->new( $session{'CurrentUser'} );
+my ($status, $msg) = $User->Load($id);
+unless ($status) {
+ RT->Logger->error("Unable to load user $id: $msg");
+ Abort("Unable to load User $id");
+}
- $attachments->Join( ALIAS1 => $transactions,
- FIELD1 => 'ObjectId',
- ALIAS2 => $tickets,
- FIELD2 => 'id' );
-
- $attachments->Limit( ALIAS => $transactions,
- FIELD => 'ObjectType',
- VALUE => 'RT::Ticket');
-if ($Tickets) {
- while ($Ticket = $Tickets->Next) {
- $attachments->Limit( ALIAS => $tickets,
- FIELD => 'EffectiveId',
- VALUE => $Ticket->id() );
+my @results;
+if ( $User->Disabled ){
+ if ( $session{'CurrentUser'}->HasRight(
+ Object => RT->System, Right => 'AdminUsers' ) ){
+ push @results, loc('User [_1] is currently disabled. Edit the user and select "Let this user access RT" to enable.', $User->Name);
+ }
+ else{
+ push @results, loc('User [_1] is currently disabled.', $User->Name);
}
-} else {
- $attachments->Limit( ALIAS => $tickets,
- FIELD => 'EffectiveId',
- VALUE => $Ticket->id() );
}
+my $portlets = RT->Config->Get('UserSummaryPortlets');
-return ($attachments);
+my $show_portlet = sub {
+ my $portlet = shift;
+ my $full_path = "/User/Elements/Portlets/$portlet";
+ unless ( RT::Interface::Web->ComponentPathIsSafe($full_path) ) {
+ RT->Logger->error("unsafe portlet $portlet specified in UserSummaryPortlets");
+ return;
+ }
+ unless ( $m->comp_exists($full_path) ) {
+ RT->Logger->error("Unable to find $portlet in /User/Elements/Portlets - specified in UserSummaryPortlets");
+ return;
+ }
+ $m->comp( $full_path, User => $User );
+};
</%INIT>
<%ARGS>
-$Ticket => undef
-$Tickets => undef
+$id => undef
</%ARGS>
-
diff --git a/rt/share/html/Widgets/ComboBox b/rt/share/html/Widgets/ComboBox
index 7d852e5..9c0ac1b 100644
--- a/rt/share/html/Widgets/ComboBox
+++ b/rt/share/html/Widgets/ComboBox
@@ -52,7 +52,7 @@ my $z_index = 9999;
%# reset $z_index. assuming at most 1000 comboboxx in one page
% $z_index = 9999 if $z_index < 9000;
<nobr>
-<script type="text/javascript" src="<%RT->Config->Get('WebPath')%>/NoAuth/js/combobox.js"></script>
+<script type="text/javascript" src="<%RT->Config->Get('WebPath')%>/static/js/combobox.js"></script>
<div id="<% $Name %>_Container" class="combobox <%$Class%>" style="z-index: <%$z_index--%>">
<input name="<% $Name %>" id="<% $Name %>" class="combo-text" value="<% $Default || '' %>" type="text" <% $Size ? "size='$Size'" : '' |n %> autocomplete="off" />
diff --git a/rt/share/html/Widgets/Form/Select b/rt/share/html/Widgets/Form/Select
index 4489d49..fd7a31c 100644
--- a/rt/share/html/Widgets/Form/Select
+++ b/rt/share/html/Widgets/Form/Select
@@ -80,11 +80,11 @@ $AlternativeLabel => loc('other...'),
$Multiple => 0,
</%ARGS>
-<select name="<% $Name %>">
+<select name="<% $Name %>" <% $Multiple ? 'multiple="multiple"' : '' |n%>>
% if ( $Default ) {
% my $selected = '';
-% $selected = 'selected="selected"' unless @CurrentValue;
+% $selected = 'selected="selected"' unless $CurrentValue[0];
<option value="__empty_value__" <% $selected |n %>><% $DefaultLabel %></option>
% }
diff --git a/rt/share/html/Widgets/SavedSearch b/rt/share/html/Widgets/SavedSearch
index 844e862..33f41e2 100644
--- a/rt/share/html/Widgets/SavedSearch
+++ b/rt/share/html/Widgets/SavedSearch
@@ -61,7 +61,8 @@ my $SearchParams = { map { $_ => $args->{$_} } @{$self->{SearchFields}} };
if ( my ( $container_object, $search_id ) = _parse_saved_search(
$args->{'SavedSearchLoad'} || $args->{'SavedChartSearchId'} ) ) {
- my $search = $container_object->Attributes->WithId($search_id);
+ my $search = RT::Attribute->new( $session{'CurrentUser'} );
+ $search->Load($search_id);
# We have a $search and now; import the others
$self->{SearchId} = $args->{'SavedSearchLoad'} ||
$args->{'SavedChartSearchId'};
@@ -110,7 +111,7 @@ if ( $args->{SavedSearchSave} ) {
# rename
$search->SetDescription( $args->{SavedSearchDescription} );
$search->SetSubValues(%$SearchParams);
- push @actions, loc( '[_1] [_2] updated.', loc($self->{SearchType}), $args->{SavedSearchDescription} );
+ push @actions, loc( '[_1] [_2] updated.', loc($self->{SearchType}), $args->{SavedSearchDescription} );
}
else {
# new saved search
@@ -122,7 +123,7 @@ if ( $args->{SavedSearchSave} ) {
SearchParams => $SearchParams
);
if ($ok) {
- $self->{CurrentSearch}{Object} = $saved_search->{Attribute};
+ $self->{CurrentSearch}{Object} = $saved_search->{Attribute};
$self->{SearchId} = $args->{SavedChartSearchId} = 'RT::User-' .
$session{CurrentUser}->id . '-SavedSearch-' .
$saved_search->Id;
diff --git a/rt/share/html/Widgets/SelectionBox b/rt/share/html/Widgets/SelectionBox
index 4ac178b..01ca668 100644
--- a/rt/share/html/Widgets/SelectionBox
+++ b/rt/share/html/Widgets/SelectionBox
@@ -49,18 +49,15 @@
%#
%# SYNOPSIS
%#
-%# include javascript:
-%# <& /Widgets/SelectionBox:header &>
-%#
%# <%init>:
%# my $sel = $m->comp ('/Widgets/SelectionBox:new',
-%# Action => me.html',
-%# Name => 'my-selection',
-%# Available => \@items,
+%# Action => me.html',
+%# Name => 'my-selection',
+%# Available => \@items,
%# # you can do things with @{$sel->{Current}} in the
%# # OnSubmit callback
-%# OnSubmit => sub { my $sel = shift; },
-%# Selected => \@selected);
+%# OnSubmit => sub { my $sel = shift; },
+%# Selected => \@selected);
%#
%# $m->comp ('/Widgets/SelectionBox:process', %ARGS, self => $sel)
%#
@@ -71,17 +68,7 @@
%# <& /Widgets/SelectionBox:show, self => $sel &>
%#
%# if the SelectionBox is created with AutoSave option, OnSubmit will be called
-%# on every button clicked in non-js mode.
-<%method header>
-% unless ($nojs) {
-<script type="text/javascript" src="<%RT->Config->Get('WebPath')%>/NoAuth/js/class.js"></script>
-<script type="text/javascript" src="<%RT->Config->Get('WebPath')%>/NoAuth/js/list.js"></script>
-% }
-<%ARGS>
-$nojs => 0
-</%ARGS>
-</%method>
-
+%# on every button clicked
<%method new>
<%init>
$ARGS{_item_map} = {map {$_->[0] => $_->[1]} @{$ARGS{Available}}};
@@ -103,56 +90,51 @@ if ($self->{Selected} && !ref($self->{Selected})) {
$self->{Selected} = [$self->{Selected}];
}
-if ($ARGS{fromjs}) {
- $self->{Current} = $self->{Selected};
+my $current = $self->{Current} = $ARGS{$self->{Name}.'-Current'};
+if ($current && !ref ($current)) {
+ $current = [$current];
}
-else {
- my $current = $self->{Current} = $ARGS{$self->{Name}.'-Current'};
- if ($current && !ref ($current)) {
- $current = [$current];
- }
- unless ($self->{ReadOnly}) {
- ++$self->{Modified};
- if ($ARGS{add}) {
- my $choosed = $ARGS{$self->{Name}.'-Available'};
- for my $add (ref($choosed) ? @$choosed : $choosed) {
- next if grep { $_ eq $add } @$current;
- push @$current, $add;
- }
+unless ($self->{ReadOnly}) {
+ ++$self->{Modified};
+ if ($ARGS{add}) {
+ my $choosed = $ARGS{$self->{Name}.'-Available'};
+ for my $add (ref($choosed) ? @$choosed : $choosed) {
+ next if grep { $_ eq $add } @$current;
+ push @$current, $add;
}
+ }
- if ($ARGS{remove}) {
- my $choosed = $ARGS{$self->{Name}.'-Selected'};
- for my $del (ref($choosed) ? @$choosed : $choosed) {
- @$current = map { $_ eq $del ? () : $_ } @$current;
- }
+ if ($ARGS{remove}) {
+ my $choosed = $ARGS{$self->{Name}.'-Selected'};
+ for my $del (ref($choosed) ? @$choosed : $choosed) {
+ @$current = map { $_ eq $del ? () : $_ } @$current;
}
+ }
- if ($ARGS{moveup} or $ARGS{movedown}) {
- my $offset = $ARGS{moveup} ? 1 : 0;
- my $choosed = $ARGS{$self->{Name}.'-Selected'};
- $choosed = [$choosed] unless ref ($choosed);
- my $canmove = 0; # not in the cornor
- for my $i ($ARGS{moveup} ? 0..$#{$current} : reverse 0..$#{$current}) {
- if (grep {$_ eq $current->[$i]} @$choosed) {
- if ($canmove) {
- splice (@$current, $i-$offset, 2,
- @{$current}[$i+1-$offset,$i-$offset]);
- }
- }
- else {
- ++$canmove;
- }
+ if ($ARGS{moveup} or $ARGS{movedown}) {
+ my $offset = $ARGS{moveup} ? 1 : 0;
+ my $choosed = $ARGS{$self->{Name}.'-Selected'};
+ $choosed = [$choosed] unless ref ($choosed);
+ my $canmove = 0; # not in the cornor
+ for my $i ($ARGS{moveup} ? 0..$#{$current} : reverse 0..$#{$current}) {
+ if (grep {$_ eq $current->[$i]} @$choosed) {
+ if ($canmove) {
+ splice (@$current, $i-$offset, 2,
+ @{$current}[$i+1-$offset,$i-$offset]);
+ }
+ }
+ else {
+ ++$canmove;
}
}
+ }
- if ($ARGS{clear}) {
- $current = [];
- }
-
- $self->{Current} = $current;
+ if ($ARGS{clear}) {
+ $current = [];
}
+
+ $self->{Current} = $current;
}
@{$self->{Current}} = grep { exists $self->{_item_map}{$_} } @{$self->{Current}};
@@ -182,14 +164,9 @@ $self => undef
</%method>
<%method show>
-<form method="post" action="<%$self->{Action}%>" name="SelectionBox-<% $name %>" id="SelectionBox-<% $name %>"
-% unless ($nojs) {
-onsubmit="list_<% $name %>.selectAll();"
-% }
->
+<form method="post" action="<%$self->{Action}%>" name="SelectionBox-<% $name %>" id="SelectionBox-<% $name %>">
<input type="hidden" class="hidden" name="<% $self->{Name} %>-Submit" value="1" />
<& SelectionBox:current, self => $self &>
-<input type="hidden" class="hidden" name="fromjs" value="0" />
<&|/l&>Available</&>:
<br />
<select name="<%$name%>-Available" id="<%$name%>-Available" size="<%$size%>" multiple="multiple">
@@ -199,7 +176,7 @@ onsubmit="list_<% $name %>.selectAll();"
</select>
% unless ($self->{ReadOnly}) {
-<input name="add" type="submit" class="button" value=" &rarr; " />
+<input aria-label="Add" name="add" type="submit" class="button" value=" &rarr; " />
% }
<select name="<%$name%>-Selected" id="<%$name%>-Selected" size="<%$size%>" multiple="multiple">
@@ -213,8 +190,8 @@ selected="selected"
</select>
% unless ($self->{'ReadOnly'}) {
% unless ($ARGS{'NoArrows'}) {
- <input name="moveup" type="submit" class="button" value=" &uarr; " />
- <input name="movedown" type="submit" class="button" value=" &darr; " />
+ <input aria-label="Move up" name="moveup" type="submit" class="button" value=" &uarr; " />
+ <input aria-label="Move down" name="movedown" type="submit" class="button" value=" &darr; " />
% }
<input name="remove" type="submit" class="button" value="<&|/l&>Delete</&>" />
% if ($ARGS{'Clear'}) {
@@ -234,17 +211,9 @@ selected="selected"
% }
</form>
-% unless ($nojs) {
-<script type="text/javascript">
-//<![CDATA[
-var list_<%$name%> = new list(document.getElementById("SelectionBox-<% $name %>"), 0, "list_<%$name%>");
-//]]>
-</script>
-% }
<%ARGS>
$self => undef
$size => 10
-$nojs => 0
</%ARGS>
<%INIT>
my $name = $self->{Name};
diff --git a/rt/share/html/Widgets/TitleBoxStart b/rt/share/html/Widgets/TitleBoxStart
index 4b6a6f1..2492857 100755
--- a/rt/share/html/Widgets/TitleBoxStart
+++ b/rt/share/html/Widgets/TitleBoxStart
@@ -54,8 +54,8 @@
$title_href ? qq[<a href="$title_href">] : '' | n
%><% $title %><% $title_raw |n %><% $title_href ? "</a>" : '' |n%></span>
<span class="right<%($titleright_href || $titleright || $titleright_raw) ? '' : '-empty' %>">\
- <% $titleright_href ? qq[<a href="$titleright_href">] : '' | n %>\
- <% $titleright %><% $titleright_raw |n%><% $titleright_href ? "</a>" : '' |n%>\
+ <% $titleright_href ? qq[<a href="$titleright_href">] : '' | n %>\
+ <% $titleright %><% $titleright_raw |n%><% $titleright_href ? "</a>" : '' |n%>\
</span>
</div>
<div class="titlebox-content <% $bodyclass %><% $rolledup ? " hidden" : ""%>" id="<% $tid %>">
diff --git a/rt/share/html/autohandler b/rt/share/html/autohandler
index 5b7770d..c987531 100755
--- a/rt/share/html/autohandler
+++ b/rt/share/html/autohandler
@@ -57,8 +57,3 @@ RT::Interface::Web::HandleRequest(\%ARGS);
# unless $r->content_type =~ qr<^(text|application)/(x-)?(css|javascript)>;
</%INIT>
-<%ARGS>
-$user => undef
-$pass => undef
-$menu => undef
-</%ARGS>
diff --git a/rt/share/html/index.html b/rt/share/html/index.html
index fafba1c..e70f4cc 100755
--- a/rt/share/html/index.html
+++ b/rt/share/html/index.html
@@ -95,10 +95,11 @@ if ( $ARGS{'QuickCreate'} ) {
my $CFs = $QueueObj->TicketCustomFields();
- my $ValidCFs = $m->comp(
+ my ($ValidCFs, @msg) = $m->comp(
'/Elements/ValidateCustomFields',
- CustomFields => $CFs,
- ARGSRef => \%ARGS
+ CustomFields => $CFs,
+ ARGSRef => \%ARGS,
+ ValidateUnsubmitted => 1,
);
@@ -110,19 +111,47 @@ if ( $ARGS{'QuickCreate'} ) {
Status => $ARGS{'Status'},
# yes! it's Requestors, not Requestor
Requestors => $ARGS{'Requestors'},
- From => $session{'CurrentUser'}->EmailAddress,
Content => $ARGS{'Content'},
Subject => $ARGS{'Subject'});
- if ( $t && $t->Id && RT->Config->Get('DisplayAfterQuickCreate', $session{'CurrentUser'}) ) {
- RT::Interface::Web::Redirect(RT->Config->Get('WebURL')."Ticket/Display.html?id=". $t->Id);
- } else {
- push @results, $msg;
+ push @results, $msg;
+
+ if ( $t && $t->Id ) {
+ $created = 1;
+ if ( RT->Config->Get('DisplayTicketAfterQuickCreate', $session{'CurrentUser'}) ) {
+ MaybeRedirectForResults(
+ Actions => \@results,
+ Path => '/Ticket/Display.html',
+ Arguments => { id => $t->Id },
+ );
+ }
}
}
elsif ( !$ValidCFs ) {
- push @results, "can't quickly create ticket in queue " .
- $QueueObj->Name . ' because some custom fields need to be set, please go to normal ticket creation page to do that.';
+ push @results, loc("Can't quickly create ticket in queue [_1] because custom fields are required. Please finish by using the normal ticket creation page.", $QueueObj->Name);
+ push @results, @msg;
+
+ MaybeRedirectForResults(
+ Actions => \@results,
+ Path => "/Ticket/Create.html",
+ Arguments => {
+ (map { $_ => $ARGS{$_} } qw(Queue Owner Status Content Subject)),
+ Requestors => $ARGS{Requestors},
+ # From is set above when CFs are OK, but not here since we're
+ # not calling CreateTicket() directly. The proper place to set
+ # a default for From, if desired in the future, is in
+ # CreateTicket() itself, or at least /Ticket/Display.html
+ # (which processes /Ticket/Create.html). From is rarely used
+ # overall.
+ },
+ );
}
+
+ $session{QuickCreate} = \%ARGS unless $created;
+
+ MaybeRedirectForResults(
+ Actions => \@results,
+ Path => '/',
+ );
}
diff --git a/rt/share/html/m/_elements/footer b/rt/share/html/m/_elements/footer
index b7fb283..286a79d 100644
--- a/rt/share/html/m/_elements/footer
+++ b/rt/share/html/m/_elements/footer
@@ -48,7 +48,7 @@
<& /Elements/Logo, ShowName => 1, OnlyCustom => 1 &>
<div id="bpscredits">
<div id="copyright">
-<&|/l_unsafe, '', '', '2014', '<a href="http://www.bestpractical.com?rt='.$RT::VERSION.'">Best Practical Solutions, LLC</a>', &>[_1] RT [_2] Copyright 1996-[_3] [_4].</&>
+<&|/l_unsafe, '', '', '2015', '<a href="http://www.bestpractical.com?rt='.$RT::VERSION.'">Best Practical Solutions, LLC</a>', &>[_1] RT [_2] Copyright 1996-[_3] [_4].</&>
</div>
</div>
</body>
diff --git a/rt/share/html/m/_elements/header b/rt/share/html/m/_elements/header
index a9fda94..f602e83 100644
--- a/rt/share/html/m/_elements/header
+++ b/rt/share/html/m/_elements/header
@@ -55,12 +55,12 @@ $r->headers_out->{'Cache-control'} = 'no-cache';
</%init>
<html>
<head>
-<& /Elements/Framekiller &>
-<link rel="stylesheet" type="text/css" href="<%RT->Config->Get('WebPath')|n%>/m/style.css"/>
+<link rel="stylesheet" type="text/css" href="<%RT->Config->Get('WebPath')%>/static/css/mobile.css"/>
<title><%$title%></title>
-% my ($jquery) = grep { /^jquery-\d+\./ } RT->Config->Get('JSFiles');
-<script src="<% RT->Config->Get('WebPath') %>/NoAuth/js/<% $jquery %>"></script>
+% my ($jquery) = grep { /^jquery-\d+\./ } RT::Interface::Web->JSFiles;
+<script src="<% RT->Config->Get('WebPath') %>/static/js/<% $jquery %>"></script>
<meta name="viewport" content="width=device-width height=device-height user-scalable=yes"/>
+<& /Elements/Framekiller &>
</head>
<body>
% if ($show_home_button) {
diff --git a/rt/share/html/m/_elements/login b/rt/share/html/m/_elements/login
index ce524ee..b87aa56 100644
--- a/rt/share/html/m/_elements/login
+++ b/rt/share/html/m/_elements/login
@@ -46,11 +46,7 @@
%#
%# END BPS TAGGED BLOCK }}}
% $m->callback( %ARGS, CallbackName => 'Header' );
-<&| /m/_elements/wrapper, show_home_button => 0 &>
-<style>
-<& /m/_elements/raw_style &>
-</style>
-<h1><&|/l, RT->Config->Get('rtname') &>RT for [_1]</&></h1>
+<&| /m/_elements/wrapper, title => loc('RT for [_1]', RT->Config->Get('rtname')), show_home_button => 0 &>
<div id="body" class="login-body">
<& /Elements/ListActions,
@@ -66,7 +62,7 @@
<& /Elements/LoginRedirectWarning, %ARGS &>
-% unless (RT->Config->Get('WebExternalAuth') and !RT->Config->Get('WebFallbackToInternalAuth')) {
+% unless (RT->Config->Get('WebRemoteUserAuth') and !RT->Config->Get('WebFallbackToRTLogin')) {
<form id="login" name="login" method="post" action="<% RT->Config->Get("WebPath") %>/NoAuth/Login.html">
<div class="entry">
@@ -96,6 +92,7 @@ if (window.location.hash) {
</form>
% }
</&>
+<& /Elements/LoginHelp &>
</div><!-- #login-box -->
% $m->callback( %ARGS, CallbackName => 'AfterForm' );
diff --git a/rt/share/html/m/_elements/raw_style b/rt/share/html/m/_elements/raw_style
deleted file mode 100644
index f8fee32..0000000
--- a/rt/share/html/m/_elements/raw_style
+++ /dev/null
@@ -1,500 +0,0 @@
-%# BEGIN BPS TAGGED BLOCK {{{
-%#
-%# COPYRIGHT:
-%#
-%# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
-%# <sales@bestpractical.com>
-%#
-%# (Except where explicitly superseded by other copyright notices)
-%#
-%#
-%# LICENSE:
-%#
-%# This work is made available to you under the terms of Version 2 of
-%# the GNU General Public License. A copy of that license should have
-%# been provided with this software, but in any event can be snarfed
-%# from www.gnu.org.
-%#
-%# This work is distributed in the hope that it will be useful, but
-%# WITHOUT ANY WARRANTY; without even the implied warranty of
-%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-%# General Public License for more details.
-%#
-%# You should have received a copy of the GNU General Public License
-%# along with this program; if not, write to the Free Software
-%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-%# 02110-1301 or visit their web page on the internet at
-%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%#
-%#
-%# CONTRIBUTION SUBMISSION POLICY:
-%#
-%# (The following paragraph is not intended to limit the rights granted
-%# to you to modify and distribute this software under the terms of
-%# the GNU General Public License and is only of importance to you if
-%# you choose to contribute your changes and enhancements to the
-%# community by submitting them to Best Practical Solutions, LLC.)
-%#
-%# By intentionally submitting any modifications, corrections or
-%# derivatives to this work, or any other work intended for use with
-%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
-%# you are the copyright holder for those contributions and you grant
-%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
-%# royalty-free, perpetual, license to use, copy, create derivative
-%# works based on those contributions, and sublicense and distribute
-%# those contributions and any derivatives thereof.
-%#
-%# END BPS TAGGED BLOCK }}}
-body {
- font-family: helvetica, arial, sans-serif;
- background-color: #ccf;
- margin: 0;
-}
-
-h1 {
- font-size: 1.2em;
- padding-top: 0.5em;
- padding-left: 0.2em;
- display: block;
- background-color: #fff;
- margin: 0;
-}
-
-div.buttons {
- text-align: right;
- padding-right: 0.5em;
- padding-bottom: 0.5em;
-}
-
-.titlebox-title {
- font-size: 1.1em;
- margin-left: 0.5em;
- margin-top: -1.2em;
- top: -0.5em;
- padding: 0.5em;
- position: relative;
- display: inline-block;
- text-decoration: none;
- background-color: #fff;
- -moz-border-radius: 0.25em;
- -webkit-border-radius: 0.25em;
- border-radius: 0.25em;
- -webkit-box-shadow: #333 0px 0px 5px;
- -moz-box-shadow: #333 0px 0px 5px;
- box-shadow: #333 0px 0px 5px;
-}
-
-ul.menu
-{
- text-align: left;
- list-style: none;
- padding: 0;
- margin: -0.6em;
- left: 0;
-}
-
-ul.menu li
-{
- display: block;
- margin: 0;
- padding: 0;
- font-weight: bold;
-}
-
-ul.ticketlist li:active, ul.ticketlist li:hover,
-ul.menu li:active, ul.menu li:hover {
- background-color: #eee;
-}
-
-
-ul.menu li
-{
- display: block;
- padding: 1em;
- margin: 0;
- border:0;
- border-top-width: 1px;
- border-top-color: #666;
- border-style: solid;
- text-decoration: none;
-}
-
-ul.menu li:first-child{
- border: none;
-}
-
-ul.menu li#active a
-{
- color: #800000;
-}
-
-div.titlebox, #bpscredits, #logo, .ticket_menu{
- -moz-border-radius: 1em;
- -webkit-border-radius: 1em;
- border-radius: 1em;
- margin: 0.5em;
- background-color: #fff;
- padding-top: 1em;
- padding-bottom: 0.8em;
- margin-top: 1.25em;
- -webkit-box-shadow: #333 0px 0px 5px;
- -moz-box-shadow: #333 0px 0px 5px;
- box-shadow: #333 0px 0px 5px;
- margin-bottom: 1em;
-}
-
-div .titlebox-content {
- padding-left: 0.5em;
- padding-right: 0.5em;
-}
-
-hr.clear {
- display: none;
-}
-
-
-.label, .labeltop, .cflabel {
- font-weight: normal;
-}
-.value {
- font-weight: bold;
- display: inline-block;
-}
-
-div.value {
- display: block;
-}
-
-ul.ticketlist {
- list-style: none;
- padding-left: -0.5em;
- padding-right: -0.5em; /* to counteract the titlebox and get shading to the end*/
- margin-left: -0.5em;
- margin-right: -0.5em;
- padding: 0em;
- padding-bottom: 1em;
-}
-
-ul.ticketlist li.ticket {
- padding: 0.5em;
- font-weight: bold;
- border-bottom: 1px solid #999;
-
-}
-ul.ticketlist li.ticket:first-child {
- border-top: 1px solid #999;
-}
-
-ul.ticketlist li.ticket a.ticket{
- display: inline-block;
- font-size: 1em;
- width: 100%;
- padding: 0.5em;
- padding-bottom: 5em;
- margin-bottom: -5em;
-}
-ul.ticketlist li.ticket div.metadata {
-}
-
-
-ul.ticketlist li.ticket div.metadata div {
- padding: 0.2em;
- font-size:0.8em;
- display: block;
-}
-
-ul.ticketlist li.ticket div.metadata .label {
- display: inline-block;
- width: 6em;
- font-size: 0.8em;
- text-align: right;
- color: #666;
-}
-
-div#paging {
- text-align: center;
-}
-
-.ticket-reply .titlebox-title, .titlebox.search .titlebox-title, .titlebox.menu .titlebox-title, .ticket_menu .titlebox-title, .history .titlebox-title, #ticket-create-basics .titlebox-title{
- display: none;
-}
-
-a {
- color: #000;
-}
-
-.ticket_menu a, .menu a {
- text-decoration: none;
-}
-
-ul.menu a {
- padding: 0.5em;
- margin-top: -0.5em;
- margin-bottom: -0.5em;
- display: inline-block;
- width: 100%;
-}
-
-ul.menu a:after {
- color: #666;
- float: right;
- content: ">";
- font-size: 1.5em;
- padding: 0;
- margin: 0;
- padding-right: 1em;
-
-}
-
-ul.menu form {
- display: inline;
-}
-
-ul.menu form * {
- display: inline;
-}
-
-
-ul.menu form input[type=text] {
- width: 7em;
-}
-
-ul.menu form input{
-
- width: auto;
- padding: 0.5em;
- margin: -0.5em;
- margin-left: 1em;
-}
-
-.ticket_menu {
- text-align: center;
-}
-
-.ticket_menu ul {
- display: block;
- margin: 0;
- padding: 0;
-}
-
-.ticket_menu ul li {
-
- display: inline-block;
- text-align: center;
- padding-bottom: 0.25em;
- padding-top: 0.25em;
- font-size: 1em;
- width: 28%;
- padding-right: 0.3em;
- padding-left: 0.2em;
- border-right: 1px solid #000;
-}
-.ticket_menu ul li:last-child {
- padding-right: 0;
- border-right: 0;
-}
-
-.ticket-info-reminders table {
-
- width: 100%;
-}
-
-#ticket-create .label:after {
- content: ": ";
- padding-right: 0.25em;
-
-}
-
-#ticket-create .content-label {
- width: auto;
- display: block;
- text-align: left;
-
-}
-
-#ticket-show .label, .login-body .label {
- display: inline-block;
- text-align: right;
- width: 6em;
- padding-right: 0.25em;
- font-size: 0.8em;
-}
-
-.login-body .value {
- width: auto;
-}
-
-.history ul.history-list {
- padding: 0;
- margin: 0;
- padding-bottom: 2em;
-}
-
-
-.history ul.history-list li:first-child {
- border-top: 1px solid #ccc;
-}
-
-.history ul.history-list li {
- list-style: none;
- border-bottom: 1px solid #ccc;
- padding: 0.5em;
-}
-
-.history .age {
- display: inline-block;
- min-width: 8em;
- text-align: right;
-
-}
-
-div#login-box div.titlebox {
- width: 100%;
- margin-left:auto;
- margin-right: auto;
-}
-
-div#login-box input[type=text], div#login-box input[type=password] {
- width: 100%;
-}
-
-#bpscredits {
- float: right;
- clear: right;
- text-align: right;
- width: auto;
- font-size: 0.8em;
- padding: 1em;
-}
-
-#bpscredits #copyright {
- padding-top: 4em;
- background: white url(<%RT->Config->Get('WebPath')%>/NoAuth/images/bpslogo.png) no-repeat top right;
-}
-
-
-:focus {
- background-color: #ffc;
- border-color: #000;
- border-weight: 3px;
-}
-
-input[type=submit], input[type=button], button, #paging a {
- border: 2px outset;
- margin: 0.3em;
- padding: 0.3em;
- padding-left: 0.6em;
- padding-right: 0.6em;
- -moz-border-radius: 0.5em;
- -webkit-border-radius: 0.5em;
- border-radius: 0.5em;
- background-color: #006699;
- color: #fff;
-}
-
-form {
-
- margin:0;
-}
-
-#gohome {
- position: absolute;
- top: 0;
- right: 0;
- border-left: 1px solid black;
- border-bottom: 1px solid black;
- -moz-border-radius-bottomleft: 1em;
- -webkit-border-bottom-left-radius: 1em;
- border-bottom-left-radius: 1em;
- padding: 0.5em;
- background-color: #fff;
-}
-
-#gohome a {
- font-size: 1em;
- padding: 0.25em;
- color: #000;
-}
-
-#logo {
- float: right;
- clear: right;
- text-align: center;
- padding: 1em;
- padding-bottom: 0.5em;
- margin: 0.25em 0.5em 0.25em 0.25em;
-}
-
-#logo .rtname {
- display: block;
- font-size: 0.9em;
-}
-
-#logo a img {
- border: 0;
- height: 2em;
- width: auto !important;
- padding-bottom: 0.5em;
-}
-
-div.txn-content {
-
- font-size:0.8em;
- padding-left:1em;
- padding-top:0.5em;
- margin-top: 0.5em;
- margin-left: 2em;
- padding-bottom: 0.5em;
- border-left: 5px solid #00c;
-
-}
-
-.label, .cflabel {
- text-align: left;
- width: 10em;
- color: #666;
- display: block;
- padding-bottom: 0.2em;
- padding-right: 0.2em;
-
-}
-
-div.entry, tr.input-row {
- margin-bottom: 0.25em;
- padding-bottom: 0.25em;
- border-bottom: 1px solid #ccc;
- display: block;
- width: 100%;
- min-height: 1em;
-}
-
-
-input[type=text], input[type=password], select {
- width: 100%;
-}
-
-.timefield input {
- width: 5em;
-}
-
-.timefield select {
- width: auto;
-}
-
-
-textarea {
- width: 100%;
-}
-
-a#fullsite {
- padding-left: 1em;
-}
-
-div.error .titlebox-title {
- background-color: #f00;
- color: #fff;
-}
-
-div.error div.error {
- background-color: #fcc;
-}
diff --git a/rt/share/html/m/_elements/ticket_list b/rt/share/html/m/_elements/ticket_list
index 6eec63e..608e9c8 100644
--- a/rt/share/html/m/_elements/ticket_list
+++ b/rt/share/html/m/_elements/ticket_list
@@ -80,7 +80,7 @@ if ($page > 1 && ! @{$collection->ItemsArrayRef||[]}) {
</%init>
<&| /m/_elements/wrapper, title =>
-loc("Found [quant,_1,ticket]",$collection->CountAll) &>
+loc("Found [quant,_1,ticket,tickets]",$collection->CountAll) &>
<&|/Widgets/TitleBox, class => 'search'
&>
<ul class="ticketlist">
@@ -91,9 +91,9 @@ loc("Found [quant,_1,ticket]",$collection->CountAll) &>
<%perl>
</%perl>
-<div class="requestors"><span class="label"><&|/l&>Requestors</&>:</span> <& /Ticket/Elements/ShowGroupMembers, Group => $ticket->Requestors, Ticket => $ticket &></div>
+<div class="requestors"><span class="label"><&|/l&>Requestors</&>:</span> <& /Ticket/Elements/ShowGroupMembers, Group => $ticket->Requestors, Ticket => $ticket, Link => 0 &></div>
<div class="status"><span class="label"><&|/l&>Status</&>:</span> <%$ticket->Status%></div>
-<div class="owner"><span class="label"><&|/l&>Owner</&>:</span> <& /Elements/ShowUser, User => $ticket->OwnerObj, Ticket => $ticket &></div>
+<div class="owner"><span class="label"><&|/l&>Owner</&>:</span> <& /Elements/ShowUser, User => $ticket->OwnerObj, Ticket => $ticket, Link => 0 &></div>
<div class="created"><span class="label"><&|/l&>Created</&>:</span> <%$ticket->CreatedObj->AgeAsString()%></div>
% if ($ticket->Priority) {
<div class="priority"><span class="label"><&|/l&>Priority</&>:</span> <%$ticket->Priority%></div>
diff --git a/rt/share/html/m/ticket/create b/rt/share/html/m/ticket/create
index 5d72d1b..957e829 100644
--- a/rt/share/html/m/ticket/create
+++ b/rt/share/html/m/ticket/create
@@ -87,12 +87,9 @@ if ($CloneTicket) {
Status TimeLeft/;
$clone->{$_} = $CloneTicketObj->$_->AsString
- for grep { $CloneTicketObj->$_->Unix }
+ for grep { $CloneTicketObj->$_->IsSet }
map { $_ . "Obj" } qw/Starts Started Due Resolved/;
- my $members = $CloneTicketObj->Members;
- my ( @members, @members_of, @refers, @refers_by, @depends, @depends_by );
- my $refers = $CloneTicketObj->RefersTo;
my $get_link_value = sub {
my ($link, $type) = @_;
my $uri_method = $type . 'URI';
@@ -105,6 +102,8 @@ if ($CloneTicket) {
return $link->$local_method || $uri->URI;
};
+ my (@refers, @refers_by);
+ my $refers = $CloneTicketObj->RefersTo;
while ( my $refer = $refers->Next ) {
my $refer_value = $get_link_value->($refer, 'Target');
push @refers, $refer_value if defined $refer_value;
@@ -126,7 +125,7 @@ if ($CloneTicket) {
while ( my $cf_value = $cf_values->Next ) {
push @cf_values, $cf_value->Content;
}
- $clone->{"Object-RT::Ticket--CustomField-$cf_id-Value"} = join "\n",
+ $clone->{GetCustomFieldInputName( CustomField => $cf )} = join "\n",
@cf_values;
}
@@ -147,27 +146,31 @@ $m->callback( QueueObj => $QueueObj, title => \$title, results => \@results, ARG
$QueueObj->Disabled && Abort(loc("Cannot create tickets in a disabled queue."));
-my $CFs = $QueueObj->TicketCustomFields();
-
-my $ValidCFs = $m->comp(
- '/Elements/ValidateCustomFields',
- CustomFields => $CFs,
- ARGSRef => \%ARGS
-);
-
ProcessAttachments(ARGSRef => \%ARGS);
my $checks_failure = 0;
-my $gnupg_widget = $m->comp('/Elements/GnuPG/SignEncryptWidget:new', Arguments => \%ARGS );
-$m->comp( '/Elements/GnuPG/SignEncryptWidget:Process',
+{
+ my ($status, @msg) = $m->comp(
+ '/Elements/ValidateCustomFields',
+ CustomFields => $QueueObj->TicketCustomFields,
+ ARGSRef => \%ARGS
+ );
+ unless ( $status ) {
+ $checks_failure = 1;
+ push @results, @msg;
+ }
+}
+
+my $gnupg_widget = $m->comp('/Elements/Crypt/SignEncryptWidget:new', Arguments => \%ARGS );
+$m->comp( '/Elements/Crypt/SignEncryptWidget:Process',
self => $gnupg_widget,
QueueObj => $QueueObj,
);
if ( !exists $ARGS{'AddMoreAttach'} && ($ARGS{'id'}||'') eq 'new' ) {
- my $status = $m->comp('/Elements/GnuPG/SignEncryptWidget:Check',
+ my $status = $m->comp('/Elements/Crypt/SignEncryptWidget:Check',
self => $gnupg_widget,
Operation => 'Create',
QueueObj => $QueueObj,
@@ -196,18 +199,11 @@ $m->callback( CallbackName => 'BeforeCreate', ARGSRef => \%ARGS, skip_create =>
checks_failure => $checks_failure, results => \@results );
if ((!exists $ARGS{'AddMoreAttach'}) and (defined($ARGS{'id'}) and $ARGS{'id'} eq 'new')) { # new ticket?
- if ( $ValidCFs && !$checks_failure && !$skip_create ) {
+ if ( !$checks_failure && !$skip_create ) {
$m->comp('show', %ARGS);
$RT::Logger->crit("After display call; error is $@");
$m->abort();
}
- elsif ( !$ValidCFs ) {
- # Invalid CFs
- while (my $CF = $CFs->Next) {
- my $msg = $m->notes('InvalidField-' . $CF->Id) or next;
- push @results, $CF->Name . ': ' . $msg;
- }
- }
}
@@ -218,9 +214,10 @@ if ((!exists $ARGS{'AddMoreAttach'}) and (defined($ARGS{'id'}) and $ARGS{'id'} e
<& /Elements/ListActions, actions => \@results &>
<form action="<% RT->Config->Get('WebPath') %>/m/ticket/create" method="post" enctype="multipart/form-data" name="TicketCreate" id="ticket-create">
<input type="hidden" class="hidden" name="id" value="new" />
+<input type="hidden" class="hidden" name="Token" value="<% $ARGS{'Token'} %>" />
% $m->callback( CallbackName => 'FormStart', QueueObj => $QueueObj, ARGSRef => \%ARGS );
% if ($gnupg_widget) {
-<& /Elements/GnuPG/SignEncryptWidget:ShowIssues, self => $gnupg_widget &>
+<& /Elements/Crypt/SignEncryptWidget:ShowIssues, self => $gnupg_widget &>
% }
@@ -253,11 +250,9 @@ $showrows->(
loc('Status') =>
$m->scomp(
- "/Elements/SelectStatus",
+ "/Ticket/Elements/SelectStatus",
Name => "Status",
QueueObj => $QueueObj,
- Default => $ARGS{Status} || $QueueObj->Lifecycle->DefaultOnCreate,
- DefaultValue => 0,
),
loc("Owner") =>
@@ -274,7 +269,7 @@ $showrows->(
"/Elements/EmailInput",
Name => 'Requestors',
Size => '40',
- Default => $ARGS{Requestors} || $session{CurrentUser}->EmailAddress
+ Default => $ARGS{Requestors} // $session{CurrentUser}->EmailAddress
),
loc("Cc") =>
@@ -300,16 +295,22 @@ $showrows->(
</%perl>
-<& /Ticket/Elements/EditCustomFields, %ARGS, QueueObj => $QueueObj &>
+<& /Elements/EditCustomFields,
+ %ARGS,
+ Object => RT::Ticket->new($session{CurrentUser}),
+ CustomFields => $QueueObj->TicketCustomFields,
+ AsTable => 0,
+ &>
<& /Ticket/Elements/EditTransactionCustomFields, %ARGS, QueueObj => $QueueObj &>
-% if (exists $session{'Attachments'}) {
+% if ( my $attachments = $session{'Attachments'}{ $ARGS{'Token'} }) {
<%loc("Attached file") %>
<%loc("Check box to delete")%><br />
-% foreach my $attach_name (keys %{$session{'Attachments'}}) {
-<input type="checkbox" class="checkbox" name="DeleteAttach-<%$attach_name%>" value="1" /><%$attach_name%><br />
+% foreach my $attach_name ( keys %$attachments ) {
+<input type="checkbox" class="checkbox" name="DeleteAttach" value="<% $attach_name %>" id="DeleteAttach-<% $attach_name %>" />
+<label for="DeleteAttach-<% $attach_name %>"><% $attach_name %></label><br />
% } # end of foreach
@@ -328,14 +329,14 @@ $showrows->(
% if ( $gnupg_widget ) {
-<& /Elements/GnuPG/SignEncryptWidget, self => $gnupg_widget, QueueObj => $QueueObj &>
+<& /Elements/Crypt/SignEncryptWidget, self => $gnupg_widget, QueueObj => $QueueObj &>
% }
<div class="ticket-info-basics">
- <&| /Widgets/TitleBox, title => loc('The Basics'),
- title_class=> 'inverse',
- color => "#993333" &>
+ <&| /Widgets/TitleBox, title => loc('The Basics'),
+ title_class=> 'inverse',
+ color => "#993333" &>
<%perl>
$showrows->(
loc("Priority") => $m->scomp(
@@ -353,29 +354,26 @@ $showrows->(
"/Elements/EditTimeValue",
Name => 'TimeEstimated',
Default => $ARGS{TimeEstimated} || '',
- InUnits => $ARGS{'TimeEstimated-TimeUnits'}
).'</span>',
loc("Time Worked") => '<span class="timefield">'.$m->scomp(
"/Elements/EditTimeValue",
Name => 'TimeWorked',
Default => $ARGS{TimeWorked} || '',
- InUnits => $ARGS{'TimeWorked-TimeUnits'}
). '</span>',
loc("Time Left") => '<span class="timefield">'.$m->scomp(
"/Elements/EditTimeValue",
Name => 'TimeLeft',
Default => $ARGS{TimeLeft} || '',
- InUnits => $ARGS{'TimeLeft-TimeUnits'}
).'</span>',
);
</%perl>
</&>
<&|/Widgets/TitleBox, title => loc("Dates"),
- title_class=> 'inverse',
- color => "#663366" &>
+ title_class=> 'inverse',
+ color => "#663366" &>
<%perl>
$showrows->(
diff --git a/rt/share/html/m/ticket/history b/rt/share/html/m/ticket/history
index 418bace..ac548af 100644
--- a/rt/share/html/m/ticket/history
+++ b/rt/share/html/m/ticket/history
@@ -61,7 +61,7 @@ my $history = $t->Transactions()->ItemsArrayRef;
% for my $entry (reverse @$history) {
<li>
<span class="age"><% $entry->CreatedObj->AgeAsString() %></span> -
-<& /Elements/ShowUser, User => $entry->CreatorObj &> -
+<& /Elements/ShowUser, User => $entry->CreatorObj, Link => 0 &> -
<%$entry->BriefDescription%>
% if ($entry->Type !~ /EmailRecord/) {
% if ($entry->ContentObj) {
diff --git a/rt/share/html/m/ticket/reply b/rt/share/html/m/ticket/reply
index bc7f0d6..9a92150 100644
--- a/rt/share/html/m/ticket/reply
+++ b/rt/share/html/m/ticket/reply
@@ -54,14 +54,18 @@
method="post" enctype="multipart/form-data">
<input type="hidden" class="hidden" name="DefaultStatus" value="<% $DefaultStatus ||''%>" />
<input type="hidden" class="hidden" name="Action" value="<% $ARGS{Action}||'' %>" />
+<input type="hidden" class="hidden" name="Token" value="<% $ARGS{'Token'} %>" />
% if ($gnupg_widget) {
-<& /Elements/GnuPG/SignEncryptWidget:ShowIssues, self => $gnupg_widget &>
+<& /Elements/Crypt/SignEncryptWidget:ShowIssues, self => $gnupg_widget &>
% }
<div class="entry"><span class="label"><&|/l&>Status</&>:</span>
<div class="value">
-<& /Elements/SelectStatus, Name=>"Status", TicketObj => $t, DefaultLabel => loc("[_1] (Unchanged)", loc($t->Status)), Default => $ARGS{'Status'} || ($t->Status eq $DefaultStatus ? undef : $DefaultStatus)&>
+<& /Ticket/Elements/SelectStatus,
+ Name=>"Status",
+ TicketObj => $t,
+ Default => $DefaultStatus &>
</div></div>
<div class="entry"><span class="label"><&|/l&>Owner</&>:</span>
@@ -70,7 +74,7 @@
Name => "Owner",
TicketObj => $t,
QueueObj => $t->QueueObj,
- DefaultLabel => loc("[_1] (Unchanged)", $m->scomp('/Elements/ShowUser', User => $t->OwnerObj)),
+ DefaultLabel => loc("[_1] (Unchanged)", $t->OwnerObj->Format),
Default => $ARGS{'Owner'}
&>
</div></div>
@@ -78,7 +82,6 @@
<& /Elements/EditTimeValue,
Name => 'UpdateTimeWorked',
Default => $ARGS{UpdateTimeWorked}||'',
- InUnits => $ARGS{'UpdateTimeWorked-TimeUnits'}||'minutes',
&>
</span></div>
% $m->callback( %ARGS, CallbackName => 'AfterWorked', Ticket => $t );
@@ -137,7 +140,7 @@
</div>
% if ( $gnupg_widget ) {
-<& /Elements/GnuPG/SignEncryptWidget, self => $gnupg_widget, QueueObj => $t->QueueObj &>
+<& /Elements/Crypt/SignEncryptWidget, self => $gnupg_widget, QueueObj => $t->QueueObj &>
% }
<& /Elements/Submit, Label => loc('Update Ticket'), Name => 'SubmitTicket' &>
@@ -209,8 +212,8 @@ ProcessAttachments(ARGSRef => \%ARGS);
}
}
-my $gnupg_widget = $m->comp('/Elements/GnuPG/SignEncryptWidget:new', Arguments => \%ARGS );
-$m->comp( '/Elements/GnuPG/SignEncryptWidget:Process',
+my $gnupg_widget = $m->comp('/Elements/Crypt/SignEncryptWidget:new', Arguments => \%ARGS );
+$m->comp( '/Elements/Crypt/SignEncryptWidget:Process',
self => $gnupg_widget,
TicketObj => $t,
);
@@ -220,7 +223,7 @@ $m->callback( CallbackName => 'BeforeUpdate', ARGSRef => \%ARGS, skip_update =>
checks_failure => $checks_failure, results => \@results, TicketObj => $t );
if ( !$checks_failure && !$skip_update && exists $ARGS{SubmitTicket} ) {
- my $status = $m->comp('/Elements/GnuPG/SignEncryptWidget:Check',
+ my $status = $m->comp('/Elements/Crypt/SignEncryptWidget:Check',
self => $gnupg_widget,
TicketObj => $t,
);
diff --git a/rt/share/html/m/ticket/show b/rt/share/html/m/ticket/show
index 4516f9f..ebf39ac 100644
--- a/rt/share/html/m/ticket/show
+++ b/rt/share/html/m/ticket/show
@@ -69,10 +69,7 @@ if ($ARGS{'id'} eq 'new') {
Abort('You have no permission to create tickets in that queue.');
}
- ($Ticket, @Actions) = CreateTicket(
- Attachments => delete $session{'Attachments'},
- %ARGS,
- );
+ ($Ticket, @Actions) = CreateTicket( %ARGS );
unless ( $Ticket->CurrentUserHasRight('ShowTicket') ) {
Abort("No permission to view newly created ticket #".$Ticket->id.".");
}
@@ -95,14 +92,12 @@ if ($ARGS{'id'} eq 'new') {
ARGSRef => \%ARGS,
Actions => \@Actions);
- $ARGS{UpdateAttachments} = $session{'Attachments'};
push @Actions,
ProcessUpdateMessage(
ARGSRef => \%ARGS,
Actions => \@Actions,
TicketObj => $Ticket,
);
- delete $session{'Attachments'};
#Process status updates
push @Actions, ProcessTicketWatchers(ARGSRef => \%ARGS, TicketObj => $Ticket );
@@ -152,7 +147,7 @@ if (@Actions) {
# If we haven't been passed in an Attachments object (through the precaching mechanism)
# then we need to find one
-my $Attachments = $m->comp('/Ticket/Elements/FindAttachments', Ticket => $Ticket);
+my $Attachments = $Ticket->Attachments;
my %documents;
while ( my $attach = $Attachments->Next() ) {
@@ -172,7 +167,7 @@ my $print_value = sub {
my $linked = $value->LinkValueTo;
if ( defined $linked && length $linked ) {
my $linked = $m->interp->apply_escapes( $linked, 'h' );
- $m->out('<a href="'. $linked .'" target="_new">');
+ $m->out('<a href="'. $linked .'" target="_blank">');
}
my $comp = "ShowCustomField". $cf->Type;
$m->callback(
@@ -253,7 +248,7 @@ my $print_value = sub {
</div>
</&>
-% if ($Ticket->CustomFields->First) {
+% if ($CustomFields->Count) {
<&| /Widgets/TitleBox, title => loc('Custom Fields'),
class => 'ticket-info-cfs',
&>
@@ -289,20 +284,20 @@ my $print_value = sub {
<div class="entry">
<div class="label"><&|/l&>Owner</&>:</div>
- <div class="value"><& /Elements/ShowUser, User => $Ticket->OwnerObj, Ticket => $Ticket &>
+ <div class="value"><& /Elements/ShowUser, User => $Ticket->OwnerObj, Ticket => $Ticket, Link => 0 &>
</div>
</div>
<div class="entry">
<div class="label"><&|/l&>Requestors</&>:</div>
- <div class="value"><& /Ticket/Elements/ShowGroupMembers, Group => $Ticket->Requestors, Ticket => $Ticket &></div>
+ <div class="value"><& /Ticket/Elements/ShowGroupMembers, Group => $Ticket->Requestors, Ticket => $Ticket, Link => 0 &></div>
</div>
<div class="entry">
<div class="label"><&|/l&>Cc</&>:</div>
- <div class="value"><& /Ticket/Elements/ShowGroupMembers, Group => $Ticket->Cc, Ticket => $Ticket &></div>
+ <div class="value"><& /Ticket/Elements/ShowGroupMembers, Group => $Ticket->Cc, Ticket => $Ticket, Link => 0 &></div>
</div>
<div class="entry">
<div class="label"><&|/l&>AdminCc</&>:</div>
- <div class="value"><& /Ticket/Elements/ShowGroupMembers, Group => $Ticket->AdminCc, Ticket => $Ticket &></div>
+ <div class="value"><& /Ticket/Elements/ShowGroupMembers, Group => $Ticket->AdminCc, Ticket => $Ticket, Link => 0 &></div>
</div>
</&>
@@ -318,34 +313,10 @@ my $print_value = sub {
<%$key%><br />
<ul>
% foreach my $rev (@{$documents{$key}}) {
-
-<%PERL>
-my $size = $rev->ContentLength;
-
-if ($size) {
- my $kb = int($size/102.4) / 10;
- my $units = RT->Config->Get('AttachmentUnits');
-
- if (!defined($units)) {
- if ($size > 1024) {
- $size = $kb . "k";
- }
- else {
- $size = $size . "b";
- }
- }
- elsif ($units eq 'k') {
- $size = $kb . "k";
- }
- else {
- $size = $size . "b";
- }
-
-</%PERL>
-
+% if ($rev->ContentLength) {
<li><font size="-2">
-<a href="<%RT->Config->Get('WebPath')%>/Ticket/Attachment/<%$rev->TransactionId%>/<%$rev->Id%>/<%$rev->Filename | un%>">
-<&|/l, $rev->CreatedAsString, $size, $rev->CreatorObj->Name &>[_1] ([_2]) by [_3]</&>
+<a href="<%RT->Config->Get('WebPath')%>/Ticket/Attachment/<%$rev->TransactionId%>/<%$rev->Id%>/<%$rev->Filename | un %>">
+<&|/l, $rev->CreatedAsString, $rev->FriendlyContentLength, $rev->CreatorObj->Name &>[_1] ([_2]) by [_3]</&>
</a>
</font></li>
% }
@@ -394,7 +365,7 @@ if ($size) {
<div class="entry">
<div class="label date due"><&|/l&>Due</&>:</div>
% my $due = $Ticket->DueObj;
-% if ( $due && $due->Unix > 0 && $due->Diff < 0 ) {
+% if ( $due && $due->IsSet && $due->Diff < 0 && $Ticket->QueueObj->IsActiveStatus($Ticket->Status) ) {
<div class="value date due"><span class="overdue"><% $due->AsString %></span></div>
% } else {
<div class="value date due"><% $due->AsString %></div>
@@ -456,11 +427,11 @@ for my $link ( @{ $Ticket->DependsOn->ItemsArrayRef } ) {
</div>
<div class="entry">
<div class="label"><% loc('Parents') %>:</div>
- <div class="value"><& /Ticket/Elements/ShowParents, Ticket => $Ticket &></div>
+ <div class="value"><& /Elements/ShowLinksOfType, Object => $Ticket, Type => 'MemberOf' &></div>
</div>
<div class="entry">
<div class="label"><% loc('Children')%>:</div>
- <div class="value"><& /Ticket/Elements/ShowMembers, Ticket => $Ticket &></div>
+ <div class="value"><& /Elements/ShowLinksOfType, Object => $Ticket, Type => 'Members' &></div>
</div>
<div class="entry">
<div class="label"><% loc('Refers to')%>:</div>
diff --git a/rt/share/html/m/tickets/search b/rt/share/html/m/tickets/search
index 561e859..0edc917 100644
--- a/rt/share/html/m/tickets/search
+++ b/rt/share/html/m/tickets/search
@@ -52,7 +52,7 @@ $order => 'desc'
$name => undef
</%args>
<%init>
-use RT::Search::Googleish;
+use RT::Search::Simple;
my $query = $ARGS{'query'};
if ($ARGS{'q'}) {
my $tickets = RT::Tickets->new( $session{'CurrentUser'} );
@@ -60,7 +60,7 @@ if ($ARGS{'q'}) {
Argument => $ARGS{q},
TicketsObj => $tickets,
);
- my $search = RT::Search::Googleish->new(%args);
+ my $search = RT::Search::Simple->new(%args);
$query = $search->QueryToSQL();
}
@@ -90,11 +90,16 @@ my $search;
if ( $_->{'Query'} =~ /__Bookmarks__/ ) {
$_->{'Rows'} = 999;
- # DEPRECATED: will be here for a while up to 3.10/4.0
- my $bookmarks = $session{'CurrentUser'}->UserObj->FirstAttribute('Bookmarks');
- $bookmarks = $bookmarks->Content if $bookmarks;
- $bookmarks ||= {};
- my $query = join( " OR ", map " id = '$_' ", grep $bookmarks->{$_}, keys %$bookmarks ) || 'id=0';
+ # DEPRECATED: will be here for a while up to 4.4
+ RT->Deprecated(
+ Remove => "4.4",
+ Instead => "id = '__Bookmarked__'",
+ Message => "The __Bookmarks__ query syntax is deprecated",
+ Object => $search,
+ );
+
+ my @bookmarks = $session{'CurrentUser'}->UserObj->Bookmarks;
+ my $query = join(" OR ", map " id = '$_' ", @bookmarks ) || 'id=0';
$_->{'Query'} =~ s/__Bookmarks__/( $query )/g;
}
}