EditorSettings -> EditorPreferences (System has settings, User has preferences, App has configuration)
Create a My Settings page, now linked when clicking a User Create backend preferences form for setting locale Dropdown options now support an image or icon in their options
This commit is contained in:
parent
15df09cbe3
commit
ddb6337efe
|
|
@ -75,10 +75,29 @@ class ServiceProvider extends ModuleServiceProvider
|
|||
'editor' => [
|
||||
'label' => 'backend::lang.editor.menu_label',
|
||||
'description' => 'backend::lang.editor.menu_description',
|
||||
'category' => 'System',
|
||||
'category' => 'My Settings',
|
||||
'icon' => 'icon-code',
|
||||
'url' => Backend::URL('backend/editorsettings'),
|
||||
'sort' => 200
|
||||
'url' => Backend::URL('backend/editorpreferences'),
|
||||
'sort' => 200,
|
||||
'context' => 'mysettings'
|
||||
],
|
||||
'backend_preferences' => [
|
||||
'label' => 'backend::lang.backend_preferences.menu_label',
|
||||
'description' => 'backend::lang.backend_preferences.menu_description',
|
||||
'category' => 'My Settings',
|
||||
'icon' => 'icon-laptop',
|
||||
'class' => 'Backend\Models\BackendPreferences',
|
||||
'sort' => 200,
|
||||
'context' => 'mysettings'
|
||||
],
|
||||
'myaccount' => [
|
||||
'label' => 'backend::lang.myaccount.menu_label',
|
||||
'description' => 'backend::lang.myaccount.menu_description',
|
||||
'category' => 'My Settings',
|
||||
'icon' => 'icon-user',
|
||||
'url' => Backend::URL('backend/users/myaccount'),
|
||||
'sort' => 200,
|
||||
'context' => 'mysettings'
|
||||
],
|
||||
]);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -6373,6 +6373,787 @@ a .icon-flip-vertical:before {
|
|||
.oc-icon-plus-square-o:before {
|
||||
content: "\f196";
|
||||
}
|
||||
[class^="flag-"],
|
||||
[class*=" flag-"] {
|
||||
background: url(../images/flag-icons-small.png) no-repeat;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
line-height: 16px;
|
||||
vertical-align: middle;
|
||||
display: inline-block;
|
||||
margin: -1 2px 0 2px;
|
||||
}
|
||||
.flag-AfricanUnion {
|
||||
background-position: 0 -16px;
|
||||
}
|
||||
.flag-ArabLeague {
|
||||
background-position: 0 -32px;
|
||||
}
|
||||
.flag-ASEAN {
|
||||
background-position: 0 -48px;
|
||||
}
|
||||
.flag-CARICOM {
|
||||
background-position: 0 -64px;
|
||||
}
|
||||
.flag-CIS {
|
||||
background-position: 0 -80px;
|
||||
}
|
||||
.flag-Commonwealth {
|
||||
background-position: 0 -96px;
|
||||
}
|
||||
.flag-England {
|
||||
background-position: 0 -112px;
|
||||
}
|
||||
.flag-European_Union {
|
||||
background-position: 0 -128px;
|
||||
}
|
||||
.flag-Islamic_Conference {
|
||||
background-position: 0 -144px;
|
||||
}
|
||||
.flag-Kosovo {
|
||||
background-position: 0 -160px;
|
||||
}
|
||||
.flag-NATO {
|
||||
background-position: 0 -176px;
|
||||
}
|
||||
.flag-NorthernCyprus {
|
||||
background-position: 0 -192px;
|
||||
}
|
||||
.flag-NorthernIreland {
|
||||
background-position: 0 -208px;
|
||||
}
|
||||
.flag-OlimpicMovement {
|
||||
background-position: 0 -224px;
|
||||
}
|
||||
.flag-OPEC {
|
||||
background-position: 0 -240px;
|
||||
}
|
||||
.flag-RedCross {
|
||||
background-position: 0 -256px;
|
||||
}
|
||||
.flag-Scotland {
|
||||
background-position: 0 -272px;
|
||||
}
|
||||
.flag-Somaliland {
|
||||
background-position: 0 -288px;
|
||||
}
|
||||
.flag-Tibet {
|
||||
background-position: 0 -304px;
|
||||
}
|
||||
.flag-United_Nations {
|
||||
background-position: 0 -320px;
|
||||
}
|
||||
.flag-Wales {
|
||||
background-position: 0 -336px;
|
||||
}
|
||||
.flag-eu {
|
||||
background-position: 0 -128px;
|
||||
}
|
||||
.flag-ad {
|
||||
background-position: 0 -352px;
|
||||
}
|
||||
.flag-ae {
|
||||
background-position: 0 -368px;
|
||||
}
|
||||
.flag-af {
|
||||
background-position: 0 -384px;
|
||||
}
|
||||
.flag-ag {
|
||||
background-position: 0 -400px;
|
||||
}
|
||||
.flag-ai {
|
||||
background-position: 0 -416px;
|
||||
}
|
||||
.flag-al {
|
||||
background-position: 0 -432px;
|
||||
}
|
||||
.flag-am {
|
||||
background-position: 0 -448px;
|
||||
}
|
||||
.flag-ao {
|
||||
background-position: 0 -464px;
|
||||
}
|
||||
.flag-aq {
|
||||
background-position: 0 -480px;
|
||||
}
|
||||
.flag-ar {
|
||||
background-position: 0 -496px;
|
||||
}
|
||||
.flag-as {
|
||||
background-position: 0 -512px;
|
||||
}
|
||||
.flag-at {
|
||||
background-position: 0 -528px;
|
||||
}
|
||||
.flag-au {
|
||||
background-position: 0 -544px;
|
||||
}
|
||||
.flag-aw {
|
||||
background-position: 0 -560px;
|
||||
}
|
||||
.flag-ax {
|
||||
background-position: 0 -576px;
|
||||
}
|
||||
.flag-az {
|
||||
background-position: 0 -592px;
|
||||
}
|
||||
.flag-ba {
|
||||
background-position: 0 -608px;
|
||||
}
|
||||
.flag-bb {
|
||||
background-position: 0 -624px;
|
||||
}
|
||||
.flag-bd {
|
||||
background-position: 0 -640px;
|
||||
}
|
||||
.flag-be {
|
||||
background-position: 0 -656px;
|
||||
}
|
||||
.flag-bf {
|
||||
background-position: 0 -672px;
|
||||
}
|
||||
.flag-bg {
|
||||
background-position: 0 -688px;
|
||||
}
|
||||
.flag-bh {
|
||||
background-position: 0 -704px;
|
||||
}
|
||||
.flag-bi {
|
||||
background-position: 0 -720px;
|
||||
}
|
||||
.flag-bj {
|
||||
background-position: 0 -736px;
|
||||
}
|
||||
.flag-bm {
|
||||
background-position: 0 -752px;
|
||||
}
|
||||
.flag-bn {
|
||||
background-position: 0 -768px;
|
||||
}
|
||||
.flag-bo {
|
||||
background-position: 0 -784px;
|
||||
}
|
||||
.flag-br {
|
||||
background-position: 0 -800px;
|
||||
}
|
||||
.flag-bs {
|
||||
background-position: 0 -816px;
|
||||
}
|
||||
.flag-bt {
|
||||
background-position: 0 -832px;
|
||||
}
|
||||
.flag-bw {
|
||||
background-position: 0 -848px;
|
||||
}
|
||||
.flag-by {
|
||||
background-position: 0 -864px;
|
||||
}
|
||||
.flag-bz {
|
||||
background-position: 0 -880px;
|
||||
}
|
||||
.flag-ca {
|
||||
background-position: 0 -896px;
|
||||
}
|
||||
.flag-cg {
|
||||
background-position: 0 -912px;
|
||||
}
|
||||
.flag-cf {
|
||||
background-position: 0 -928px;
|
||||
}
|
||||
.flag-cd {
|
||||
background-position: 0 -944px;
|
||||
}
|
||||
.flag-ch {
|
||||
background-position: 0 -960px;
|
||||
}
|
||||
.flag-ci {
|
||||
background-position: 0 -976px;
|
||||
}
|
||||
.flag-ck {
|
||||
background-position: 0 -992px;
|
||||
}
|
||||
.flag-cl {
|
||||
background-position: 0 -1008px;
|
||||
}
|
||||
.flag-cm {
|
||||
background-position: 0 -1024px;
|
||||
}
|
||||
.flag-cn {
|
||||
background-position: 0 -1040px;
|
||||
}
|
||||
.flag-co {
|
||||
background-position: 0 -1056px;
|
||||
}
|
||||
.flag-cr {
|
||||
background-position: 0 -1072px;
|
||||
}
|
||||
.flag-cu {
|
||||
background-position: 0 -1088px;
|
||||
}
|
||||
.flag-cv {
|
||||
background-position: 0 -1104px;
|
||||
}
|
||||
.flag-cy {
|
||||
background-position: 0 -1120px;
|
||||
}
|
||||
.flag-cz {
|
||||
background-position: 0 -1136px;
|
||||
}
|
||||
.flag-de {
|
||||
background-position: 0 -1152px;
|
||||
}
|
||||
.flag-dj {
|
||||
background-position: 0 -1168px;
|
||||
}
|
||||
.flag-dk {
|
||||
background-position: 0 -1184px;
|
||||
}
|
||||
.flag-dm {
|
||||
background-position: 0 -1200px;
|
||||
}
|
||||
.flag-do {
|
||||
background-position: 0 -1216px;
|
||||
}
|
||||
.flag-dz {
|
||||
background-position: 0 -1232px;
|
||||
}
|
||||
.flag-ec {
|
||||
background-position: 0 -1248px;
|
||||
}
|
||||
.flag-ee {
|
||||
background-position: 0 -1264px;
|
||||
}
|
||||
.flag-eg {
|
||||
background-position: 0 -1280px;
|
||||
}
|
||||
.flag-eh {
|
||||
background-position: 0 -1296px;
|
||||
}
|
||||
.flag-er {
|
||||
background-position: 0 -1312px;
|
||||
}
|
||||
.flag-es {
|
||||
background-position: 0 -1328px;
|
||||
}
|
||||
.flag-et {
|
||||
background-position: 0 -1344px;
|
||||
}
|
||||
.flag-fi {
|
||||
background-position: 0 -1360px;
|
||||
}
|
||||
.flag-fj {
|
||||
background-position: 0 -1376px;
|
||||
}
|
||||
.flag-fm {
|
||||
background-position: 0 -1392px;
|
||||
}
|
||||
.flag-fo {
|
||||
background-position: 0 -1408px;
|
||||
}
|
||||
.flag-fr {
|
||||
background-position: 0 -1424px;
|
||||
}
|
||||
.flag-bl {
|
||||
background-position: 0 -1424px;
|
||||
}
|
||||
.flag-cp {
|
||||
background-position: 0 -1424px;
|
||||
}
|
||||
.flag-mf {
|
||||
background-position: 0 -1424px;
|
||||
}
|
||||
.flag-yt {
|
||||
background-position: 0 -1424px;
|
||||
}
|
||||
.flag-ga {
|
||||
background-position: 0 -1440px;
|
||||
}
|
||||
.flag-gb {
|
||||
background-position: 0 -1456px;
|
||||
}
|
||||
.flag-sh {
|
||||
background-position: 0 -1456px;
|
||||
}
|
||||
.flag-gd {
|
||||
background-position: 0 -1472px;
|
||||
}
|
||||
.flag-ge {
|
||||
background-position: 0 -1488px;
|
||||
}
|
||||
.flag-gg {
|
||||
background-position: 0 -1504px;
|
||||
}
|
||||
.flag-gh {
|
||||
background-position: 0 -1520px;
|
||||
}
|
||||
.flag-gi {
|
||||
background-position: 0 -1536px;
|
||||
}
|
||||
.flag-gl {
|
||||
background-position: 0 -1552px;
|
||||
}
|
||||
.flag-gm {
|
||||
background-position: 0 -1568px;
|
||||
}
|
||||
.flag-gn {
|
||||
background-position: 0 -1584px;
|
||||
}
|
||||
.flag-gp {
|
||||
background-position: 0 -1600px;
|
||||
}
|
||||
.flag-gq {
|
||||
background-position: 0 -1616px;
|
||||
}
|
||||
.flag-gr {
|
||||
background-position: 0 -1632px;
|
||||
}
|
||||
.flag-gt {
|
||||
background-position: 0 -1648px;
|
||||
}
|
||||
.flag-gu {
|
||||
background-position: 0 -1664px;
|
||||
}
|
||||
.flag-gw {
|
||||
background-position: 0 -1680px;
|
||||
}
|
||||
.flag-gy {
|
||||
background-position: 0 -1696px;
|
||||
}
|
||||
.flag-hk {
|
||||
background-position: 0 -1712px;
|
||||
}
|
||||
.flag-hn {
|
||||
background-position: 0 -1728px;
|
||||
}
|
||||
.flag-hr {
|
||||
background-position: 0 -1744px;
|
||||
}
|
||||
.flag-ht {
|
||||
background-position: 0 -1760px;
|
||||
}
|
||||
.flag-hu {
|
||||
background-position: 0 -1776px;
|
||||
}
|
||||
.flag-id {
|
||||
background-position: 0 -1792px;
|
||||
}
|
||||
.flag-mc {
|
||||
background-position: 0 -1792px;
|
||||
}
|
||||
.flag-ie {
|
||||
background-position: 0 -1808px;
|
||||
}
|
||||
.flag-il {
|
||||
background-position: 0 -1824px;
|
||||
}
|
||||
.flag-im {
|
||||
background-position: 0 -1840px;
|
||||
}
|
||||
.flag-in {
|
||||
background-position: 0 -1856px;
|
||||
}
|
||||
.flag-iq {
|
||||
background-position: 0 -1872px;
|
||||
}
|
||||
.flag-ir {
|
||||
background-position: 0 -1888px;
|
||||
}
|
||||
.flag-is {
|
||||
background-position: 0 -1904px;
|
||||
}
|
||||
.flag-it {
|
||||
background-position: 0 -1920px;
|
||||
}
|
||||
.flag-je {
|
||||
background-position: 0 -1936px;
|
||||
}
|
||||
.flag-jm {
|
||||
background-position: 0 -1952px;
|
||||
}
|
||||
.flag-jo {
|
||||
background-position: 0 -1968px;
|
||||
}
|
||||
.flag-jp {
|
||||
background-position: 0 -1984px;
|
||||
}
|
||||
.flag-ke {
|
||||
background-position: 0 -2000px;
|
||||
}
|
||||
.flag-kg {
|
||||
background-position: 0 -2016px;
|
||||
}
|
||||
.flag-kh {
|
||||
background-position: 0 -2032px;
|
||||
}
|
||||
.flag-ki {
|
||||
background-position: 0 -2048px;
|
||||
}
|
||||
.flag-km {
|
||||
background-position: 0 -2064px;
|
||||
}
|
||||
.flag-kn {
|
||||
background-position: 0 -2080px;
|
||||
}
|
||||
.flag-kp {
|
||||
background-position: 0 -2096px;
|
||||
}
|
||||
.flag-kr {
|
||||
background-position: 0 -2112px;
|
||||
}
|
||||
.flag-kw {
|
||||
background-position: 0 -2128px;
|
||||
}
|
||||
.flag-ky {
|
||||
background-position: 0 -2144px;
|
||||
}
|
||||
.flag-kz {
|
||||
background-position: 0 -2160px;
|
||||
}
|
||||
.flag-la {
|
||||
background-position: 0 -2176px;
|
||||
}
|
||||
.flag-lb {
|
||||
background-position: 0 -2192px;
|
||||
}
|
||||
.flag-lc {
|
||||
background-position: 0 -2208px;
|
||||
}
|
||||
.flag-li {
|
||||
background-position: 0 -2224px;
|
||||
}
|
||||
.flag-lk {
|
||||
background-position: 0 -2240px;
|
||||
}
|
||||
.flag-lr {
|
||||
background-position: 0 -2256px;
|
||||
}
|
||||
.flag-ls {
|
||||
background-position: 0 -2272px;
|
||||
}
|
||||
.flag-lt {
|
||||
background-position: 0 -2288px;
|
||||
}
|
||||
.flag-lu {
|
||||
background-position: 0 -2304px;
|
||||
}
|
||||
.flag-lv {
|
||||
background-position: 0 -2320px;
|
||||
}
|
||||
.flag-ly {
|
||||
background-position: 0 -2336px;
|
||||
}
|
||||
.flag-ma {
|
||||
background-position: 0 -2352px;
|
||||
}
|
||||
.flag-md {
|
||||
background-position: 0 -2368px;
|
||||
}
|
||||
.flag-me {
|
||||
background-position: 0 -2384px;
|
||||
}
|
||||
.flag-mg {
|
||||
background-position: 0 -2400px;
|
||||
}
|
||||
.flag-mh {
|
||||
background-position: 0 -2416px;
|
||||
}
|
||||
.flag-mk {
|
||||
background-position: 0 -2432px;
|
||||
}
|
||||
.flag-ml {
|
||||
background-position: 0 -2448px;
|
||||
}
|
||||
.flag-mm {
|
||||
background-position: 0 -2464px;
|
||||
}
|
||||
.flag-mn {
|
||||
background-position: 0 -2480px;
|
||||
}
|
||||
.flag-mo {
|
||||
background-position: 0 -2496px;
|
||||
}
|
||||
.flag-mq {
|
||||
background-position: 0 -2512px;
|
||||
}
|
||||
.flag-mr {
|
||||
background-position: 0 -2528px;
|
||||
}
|
||||
.flag-ms {
|
||||
background-position: 0 -2544px;
|
||||
}
|
||||
.flag-mt {
|
||||
background-position: 0 -2560px;
|
||||
}
|
||||
.flag-mu {
|
||||
background-position: 0 -2576px;
|
||||
}
|
||||
.flag-mv {
|
||||
background-position: 0 -2592px;
|
||||
}
|
||||
.flag-mw {
|
||||
background-position: 0 -2608px;
|
||||
}
|
||||
.flag-mx {
|
||||
background-position: 0 -2624px;
|
||||
}
|
||||
.flag-my {
|
||||
background-position: 0 -2640px;
|
||||
}
|
||||
.flag-mz {
|
||||
background-position: 0 -2656px;
|
||||
}
|
||||
.flag-na {
|
||||
background-position: 0 -2672px;
|
||||
}
|
||||
.flag-nc {
|
||||
background-position: 0 -2688px;
|
||||
}
|
||||
.flag-ne {
|
||||
background-position: 0 -2704px;
|
||||
}
|
||||
.flag-ng {
|
||||
background-position: 0 -2720px;
|
||||
}
|
||||
.flag-ni {
|
||||
background-position: 0 -2736px;
|
||||
}
|
||||
.flag-nl {
|
||||
background-position: 0 -2752px;
|
||||
}
|
||||
.flag-bq {
|
||||
background-position: 0 -2752px;
|
||||
}
|
||||
.flag-no {
|
||||
background-position: 0 -2768px;
|
||||
}
|
||||
.flag-bv {
|
||||
background-position: 0 -2768px;
|
||||
}
|
||||
.flag-nq {
|
||||
background-position: 0 -2768px;
|
||||
}
|
||||
.flag-sj {
|
||||
background-position: 0 -2768px;
|
||||
}
|
||||
.flag-np {
|
||||
background-position: 0 -2784px;
|
||||
}
|
||||
.flag-nr {
|
||||
background-position: 0 -2800px;
|
||||
}
|
||||
.flag-nz {
|
||||
background-position: 0 -2816px;
|
||||
}
|
||||
.flag-om {
|
||||
background-position: 0 -2832px;
|
||||
}
|
||||
.flag-pa {
|
||||
background-position: 0 -2848px;
|
||||
}
|
||||
.flag-pe {
|
||||
background-position: 0 -2864px;
|
||||
}
|
||||
.flag-pf {
|
||||
background-position: 0 -2880px;
|
||||
}
|
||||
.flag-pg {
|
||||
background-position: 0 -2896px;
|
||||
}
|
||||
.flag-ph {
|
||||
background-position: 0 -2912px;
|
||||
}
|
||||
.flag-pk {
|
||||
background-position: 0 -2928px;
|
||||
}
|
||||
.flag-pl {
|
||||
background-position: 0 -2944px;
|
||||
}
|
||||
.flag-pr {
|
||||
background-position: 0 -2960px;
|
||||
}
|
||||
.flag-ps {
|
||||
background-position: 0 -2976px;
|
||||
}
|
||||
.flag-pt {
|
||||
background-position: 0 -2992px;
|
||||
}
|
||||
.flag-pw {
|
||||
background-position: 0 -3008px;
|
||||
}
|
||||
.flag-py {
|
||||
background-position: 0 -3024px;
|
||||
}
|
||||
.flag-qa {
|
||||
background-position: 0 -3040px;
|
||||
}
|
||||
.flag-re {
|
||||
background-position: 0 -3056px;
|
||||
}
|
||||
.flag-ro {
|
||||
background-position: 0 -3072px;
|
||||
}
|
||||
.flag-rs {
|
||||
background-position: 0 -3088px;
|
||||
}
|
||||
.flag-ru {
|
||||
background-position: 0 -3104px;
|
||||
}
|
||||
.flag-rw {
|
||||
background-position: 0 -3120px;
|
||||
}
|
||||
.flag-sa {
|
||||
background-position: 0 -3136px;
|
||||
}
|
||||
.flag-sb {
|
||||
background-position: 0 -3152px;
|
||||
}
|
||||
.flag-sc {
|
||||
background-position: 0 -3168px;
|
||||
}
|
||||
.flag-sd {
|
||||
background-position: 0 -3184px;
|
||||
}
|
||||
.flag-se {
|
||||
background-position: 0 -3200px;
|
||||
}
|
||||
.flag-sg {
|
||||
background-position: 0 -3216px;
|
||||
}
|
||||
.flag-si {
|
||||
background-position: 0 -3232px;
|
||||
}
|
||||
.flag-sk {
|
||||
background-position: 0 -3248px;
|
||||
}
|
||||
.flag-sl {
|
||||
background-position: 0 -3264px;
|
||||
}
|
||||
.flag-sm {
|
||||
background-position: 0 -3280px;
|
||||
}
|
||||
.flag-sn {
|
||||
background-position: 0 -3296px;
|
||||
}
|
||||
.flag-so {
|
||||
background-position: 0 -3312px;
|
||||
}
|
||||
.flag-sr {
|
||||
background-position: 0 -3328px;
|
||||
}
|
||||
.flag-st {
|
||||
background-position: 0 -3344px;
|
||||
}
|
||||
.flag-sv {
|
||||
background-position: 0 -3360px;
|
||||
}
|
||||
.flag-sy {
|
||||
background-position: 0 -3376px;
|
||||
}
|
||||
.flag-sz {
|
||||
background-position: 0 -3392px;
|
||||
}
|
||||
.flag-tc {
|
||||
background-position: 0 -3408px;
|
||||
}
|
||||
.flag-td {
|
||||
background-position: 0 -3424px;
|
||||
}
|
||||
.flag-tg {
|
||||
background-position: 0 -3440px;
|
||||
}
|
||||
.flag-th {
|
||||
background-position: 0 -3456px;
|
||||
}
|
||||
.flag-tj {
|
||||
background-position: 0 -3472px;
|
||||
}
|
||||
.flag-tl {
|
||||
background-position: 0 -3488px;
|
||||
}
|
||||
.flag-tm {
|
||||
background-position: 0 -3504px;
|
||||
}
|
||||
.flag-tn {
|
||||
background-position: 0 -3520px;
|
||||
}
|
||||
.flag-to {
|
||||
background-position: 0 -3536px;
|
||||
}
|
||||
.flag-tr {
|
||||
background-position: 0 -3552px;
|
||||
}
|
||||
.flag-tt {
|
||||
background-position: 0 -3568px;
|
||||
}
|
||||
.flag-tv {
|
||||
background-position: 0 -3584px;
|
||||
}
|
||||
.flag-tw {
|
||||
background-position: 0 -3600px;
|
||||
}
|
||||
.flag-tz {
|
||||
background-position: 0 -3616px;
|
||||
}
|
||||
.flag-ua {
|
||||
background-position: 0 -3632px;
|
||||
}
|
||||
.flag-ug {
|
||||
background-position: 0 -3648px;
|
||||
}
|
||||
.flag-us {
|
||||
background-position: 0 -3664px;
|
||||
}
|
||||
.flag-uy {
|
||||
background-position: 0 -3680px;
|
||||
}
|
||||
.flag-uz {
|
||||
background-position: 0 -3696px;
|
||||
}
|
||||
.flag-va {
|
||||
background-position: 0 -3712px;
|
||||
}
|
||||
.flag-vc {
|
||||
background-position: 0 -3728px;
|
||||
}
|
||||
.flag-ve {
|
||||
background-position: 0 -3744px;
|
||||
}
|
||||
.flag-vg {
|
||||
background-position: 0 -3760px;
|
||||
}
|
||||
.flag-vi {
|
||||
background-position: 0 -3776px;
|
||||
}
|
||||
.flag-vn {
|
||||
background-position: 0 -3792px;
|
||||
}
|
||||
.flag-vu {
|
||||
background-position: 0 -3808px;
|
||||
}
|
||||
.flag-ws {
|
||||
background-position: 0 -3824px;
|
||||
}
|
||||
.flag-ye {
|
||||
background-position: 0 -3840px;
|
||||
}
|
||||
.flag-za {
|
||||
background-position: 0 -3856px;
|
||||
}
|
||||
.flag-zm {
|
||||
background-position: 0 -3872px;
|
||||
}
|
||||
.flag-zw {
|
||||
background-position: 0 -3888px;
|
||||
}
|
||||
.flag-sx {
|
||||
background-position: 0 -3904px;
|
||||
}
|
||||
.flag-cw {
|
||||
background-position: 0 -3920px;
|
||||
}
|
||||
.flag-ss {
|
||||
background-position: 0 -3936px;
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
src: url('../font/OpenSans-Light.eot');
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 171 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 63 KiB |
|
|
@ -1,45 +1,45 @@
|
|||
$(document).ready(function(){
|
||||
|
||||
var editorEl = $('#editorsettingsCodeeditor'),
|
||||
var editorEl = $('#editorpreferencesCodeeditor'),
|
||||
editor = editorEl.codeEditor('getEditorObject'),
|
||||
session = editor.getSession(),
|
||||
renderer = editor.renderer
|
||||
|
||||
editorEl.height($('#editorSettingsForm').height() - 23)
|
||||
|
||||
$('#Form-field-EditorSettings-theme').on('change', function(){
|
||||
$('#Form-field-EditorPreferences-theme').on('change', function(){
|
||||
editorEl.codeEditor('setTheme', $(this).val())
|
||||
})
|
||||
|
||||
$('#Form-field-EditorSettings-font_size').on('change', function(){
|
||||
$('#Form-field-EditorPreferences-font_size').on('change', function(){
|
||||
editor.setFontSize(parseInt($(this).val()))
|
||||
})
|
||||
|
||||
$('#Form-field-EditorSettings-word_wrap').on('change', function(){
|
||||
$('#Form-field-EditorPreferences-word_wrap').on('change', function(){
|
||||
editorEl.codeEditor('setWordWrap', $(this).val())
|
||||
})
|
||||
|
||||
$('#Form-field-EditorSettings-code_folding').on('change', function(){
|
||||
$('#Form-field-EditorPreferences-code_folding').on('change', function(){
|
||||
session.setFoldStyle($(this).val())
|
||||
})
|
||||
|
||||
$('#Form-field-EditorSettings-tab_size').on('change', function(){
|
||||
$('#Form-field-EditorPreferences-tab_size').on('change', function(){
|
||||
session.setTabSize($(this).val())
|
||||
})
|
||||
|
||||
$('#Form-field-EditorSettings-show_invisibles').on('change', function(){
|
||||
$('#Form-field-EditorPreferences-show_invisibles').on('change', function(){
|
||||
editor.setShowInvisibles($(this).is(':checked'))
|
||||
})
|
||||
|
||||
$('#Form-field-EditorSettings-highlight_active_line').on('change', function(){
|
||||
$('#Form-field-EditorPreferences-highlight_active_line').on('change', function(){
|
||||
editor.setHighlightActiveLine($(this).is(':checked'))
|
||||
})
|
||||
|
||||
$('#Form-field-EditorSettings-use_hard_tabs').on('change', function(){
|
||||
$('#Form-field-EditorPreferences-use_hard_tabs').on('change', function(){
|
||||
session.setUseSoftTabs(!$(this).is(':checked'))
|
||||
})
|
||||
|
||||
$('#Form-field-EditorSettings-show_gutter').on('change', function(){
|
||||
$('#Form-field-EditorPreferences-show_gutter').on('change', function(){
|
||||
renderer.setShowGutter($(this).is(':checked'))
|
||||
})
|
||||
|
||||
|
|
@ -29,7 +29,29 @@
|
|||
if (Modernizr.touch)
|
||||
return
|
||||
|
||||
$('select.custom-select').select2()
|
||||
var formatSelectOption = function(state) {
|
||||
if (!state.id)
|
||||
return state.text; // optgroup
|
||||
|
||||
var $option = $(state.element),
|
||||
iconClass = $option.data('icon'),
|
||||
imageSrc = $option.data('image')
|
||||
|
||||
if (iconClass)
|
||||
return '<i class="select-icon '+iconClass+'"></i> ' + state.text
|
||||
|
||||
if (imageSrc)
|
||||
return '<img class="select-image" src="'+imageSrc+'" alt="" /> ' + state.text
|
||||
|
||||
return state.text
|
||||
}
|
||||
|
||||
$('select.custom-select').select2({
|
||||
formatResult: formatSelectOption,
|
||||
formatSelection: formatSelectOption,
|
||||
escapeMarkup: function(m) { return m; }
|
||||
})
|
||||
|
||||
$(document).on('disable', 'select.custom-select', function(event, status){
|
||||
$(this).select2('enable', !status)
|
||||
})
|
||||
|
|
|
|||
|
|
@ -0,0 +1,270 @@
|
|||
|
||||
[class^="flag-"],
|
||||
[class*=" flag-"] {
|
||||
background:url(../images/flag-icons-small.png) no-repeat;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
line-height: 16px;
|
||||
vertical-align: middle;
|
||||
display: inline-block;
|
||||
margin: -1 2px 0 2px;
|
||||
}
|
||||
|
||||
.flag-AfricanUnion { background-position:0 -16px }
|
||||
.flag-ArabLeague { background-position:0 -32px }
|
||||
.flag-ASEAN { background-position:0 -48px }
|
||||
.flag-CARICOM { background-position:0 -64px }
|
||||
.flag-CIS { background-position:0 -80px }
|
||||
.flag-Commonwealth { background-position:0 -96px }
|
||||
.flag-England { background-position:0 -112px }
|
||||
.flag-European_Union { background-position:0 -128px }
|
||||
.flag-Islamic_Conference { background-position:0 -144px }
|
||||
.flag-Kosovo { background-position:0 -160px }
|
||||
.flag-NATO { background-position:0 -176px }
|
||||
.flag-NorthernCyprus { background-position:0 -192px }
|
||||
.flag-NorthernIreland { background-position:0 -208px }
|
||||
.flag-OlimpicMovement { background-position:0 -224px }
|
||||
.flag-OPEC { background-position:0 -240px }
|
||||
.flag-RedCross { background-position:0 -256px }
|
||||
.flag-Scotland { background-position:0 -272px }
|
||||
.flag-Somaliland { background-position:0 -288px }
|
||||
.flag-Tibet { background-position:0 -304px }
|
||||
.flag-United_Nations { background-position:0 -320px }
|
||||
.flag-Wales { background-position:0 -336px }
|
||||
|
||||
.flag-eu { background-position:0 -128px }
|
||||
.flag-ad { background-position:0 -352px }
|
||||
.flag-ae { background-position:0 -368px }
|
||||
.flag-af { background-position:0 -384px }
|
||||
.flag-ag { background-position:0 -400px }
|
||||
.flag-ai { background-position:0 -416px }
|
||||
.flag-al { background-position:0 -432px }
|
||||
.flag-am { background-position:0 -448px }
|
||||
.flag-ao { background-position:0 -464px }
|
||||
.flag-aq { background-position:0 -480px }
|
||||
.flag-ar { background-position:0 -496px }
|
||||
.flag-as { background-position:0 -512px }
|
||||
.flag-at { background-position:0 -528px }
|
||||
.flag-au { background-position:0 -544px }
|
||||
.flag-aw { background-position:0 -560px }
|
||||
.flag-ax { background-position:0 -576px }
|
||||
.flag-az { background-position:0 -592px }
|
||||
.flag-ba { background-position:0 -608px }
|
||||
.flag-bb { background-position:0 -624px }
|
||||
.flag-bd { background-position:0 -640px }
|
||||
.flag-be { background-position:0 -656px }
|
||||
.flag-bf { background-position:0 -672px }
|
||||
.flag-bg { background-position:0 -688px }
|
||||
.flag-bh { background-position:0 -704px }
|
||||
.flag-bi { background-position:0 -720px }
|
||||
.flag-bj { background-position:0 -736px }
|
||||
.flag-bm { background-position:0 -752px }
|
||||
.flag-bn { background-position:0 -768px }
|
||||
.flag-bo { background-position:0 -784px }
|
||||
.flag-br { background-position:0 -800px }
|
||||
.flag-bs { background-position:0 -816px }
|
||||
.flag-bt { background-position:0 -832px }
|
||||
.flag-bw { background-position:0 -848px }
|
||||
.flag-by { background-position:0 -864px }
|
||||
.flag-bz { background-position:0 -880px }
|
||||
.flag-ca { background-position:0 -896px }
|
||||
.flag-cg { background-position:0 -912px }
|
||||
.flag-cf { background-position:0 -928px }
|
||||
.flag-cd { background-position:0 -944px }
|
||||
.flag-ch { background-position:0 -960px }
|
||||
.flag-ci { background-position:0 -976px }
|
||||
.flag-ck { background-position:0 -992px }
|
||||
.flag-cl { background-position:0 -1008px }
|
||||
.flag-cm { background-position:0 -1024px }
|
||||
.flag-cn { background-position:0 -1040px }
|
||||
.flag-co { background-position:0 -1056px }
|
||||
.flag-cr { background-position:0 -1072px }
|
||||
.flag-cu { background-position:0 -1088px }
|
||||
.flag-cv { background-position:0 -1104px }
|
||||
.flag-cy { background-position:0 -1120px }
|
||||
.flag-cz { background-position:0 -1136px }
|
||||
.flag-de { background-position:0 -1152px }
|
||||
.flag-dj { background-position:0 -1168px }
|
||||
.flag-dk { background-position:0 -1184px }
|
||||
.flag-dm { background-position:0 -1200px }
|
||||
.flag-do { background-position:0 -1216px }
|
||||
.flag-dz { background-position:0 -1232px }
|
||||
.flag-ec { background-position:0 -1248px }
|
||||
.flag-ee { background-position:0 -1264px }
|
||||
.flag-eg { background-position:0 -1280px }
|
||||
.flag-eh { background-position:0 -1296px }
|
||||
.flag-er { background-position:0 -1312px }
|
||||
.flag-es { background-position:0 -1328px }
|
||||
.flag-et { background-position:0 -1344px }
|
||||
.flag-fi { background-position:0 -1360px }
|
||||
.flag-fj { background-position:0 -1376px }
|
||||
.flag-fm { background-position:0 -1392px }
|
||||
.flag-fo { background-position:0 -1408px }
|
||||
.flag-fr { background-position:0 -1424px }
|
||||
.flag-bl { background-position:0 -1424px }
|
||||
.flag-cp { background-position:0 -1424px }
|
||||
.flag-mf { background-position:0 -1424px }
|
||||
.flag-yt { background-position:0 -1424px }
|
||||
.flag-ga { background-position:0 -1440px }
|
||||
.flag-gb { background-position:0 -1456px }
|
||||
.flag-sh { background-position:0 -1456px }
|
||||
.flag-gd { background-position:0 -1472px }
|
||||
.flag-ge { background-position:0 -1488px }
|
||||
.flag-gg { background-position:0 -1504px }
|
||||
.flag-gh { background-position:0 -1520px }
|
||||
.flag-gi { background-position:0 -1536px }
|
||||
.flag-gl { background-position:0 -1552px }
|
||||
.flag-gm { background-position:0 -1568px }
|
||||
.flag-gn { background-position:0 -1584px }
|
||||
.flag-gp { background-position:0 -1600px }
|
||||
.flag-gq { background-position:0 -1616px }
|
||||
.flag-gr { background-position:0 -1632px }
|
||||
.flag-gt { background-position:0 -1648px }
|
||||
.flag-gu { background-position:0 -1664px }
|
||||
.flag-gw { background-position:0 -1680px }
|
||||
.flag-gy { background-position:0 -1696px }
|
||||
.flag-hk { background-position:0 -1712px }
|
||||
.flag-hn { background-position:0 -1728px }
|
||||
.flag-hr { background-position:0 -1744px }
|
||||
.flag-ht { background-position:0 -1760px }
|
||||
.flag-hu { background-position:0 -1776px }
|
||||
.flag-id { background-position:0 -1792px }
|
||||
.flag-mc { background-position:0 -1792px }
|
||||
.flag-ie { background-position:0 -1808px }
|
||||
.flag-il { background-position:0 -1824px }
|
||||
.flag-im { background-position:0 -1840px }
|
||||
.flag-in { background-position:0 -1856px }
|
||||
.flag-iq { background-position:0 -1872px }
|
||||
.flag-ir { background-position:0 -1888px }
|
||||
.flag-is { background-position:0 -1904px }
|
||||
.flag-it { background-position:0 -1920px }
|
||||
.flag-je { background-position:0 -1936px }
|
||||
.flag-jm { background-position:0 -1952px }
|
||||
.flag-jo { background-position:0 -1968px }
|
||||
.flag-jp { background-position:0 -1984px }
|
||||
.flag-ke { background-position:0 -2000px }
|
||||
.flag-kg { background-position:0 -2016px }
|
||||
.flag-kh { background-position:0 -2032px }
|
||||
.flag-ki { background-position:0 -2048px }
|
||||
.flag-km { background-position:0 -2064px }
|
||||
.flag-kn { background-position:0 -2080px }
|
||||
.flag-kp { background-position:0 -2096px }
|
||||
.flag-kr { background-position:0 -2112px }
|
||||
.flag-kw { background-position:0 -2128px }
|
||||
.flag-ky { background-position:0 -2144px }
|
||||
.flag-kz { background-position:0 -2160px }
|
||||
.flag-la { background-position:0 -2176px }
|
||||
.flag-lb { background-position:0 -2192px }
|
||||
.flag-lc { background-position:0 -2208px }
|
||||
.flag-li { background-position:0 -2224px }
|
||||
.flag-lk { background-position:0 -2240px }
|
||||
.flag-lr { background-position:0 -2256px }
|
||||
.flag-ls { background-position:0 -2272px }
|
||||
.flag-lt { background-position:0 -2288px }
|
||||
.flag-lu { background-position:0 -2304px }
|
||||
.flag-lv { background-position:0 -2320px }
|
||||
.flag-ly { background-position:0 -2336px }
|
||||
.flag-ma { background-position:0 -2352px }
|
||||
.flag-md { background-position:0 -2368px }
|
||||
.flag-me { background-position:0 -2384px }
|
||||
.flag-mg { background-position:0 -2400px }
|
||||
.flag-mh { background-position:0 -2416px }
|
||||
.flag-mk { background-position:0 -2432px }
|
||||
.flag-ml { background-position:0 -2448px }
|
||||
.flag-mm { background-position:0 -2464px }
|
||||
.flag-mn { background-position:0 -2480px }
|
||||
.flag-mo { background-position:0 -2496px }
|
||||
.flag-mq { background-position:0 -2512px }
|
||||
.flag-mr { background-position:0 -2528px }
|
||||
.flag-ms { background-position:0 -2544px }
|
||||
.flag-mt { background-position:0 -2560px }
|
||||
.flag-mu { background-position:0 -2576px }
|
||||
.flag-mv { background-position:0 -2592px }
|
||||
.flag-mw { background-position:0 -2608px }
|
||||
.flag-mx { background-position:0 -2624px }
|
||||
.flag-my { background-position:0 -2640px }
|
||||
.flag-mz { background-position:0 -2656px }
|
||||
.flag-na { background-position:0 -2672px }
|
||||
.flag-nc { background-position:0 -2688px }
|
||||
.flag-ne { background-position:0 -2704px }
|
||||
.flag-ng { background-position:0 -2720px }
|
||||
.flag-ni { background-position:0 -2736px }
|
||||
.flag-nl { background-position:0 -2752px }
|
||||
.flag-bq { background-position:0 -2752px }
|
||||
.flag-no { background-position:0 -2768px }
|
||||
.flag-bv { background-position:0 -2768px }
|
||||
.flag-nq { background-position:0 -2768px }
|
||||
.flag-sj { background-position:0 -2768px }
|
||||
.flag-np { background-position:0 -2784px }
|
||||
.flag-nr { background-position:0 -2800px }
|
||||
.flag-nz { background-position:0 -2816px }
|
||||
.flag-om { background-position:0 -2832px }
|
||||
.flag-pa { background-position:0 -2848px }
|
||||
.flag-pe { background-position:0 -2864px }
|
||||
.flag-pf { background-position:0 -2880px }
|
||||
.flag-pg { background-position:0 -2896px }
|
||||
.flag-ph { background-position:0 -2912px }
|
||||
.flag-pk { background-position:0 -2928px }
|
||||
.flag-pl { background-position:0 -2944px }
|
||||
.flag-pr { background-position:0 -2960px }
|
||||
.flag-ps { background-position:0 -2976px }
|
||||
.flag-pt { background-position:0 -2992px }
|
||||
.flag-pw { background-position:0 -3008px }
|
||||
.flag-py { background-position:0 -3024px }
|
||||
.flag-qa { background-position:0 -3040px }
|
||||
.flag-re { background-position:0 -3056px }
|
||||
.flag-ro { background-position:0 -3072px }
|
||||
.flag-rs { background-position:0 -3088px }
|
||||
.flag-ru { background-position:0 -3104px }
|
||||
.flag-rw { background-position:0 -3120px }
|
||||
.flag-sa { background-position:0 -3136px }
|
||||
.flag-sb { background-position:0 -3152px }
|
||||
.flag-sc { background-position:0 -3168px }
|
||||
.flag-sd { background-position:0 -3184px }
|
||||
.flag-se { background-position:0 -3200px }
|
||||
.flag-sg { background-position:0 -3216px }
|
||||
.flag-si { background-position:0 -3232px }
|
||||
.flag-sk { background-position:0 -3248px }
|
||||
.flag-sl { background-position:0 -3264px }
|
||||
.flag-sm { background-position:0 -3280px }
|
||||
.flag-sn { background-position:0 -3296px }
|
||||
.flag-so { background-position:0 -3312px }
|
||||
.flag-sr { background-position:0 -3328px }
|
||||
.flag-st { background-position:0 -3344px }
|
||||
.flag-sv { background-position:0 -3360px }
|
||||
.flag-sy { background-position:0 -3376px }
|
||||
.flag-sz { background-position:0 -3392px }
|
||||
.flag-tc { background-position:0 -3408px }
|
||||
.flag-td { background-position:0 -3424px }
|
||||
.flag-tg { background-position:0 -3440px }
|
||||
.flag-th { background-position:0 -3456px }
|
||||
.flag-tj { background-position:0 -3472px }
|
||||
.flag-tl { background-position:0 -3488px }
|
||||
.flag-tm { background-position:0 -3504px }
|
||||
.flag-tn { background-position:0 -3520px }
|
||||
.flag-to { background-position:0 -3536px }
|
||||
.flag-tr { background-position:0 -3552px }
|
||||
.flag-tt { background-position:0 -3568px }
|
||||
.flag-tv { background-position:0 -3584px }
|
||||
.flag-tw { background-position:0 -3600px }
|
||||
.flag-tz { background-position:0 -3616px }
|
||||
.flag-ua { background-position:0 -3632px }
|
||||
.flag-ug { background-position:0 -3648px }
|
||||
.flag-us { background-position:0 -3664px }
|
||||
.flag-uy { background-position:0 -3680px }
|
||||
.flag-uz { background-position:0 -3696px }
|
||||
.flag-va { background-position:0 -3712px }
|
||||
.flag-vc { background-position:0 -3728px }
|
||||
.flag-ve { background-position:0 -3744px }
|
||||
.flag-vg { background-position:0 -3760px }
|
||||
.flag-vi { background-position:0 -3776px }
|
||||
.flag-vn { background-position:0 -3792px }
|
||||
.flag-vu { background-position:0 -3808px }
|
||||
.flag-ws { background-position:0 -3824px }
|
||||
.flag-ye { background-position:0 -3840px }
|
||||
.flag-za { background-position:0 -3856px }
|
||||
.flag-zm { background-position:0 -3872px }
|
||||
.flag-zw { background-position:0 -3888px }
|
||||
.flag-sx { background-position:0 -3904px }
|
||||
.flag-cw { background-position:0 -3920px }
|
||||
.flag-ss { background-position:0 -3936px }
|
||||
|
|
@ -2,6 +2,7 @@
|
|||
@import "core/bootstrap.less";
|
||||
@import "../../../system/assets/vendor/font-autumn/less/font-autumn.less";
|
||||
@import "core/icons.less";
|
||||
@import "core/flags.less";
|
||||
@import "core/fonts.less";
|
||||
|
||||
// Boot variables and mixins
|
||||
|
|
|
|||
|
|
@ -4,19 +4,19 @@ use System\Behaviors\SettingsModel;
|
|||
use Backend\Models\UserPreferences;
|
||||
|
||||
/**
|
||||
* User Settings model extension, identical to System.Behaviors.SettingsModel
|
||||
* User Preferences model extension, identical to System.Behaviors.SettingsModel
|
||||
* except values are set against the logged in user's preferences via Backend\Models\UserPreferences.
|
||||
*
|
||||
* Usage:
|
||||
*
|
||||
* In the model class definition:
|
||||
*
|
||||
* public $implement = ['Backend.Behaviors.UserSettingsModel'];
|
||||
* public $implement = ['Backend.Behaviors.UserPreferencesModel'];
|
||||
* public $settingsCode = 'author.plugin::code';
|
||||
* public $settingsFields = 'fields.yaml';
|
||||
*
|
||||
*/
|
||||
class UserSettingsModel extends SettingsModel
|
||||
class UserPreferencesModel extends SettingsModel
|
||||
{
|
||||
private static $instances = [];
|
||||
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
<?php namespace Backend\Classes;
|
||||
|
||||
use App;
|
||||
use Str;
|
||||
use Log;
|
||||
use Lang;
|
||||
|
|
@ -7,10 +8,12 @@ use View;
|
|||
use Flash;
|
||||
use Request;
|
||||
use Backend;
|
||||
use Session;
|
||||
use Redirect;
|
||||
use Response;
|
||||
use Exception;
|
||||
use BackendAuth;
|
||||
use Backend\Models\BackendPreferences;
|
||||
use System\Classes\SystemException;
|
||||
use October\Rain\Extension\Extendable;
|
||||
use October\Rain\Support\ValidationException;
|
||||
|
|
@ -169,6 +172,17 @@ class Controller extends Extendable
|
|||
return Response::make(View::make('backend::access_denied'), 403);
|
||||
}
|
||||
|
||||
/*
|
||||
* Set the admin preference locale
|
||||
*/
|
||||
if (Session::has('locale')) {
|
||||
App::setLocale(Session::get('locale'));
|
||||
}
|
||||
elseif ($locale = BackendPreferences::get('locale')) {
|
||||
Session::put('locale', $locale);
|
||||
App::setLocale($locale);
|
||||
}
|
||||
|
||||
/*
|
||||
* Execute AJAX event
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
use Lang;
|
||||
use BackendMenu;
|
||||
use Backend\Classes\Controller;
|
||||
use Backend\Models\EditorSettings as EditorSettingsModel;
|
||||
use Backend\Models\EditorPreferences as EditorPreferencesModel;
|
||||
|
||||
/**
|
||||
* Editor Settings controller
|
||||
|
|
@ -12,7 +12,7 @@ use Backend\Models\EditorSettings as EditorSettingsModel;
|
|||
* @author Alexey Bobkov, Samuel Georges
|
||||
*
|
||||
*/
|
||||
class EditorSettings extends Controller
|
||||
class EditorPreferences extends Controller
|
||||
{
|
||||
|
||||
public $implement = [
|
||||
|
|
@ -31,15 +31,15 @@ class EditorSettings extends Controller
|
|||
$this->addCss('/modules/backend/formwidgets/codeeditor/assets/css/codeeditor.css', 'core');
|
||||
$this->addJs('/modules/backend/formwidgets/codeeditor/assets/vendor/ace/ace.js', 'core');
|
||||
$this->addJs('/modules/backend/formwidgets/codeeditor/assets/js/codeeditor.js', 'core');
|
||||
$this->addJs('/modules/backend/assets/js/editorsettings/editorsettings.js', 'core');
|
||||
$this->addJs('/modules/backend/assets/js/editorpreferences/editorpreferences.js', 'core');
|
||||
|
||||
BackendMenu::setContext('October.System', 'system', 'settings');
|
||||
BackendMenu::setContext('October.System', 'system', 'mysettings');
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
// Load the editor system settings
|
||||
$editorSettings = EditorSettingsModel::instance();
|
||||
$editorSettings = EditorPreferencesModel::instance();
|
||||
|
||||
$this->vars['fontSize'] = $editorSettings->font_size;
|
||||
$this->vars['wordWrap'] = $editorSettings->word_wrap;
|
||||
|
|
@ -64,6 +64,6 @@ class EditorSettings extends Controller
|
|||
|
||||
public function formFindModelObject()
|
||||
{
|
||||
return EditorSettingsModel::instance();
|
||||
return EditorPreferencesModel::instance();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
<?php namespace Backend\Controllers;
|
||||
|
||||
use Lang;
|
||||
use Backend;
|
||||
use Redirect;
|
||||
use BackendMenu;
|
||||
|
|
@ -31,7 +32,7 @@ class Users extends Controller
|
|||
{
|
||||
parent::__construct();
|
||||
|
||||
if ($this->action == 'mysettings')
|
||||
if ($this->action == 'myaccount')
|
||||
$this->requiredPermissions = null;
|
||||
|
||||
BackendMenu::setContext('October.System', 'system', 'users');
|
||||
|
|
@ -43,8 +44,8 @@ class Users extends Controller
|
|||
public function update($recordId, $context = null)
|
||||
{
|
||||
// Users cannot edit themselves, only use My Settings
|
||||
if ($context != 'mysettings' && $recordId == $this->user->id)
|
||||
return Redirect::to(Backend::url('backend/users/mysettings'));
|
||||
if ($context != 'myaccount' && $recordId == $this->user->id)
|
||||
return Redirect::to(Backend::url('backend/users/myaccount'));
|
||||
|
||||
return $this->getClassExtension('Backend.Behaviors.FormController')->update($recordId, $context);
|
||||
}
|
||||
|
|
@ -52,16 +53,17 @@ class Users extends Controller
|
|||
/**
|
||||
* My Settings controller
|
||||
*/
|
||||
public function mysettings()
|
||||
public function myaccount()
|
||||
{
|
||||
$this->pageTitle = 'My Settings';
|
||||
return $this->update($this->user->id, 'mysettings');
|
||||
BackendMenu::setContextSideMenu('mysettings');
|
||||
$this->pageTitle = Lang::get('backend::lang.myaccount.menu_label');
|
||||
return $this->update($this->user->id, 'myaccount');
|
||||
}
|
||||
|
||||
/**
|
||||
* Proxy update onSave event
|
||||
*/
|
||||
public function mysettings_onSave()
|
||||
public function myaccount_onSave()
|
||||
{
|
||||
$result = $this->getClassExtension('Backend.Behaviors.FormController')->update_onSave($this->user->id);
|
||||
|
||||
|
|
@ -81,7 +83,7 @@ class Users extends Controller
|
|||
*/
|
||||
protected function formExtendFields($host)
|
||||
{
|
||||
if ($host->getContext() == 'mysettings')
|
||||
if ($host->getContext() == 'myaccount')
|
||||
return;
|
||||
|
||||
$permissionFields = [];
|
||||
|
|
|
|||
|
|
@ -2,6 +2,6 @@
|
|||
# Form Behavior Config
|
||||
# ===================================
|
||||
|
||||
form: @/modules/backend/models/editorsettings/fields.yaml
|
||||
modelClass: Backend\Models\EditorSettings
|
||||
form: @/modules/backend/models/editorpreferences/fields.yaml
|
||||
modelClass: Backend\Models\EditorPreferences
|
||||
defaultRedirect: system/emailtemplates
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
<?php Block::put('breadcrumb') ?>
|
||||
<ul>
|
||||
<li><a href="<?= Backend::url('system/settings') ?>"><?= e(trans('system::lang.settings.menu_label')) ?></a></li>
|
||||
<li><a href="<?= Backend::url('system/settings/mysettings') ?>"><?= e(trans('backend::lang.mysettings.menu_label')) ?></a></li>
|
||||
<li><?= e($this->pageTitle) ?></li>
|
||||
</ul>
|
||||
<?php Block::endPut() ?>
|
||||
|
|
@ -18,7 +18,7 @@
|
|||
<div class="col-md-7">
|
||||
|
||||
<div
|
||||
id="editorsettingsCodeeditor"
|
||||
id="editorpreferencesCodeeditor"
|
||||
class="field-codeeditor size-large layout-relative"
|
||||
data-control="codeeditor"
|
||||
data-font-size="<?= $fontSize ?>"
|
||||
|
|
@ -33,7 +33,7 @@
|
|||
data-language="<?= $language ?>"
|
||||
data-margin="<?= $margin ?>"
|
||||
data-vendor-path="<?= URL::to('/modules/backend/formwidgets/codeeditor/assets/vendor/ace') ?>/">
|
||||
<textarea name="editorsettings_codeeditor"><?= e($this->makePartial('example_code')) ?></textarea>
|
||||
<textarea name="editorpreferences_codeeditor"><?= e($this->makePartial('example_code')) ?></textarea>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
<?php Block::put('breadcrumb') ?>
|
||||
<ul>
|
||||
<li><a href="<?= Backend::url('backend/users') ?>"><?= e(trans('backend::lang.user.menu_label')) ?></a></li>
|
||||
<li><a href="<?= Backend::url('system/settings/mysettings') ?>"><?= e(trans('backend::lang.mysettings.menu_label')) ?></a></li>
|
||||
<li><?= e($this->pageTitle) ?></li>
|
||||
</ul>
|
||||
<?php Block::endPut() ?>
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
<?php namespace Backend\FormWidgets;
|
||||
|
||||
use Backend\Models\EditorSettings;
|
||||
use Backend\Models\EditorPreferences;
|
||||
use Backend\Classes\FormWidgetBase;
|
||||
|
||||
/**
|
||||
|
|
@ -63,7 +63,7 @@ class CodeEditor extends FormWidgetBase
|
|||
public function init()
|
||||
{
|
||||
// Load the editor system settings
|
||||
$editorSettings = EditorSettings::instance();
|
||||
$editorSettings = EditorPreferences::instance();
|
||||
|
||||
$this->fontSize = $this->getConfig('fontSize', $editorSettings->font_size);
|
||||
$this->wordWrap = $this->getConfig('wordWrap', $editorSettings->word_wrap);
|
||||
|
|
|
|||
|
|
@ -156,8 +156,8 @@ return [
|
|||
'extension' => 'The PHP extension :name is not installed. Please install this library and activate the extension.'
|
||||
],
|
||||
'editor' => [
|
||||
'menu_label' => 'Editor Preferences',
|
||||
'menu_description' => 'Manage code editor preferences.',
|
||||
'menu_label' => 'Code Editor Preferences',
|
||||
'menu_description' => 'Customize the code editor preferences, such as font size and color scheme.',
|
||||
'font_size' => 'Font size',
|
||||
'tab_size' => 'Tab size',
|
||||
'use_hard_tabs' => 'Indent using tabs',
|
||||
|
|
@ -170,5 +170,22 @@ return [
|
|||
],
|
||||
'tooltips' => [
|
||||
'preview_website' => 'Preview the website'
|
||||
]
|
||||
],
|
||||
'settings' => [
|
||||
'menu_label' => 'Settings',
|
||||
],
|
||||
'mysettings' => [
|
||||
'menu_label' => 'My Settings',
|
||||
'menu_description' => 'Settings relate to your administration account',
|
||||
],
|
||||
'myaccount' => [
|
||||
'menu_label' => 'My Account',
|
||||
'menu_description' => 'Update your account details such as name, email address and password.',
|
||||
],
|
||||
'backend_preferences' => [
|
||||
'menu_label' => 'Backend Preferences',
|
||||
'menu_description' => 'Manage language preference and the appearance of the backend.',
|
||||
'locale' => 'Language',
|
||||
'locale_comment' => 'Select your desired locale for language use.',
|
||||
],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
</a>
|
||||
</li>
|
||||
<li class="highlight account">
|
||||
<a href="<?= Backend::url('backend/users/mysettings') ?>">
|
||||
<a href="<?= Backend::url('system/settings/mysettings') ?>">
|
||||
<img src="<?= $this->user->getAvatarThumb() ?>">
|
||||
<?= e($this->user->first_name.' '.$this->user->last_name) ?>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,46 @@
|
|||
<?php namespace Backend\Models;
|
||||
|
||||
use App;
|
||||
use Lang;
|
||||
use Model;
|
||||
use Session;
|
||||
use DirectoryIterator;
|
||||
|
||||
class BackendPreferences extends Model
|
||||
{
|
||||
public $implement = ['Backend.Behaviors.UserPreferencesModel'];
|
||||
public $settingsCode = 'backend::backend.preferences';
|
||||
public $settingsFields = 'fields.yaml';
|
||||
|
||||
public function initSettingsData()
|
||||
{
|
||||
$config = App::make('config');
|
||||
$this->locale = $config->get('app.locale', 'en');
|
||||
}
|
||||
|
||||
public static function applyConfigValues()
|
||||
{
|
||||
$config = App::make('config');
|
||||
$settings = self::instance();
|
||||
$config->set('app.locale', $settings->locale);
|
||||
}
|
||||
|
||||
public function getLocaleOptions()
|
||||
{
|
||||
return [
|
||||
'en' => [Lang::get('system::lang.locale.en'), 'flag-gb'],
|
||||
'ru' => [Lang::get('system::lang.locale.ru'), 'flag-ru'],
|
||||
'nl' => [Lang::get('system::lang.locale.nl'), 'flag-nl'],
|
||||
'ja' => [Lang::get('system::lang.locale.ja'), 'flag-jp'],
|
||||
'sv' => [Lang::get('system::lang.locale.sv'), 'flag-sv'],
|
||||
'tr' => [Lang::get('system::lang.locale.tr'), 'flag-tr'],
|
||||
'br' => [Lang::get('system::lang.locale.br'), 'flag-br'],
|
||||
'de' => [Lang::get('system::lang.locale.de'), 'flag-de'],
|
||||
];
|
||||
}
|
||||
|
||||
public function afterSave()
|
||||
{
|
||||
Session::put('locale', $this->locale);
|
||||
}
|
||||
}
|
||||
|
|
@ -4,10 +4,10 @@ use App;
|
|||
use Model;
|
||||
use DirectoryIterator;
|
||||
|
||||
class EditorSettings extends Model
|
||||
class EditorPreferences extends Model
|
||||
{
|
||||
public $implement = ['Backend.Behaviors.UserSettingsModel'];
|
||||
public $settingsCode = 'system::editor.settings';
|
||||
public $implement = ['Backend.Behaviors.UserPreferencesModel'];
|
||||
public $settingsCode = 'backend::editor.preferences';
|
||||
public $settingsFields = 'fields.yaml';
|
||||
|
||||
const DEFAULT_THEME = 'twilight';
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
# ===================================
|
||||
# Field Definitions
|
||||
# ===================================
|
||||
|
||||
fields:
|
||||
locale:
|
||||
label: backend::lang.backend_preferences.locale
|
||||
comment: backend::lang.backend_preferences.locale_comment
|
||||
type: dropdown
|
||||
span: left
|
||||
|
|
@ -61,17 +61,6 @@
|
|||
})
|
||||
})
|
||||
|
||||
|
||||
// dependants.on('change', 'select, input', function(){
|
||||
// var depends = $(this).closest('[data-field-depends]').data('field-depends'),
|
||||
// form = $(this).closest('form')
|
||||
|
||||
// if (!form.length || !self.options.refreshHandler)
|
||||
// return
|
||||
|
||||
// form.request(self.options.refreshHandler)
|
||||
// })
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -22,8 +22,7 @@
|
|||
<?php
|
||||
$index++;
|
||||
$checkboxId = 'checkbox_'.$field->columnName.'_'.$index;
|
||||
if (is_string($option))
|
||||
$option = array($option);
|
||||
if (is_string($option)) $option = [$option];
|
||||
?>
|
||||
<div class="checkbox custom-checkbox">
|
||||
<input
|
||||
|
|
|
|||
|
|
@ -13,11 +13,15 @@
|
|||
<?php if ($field->placeholder): ?>
|
||||
<option value=""><?= e(trans($field->placeholder)) ?></option>
|
||||
<?php endif ?>
|
||||
<?php foreach ($fieldOptions as $value => $text): ?>
|
||||
<?php foreach ($fieldOptions as $value => $option): ?>
|
||||
<?php
|
||||
if (is_string($option)) $option = [$option];
|
||||
?>
|
||||
<option
|
||||
<?= $value == $field->value ? 'selected="selected"' : '' ?>
|
||||
<?php if (isset($option[1])): ?>data-<?=strpos($option[1],'.')?'image':'icon'?>="<?= $option[1] ?>"<?php endif ?>
|
||||
value="<?= $value ?>">
|
||||
<?= e($text) ?>
|
||||
<?= e($option[0]) ?>
|
||||
</option>
|
||||
<?php endforeach ?>
|
||||
</select>
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@ class ServiceProvider extends ModuleServiceProvider
|
|||
],
|
||||
'users' => [
|
||||
'label' => 'backend::lang.user.menu_label',
|
||||
'icon' => 'icon-user',
|
||||
'icon' => 'icon-users',
|
||||
'url' => Backend::url('backend/users'),
|
||||
'permissions' => ['backend.manage_users']
|
||||
],
|
||||
|
|
|
|||
|
|
@ -36,7 +36,8 @@ class SettingsManager
|
|||
'icon' => null,
|
||||
'url' => null,
|
||||
'permissions' => [],
|
||||
'order' => 100
|
||||
'order' => 100,
|
||||
'context' => 'system',
|
||||
];
|
||||
|
||||
/**
|
||||
|
|
@ -107,14 +108,42 @@ class SettingsManager
|
|||
/**
|
||||
* Returns a collection of all settings
|
||||
*/
|
||||
public function listItems()
|
||||
public function listItems($context = null)
|
||||
{
|
||||
if ($this->items === null)
|
||||
$this->loadItems();
|
||||
|
||||
if ($context !== null)
|
||||
return $this->filterByContext($this->items, $context);
|
||||
|
||||
return $this->items;
|
||||
}
|
||||
|
||||
/**
|
||||
* Filters a set of items by a given context.
|
||||
* @param array $items
|
||||
* @param string $context
|
||||
* @return array
|
||||
*/
|
||||
protected function filterByContext($items, $context)
|
||||
{
|
||||
$filteredItems = [];
|
||||
foreach ($items as $categoryName => $category) {
|
||||
|
||||
$filteredCategory = [];
|
||||
foreach ($category as $item) {
|
||||
$itemContext = is_array($item->context) ? $item->context : [$item->context];
|
||||
if (in_array($context, $itemContext))
|
||||
$filteredCategory[] = $item;
|
||||
}
|
||||
|
||||
if (count($filteredCategory))
|
||||
$filteredItems[$categoryName] = $filteredCategory;
|
||||
}
|
||||
|
||||
return $filteredItems;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a callback function that defines setting items.
|
||||
* The callback function should register setting items by calling the manager's
|
||||
|
|
|
|||
|
|
@ -38,8 +38,16 @@ class Settings extends Controller
|
|||
|
||||
public function index()
|
||||
{
|
||||
$this->pageTitle = 'Settings';
|
||||
$this->vars['items'] = SettingsManager::instance()->listItems();
|
||||
$this->pageTitle = Lang::get('backend::lang.settings.menu_label');
|
||||
$this->vars['items'] = SettingsManager::instance()->listItems('system');
|
||||
$this->bodyClass = 'compact-container';
|
||||
}
|
||||
|
||||
public function mysettings()
|
||||
{
|
||||
BackendMenu::setContextSideMenu('mysettings');
|
||||
$this->pageTitle = Lang::get('backend::lang.mysettings.menu_label');
|
||||
$this->vars['items'] = SettingsManager::instance()->listItems('mysettings');
|
||||
$this->bodyClass = 'compact-container';
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,24 @@
|
|||
<div class="control-settings">
|
||||
|
||||
<?php foreach ($items as $category => $items): ?>
|
||||
|
||||
<div class="settings-category">
|
||||
<h3><?= $category ?></h3>
|
||||
</div>
|
||||
|
||||
<div class="settings-items row">
|
||||
|
||||
<?php foreach ($items as $item): ?>
|
||||
<div class="settings-item col-xs-12 col-sm-6 col-md-4">
|
||||
<a href="<?= $item->url ?>">
|
||||
<div class="item-icon"><i class="<?= $item->icon ?>"></i></div>
|
||||
<h5><?= e(trans($item->label)) ?></h5>
|
||||
<p><?= e(trans($item->description)) ?></p>
|
||||
</a>
|
||||
</div>
|
||||
<?php endforeach ?>
|
||||
|
||||
</div>
|
||||
|
||||
<?php endforeach ?>
|
||||
</div>
|
||||
|
|
@ -5,6 +5,16 @@ return [
|
|||
'name' => 'October CMS',
|
||||
'motto' => 'Getting back to basics',
|
||||
],
|
||||
'locale' => [
|
||||
'en' => 'English',
|
||||
'nl' => 'Dutch',
|
||||
'ja' => 'Japanese',
|
||||
'sv' => 'Swedish',
|
||||
'tr' => 'Turkish',
|
||||
'br' => 'Brazilian Portuguese',
|
||||
'de' => 'Germen',
|
||||
'ru' => 'Russian',
|
||||
],
|
||||
'directory' => [
|
||||
'create_fail' => "Cannot create directory: :name",
|
||||
],
|
||||
|
|
|
|||
Loading…
Reference in New Issue