Добавляем все файлы
This commit is contained in:
787
main_plugin/editor/editor.css
Executable file
787
main_plugin/editor/editor.css
Executable file
@@ -0,0 +1,787 @@
|
||||
/* Главное */
|
||||
#basis3 {
|
||||
left: 0 !important;
|
||||
top: 33px !important;
|
||||
transform: none !important;
|
||||
}
|
||||
#copyr_sym *, .deploy *, .elementEditPanelElement * {
|
||||
margin-top: 2px;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
.selectedColor {
|
||||
background: #3a6e62;
|
||||
color: #ffffff;
|
||||
}
|
||||
.textGrey:hover {
|
||||
color: #787878;
|
||||
cursor: pointer;
|
||||
}
|
||||
.toolbar-container {
|
||||
touch-action: none;
|
||||
}
|
||||
|
||||
#panel {
|
||||
position: absolute;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
max-width: -webkit-fill-available;
|
||||
border-radius: 5px;
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
overflow-x: clip;
|
||||
overflow-y: visible;
|
||||
z-index: 100;
|
||||
}
|
||||
.toolbar-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
white-space: nowrap;
|
||||
padding: 4px;
|
||||
margin: 0;
|
||||
flex-shrink: 0;
|
||||
padding: 4px 0px;
|
||||
width: 100%;
|
||||
}
|
||||
.arrow {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
width: 24px;
|
||||
height: 36px;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
z-index: 10;
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
}
|
||||
#arrow-left {
|
||||
left: 0;
|
||||
border: none;
|
||||
border-right: inherit;
|
||||
}
|
||||
#arrow-right {
|
||||
right: 0;
|
||||
border: none;
|
||||
border-left: inherit;
|
||||
}
|
||||
|
||||
/* Стили контейнера для показа увеличенных изображений */
|
||||
#bas,
|
||||
#C {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
#bas {
|
||||
z-index: 1;
|
||||
background: #FFFFFF;
|
||||
opacity: 0.95;
|
||||
}
|
||||
|
||||
#view {
|
||||
z-index: 2;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
/* Стили контейнера, содержащего страницу */
|
||||
#basis {
|
||||
position: relative;
|
||||
width: -webkit-fill-available;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
/* Стили таблицы, содержащей страницу */
|
||||
#tab {
|
||||
width: 1000px;
|
||||
}
|
||||
|
||||
/* Стили меню */
|
||||
|
||||
#sect {
|
||||
display: flex;
|
||||
margin-bottom: 15px;
|
||||
font-family: Tahoma;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Стили пунктов меню */
|
||||
.lin {
|
||||
margin: 9px;
|
||||
width: 180px;
|
||||
height: 50px;
|
||||
color: #FFFFFF;
|
||||
text-align: center;
|
||||
box-shadow: 5px 5px 10px #000066;
|
||||
background: #660033;
|
||||
line-height: 50px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
/* Стили ячейки для рекламы */
|
||||
#rec {
|
||||
width: 300px;
|
||||
text-align: center;
|
||||
vertical-align: top;
|
||||
font-weight: bold;
|
||||
color: #660033;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Стили контейнера, содержащего страницу */
|
||||
#basis3 {
|
||||
position: fixed;
|
||||
width: -webkit-fill-available;
|
||||
margin: auto;
|
||||
z-index: 100;
|
||||
user-select: none;
|
||||
font-size: 0.97em;
|
||||
}
|
||||
|
||||
/* Стили вкладок с настройками */
|
||||
.cust {
|
||||
height: auto;
|
||||
padding: 8px;
|
||||
position: fixed;
|
||||
visibility: hidden;
|
||||
z-index: 100;
|
||||
background: url(../../img/img/backgr.jpg);
|
||||
border-radius: 5px;
|
||||
top: 30%;
|
||||
left: 0;
|
||||
right: 0;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
width: calc(100% - 20px);
|
||||
max-width: max-content;
|
||||
}
|
||||
.cust2 {
|
||||
height: auto;
|
||||
padding: 5px;
|
||||
position: absolute;
|
||||
top: 236%;
|
||||
width: 1118px;
|
||||
border: 1px solid #000000;
|
||||
visibility: hidden;
|
||||
z-index: 100;
|
||||
background: url(../../img/img/backgr.jpg);
|
||||
border-radius: 5px;
|
||||
max-width: -webkit-fill-available;
|
||||
}
|
||||
|
||||
/* Стили кнопок (крестиков) для закрытия вкладок */
|
||||
.cldiv {
|
||||
margin: 2px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* Стили вкладки с изображениями с сервера */
|
||||
|
||||
#p_list {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.roster {
|
||||
width: 180px;
|
||||
margin: 5px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* Стили главной панели редактора */
|
||||
.toolbar-group {
|
||||
position: relative;
|
||||
padding: 0px 5px;
|
||||
margin: 0px 2px;
|
||||
display: inline-block;
|
||||
}
|
||||
.toolbar-group::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: -3.1px;
|
||||
width: 5px;
|
||||
background: linear-gradient(
|
||||
to right,
|
||||
#000 0px 1px,
|
||||
transparent 1px 2px,
|
||||
#000 2px 3px,
|
||||
transparent 3px 4px,
|
||||
#000 4px 5px
|
||||
);
|
||||
}
|
||||
.toolbar-group.open {
|
||||
margin-left: 7px;
|
||||
}
|
||||
.toolbar-group-button {
|
||||
transition: transform 0.1s ease, left 0.1s ease;
|
||||
}
|
||||
.toolbar-group.open .toolbar-group-button {
|
||||
position: absolute;
|
||||
left: -9px;
|
||||
transform: scale(0.6);
|
||||
transform-origin: top left;
|
||||
z-index: 1;
|
||||
}
|
||||
.toolbar-group-content {
|
||||
transition: margin-left 0.1s ease;
|
||||
}
|
||||
.toolbar-group.open .toolbar-group-content {
|
||||
margin-left: 7px;
|
||||
}
|
||||
|
||||
#toolbar-group-button-main {
|
||||
background-position: -318px -117px;
|
||||
}
|
||||
#toolbar-group-button-text {
|
||||
background-position: -237px 1664px;
|
||||
}
|
||||
#toolbar-group-button-paste {
|
||||
background-position: 166px 517px;
|
||||
}
|
||||
|
||||
.align-dropdown, .align-dropdown-oneImg {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
.align-dropdown-text {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
border: 1px solid #000000;
|
||||
height: 26px;
|
||||
border-radius: 5px;
|
||||
vertical-align: middle;
|
||||
background: #FFFFFF;
|
||||
padding-right: 13px;
|
||||
}
|
||||
.align-dropdown-text .dropdown-arrow {
|
||||
position: absolute;
|
||||
right: 5px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
pointer-events: none;
|
||||
}
|
||||
.align-dropdown-text .current {
|
||||
padding: 0 3px;
|
||||
height: 28px;
|
||||
line-height: 28px;
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
}
|
||||
.align-dropdown .current {
|
||||
cursor: pointer;
|
||||
}
|
||||
.align-list {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 4px 0;
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
left: -9px;
|
||||
background: #fff;
|
||||
border: 1px solid #000000;
|
||||
display: none;
|
||||
z-index: 10;
|
||||
font-size: 0.95em;
|
||||
}
|
||||
.align-list li {
|
||||
padding: 4px 8px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.align-list li:hover {
|
||||
background: #eee;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Стили выпадающего списка панели */
|
||||
#sel {
|
||||
font-size: 1.1em;
|
||||
font-family: Tahoma;
|
||||
border: 1px solid #000000;
|
||||
}
|
||||
|
||||
/* Стили кнопок навигации по этапам редактирования */
|
||||
#forw,
|
||||
#bac {
|
||||
right: 10px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* Стили кнопок на главной панели редактора */
|
||||
.but,
|
||||
.pers,
|
||||
.swit,
|
||||
.swit2,
|
||||
.pers2,
|
||||
.pers3 {
|
||||
border: 1px solid #000000;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.editt {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.editi {
|
||||
border-radius: 5px;
|
||||
background: #FFFFFF;
|
||||
display: inline-block;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.edits {
|
||||
border-radius: 5px;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.editib {
|
||||
background-image: url(../../img/pict/b_iconslyb.svg);
|
||||
}
|
||||
|
||||
.editimc {
|
||||
background-image: url(../../img/pict/mc_iconslyb.svg);
|
||||
}
|
||||
|
||||
.editib:hover {
|
||||
background-image: url(../../img/pict/g_iconslyb.svg);
|
||||
}
|
||||
|
||||
.editimc:hover {
|
||||
background-image: url(../../img/pict/g_iconslyb.svg);
|
||||
}
|
||||
|
||||
.editf.active {
|
||||
background-image: url(../../img/pict/b_iconslyb.svg);
|
||||
background-color: #e7e7e7;
|
||||
}
|
||||
.editf.active:hover {
|
||||
background-image: url(../../img/pict/g_iconslyb.svg);
|
||||
background-color: #e7e7e7;
|
||||
}
|
||||
|
||||
#settingsMain {
|
||||
background-position: -197px -597px;
|
||||
}
|
||||
|
||||
#forma {
|
||||
background-position: 45px -117px;
|
||||
}
|
||||
|
||||
#htm {
|
||||
background-position: -318px 1824px;
|
||||
}
|
||||
|
||||
#bac {
|
||||
background-position: 645px 716px;
|
||||
}
|
||||
|
||||
#forw {
|
||||
background-position: 605px 716px;
|
||||
}
|
||||
|
||||
#img, #oneImg {
|
||||
background-position: 645px 477px;
|
||||
}
|
||||
|
||||
#hr {
|
||||
background-position: 766px 676px;
|
||||
}
|
||||
|
||||
#tabl {
|
||||
background-position: 1006px 597px;
|
||||
}
|
||||
|
||||
#link {
|
||||
background-position: 245px 277px;
|
||||
}
|
||||
|
||||
#linkdel {
|
||||
background-position: 205px 277px;
|
||||
}
|
||||
|
||||
#delin {
|
||||
background-position: 205px 277px;
|
||||
}
|
||||
|
||||
#copyr {
|
||||
background-position: 445px 517px;
|
||||
}
|
||||
|
||||
#bol {
|
||||
background-position: 1006px 517px;
|
||||
}
|
||||
|
||||
#ital {
|
||||
background-position: 966px 517px;
|
||||
}
|
||||
|
||||
#under {
|
||||
background-position: 926px 517px;
|
||||
}
|
||||
|
||||
#col {
|
||||
background-position: -237px 1664px;
|
||||
}
|
||||
|
||||
#backgr {
|
||||
background-position: -278px 1664px;
|
||||
}
|
||||
|
||||
#font {
|
||||
background-position: 1046px 517px;
|
||||
}
|
||||
|
||||
#strik {
|
||||
background-position: 885px 517px;
|
||||
}
|
||||
|
||||
#sup {
|
||||
background-position: 846px 517px;
|
||||
}
|
||||
|
||||
#sub {
|
||||
background-position: 806px 517px;
|
||||
}
|
||||
|
||||
#titleEdit {
|
||||
background-position: 1045px 557px;
|
||||
}
|
||||
|
||||
/* #pluginSave {
|
||||
background-position: -479px 1665px;
|
||||
}
|
||||
#pluginCreateLeft {
|
||||
background-position: -598px 1665px;
|
||||
}
|
||||
#pluginAddLeft {
|
||||
background-position: -677px 1665px;
|
||||
}
|
||||
#pluginCreateRight {
|
||||
background-position: -558px 1665px;
|
||||
}
|
||||
#pluginAddRight {
|
||||
background-position: -638px 1665px;
|
||||
}
|
||||
#pluginDelete {
|
||||
background-position: -518px 1665px;
|
||||
}
|
||||
#pluginMove {
|
||||
background-position: -438px 1665px;
|
||||
} */
|
||||
|
||||
#contentPageCreate {
|
||||
background-position: 926px 676px;
|
||||
}
|
||||
#contentPageMove {
|
||||
background-position: -1077px 1704px;
|
||||
}
|
||||
#contentPageSettings {
|
||||
background-position: -156px 1704px;
|
||||
}
|
||||
|
||||
#elementEdit {
|
||||
background-position: 965px 557px;
|
||||
}
|
||||
|
||||
#coup {
|
||||
background-position: -357px 1662px;
|
||||
}
|
||||
|
||||
#contentPageCreateUrlManager {
|
||||
background-position: -679px 1820px;
|
||||
}
|
||||
|
||||
.indent {
|
||||
display: inline-block;
|
||||
width: 5px;
|
||||
}
|
||||
|
||||
/* картинки списков */
|
||||
#equar, .align-dropdown .current.equar {
|
||||
background-position: 685px 517px;
|
||||
}
|
||||
#equac, .align-dropdown .current.equac {
|
||||
background-position: 725px 517px;
|
||||
}
|
||||
#equal, .align-dropdown .current.equal {
|
||||
background-position: 765px 517px;
|
||||
}
|
||||
#equaj, .align-dropdown .current.equaj {
|
||||
background-position: 645px 517px;
|
||||
}
|
||||
|
||||
#listNone, .align-dropdown .current.listNone {
|
||||
background-position: -798px 1666px;
|
||||
}
|
||||
#listDots, .align-dropdown .current.listDots {
|
||||
background-position: 764px 437px;
|
||||
}
|
||||
#listNumbers, .align-dropdown .current.listNumbers {
|
||||
background-position: 724px 437px;
|
||||
}
|
||||
#listLetters, .align-dropdown .current.listLetters {
|
||||
background-position: -757px 1666px;
|
||||
}
|
||||
|
||||
/* Стили маленьких окон на главной панели редактора */
|
||||
.smbut {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
visibility: hidden;
|
||||
}
|
||||
#ccc {
|
||||
position: absolute;
|
||||
opacity: 0;
|
||||
left: 470px;
|
||||
top: 17px;
|
||||
pointer-events: none;
|
||||
}
|
||||
#list {
|
||||
width: 100px;
|
||||
height: 28px;
|
||||
}
|
||||
#fs {
|
||||
width: 50px;
|
||||
height: 28px;
|
||||
}
|
||||
#ff {
|
||||
width: 145px;
|
||||
height: 28px;
|
||||
}
|
||||
|
||||
#mainActions {
|
||||
height: 28px;
|
||||
}
|
||||
#pluginDropdownContent {
|
||||
height: 28px;
|
||||
}
|
||||
#elementDropdownContent {
|
||||
width: 170px;
|
||||
height: 28px;
|
||||
}
|
||||
|
||||
/* Стили контейнеров вкладок с настройками */
|
||||
.deploy {
|
||||
text-align: center;
|
||||
line-height: 25px;
|
||||
}
|
||||
|
||||
/* Стили textarea */
|
||||
.textar {
|
||||
width: 400px;
|
||||
height: 70px;
|
||||
font-size: 0.9em;
|
||||
border: 1px solid #000000;
|
||||
margin-left: 5px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
/* Стили коротких текстовых полей */
|
||||
.inptx {
|
||||
width: 51px;
|
||||
height: 22px;
|
||||
font-size: 0.9em;
|
||||
border: 1px solid #000000;
|
||||
margin-right: 10px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
/* Стили средних текстовых полей */
|
||||
.inpmid {
|
||||
width: 120px;
|
||||
height: 18px;
|
||||
font-size: 0.9em;
|
||||
border: 1px solid #000000;
|
||||
margin-right: 10px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
/* Стили длинных текстовых полей */
|
||||
.inpbig {
|
||||
width: 190px;
|
||||
height: 18px;
|
||||
font-size: 0.9em;
|
||||
border: 1px solid #000000;
|
||||
margin-right: 10px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
/* Стили для формы */
|
||||
.inform {
|
||||
display: inline-block;
|
||||
margin-block-end: 0em;
|
||||
}
|
||||
|
||||
/* Стили кнопок вставки и просмотра на вкладках с настройками */
|
||||
.butin {
|
||||
height: 22px;
|
||||
font-size: 0.9em;
|
||||
border: 1px solid #000000;
|
||||
background: #FFFFFF;
|
||||
cursor: pointer;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.butinAuto {
|
||||
width: min-content;
|
||||
height: 22px;
|
||||
font-size: 0.92em;
|
||||
cursor: pointer;
|
||||
padding: 1px 5px 1px 5px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.butinAuto:hover {
|
||||
color: #787878;
|
||||
}
|
||||
.buttonEditTable {
|
||||
height: 22px;
|
||||
font-size: 0.9em;
|
||||
border: 1px solid #000000;
|
||||
background: #FFFFFF;
|
||||
cursor: pointer;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.buttonEditTable.active {
|
||||
background-color: #e7e7e7;
|
||||
}
|
||||
|
||||
/* Стили выпадающих списков */
|
||||
.sele {
|
||||
height: 22px;
|
||||
font-size: 0.9em;
|
||||
border: 1px solid #000000;
|
||||
margin-right: 10px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.colored {
|
||||
width: 28px;
|
||||
height: 22px;
|
||||
cursor: pointer;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
/* Стили выпадающих списков без зазора справа */
|
||||
.selena {
|
||||
height: 22px;
|
||||
font-size: 0.9em;
|
||||
border: 1px solid #000000;
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
/* Стили кнопок выбора цвета на вкладках с настройками */
|
||||
.colored {
|
||||
width: 28px;
|
||||
height: 22px;
|
||||
cursor: pointer;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
/* Стиль кнопок зарузок изоброжений */
|
||||
#selectImgForm {
|
||||
width: 77px;
|
||||
height: 22px;
|
||||
font-size: 0.9em;
|
||||
border: 1px solid #000000;
|
||||
background: #FFFFFF;
|
||||
cursor: pointer;
|
||||
border-radius: 5px;
|
||||
margin: 0px 5px 0px -15px;
|
||||
}
|
||||
|
||||
/* Стиль окна текстового редактора */
|
||||
#tex {
|
||||
position: absolute;
|
||||
top: 236%;
|
||||
width: 1100px;
|
||||
height: 380px;
|
||||
border: 1px solid #000000;
|
||||
padding: 10px;
|
||||
font-size: 1.2em;
|
||||
font-family: Tahoma;
|
||||
visibility: hidden;
|
||||
z-index: 6;
|
||||
border-radius: 5px;
|
||||
left: 0px;
|
||||
}
|
||||
|
||||
/* Стили контейнера с кнопками для символов и самих кнопок */
|
||||
#copyr_sym {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.sym {
|
||||
vertical-align: middle;
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
margin: 1px;
|
||||
border: 1px solid #000000;
|
||||
font-size: 1em;
|
||||
font-family: Tahoma;
|
||||
background: #FFFFFF;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#pluginRulesButton1, #pluginRulesButton2 {
|
||||
width: 1em;
|
||||
display: inline-block;
|
||||
}
|
||||
#pluginRulesBlock1, #pluginRulesBlock2 {
|
||||
width: 240px;
|
||||
position: absolute;
|
||||
display: inline-block;
|
||||
background: #efefef;
|
||||
font-size: 0.9em;
|
||||
padding: 2px;
|
||||
line-height: 1.6;
|
||||
border-radius: 5px;
|
||||
opacity: 0;
|
||||
transition: max-height 0.18s ease-out, opacity 0.18s ease-out;
|
||||
pointer-events: none;
|
||||
}
|
||||
#pluginRulesBlock1.show, #pluginRulesBlock2.show {
|
||||
opacity: 1;
|
||||
pointer-events: all;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-block-start: 5px;
|
||||
margin-block-end: 5px;
|
||||
}
|
||||
|
||||
.pluginEditable {
|
||||
outline-offset: 15px;
|
||||
overflow-x: hidden;
|
||||
font-family: 'Roboto', sans-serif;
|
||||
}
|
||||
|
||||
/* поля для редактирование элементов */
|
||||
#editingMenuItems {
|
||||
display: inline-block;
|
||||
position: fixed;
|
||||
z-index: 10;
|
||||
user-select: none;
|
||||
background-color: rgba(255, 255, 255, 0.92);
|
||||
border-radius: 5px;
|
||||
font-size: 1em;
|
||||
box-shadow: 0px 0px 5px #777;
|
||||
padding: 5px;
|
||||
visibility: hidden;
|
||||
}
|
||||
.editingMenuItemsElement {
|
||||
padding: 2px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.editingMenuItemsElement:hover {
|
||||
color: #787878;
|
||||
}
|
||||
2272
main_plugin/editor/editor.js
Executable file
2272
main_plugin/editor/editor.js
Executable file
File diff suppressed because it is too large
Load Diff
377
main_plugin/editor/editor.php
Executable file
377
main_plugin/editor/editor.php
Executable file
@@ -0,0 +1,377 @@
|
||||
<?php
|
||||
/**
|
||||
* @file editor.php
|
||||
* @brief Контейнеры и элементы интерфейса визуального редактора: основная панель, вкладки с символами, настройки ссылок, цвета, плагинов, страницы и элементы редактирования (текст, изображения, таблицы, линии)
|
||||
*/
|
||||
?>
|
||||
|
||||
<div style="position: absolute; display: none;">
|
||||
<div id="bas"></div>
|
||||
<div id="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php /** @brief Основной контейнер редактора */ $basis3; ?>
|
||||
<div id="basis3" style="visibility: hidden; top: 20%; left: 10px; transform: translate(0%, -20%);">
|
||||
|
||||
<?php /** @brief Вкладка с символами */ $copyr_d; ?>
|
||||
<div id="copyr_d" class="cust sb borderStyle">
|
||||
<div id="copyr_sym">
|
||||
<input type="button" class="sym" id="s1" value="$">
|
||||
<input type="button" class="sym" id="s2" value="£">
|
||||
<input type="button" class="sym" id="s3" value="¥">
|
||||
<input type="button" class="sym" id="s4" value="€">
|
||||
<input type="button" class="sym" id="s5" value="₹">
|
||||
<input type="button" class="sym" id="s6" value="₽">
|
||||
<input type="button" class="sym" id="s7" value="₱">
|
||||
<input type="button" class="sym" id="s8" value="฿">
|
||||
<br>
|
||||
<input type="button" class="sym" id="s9" value="±">
|
||||
<input type="button" class="sym" id="s10" value="×">
|
||||
<input type="button" class="sym" id="s11" value="÷">
|
||||
<input type="button" class="sym" id="s12" value="−">
|
||||
<input type="button" class="sym" id="s13" value="√">
|
||||
<input type="button" class="sym" id="s14" value="≠">
|
||||
<input type="button" class="sym" id="s15" value="≤">
|
||||
<input type="button" class="sym" id="s16" value="≥">
|
||||
<input type="button" class="sym" id="s17" value="∑">
|
||||
<br>
|
||||
<input type="button" class="sym" id="s26" value="∞">
|
||||
<input type="button" class="sym" id="s27" value="Ω">
|
||||
<input type="button" class="sym" id="s28" value="Ω">
|
||||
<input type="button" class="sym" id="s29" value="α">
|
||||
<input type="button" class="sym" id="s30" value="β">
|
||||
<input type="button" class="sym" id="s31" value="™">
|
||||
<input type="button" class="sym" id="s32" value="∙">
|
||||
<input type="button" class="sym" id="s33" value="≈">
|
||||
<br>
|
||||
<input type="button" class="sym" id="s18" value="←">
|
||||
<input type="button" class="sym" id="s19" value="↑">
|
||||
<input type="button" class="sym" id="s20" value="→">
|
||||
<input type="button" class="sym" id="s21" value="↓">
|
||||
<input type="button" class="sym" id="s22" value="↖">
|
||||
<input type="button" class="sym" id="s23" value="↗">
|
||||
<input type="button" class="sym" id="s24" value="↘">
|
||||
<input type="button" class="sym" id="s25" value="↙">
|
||||
<br>
|
||||
<input type="button" class="sym" id="s34" value="■">
|
||||
<input type="button" class="sym" id="s35" value="▲">
|
||||
<input type="button" class="sym" id="s37" value="○">
|
||||
<input type="button" class="sym" id="s38" value="►">
|
||||
<input type="button" class="sym" id="s39" value="▼">
|
||||
<input type="button" class="sym" id="s40" value="●">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php /** @brief Блок настроек ссылок */ $link_d; ?>
|
||||
<div id="link_d" class="cust sb borderStyle">
|
||||
<div class="deploy">
|
||||
{{link}}: <input id="link2" class="inpbig" style="margin-right: 0px;"> <input id="link2FromPage" onClick="linkFromPage()" type="button" value="{{select_page_from_site}}" style="margin-right: 10px;">
|
||||
{{open_in_new_window}}: <select id="link3" class="sele">
|
||||
<option selected value="yes">{{yes}}</option>
|
||||
<option value="no">{{no}}</option>
|
||||
</select><br>
|
||||
</select>
|
||||
{{underline}}: <select id="link5" class="sele">
|
||||
<option value="yes">{{yes}}</option>
|
||||
<option selected value="no">{{no}}</option>
|
||||
</select>
|
||||
{{color}}: <input type="color" id="link6c" class="colored" value="#0645AD" title="{{choose_color}}">
|
||||
<input type="button" id="butlink" class="butin" value="{{insert}}" title="{{insert_link}}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php /** @brief Окно для изменения цвета текста */ $col_d; ?>
|
||||
<div id="col_d" class="cust sb borderStyle">
|
||||
<div class="deploy">
|
||||
{{change_text_color}}:
|
||||
<input type="color" id="colColor" class="colored" alt="{{color}}" title="{{choose_color}}">
|
||||
<button id="colFun_d" class="butin">{{select}}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php /** @brief Окно для изменения цвета фона текста */ $backgr_d; ?>
|
||||
<div id="backgr_d" class="cust sb borderStyle">
|
||||
<div class="deploy">
|
||||
{{change_text_background}}:
|
||||
<input type="color" id="backgrColor" class="colored" alt="{{color}}" title="{{choose_color}}">
|
||||
<button id="backgrFun_d" class="butin">{{select}}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php /** @brief Окно для создания плагина слева */ $pluginCreateLeft_d; ?>
|
||||
<div id="pluginCreateLeft_d" class="cust sb borderStyle">
|
||||
<div class="deploy">
|
||||
{{create_plugin_left}}:<br>
|
||||
<label for="pluginCreateLeftName">{{enter_plugin_name}}</label>
|
||||
<label id="pluginRulesButton1" class="butin">!</label>
|
||||
<div id="pluginRulesBlock1">
|
||||
<div>{{plugin_name_guidelines}}</div>
|
||||
<hr>
|
||||
<div>{{used_plugin_names}}</div>
|
||||
</div>
|
||||
<input type="text" id="pluginCreateLeftName" class="inpbig">
|
||||
<label for="pluginCreateLeftTitle">{{enter_plugin_title}}</label>
|
||||
<input type="text" id="pluginCreateLeftTitle" class="inpbig">
|
||||
<button id="pluginCreateLeftFun_d" class="butin">{{add}}</button>
|
||||
</div>
|
||||
</div>
|
||||
<?php /** @brief Список выбора плагина слева */ $pluginAddLeft_d; ?>
|
||||
<div id="pluginAddLeft_d" class="cust sb borderStyle">
|
||||
<div class="deploy">
|
||||
{{add_plugin_left}}:<br>
|
||||
<label for="pluginAddLeftName">{{select_plugin}}</label>
|
||||
<select id="pluginAddLeftName" class="sele"></select>
|
||||
<label for="pluginAddLeftTitle">{{enter_plugin_title}}</label>
|
||||
<input type="text" id="pluginAddLeftTitle" class="inpbig">
|
||||
<button id="pluginAddLeftFun_d" class="butin">{{select}}</button>
|
||||
</div>
|
||||
</div>
|
||||
<?php /** @brief Окно для создания плагина справа */ $pluginCreateRight_d; ?>
|
||||
<div id="pluginCreateRight_d" class="cust sb borderStyle">
|
||||
<div class="deploy">
|
||||
{{create_plugin_right}}:<br>
|
||||
<label for="pluginCreateRightName">{{enter_plugin_name}}</label>
|
||||
<label id="pluginRulesButton2" class="butin">!</label>
|
||||
<div id="pluginRulesBlock2">
|
||||
<div>{{plugin_name_guidelines}}</div>
|
||||
<hr>
|
||||
<div>{{used_plugin_names}}</div>
|
||||
</div>
|
||||
<input type="text" id="pluginCreateRightName" class="inpbig">
|
||||
<label for="pluginCreateRightTitle">{{enter_plugin_title}}</label>
|
||||
<input type="text" id="pluginCreateRightTitle" class="inpbig">
|
||||
<button id="pluginCreateRightFun_d" class="butin">{{add}}</button>
|
||||
</div>
|
||||
</div>
|
||||
<?php /** @brief Список выбора плагина справа */ $pluginAddRight_d; ?>
|
||||
<div id="pluginAddRight_d" class="cust sb borderStyle">
|
||||
<div class="deploy">
|
||||
{{add_plugin_right}}:<br>
|
||||
<label for="pluginAddRightName">{{select_plugin}}</label>
|
||||
<select id="pluginAddRightName" class="sele"></select>
|
||||
<label for="pluginAddRightTitle">{{enter_plugin_title}}</label>
|
||||
<input type="text" id="pluginAddRightTitle" class="inpbig">
|
||||
<button id="pluginAddRightFun_d" class="butin">{{select}}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php /** @brief Редактирование меню страницы */ $contentPageCreate_d; ?>
|
||||
<div id="contentPageCreate_d" class="cust sb borderStyle">
|
||||
<div class="deploy">
|
||||
{{create_page}}:<br>
|
||||
{{select_or_create_file}} <input id="contentPageCreateUrl" class="inpbig">
|
||||
<div id="contentPageCreateUrlManager" class="editi editib pers" style="margin: -3px 0px 0px -16px; width: 24px; height: 20px;"></div><br>
|
||||
{{menu_name}}: <input id="contentPageCreateName" class="inpbig">
|
||||
{{tab_title}}: <input id="contentPageCreateTitle" class="inpbig">
|
||||
{{design}}: <select id="contentPageCreateTemplate" class="sele">
|
||||
<?php ?>
|
||||
</select>
|
||||
<br>
|
||||
<button id="contentPageCreateFun_d" class="butin">{{create}}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php /** @brief Настройки страницы */ $contentPageSettings_d; ?>
|
||||
<div id="contentPageSettings_d" class="cust sb borderStyle">
|
||||
<div class="deploy">
|
||||
<button id="contentPageSettingsFun_d" class="butin">{{edit}}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php /** @brief Основные настройки страницы */ $settingsMain_d; ?>
|
||||
<div id="settingsMain_d" class="cust2 sb borderStyle" style="width: 200px;">
|
||||
<div class="deploy" style="text-align: left;">
|
||||
<option id="save" class="butinAuto">{{save}}</option>
|
||||
<option id="saveHow" class="butinAuto">{{save_as}}</option>
|
||||
<option id="getPage" class="butinAuto">{{open}}</option>
|
||||
<option id="newPage" class="butinAuto">{{new}}</option>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<?php /** @brief Главная панель редактора */ $panel; ?>
|
||||
<div id="panel" class="borderStyle"><div id="arrow-left" class="arrow borderStyle">⊲</div><div class="toolbar-container">
|
||||
<div class="toolbar-group" style="margin-left: 14px;">
|
||||
<span id="toolbar-group-button-main" class="editi editib pers toolbar-group-button"></span>
|
||||
<span class="toolbar-group-content">
|
||||
|
||||
<div id="settingsMain" class="editi editib swit"></div>
|
||||
<div id="htm" onclick="showHtmlCode()" class="editi editib pers" alt="{{html_code_main_block_alt}}" title="{{html_code_main_block_title}}"></div>
|
||||
<div id="bac" class="editi editib pers" alt="{{undo_action_alt}}" title="{{undo_action_title}}"></div>
|
||||
<div id="forw" class="editi editib pers" alt="{{redo_action_alt}}" title="{{redo_action_title}}"></div>
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="toolbar-group">
|
||||
<span id="toolbar-group-button-text" class="editi editib pers toolbar-group-button"></span>
|
||||
<span class="toolbar-group-content">
|
||||
|
||||
<div class="align-dropdown-text" id="ff">
|
||||
<div class="current" data-cmd="'Roboto', sans-serif">Roboto</div><span class="dropdown-arrow">▾</span>
|
||||
<ul class="align-list" style="left: -1px;">
|
||||
<li data-cmd="'Roboto', sans-serif"><div>Roboto</div></li>
|
||||
<li data-cmd="'Open Sans', sans-serif"><div>Open Sans</div></li>
|
||||
<li data-cmd="'Montserrat', sans-serif"><div>Montserrat</div></li>
|
||||
<li data-cmd="'Lora', serif"><div>Lora</div></li>
|
||||
<li data-cmd="'Source Sans 3', sans-serif"><div>Source Sans Pro</div></li>
|
||||
<li data-cmd="'Merriweather', serif"><div>Merriweather</div></li>
|
||||
<li data-cmd="'PT Serif', serif"><div>PT Serif</div></li>
|
||||
<li data-cmd="'Playfair Display', serif"><div>Playfair Display</div></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="align-dropdown-text" id="fs">
|
||||
<div class="current" data-cmd="15px">15px</div><span class="dropdown-arrow">▾</span>
|
||||
<ul class="align-list" style="left: -1px;">
|
||||
<li data-cmd="1px"><div>1px</div></li><li data-cmd="2px"><div>2px</div></li><li data-cmd="4px"><div>4px</div></li><li data-cmd="6px"><div>6px</div></li><li data-cmd="8px"><div>8px</div></li><li data-cmd="10px"><div>10px</div></li><li data-cmd="11px"><div>11px</div></li><li data-cmd="12px"><div>12px</div></li><li data-cmd="13px"><div>13px</div></li><li data-cmd="14px"><div>14px</div></li><li data-cmd="15px"><div>15px</div></li><li data-cmd="16px"><div>16px</div></li><li data-cmd="17px"><div>17px</div></li><li data-cmd="18px"><div>18px</div></li><li data-cmd="19px"><div>19px</div></li><li data-cmd="20px"><div>20px</div></li><li data-cmd="22px"><div>22px</div></li><li data-cmd="24px"><div>24px</div></li><li data-cmd="28px"><div>28px</div></li><li data-cmd="32px"><div>32px</div></li><li data-cmd="48px"><div>48px</div></li><li data-cmd="56px"><div>56px</div></li><li data-cmd="64px"><div>64px</div></li><li data-cmd="96px"><div>96px</div></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="bol" class="editi editib pers editf" alt="{{bold_alt}}" title="{{bold_title}}"></div>
|
||||
<div id="ital" class="editi editib pers editf" alt="{{italic_alt}}" title="{{italic_title}}"></div>
|
||||
<div id="under" class="editi editib pers editf" alt="{{underline_alt}}" title="{{underline_title}}"></div>
|
||||
<div id="strik" class="editi editib pers editf" alt="{{strikethrough_alt}}" title="{{strikethrough_title}}"></div>
|
||||
<div style="display: inline-block;">
|
||||
<div id="col" class="editi editimc pers" alt="{{font_color_alt}}" title="{{font_color_title}}"></div>
|
||||
<div id="backgr" class="editi editimc pers" alt="{{background_color_alt}}" title="{{background_color_title}}"></div>
|
||||
<div class="pickr-container"></div>
|
||||
</div>
|
||||
<div id="sup" class="editi editib pers editf" alt="{{superscript_alt}}" title="{{superscript_title}}"></div>
|
||||
<div id="sub" class="editi editib pers editf" alt="{{subscript_alt}}" title="{{subscript_title}}"></div>
|
||||
<div class="align-dropdown">
|
||||
<div class="current editi editib pers" style="background-position:-798px 1666px;" data-cmd="listNone"></div>
|
||||
<ul class="align-list">
|
||||
<li data-cmd="1"><div class="editi editib pers" id="listNone"></div></li>
|
||||
<li data-cmd="2"><div class="editi editib pers" id="listDots"></div></li>
|
||||
<li data-cmd="3"><div class="editi editib pers" id="listNumbers"></div></li>
|
||||
<li data-cmd="4"><div class="editi editib pers" id="listLetters"></div></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="align-dropdown">
|
||||
<div class="current editi editib pers" style="background-position: 765px 517px;" data-cmd="equal"></div>
|
||||
<ul class="align-list">
|
||||
<li data-cmd="equal"><div class="editi editib pers" id="equal"></div></li>
|
||||
<li data-cmd="equac"><div class="editi editib pers" id="equac"></div></li>
|
||||
<li data-cmd="equar"><div class="editi editib pers" id="equar"></div></li>
|
||||
<li data-cmd="equaj"><div class="editi editib pers" id="equaj"></div></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="forma" class="editi editib pers" alt="{{remove_format_alt}}" title="{{remove_format_title}}"></div>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="toolbar-group">
|
||||
<span id="toolbar-group-button-paste" class="editi editib pers toolbar-group-button"></span>
|
||||
<span class="toolbar-group-content">
|
||||
|
||||
<div id="link" class="editi editib swit" alt="{{insert_link_alt}}" title="{{insert_link_title}}"></div>
|
||||
<div id="linkdel" class="editi editib pers" alt="{{remove_link_alt}}" title="{{remove_link_title}}"></div>
|
||||
|
||||
<div class="align-dropdown-oneImg">
|
||||
<div class="current editi editib pers" id="oneImg"></div>
|
||||
<ul class="align-list" style="left: -1px;">
|
||||
<li data-cmd="imgLink"><div id="imgLink">{{insert_image_link}}</div></li>
|
||||
<li data-cmd="imgPc"><div id="imgPc">{{insert_image_PC}}</div></li>
|
||||
<li data-cmd="imgManager"><div id="imgManager">{{insert_image_manager}}</div></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="hr" class="editi editib pers editf"></div>
|
||||
<div id="tabl" class="editi editib pers editf"></div>
|
||||
<div id="copyr" class="editi editib swit"></div>
|
||||
|
||||
<select id="pluginDropdownContent" class="edits pers3">
|
||||
<option id="pluginAddLeft" value="pluginAddLeft" class="swit">{{add_plugin_left}}</option>
|
||||
<option id="pluginAddRight" value="pluginAddRight" class="swit">{{add_plugin_right}}</option>
|
||||
<option id="pluginDelete" value="pluginDelete" class="editfText">{{delete_plugin}}</option>
|
||||
<option id="pluginMove" value="pluginMove" class="editfText">{{move_plugin}}</option>
|
||||
</select>
|
||||
|
||||
</span>
|
||||
</div>
|
||||
</div><div id="arrow-right" class="arrow borderStyle">⊳</div></div>
|
||||
|
||||
<!-- текстовый редактор -->
|
||||
<form name="dat">
|
||||
<textarea id="tex" name="tex" class="sb"></textarea>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<?php /** @brief Поля для редактирования элементов */ $editingMenuItems; ?>
|
||||
<div id="editingMenuItems" class="borderStyle">
|
||||
<div id="editingMenuItemsCopy" class="editingMenuItemsElement">{{copy}}</div>
|
||||
<div id="editingMenuItemsCut" class="editingMenuItemsElement">{{cut}}</div>
|
||||
<div id="editingMenuItemsPaste" class="editingMenuItemsElement">{{paste}}</div>
|
||||
<hr id="editingMenuItemsHr">
|
||||
|
||||
<div id="elementEditPanelHr" class="elementEditPanelElement">
|
||||
{{thickness_px}}: <input id="hr1Edit" class="inptx" value="1" type="number" title="{{thickness_tooltip}}"><br>
|
||||
{{width_px_percent}}: <input id="hr2Edit" class="inptx" value="95%" type="text" title="{{width_tooltip}}"><br>
|
||||
{{position}}: <select id="hr4Edit" class="sele" title="{{position_tooltip}}">
|
||||
<option value="left_clear">{{left_clear}}</option>
|
||||
<option value="right_clear">{{right_clear}}</option>
|
||||
<option value="center_clear">{{center_clear}}</option>
|
||||
<option selected value="left_text">{{left_text}}</option>
|
||||
<option value="right_text">{{right_text}}</option>
|
||||
<option value="text">{{in_text}}</option>
|
||||
</select><br>
|
||||
{{color}}: <input type="color" id="hr3cEdit" class="colored" title="{{choose_color}}"><br>
|
||||
{{margin_top_px}}: <input id="hrMarginTopEdit" class="inptx" value="0" type="number" title="{{padding_top_tooltip}}"><br>
|
||||
{{margin_right_px}}: <input id="hrMarginRightEdit" class="inptx" value="0" type="number" title="{{padding_right_tooltip}}"><br>
|
||||
{{margin_bottom_px}}: <input id="hrMarginBottomEdit" class="inptx" value="0" type="number" title="{{padding_bottom_tooltip}}"><br>
|
||||
{{margin_left_px}}: <input id="hrMarginLeftEdit" class="inptx" value="0" type="number" title="{{padding_left_tooltip}}"><br>
|
||||
<input type="button" id="buthrEdit" class="butin" value="{{edit}}" title="{{edit_hr}}">
|
||||
</div>
|
||||
|
||||
<div id="elementEditPanelImg" class="elementEditPanelElement">
|
||||
{{image_url}}: <input id="ima1Edit" class="inpbig" title="{{url_tooltip}}"><br>
|
||||
{{image_width_px}}: <input id="ima6Edit" class="inptx" placeholder="{{auto}}" value="250" type="number" title="{{width_tooltip}}"><br>
|
||||
{{image_height_px}}: <input id="ima6aEdit" class="inptx" placeholder="{{auto}}" value="" type="number" title="{{height_tooltip}}"><br>
|
||||
{{position}}: <select id="ima4Edit" class="sele" title="{{position_tooltip}}">
|
||||
<option value="left_clear">{{left_clear}}</option>
|
||||
<option value="right_clear">{{right_clear}}</option>
|
||||
<option value="center_clear">{{center_clear}}</option>
|
||||
<option selected value="left_text">{{left_text}}</option>
|
||||
<option value="right_text">{{right_text}}</option>
|
||||
<option value="text">{{in_text}}</option>
|
||||
</select><br>
|
||||
{{margin_top_px}}: <input id="imaMarginTopEdit" class="inptx" value="0" type="number" title="{{padding_top_tooltip}}"><br>
|
||||
{{margin_right_px}}: <input id="imaMarginRightEdit" class="inptx" value="0" type="number" title="{{padding_right_tooltip}}"><br>
|
||||
{{margin_bottom_px}}: <input id="imaMarginBottomEdit" class="inptx" value="0" type="number" title="{{padding_bottom_tooltip}}"><br>
|
||||
{{margin_left_px}}: <input id="imaMarginLeftEdit" class="inptx" value="0" type="number" title="{{padding_left_tooltip}}"><br>
|
||||
{{border_px}}: <input id="ima7Edit" class="inptx" value="0" type="number" title="{{border_tooltip}}"><br>
|
||||
{{border_color}}: <input type="color" id="ima8cEdit" class="colored" title="{{choose_color}}"><br>
|
||||
{{link_tooltip}}: <input id="imaLinkEdit" class="inpbig" type="url" title="{{link_tooltip}}"><br>
|
||||
<input type="button" id="butimaEdit" class="butin" value="{{edit}}" title="{{edit_image}}"><br>
|
||||
</div>
|
||||
|
||||
<div id="elementEditPanelTable" class="elementEditPanelElement">
|
||||
<input type="button" class="buttonEditTable" value="{{add_row}}" id="editTableButtonAddLine" title="{{add_row_tooltip}}"><br>
|
||||
<input type="button" class="buttonEditTable" value="{{delete_row}}" id="editTableButtonDeleteLine" title="{{delete_row_tooltip}}"><br>
|
||||
<input type="button" class="buttonEditTable" value="{{add_column}}" id="editTableButtonAddColumn" title="{{add_column_tooltip}}"><br>
|
||||
<input type="button" class="buttonEditTable" value="{{delete_column}}" id="editTableButtonDeleteColumn" title="{{delete_column_tooltip}}"><br>
|
||||
{{width_px_percent}}: <input id="tab1Edit" class="inptx" value="50%" type="text" title="{{width_tooltip}}"><br>
|
||||
{{position}}: <select id="tab6Edit" class="sele" title="{{position_tooltip}}">
|
||||
<option value="left_clear">{{left_clear}}</option>
|
||||
<option value="right_clear">{{right_clear}}</option>
|
||||
<option value="center_clear">{{center_clear}}</option>
|
||||
<option selected value="left_text">{{left_text}}</option>
|
||||
<option value="right_text">{{right_text}}</option>
|
||||
<option value="text">{{in_text}}</option>
|
||||
</select><br>
|
||||
{{padding_inner_px}}: <input id="tab4Edit" class="inptx" value="1" type="number" title="{{padding_inner_tooltip}}"><br>
|
||||
{{margin_top_px}}: <input id="tabMarginTopEdit" class="inptx" value="0" type="number" title="{{padding_top_tooltip}}"><br>
|
||||
{{margin_right_px}}: <input id="tabMarginRightEdit" class="inptx" value="0" type="number" title="{{padding_right_tooltip}}"><br>
|
||||
{{margin_bottom_px}}: <input id="tabMarginBottomEdit" class="inptx" value="0" type="number" title="{{padding_bottom_tooltip}}"><br>
|
||||
{{margin_left_px}}: <input id="tabMarginLeftEdit" class="inptx" value="0" type="number" title="{{padding_left_tooltip}}"><br>
|
||||
{{border_px}}: <input id="tab9Edit" class="inptx" value="1" type="number" title="{{border_tooltip}}"><br>
|
||||
{{border_color}}: <input type="color" id="tab10cEdit" class="colored" title="{{choose_color}}"><br>
|
||||
{{background_color}}: <input type="color" id="tab11cEdit" class="colored" value="#FFFFFF" title="{{choose_color}}"><br>
|
||||
<input type="button" id="butabEdit" class="butin" value="{{edit}}" title="{{edit_table}}"><br>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
292
main_plugin/editor/func.editor.php
Executable file
292
main_plugin/editor/func.editor.php
Executable file
@@ -0,0 +1,292 @@
|
||||
<?php
|
||||
/**
|
||||
* @file func.editor.php
|
||||
* @brief Содержит серверные функции для плагина редактора
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief Сохраняет содержимое центрального блока страницы
|
||||
* @param array $params Массив с данными для сохранения, включая ключ 'saveContentIdData'
|
||||
* @return string 'true' в случае успешного сохранения
|
||||
* @throws Exception В случае проблем с сохранением контента
|
||||
*/
|
||||
function savePageCenterBlock($params) {
|
||||
global $config, $path, $_SESSION;
|
||||
|
||||
$saveContentIdXml = $path . $_SESSION['page_url'] . ".page.php";
|
||||
$saveContentIdData = $params['saveContentIdData'] ?? '';
|
||||
$file = @simplexml_load_file($saveContentIdXml);
|
||||
$node = $file->content->{$_SESSION['lng']};
|
||||
|
||||
$file->content->{$_SESSION['lng']} = '';
|
||||
$node = dom_import_simplexml($node);
|
||||
$doc = $node->ownerDocument;
|
||||
$appended = $node->appendChild($doc->createCDATASection("\n" . $saveContentIdData . "\n"));
|
||||
$saved = $file->asXML($saveContentIdXml);
|
||||
|
||||
if ($appended && $saved) {
|
||||
return 'true';
|
||||
}
|
||||
|
||||
throw new Exception("Problem saving content", -32003);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Сохраняет левый и правый блоки страницы
|
||||
* @param array $params Массив с данными блоков, ключ 'floatsBlock' содержит массив левых и правых блоков
|
||||
* @return string 'true' в случае успешного сохранения
|
||||
* @throws Exception В случае проблем с сохранением блоков
|
||||
*/
|
||||
function savePageSideBlocks($params) {
|
||||
global $config, $path, $_SESSION;
|
||||
|
||||
$saveContentIdXml = $path . $_SESSION['page_url'] . ".page.php";
|
||||
$file = @simplexml_load_file($saveContentIdXml);
|
||||
|
||||
$floatsBlock = json_decode($params['floatsBlock'] ?? '[]', true);
|
||||
$left = $floatsBlock['left'] ?? [];
|
||||
$right = $floatsBlock['right'] ?? [];
|
||||
|
||||
unset($file->lblock->block, $file->rblock->block);
|
||||
|
||||
foreach ($left as $d) {
|
||||
$b = $file->lblock->addChild('block');
|
||||
$b->addAttribute('url', htmlspecialchars($d['pluginUrl'] ?? '', ENT_QUOTES, 'UTF-8'));
|
||||
$b->addAttribute('title', htmlspecialchars($d['title'] ?? '', ENT_QUOTES, 'UTF-8'));
|
||||
$b->addAttribute('tclass',htmlspecialchars($d['tclass'] ?? '', ENT_QUOTES, 'UTF-8'));
|
||||
$b->addAttribute('bclass',htmlspecialchars($d['bclass'] ?? '', ENT_QUOTES, 'UTF-8'));
|
||||
}
|
||||
foreach ($right as $d) {
|
||||
$b = $file->rblock->addChild('block');
|
||||
$b->addAttribute('url', htmlspecialchars($d['pluginUrl'] ?? '', ENT_QUOTES, 'UTF-8'));
|
||||
$b->addAttribute('title', htmlspecialchars($d['title'] ?? '', ENT_QUOTES, 'UTF-8'));
|
||||
$b->addAttribute('tclass',htmlspecialchars($d['tclass'] ?? '', ENT_QUOTES, 'UTF-8'));
|
||||
$b->addAttribute('bclass',htmlspecialchars($d['bclass'] ?? '', ENT_QUOTES, 'UTF-8'));
|
||||
}
|
||||
|
||||
$dom = new DOMDocument('1.0', 'UTF-8');
|
||||
$dom->preserveWhiteSpace = false;
|
||||
$dom->formatOutput = true;
|
||||
$dom->loadXML($file->asXML());
|
||||
$ok = $dom->save($saveContentIdXml);
|
||||
|
||||
if ($ok) {
|
||||
return 'true';
|
||||
}
|
||||
|
||||
throw new Exception("Problem saving floats block", -32003);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Сохраняет заголовок страницы
|
||||
* @param array $params Массив с данными для сохранения, ключ 'newTitle' содержит новый заголовок
|
||||
* @return string 'true' в случае успешного сохранения
|
||||
* @throws Exception В случае проблем с сохранением заголовка или если узел не найден
|
||||
*/
|
||||
function savePageTitle($params) {
|
||||
global $config, $path, $_SESSION;
|
||||
|
||||
$newTitle = htmlspecialchars($params['newTitle'] ?? '', ENT_QUOTES, 'UTF-8');
|
||||
$filePath = $path . "data/filepath." . $_SESSION['lng'] . ".php";
|
||||
$file = @simplexml_load_file($filePath);
|
||||
|
||||
$fileNode = rtrim($config['REQUEST_URI'], '.html');
|
||||
$nodes = array_filter(explode('/', $fileNode));
|
||||
$node = $file->index;
|
||||
$current = 'index';
|
||||
|
||||
foreach ($nodes as $n) {
|
||||
if ($n !== '' && isset($node->$n)) {
|
||||
$node = $node->$n;
|
||||
$current .= '->' . $n;
|
||||
} else {
|
||||
$error = "Node not found: $current->$n";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($error)) {
|
||||
throw new Exception($error, -32602);
|
||||
}
|
||||
|
||||
$node['title'] = $newTitle;
|
||||
$saved = $file->asXML($filePath);
|
||||
|
||||
if ($saved) {
|
||||
return 'true';
|
||||
}
|
||||
|
||||
throw new Exception("Problem saving title", -32003);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Сохраняет весь контент страницы, включая центральный блок, боковые блоки и атрибуты
|
||||
* @param array $params Массив с данными страницы, включая 'page_url', 'nameFile', 'saveContentIdData', 'floatsBlock', 'title', 'pluginUrl', 'tclass', 'bclass'
|
||||
* @return string 'true' в случае успешного сохранения
|
||||
* @throws Exception В случае проблем с сохранением содержимого страницы
|
||||
*/
|
||||
function saveHowPageContent($params) {
|
||||
global $config, $path, $_SESSION;
|
||||
|
||||
$_SESSION['page_url'] = $params['page_url'] . str_replace('.page.php', '', $params['nameFile']);
|
||||
$filePath = $path . $params['page_url'] . $params['nameFile'];
|
||||
$contentData = $params['saveContentIdData'] ?? '';
|
||||
$file = simplexml_load_file($filePath);
|
||||
$langNode = $file->content->{$_SESSION['lng']};
|
||||
$file->content->{$_SESSION['lng']} = '';
|
||||
$node = dom_import_simplexml($langNode);
|
||||
$doc = $node->ownerDocument;
|
||||
$node->appendChild($doc->createCDATASection("\n" . $contentData . "\n"));
|
||||
|
||||
$file->rblock = '';
|
||||
$file->lblock = '';
|
||||
$blocks = $params['floatsBlock'] ?? [];
|
||||
$titles = $params['title'] ?? [];
|
||||
$urls = $params['pluginUrl'] ?? [];
|
||||
$tclasses = $params['tclass'] ?? [];
|
||||
$bclasses = $params['bclass'] ?? [];
|
||||
foreach ($blocks as $i => $blockName) {
|
||||
$newBlock = $file->$blockName->addChild('block');
|
||||
$newBlock->addAttribute('url', htmlspecialchars($urls[$i] ?? '', ENT_QUOTES,'UTF-8'));
|
||||
$newBlock->addAttribute('title', htmlspecialchars($titles[$i] ?? '', ENT_QUOTES,'UTF-8'));
|
||||
$newBlock->addAttribute('tclass',htmlspecialchars($tclasses[$i] ?? '',ENT_QUOTES,'UTF-8'));
|
||||
$newBlock->addAttribute('bclass',htmlspecialchars($bclasses[$i] ?? '',ENT_QUOTES,'UTF-8'));
|
||||
}
|
||||
|
||||
$dom = new DOMDocument('1.0','UTF-8');
|
||||
$dom->preserveWhiteSpace = false;
|
||||
$dom->formatOutput = true;
|
||||
$dom->loadXML($file->asXML());
|
||||
|
||||
$saved = $dom->save($filePath);
|
||||
if ($saved === false) {
|
||||
throw new Exception("Failed to save content", -32003);
|
||||
}
|
||||
return 'true';
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Создаёт новую страницу на основе шаблона
|
||||
* @param array $params Массив с данными страницы, включая 'page_url', 'nameFile', 'saveContentIdData'
|
||||
* @return string 'true' в случае успешного создания страницы
|
||||
* @throws Exception В случае ошибок при создании файла или записи XML
|
||||
*/
|
||||
function createNewPage($params) {
|
||||
global $config, $path, $_SESSION;
|
||||
|
||||
$_SESSION['page_url'] = $params['page_url'] . str_replace('.page.php', '', $params['nameFile']);
|
||||
$saveContentIdXml = $path . $params['page_url'] . $params['nameFile'];
|
||||
$templatePage = $path . "data/template.page.php";
|
||||
$saveContentIdData = $params['saveContentIdData'] ?? '';
|
||||
$templateContent = file_get_contents($templatePage);
|
||||
if ($templateContent === false || file_put_contents($saveContentIdXml, $templateContent) === false) {
|
||||
throw new Exception("Failed to create file", -32004);
|
||||
}
|
||||
|
||||
$file = simplexml_load_file($saveContentIdXml);
|
||||
$node = $file->content->{$_SESSION['lng']};
|
||||
$file->content->{$_SESSION['lng']} = '';
|
||||
$node = dom_import_simplexml($node);
|
||||
$no = $node->ownerDocument;
|
||||
$node->appendChild($no->createCDATASection("\n" . $saveContentIdData . "\n"));
|
||||
|
||||
$saved = $file->asXML($saveContentIdXml);
|
||||
if ($saved === false) {
|
||||
throw new Exception("Failed to write XML", -32003);
|
||||
}
|
||||
return 'true';
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Проверяет существование файла по указанному пути
|
||||
* @param array $params Массив с данными проверки, включая 'path' и 'nameFile'
|
||||
* @return string "true" если файл существует, иначе "false"
|
||||
* @throws Exception В случае некорректного пути
|
||||
*/
|
||||
function checkFile($params) {
|
||||
global $path;
|
||||
|
||||
$rel = trim($params['path'], "/\\");
|
||||
if ($rel !== '' && strpos($rel, '..') !== false) {
|
||||
throw new Exception("Invalid path", -32602);
|
||||
}
|
||||
|
||||
$name = basename($params['nameFile']);
|
||||
$full = rtrim($path, DIRECTORY_SEPARATOR)
|
||||
. ($rel !== '' ? DIRECTORY_SEPARATOR . $rel : '')
|
||||
. DIRECTORY_SEPARATOR . $name;
|
||||
|
||||
return file_exists($full) ? "true" : "false";
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Создаёт новый плагин с базовым шаблоном
|
||||
* @param array $params Массив с данными плагина, включая 'pluginName'
|
||||
* @return string Сообщение о создании плагина или "false", если плагин уже существует
|
||||
* @throws Exception В случае отсутствия имени плагина или ошибок записи файла
|
||||
*/
|
||||
function createPlugin($params) {
|
||||
$pluginName = $params['pluginName'] ?? '';
|
||||
$baseDir = __DIR__ . '/../../plugin/';
|
||||
|
||||
if ($pluginName === '') {
|
||||
throw new Exception("Missing pluginName", -32602);
|
||||
}
|
||||
|
||||
$dir = $baseDir . $pluginName;
|
||||
if (!is_dir($dir)) {
|
||||
umask(0);
|
||||
$stub = "<?php\n echo '<div class=\"pluginEditable\" contenteditable=\"true\"></div>'; \n?>";
|
||||
if (file_put_contents("$dir/plug.php", $stub) === false) {
|
||||
throw new Exception("Failed to write plug.php", -32004);
|
||||
}
|
||||
return "Plugin created: $pluginName";
|
||||
}
|
||||
|
||||
return "false";
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Получает содержимое плагина
|
||||
* @param array $params Массив с данными плагина, включая 'pluginName2'
|
||||
* @return string HTML-контент плагина
|
||||
* @throws Exception В случае если файл плагина не найден
|
||||
*/
|
||||
function getPlugin($params) {
|
||||
$pluginName = $params['pluginName2'] ?? '';
|
||||
$file = __DIR__ . '/../../plugin/' . $pluginName . '/plug.php';
|
||||
if (!is_file($file)) {
|
||||
throw new Exception("Plugin not found", -32602);
|
||||
}
|
||||
ob_start();
|
||||
include $file;
|
||||
return ob_get_clean();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Загружает изображение пользователя из Base64 и сохраняет на сервер
|
||||
* @param array $params Массив с данными изображения, включая 'userImgBase64' и 'userImgName'
|
||||
* @return string Путь к сохранённому изображению
|
||||
* @throws Exception В случае ошибок при сохранении изображения
|
||||
*/
|
||||
function uploadImage($params) {
|
||||
global $config, $path, $_SESSION;
|
||||
$base64 = $params['userImgBase64'] ?? '';
|
||||
$filename= $params['userImgName'] ?? 'image.png';
|
||||
$uploaddir = 'img/users_img/' . ($_SESSION['username'] ?? '') . '/';
|
||||
$name = pathinfo($filename, PATHINFO_FILENAME);
|
||||
$ext = pathinfo($filename, PATHINFO_EXTENSION) ?: 'png';
|
||||
$target = $uploaddir . $name . '.' . $ext;
|
||||
$i = 1;
|
||||
while (file_exists($target)) {
|
||||
$target = $uploaddir . $name . "_$i." . $ext;
|
||||
$i++;
|
||||
}
|
||||
$data = base64_decode($base64, true);
|
||||
if (file_put_contents($target, $data) === false) {
|
||||
throw new Exception("Error saving image", -32004);
|
||||
}
|
||||
return $target;
|
||||
}
|
||||
|
||||
?>
|
||||
24
main_plugin/editor/lang.js.php
Executable file
24
main_plugin/editor/lang.js.php
Executable file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
/**
|
||||
* @file lang.js.php
|
||||
* @brief Подготавливает языковые строки и подставляет их в JS-шаблон редактора
|
||||
*/
|
||||
|
||||
/** @brief Языковой массив для редактора */
|
||||
$lang = include $path . 'lang.php';
|
||||
|
||||
/** @brief Текущий язык пользователя, по умолчанию 'en' */
|
||||
$lng = $_GET['lng'] ?? ($_SESSION['lng'] ?? 'en');
|
||||
|
||||
/** @brief Массив подстановок для шаблона JS */
|
||||
$placeholders = [];
|
||||
|
||||
foreach ($lang[$lng] as $key => $value) {
|
||||
$placeholders['{{' . $key . '}}'] = $value;
|
||||
}
|
||||
|
||||
$js = file_get_contents($path . 'editor.js');
|
||||
$js = strtr($js, $placeholders);
|
||||
|
||||
echo "window.editorJs = (function() {\n" . $js . "\n})();";
|
||||
?>
|
||||
514
main_plugin/editor/lang.php
Executable file
514
main_plugin/editor/lang.php
Executable file
@@ -0,0 +1,514 @@
|
||||
<?php
|
||||
$lang = [
|
||||
'ru' => [
|
||||
'insert_line' => 'Вставить линию',
|
||||
'thickness_px' => 'Толщина (px)',
|
||||
'width_px_percent' => 'Ширина (px, %)',
|
||||
'position' => 'Положение',
|
||||
'left' => 'Слева',
|
||||
'center' => 'По центру',
|
||||
'right' => 'Справа',
|
||||
'in_text' => 'В тексте',
|
||||
'color' => 'Цвет',
|
||||
'choose_color' => 'Нажмите, чтобы выбрать цвет',
|
||||
'insert' => 'Вставить',
|
||||
'insert_hr' => 'Вставить горизонтальную линию',
|
||||
'insert_table' => 'Вставить таблицу',
|
||||
'rows' => 'Строки',
|
||||
'columns' => 'Колонки',
|
||||
'padding_inner_px' => 'Внутренний отступ (px)',
|
||||
'padding_outer_px' => 'Внешний отступ (px)',
|
||||
'border_px' => 'Рамка (px)',
|
||||
'border_color' => 'Цвет рамки',
|
||||
'background_color' => 'Цвет фона',
|
||||
'upload' => 'Загрузить',
|
||||
'select' => 'Выбрать',
|
||||
'image_url' => 'URL изображения',
|
||||
'image_width_px' => 'Ширина изображения (px)',
|
||||
'image_height_px' => 'Высота изображения (px)',
|
||||
'margin_outer_px' => 'Внешний отступ (px)',
|
||||
'link' => 'Ссылка',
|
||||
'select_page_from_site' => 'Выбрать страницу с сайта',
|
||||
'open_in_new_window' => 'Открывать в новом окне',
|
||||
'yes' => 'Да',
|
||||
'no' => 'Нет',
|
||||
'underline' => 'Подчеркивание',
|
||||
'insert_link' => 'Вставить ссылку',
|
||||
'change_text_color' => 'Изменить цвет текста',
|
||||
'change_text_background' => 'Изменить цвет фона текста',
|
||||
'create_plugin_left' => 'Создать плагин слева',
|
||||
'enter_plugin_name' => 'Введите имя плагина',
|
||||
'plugin_name_guidelines' => 'В имени плагина только англ. буквы, цифры, пробелы, _',
|
||||
'used_plugin_names' => 'Используемые имена плагинов',
|
||||
'enter_plugin_title' => 'Введите заголовок плагина',
|
||||
'add' => 'Добавить',
|
||||
'add_plugin_left' => 'Добавить левый плагин',
|
||||
'select_plugin' => 'Выберите плагин',
|
||||
'create_plugin_right' => 'Создать плагин справа',
|
||||
'add_plugin_right' => 'Добавить правый плагин',
|
||||
'create_page' => 'Создать страницу',
|
||||
'select_or_create_file' => 'Выбрать или создать файл',
|
||||
'menu_name' => 'Название в меню',
|
||||
'tab_title' => 'Название во вкладке',
|
||||
'design' => 'Дизайн',
|
||||
'create' => 'Создать',
|
||||
'edit' => 'Изменить',
|
||||
'save' => 'Сохранить',
|
||||
'save_as' => 'Сохранить как',
|
||||
'open' => 'Открыть',
|
||||
'new' => 'Новый',
|
||||
'html_code_main_block_alt' => 'HTML-код главного блока',
|
||||
'html_code_main_block_title' => 'HTML-код главного блока',
|
||||
'undo_action_alt' => 'Отменить действие',
|
||||
'undo_action_title' => 'Отменить действие',
|
||||
'redo_action_alt' => 'Повторить действие',
|
||||
'redo_action_title' => 'Повторить действие',
|
||||
'bold_alt' => 'Жирный',
|
||||
'bold_title' => 'Сделать текст жирным',
|
||||
'italic_alt' => 'Курсив',
|
||||
'italic_title' => 'Сделать текст курсивом',
|
||||
'underline_alt' => 'Подчеркнутый',
|
||||
'underline_title' => 'Сделать текст подчеркнутым',
|
||||
'strikethrough_alt' => 'Зачеркнутый',
|
||||
'strikethrough_title' => 'Сделать текст зачеркнутым',
|
||||
'font_color_alt' => 'Цвет шрифта',
|
||||
'font_color_title' => 'Сделать текст другим цветом',
|
||||
'background_color_alt' => 'Цвет фона',
|
||||
'background_color_title' => 'Сделать фон другим цветом',
|
||||
'superscript_alt' => 'Надстрочный',
|
||||
'superscript_title' => 'Сделать текст надстрочным',
|
||||
'subscript_alt' => 'Подстрочный',
|
||||
'subscript_title' => 'Сделать текст подстрочным',
|
||||
'list_none' => 'Без списка',
|
||||
'align_left_alt' => 'Выравнить влево',
|
||||
'align_left_title' => 'Выравнивание влево',
|
||||
'align_center_alt' => 'Выравнить по центру',
|
||||
'align_center_title' => 'Выравнивание по центру',
|
||||
'align_right_alt' => 'Выравнить вправо',
|
||||
'align_right_title' => 'Выравнивание вправо',
|
||||
'align_justify_alt' => 'Выровнять по ширине',
|
||||
'align_justify_title' => 'Выровнять по ширине',
|
||||
'remove_format_alt' => 'Удалить форматирование',
|
||||
'remove_format_title' => 'Удалить форматирование',
|
||||
'insert_link_alt' => 'Вставить ссылку',
|
||||
'insert_link_title' => 'Вставить ссылку',
|
||||
'remove_link_alt' => 'Удалить ссылку',
|
||||
'remove_link_title' => 'Удалить ссылку',
|
||||
'edit_title_title' => 'Изменить заголовок',
|
||||
'insert_image_link' => 'Вставить изображение по ссылке',
|
||||
'insert_image_PC' => 'Загрузить изображение с компьютера',
|
||||
'insert_image_manager' => 'Выбрать изображение через менеджер',
|
||||
'insert_symbol' => 'Вставить символ',
|
||||
'delete_plugin' => 'Удалить плагин',
|
||||
'move_plugin' => 'Переместить плагин',
|
||||
'copy' => 'Копировать',
|
||||
'cut' => 'Вырезать',
|
||||
'paste' => 'Вставить',
|
||||
'auto' => 'авто',
|
||||
|
||||
'insert_url' => 'Вставьте URL!',
|
||||
'delete_plugin_confirm' => 'Удалить плагин?',
|
||||
'action_not_defined' => 'Действие не определено',
|
||||
'plugin_name_empty_error' => 'Имя плагина не может быть пустым!',
|
||||
'plugin_not_selected_error' => 'Плагин не выбран!',
|
||||
'plugin_name_guidelines' => 'В имени плагина можно использовать только английские буквы, цифры, пробелы и подчеркивания!',
|
||||
'plugin_name_exists_suffix' => ' - это имя плагина уже используется!',
|
||||
'used_plugin_names' => 'Используемые имена плагина:',
|
||||
'plugin_created_left_suffix' => 'создан на левую',
|
||||
'plugin_added_left_suffix' => 'добавлен на левую',
|
||||
'plugin_created_right_suffix' => 'создан на правую',
|
||||
'plugin_added_right_suffix' => 'добавлен на правую',
|
||||
'img_upload_error' => 'Ошибка при загрузке изображения!',
|
||||
'rows_or_columns_not_specified' => 'Вы не указали количество строк или столбцов!',
|
||||
'insert_url_or_select_image' => 'Вставьте URL или выберите изображение!',
|
||||
'cursor_not_in_editable_field' => 'Курсор не в редактируемом поле!',
|
||||
'cursor_or_selection_not_in_editable_field' => 'Курсор или выделение не в редактируемом поле!',
|
||||
'no_text_selected' => 'Вы не выделили текст!',
|
||||
|
||||
'padding_top_px' => 'Отступ сверху (px)',
|
||||
'padding_right_px' => 'Отступ справа (px)',
|
||||
'padding_bottom_px' => 'Отступ снизу (px)',
|
||||
'padding_left_px' => 'Отступ слева (px)',
|
||||
'thickness_tooltip' => 'Толщина линии в пикселях',
|
||||
'width_tooltip' => 'Ширина в процентах или пикселях',
|
||||
'position_tooltip' => 'Позиция элемента',
|
||||
'padding_top_tooltip' => 'Задайте верхний отступ в пикселях',
|
||||
'padding_right_tooltip' => 'Задайте правый отступ в пикселях',
|
||||
'padding_bottom_tooltip' => 'Задайте нижний отступ в пикселях',
|
||||
'padding_left_tooltip' => 'Задайте левый отступ в пикселях',
|
||||
'url_tooltip' => 'Введите URL изображения',
|
||||
'height_tooltip' => 'Высота изображения в пикселях',
|
||||
'margin_tooltip' => 'Внешний отступ в пикселях',
|
||||
'border_tooltip' => 'Толщина рамки в пикселях',
|
||||
'link_tooltip' => 'Ссылка при клике на изображение',
|
||||
'caption' => 'Подпись к изображению',
|
||||
'caption_tooltip' => 'Текст подписи под изображением',
|
||||
'add_row_tooltip' => 'Добавить строку в таблицу',
|
||||
'delete_row_tooltip' => 'Удалить строку из таблицы',
|
||||
'add_column_tooltip' => 'Добавить столбец в таблицу',
|
||||
'delete_column_tooltip' => 'Удалить столбец из таблицы',
|
||||
'padding_inner_tooltip' => 'Внутренний отступ в пикселях',
|
||||
'padding_outer_tooltip' => 'Внешний отступ в пикселях',
|
||||
'plugin_title_empty_error' => 'Заголовок пустой!',
|
||||
'open_page' => 'Откройте страницу на сайте, а не через менеджер!',
|
||||
'enter_new_title' => 'Введите новый заголовок:',
|
||||
'title_saved' => 'Заголовок сохранён!',
|
||||
'new_file' => 'Новый файл',
|
||||
'add_row' => 'Добавить строку',
|
||||
'delete_row' => 'Удалить строку',
|
||||
'add_column' => 'Добавить столбец',
|
||||
'delete_column'=> 'Удалить столбец',
|
||||
'left_clear' => 'Слева (без текста)',
|
||||
'right_clear' => 'Справа (без текста)',
|
||||
'center_clear'=> 'По центру (без текста)',
|
||||
'left_text' => 'Слева с текстом',
|
||||
'right_text' => 'Справа с текстом',
|
||||
'link_tooltip' => 'Ссылка при клике на изображение',
|
||||
'margin_top_px' => 'Внешний отступ сверху (px)',
|
||||
'margin_right_px' => 'Внешний отступ справа (px)',
|
||||
'margin_bottom_px' => 'Внешний отступ снизу (px)',
|
||||
'margin_left_px' => 'Внешний отступ слева (px)',
|
||||
'in_text' => 'В тексте'
|
||||
],
|
||||
'en' => [
|
||||
'insert_line' => 'Insert line',
|
||||
'thickness_px' => 'Thickness (px)',
|
||||
'width_px_percent' => 'Width (px, %)',
|
||||
'position' => 'Position',
|
||||
'left' => 'Left',
|
||||
'center' => 'Center',
|
||||
'right' => 'Right',
|
||||
'in_text' => 'In text',
|
||||
'color' => 'Color',
|
||||
'choose_color' => 'Click to choose color',
|
||||
'insert' => 'Insert',
|
||||
'insert_hr' => 'Insert horizontal line',
|
||||
'insert_table' => 'Insert table',
|
||||
'rows' => 'Rows',
|
||||
'columns' => 'Columns',
|
||||
'padding_inner_px' => 'Inner padding (px)',
|
||||
'padding_outer_px' => 'Outer padding (px)',
|
||||
'border_px' => 'Border (px)',
|
||||
'border_color' => 'Border color',
|
||||
'background_color' => 'Background color',
|
||||
'upload' => 'Upload',
|
||||
'select' => 'Select',
|
||||
'image_url' => 'Image URL',
|
||||
'image_width_px' => 'Image width (px)',
|
||||
'image_height_px' => 'Image height (px)',
|
||||
'margin_outer_px' => 'Outer margin (px)',
|
||||
'link' => 'Link',
|
||||
'select_page_from_site' => 'Select page from site',
|
||||
'open_in_new_window' => 'Open in new window',
|
||||
'yes' => 'Yes',
|
||||
'no' => 'No',
|
||||
'underline' => 'Underline',
|
||||
'insert_link' => 'Insert link',
|
||||
'change_text_color' => 'Change text color',
|
||||
'change_text_background' => 'Change text background',
|
||||
'create_plugin_left' => 'Create plugin left',
|
||||
'enter_plugin_name' => 'Enter plugin name',
|
||||
'plugin_name_guidelines' => 'Plugin name: letters, digits, spaces, underscores',
|
||||
'used_plugin_names' => 'Used plugin names',
|
||||
'enter_plugin_title' => 'Enter plugin title',
|
||||
'add' => 'Add',
|
||||
'add_plugin_left' => 'Add left plugin',
|
||||
'select_plugin' => 'Select plugin',
|
||||
'create_plugin_right' => 'Create plugin right',
|
||||
'add_plugin_right' => 'Add right plugin',
|
||||
'create_page' => 'Create page',
|
||||
'select_or_create_file' => 'Select or create file',
|
||||
'menu_name' => 'Menu name',
|
||||
'tab_title' => 'Tab title',
|
||||
'design' => 'Design',
|
||||
'create' => 'Create',
|
||||
'edit' => 'Edit',
|
||||
'save' => 'Save',
|
||||
'save_as' => 'Save as',
|
||||
'open' => 'Open',
|
||||
'new' => 'New',
|
||||
'html_code_main_block_alt' => 'HTML code main block',
|
||||
'html_code_main_block_title' => 'HTML code main block',
|
||||
'undo_action_alt' => 'Undo action',
|
||||
'undo_action_title' => 'Undo action',
|
||||
'redo_action_alt' => 'Redo action',
|
||||
'redo_action_title' => 'Redo action',
|
||||
'bold_alt' => 'Bold',
|
||||
'bold_title' => 'Make text bold',
|
||||
'italic_alt' => 'Italic',
|
||||
'italic_title' => 'Make text italic',
|
||||
'underline_alt' => 'Underline',
|
||||
'underline_title' => 'Underline text',
|
||||
'strikethrough_alt' => 'Strikethrough',
|
||||
'strikethrough_title' => 'Strikethrough text',
|
||||
'font_color_alt' => 'Font color',
|
||||
'font_color_title' => 'Change font color',
|
||||
'background_color_alt' => 'Background color',
|
||||
'background_color_title' => 'Change background color',
|
||||
'superscript_alt' => 'Superscript',
|
||||
'superscript_title' => 'Make text superscript',
|
||||
'subscript_alt' => 'Subscript',
|
||||
'subscript_title' => 'Make text subscript',
|
||||
'list_none' => 'Without a list',
|
||||
'align_left_alt' => 'Align left',
|
||||
'align_left_title' => 'Align text left',
|
||||
'align_center_alt' => 'Align center',
|
||||
'align_center_title' => 'Align text center',
|
||||
'align_right_alt' => 'Align right',
|
||||
'align_right_title' => 'Align text right',
|
||||
'align_justify_alt' => 'Justify',
|
||||
'align_justify_title' => 'Justify text',
|
||||
'remove_format_alt' => 'Remove format',
|
||||
'remove_format_title' => 'Remove formatting',
|
||||
'insert_link_alt' => 'Insert link',
|
||||
'insert_link_title' => 'Insert link',
|
||||
'remove_link_alt' => 'Remove link',
|
||||
'remove_link_title' => 'Remove link',
|
||||
'edit_title_title' => 'Edit title',
|
||||
'insert_image_link' => 'Insert image by link',
|
||||
'insert_image_PC' => 'Upload image from PC',
|
||||
'insert_image_manager' => 'Choose image from manager',
|
||||
'insert_symbol' => 'Insert symbol',
|
||||
'delete_plugin' => 'Delete plugin',
|
||||
'move_plugin' => 'Move plugin',
|
||||
'copy' => 'Copy',
|
||||
'cut' => 'Cut',
|
||||
'paste' => 'Paste',
|
||||
'auto' => 'auto',
|
||||
|
||||
'insert_url' => 'Insert URL!',
|
||||
'delete_plugin_confirm' => 'Delete plugin?',
|
||||
'action_not_defined' => 'Action not defined',
|
||||
'plugin_name_empty_error' => 'Plugin name cannot be empty!',
|
||||
'plugin_not_selected_error' => 'Plugin not selected!',
|
||||
'plugin_name_guidelines' => 'Plugin name can only contain English letters, numbers, spaces, and underscores!',
|
||||
'plugin_name_exists_suffix' => ' - this plugin name is already taken!',
|
||||
'used_plugin_names' => 'Used plugin names:',
|
||||
'plugin_created_left_suffix' => 'created on the left',
|
||||
'plugin_added_left_suffix' => 'added on the left',
|
||||
'plugin_created_right_suffix' => 'created on the right',
|
||||
'plugin_added_right_suffix' => 'added on the right',
|
||||
'img_upload_error' => 'Image upload error!',
|
||||
'rows_or_columns_not_specified' => 'You didn\'t specify the number of rows or columns!',
|
||||
'insert_url_or_select_image' => 'Insert URL or select an image!',
|
||||
'cursor_not_in_editable_field' => 'Cursor is not in an editable field!',
|
||||
'cursor_or_selection_not_in_editable_field' => 'Cursor or selection is not in an editable field!',
|
||||
'no_text_selected' => 'No text selected!',
|
||||
|
||||
'padding_top_px' => 'Padding top (px)',
|
||||
'padding_right_px' => 'Padding right (px)',
|
||||
'padding_bottom_px' => 'Padding bottom (px)',
|
||||
'padding_left_px' => 'Padding left (px)',
|
||||
'thickness_tooltip' => 'Line thickness in pixels',
|
||||
'width_tooltip' => 'Width in percent or pixels',
|
||||
'position_tooltip' => 'Element position',
|
||||
'padding_top_tooltip' => 'Set top padding in pixels',
|
||||
'padding_right_tooltip' => 'Set right padding in pixels',
|
||||
'padding_bottom_tooltip' => 'Set bottom padding in pixels',
|
||||
'padding_left_tooltip' => 'Set left padding in pixels',
|
||||
'url_tooltip' => 'Enter image URL',
|
||||
'height_tooltip' => 'Image height in pixels',
|
||||
'margin_tooltip' => 'Outer margin in pixels',
|
||||
'border_tooltip' => 'Border width in pixels',
|
||||
'link_tooltip' => 'Link on image click',
|
||||
'caption' => 'Image caption',
|
||||
'caption_tooltip' => 'Text displayed under the image',
|
||||
'add_row_tooltip' => 'Add a row to the table',
|
||||
'delete_row_tooltip' => 'Delete a row from the table',
|
||||
'add_column_tooltip' => 'Add a column to the table',
|
||||
'delete_column_tooltip' => 'Delete a column from the table',
|
||||
'padding_inner_tooltip' => 'Inner padding in pixels',
|
||||
'padding_outer_tooltip' => 'Outer padding in pixels',
|
||||
'plugin_title_empty_error' => 'Title is empty!',
|
||||
'open_page' => 'Open the page on the website, not through the manager!',
|
||||
'enter_new_title' => 'Enter a new title:',
|
||||
'title_saved' => 'Title saved!',
|
||||
'new_file' => 'Jauns fails',
|
||||
'add_row' => 'Add row',
|
||||
'delete_row' => 'Delete row',
|
||||
'add_column' => 'Add column',
|
||||
'delete_column'=> 'Delete column',
|
||||
'left_clear' => 'Left (no text)',
|
||||
'right_clear' => 'Right (no text)',
|
||||
'center_clear'=> 'Center (no text)',
|
||||
'left_text' => 'Left with text',
|
||||
'link_tooltip' => 'Link on image click',
|
||||
'margin_top_px' => 'Margin top (px)',
|
||||
'margin_right_px' => 'Margin right (px)',
|
||||
'margin_bottom_px' => 'Margin bottom (px)',
|
||||
'margin_left_px' => 'Margin left (px)',
|
||||
'right_text' => 'Right with text'
|
||||
],
|
||||
'lv' => [
|
||||
'insert_line' => 'Ievietot līniju',
|
||||
'thickness_px' => 'Biezums (px)',
|
||||
'width_px_percent' => 'Platums (px, %)',
|
||||
'position' => 'Novietojums',
|
||||
'left' => 'Pa kreisi',
|
||||
'center' => 'Centrā',
|
||||
'right' => 'Pa labi',
|
||||
'in_text' => 'Tekstā',
|
||||
'color' => 'Krāsa',
|
||||
'choose_color' => 'Klikšķiniet, lai izvēlētos krāsu',
|
||||
'insert' => 'Ievietot',
|
||||
'insert_hr' => 'Ievietot horizontālu līniju',
|
||||
'insert_table' => 'Ievietot tabulu',
|
||||
'rows' => 'Rindas',
|
||||
'columns' => 'Kolonnas',
|
||||
'padding_inner_px' => 'Iekšējais atkāpums (px)',
|
||||
'padding_outer_px' => 'Ārējais atkāpums (px)',
|
||||
'border_px' => 'Rāmja biezums (px)',
|
||||
'border_color' => 'Rāmja krāsa',
|
||||
'background_color' => 'Fona krāsa',
|
||||
'upload' => 'Augšupielādēt',
|
||||
'select' => 'Izvēlēties',
|
||||
'image_url' => 'Attēla URL',
|
||||
'image_width_px' => 'Attēla platums (px)',
|
||||
'image_height_px' => 'Attēla augstums (px)',
|
||||
'margin_outer_px' => 'Ārējais atkāpums (px)',
|
||||
'link' => 'Saite',
|
||||
'select_page_from_site' => 'Izvēlēties lapu no vietnes',
|
||||
'open_in_new_window' => 'Atvērt jaunā logā',
|
||||
'yes' => 'Jā',
|
||||
'no' => 'Nē',
|
||||
'underline' => 'Pasvītrojums',
|
||||
'insert_link' => 'Ievietot saiti',
|
||||
'change_text_color' => 'Mainīt teksta krāsu',
|
||||
'change_text_background' => 'Mainīt teksta fona krāsu',
|
||||
'create_plugin_left' => 'Izveidot spraudni pa kreisi',
|
||||
'enter_plugin_name' => 'Ievadiet spraudņa nosaukumu',
|
||||
'plugin_name_guidelines' => 'Nosaukumā tikai angļu burtu, ciparu, atstarpju un apakšsvītru',
|
||||
'used_plugin_names' => 'Izmantotie spraudņu nosaukumi',
|
||||
'enter_plugin_title' => 'Ievadiet spraudņa virsrakstu',
|
||||
'add' => 'Pievienot',
|
||||
'add_plugin_left' => 'Pievienot kreiso spraudni',
|
||||
'select_plugin' => 'Izvēlēties spraudni',
|
||||
'create_plugin_right' => 'Izveidot spraudni pa labi',
|
||||
'add_plugin_right' => 'Pievienot labo spraudni',
|
||||
'create_page' => 'Izveidot lapu',
|
||||
'select_or_create_file' => 'Izvēlēties vai izveidot failu',
|
||||
'menu_name' => 'Nosaukums izvēlnē',
|
||||
'tab_title' => 'Cilnes virsraksts',
|
||||
'design' => 'Dizains',
|
||||
'create' => 'Izveidot',
|
||||
'edit' => 'Rediģēt',
|
||||
'save' => 'Saglabāt',
|
||||
'save_as' => 'Saglabāt kā',
|
||||
'open' => 'Atvērt',
|
||||
'new' => 'Jauns',
|
||||
'html_code_main_block_alt' => 'Galvenā bloka HTML kods',
|
||||
'html_code_main_block_title' => 'Galvenā bloka HTML kods',
|
||||
'undo_action_alt' => 'Atcelt darbību',
|
||||
'undo_action_title' => 'Atcelt darbību',
|
||||
'redo_action_alt' => 'Atkārtot darbību',
|
||||
'redo_action_title' => 'Atkārtot darbību',
|
||||
'bold_alt' => 'Treknraksts',
|
||||
'bold_title' => 'Padarīt tekstu treknu',
|
||||
'italic_alt' => 'Kursīvs',
|
||||
'italic_title' => 'Padarīt tekstu kursīvu',
|
||||
'underline_alt' => 'Pasvītrot',
|
||||
'underline_title' => 'Pasvītrot tekstu',
|
||||
'strikethrough_alt' => 'Pārvilkt',
|
||||
'strikethrough_title' => 'Pārvilkt tekstu',
|
||||
'font_color_alt' => 'Fonta krāsa',
|
||||
'font_color_title' => 'Mainīt fonta krāsu',
|
||||
'background_color_alt' => 'Fona krāsa',
|
||||
'background_color_title' => 'Mainīt fona krāsu',
|
||||
'superscript_alt' => 'Augšraksts',
|
||||
'superscript_title' => 'Padarīt tekstu augšrakstu',
|
||||
'subscript_alt' => 'Apakšraksts',
|
||||
'subscript_title' => 'Padarīt tekstu apakšrakstu',
|
||||
'list_none' => 'Bez saraksta',
|
||||
'align_left_alt' => 'Līdzināt pa kreisi',
|
||||
'align_left_title' => 'Līdzināt pa kreisi',
|
||||
'align_center_alt' => 'Centrēt',
|
||||
'align_center_title' => 'Centrēt tekstu',
|
||||
'align_right_alt' => 'Līdzināt pa labi',
|
||||
'align_right_title' => 'Līdzināt pa labi',
|
||||
'align_justify_alt' => 'Izlīdzināt',
|
||||
'align_justify_title' => 'Izlīdzināt tekstu',
|
||||
'remove_format_alt' => 'Noņemt formatējumu',
|
||||
'remove_format_title' => 'Noņemt formatējumu',
|
||||
'insert_link_alt' => 'Ievietot saiti',
|
||||
'insert_link_title' => 'Ievietot saiti',
|
||||
'remove_link_alt' => 'Noņemt saiti',
|
||||
'remove_link_title' => 'Noņemt saiti',
|
||||
'edit_title_title' => 'Rediģēt virsrakstu',
|
||||
'insert_image_link' => 'Ievietot attēlu pēc saites',
|
||||
'insert_image_PC' => 'Augšupielādēt attēlu no datora',
|
||||
'insert_image_manager' => 'Izvēlēties attēlu no pārvaldnieka',
|
||||
'insert_symbol' => 'Ievietot simbolu',
|
||||
'delete_plugin' => 'Dzēst spraudni',
|
||||
'move_plugin' => 'Pārvietot spraudni',
|
||||
'copy' => 'Kopēt',
|
||||
'cut' => 'Izgriezt',
|
||||
'paste' => 'Ielīmēt',
|
||||
'auto' => 'auto',
|
||||
|
||||
'insert_url' => 'Ievietojiet URL!',
|
||||
'delete_plugin_confirm' => 'Vai dzēst spraudni?',
|
||||
'action_not_defined' => 'Darbība nav definēta',
|
||||
'plugin_name_empty_error' => 'Spraudņa nosaukums nedrīkst būt tukšs!',
|
||||
'plugin_not_selected_error' => 'Spraudnis nav izvēlēts!',
|
||||
'plugin_name_guidelines' => 'Spraudņa nosaukumā var izmantot tikai angļu alfabēta burtus, ciparus, atstarpes un zemsvītras līnijas!',
|
||||
'plugin_name_exists_suffix' => ' - šis spraudņa nosaukums jau ir izmantots!',
|
||||
'used_plugin_names' => 'Izmantotie spraudņu nosaukumi:',
|
||||
'plugin_created_left_suffix' => 'izveidots kreisajā pusē',
|
||||
'plugin_added_left_suffix' => 'pievienots kreisajā pusē',
|
||||
'plugin_created_right_suffix' => 'izveidots labajā pusē',
|
||||
'plugin_added_right_suffix' => 'pievienots labajā pusē',
|
||||
'img_upload_error' => 'Attēla augšupielādes kļūda!',
|
||||
'rows_or_columns_not_specified' => 'Jūs neesat norādījis rindu vai kolonnu skaitu!',
|
||||
'insert_url_or_select_image' => 'Ievietojiet URL vai izvēlieties attēlu!',
|
||||
'cursor_not_in_editable_field' => 'Kursors nav rediģējamā laukā!',
|
||||
'cursor_or_selection_not_in_editable_field' => 'Kursors vai atlase nav rediģējamā laukā!',
|
||||
'no_text_selected' => 'Nav izvēlēts teksts!',
|
||||
|
||||
'padding_top_px' => 'Augšējais polsterējums (px)',
|
||||
'padding_right_px' => 'Labais polsterējums (px)',
|
||||
'padding_bottom_px' => 'Apakšējais polsterējums (px)',
|
||||
'padding_left_px' => 'Kreisais polsterējums (px)',
|
||||
'thickness_tooltip' => 'Līnijas biezums pikseļos',
|
||||
'width_tooltip' => 'Platums procentos vai pikseļos',
|
||||
'position_tooltip' => 'Elementa pozīcija',
|
||||
'padding_top_tooltip' => 'Iestatiet augšējo polsterējumu pikseļos',
|
||||
'padding_right_tooltip' => 'Iestatiet labo polsterējumu pikseļos',
|
||||
'padding_bottom_tooltip' => 'Iestatiet apakšējo polsterējumu pikseļos',
|
||||
'padding_left_tooltip' => 'Iestatiet kreiso polsterējumu pikseļos',
|
||||
'url_tooltip' => 'Ievadiet attēla URL',
|
||||
'height_tooltip' => 'Attēla augstums pikseļos',
|
||||
'margin_tooltip' => 'Ārējais attālums pikseļos',
|
||||
'border_tooltip' => 'Rāmja platums pikseļos',
|
||||
'link_tooltip' => 'Saite, kad klikšķina uz attēla',
|
||||
'caption' => 'Attēla paraksts',
|
||||
'caption_tooltip' => 'Teksts zem attēla',
|
||||
'add_row_tooltip' => 'Pievienot rindu tabulai',
|
||||
'delete_row_tooltip' => 'Dzēst rindu no tabulas',
|
||||
'add_column_tooltip' => 'Pievienot kolonnu tabulai',
|
||||
'delete_column_tooltip' => 'Dzēst kolonnu no tabulas',
|
||||
'padding_inner_tooltip' => 'Iekšējais polsterējums pikseļos',
|
||||
'padding_outer_tooltip' => 'Ārējais polsterējums pikseļos',
|
||||
'plugin_title_empty_error' => 'Virsraksts ir tukšs!',
|
||||
'open_page' => 'Atveriet lapu vietnē, nevis caur pārvaldnieku!',
|
||||
'enter_new_title' => 'Ievadiet jauno virsrakstu:',
|
||||
'title_saved' => 'Virsraksts saglabāts!',
|
||||
'new_file' => 'Jauns fails',
|
||||
'add_row' => 'Pievienot rindu',
|
||||
'delete_row' => 'Dzēst rindu',
|
||||
'add_column' => 'Pievienot kolonnu',
|
||||
'delete_column'=> 'Dzēst kolonnu',
|
||||
'left_clear' => 'Pa kreisi (bez teksta)',
|
||||
'right_clear' => 'Pa labi (bez teksta)',
|
||||
'center_clear'=> 'Centrēti (bez teksta)',
|
||||
'left_text' => 'Pa kreisi ar tekstu',
|
||||
'right_text' => 'Pa labi ar tekstu',
|
||||
'link_tooltip' => 'Saite kad klikšķina uz attēla',
|
||||
'margin_top_px' => 'Ārējais attālums augšā (px)',
|
||||
'margin_right_px' => 'Ārējais attālums pa labi (px)',
|
||||
'margin_bottom_px' => 'Ārējais attālums apakšā (px)',
|
||||
'margin_left_px' => 'Ārējais attālums pa kreisi (px)',
|
||||
'in_text' => 'Tekstā'
|
||||
],
|
||||
];
|
||||
|
||||
return $lang;
|
||||
26
main_plugin/editor/plug.php
Executable file
26
main_plugin/editor/plug.php
Executable file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* @file plug.php
|
||||
* @brief Подключает плагин редактора для администраторов
|
||||
*/
|
||||
|
||||
global $path, $_SESSION, $configAdmins;
|
||||
|
||||
/** @brief Языковой массив для плагина редактора */
|
||||
$lang = include $path . 'main_plugin/editor/lang.php';
|
||||
|
||||
/** @brief Текущий язык пользователя, по умолчанию 'en' */
|
||||
$lng = $_SESSION['lng'] ?? 'en';
|
||||
|
||||
if (in_array($_SESSION['username'], $configAdmins, true)) {
|
||||
include_once $path . 'main_plugin/editor/func.editor.php';
|
||||
|
||||
$Html = file_get_contents($path . 'main_plugin/editor/editor.php');
|
||||
foreach ($lang[$lng] as $key => $value) {
|
||||
$Html = str_replace('{{' . $key . '}}', $value, $Html);
|
||||
}
|
||||
echo $Html;
|
||||
echo '<link rel="stylesheet" type="text/css" href="/main_plugin/editor/editor.css">';
|
||||
echo '<script type="text/javascript" src="/main_plugin/editor/lang.js.php?lng=' . $lng . '"></script>';
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user