mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-13 07:24:13 +01:00
Merge branch 'refs/heads/support/3.2' into develop
This commit is contained in:
8
css/backoffice/vendors/_ckeditor.scss
vendored
8
css/backoffice/vendors/_ckeditor.scss
vendored
@@ -17,7 +17,7 @@ $ibo-vendors-ckeditor--autocomplete-item-image--background-color: $ibo-color-blu
|
||||
$ibo-vendors-ckeditor--autocomplete-item-image--border: 1px solid $ibo-color-grey-600 !default;
|
||||
|
||||
$ibo-vendors-ckeditor--autocomplete-item-title--text-color: #3A3A3A !default;
|
||||
|
||||
$ibo-vendors-ckeditor--ck-content--text-color: $ibo-color-grey-900 !default;
|
||||
/* - Following SCSS variables are only there to overlaod the CSS3 variables of CKEditor (see `src/resources/styles/default-theme.css` in CKEditor) */
|
||||
$ibo-vendors-ckeditor--ck-color-list-button-on-background: $ibo-color-grey-200 !default;
|
||||
$ibo-vendors-ckeditor--ck-color-list-button-on-background-focus: $ibo-color-grey-200 !default;
|
||||
@@ -56,6 +56,10 @@ $ibo-vendors-ckeditor--ck-color-image-caption-text: $ibo-color-grey-900 !default
|
||||
}
|
||||
}
|
||||
|
||||
.ck.ck-content {
|
||||
color: $ibo-vendors-ckeditor--ck-content--text-color;
|
||||
}
|
||||
|
||||
.ck-editor__editable_inline:not(.ck-comment__input *) {
|
||||
height: 200px;
|
||||
}
|
||||
@@ -74,7 +78,7 @@ $ibo-vendors-ckeditor--ck-color-image-caption-text: $ibo-color-grey-900 !default
|
||||
.ck-editor__main{
|
||||
flex-grow: 1;
|
||||
}
|
||||
.ck-editor__editable_inline:not(.ck-comment__input *){
|
||||
.ck-editor__editable_inline:not(.ck-comment__input *), .ck-source-editing-area{
|
||||
height: 100% !important; /* !important to overload inline style from configuration.height */
|
||||
width: 100% !important; /* !important to overload inline style from configuration.width */
|
||||
}
|
||||
|
||||
@@ -1,829 +1,5 @@
|
||||
|
||||
.cke_reset_all,
|
||||
.cke_reset_all *,
|
||||
.cke_reset_all a,
|
||||
.cke_reset_all textarea {
|
||||
color: $ibo-color-grey-950 !important;
|
||||
}
|
||||
.cke_reset_all fieldset {
|
||||
border: 2px groove #e0dfe3 !important;
|
||||
}
|
||||
.cke_chrome {
|
||||
border: 1px solid $ibo-color-grey-300 !important;
|
||||
}
|
||||
.cke_editable{
|
||||
background: $ibo-color-grey-100;
|
||||
}
|
||||
.cke_inner {
|
||||
background: $ibo-color-grey-300 !important;
|
||||
}
|
||||
.cke_top {
|
||||
border-bottom: 1px solid $ibo-color-grey-500 !important;
|
||||
background: $ibo-color-grey-200 !important;
|
||||
white-space: normal !important;
|
||||
}
|
||||
.cke_float .cke_top {
|
||||
border: 1px solid $ibo-color-grey-500 !important;
|
||||
}
|
||||
.cke_bottom {
|
||||
|
||||
border-top: 1px solid $ibo-color-grey-500 !important;
|
||||
background: $ibo-color-grey-200 !important;
|
||||
}
|
||||
.cke_browser_ios .cke_contents {
|
||||
overflow-y: auto;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
}
|
||||
.cke_resizer {
|
||||
border-color: transparent #bcbcbc transparent transparent;
|
||||
}
|
||||
.cke_resizer_rtl {
|
||||
border-color: transparent transparent transparent #bcbcbc;
|
||||
}
|
||||
.cke_panel {
|
||||
background-color: $ibo-color-grey-200;
|
||||
border: 1px solid #d1d1d1;
|
||||
}
|
||||
.cke_panel_listItem.cke_selected a,
|
||||
.cke_panel_listItem a:hover,
|
||||
.cke_panel_listItem a:focus,
|
||||
.cke_panel_listItem a:active {
|
||||
background-color: #e9e9e9;
|
||||
}
|
||||
.cke_panel_listItem a:focus {
|
||||
outline: 1px dotted #000;
|
||||
}
|
||||
|
||||
.cke_panel_grouptitle {
|
||||
color: #484848;
|
||||
border-bottom: 1px solid #d1d1d1;
|
||||
background: #f8f8f8;
|
||||
}
|
||||
.cke_colorblock,
|
||||
.cke_colorblock a {
|
||||
text-decoration: none;
|
||||
color: #000;
|
||||
}
|
||||
a:hover.cke_colorbox,
|
||||
a:focus.cke_colorbox,
|
||||
a:active.cke_colorbox {
|
||||
outline: 0;
|
||||
padding: 0;
|
||||
border: 2px solid #139ff7;
|
||||
}
|
||||
a:hover.cke_colorbox {
|
||||
border-color: #bcbcbc;
|
||||
}
|
||||
a.cke_colorauto,
|
||||
a.cke_colormore {
|
||||
border: #fff 1px solid;
|
||||
padding: 3px;
|
||||
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 {
|
||||
outline: 0;
|
||||
border: #139ff7 1px solid;
|
||||
background-color: #f8f8f8;
|
||||
}
|
||||
a:hover.cke_colorauto,
|
||||
a:hover.cke_colormore {
|
||||
border-color: #bcbcbc;
|
||||
}
|
||||
.cke_colorauto span.cke_colorbox {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
border: 1px solid #808080;
|
||||
margin-left: 1px;
|
||||
margin-top: 3px;
|
||||
}
|
||||
.cke_rtl .cke_colorauto span.cke_colorbox {
|
||||
margin-left: 0;
|
||||
margin-right: 1px;
|
||||
}
|
||||
span.cke_colorbox[style*="#ffffff"],
|
||||
span.cke_colorbox[style*="#FFFFFF"],
|
||||
span.cke_colorbox[style="background-color:#fff"],
|
||||
span.cke_colorbox[style="background-color:#FFF"],
|
||||
span.cke_colorbox[style*="rgb(255,255,255)"],
|
||||
span.cke_colorbox[style*="rgb(255, 255, 255)"] {
|
||||
border: 1px solid #808080;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
.cke_toolbar {
|
||||
float: left;
|
||||
}
|
||||
.cke_rtl .cke_toolbar {
|
||||
float: right;
|
||||
}
|
||||
.cke_toolgroup {
|
||||
border: 0;
|
||||
float: left;
|
||||
margin: 1px 2px 6px 0;
|
||||
padding-right: 3px;
|
||||
}
|
||||
.cke_rtl .cke_toolgroup {
|
||||
float: right;
|
||||
margin: 1px 0 6px 2px;
|
||||
padding-left: 3px;
|
||||
padding-right: 0;
|
||||
}
|
||||
.cke_hc .cke_toolgroup {
|
||||
margin-right: 5px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.cke_hc.cke_rtl .cke_toolgroup {
|
||||
margin-right: 0;
|
||||
margin-left: 5px;
|
||||
}
|
||||
a.cke_button {
|
||||
display: inline-block;
|
||||
height: 18px;
|
||||
padding: 4px 6px;
|
||||
outline: 0;
|
||||
cursor: default;
|
||||
float: left;
|
||||
border: 0;
|
||||
position: relative;
|
||||
}
|
||||
a.cke_button_expandable {
|
||||
padding: 4px 5px;
|
||||
}
|
||||
.cke_rtl a.cke_button {
|
||||
float: right;
|
||||
}
|
||||
.cke_hc a.cke_button {
|
||||
border: 1px solid black;
|
||||
padding: 3px 5px;
|
||||
margin: 0 3px 5px 0;
|
||||
}
|
||||
.cke_hc.cke_rtl a.cke_button {
|
||||
margin: 0 0 5px 3px;
|
||||
}
|
||||
a.cke_button_on {
|
||||
background: #fff;
|
||||
border: 1px #bcbcbc solid;
|
||||
padding: 3px 5px;
|
||||
}
|
||||
a.cke_button_expandable.cke_button_on {
|
||||
padding: 3px 4px;
|
||||
}
|
||||
a.cke_button_off:hover,
|
||||
a.cke_button_off:focus,
|
||||
a.cke_button_off:active {
|
||||
background: #e5e5e5;
|
||||
border: 1px #bcbcbc solid;
|
||||
padding: 3px 5px;
|
||||
}
|
||||
a.cke_button_expandable.cke_button_off:hover,
|
||||
a.cke_button_expandable.cke_button_off:focus,
|
||||
a.cke_button_expandable.cke_button_off:active {
|
||||
padding: 3px 4px;
|
||||
}
|
||||
.cke_hc a.cke_button_on,
|
||||
.cke_hc a.cke_button_off:hover,
|
||||
.cke_hc a.cke_button_off:focus,
|
||||
.cke_hc a.cke_button_off:active {
|
||||
background: #e5e5e5;
|
||||
border: 3px solid #000;
|
||||
padding: 1px 3px;
|
||||
}
|
||||
a.cke_button_disabled:hover,
|
||||
a.cke_button_disabled:focus,
|
||||
a.cke_button_disabled:active {
|
||||
border: 0;
|
||||
padding: 4px 6px;
|
||||
background-color: transparent;
|
||||
}
|
||||
a.cke_button_expandable.cke_button_disabled:hover,
|
||||
a.cke_button_expandable.cke_button_disabled:active {
|
||||
padding: 4px 5px;
|
||||
}
|
||||
a.cke_button_disabled:focus {
|
||||
border: 1px #bcbcbc solid;
|
||||
padding: 3px 5px;
|
||||
}
|
||||
a.cke_button_expandable.cke_button_disabled:focus {
|
||||
padding: 3px 4px;
|
||||
}
|
||||
.cke_hc a.cke_button_disabled:hover,
|
||||
.cke_hc a.cke_button_disabled:focus,
|
||||
.cke_hc a.cke_button_disabled:active {
|
||||
border: 1px solid #acacac;
|
||||
padding: 3px 5px;
|
||||
margin: 0 3px 5px 0;
|
||||
}
|
||||
.cke_hc a.cke_button_disabled:focus {
|
||||
border: 3px solid #000;
|
||||
padding: 1px 3px;
|
||||
}
|
||||
.cke_hc.cke_rtl a.cke_button_disabled:hover,
|
||||
.cke_hc.cke_rtl a.cke_button_disabled:focus,
|
||||
.cke_hc.cke_rtl a.cke_button_disabled:active {
|
||||
margin: 0 0 5px 3px;
|
||||
}
|
||||
a.cke_button_disabled .cke_button_icon,
|
||||
a.cke_button_disabled .cke_button_arrow {
|
||||
opacity: 0.3;
|
||||
}
|
||||
.cke_hc a.cke_button_disabled {
|
||||
border-color: #acacac;
|
||||
}
|
||||
.cke_hc a.cke_button_disabled .cke_button_icon,
|
||||
.cke_hc a.cke_button_disabled .cke_button_label {
|
||||
opacity: 0.5;
|
||||
}
|
||||
.cke_toolgroup a.cke_button:last-child:after,
|
||||
.cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
height: 18px;
|
||||
width: 0;
|
||||
border-right: 1px solid #bcbcbc;
|
||||
margin-top: 4px;
|
||||
top: 0;
|
||||
right: -3px;
|
||||
}
|
||||
.cke_rtl .cke_toolgroup a.cke_button:last-child:after,
|
||||
.cke_rtl .cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after {
|
||||
border-right: 0;
|
||||
right: auto;
|
||||
border-left: 1px solid #bcbcbc;
|
||||
top: 0;
|
||||
left: -3px;
|
||||
}
|
||||
.cke_hc .cke_toolgroup a.cke_button:last-child:after,
|
||||
.cke_hc .cke_toolgroup a.cke_button.cke_button_disabled:last-child:after,
|
||||
.cke_hc .cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after {
|
||||
border-color: #000;
|
||||
top: 0;
|
||||
right: -7px;
|
||||
}
|
||||
.cke_hc.cke_rtl .cke_toolgroup a.cke_button:last-child:after,
|
||||
.cke_hc.cke_rtl .cke_toolgroup a.cke_button.cke_button_disabled:last-child:after,
|
||||
.cke_hc.cke_rtl .cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after {
|
||||
top: 0;
|
||||
right: auto;
|
||||
left: -7px;
|
||||
}
|
||||
.cke_toolgroup a.cke_button:hover:last-child:after,
|
||||
.cke_toolgroup a.cke_button:focus:last-child:after,
|
||||
.cke_toolgroup a.cke_button.cke_button_on:last-child:after {
|
||||
top: -1px;
|
||||
right: -4px;
|
||||
}
|
||||
.cke_rtl .cke_toolgroup a.cke_button:hover:last-child:after,
|
||||
.cke_rtl .cke_toolgroup a.cke_button:focus:last-child:after,
|
||||
.cke_rtl .cke_toolgroup a.cke_button.cke_button_on:last-child:after {
|
||||
top: -1px;
|
||||
right: auto;
|
||||
left: -4px;
|
||||
}
|
||||
.cke_hc .cke_toolgroup a.cke_button:hover:last-child:after,
|
||||
.cke_hc .cke_toolgroup a.cke_button.cke_button_on:last-child:after {
|
||||
top: -2px;
|
||||
right: -9px;
|
||||
}
|
||||
.cke_hc.cke_rtl .cke_toolgroup a.cke_button:hover:last-child:after,
|
||||
.cke_hc.cke_rtl .cke_toolgroup a.cke_button.cke_button_on:last-child:after {
|
||||
top: -2px;
|
||||
right: auto;
|
||||
left: -9px;
|
||||
}
|
||||
.cke_toolbar.cke_toolbar_last .cke_toolgroup a.cke_button:last-child:after {
|
||||
content: none;
|
||||
border: 0;
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
.cke_button_icon {
|
||||
cursor: inherit;
|
||||
background-repeat: no-repeat;
|
||||
margin-top: 1px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
float: left;
|
||||
display: inline-block;
|
||||
}
|
||||
.cke_rtl .cke_button_icon {
|
||||
float: right;
|
||||
}
|
||||
.cke_hc .cke_button_icon {
|
||||
display: none;
|
||||
}
|
||||
.cke_button_label {
|
||||
display: none;
|
||||
padding-left: 3px;
|
||||
margin-top: 1px;
|
||||
line-height: 17px;
|
||||
vertical-align: middle;
|
||||
float: left;
|
||||
cursor: default;
|
||||
color: #484848;
|
||||
}
|
||||
.cke_rtl .cke_button_label {
|
||||
padding-right: 3px;
|
||||
padding-left: 0;
|
||||
float: right;
|
||||
}
|
||||
.cke_hc .cke_button_label {
|
||||
padding: 0;
|
||||
display: inline-block;
|
||||
font-size: 12px;
|
||||
}
|
||||
.cke_button_arrow {
|
||||
display: inline-block;
|
||||
margin: 8px 0 0 3px;
|
||||
width: 0;
|
||||
height: 0;
|
||||
cursor: default;
|
||||
vertical-align: top;
|
||||
border-left: 3px solid transparent;
|
||||
border-right: 3px solid transparent;
|
||||
border-top: 3px solid #484848;
|
||||
}
|
||||
.cke_rtl .cke_button_arrow {
|
||||
margin-right: 5px;
|
||||
margin-left: 0;
|
||||
}
|
||||
.cke_hc .cke_button_arrow {
|
||||
font-size: 10px;
|
||||
margin: 3px 0 0 3px;
|
||||
width: auto;
|
||||
border: 0;
|
||||
}
|
||||
.cke_toolbar_separator {
|
||||
float: left;
|
||||
background-color: #bcbcbc;
|
||||
margin: 4px 2px 0 2px;
|
||||
height: 18px;
|
||||
width: 1px;
|
||||
}
|
||||
.cke_rtl .cke_toolbar_separator {
|
||||
float: right;
|
||||
}
|
||||
.cke_hc .cke_toolbar_separator {
|
||||
background-color: #000;
|
||||
margin-left: 2px;
|
||||
margin-right: 5px;
|
||||
margin-bottom: 9px;
|
||||
}
|
||||
.cke_hc.cke_rtl .cke_toolbar_separator {
|
||||
margin-left: 5px;
|
||||
margin-right: 2px;
|
||||
}
|
||||
.cke_toolbar_break {
|
||||
display: block;
|
||||
clear: left;
|
||||
}
|
||||
.cke_rtl .cke_toolbar_break {
|
||||
clear: right;
|
||||
}
|
||||
a.cke_toolbox_collapser {
|
||||
width: 12px;
|
||||
height: 11px;
|
||||
float: right;
|
||||
margin: 11px 0 0;
|
||||
font-size: 0;
|
||||
cursor: default;
|
||||
text-align: center;
|
||||
border: 1px solid #bcbcbc;
|
||||
}
|
||||
.cke_rtl .cke_toolbox_collapser {
|
||||
float: left;
|
||||
}
|
||||
.cke_toolbox_collapser:hover {
|
||||
background: #e5e5e5;
|
||||
}
|
||||
.cke_toolbox_collapser.cke_toolbox_collapser_min {
|
||||
margin: 0 2px 4px;
|
||||
}
|
||||
.cke_toolbox_collapser .cke_arrow {
|
||||
display: inline-block;
|
||||
height: 0;
|
||||
width: 0;
|
||||
font-size: 0;
|
||||
margin-top: 1px;
|
||||
border: 3px solid transparent;
|
||||
border-bottom-color: #484848;
|
||||
}
|
||||
.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow {
|
||||
margin-top: 4px;
|
||||
border-bottom-color: transparent;
|
||||
border-top-color: #484848;
|
||||
}
|
||||
.cke_hc .cke_toolbox_collapser .cke_arrow {
|
||||
font-size: 8px;
|
||||
width: auto;
|
||||
border: 0;
|
||||
margin-top: 0;
|
||||
}
|
||||
.cke_menuitem span {
|
||||
cursor: default;
|
||||
}
|
||||
.cke_menubutton {
|
||||
display: block;
|
||||
}
|
||||
.cke_hc .cke_menubutton {
|
||||
padding: 2px;
|
||||
}
|
||||
.cke_menubutton:hover,
|
||||
.cke_menubutton:focus,
|
||||
.cke_menubutton:active {
|
||||
background-color: #e9e9e9;
|
||||
display: block;
|
||||
outline: 1px dotted;
|
||||
}
|
||||
.cke_menubutton:hover {
|
||||
outline: 0;
|
||||
}
|
||||
.cke_hc .cke_menubutton:hover,
|
||||
.cke_hc .cke_menubutton:focus,
|
||||
.cke_hc .cke_menubutton:active {
|
||||
border: 2px solid;
|
||||
padding: 0;
|
||||
}
|
||||
.cke_menubutton_disabled:hover,
|
||||
.cke_menubutton_disabled:focus,
|
||||
.cke_menubutton_disabled:active {
|
||||
background-color: transparent;
|
||||
outline: 0;
|
||||
}
|
||||
.cke_menubutton_inner {
|
||||
display: table-row;
|
||||
}
|
||||
.cke_menubutton_icon,
|
||||
.cke_menubutton_label,
|
||||
.cke_menuarrow {
|
||||
display: table-cell;
|
||||
}
|
||||
.cke_menubutton_icon {
|
||||
background-color: #f8f8f8;
|
||||
padding: 6px 4px;
|
||||
}
|
||||
.cke_hc .cke_menubutton_icon {
|
||||
height: 16px;
|
||||
width: 0;
|
||||
padding: 4px 0;
|
||||
}
|
||||
.cke_menubutton:hover .cke_menubutton_icon,
|
||||
.cke_menubutton:focus .cke_menubutton_icon,
|
||||
.cke_menubutton:active .cke_menubutton_icon {
|
||||
background-color: #e9e9e9;
|
||||
}
|
||||
.cke_menubutton_disabled:hover .cke_menubutton_icon,
|
||||
.cke_menubutton_disabled:focus .cke_menubutton_icon,
|
||||
.cke_menubutton_disabled:active .cke_menubutton_icon {
|
||||
background-color: #f8f8f8;
|
||||
outline: 0;
|
||||
}
|
||||
.cke_menuitem .cke_menubutton_on {
|
||||
background-color: #e9e9e9;
|
||||
border: 1px solid #dedede;
|
||||
outline: 0;
|
||||
}
|
||||
.cke_menubutton_on .cke_menubutton_icon {
|
||||
padding-right: 3px;
|
||||
background-color: #e9e9e9;
|
||||
}
|
||||
.cke_menubutton_label {
|
||||
padding: 0 5px;
|
||||
background-color: transparent;
|
||||
width: 100%;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.cke_menubutton_shortcut {
|
||||
color: #979797;
|
||||
}
|
||||
.cke_menubutton_disabled .cke_menubutton_label {
|
||||
opacity: 0.3;
|
||||
filter: alpha(opacity=30);
|
||||
}
|
||||
.cke_panel_frame .cke_menubutton_label {
|
||||
display: none;
|
||||
}
|
||||
.cke_menuseparator {
|
||||
background-color: #d1d1d1;
|
||||
height: 1px;
|
||||
}
|
||||
.cke_menuarrow {
|
||||
background: transparent url(images/arrow.png) no-repeat 0 10px;
|
||||
padding: 0 5px;
|
||||
}
|
||||
.cke_rtl .cke_menuarrow {
|
||||
background-position: 5px -13px;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.cke_hc .cke_menuarrow {
|
||||
background-image: none;
|
||||
}
|
||||
.cke_menuarrow span {
|
||||
display: none;
|
||||
}
|
||||
.cke_hc .cke_menuarrow span {
|
||||
vertical-align: middle;
|
||||
display: inline;
|
||||
}
|
||||
.cke_combo {
|
||||
display: inline-block;
|
||||
float: left;
|
||||
position: relative;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.cke_rtl .cke_combo {
|
||||
float: right;
|
||||
}
|
||||
.cke_hc .cke_combo {
|
||||
margin-top: 1px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.cke_combo:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
height: 18px;
|
||||
width: 0;
|
||||
border-right: 1px solid #bcbcbc;
|
||||
margin-top: 5px;
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
.cke_rtl .cke_combo:after {
|
||||
border-right: 0;
|
||||
border-left: 1px solid #bcbcbc;
|
||||
right: auto;
|
||||
left: 0;
|
||||
}
|
||||
.cke_hc .cke_combo:after {
|
||||
border-color: #000;
|
||||
}
|
||||
a.cke_combo_button {
|
||||
cursor: default;
|
||||
display: inline-block;
|
||||
float: left;
|
||||
margin: 0;
|
||||
padding: 1px;
|
||||
}
|
||||
.cke_rtl a.cke_combo_button {
|
||||
float: right;
|
||||
}
|
||||
.cke_hc a.cke_combo_button {
|
||||
padding: 4px;
|
||||
}
|
||||
.cke_combo_on a.cke_combo_button,
|
||||
.cke_combo_off a.cke_combo_button:hover,
|
||||
.cke_combo_off a.cke_combo_button:focus,
|
||||
.cke_combo_off a.cke_combo_button:active {
|
||||
background: #e5e5e5;
|
||||
border: 1px solid #bcbcbc;
|
||||
padding: 0 0 0 1px;
|
||||
margin-left: -1px;
|
||||
}
|
||||
.cke_combo_off a.cke_combo_button:focus {
|
||||
outline: 0;
|
||||
}
|
||||
.cke_combo_on a.cke_combo_button,
|
||||
.cke_combo_off a.cke_combo_button:active {
|
||||
background: #fff;
|
||||
}
|
||||
.cke_rtl .cke_combo_on a.cke_combo_button,
|
||||
.cke_rtl .cke_combo_off a.cke_combo_button:hover,
|
||||
.cke_rtl .cke_combo_off a.cke_combo_button:focus,
|
||||
.cke_rtl .cke_combo_off a.cke_combo_button:active {
|
||||
padding: 0 1px 0 0;
|
||||
margin-left: 0;
|
||||
margin-right: -1px;
|
||||
}
|
||||
.cke_hc .cke_combo_on a.cke_combo_button,
|
||||
.cke_hc .cke_combo_off a.cke_combo_button:hover,
|
||||
.cke_hc .cke_combo_off a.cke_combo_button:focus,
|
||||
.cke_hc .cke_combo_off a.cke_combo_button:active {
|
||||
border: 3px solid #000;
|
||||
padding: 1px 1px 1px 2px;
|
||||
}
|
||||
.cke_hc.cke_rtl .cke_combo_on a.cke_combo_button,
|
||||
.cke_hc.cke_rtl .cke_combo_off a.cke_combo_button:hover,
|
||||
.cke_hc.cke_rtl .cke_combo_off a.cke_combo_button:focus,
|
||||
.cke_hc.cke_rtl .cke_combo_off a.cke_combo_button:active {
|
||||
padding: 1px 2px 1px 1px;
|
||||
}
|
||||
.cke_toolbar_start + .cke_combo_on a.cke_combo_button,
|
||||
.cke_toolbar_start + .cke_combo_off a.cke_combo_button:hover,
|
||||
.cke_toolbar_start + .cke_combo_off a.cke_combo_button:focus,
|
||||
.cke_toolbar_start + .cke_combo_off a.cke_combo_button:active {
|
||||
padding: 0 0 0 3px;
|
||||
margin-left: -3px;
|
||||
}
|
||||
.cke_rtl .cke_toolbar_start + .cke_combo_on a.cke_combo_button,
|
||||
.cke_rtl .cke_toolbar_start + .cke_combo_off a.cke_combo_button:hover,
|
||||
.cke_rtl .cke_toolbar_start + .cke_combo_off a.cke_combo_button:focus,
|
||||
.cke_rtl .cke_toolbar_start + .cke_combo_off a.cke_combo_button:active {
|
||||
padding: 0 3px 0 0;
|
||||
margin-left: 0;
|
||||
margin-right: -3px;
|
||||
}
|
||||
.cke_hc .cke_toolbar > .cke_toolbar_start + .cke_combo_on a.cke_combo_button,
|
||||
.cke_hc .cke_toolbar > .cke_toolbar_start + .cke_combo_off a.cke_combo_button:hover,
|
||||
.cke_hc .cke_toolbar > .cke_toolbar_start + .cke_combo_off a.cke_combo_button:focus,
|
||||
.cke_hc .cke_toolbar > .cke_toolbar_start + .cke_combo_off a.cke_combo_button:active {
|
||||
padding: 1px 1px 1px 7px;
|
||||
margin-left: -6px;
|
||||
}
|
||||
.cke_hc.cke_rtl .cke_toolbar > .cke_toolbar_start + .cke_combo_on a.cke_combo_button,
|
||||
.cke_hc.cke_rtl .cke_toolbar > .cke_toolbar_start + .cke_combo_off a.cke_combo_button:hover,
|
||||
.cke_hc.cke_rtl .cke_toolbar > .cke_toolbar_start + .cke_combo_off a.cke_combo_button:focus,
|
||||
.cke_hc.cke_rtl .cke_toolbar > .cke_toolbar_start + .cke_combo_off a.cke_combo_button:active {
|
||||
padding: 1px 7px 1px 1px;
|
||||
margin-left: 0;
|
||||
margin-right: -6px;
|
||||
}
|
||||
.cke_toolbox .cke_toolbar:first-child > .cke_toolbar_start + .cke_combo_on a.cke_combo_button,
|
||||
.cke_toolbox .cke_toolbar:first-child > .cke_toolbar_start + .cke_combo_off a.cke_combo_button:hover,
|
||||
.cke_toolbox .cke_toolbar:first-child > .cke_toolbar_start + .cke_combo_off a.cke_combo_button:focus,
|
||||
.cke_toolbox .cke_toolbar:first-child > .cke_toolbar_start + .cke_combo_off a.cke_combo_button:active,
|
||||
.cke_toolbar_break + .cke_toolbar > .cke_toolbar_start + .cke_combo_on a.cke_combo_button,
|
||||
.cke_toolbar_break + .cke_toolbar > .cke_toolbar_start + .cke_combo_off a.cke_combo_button:hover,
|
||||
.cke_toolbar_break + .cke_toolbar > .cke_toolbar_start + .cke_combo_off a.cke_combo_button:focus,
|
||||
.cke_toolbar_break + .cke_toolbar > .cke_toolbar_start + .cke_combo_off a.cke_combo_button:active {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.cke_hc .cke_toolbox .cke_toolbar:first-child > .cke_toolbar_start + .cke_combo_on a.cke_combo_button,
|
||||
.cke_hc .cke_toolbox .cke_toolbar:first-child > .cke_toolbar_start + .cke_combo_off a.cke_combo_button:hover,
|
||||
.cke_hc .cke_toolbox .cke_toolbar:first-child > .cke_toolbar_start + .cke_combo_off a.cke_combo_button:focus,
|
||||
.cke_hc .cke_toolbox .cke_toolbar:first-child > .cke_toolbar_start + .cke_combo_off a.cke_combo_button:active,
|
||||
.cke_hc .cke_toolbar_break + .cke_toolbar > .cke_toolbar_start + .cke_combo_on a.cke_combo_button,
|
||||
.cke_hc .cke_toolbar_break + .cke_toolbar > .cke_toolbar_start + .cke_combo_off a.cke_combo_button:hover,
|
||||
.cke_hc .cke_toolbar_break + .cke_toolbar > .cke_toolbar_start + .cke_combo_off a.cke_combo_button:focus,
|
||||
.cke_hc .cke_toolbar_break + .cke_toolbar > .cke_toolbar_start + .cke_combo_off a.cke_combo_button:active {
|
||||
padding: 1px;
|
||||
margin: 0;
|
||||
}
|
||||
.cke_toolbar .cke_combo + .cke_toolbar_end,
|
||||
.cke_toolbar .cke_combo + .cke_toolgroup {
|
||||
margin-right: 0;
|
||||
margin-left: 2px;
|
||||
}
|
||||
.cke_rtl .cke_toolbar .cke_combo + .cke_toolbar_end,
|
||||
.cke_rtl .cke_toolbar .cke_combo + .cke_toolgroup {
|
||||
margin-left: 0;
|
||||
margin-right: 2px;
|
||||
}
|
||||
.cke_hc .cke_toolbar .cke_combo + .cke_toolbar_end,
|
||||
.cke_hc .cke_toolbar .cke_combo + .cke_toolgroup {
|
||||
margin-left: 5px;
|
||||
}
|
||||
.cke_hc.cke_rtl .cke_toolbar .cke_combo + .cke_toolbar_end,
|
||||
.cke_hc.cke_rtl .cke_toolbar .cke_combo + .cke_toolgroup {
|
||||
margin-left: 0;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.cke_toolbar.cke_toolbar_last .cke_combo:nth-last-child(-n + 2):after {
|
||||
content: none;
|
||||
border: 0;
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
.cke_combo_text {
|
||||
line-height: 26px;
|
||||
padding-left: 10px;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
float: left;
|
||||
cursor: default;
|
||||
color: #484848;
|
||||
width: 60px;
|
||||
}
|
||||
.cke_rtl .cke_combo_text {
|
||||
float: right;
|
||||
text-align: right;
|
||||
padding-left: 0;
|
||||
padding-right: 10px;
|
||||
}
|
||||
.cke_hc .cke_combo_text {
|
||||
line-height: 18px;
|
||||
font-size: 12px;
|
||||
}
|
||||
.cke_combo_open {
|
||||
cursor: default;
|
||||
display: inline-block;
|
||||
font-size: 0;
|
||||
height: 19px;
|
||||
line-height: 17px;
|
||||
margin: 1px 10px 1px;
|
||||
width: 5px;
|
||||
}
|
||||
.cke_hc .cke_combo_open {
|
||||
height: 12px;
|
||||
}
|
||||
.cke_combo_arrow {
|
||||
cursor: default;
|
||||
margin: 11px 0 0;
|
||||
float: left;
|
||||
height: 0;
|
||||
width: 0;
|
||||
font-size: 0;
|
||||
border-left: 3px solid transparent;
|
||||
border-right: 3px solid transparent;
|
||||
border-top: 3px solid #484848;
|
||||
}
|
||||
.cke_hc .cke_combo_arrow {
|
||||
font-size: 10px;
|
||||
width: auto;
|
||||
border: 0;
|
||||
margin-top: 3px;
|
||||
}
|
||||
.cke_combo_label {
|
||||
display: none;
|
||||
float: left;
|
||||
line-height: 26px;
|
||||
vertical-align: top;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.cke_rtl .cke_combo_label {
|
||||
float: right;
|
||||
margin-left: 5px;
|
||||
margin-right: 0;
|
||||
}
|
||||
.cke_combo_disabled .cke_combo_inlinelabel,
|
||||
.cke_combo_disabled .cke_combo_open {
|
||||
opacity: 0.3;
|
||||
}
|
||||
.cke_path {
|
||||
float: left;
|
||||
margin: -2px 0 2px;
|
||||
}
|
||||
a.cke_path_item,
|
||||
span.cke_path_empty {
|
||||
display: inline-block;
|
||||
float: left;
|
||||
padding: 3px 4px;
|
||||
margin-right: 2px;
|
||||
cursor: default;
|
||||
text-decoration: none;
|
||||
outline: 0;
|
||||
border: 0;
|
||||
color: #484848;
|
||||
font-weight: bold;
|
||||
font-size: 11px;
|
||||
}
|
||||
.cke_rtl .cke_path,
|
||||
.cke_rtl .cke_path_item,
|
||||
.cke_rtl .cke_path_empty {
|
||||
float: right;
|
||||
}
|
||||
a.cke_path_item:hover,
|
||||
a.cke_path_item:focus,
|
||||
a.cke_path_item:active {
|
||||
background-color: #e5e5e5;
|
||||
}
|
||||
.cke_hc a.cke_path_item:hover,
|
||||
.cke_hc a.cke_path_item:focus,
|
||||
.cke_hc a.cke_path_item:active {
|
||||
border: 2px solid;
|
||||
padding: 1px 2px;
|
||||
}
|
||||
.cke_button__source_label,
|
||||
.cke_button__sourcedialog_label {
|
||||
display: inline;
|
||||
}
|
||||
.cke_combopanel__fontsize {
|
||||
width: 135px;
|
||||
}
|
||||
textarea.cke_source {
|
||||
font-family: "Courier New", Monospace;
|
||||
font-size: small;
|
||||
background-color: #fff;
|
||||
white-space: pre-wrap;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
display: block;
|
||||
}
|
||||
.cke_wysiwyg_frame,
|
||||
.cke_wysiwyg_div {
|
||||
background-color: #fff;
|
||||
}
|
||||
.cke_notifications_area {
|
||||
pointer-events: none;
|
||||
}
|
||||
.cke_notification {
|
||||
pointer-events: auto;
|
||||
position: relative;
|
||||
margin: 10px;
|
||||
width: 300px;
|
||||
color: white;
|
||||
text-align: center;
|
||||
opacity: 0.95;
|
||||
filter: alpha(opacity = 95);
|
||||
-webkit-animation: fadeIn 0.7s;
|
||||
animation: fadeIn 0.7s;
|
||||
}
|
||||
.cke_notification_message a {
|
||||
color: #12306f;
|
||||
.ck {
|
||||
--ck-color-toolbar-background: var(--ibo-color-grey-200);
|
||||
--ck-color-base-border: var(--ibo-color-grey-400);
|
||||
--ck-color-panel-background: var(--ibo-color-grey-200);
|
||||
}
|
||||
@@ -282,3 +282,5 @@ $ibo-welcome-popup--messages-stack--background-color: $ibo-color-grey-700;
|
||||
$ibo-welcome-popup--stack-item--background-color: $ibo-color-grey-600;
|
||||
$ibo-welcome-popup--stack-item--border-color: $ibo-color-grey-800;
|
||||
$ibo-welcome-popup--stack-item--is-active--border-color: $ibo-color-grey-900;
|
||||
|
||||
$ibo-vendors-ckeditor--ck-content--text-color: $ibo-color-grey-900;
|
||||
14
js/ckeditor/build/ckeditor.d.ts
vendored
14
js/ckeditor/build/ckeditor.d.ts
vendored
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* @copyright Copyright (C) 2010-2024 Combodo SAS
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
/**
|
||||
* @license Copyright (c) 2014-2024, CKSource Holding sp. z o.o. All rights reserved.
|
||||
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||
*/
|
||||
import { ClassicEditor } from '@ckeditor/ckeditor5-editor-classic';
|
||||
import { Alignment } from '@ckeditor/ckeditor5-alignment';
|
||||
@@ -20,11 +20,11 @@ import { List, ListProperties } from '@ckeditor/ckeditor5-list';
|
||||
import { Mention } from '@ckeditor/ckeditor5-mention';
|
||||
import { Table, TableCaption, TableCellProperties, TableColumnResize, TableProperties, TableToolbar } from '@ckeditor/ckeditor5-table';
|
||||
import { Undo } from '@ckeditor/ckeditor5-undo';
|
||||
import InsertHtml from './plugins/insert-html/insert-html.plugin';
|
||||
import ObjectShortcut from './plugins/object-shortcut/object-shortcut.plugin';
|
||||
import './resources/styles/console-theme.css';
|
||||
import { RemoveFormat } from '@ckeditor/ckeditor5-remove-format';
|
||||
import InsertCarriageReturnAfterBlock from "./plugins/insert-carriage-return-after-block/insert-carriage-return-after-block.plugin";
|
||||
import './resources/styles/default-theme.css';
|
||||
declare class Editor extends ClassicEditor {
|
||||
static builtinPlugins: (typeof InsertHtml | typeof Alignment | typeof Superscript | typeof Subscript | typeof Bold | typeof Italic | typeof Strikethrough | typeof Underline | typeof BlockQuote | typeof CodeBlock | typeof Undo | typeof Essentials | typeof FontBackgroundColor | typeof FontColor | typeof FontFamily | typeof FontSize | typeof Heading | typeof Highlight | typeof HorizontalLine | typeof Image | typeof ImageCaption | typeof ImageResize | typeof ImageStyle | typeof ImageToolbar | typeof ImageUpload | typeof Indent | typeof Link | typeof LinkImage | typeof List | typeof ListProperties | typeof Mention | typeof Table | typeof TableCaption | typeof TableCellProperties | typeof TableColumnResize | typeof TableProperties | typeof TableToolbar | typeof ObjectShortcut | typeof PictureEditing)[];
|
||||
static builtinPlugins: (typeof Alignment | typeof Superscript | typeof Subscript | typeof Bold | typeof Italic | typeof Strikethrough | typeof Underline | typeof BlockQuote | typeof CodeBlock | typeof Undo | typeof Essentials | typeof FontBackgroundColor | typeof FontColor | typeof FontFamily | typeof FontSize | typeof Heading | typeof Highlight | typeof HorizontalLine | typeof Image | typeof ImageCaption | typeof ImageResize | typeof ImageStyle | typeof ImageToolbar | typeof ImageUpload | typeof Indent | typeof Link | typeof LinkImage | typeof List | typeof ListProperties | typeof Mention | typeof Table | typeof TableCaption | typeof TableCellProperties | typeof TableColumnResize | typeof TableProperties | typeof TableToolbar | typeof RemoveFormat | typeof InsertCarriageReturnAfterBlock | typeof PictureEditing)[];
|
||||
static defaultConfig: EditorConfig;
|
||||
}
|
||||
export default Editor;
|
||||
|
||||
2
js/ckeditor/build/ckeditor.js
vendored
2
js/ckeditor/build/ckeditor.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,8 +1,3 @@
|
||||
/*
|
||||
* @copyright Copyright (C) 2010-2024 Combodo SAS
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
|
||||
/**
|
||||
* AppendITopClasses Plugin.
|
||||
@@ -10,7 +5,6 @@ import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
|
||||
* Appends ibo-is-html-content class
|
||||
*/
|
||||
export default class AppendITopClasses extends Plugin {
|
||||
constructor(editor: any);
|
||||
static get pluginName(): string;
|
||||
init(): void;
|
||||
}
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
/*
|
||||
* @copyright Copyright (C) 2010-2024 Combodo SAS
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
import { Plugin, type Editor } from '@ckeditor/ckeditor5-core';
|
||||
import { Plugin, type Editor } from 'ckeditor5/src/core.js';
|
||||
/**
|
||||
* DetectChanges Plugin.
|
||||
*
|
||||
|
||||
@@ -1,8 +1,3 @@
|
||||
/*
|
||||
* @copyright Copyright (C) 2010-2024 Combodo SAS
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
import { Plugin } from '@ckeditor/ckeditor5-core';
|
||||
import { ContextualBalloon } from '@ckeditor/ckeditor5-ui';
|
||||
import FormView from './object-shortcut.form-view';
|
||||
|
||||
@@ -60,6 +60,7 @@ import DetectChanges from "./plugins/detect-change/detect-change.plugin";
|
||||
import UpdateInputOnChange from "./plugins/update-input-on-change/update-input-on-change.plugin";
|
||||
import Disabler from "./plugins/disabler/disabler.plugin";
|
||||
import InsertHtml from './plugins/insert-html/insert-html.plugin';
|
||||
import InsertCarriageReturnAfterBlock from "./plugins/insert-carriage-return-after-block/insert-carriage-return-after-block.plugin";
|
||||
|
||||
// You can read more about extending the build with additional plugins in the "Installing plugins" guide.
|
||||
// See https://ckeditor.com/docs/ckeditor5/latest/installation/plugins/installing-plugins.html for details.
|
||||
@@ -128,7 +129,8 @@ class Editor extends ClassicEditor {
|
||||
InsertHtml,
|
||||
DetectChanges,
|
||||
UpdateInputOnChange,
|
||||
Disabler
|
||||
Disabler,
|
||||
InsertCarriageReturnAfterBlock
|
||||
];
|
||||
|
||||
// default configuration editor
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
|
||||
import Node from '@ckeditor/ckeditor5-engine/src/model/node';
|
||||
|
||||
export default class InsertCarriageReturnAfterBlock extends Plugin {
|
||||
init() {
|
||||
const editor = this.editor;
|
||||
|
||||
// Array of block elements type to check for
|
||||
const blockElements = ['codeBlock', 'div', 'pre'];
|
||||
|
||||
// This function checks if the inserted element is one of the block elements we want a newline after
|
||||
const isBlockElement = (node: Node | null) => {
|
||||
return node ? blockElements.some(element => node.is('element', element)) : false;
|
||||
};
|
||||
|
||||
// Listen to changes in the model
|
||||
editor.model.document.on('change:data', (evt, batch) => {
|
||||
if (batch.isLocal) {
|
||||
const changes = Array.from(editor.model.document.differ.getChanges());
|
||||
const currentCursorPosition = editor.model.document.selection.getFirstPosition();
|
||||
|
||||
// Iterate over the changes and insert a newline after the block element when needed
|
||||
changes.forEach(change => {
|
||||
if (change.type === 'insert' && isBlockElement(change.position.nodeAfter)) {
|
||||
editor.model.change(writer => {
|
||||
const position = change.position.getShiftedBy(change.length);
|
||||
// Insert a newline after the block element
|
||||
editor.execute( 'insertParagraph', {
|
||||
position: position,
|
||||
} );
|
||||
});
|
||||
}
|
||||
});
|
||||
// Restore the cursor position (most likely in the created block)
|
||||
editor.model.change(writer => {
|
||||
writer.setSelection(currentCursorPosition);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -97,9 +97,15 @@ $(function()
|
||||
}
|
||||
else if( $(oElem).is(':radio'))
|
||||
{
|
||||
if($(oElem).is(':checked'))
|
||||
let nameRadioButton= $(oElem).prop('name');
|
||||
let radioCheckProp = $('[name='+nameRadioButton+']:checked');
|
||||
if(radioCheckProp.length === 1)
|
||||
{
|
||||
value =$(oElem).val();
|
||||
value = radioCheckProp.val();
|
||||
}
|
||||
else
|
||||
{
|
||||
value = "";
|
||||
}
|
||||
}
|
||||
else if($(oElem).is(':checkbox'))
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
*/
|
||||
|
||||
$(document).ready(function () {
|
||||
// AJAX calls handling
|
||||
// - Error messages regarding the error code
|
||||
$(document).ajaxError(function (event, jqxhr, options) {
|
||||
// User is not logged in
|
||||
|
||||
@@ -27,27 +27,20 @@ use Combodo\iTop\Service\TemporaryObjects\TemporaryObjectManager;
|
||||
|
||||
require_once('../approot.inc.php');
|
||||
|
||||
|
||||
// check if header contains X-Combodo-Ajax for POST request (CSRF protection for ajax calls)
|
||||
if (!isset($_SERVER['HTTP_X_COMBODO_AJAX']) && $_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
$sReferer = utils::HtmlEntities($_SERVER['HTTP_REFERER']);
|
||||
IssueLog::Error("Unprotected ajax call from: $sReferer", 'SECURITY');
|
||||
header('HTTP/1.1 401 Unauthorized');
|
||||
die('Unauthorized access. Please see https://www.itophub.io/wiki/page?id=3_2_0:release:developer#checking_for_the_presence_of_specific_header_in_the_post_to_enhance_protection_against_csrf_attacks');
|
||||
}
|
||||
|
||||
|
||||
function LogErrorMessage($sMsgPrefix, $aContextInfo) {
|
||||
$sCurrentUserLogin = UserRights::GetUser();
|
||||
$sContextInfo = urldecode(http_build_query($aContextInfo, '', ', '));
|
||||
$sErrorMessage = "$sMsgPrefix - User='$sCurrentUserLogin', $sContextInfo";
|
||||
IssueLog::Error($sErrorMessage);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
require_once(APPROOT.'/application/startup.inc.php');
|
||||
require_once(APPROOT.'/application/user.preferences.class.inc.php');
|
||||
|
||||
// check if header contains X-Combodo-Ajax for POST request (CSRF protection for ajax calls)
|
||||
if (!isset($_SERVER['HTTP_X_COMBODO_AJAX']) && $_SERVER['REQUEST_METHOD'] !== 'GET') {
|
||||
$sReferer = $_SERVER['HTTP_REFERER'];
|
||||
$sErrorMsg = 'Unauthorized access. Please see https://www.itophub.io/wiki/page?id=3_2_0:release:developer#checking_for_the_presence_of_specific_header_in_the_post_to_enhance_protection_against_csrf_attacks';
|
||||
IssueLog::Error("Unprotected ajax call from: $sReferer. $sErrorMsg");
|
||||
header('HTTP/1.1 401 Unauthorized');
|
||||
die($sErrorMsg);
|
||||
}
|
||||
|
||||
IssueLog::Trace('----- Request: '.utils::GetRequestUri(), LogChannels::WEB_REQUEST);
|
||||
$oKPI = new ExecutionKPI();
|
||||
$oKPI->ComputeAndReport('Data model loaded');
|
||||
@@ -2609,3 +2602,11 @@ EOF
|
||||
echo utils::EscapeHtml($e->GetMessage());
|
||||
IssueLog::Error($e->getMessage()."\nDebug trace:\n".$e->getTraceAsString());
|
||||
}
|
||||
|
||||
function LogErrorMessage($sMsgPrefix, $aContextInfo) {
|
||||
$sCurrentUserLogin = UserRights::GetUser();
|
||||
$sContextInfo = urldecode(http_build_query($aContextInfo, '', ', '));
|
||||
$sErrorMessage = "$sMsgPrefix - User='$sCurrentUserLogin', $sContextInfo";
|
||||
IssueLog::Error($sErrorMessage);
|
||||
}
|
||||
|
||||
|
||||
@@ -879,7 +879,7 @@ HTML;
|
||||
// - API: Inline scripts
|
||||
/** @var \iBackofficeScriptExtension $oExtensionInstance */
|
||||
foreach (MetaModel::EnumPlugins('iBackofficeScriptExtension') as $oExtensionInstance) {
|
||||
$this->add_early_script($oExtensionInstance->GetScript());
|
||||
$this->add_script($oExtensionInstance->GetScript());
|
||||
}
|
||||
// - API: Init. scripts
|
||||
/** @var \iBackofficeInitScriptExtension $oExtensionInstance */
|
||||
|
||||
Reference in New Issue
Block a user