mirror of
https://github.com/icecoder/ICEcoder.git
synced 2026-03-18 06:17:06 +01:00
Compare commits
319 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
15b49865d2 | ||
|
|
17e209fef5 | ||
|
|
4b53196c2c | ||
|
|
38b4ab79c0 | ||
|
|
95b7d0decf | ||
|
|
abcedf9dc5 | ||
|
|
32841341cd | ||
|
|
3e31879ec3 | ||
|
|
15428a2ba8 | ||
|
|
9f1d8e7cd4 | ||
|
|
47ca5193b3 | ||
|
|
5dfca2e9ff | ||
|
|
7a87b5ed16 | ||
|
|
2349fdffb9 | ||
|
|
766adfab65 | ||
|
|
e4724e8f1e | ||
|
|
f2b0227692 | ||
|
|
e228d2a59d | ||
|
|
ce1919ba64 | ||
|
|
418d9f2384 | ||
|
|
caf80ea971 | ||
|
|
132d78b128 | ||
|
|
24ebeea3a8 | ||
|
|
db617e8569 | ||
|
|
a03c25b276 | ||
|
|
750bd37987 | ||
|
|
7fa26924e4 | ||
|
|
3a10a84c48 | ||
|
|
cd74e280c5 | ||
|
|
54f293a823 | ||
|
|
cd3f0a9068 | ||
|
|
c35d47be65 | ||
|
|
04b1bd4150 | ||
|
|
8c59d5d617 | ||
|
|
aa06486b2c | ||
|
|
8288bd19b4 | ||
|
|
5f88464804 | ||
|
|
069282ac0d | ||
|
|
74f048e812 | ||
|
|
2799d57dcc | ||
|
|
4457cec405 | ||
|
|
b16e8dd03d | ||
|
|
b6faf3b412 | ||
|
|
752c1a72ae | ||
|
|
a119e42b86 | ||
|
|
907f4ad587 | ||
|
|
fde97e3b76 | ||
|
|
eae8fde591 | ||
|
|
b50ac52aea | ||
|
|
9f69ae1ef5 | ||
|
|
71bc1994f9 | ||
|
|
792125529d | ||
|
|
707d3a9b03 | ||
|
|
e9d7c7817f | ||
|
|
94ca7bbe32 | ||
|
|
b351b86414 | ||
|
|
f6769b5933 | ||
|
|
d9e5737dc4 | ||
|
|
0027259e67 | ||
|
|
5337ff5fe9 | ||
|
|
749dc212d9 | ||
|
|
9d7565c317 | ||
|
|
9efbe9a9bf | ||
|
|
67e929dc75 | ||
|
|
a0e48b5088 | ||
|
|
667417262c | ||
|
|
83e7c62b9b | ||
|
|
8797e8f5e0 | ||
|
|
ee90c48a1c | ||
|
|
93c33162a1 | ||
|
|
068ec67c9d | ||
|
|
761f39407a | ||
|
|
227eefa332 | ||
|
|
1d6c60c19a | ||
|
|
a9402eb4ae | ||
|
|
d449623153 | ||
|
|
31d96eca3b | ||
|
|
3d8644ae4c | ||
|
|
893894f97b | ||
|
|
d992173967 | ||
|
|
483ac6cd6c | ||
|
|
e3868fb285 | ||
|
|
410ef385d5 | ||
|
|
d5c019d05a | ||
|
|
76b782535c | ||
|
|
2a998016eb | ||
|
|
f1a4710aea | ||
|
|
f8bbe45de7 | ||
|
|
f5d8384469 | ||
|
|
1266f73f64 | ||
|
|
cfee2c0182 | ||
|
|
afe4222eb6 | ||
|
|
f2017c17b3 | ||
|
|
f15a1b1d8e | ||
|
|
41f52cc3be | ||
|
|
3bfbc918f0 | ||
|
|
2c7a338dfb | ||
|
|
db518cf2c6 | ||
|
|
8e790bec60 | ||
|
|
f3edf9e2ae | ||
|
|
95a3d09672 | ||
|
|
1a654ec172 | ||
|
|
78117d52d0 | ||
|
|
157d9a40fa | ||
|
|
b5e78fb04c | ||
|
|
a2dea59b24 | ||
|
|
cc300f7edd | ||
|
|
1f0acdfe5f | ||
|
|
76c03cffff | ||
|
|
ae1188f81d | ||
|
|
313002e4a0 | ||
|
|
63364001ea | ||
|
|
1af9d60dd3 | ||
|
|
76fce1c2b8 | ||
|
|
67e28106f9 | ||
|
|
191990ffdb | ||
|
|
af318dd703 | ||
|
|
f83929584f | ||
|
|
c967325b7d | ||
|
|
11fe0ad17a | ||
|
|
8da4352ee4 | ||
|
|
8a1fec4e18 | ||
|
|
d686faf8a7 | ||
|
|
e8ef9e5195 | ||
|
|
6735caae36 | ||
|
|
eabae9bed4 | ||
|
|
5d23115c95 | ||
|
|
55692d3c49 | ||
|
|
3391b60836 | ||
|
|
2727bcb3e8 | ||
|
|
f6d19d2650 | ||
|
|
22bca280f5 | ||
|
|
20614885de | ||
|
|
6831cea155 | ||
|
|
9a4e93fc43 | ||
|
|
d44bc40c85 | ||
|
|
f8c1fbfbec | ||
|
|
94fe55cc14 | ||
|
|
e2f63a1d3b | ||
|
|
f8565d87b7 | ||
|
|
5a9cd5e85c | ||
|
|
09d34da6c3 | ||
|
|
d31db1de4e | ||
|
|
f388545412 | ||
|
|
f5705393ee | ||
|
|
1e7b735b7f | ||
|
|
6c12f36805 | ||
|
|
838612932c | ||
|
|
b9f08b160b | ||
|
|
fcf72f0d12 | ||
|
|
d1a2f6ab8f | ||
|
|
38693781a0 | ||
|
|
1fdb6c0086 | ||
|
|
1fce9834db | ||
|
|
095d626883 | ||
|
|
4b12f4f365 | ||
|
|
5d3ffae30c | ||
|
|
9b6a701ffc | ||
|
|
d909d5ce1c | ||
|
|
3d866fa2f2 | ||
|
|
6ed0861f5b | ||
|
|
4154b2bf3b | ||
|
|
59a18645c6 | ||
|
|
aa92f86aa9 | ||
|
|
444e7ef6b4 | ||
|
|
d9393bf059 | ||
|
|
904dee8f80 | ||
|
|
cca5836698 | ||
|
|
a406abd610 | ||
|
|
5cde633847 | ||
|
|
de5460b43f | ||
|
|
a66661b194 | ||
|
|
587132d81b | ||
|
|
3c6b6ff81d | ||
|
|
c811b8585a | ||
|
|
344bd2dd50 | ||
|
|
875d8a75ca | ||
|
|
077163650b | ||
|
|
ed7bde9d14 | ||
|
|
891a4c2b8c | ||
|
|
2bbc2f5628 | ||
|
|
2cd2aaa916 | ||
|
|
fd73e42df3 | ||
|
|
e127a9eee1 | ||
|
|
0617f294cd | ||
|
|
31428cdaf0 | ||
|
|
ff9db44537 | ||
|
|
4307dc1ae6 | ||
|
|
76010bb5cf | ||
|
|
6a432f2f5c | ||
|
|
9dc9246c84 | ||
|
|
0e9e66fee7 | ||
|
|
2f0bdefdeb | ||
|
|
5ff340ccc4 | ||
|
|
9a516ecd27 | ||
|
|
7017ab1c33 | ||
|
|
5d6299e3c8 | ||
|
|
be842742de | ||
|
|
cba7f06b4e | ||
|
|
d8eb2b72db | ||
|
|
8d082120f6 | ||
|
|
4581d32551 | ||
|
|
c6e72fd894 | ||
|
|
9bac1d7fcc | ||
|
|
7d8b229153 | ||
|
|
09fde0c3e5 | ||
|
|
a10eb21d70 | ||
|
|
f5dc08e9b7 | ||
|
|
3296434473 | ||
|
|
e82d93108d | ||
|
|
c72fd7f49a | ||
|
|
65b36d9e23 | ||
|
|
f432b7dc32 | ||
|
|
5e04e79354 | ||
|
|
c896ebb087 | ||
|
|
55ab3d63dd | ||
|
|
c93c3b3785 | ||
|
|
e5dcd02b62 | ||
|
|
df78d5bb61 | ||
|
|
0bcf7a1d72 | ||
|
|
ae5f96caad | ||
|
|
94c6d5899a | ||
|
|
afb3f99681 | ||
|
|
a45e7c604d | ||
|
|
9e49b9558c | ||
|
|
811c12d4ec | ||
|
|
131392d5fd | ||
|
|
1a54bc6664 | ||
|
|
d98c24cc04 | ||
|
|
68eb4a0393 | ||
|
|
5fc4ae596a | ||
|
|
e31f435640 | ||
|
|
80acab0bf0 | ||
|
|
a95484d044 | ||
|
|
d979d76866 | ||
|
|
5f6c6838a0 | ||
|
|
cb6d339183 | ||
|
|
815578eb34 | ||
|
|
c5996f7b23 | ||
|
|
e89d449805 | ||
|
|
5b549c5102 | ||
|
|
fa793564d9 | ||
|
|
395fdf0727 | ||
|
|
7f8e052a26 | ||
|
|
b349891321 | ||
|
|
592c8ccda4 | ||
|
|
a366a84d00 | ||
|
|
f4762fbaf3 | ||
|
|
b00ce2f7c9 | ||
|
|
6ccf0fb135 | ||
|
|
3c6a60f96d | ||
|
|
84fefcbad0 | ||
|
|
139ca019bb | ||
|
|
0245ae418a | ||
|
|
a78d847f4e | ||
|
|
0592459666 | ||
|
|
6492068717 | ||
|
|
36ea3eabc4 | ||
|
|
5c19367b87 | ||
|
|
3a08ccf350 | ||
|
|
f5897cd036 | ||
|
|
4f7ea84754 | ||
|
|
b46e2f324a | ||
|
|
0c3390929b | ||
|
|
857fa2580c | ||
|
|
40e699828b | ||
|
|
60b527d5a4 | ||
|
|
1c99f127be | ||
|
|
3221bea7a7 | ||
|
|
96bba6972a | ||
|
|
b9546dfaa4 | ||
|
|
340e3b3d4d | ||
|
|
e1a2a8da71 | ||
|
|
38a5bea898 | ||
|
|
fa5b549081 | ||
|
|
379f6ac1c3 | ||
|
|
87be112d9f | ||
|
|
491edf256e | ||
|
|
f38e984b31 | ||
|
|
b1df1e8403 | ||
|
|
41592007b9 | ||
|
|
78ddfe61ba | ||
|
|
2bfef30c03 | ||
|
|
ac65cd89c1 | ||
|
|
7540ef846f | ||
|
|
57bf19d69c | ||
|
|
e330a57da8 | ||
|
|
2ef1637d0b | ||
|
|
01dc2f7943 | ||
|
|
0606025a46 | ||
|
|
aefee93cf6 | ||
|
|
3222a3202c | ||
|
|
4d1b4e2237 | ||
|
|
8afacd3ef8 | ||
|
|
b07cdd6fc7 | ||
|
|
1237d5868a | ||
|
|
f9418db57f | ||
|
|
e741d6c207 | ||
|
|
66ec7c34c6 | ||
|
|
15ff1534c3 | ||
|
|
fca567d53c | ||
|
|
2db6c44dbc | ||
|
|
45e18a5daf | ||
|
|
2802e20401 | ||
|
|
a2bdab0bcf | ||
|
|
4ea49c197b | ||
|
|
fae387002c | ||
|
|
9a2fa27010 | ||
|
|
0e82fb8c97 | ||
|
|
9cc53f474e | ||
|
|
9d661e454e | ||
|
|
e52b7c673f | ||
|
|
d676c11473 | ||
|
|
b87f5ba969 | ||
|
|
0f29baf504 | ||
|
|
166d27ca4c | ||
|
|
f39093c78f | ||
|
|
f7d9b050b3 | ||
|
|
ab0cef93b7 |
@@ -1,4 +1,4 @@
|
||||
Copyright (C) 2014 by Marijn Haverbeke <marijnh@gmail.com> and others
|
||||
Copyright (C) 2016 by Marijn Haverbeke <marijnh@gmail.com> and others
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
20
CodeMirror/addon/fold/foldgutter.css
vendored
Normal file
20
CodeMirror/addon/fold/foldgutter.css
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
.CodeMirror-foldmarker {
|
||||
color: blue;
|
||||
text-shadow: #b9f 1px 1px 2px, #b9f -1px -1px 2px, #b9f 1px -1px 2px, #b9f -1px 1px 2px;
|
||||
font-family: arial;
|
||||
line-height: .3;
|
||||
cursor: pointer;
|
||||
}
|
||||
.CodeMirror-foldgutter {
|
||||
width: .7em;
|
||||
}
|
||||
.CodeMirror-foldgutter-open,
|
||||
.CodeMirror-foldgutter-folded {
|
||||
cursor: pointer;
|
||||
}
|
||||
.CodeMirror-foldgutter-open:after {
|
||||
content: "\25BE";
|
||||
}
|
||||
.CodeMirror-foldgutter-folded:after {
|
||||
content: "\25B8";
|
||||
}
|
||||
4
CodeMirror/addon/lint/lint.css
vendored
4
CodeMirror/addon/lint/lint.css
vendored
@@ -1,6 +1,6 @@
|
||||
/* The lint marker gutter */
|
||||
.CodeMirror-lint-markers {
|
||||
width: 16px;
|
||||
width: 12px; margin-left: 2px;
|
||||
}
|
||||
|
||||
.CodeMirror-lint-tooltip {
|
||||
@@ -43,7 +43,7 @@
|
||||
.CodeMirror-lint-marker-error, .CodeMirror-lint-marker-warning {
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
cursor: pointer;
|
||||
cursor: help;
|
||||
display: inline-block;
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
|
||||
68
CodeMirror/addon/scroll/simplescrollbars.css
vendored
Normal file
68
CodeMirror/addon/scroll/simplescrollbars.css
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
.CodeMirror-simplescroll-horizontal div, .CodeMirror-simplescroll-vertical div {
|
||||
position: absolute;
|
||||
background: #ccc;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
border: 1px solid #bbb;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.CodeMirror-simplescroll-horizontal, .CodeMirror-simplescroll-vertical {
|
||||
position: absolute;
|
||||
z-index: 6;
|
||||
background: #eee;
|
||||
}
|
||||
|
||||
.CodeMirror-simplescroll-horizontal {
|
||||
bottom: 0; left: 0;
|
||||
height: 8px;
|
||||
}
|
||||
.CodeMirror-simplescroll-horizontal div {
|
||||
bottom: 0;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.CodeMirror-simplescroll-vertical {
|
||||
right: 0; top: 0;
|
||||
width: 8px;
|
||||
}
|
||||
.CodeMirror-simplescroll-vertical div {
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
.CodeMirror-overlayscroll .CodeMirror-scrollbar-filler, .CodeMirror-overlayscroll .CodeMirror-gutter-filler {
|
||||
display: none;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.CodeMirror-overlayscroll-horizontal div, .CodeMirror-overlayscroll-vertical div {
|
||||
position: absolute;
|
||||
background: rgba(0,198,255,0.1);
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.CodeMirror-overlayscroll-horizontal, .CodeMirror-overlayscroll-vertical {
|
||||
position: absolute;
|
||||
z-index: 6;
|
||||
}
|
||||
|
||||
.CodeMirror-overlayscroll-horizontal {
|
||||
bottom: 0; left: 0;
|
||||
height: 12px;
|
||||
}
|
||||
.CodeMirror-overlayscroll-horizontal div {
|
||||
bottom: 0;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.CodeMirror-overlayscroll-vertical {
|
||||
right: 0; top: 0;
|
||||
width: 6px;
|
||||
}
|
||||
.CodeMirror-overlayscroll-vertical div {
|
||||
display: none;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
67
CodeMirror/lib/codemirror-compressed.js
vendored
67
CodeMirror/lib/codemirror-compressed.js
vendored
File diff suppressed because one or more lines are too long
74
CodeMirror/lib/codemirror.css
vendored
74
CodeMirror/lib/codemirror.css
vendored
@@ -41,19 +41,21 @@
|
||||
|
||||
/* CURSOR */
|
||||
|
||||
.CodeMirror div.CodeMirror-cursor {
|
||||
.CodeMirror-cursor {
|
||||
border-left: 1px solid black;
|
||||
border-right: none;
|
||||
width: 0;
|
||||
}
|
||||
/* Shown when moving in bi-directional text */
|
||||
.CodeMirror div.CodeMirror-secondarycursor {
|
||||
border-left: 1px solid silver;
|
||||
}
|
||||
.CodeMirror.cm-fat-cursor div.CodeMirror-cursor {
|
||||
.cm-fat-cursor .CodeMirror-cursor {
|
||||
width: auto;
|
||||
border: 0;
|
||||
background: #7e7;
|
||||
}
|
||||
.CodeMirror.cm-fat-cursor div.CodeMirror-cursors {
|
||||
.cm-fat-cursor div.CodeMirror-cursors {
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
@@ -63,25 +65,26 @@
|
||||
-webkit-animation: blink 1.06s steps(1) infinite;
|
||||
-moz-animation: blink 1.06s steps(1) infinite;
|
||||
animation: blink 1.06s steps(1) infinite;
|
||||
background-color: #7e7;
|
||||
}
|
||||
@-moz-keyframes blink {
|
||||
0% { background: #7e7; }
|
||||
50% { background: none; }
|
||||
100% { background: #7e7; }
|
||||
0% {}
|
||||
50% { background-color: transparent; }
|
||||
100% {}
|
||||
}
|
||||
@-webkit-keyframes blink {
|
||||
0% { background: #7e7; }
|
||||
50% { background: none; }
|
||||
100% { background: #7e7; }
|
||||
0% {}
|
||||
50% { background-color: transparent; }
|
||||
100% {}
|
||||
}
|
||||
@keyframes blink {
|
||||
0% { background: #7e7; }
|
||||
50% { background: none; }
|
||||
100% { background: #7e7; }
|
||||
0% {}
|
||||
50% { background-color: transparent; }
|
||||
100% {}
|
||||
}
|
||||
|
||||
/* Can style cursor different in overwrite (non-insert) mode */
|
||||
div.CodeMirror-overwrite div.CodeMirror-cursor {}
|
||||
.CodeMirror-overwrite .CodeMirror-cursor {}
|
||||
|
||||
.cm-tab { display: inline-block; text-decoration: inherit; }
|
||||
|
||||
@@ -92,6 +95,15 @@ div.CodeMirror-overwrite div.CodeMirror-cursor {}
|
||||
|
||||
/* DEFAULT THEME */
|
||||
|
||||
.cm-s-default .cm-header {color: blue;}
|
||||
.cm-s-default .cm-quote {color: #090;}
|
||||
.cm-negative {color: #d44;}
|
||||
.cm-positive {color: #292;}
|
||||
.cm-header, .cm-strong {font-weight: bold;}
|
||||
.cm-em {font-style: italic;}
|
||||
.cm-link {text-decoration: underline;}
|
||||
.cm-strikethrough {text-decoration: line-through;}
|
||||
|
||||
.cm-s-default .cm-keyword {color: #708;}
|
||||
.cm-s-default .cm-atom {color: #219;}
|
||||
.cm-s-default .cm-number {color: #164;}
|
||||
@@ -111,18 +123,9 @@ div.CodeMirror-overwrite div.CodeMirror-cursor {}
|
||||
.cm-s-default .cm-bracket {color: #997;}
|
||||
.cm-s-default .cm-tag {color: #170;}
|
||||
.cm-s-default .cm-attribute {color: #00c;}
|
||||
.cm-s-default .cm-header {color: blue;}
|
||||
.cm-s-default .cm-quote {color: #090;}
|
||||
.cm-s-default .cm-hr {color: #999;}
|
||||
.cm-s-default .cm-link {color: #00c;}
|
||||
|
||||
.cm-negative {color: #d44;}
|
||||
.cm-positive {color: #292;}
|
||||
.cm-header, .cm-strong {font-weight: bold;}
|
||||
.cm-em {font-style: italic;}
|
||||
.cm-link {text-decoration: underline;}
|
||||
.cm-strikethrough {text-decoration: line-through;}
|
||||
|
||||
.cm-s-default .cm-error {color: #f00;}
|
||||
.cm-invalidchar {color: #f00;}
|
||||
|
||||
@@ -162,7 +165,7 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
|
||||
}
|
||||
|
||||
/* The fake, visible scrollbars. Used to force redraw during scrolling
|
||||
before actuall scrolling happens, thus preventing shaking and
|
||||
before actual scrolling happens, thus preventing shaking and
|
||||
flickering artifacts. */
|
||||
.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
|
||||
position: absolute;
|
||||
@@ -194,6 +197,7 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
|
||||
white-space: normal;
|
||||
height: 100%;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
margin-bottom: -30px;
|
||||
/* Hack to make IE7 behave */
|
||||
*zoom:1;
|
||||
@@ -202,7 +206,13 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
|
||||
.CodeMirror-gutter-wrapper {
|
||||
position: absolute;
|
||||
z-index: 4;
|
||||
height: 100%;
|
||||
background: none !important;
|
||||
border: none !important;
|
||||
}
|
||||
.CodeMirror-gutter-background {
|
||||
position: absolute;
|
||||
top: 0; bottom: 0;
|
||||
z-index: 4;
|
||||
}
|
||||
.CodeMirror-gutter-elt {
|
||||
position: absolute;
|
||||
@@ -277,19 +287,19 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
|
||||
overflow: hidden;
|
||||
visibility: hidden;
|
||||
}
|
||||
.CodeMirror-measure pre { position: static; }
|
||||
|
||||
.CodeMirror div.CodeMirror-cursor {
|
||||
position: absolute;
|
||||
border-right: none;
|
||||
width: 0;
|
||||
}
|
||||
.CodeMirror-cursor { position: absolute; }
|
||||
.CodeMirror-measure pre { position: static; }
|
||||
|
||||
div.CodeMirror-cursors {
|
||||
visibility: hidden;
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
}
|
||||
div.CodeMirror-dragcursors {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.CodeMirror-focused div.CodeMirror-cursors {
|
||||
visibility: visible;
|
||||
}
|
||||
@@ -297,8 +307,8 @@ div.CodeMirror-cursors {
|
||||
.CodeMirror-selected { background: #d9d9d9; }
|
||||
.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }
|
||||
.CodeMirror-crosshair { cursor: crosshair; }
|
||||
.CodeMirror ::selection { background: #d7d4f0; }
|
||||
.CodeMirror ::-moz-selection { background: #d7d4f0; }
|
||||
.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }
|
||||
.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }
|
||||
|
||||
.cm-searching {
|
||||
background: #ffa;
|
||||
|
||||
45
CodeMirror/theme/3024-day.css
vendored
45
CodeMirror/theme/3024-day.css
vendored
@@ -8,33 +8,34 @@
|
||||
|
||||
*/
|
||||
|
||||
.cm-s-3024-day.CodeMirror {background: #f7f7f7; color: #3a3432;}
|
||||
.cm-s-3024-day div.CodeMirror-selected {background: #d6d5d4 !important;}
|
||||
.cm-s-3024-day.CodeMirror ::selection { background: #d6d5d4; }
|
||||
.cm-s-3024-day.CodeMirror ::-moz-selection { background: #d9d9d9; }
|
||||
.cm-s-3024-day.CodeMirror { background: #f7f7f7; color: #3a3432; }
|
||||
.cm-s-3024-day div.CodeMirror-selected { background: #d6d5d4; }
|
||||
|
||||
.cm-s-3024-day .CodeMirror-gutters {background: #f7f7f7; border-right: 0px;}
|
||||
.cm-s-3024-day .CodeMirror-line::selection, .cm-s-3024-day .CodeMirror-line > span::selection, .cm-s-3024-day .CodeMirror-line > span > span::selection { background: #d6d5d4; }
|
||||
.cm-s-3024-day .CodeMirror-line::-moz-selection, .cm-s-3024-day .CodeMirror-line > span::-moz-selection, .cm-s-3024-day .CodeMirror-line > span > span::selection { background: #d9d9d9; }
|
||||
|
||||
.cm-s-3024-day .CodeMirror-gutters { background: #f7f7f7; border-right: 0px; }
|
||||
.cm-s-3024-day .CodeMirror-guttermarker { color: #db2d20; }
|
||||
.cm-s-3024-day .CodeMirror-guttermarker-subtle { color: #807d7c; }
|
||||
.cm-s-3024-day .CodeMirror-linenumber {color: #807d7c;}
|
||||
.cm-s-3024-day .CodeMirror-linenumber { color: #807d7c; }
|
||||
|
||||
.cm-s-3024-day .CodeMirror-cursor {border-left: 1px solid #5c5855 !important;}
|
||||
.cm-s-3024-day .CodeMirror-cursor { border-left: 1px solid #5c5855; }
|
||||
|
||||
.cm-s-3024-day span.cm-comment {color: #cdab53;}
|
||||
.cm-s-3024-day span.cm-atom {color: #a16a94;}
|
||||
.cm-s-3024-day span.cm-number {color: #a16a94;}
|
||||
.cm-s-3024-day span.cm-comment { color: #cdab53; }
|
||||
.cm-s-3024-day span.cm-atom { color: #a16a94; }
|
||||
.cm-s-3024-day span.cm-number { color: #a16a94; }
|
||||
|
||||
.cm-s-3024-day span.cm-property, .cm-s-3024-day span.cm-attribute {color: #01a252;}
|
||||
.cm-s-3024-day span.cm-keyword {color: #db2d20;}
|
||||
.cm-s-3024-day span.cm-string {color: #fded02;}
|
||||
.cm-s-3024-day span.cm-property, .cm-s-3024-day span.cm-attribute { color: #01a252; }
|
||||
.cm-s-3024-day span.cm-keyword { color: #db2d20; }
|
||||
.cm-s-3024-day span.cm-string { color: #fded02; }
|
||||
|
||||
.cm-s-3024-day span.cm-variable {color: #01a252;}
|
||||
.cm-s-3024-day span.cm-variable-2 {color: #01a0e4;}
|
||||
.cm-s-3024-day span.cm-def {color: #e8bbd0;}
|
||||
.cm-s-3024-day span.cm-bracket {color: #3a3432;}
|
||||
.cm-s-3024-day span.cm-tag {color: #db2d20;}
|
||||
.cm-s-3024-day span.cm-link {color: #a16a94;}
|
||||
.cm-s-3024-day span.cm-error {background: #db2d20; color: #5c5855;}
|
||||
.cm-s-3024-day span.cm-variable { color: #01a252; }
|
||||
.cm-s-3024-day span.cm-variable-2 { color: #01a0e4; }
|
||||
.cm-s-3024-day span.cm-def { color: #e8bbd0; }
|
||||
.cm-s-3024-day span.cm-bracket { color: #3a3432; }
|
||||
.cm-s-3024-day span.cm-tag { color: #db2d20; }
|
||||
.cm-s-3024-day span.cm-link { color: #a16a94; }
|
||||
.cm-s-3024-day span.cm-error { background: #db2d20; color: #5c5855; }
|
||||
|
||||
.cm-s-3024-day .CodeMirror-activeline-background {background: #e8f2ff !important;}
|
||||
.cm-s-3024-day .CodeMirror-matchingbracket { text-decoration: underline; color: #a16a94 !important;}
|
||||
.cm-s-3024-day .CodeMirror-activeline-background { background: #e8f2ff; }
|
||||
.cm-s-3024-day .CodeMirror-matchingbracket { text-decoration: underline; color: #a16a94 !important; }
|
||||
|
||||
44
CodeMirror/theme/3024-night.css
vendored
44
CodeMirror/theme/3024-night.css
vendored
@@ -8,32 +8,32 @@
|
||||
|
||||
*/
|
||||
|
||||
.cm-s-3024-night.CodeMirror {background: #090300; color: #d6d5d4;}
|
||||
.cm-s-3024-night div.CodeMirror-selected {background: #3a3432 !important;}
|
||||
.cm-s-3024-night.CodeMirror ::selection { background: rgba(58, 52, 50, .99); }
|
||||
.cm-s-3024-night.CodeMirror ::-moz-selection { background: rgba(58, 52, 50, .99); }
|
||||
.cm-s-3024-night .CodeMirror-gutters {background: #090300; border-right: 0px;}
|
||||
.cm-s-3024-night.CodeMirror { background: #090300; color: #d6d5d4; }
|
||||
.cm-s-3024-night div.CodeMirror-selected { background: #3a3432; }
|
||||
.cm-s-3024-night .CodeMirror-line::selection, .cm-s-3024-night .CodeMirror-line > span::selection, .cm-s-3024-night .CodeMirror-line > span > span::selection { background: rgba(58, 52, 50, .99); }
|
||||
.cm-s-3024-night .CodeMirror-line::-moz-selection, .cm-s-3024-night .CodeMirror-line > span::-moz-selection, .cm-s-3024-night .CodeMirror-line > span > span::-moz-selection { background: rgba(58, 52, 50, .99); }
|
||||
.cm-s-3024-night .CodeMirror-gutters { background: #090300; border-right: 0px; }
|
||||
.cm-s-3024-night .CodeMirror-guttermarker { color: #db2d20; }
|
||||
.cm-s-3024-night .CodeMirror-guttermarker-subtle { color: #5c5855; }
|
||||
.cm-s-3024-night .CodeMirror-linenumber {color: #5c5855;}
|
||||
.cm-s-3024-night .CodeMirror-linenumber { color: #5c5855; }
|
||||
|
||||
.cm-s-3024-night .CodeMirror-cursor {border-left: 1px solid #807d7c !important;}
|
||||
.cm-s-3024-night .CodeMirror-cursor { border-left: 1px solid #807d7c; }
|
||||
|
||||
.cm-s-3024-night span.cm-comment {color: #cdab53;}
|
||||
.cm-s-3024-night span.cm-atom {color: #a16a94;}
|
||||
.cm-s-3024-night span.cm-number {color: #a16a94;}
|
||||
.cm-s-3024-night span.cm-comment { color: #cdab53; }
|
||||
.cm-s-3024-night span.cm-atom { color: #a16a94; }
|
||||
.cm-s-3024-night span.cm-number { color: #a16a94; }
|
||||
|
||||
.cm-s-3024-night span.cm-property, .cm-s-3024-night span.cm-attribute {color: #01a252;}
|
||||
.cm-s-3024-night span.cm-keyword {color: #db2d20;}
|
||||
.cm-s-3024-night span.cm-string {color: #fded02;}
|
||||
.cm-s-3024-night span.cm-property, .cm-s-3024-night span.cm-attribute { color: #01a252; }
|
||||
.cm-s-3024-night span.cm-keyword { color: #db2d20; }
|
||||
.cm-s-3024-night span.cm-string { color: #fded02; }
|
||||
|
||||
.cm-s-3024-night span.cm-variable {color: #01a252;}
|
||||
.cm-s-3024-night span.cm-variable-2 {color: #01a0e4;}
|
||||
.cm-s-3024-night span.cm-def {color: #e8bbd0;}
|
||||
.cm-s-3024-night span.cm-bracket {color: #d6d5d4;}
|
||||
.cm-s-3024-night span.cm-tag {color: #db2d20;}
|
||||
.cm-s-3024-night span.cm-link {color: #a16a94;}
|
||||
.cm-s-3024-night span.cm-error {background: #db2d20; color: #807d7c;}
|
||||
.cm-s-3024-night span.cm-variable { color: #01a252; }
|
||||
.cm-s-3024-night span.cm-variable-2 { color: #01a0e4; }
|
||||
.cm-s-3024-night span.cm-def { color: #e8bbd0; }
|
||||
.cm-s-3024-night span.cm-bracket { color: #d6d5d4; }
|
||||
.cm-s-3024-night span.cm-tag { color: #db2d20; }
|
||||
.cm-s-3024-night span.cm-link { color: #a16a94; }
|
||||
.cm-s-3024-night span.cm-error { background: #db2d20; color: #807d7c; }
|
||||
|
||||
.cm-s-3024-night .CodeMirror-activeline-background {background: #2F2F2F !important;}
|
||||
.cm-s-3024-night .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
|
||||
.cm-s-3024-night .CodeMirror-activeline-background { background: #2F2F2F; }
|
||||
.cm-s-3024-night .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
|
||||
|
||||
32
CodeMirror/theme/abcdef.css
vendored
Normal file
32
CodeMirror/theme/abcdef.css
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
.cm-s-abcdef.CodeMirror { background: #0f0f0f; color: #defdef; }
|
||||
.cm-s-abcdef div.CodeMirror-selected { background: #515151; }
|
||||
.cm-s-abcdef .CodeMirror-line::selection, .cm-s-abcdef .CodeMirror-line > span::selection, .cm-s-abcdef .CodeMirror-line > span > span::selection { background: rgba(56, 56, 56, 0.99); }
|
||||
.cm-s-abcdef .CodeMirror-line::-moz-selection, .cm-s-abcdef .CodeMirror-line > span::-moz-selection, .cm-s-abcdef .CodeMirror-line > span > span::-moz-selection { background: rgba(56, 56, 56, 0.99); }
|
||||
.cm-s-abcdef .CodeMirror-gutters { background: #555; border-right: 2px solid #314151; }
|
||||
.cm-s-abcdef .CodeMirror-guttermarker { color: #222; }
|
||||
.cm-s-abcdef .CodeMirror-guttermarker-subtle { color: azure; }
|
||||
.cm-s-abcdef .CodeMirror-linenumber { color: #FFFFFF; }
|
||||
.cm-s-abcdef .CodeMirror-cursor { border-left: 1px solid #00FF00; }
|
||||
|
||||
.cm-s-abcdef span.cm-keyword { color: darkgoldenrod; font-weight: bold; }
|
||||
.cm-s-abcdef span.cm-atom { color: #77F; }
|
||||
.cm-s-abcdef span.cm-number { color: violet; }
|
||||
.cm-s-abcdef span.cm-def { color: #fffabc; }
|
||||
.cm-s-abcdef span.cm-variable { color: #abcdef; }
|
||||
.cm-s-abcdef span.cm-variable-2 { color: #cacbcc; }
|
||||
.cm-s-abcdef span.cm-variable-3 { color: #def; }
|
||||
.cm-s-abcdef span.cm-property { color: #fedcba; }
|
||||
.cm-s-abcdef span.cm-operator { color: #ff0; }
|
||||
.cm-s-abcdef span.cm-comment { color: #7a7b7c; font-style: italic;}
|
||||
.cm-s-abcdef span.cm-string { color: #2b4; }
|
||||
.cm-s-abcdef span.cm-meta { color: #C9F; }
|
||||
.cm-s-abcdef span.cm-qualifier { color: #FFF700; }
|
||||
.cm-s-abcdef span.cm-builtin { color: #30aabc; }
|
||||
.cm-s-abcdef span.cm-bracket { color: #8a8a8a; }
|
||||
.cm-s-abcdef span.cm-tag { color: #FFDD44; }
|
||||
.cm-s-abcdef span.cm-attribute { color: #DDFF00; }
|
||||
.cm-s-abcdef span.cm-error { color: #FF0000; }
|
||||
.cm-s-abcdef span.cm-header { color: aquamarine; font-weight: bold; }
|
||||
.cm-s-abcdef span.cm-link { color: blueviolet; }
|
||||
|
||||
.cm-s-abcdef .CodeMirror-activeline-background { background: #314151; }
|
||||
23
CodeMirror/theme/ambiance.css
vendored
23
CodeMirror/theme/ambiance.css
vendored
@@ -2,6 +2,9 @@
|
||||
|
||||
/* Color scheme */
|
||||
|
||||
.cm-s-ambiance .cm-header { color: blue; }
|
||||
.cm-s-ambiance .cm-quote { color: #24C2C7; }
|
||||
|
||||
.cm-s-ambiance .cm-keyword { color: #cda869; }
|
||||
.cm-s-ambiance .cm-atom { color: #CF7EA9; }
|
||||
.cm-s-ambiance .cm-number { color: #78CF8A; }
|
||||
@@ -10,7 +13,7 @@
|
||||
.cm-s-ambiance .cm-variable-2 { color: #eed1b3; }
|
||||
.cm-s-ambiance .cm-variable-3 { color: #faded3; }
|
||||
.cm-s-ambiance .cm-property { color: #eed1b3; }
|
||||
.cm-s-ambiance .cm-operator {color: #fa8d6a;}
|
||||
.cm-s-ambiance .cm-operator { color: #fa8d6a; }
|
||||
.cm-s-ambiance .cm-comment { color: #555; font-style:italic; }
|
||||
.cm-s-ambiance .cm-string { color: #8f9d6a; }
|
||||
.cm-s-ambiance .cm-string-2 { color: #9d937c; }
|
||||
@@ -18,10 +21,8 @@
|
||||
.cm-s-ambiance .cm-qualifier { color: yellow; }
|
||||
.cm-s-ambiance .cm-builtin { color: #9999cc; }
|
||||
.cm-s-ambiance .cm-bracket { color: #24C2C7; }
|
||||
.cm-s-ambiance .cm-tag { color: #fee4ff }
|
||||
.cm-s-ambiance .cm-attribute { color: #9B859D; }
|
||||
.cm-s-ambiance .cm-header {color: blue;}
|
||||
.cm-s-ambiance .cm-quote { color: #24C2C7; }
|
||||
.cm-s-ambiance .cm-tag { color: #fee4ff; }
|
||||
.cm-s-ambiance .cm-attribute { color: #9B859D; }
|
||||
.cm-s-ambiance .cm-hr { color: pink; }
|
||||
.cm-s-ambiance .cm-link { color: #F4C20B; }
|
||||
.cm-s-ambiance .cm-special { color: #FF9D00; }
|
||||
@@ -30,10 +31,10 @@
|
||||
.cm-s-ambiance .CodeMirror-matchingbracket { color: #0f0; }
|
||||
.cm-s-ambiance .CodeMirror-nonmatchingbracket { color: #f22; }
|
||||
|
||||
.cm-s-ambiance .CodeMirror-selected { background: rgba(255, 255, 255, 0.15); }
|
||||
.cm-s-ambiance.CodeMirror-focused .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }
|
||||
.cm-s-ambiance.CodeMirror ::selection { background: rgba(255, 255, 255, 0.10); }
|
||||
.cm-s-ambiance.CodeMirror ::-moz-selection { background: rgba(255, 255, 255, 0.10); }
|
||||
.cm-s-ambiance div.CodeMirror-selected { background: rgba(255, 255, 255, 0.15); }
|
||||
.cm-s-ambiance.CodeMirror-focused div.CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }
|
||||
.cm-s-ambiance .CodeMirror-line::selection, .cm-s-ambiance .CodeMirror-line > span::selection, .cm-s-ambiance .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }
|
||||
.cm-s-ambiance .CodeMirror-line::-moz-selection, .cm-s-ambiance .CodeMirror-line > span::-moz-selection, .cm-s-ambiance .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }
|
||||
|
||||
/* Editor styling */
|
||||
|
||||
@@ -61,9 +62,7 @@
|
||||
.cm-s-ambiance .CodeMirror-guttermarker { color: #aaa; }
|
||||
.cm-s-ambiance .CodeMirror-guttermarker-subtle { color: #111; }
|
||||
|
||||
.cm-s-ambiance .CodeMirror-lines .CodeMirror-cursor {
|
||||
border-left: 1px solid #7991E8;
|
||||
}
|
||||
.cm-s-ambiance .CodeMirror-cursor { border-left: 1px solid #7991E8; }
|
||||
|
||||
.cm-s-ambiance .CodeMirror-activeline-background {
|
||||
background: none repeat scroll 0% 0% rgba(255, 255, 255, 0.031);
|
||||
|
||||
46
CodeMirror/theme/base16-dark.css
vendored
46
CodeMirror/theme/base16-dark.css
vendored
@@ -3,36 +3,36 @@
|
||||
Name: Base16 Default Dark
|
||||
Author: Chris Kempson (http://chriskempson.com)
|
||||
|
||||
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-chrome-devtools)
|
||||
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
|
||||
Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
|
||||
|
||||
*/
|
||||
|
||||
.cm-s-base16-dark.CodeMirror {background: #151515; color: #e0e0e0;}
|
||||
.cm-s-base16-dark div.CodeMirror-selected {background: #303030 !important;}
|
||||
.cm-s-base16-dark.CodeMirror ::selection { background: rgba(48, 48, 48, .99); }
|
||||
.cm-s-base16-dark.CodeMirror ::-moz-selection { background: rgba(48, 48, 48, .99); }
|
||||
.cm-s-base16-dark .CodeMirror-gutters {background: #151515; border-right: 0px;}
|
||||
.cm-s-base16-dark.CodeMirror { background: #151515; color: #e0e0e0; }
|
||||
.cm-s-base16-dark div.CodeMirror-selected { background: #303030; }
|
||||
.cm-s-base16-dark .CodeMirror-line::selection, .cm-s-base16-dark .CodeMirror-line > span::selection, .cm-s-base16-dark .CodeMirror-line > span > span::selection { background: rgba(48, 48, 48, .99); }
|
||||
.cm-s-base16-dark .CodeMirror-line::-moz-selection, .cm-s-base16-dark .CodeMirror-line > span::-moz-selection, .cm-s-base16-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(48, 48, 48, .99); }
|
||||
.cm-s-base16-dark .CodeMirror-gutters { background: #151515; border-right: 0px; }
|
||||
.cm-s-base16-dark .CodeMirror-guttermarker { color: #ac4142; }
|
||||
.cm-s-base16-dark .CodeMirror-guttermarker-subtle { color: #505050; }
|
||||
.cm-s-base16-dark .CodeMirror-linenumber {color: #505050;}
|
||||
.cm-s-base16-dark .CodeMirror-cursor {border-left: 1px solid #b0b0b0 !important;}
|
||||
.cm-s-base16-dark .CodeMirror-linenumber { color: #505050; }
|
||||
.cm-s-base16-dark .CodeMirror-cursor { border-left: 1px solid #b0b0b0; }
|
||||
|
||||
.cm-s-base16-dark span.cm-comment {color: #8f5536;}
|
||||
.cm-s-base16-dark span.cm-atom {color: #aa759f;}
|
||||
.cm-s-base16-dark span.cm-number {color: #aa759f;}
|
||||
.cm-s-base16-dark span.cm-comment { color: #8f5536; }
|
||||
.cm-s-base16-dark span.cm-atom { color: #aa759f; }
|
||||
.cm-s-base16-dark span.cm-number { color: #aa759f; }
|
||||
|
||||
.cm-s-base16-dark span.cm-property, .cm-s-base16-dark span.cm-attribute {color: #90a959;}
|
||||
.cm-s-base16-dark span.cm-keyword {color: #ac4142;}
|
||||
.cm-s-base16-dark span.cm-string {color: #f4bf75;}
|
||||
.cm-s-base16-dark span.cm-property, .cm-s-base16-dark span.cm-attribute { color: #90a959; }
|
||||
.cm-s-base16-dark span.cm-keyword { color: #ac4142; }
|
||||
.cm-s-base16-dark span.cm-string { color: #f4bf75; }
|
||||
|
||||
.cm-s-base16-dark span.cm-variable {color: #90a959;}
|
||||
.cm-s-base16-dark span.cm-variable-2 {color: #6a9fb5;}
|
||||
.cm-s-base16-dark span.cm-def {color: #d28445;}
|
||||
.cm-s-base16-dark span.cm-bracket {color: #e0e0e0;}
|
||||
.cm-s-base16-dark span.cm-tag {color: #ac4142;}
|
||||
.cm-s-base16-dark span.cm-link {color: #aa759f;}
|
||||
.cm-s-base16-dark span.cm-error {background: #ac4142; color: #b0b0b0;}
|
||||
.cm-s-base16-dark span.cm-variable { color: #90a959; }
|
||||
.cm-s-base16-dark span.cm-variable-2 { color: #6a9fb5; }
|
||||
.cm-s-base16-dark span.cm-def { color: #d28445; }
|
||||
.cm-s-base16-dark span.cm-bracket { color: #e0e0e0; }
|
||||
.cm-s-base16-dark span.cm-tag { color: #ac4142; }
|
||||
.cm-s-base16-dark span.cm-link { color: #aa759f; }
|
||||
.cm-s-base16-dark span.cm-error { background: #ac4142; color: #b0b0b0; }
|
||||
|
||||
.cm-s-base16-dark .CodeMirror-activeline-background {background: #202020 !important;}
|
||||
.cm-s-base16-dark .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
|
||||
.cm-s-base16-dark .CodeMirror-activeline-background { background: #202020; }
|
||||
.cm-s-base16-dark .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
|
||||
|
||||
46
CodeMirror/theme/base16-light.css
vendored
46
CodeMirror/theme/base16-light.css
vendored
@@ -3,36 +3,36 @@
|
||||
Name: Base16 Default Light
|
||||
Author: Chris Kempson (http://chriskempson.com)
|
||||
|
||||
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-chrome-devtools)
|
||||
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
|
||||
Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
|
||||
|
||||
*/
|
||||
|
||||
.cm-s-base16-light.CodeMirror {background: #f5f5f5; color: #202020;}
|
||||
.cm-s-base16-light div.CodeMirror-selected {background: #e0e0e0 !important;}
|
||||
.cm-s-base16-light.CodeMirror ::selection { background: #e0e0e0; }
|
||||
.cm-s-base16-light.CodeMirror ::-moz-selection { background: #e0e0e0; }
|
||||
.cm-s-base16-light .CodeMirror-gutters {background: #f5f5f5; border-right: 0px;}
|
||||
.cm-s-base16-light.CodeMirror { background: #f5f5f5; color: #202020; }
|
||||
.cm-s-base16-light div.CodeMirror-selected { background: #e0e0e0; }
|
||||
.cm-s-base16-light .CodeMirror-line::selection, .cm-s-base16-light .CodeMirror-line > span::selection, .cm-s-base16-light .CodeMirror-line > span > span::selection { background: #e0e0e0; }
|
||||
.cm-s-base16-light .CodeMirror-line::-moz-selection, .cm-s-base16-light .CodeMirror-line > span::-moz-selection, .cm-s-base16-light .CodeMirror-line > span > span::-moz-selection { background: #e0e0e0; }
|
||||
.cm-s-base16-light .CodeMirror-gutters { background: #f5f5f5; border-right: 0px; }
|
||||
.cm-s-base16-light .CodeMirror-guttermarker { color: #ac4142; }
|
||||
.cm-s-base16-light .CodeMirror-guttermarker-subtle { color: #b0b0b0; }
|
||||
.cm-s-base16-light .CodeMirror-linenumber {color: #b0b0b0;}
|
||||
.cm-s-base16-light .CodeMirror-cursor {border-left: 1px solid #505050 !important;}
|
||||
.cm-s-base16-light .CodeMirror-linenumber { color: #b0b0b0; }
|
||||
.cm-s-base16-light .CodeMirror-cursor { border-left: 1px solid #505050; }
|
||||
|
||||
.cm-s-base16-light span.cm-comment {color: #8f5536;}
|
||||
.cm-s-base16-light span.cm-atom {color: #aa759f;}
|
||||
.cm-s-base16-light span.cm-number {color: #aa759f;}
|
||||
.cm-s-base16-light span.cm-comment { color: #8f5536; }
|
||||
.cm-s-base16-light span.cm-atom { color: #aa759f; }
|
||||
.cm-s-base16-light span.cm-number { color: #aa759f; }
|
||||
|
||||
.cm-s-base16-light span.cm-property, .cm-s-base16-light span.cm-attribute {color: #90a959;}
|
||||
.cm-s-base16-light span.cm-keyword {color: #ac4142;}
|
||||
.cm-s-base16-light span.cm-string {color: #f4bf75;}
|
||||
.cm-s-base16-light span.cm-property, .cm-s-base16-light span.cm-attribute { color: #90a959; }
|
||||
.cm-s-base16-light span.cm-keyword { color: #ac4142; }
|
||||
.cm-s-base16-light span.cm-string { color: #f4bf75; }
|
||||
|
||||
.cm-s-base16-light span.cm-variable {color: #90a959;}
|
||||
.cm-s-base16-light span.cm-variable-2 {color: #6a9fb5;}
|
||||
.cm-s-base16-light span.cm-def {color: #d28445;}
|
||||
.cm-s-base16-light span.cm-bracket {color: #202020;}
|
||||
.cm-s-base16-light span.cm-tag {color: #ac4142;}
|
||||
.cm-s-base16-light span.cm-link {color: #aa759f;}
|
||||
.cm-s-base16-light span.cm-error {background: #ac4142; color: #505050;}
|
||||
.cm-s-base16-light span.cm-variable { color: #90a959; }
|
||||
.cm-s-base16-light span.cm-variable-2 { color: #6a9fb5; }
|
||||
.cm-s-base16-light span.cm-def { color: #d28445; }
|
||||
.cm-s-base16-light span.cm-bracket { color: #202020; }
|
||||
.cm-s-base16-light span.cm-tag { color: #ac4142; }
|
||||
.cm-s-base16-light span.cm-link { color: #aa759f; }
|
||||
.cm-s-base16-light span.cm-error { background: #ac4142; color: #505050; }
|
||||
|
||||
.cm-s-base16-light .CodeMirror-activeline-background {background: #DDDCDC !important;}
|
||||
.cm-s-base16-light .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
|
||||
.cm-s-base16-light .CodeMirror-activeline-background { background: #DDDCDC; }
|
||||
.cm-s-base16-light .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
|
||||
|
||||
34
CodeMirror/theme/bespin.css
vendored
Normal file
34
CodeMirror/theme/bespin.css
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
|
||||
Name: Bespin
|
||||
Author: Mozilla / Jan T. Sott
|
||||
|
||||
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
|
||||
Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
|
||||
|
||||
*/
|
||||
|
||||
.cm-s-bespin.CodeMirror {background: #28211c; color: #9d9b97;}
|
||||
.cm-s-bespin div.CodeMirror-selected {background: #36312e !important;}
|
||||
.cm-s-bespin .CodeMirror-gutters {background: #28211c; border-right: 0px;}
|
||||
.cm-s-bespin .CodeMirror-linenumber {color: #666666;}
|
||||
.cm-s-bespin .CodeMirror-cursor {border-left: 1px solid #797977 !important;}
|
||||
|
||||
.cm-s-bespin span.cm-comment {color: #937121;}
|
||||
.cm-s-bespin span.cm-atom {color: #9b859d;}
|
||||
.cm-s-bespin span.cm-number {color: #9b859d;}
|
||||
|
||||
.cm-s-bespin span.cm-property, .cm-s-bespin span.cm-attribute {color: #54be0d;}
|
||||
.cm-s-bespin span.cm-keyword {color: #cf6a4c;}
|
||||
.cm-s-bespin span.cm-string {color: #f9ee98;}
|
||||
|
||||
.cm-s-bespin span.cm-variable {color: #54be0d;}
|
||||
.cm-s-bespin span.cm-variable-2 {color: #5ea6ea;}
|
||||
.cm-s-bespin span.cm-def {color: #cf7d34;}
|
||||
.cm-s-bespin span.cm-error {background: #cf6a4c; color: #797977;}
|
||||
.cm-s-bespin span.cm-bracket {color: #9d9b97;}
|
||||
.cm-s-bespin span.cm-tag {color: #cf6a4c;}
|
||||
.cm-s-bespin span.cm-link {color: #9b859d;}
|
||||
|
||||
.cm-s-bespin .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
|
||||
.cm-s-bespin .CodeMirror-activeline-background { background: #404040; }
|
||||
14
CodeMirror/theme/blackboard.css
vendored
14
CodeMirror/theme/blackboard.css
vendored
@@ -1,21 +1,21 @@
|
||||
/* Port of TextMate's Blackboard theme */
|
||||
|
||||
.cm-s-blackboard.CodeMirror { background: #0C1021; color: #F8F8F8; }
|
||||
.cm-s-blackboard .CodeMirror-selected { background: #253B76 !important; }
|
||||
.cm-s-blackboard.CodeMirror ::selection { background: rgba(37, 59, 118, .99); }
|
||||
.cm-s-blackboard.CodeMirror ::-moz-selection { background: rgba(37, 59, 118, .99); }
|
||||
.cm-s-blackboard div.CodeMirror-selected { background: #253B76; }
|
||||
.cm-s-blackboard .CodeMirror-line::selection, .cm-s-blackboard .CodeMirror-line > span::selection, .cm-s-blackboard .CodeMirror-line > span > span::selection { background: rgba(37, 59, 118, .99); }
|
||||
.cm-s-blackboard .CodeMirror-line::-moz-selection, .cm-s-blackboard .CodeMirror-line > span::-moz-selection, .cm-s-blackboard .CodeMirror-line > span > span::-moz-selection { background: rgba(37, 59, 118, .99); }
|
||||
.cm-s-blackboard .CodeMirror-gutters { background: #0C1021; border-right: 0; }
|
||||
.cm-s-blackboard .CodeMirror-guttermarker { color: #FBDE2D; }
|
||||
.cm-s-blackboard .CodeMirror-guttermarker-subtle { color: #888; }
|
||||
.cm-s-blackboard .CodeMirror-linenumber { color: #888; }
|
||||
.cm-s-blackboard .CodeMirror-cursor { border-left: 1px solid #A7A7A7 !important; }
|
||||
.cm-s-blackboard .CodeMirror-cursor { border-left: 1px solid #A7A7A7; }
|
||||
|
||||
.cm-s-blackboard .cm-keyword { color: #FBDE2D; }
|
||||
.cm-s-blackboard .cm-atom { color: #D8FA3C; }
|
||||
.cm-s-blackboard .cm-number { color: #D8FA3C; }
|
||||
.cm-s-blackboard .cm-def { color: #8DA6CE; }
|
||||
.cm-s-blackboard .cm-variable { color: #FF6400; }
|
||||
.cm-s-blackboard .cm-operator { color: #FBDE2D;}
|
||||
.cm-s-blackboard .cm-operator { color: #FBDE2D; }
|
||||
.cm-s-blackboard .cm-comment { color: #AEAEAE; }
|
||||
.cm-s-blackboard .cm-string { color: #61CE3C; }
|
||||
.cm-s-blackboard .cm-string-2 { color: #61CE3C; }
|
||||
@@ -28,5 +28,5 @@
|
||||
.cm-s-blackboard .cm-link { color: #8DA6CE; }
|
||||
.cm-s-blackboard .cm-error { background: #9D1E15; color: #F8F8F8; }
|
||||
|
||||
.cm-s-blackboard .CodeMirror-activeline-background {background: #3C3636 !important;}
|
||||
.cm-s-blackboard .CodeMirror-matchingbracket {outline:1px solid grey;color:white !important}
|
||||
.cm-s-blackboard .CodeMirror-activeline-background { background: #3C3636; }
|
||||
.cm-s-blackboard .CodeMirror-matchingbracket { outline:1px solid grey;color:white !important; }
|
||||
|
||||
12
CodeMirror/theme/cobalt.css
vendored
12
CodeMirror/theme/cobalt.css
vendored
@@ -1,12 +1,12 @@
|
||||
.cm-s-cobalt.CodeMirror { background: #002240; color: white; }
|
||||
.cm-s-cobalt div.CodeMirror-selected { background: #b36539 !important; }
|
||||
.cm-s-cobalt.CodeMirror ::selection { background: rgba(179, 101, 57, .99); }
|
||||
.cm-s-cobalt.CodeMirror ::-moz-selection { background: rgba(179, 101, 57, .99); }
|
||||
.cm-s-cobalt div.CodeMirror-selected { background: #b36539; }
|
||||
.cm-s-cobalt .CodeMirror-line::selection, .cm-s-cobalt .CodeMirror-line > span::selection, .cm-s-cobalt .CodeMirror-line > span > span::selection { background: rgba(179, 101, 57, .99); }
|
||||
.cm-s-cobalt .CodeMirror-line::-moz-selection, .cm-s-cobalt .CodeMirror-line > span::-moz-selection, .cm-s-cobalt .CodeMirror-line > span > span::-moz-selection { background: rgba(179, 101, 57, .99); }
|
||||
.cm-s-cobalt .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; }
|
||||
.cm-s-cobalt .CodeMirror-guttermarker { color: #ffee80; }
|
||||
.cm-s-cobalt .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
|
||||
.cm-s-cobalt .CodeMirror-linenumber { color: #d0d0d0; }
|
||||
.cm-s-cobalt .CodeMirror-cursor { border-left: 1px solid white !important; }
|
||||
.cm-s-cobalt .CodeMirror-cursor { border-left: 1px solid white; }
|
||||
|
||||
.cm-s-cobalt span.cm-comment { color: #08f; }
|
||||
.cm-s-cobalt span.cm-atom { color: #845dc4; }
|
||||
@@ -21,5 +21,5 @@
|
||||
.cm-s-cobalt span.cm-link { color: #845dc4; }
|
||||
.cm-s-cobalt span.cm-error { color: #9d1e15; }
|
||||
|
||||
.cm-s-cobalt .CodeMirror-activeline-background {background: #002D57 !important;}
|
||||
.cm-s-cobalt .CodeMirror-matchingbracket {outline:1px solid grey;color:white !important}
|
||||
.cm-s-cobalt .CodeMirror-activeline-background { background: #002D57; }
|
||||
.cm-s-cobalt .CodeMirror-matchingbracket { outline:1px solid grey;color:white !important; }
|
||||
|
||||
6
CodeMirror/theme/colorforth.css
vendored
6
CodeMirror/theme/colorforth.css
vendored
@@ -3,7 +3,7 @@
|
||||
.cm-s-colorforth .CodeMirror-guttermarker { color: #FFBD40; }
|
||||
.cm-s-colorforth .CodeMirror-guttermarker-subtle { color: #78846f; }
|
||||
.cm-s-colorforth .CodeMirror-linenumber { color: #bababa; }
|
||||
.cm-s-colorforth .CodeMirror-cursor { border-left: 1px solid white !important; }
|
||||
.cm-s-colorforth .CodeMirror-cursor { border-left: 1px solid white; }
|
||||
|
||||
.cm-s-colorforth span.cm-comment { color: #ededed; }
|
||||
.cm-s-colorforth span.cm-def { color: #ff1c1c; font-weight:bold; }
|
||||
@@ -26,8 +26,8 @@
|
||||
.cm-s-colorforth span.cm-attribute { color: #FFF700; }
|
||||
.cm-s-colorforth span.cm-error { color: #f00; }
|
||||
|
||||
.cm-s-colorforth .CodeMirror-selected { background: #333d53 !important; }
|
||||
.cm-s-colorforth div.CodeMirror-selected { background: #333d53; }
|
||||
|
||||
.cm-s-colorforth span.cm-compilation { background: rgba(255, 255, 255, 0.12); }
|
||||
|
||||
.cm-s-colorforth .CodeMirror-activeline-background {background: #253540 !important;}
|
||||
.cm-s-colorforth .CodeMirror-activeline-background { background: #253540; }
|
||||
|
||||
41
CodeMirror/theme/dracula.css
vendored
Normal file
41
CodeMirror/theme/dracula.css
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
|
||||
Name: dracula
|
||||
Author: Michael Kaminsky (http://github.com/mkaminsky11)
|
||||
|
||||
Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme)
|
||||
|
||||
*/
|
||||
|
||||
|
||||
.cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters {
|
||||
background-color: #282a36 !important;
|
||||
color: #f8f8f2 !important;
|
||||
border: none;
|
||||
}
|
||||
.cm-s-dracula .CodeMirror-gutters { color: #282a36; }
|
||||
.cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; }
|
||||
.cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; }
|
||||
.cm-s-dracula.CodeMirror-focused div.CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }
|
||||
.cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }
|
||||
.cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }
|
||||
.cm-s-dracula span.cm-comment { color: #6272a4; }
|
||||
.cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; }
|
||||
.cm-s-dracula span.cm-number { color: #bd93f9; }
|
||||
.cm-s-dracula span.cm-variable { color: #50fa7b; }
|
||||
.cm-s-dracula span.cm-variable-2 { color: white; }
|
||||
.cm-s-dracula span.cm-def { color: #ffb86c; }
|
||||
.cm-s-dracula span.cm-keyword { color: #ff79c6; }
|
||||
.cm-s-dracula span.cm-operator { color: #ff79c6; }
|
||||
.cm-s-dracula span.cm-keyword { color: #ff79c6; }
|
||||
.cm-s-dracula span.cm-atom { color: #bd93f9; }
|
||||
.cm-s-dracula span.cm-meta { color: #f8f8f2; }
|
||||
.cm-s-dracula span.cm-tag { color: #ff79c6; }
|
||||
.cm-s-dracula span.cm-attribute { color: #50fa7b; }
|
||||
.cm-s-dracula span.cm-qualifier { color: #50fa7b; }
|
||||
.cm-s-dracula span.cm-property { color: #66d9ef; }
|
||||
.cm-s-dracula span.cm-builtin { color: #50fa7b; }
|
||||
.cm-s-dracula span.cm-variable-3 { color: #50fa7b; }
|
||||
|
||||
.cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); }
|
||||
.cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
|
||||
42
CodeMirror/theme/eclipse.css
vendored
42
CodeMirror/theme/eclipse.css
vendored
@@ -1,23 +1,23 @@
|
||||
.cm-s-eclipse span.cm-meta {color: #FF1717;}
|
||||
.cm-s-eclipse span.cm-meta { color: #FF1717; }
|
||||
.cm-s-eclipse span.cm-keyword { line-height: 1em; font-weight: bold; color: #7F0055; }
|
||||
.cm-s-eclipse span.cm-atom {color: #219;}
|
||||
.cm-s-eclipse span.cm-number {color: #164;}
|
||||
.cm-s-eclipse span.cm-def {color: #00f;}
|
||||
.cm-s-eclipse span.cm-variable {color: black;}
|
||||
.cm-s-eclipse span.cm-variable-2 {color: #0000C0;}
|
||||
.cm-s-eclipse span.cm-variable-3 {color: #0000C0;}
|
||||
.cm-s-eclipse span.cm-property {color: black;}
|
||||
.cm-s-eclipse span.cm-operator {color: black;}
|
||||
.cm-s-eclipse span.cm-comment {color: #3F7F5F;}
|
||||
.cm-s-eclipse span.cm-string {color: #2A00FF;}
|
||||
.cm-s-eclipse span.cm-string-2 {color: #f50;}
|
||||
.cm-s-eclipse span.cm-qualifier {color: #555;}
|
||||
.cm-s-eclipse span.cm-builtin {color: #30a;}
|
||||
.cm-s-eclipse span.cm-bracket {color: #cc7;}
|
||||
.cm-s-eclipse span.cm-tag {color: #170;}
|
||||
.cm-s-eclipse span.cm-attribute {color: #00c;}
|
||||
.cm-s-eclipse span.cm-link {color: #219;}
|
||||
.cm-s-eclipse span.cm-error {color: #f00;}
|
||||
.cm-s-eclipse span.cm-atom { color: #219; }
|
||||
.cm-s-eclipse span.cm-number { color: #164; }
|
||||
.cm-s-eclipse span.cm-def { color: #00f; }
|
||||
.cm-s-eclipse span.cm-variable { color: black; }
|
||||
.cm-s-eclipse span.cm-variable-2 { color: #0000C0; }
|
||||
.cm-s-eclipse span.cm-variable-3 { color: #0000C0; }
|
||||
.cm-s-eclipse span.cm-property { color: black; }
|
||||
.cm-s-eclipse span.cm-operator { color: black; }
|
||||
.cm-s-eclipse span.cm-comment { color: #3F7F5F; }
|
||||
.cm-s-eclipse span.cm-string { color: #2A00FF; }
|
||||
.cm-s-eclipse span.cm-string-2 { color: #f50; }
|
||||
.cm-s-eclipse span.cm-qualifier { color: #555; }
|
||||
.cm-s-eclipse span.cm-builtin { color: #30a; }
|
||||
.cm-s-eclipse span.cm-bracket { color: #cc7; }
|
||||
.cm-s-eclipse span.cm-tag { color: #170; }
|
||||
.cm-s-eclipse span.cm-attribute { color: #00c; }
|
||||
.cm-s-eclipse span.cm-link { color: #219; }
|
||||
.cm-s-eclipse span.cm-error { color: #f00; }
|
||||
|
||||
.cm-s-eclipse .CodeMirror-activeline-background {background: #e8f2ff !important;}
|
||||
.cm-s-eclipse .CodeMirror-matchingbracket {outline:1px solid grey; color:black !important;}
|
||||
.cm-s-eclipse .CodeMirror-activeline-background { background: #e8f2ff; }
|
||||
.cm-s-eclipse .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; }
|
||||
|
||||
24
CodeMirror/theme/elegant.css
vendored
24
CodeMirror/theme/elegant.css
vendored
@@ -1,13 +1,13 @@
|
||||
.cm-s-elegant span.cm-number, .cm-s-elegant span.cm-string, .cm-s-elegant span.cm-atom {color: #762;}
|
||||
.cm-s-elegant span.cm-comment {color: #262; font-style: italic; line-height: 1em;}
|
||||
.cm-s-elegant span.cm-meta {color: #555; font-style: italic; line-height: 1em;}
|
||||
.cm-s-elegant span.cm-variable {color: black;}
|
||||
.cm-s-elegant span.cm-variable-2 {color: #b11;}
|
||||
.cm-s-elegant span.cm-qualifier {color: #555;}
|
||||
.cm-s-elegant span.cm-keyword {color: #730;}
|
||||
.cm-s-elegant span.cm-builtin {color: #30a;}
|
||||
.cm-s-elegant span.cm-link {color: #762;}
|
||||
.cm-s-elegant span.cm-error {background-color: #fdd;}
|
||||
.cm-s-elegant span.cm-number, .cm-s-elegant span.cm-string, .cm-s-elegant span.cm-atom { color: #762; }
|
||||
.cm-s-elegant span.cm-comment { color: #262; font-style: italic; line-height: 1em; }
|
||||
.cm-s-elegant span.cm-meta { color: #555; font-style: italic; line-height: 1em; }
|
||||
.cm-s-elegant span.cm-variable { color: black; }
|
||||
.cm-s-elegant span.cm-variable-2 { color: #b11; }
|
||||
.cm-s-elegant span.cm-qualifier { color: #555; }
|
||||
.cm-s-elegant span.cm-keyword { color: #730; }
|
||||
.cm-s-elegant span.cm-builtin { color: #30a; }
|
||||
.cm-s-elegant span.cm-link { color: #762; }
|
||||
.cm-s-elegant span.cm-error { background-color: #fdd; }
|
||||
|
||||
.cm-s-elegant .CodeMirror-activeline-background {background: #e8f2ff !important;}
|
||||
.cm-s-elegant .CodeMirror-matchingbracket {outline:1px solid grey; color:black !important;}
|
||||
.cm-s-elegant .CodeMirror-activeline-background { background: #e8f2ff; }
|
||||
.cm-s-elegant .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; }
|
||||
|
||||
14
CodeMirror/theme/erlang-dark.css
vendored
14
CodeMirror/theme/erlang-dark.css
vendored
@@ -1,13 +1,14 @@
|
||||
.cm-s-erlang-dark.CodeMirror { background: #002240; color: white; }
|
||||
.cm-s-erlang-dark div.CodeMirror-selected { background: #b36539 !important; }
|
||||
.cm-s-erlang-dark.CodeMirror ::selection { background: rgba(179, 101, 57, .99); }
|
||||
.cm-s-erlang-dark.CodeMirror ::-moz-selection { background: rgba(179, 101, 57, .99); }
|
||||
.cm-s-erlang-dark div.CodeMirror-selected { background: #b36539; }
|
||||
.cm-s-erlang-dark .CodeMirror-line::selection, .cm-s-erlang-dark .CodeMirror-line > span::selection, .cm-s-erlang-dark .CodeMirror-line > span > span::selection { background: rgba(179, 101, 57, .99); }
|
||||
.cm-s-erlang-dark .CodeMirror-line::-moz-selection, .cm-s-erlang-dark .CodeMirror-line > span::-moz-selection, .cm-s-erlang-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(179, 101, 57, .99); }
|
||||
.cm-s-erlang-dark .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; }
|
||||
.cm-s-erlang-dark .CodeMirror-guttermarker { color: white; }
|
||||
.cm-s-erlang-dark .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
|
||||
.cm-s-erlang-dark .CodeMirror-linenumber { color: #d0d0d0; }
|
||||
.cm-s-erlang-dark .CodeMirror-cursor { border-left: 1px solid white !important; }
|
||||
.cm-s-erlang-dark .CodeMirror-cursor { border-left: 1px solid white; }
|
||||
|
||||
.cm-s-erlang-dark span.cm-quote { color: #ccc; }
|
||||
.cm-s-erlang-dark span.cm-atom { color: #f133f1; }
|
||||
.cm-s-erlang-dark span.cm-attribute { color: #ff80e1; }
|
||||
.cm-s-erlang-dark span.cm-bracket { color: #ff9d00; }
|
||||
@@ -20,7 +21,6 @@
|
||||
.cm-s-erlang-dark span.cm-operator { color: #d55; }
|
||||
.cm-s-erlang-dark span.cm-property { color: #ccc; }
|
||||
.cm-s-erlang-dark span.cm-qualifier { color: #ccc; }
|
||||
.cm-s-erlang-dark span.cm-quote { color: #ccc; }
|
||||
.cm-s-erlang-dark span.cm-special { color: #ffbbbb; }
|
||||
.cm-s-erlang-dark span.cm-string { color: #3ad900; }
|
||||
.cm-s-erlang-dark span.cm-string-2 { color: #ccc; }
|
||||
@@ -30,5 +30,5 @@
|
||||
.cm-s-erlang-dark span.cm-variable-3 { color: #ccc; }
|
||||
.cm-s-erlang-dark span.cm-error { color: #9d1e15; }
|
||||
|
||||
.cm-s-erlang-dark .CodeMirror-activeline-background {background: #013461 !important;}
|
||||
.cm-s-erlang-dark .CodeMirror-matchingbracket {outline:1px solid grey; color:white !important;}
|
||||
.cm-s-erlang-dark .CodeMirror-activeline-background { background: #013461; }
|
||||
.cm-s-erlang-dark .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; }
|
||||
|
||||
34
CodeMirror/theme/hopscotch.css
vendored
Normal file
34
CodeMirror/theme/hopscotch.css
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
|
||||
Name: Hopscotch
|
||||
Author: Jan T. Sott
|
||||
|
||||
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
|
||||
Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
|
||||
|
||||
*/
|
||||
|
||||
.cm-s-hopscotch.CodeMirror {background: #322931; color: #d5d3d5;}
|
||||
.cm-s-hopscotch div.CodeMirror-selected {background: #433b42 !important;}
|
||||
.cm-s-hopscotch .CodeMirror-gutters {background: #322931; border-right: 0px;}
|
||||
.cm-s-hopscotch .CodeMirror-linenumber {color: #797379;}
|
||||
.cm-s-hopscotch .CodeMirror-cursor {border-left: 1px solid #989498 !important;}
|
||||
|
||||
.cm-s-hopscotch span.cm-comment {color: #b33508;}
|
||||
.cm-s-hopscotch span.cm-atom {color: #c85e7c;}
|
||||
.cm-s-hopscotch span.cm-number {color: #c85e7c;}
|
||||
|
||||
.cm-s-hopscotch span.cm-property, .cm-s-hopscotch span.cm-attribute {color: #8fc13e;}
|
||||
.cm-s-hopscotch span.cm-keyword {color: #dd464c;}
|
||||
.cm-s-hopscotch span.cm-string {color: #fdcc59;}
|
||||
|
||||
.cm-s-hopscotch span.cm-variable {color: #8fc13e;}
|
||||
.cm-s-hopscotch span.cm-variable-2 {color: #1290bf;}
|
||||
.cm-s-hopscotch span.cm-def {color: #fd8b19;}
|
||||
.cm-s-hopscotch span.cm-error {background: #dd464c; color: #989498;}
|
||||
.cm-s-hopscotch span.cm-bracket {color: #d5d3d5;}
|
||||
.cm-s-hopscotch span.cm-tag {color: #dd464c;}
|
||||
.cm-s-hopscotch span.cm-link {color: #c85e7c;}
|
||||
|
||||
.cm-s-hopscotch .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
|
||||
.cm-s-hopscotch .CodeMirror-activeline-background { background: #302020; }
|
||||
43
CodeMirror/theme/icecoder.css
vendored
Normal file
43
CodeMirror/theme/icecoder.css
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
ICEcoder default theme by Matt Pass, used in code editor available at https://icecoder.net
|
||||
*/
|
||||
|
||||
.cm-s-icecoder { color: #666; background: #1d1d1b; }
|
||||
|
||||
.cm-s-icecoder span.cm-keyword { color: #eee; font-weight:bold; } /* off-white 1 */
|
||||
.cm-s-icecoder span.cm-atom { color: #e1c76e; } /* yellow */
|
||||
.cm-s-icecoder span.cm-number { color: #6cb5d9; } /* blue */
|
||||
.cm-s-icecoder span.cm-def { color: #b9ca4a; } /* green */
|
||||
|
||||
.cm-s-icecoder span.cm-variable { color: #6cb5d9; } /* blue */
|
||||
.cm-s-icecoder span.cm-variable-2 { color: #cc1e5c; } /* pink */
|
||||
.cm-s-icecoder span.cm-variable-3 { color: #f9602c; } /* orange */
|
||||
|
||||
.cm-s-icecoder span.cm-property { color: #eee; } /* off-white 1 */
|
||||
.cm-s-icecoder span.cm-operator { color: #9179bb; } /* purple */
|
||||
.cm-s-icecoder span.cm-comment { color: #97a3aa; } /* grey-blue */
|
||||
|
||||
.cm-s-icecoder span.cm-string { color: #b9ca4a; } /* green */
|
||||
.cm-s-icecoder span.cm-string-2 { color: #6cb5d9; } /* blue */
|
||||
|
||||
.cm-s-icecoder span.cm-meta { color: #555; } /* grey */
|
||||
|
||||
.cm-s-icecoder span.cm-qualifier { color: #555; } /* grey */
|
||||
.cm-s-icecoder span.cm-builtin { color: #214e7b; } /* bright blue */
|
||||
.cm-s-icecoder span.cm-bracket { color: #cc7; } /* grey-yellow */
|
||||
|
||||
.cm-s-icecoder span.cm-tag { color: #e8e8e8; } /* off-white 2 */
|
||||
.cm-s-icecoder span.cm-attribute { color: #099; } /* teal */
|
||||
|
||||
.cm-s-icecoder span.cm-header { color: #6a0d6a; } /* purple-pink */
|
||||
.cm-s-icecoder span.cm-quote { color: #186718; } /* dark green */
|
||||
.cm-s-icecoder span.cm-hr { color: #888; } /* mid-grey */
|
||||
.cm-s-icecoder span.cm-link { color: #e1c76e; } /* yellow */
|
||||
.cm-s-icecoder span.cm-error { color: #d00; } /* red */
|
||||
|
||||
.cm-s-icecoder .CodeMirror-cursor { border-left: 1px solid white; }
|
||||
.cm-s-icecoder div.CodeMirror-selected { color: #fff; background: #037; }
|
||||
.cm-s-icecoder .CodeMirror-gutters { background: #1d1d1b; min-width: 41px; border-right: 0; }
|
||||
.cm-s-icecoder .CodeMirror-linenumber { color: #555; cursor: default; }
|
||||
.cm-s-icecoder .CodeMirror-matchingbracket { color: #fff !important; background: #555 !important; }
|
||||
.cm-s-icecoder .CodeMirror-activeline-background { background: #000; }
|
||||
34
CodeMirror/theme/isotope.css
vendored
Normal file
34
CodeMirror/theme/isotope.css
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
|
||||
Name: Isotope
|
||||
Author: David Desandro / Jan T. Sott
|
||||
|
||||
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
|
||||
Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
|
||||
|
||||
*/
|
||||
|
||||
.cm-s-isotope.CodeMirror {background: #000000; color: #e0e0e0;}
|
||||
.cm-s-isotope div.CodeMirror-selected {background: #404040 !important;}
|
||||
.cm-s-isotope .CodeMirror-gutters {background: #000000; border-right: 0px;}
|
||||
.cm-s-isotope .CodeMirror-linenumber {color: #808080;}
|
||||
.cm-s-isotope .CodeMirror-cursor {border-left: 1px solid #c0c0c0 !important;}
|
||||
|
||||
.cm-s-isotope span.cm-comment {color: #3300ff;}
|
||||
.cm-s-isotope span.cm-atom {color: #cc00ff;}
|
||||
.cm-s-isotope span.cm-number {color: #cc00ff;}
|
||||
|
||||
.cm-s-isotope span.cm-property, .cm-s-isotope span.cm-attribute {color: #33ff00;}
|
||||
.cm-s-isotope span.cm-keyword {color: #ff0000;}
|
||||
.cm-s-isotope span.cm-string {color: #ff0099;}
|
||||
|
||||
.cm-s-isotope span.cm-variable {color: #33ff00;}
|
||||
.cm-s-isotope span.cm-variable-2 {color: #0066ff;}
|
||||
.cm-s-isotope span.cm-def {color: #ff9900;}
|
||||
.cm-s-isotope span.cm-error {background: #ff0000; color: #c0c0c0;}
|
||||
.cm-s-isotope span.cm-bracket {color: #e0e0e0;}
|
||||
.cm-s-isotope span.cm-tag {color: #ff0000;}
|
||||
.cm-s-isotope span.cm-link {color: #cc00ff;}
|
||||
|
||||
.cm-s-isotope .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
|
||||
.cm-s-isotope .CodeMirror-activeline-background { background: #202020; }
|
||||
32
CodeMirror/theme/lesser-dark.css
vendored
32
CodeMirror/theme/lesser-dark.css
vendored
@@ -6,10 +6,10 @@ Ported to CodeMirror by Peter Kroon
|
||||
line-height: 1.3em;
|
||||
}
|
||||
.cm-s-lesser-dark.CodeMirror { background: #262626; color: #EBEFE7; text-shadow: 0 -1px 1px #262626; }
|
||||
.cm-s-lesser-dark div.CodeMirror-selected {background: #45443B !important;} /* 33322B*/
|
||||
.cm-s-lesser-dark.CodeMirror ::selection { background: rgba(69, 68, 59, .99); }
|
||||
.cm-s-lesser-dark.CodeMirror ::-moz-selection { background: rgba(69, 68, 59, .99); }
|
||||
.cm-s-lesser-dark .CodeMirror-cursor { border-left: 1px solid white !important; }
|
||||
.cm-s-lesser-dark div.CodeMirror-selected { background: #45443B; } /* 33322B*/
|
||||
.cm-s-lesser-dark .CodeMirror-line::selection, .cm-s-lesser-dark .CodeMirror-line > span::selection, .cm-s-lesser-dark .CodeMirror-line > span > span::selection { background: rgba(69, 68, 59, .99); }
|
||||
.cm-s-lesser-dark .CodeMirror-line::-moz-selection, .cm-s-lesser-dark .CodeMirror-line > span::-moz-selection, .cm-s-lesser-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(69, 68, 59, .99); }
|
||||
.cm-s-lesser-dark .CodeMirror-cursor { border-left: 1px solid white; }
|
||||
.cm-s-lesser-dark pre { padding: 0 8px; }/*editable code holder*/
|
||||
|
||||
.cm-s-lesser-dark.CodeMirror span.CodeMirror-matchingbracket { color: #7EFC7E; }/*65FC65*/
|
||||
@@ -19,29 +19,29 @@ Ported to CodeMirror by Peter Kroon
|
||||
.cm-s-lesser-dark .CodeMirror-guttermarker-subtle { color: #777; }
|
||||
.cm-s-lesser-dark .CodeMirror-linenumber { color: #777; }
|
||||
|
||||
.cm-s-lesser-dark span.cm-header { color: #a0a; }
|
||||
.cm-s-lesser-dark span.cm-quote { color: #090; }
|
||||
.cm-s-lesser-dark span.cm-keyword { color: #599eff; }
|
||||
.cm-s-lesser-dark span.cm-atom { color: #C2B470; }
|
||||
.cm-s-lesser-dark span.cm-number { color: #B35E4D; }
|
||||
.cm-s-lesser-dark span.cm-def {color: white;}
|
||||
.cm-s-lesser-dark span.cm-def { color: white; }
|
||||
.cm-s-lesser-dark span.cm-variable { color:#D9BF8C; }
|
||||
.cm-s-lesser-dark span.cm-variable-2 { color: #669199; }
|
||||
.cm-s-lesser-dark span.cm-variable-3 { color: white; }
|
||||
.cm-s-lesser-dark span.cm-property {color: #92A75C;}
|
||||
.cm-s-lesser-dark span.cm-operator {color: #92A75C;}
|
||||
.cm-s-lesser-dark span.cm-property { color: #92A75C; }
|
||||
.cm-s-lesser-dark span.cm-operator { color: #92A75C; }
|
||||
.cm-s-lesser-dark span.cm-comment { color: #666; }
|
||||
.cm-s-lesser-dark span.cm-string { color: #BCD279; }
|
||||
.cm-s-lesser-dark span.cm-string-2 {color: #f50;}
|
||||
.cm-s-lesser-dark span.cm-string-2 { color: #f50; }
|
||||
.cm-s-lesser-dark span.cm-meta { color: #738C73; }
|
||||
.cm-s-lesser-dark span.cm-qualifier {color: #555;}
|
||||
.cm-s-lesser-dark span.cm-qualifier { color: #555; }
|
||||
.cm-s-lesser-dark span.cm-builtin { color: #ff9e59; }
|
||||
.cm-s-lesser-dark span.cm-bracket { color: #EBEFE7; }
|
||||
.cm-s-lesser-dark span.cm-tag { color: #669199; }
|
||||
.cm-s-lesser-dark span.cm-attribute {color: #00c;}
|
||||
.cm-s-lesser-dark span.cm-header {color: #a0a;}
|
||||
.cm-s-lesser-dark span.cm-quote {color: #090;}
|
||||
.cm-s-lesser-dark span.cm-hr {color: #999;}
|
||||
.cm-s-lesser-dark span.cm-link {color: #00c;}
|
||||
.cm-s-lesser-dark span.cm-attribute { color: #00c; }
|
||||
.cm-s-lesser-dark span.cm-hr { color: #999; }
|
||||
.cm-s-lesser-dark span.cm-link { color: #00c; }
|
||||
.cm-s-lesser-dark span.cm-error { color: #9d1e15; }
|
||||
|
||||
.cm-s-lesser-dark .CodeMirror-activeline-background {background: #3C3A3A !important;}
|
||||
.cm-s-lesser-dark .CodeMirror-matchingbracket {outline:1px solid grey; color:white !important;}
|
||||
.cm-s-lesser-dark .CodeMirror-activeline-background { background: #3C3A3A; }
|
||||
.cm-s-lesser-dark .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; }
|
||||
|
||||
38
CodeMirror/theme/liquibyte.css
vendored
38
CodeMirror/theme/liquibyte.css
vendored
@@ -4,27 +4,27 @@
|
||||
line-height: 1.2em;
|
||||
font-size: 1em;
|
||||
}
|
||||
.CodeMirror-focused .cm-matchhighlight {
|
||||
.cm-s-liquibyte .CodeMirror-focused .cm-matchhighlight {
|
||||
text-decoration: underline;
|
||||
text-decoration-color: #0f0;
|
||||
text-decoration-style: wavy;
|
||||
}
|
||||
.cm-trailingspace {
|
||||
.cm-s-liquibyte .cm-trailingspace {
|
||||
text-decoration: line-through;
|
||||
text-decoration-color: #f00;
|
||||
text-decoration-style: dotted;
|
||||
}
|
||||
.cm-tab {
|
||||
.cm-s-liquibyte .cm-tab {
|
||||
text-decoration: line-through;
|
||||
text-decoration-color: #404040;
|
||||
text-decoration-style: dotted;
|
||||
}
|
||||
.cm-s-liquibyte .CodeMirror-gutters { background-color: #262626; border-right: 1px solid #505050; padding-right: 0.8em; }
|
||||
.cm-s-liquibyte .CodeMirror-gutter-elt div{ font-size: 1.2em; }
|
||||
.cm-s-liquibyte .CodeMirror-gutter-elt div { font-size: 1.2em; }
|
||||
.cm-s-liquibyte .CodeMirror-guttermarker { }
|
||||
.cm-s-liquibyte .CodeMirror-guttermarker-subtle { }
|
||||
.cm-s-liquibyte .CodeMirror-linenumber { color: #606060; padding-left: 0;}
|
||||
.cm-s-liquibyte .CodeMirror-cursor { border-left: 1px solid #eee !important; }
|
||||
.cm-s-liquibyte .CodeMirror-linenumber { color: #606060; padding-left: 0; }
|
||||
.cm-s-liquibyte .CodeMirror-cursor { border-left: 1px solid #eee; }
|
||||
|
||||
.cm-s-liquibyte span.cm-comment { color: #008000; }
|
||||
.cm-s-liquibyte span.cm-def { color: #ffaf40; font-weight: bold; }
|
||||
@@ -47,49 +47,49 @@
|
||||
.cm-s-liquibyte span.cm-attribute { color: #c080ff; font-weight: bold; }
|
||||
.cm-s-liquibyte span.cm-error { color: #f00; }
|
||||
|
||||
.cm-s-liquibyte .CodeMirror-selected { background-color: rgba(255, 0, 0, 0.25) !important; }
|
||||
.cm-s-liquibyte div.CodeMirror-selected { background-color: rgba(255, 0, 0, 0.25); }
|
||||
|
||||
.cm-s-liquibyte span.cm-compilation { background-color: rgba(255, 255, 255, 0.12); }
|
||||
|
||||
.cm-s-liquibyte .CodeMirror-activeline-background {background-color: rgba(0, 255, 0, 0.15) !important;}
|
||||
.cm-s-liquibyte .CodeMirror-activeline-background { background-color: rgba(0, 255, 0, 0.15); }
|
||||
|
||||
/* Default styles for common addons */
|
||||
div.CodeMirror span.CodeMirror-matchingbracket { color: #0f0; font-weight: bold; }
|
||||
div.CodeMirror span.CodeMirror-nonmatchingbracket { color: #f00; font-weight: bold; }
|
||||
.cm-s-liquibyte .CodeMirror span.CodeMirror-matchingbracket { color: #0f0; font-weight: bold; }
|
||||
.cm-s-liquibyte .CodeMirror span.CodeMirror-nonmatchingbracket { color: #f00; font-weight: bold; }
|
||||
.CodeMirror-matchingtag { background-color: rgba(150, 255, 0, .3); }
|
||||
/* Scrollbars */
|
||||
/* Simple */
|
||||
div.CodeMirror-simplescroll-horizontal div:hover, div.CodeMirror-simplescroll-vertical div:hover {
|
||||
.cm-s-liquibyte div.CodeMirror-simplescroll-horizontal div:hover, div.CodeMirror-simplescroll-vertical div:hover {
|
||||
background-color: rgba(80, 80, 80, .7);
|
||||
}
|
||||
div.CodeMirror-simplescroll-horizontal div, div.CodeMirror-simplescroll-vertical div {
|
||||
.cm-s-liquibyte div.CodeMirror-simplescroll-horizontal div, div.CodeMirror-simplescroll-vertical div {
|
||||
background-color: rgba(80, 80, 80, .3);
|
||||
border: 1px solid #404040;
|
||||
border-radius: 5px;
|
||||
}
|
||||
div.CodeMirror-simplescroll-vertical div {
|
||||
.cm-s-liquibyte div.CodeMirror-simplescroll-vertical div {
|
||||
border-top: 1px solid #404040;
|
||||
border-bottom: 1px solid #404040;
|
||||
}
|
||||
div.CodeMirror-simplescroll-horizontal div {
|
||||
.cm-s-liquibyte div.CodeMirror-simplescroll-horizontal div {
|
||||
border-left: 1px solid #404040;
|
||||
border-right: 1px solid #404040;
|
||||
}
|
||||
div.CodeMirror-simplescroll-vertical {
|
||||
.cm-s-liquibyte div.CodeMirror-simplescroll-vertical {
|
||||
background-color: #262626;
|
||||
}
|
||||
div.CodeMirror-simplescroll-horizontal {
|
||||
.cm-s-liquibyte div.CodeMirror-simplescroll-horizontal {
|
||||
background-color: #262626;
|
||||
border-top: 1px solid #404040;
|
||||
}
|
||||
/* Overlay */
|
||||
div.CodeMirror-overlayscroll-horizontal div, div.CodeMirror-overlayscroll-vertical div {
|
||||
.cm-s-liquibyte div.CodeMirror-overlayscroll-horizontal div, div.CodeMirror-overlayscroll-vertical div {
|
||||
background-color: #404040;
|
||||
border-radius: 5px;
|
||||
}
|
||||
div.CodeMirror-overlayscroll-vertical div {
|
||||
.cm-s-liquibyte div.CodeMirror-overlayscroll-vertical div {
|
||||
border: 1px solid #404040;
|
||||
}
|
||||
div.CodeMirror-overlayscroll-horizontal div {
|
||||
.cm-s-liquibyte div.CodeMirror-overlayscroll-horizontal div {
|
||||
border: 1px solid #404040;
|
||||
}
|
||||
|
||||
53
CodeMirror/theme/material.css
vendored
Normal file
53
CodeMirror/theme/material.css
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
|
||||
Name: material
|
||||
Author: Michael Kaminsky (http://github.com/mkaminsky11)
|
||||
|
||||
Original material color scheme by Mattia Astorino (https://github.com/equinusocio/material-theme)
|
||||
|
||||
*/
|
||||
|
||||
.cm-s-material {
|
||||
background-color: #263238;
|
||||
color: rgba(233, 237, 237, 1);
|
||||
}
|
||||
.cm-s-material .CodeMirror-gutters {
|
||||
background: #263238;
|
||||
color: rgb(83,127,126);
|
||||
border: none;
|
||||
}
|
||||
.cm-s-material .CodeMirror-guttermarker, .cm-s-material .CodeMirror-guttermarker-subtle, .cm-s-material .CodeMirror-linenumber { color: rgb(83,127,126); }
|
||||
.cm-s-material .CodeMirror-cursor { border-left: 1px solid #f8f8f0; }
|
||||
.cm-s-material div.CodeMirror-selected { background: rgba(255, 255, 255, 0.15); }
|
||||
.cm-s-material.CodeMirror-focused div.CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }
|
||||
.cm-s-material .CodeMirror-line::selection, .cm-s-material .CodeMirror-line > span::selection, .cm-s-material .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }
|
||||
.cm-s-material .CodeMirror-line::-moz-selection, .cm-s-material .CodeMirror-line > span::-moz-selection, .cm-s-material .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }
|
||||
|
||||
.cm-s-material .CodeMirror-activeline-background { background: rgba(0, 0, 0, 0); }
|
||||
.cm-s-material .cm-keyword { color: rgba(199, 146, 234, 1); }
|
||||
.cm-s-material .cm-operator { color: rgba(233, 237, 237, 1); }
|
||||
.cm-s-material .cm-variable-2 { color: #80CBC4; }
|
||||
.cm-s-material .cm-variable-3 { color: #82B1FF; }
|
||||
.cm-s-material .cm-builtin { color: #DECB6B; }
|
||||
.cm-s-material .cm-atom { color: #F77669; }
|
||||
.cm-s-material .cm-number { color: #F77669; }
|
||||
.cm-s-material .cm-def { color: rgba(233, 237, 237, 1); }
|
||||
.cm-s-material .cm-string { color: #C3E88D; }
|
||||
.cm-s-material .cm-string-2 { color: #80CBC4; }
|
||||
.cm-s-material .cm-comment { color: #546E7A; }
|
||||
.cm-s-material .cm-variable { color: #82B1FF; }
|
||||
.cm-s-material .cm-tag { color: #80CBC4; }
|
||||
.cm-s-material .cm-meta { color: #80CBC4; }
|
||||
.cm-s-material .cm-attribute { color: #FFCB6B; }
|
||||
.cm-s-material .cm-property { color: #80CBAE; }
|
||||
.cm-s-material .cm-qualifier { color: #DECB6B; }
|
||||
.cm-s-material .cm-variable-3 { color: #DECB6B; }
|
||||
.cm-s-material .cm-tag { color: rgba(255, 83, 112, 1); }
|
||||
.cm-s-material .cm-error {
|
||||
color: rgba(255, 255, 255, 1.0);
|
||||
background-color: #EC5F67;
|
||||
}
|
||||
.cm-s-material .CodeMirror-matchingbracket {
|
||||
text-decoration: underline;
|
||||
color: white !important;
|
||||
}
|
||||
50
CodeMirror/theme/mbo.css
vendored
50
CodeMirror/theme/mbo.css
vendored
@@ -4,34 +4,34 @@
|
||||
/* Create your own: http://tmtheme-editor.herokuapp.com */
|
||||
/****************************************************************/
|
||||
|
||||
.cm-s-mbo.CodeMirror {background: #2c2c2c; color: #ffffec;}
|
||||
.cm-s-mbo div.CodeMirror-selected {background: #716C62 !important;}
|
||||
.cm-s-mbo.CodeMirror ::selection { background: rgba(113, 108, 98, .99); }
|
||||
.cm-s-mbo.CodeMirror ::-moz-selection { background: rgba(113, 108, 98, .99); }
|
||||
.cm-s-mbo .CodeMirror-gutters {background: #4e4e4e; border-right: 0px;}
|
||||
.cm-s-mbo.CodeMirror { background: #2c2c2c; color: #ffffec; }
|
||||
.cm-s-mbo div.CodeMirror-selected { background: #716C62; }
|
||||
.cm-s-mbo .CodeMirror-line::selection, .cm-s-mbo .CodeMirror-line > span::selection, .cm-s-mbo .CodeMirror-line > span > span::selection { background: rgba(113, 108, 98, .99); }
|
||||
.cm-s-mbo .CodeMirror-line::-moz-selection, .cm-s-mbo .CodeMirror-line > span::-moz-selection, .cm-s-mbo .CodeMirror-line > span > span::-moz-selection { background: rgba(113, 108, 98, .99); }
|
||||
.cm-s-mbo .CodeMirror-gutters { background: #4e4e4e; border-right: 0px; }
|
||||
.cm-s-mbo .CodeMirror-guttermarker { color: white; }
|
||||
.cm-s-mbo .CodeMirror-guttermarker-subtle { color: grey; }
|
||||
.cm-s-mbo .CodeMirror-linenumber {color: #dadada;}
|
||||
.cm-s-mbo .CodeMirror-cursor {border-left: 1px solid #ffffec !important;}
|
||||
.cm-s-mbo .CodeMirror-linenumber { color: #dadada; }
|
||||
.cm-s-mbo .CodeMirror-cursor { border-left: 1px solid #ffffec; }
|
||||
|
||||
.cm-s-mbo span.cm-comment {color: #95958a;}
|
||||
.cm-s-mbo span.cm-atom {color: #00a8c6;}
|
||||
.cm-s-mbo span.cm-number {color: #00a8c6;}
|
||||
.cm-s-mbo span.cm-comment { color: #95958a; }
|
||||
.cm-s-mbo span.cm-atom { color: #00a8c6; }
|
||||
.cm-s-mbo span.cm-number { color: #00a8c6; }
|
||||
|
||||
.cm-s-mbo span.cm-property, .cm-s-mbo span.cm-attribute {color: #9ddfe9;}
|
||||
.cm-s-mbo span.cm-keyword {color: #ffb928;}
|
||||
.cm-s-mbo span.cm-string {color: #ffcf6c;}
|
||||
.cm-s-mbo span.cm-string.cm-property {color: #ffffec;}
|
||||
.cm-s-mbo span.cm-property, .cm-s-mbo span.cm-attribute { color: #9ddfe9; }
|
||||
.cm-s-mbo span.cm-keyword { color: #ffb928; }
|
||||
.cm-s-mbo span.cm-string { color: #ffcf6c; }
|
||||
.cm-s-mbo span.cm-string.cm-property { color: #ffffec; }
|
||||
|
||||
.cm-s-mbo span.cm-variable {color: #ffffec;}
|
||||
.cm-s-mbo span.cm-variable-2 {color: #00a8c6;}
|
||||
.cm-s-mbo span.cm-def {color: #ffffec;}
|
||||
.cm-s-mbo span.cm-bracket {color: #fffffc; font-weight: bold;}
|
||||
.cm-s-mbo span.cm-tag {color: #9ddfe9;}
|
||||
.cm-s-mbo span.cm-link {color: #f54b07;}
|
||||
.cm-s-mbo span.cm-error {border-bottom: #636363; color: #ffffec;}
|
||||
.cm-s-mbo span.cm-qualifier {color: #ffffec;}
|
||||
.cm-s-mbo span.cm-variable { color: #ffffec; }
|
||||
.cm-s-mbo span.cm-variable-2 { color: #00a8c6; }
|
||||
.cm-s-mbo span.cm-def { color: #ffffec; }
|
||||
.cm-s-mbo span.cm-bracket { color: #fffffc; font-weight: bold; }
|
||||
.cm-s-mbo span.cm-tag { color: #9ddfe9; }
|
||||
.cm-s-mbo span.cm-link { color: #f54b07; }
|
||||
.cm-s-mbo span.cm-error { border-bottom: #636363; color: #ffffec; }
|
||||
.cm-s-mbo span.cm-qualifier { color: #ffffec; }
|
||||
|
||||
.cm-s-mbo .CodeMirror-activeline-background {background: #494b41 !important;}
|
||||
.cm-s-mbo .CodeMirror-matchingbracket {color: #222 !important;}
|
||||
.cm-s-mbo .CodeMirror-matchingtag {background: rgba(255, 255, 255, .37);}
|
||||
.cm-s-mbo .CodeMirror-activeline-background { background: #494b41; }
|
||||
.cm-s-mbo .CodeMirror-matchingbracket { color: #ffb928 !important; }
|
||||
.cm-s-mbo .CodeMirror-matchingtag { background: rgba(255, 255, 255, .37); }
|
||||
|
||||
16
CodeMirror/theme/mdn-like.css
vendored
16
CodeMirror/theme/mdn-like.css
vendored
@@ -8,15 +8,15 @@
|
||||
|
||||
*/
|
||||
.cm-s-mdn-like.CodeMirror { color: #999; background-color: #fff; }
|
||||
.cm-s-mdn-like .CodeMirror-selected { background: #cfc !important; }
|
||||
.cm-s-mdn-like.CodeMirror ::selection { background: #cfc; }
|
||||
.cm-s-mdn-like.CodeMirror ::-moz-selection { background: #cfc; }
|
||||
.cm-s-mdn-like div.CodeMirror-selected { background: #cfc; }
|
||||
.cm-s-mdn-like .CodeMirror-line::selection, .cm-s-mdn-like .CodeMirror-line > span::selection, .cm-s-mdn-like .CodeMirror-line > span > span::selection { background: #cfc; }
|
||||
.cm-s-mdn-like .CodeMirror-line::-moz-selection, .cm-s-mdn-like .CodeMirror-line > span::-moz-selection, .cm-s-mdn-like .CodeMirror-line > span > span::-moz-selection { background: #cfc; }
|
||||
|
||||
.cm-s-mdn-like .CodeMirror-gutters { background: #f8f8f8; border-left: 6px solid rgba(0,83,159,0.65); color: #333; }
|
||||
.cm-s-mdn-like .CodeMirror-linenumber { color: #aaa; padding-left: 8px; }
|
||||
div.cm-s-mdn-like .CodeMirror-cursor { border-left: 2px solid #222; }
|
||||
.cm-s-mdn-like .CodeMirror-cursor { border-left: 2px solid #222; }
|
||||
|
||||
.cm-s-mdn-like .cm-keyword { color: #6262FF; }
|
||||
.cm-s-mdn-like .cm-keyword { color: #6262FF; }
|
||||
.cm-s-mdn-like .cm-atom { color: #F90; }
|
||||
.cm-s-mdn-like .cm-number { color: #ca7841; }
|
||||
.cm-s-mdn-like .cm-def { color: #8DA6CE; }
|
||||
@@ -37,10 +37,10 @@ div.cm-s-mdn-like .CodeMirror-cursor { border-left: 2px solid #222; }
|
||||
.cm-s-mdn-like .cm-attribute { color: #d6bb6d; } /*?*/
|
||||
.cm-s-mdn-like .cm-header { color: #FF6400; }
|
||||
.cm-s-mdn-like .cm-hr { color: #AEAEAE; }
|
||||
.cm-s-mdn-like .cm-link { color:#ad9361; font-style:italic; text-decoration:none; }
|
||||
.cm-s-mdn-like .cm-link { color:#ad9361; font-style:italic; text-decoration:none; }
|
||||
.cm-s-mdn-like .cm-error { border-bottom: 1px solid red; }
|
||||
|
||||
div.cm-s-mdn-like .CodeMirror-activeline-background {background: #efefff;}
|
||||
div.cm-s-mdn-like span.CodeMirror-matchingbracket {outline:1px solid grey; color: inherit;}
|
||||
div.cm-s-mdn-like .CodeMirror-activeline-background { background: #efefff; }
|
||||
div.cm-s-mdn-like span.CodeMirror-matchingbracket { outline:1px solid grey; color: inherit; }
|
||||
|
||||
.cm-s-mdn-like.CodeMirror { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAAAyCAYAAAAp8UeFAAAHvklEQVR42s2b63bcNgyEQZCSHCdt2vd/0tWF7I+Q6XgMXiTtuvU5Pl57ZQKkKHzEAOtF5KeIJBGJ8uvL599FRFREZhFx8DeXv8trn68RuGaC8TRfo3SNp9dlDDHedyLyTUTeRWStXKPZrjtpZxaRw5hPqozRs1N8/enzIiQRWcCgy4MUA0f+XWliDhyL8Lfyvx7ei/Ae3iQFHyw7U/59pQVIMEEPEz0G7XiwdRjzSfC3UTtz9vchIntxvry5iMgfIhJoEflOz2CQr3F5h/HfeFe+GTdLaKcu9L8LTeQb/R/7GgbsfKedyNdoHsN31uRPWrfZ5wsj/NzzRQHuToIdU3ahwnsKPxXCjJITuOsi7XLc7SG/v5GdALs7wf8JjTFiB5+QvTEfRyGOfX3Lrx8wxyQi3sNq46O7QahQiCsRFgqddjBouVEHOKDgXAQHD9gJCr5sMKkEdjwsarG/ww3BMHBU7OBjXnzdyY7SfCxf5/z6ATccrwlKuwC/jhznnPF4CgVzhhVf4xp2EixcBActO75iZ8/fM9zAs2OMzKdslgXWJ9XG8PQoOAMA5fGcsvORgv0doBXyHrCwfLJAOwo71QLNkb8n2Pl6EWiR7OCibtkPaz4Kc/0NNAze2gju3zOwekALDaCFPI5vjPFmgGY5AZqyGEvH1x7QfIb8YtxMnA/b+QQ0aQDAwc6JMFg8CbQZ4qoYEEHbRwNojuK3EHwd7VALSgq+MNDKzfT58T8qdpADrgW0GmgcAS1lhzztJmkAzcPNOQbsWEALBDSlMKUG0Eq4CLAQWvEVQ9WU57gZJwZtgPO3r9oBTQ9WO8TjqXINx8R0EYpiZEUWOF3FxkbJkgU9B2f41YBrIj5ZfsQa0M5kTgiAAqM3ShXLgu8XMqcrQBvJ0CL5pnTsfMB13oB8athpAq2XOQmcGmoACCLydx7nToa23ATaSIY2ichfOdPTGxlasXMLaL0MLZAOwAKIM+y8CmicobGdCcbbK9DzN+yYGVoNNI5iUKTMyYOjPse4A8SM1MmcXgU0toOq1yO/v8FOxlASyc7TgeYaAMBJHcY1CcCwGI/TK4AmDbDyKYBBtFUkRwto8gygiQEaByFgJ00BH2M8JWwQS1nafDXQCidWyOI8AcjDCSjCLk8ngObuAm3JAHAdubAmOaK06V8MNEsKPJOhobSprwQa6gD7DclRQdqcwL4zxqgBrQcabUiBLclRDKAlWp+etPkBaNMA0AKlrHwTdEByZAA4GM+SNluSY6wAzcMNewxmgig5Ks0nkrSpBvSaQHMdKTBAnLojOdYyGpQ254602ZILPdTD1hdlggdIm74jbTp8vDwF5ZYUeLWGJpWsh6XNyXgcYwVoJQTEhhTYkxzZjiU5npU2TaB979TQehlaAVq4kaGpiPwwwLkYUuBbQwocyQTv1tA0+1UFWoJF3iv1oq+qoSk8EQdJmwHkziIF7oOZk14EGitibAdjLYYK78H5vZOhtWpoI0ATGHs0Q8OMb4Ey+2bU2UYztCtA0wFAs7TplGLRVQCcqaFdGSPCeTI1QNIC52iWNzof6Uib7xjEp07mNNoUYmVosVItHrHzRlLgBn9LFyRHaQCtVUMbtTNhoXWiTOO9k/V8BdAc1Oq0ArSQs6/5SU0hckNy9NnXqQY0PGYo5dWJ7nINaN6o958FWin27aBaWRka1r5myvLOAm0j30eBJqCxHLReVclxhxOEN2JfDWjxBtAC7MIH1fVaGdoOp4qJYDgKtKPSFNID2gSnGldrCqkFZ+5UeQXQBIRrSwocbdZYQT/2LwRahBPBXoHrB8nxaGROST62DKUbQOMMzZIC9abkuELfQzQALWTnDNAm8KHWFOJgJ5+SHIvTPcmx1xQyZRhNL5Qci689aXMEaN/uNIWkEwDAvFpOZmgsBaaGnbs1NPa1Jm32gBZAIh1pCtG7TSH4aE0y1uVY4uqoFPisGlpP2rSA5qTecWn5agK6BzSpgAyD+wFaqhnYoSZ1Vwr8CmlTQbrcO3ZaX0NAEyMbYaAlyquFoLKK3SPby9CeVUPThrSJmkCAE0CrKUQadi4DrdSlWhmah0YL9z9vClH59YGbHx1J8VZTyAjQepJjmXwAKTDQI3omc3p1U4gDUf6RfcdYfrUp5ClAi2J3Ba6UOXGo+K+bQrjjssitG2SJzshaLwMtXgRagUNpYYoVkMSBLM+9GGiJZMvduG6DRZ4qc04DMPtQQxOjEtACmhO7K1AbNbQDEggZyJwscFpAGwENhoBeUwh3bWolhe8BTYVKxQEWrSUn/uhcM5KhvUu/+eQu0Lzhi+VrK0PrZZNDQKs9cpYUuFYgMVpD4/NxenJTiMCNqdUEUf1qZWjppLT5qSkkUZbCwkbZMSuVnu80hfSkzRbQeqCZSAh6huR4VtoM2gHAlLf72smuWgE+VV7XpE25Ab2WFDgyhnSuKbs4GuGzCjR+tIoUuMFg3kgcWKLTwRqanJQ2W00hAsenfaApRC42hbCvK1SlE0HtE9BGgneJO+ELamitD1YjjOYnNYVcraGhtKkW0EqVVeDx733I2NH581k1NNxNLG0i0IJ8/NjVaOZ0tYZ2Vtr0Xv7tPV3hkWp9EFkgS/J0vosngTaSoaG06WHi+xObQkaAdlbanP8B2+2l0f90LmUAAAAASUVORK5CYII=); }
|
||||
|
||||
44
CodeMirror/theme/midnight.css
vendored
44
CodeMirror/theme/midnight.css
vendored
@@ -5,41 +5,39 @@
|
||||
.cm-s-midnight.CodeMirror-focused span.CodeMirror-matchhighlight { background: #314D67 !important; }
|
||||
|
||||
/*<!--activeline-->*/
|
||||
.cm-s-midnight .CodeMirror-activeline-background {background: #253540 !important;}
|
||||
.cm-s-midnight .CodeMirror-activeline-background { background: #253540; }
|
||||
|
||||
.cm-s-midnight.CodeMirror {
|
||||
background: #0F192A;
|
||||
color: #D1EDFF;
|
||||
}
|
||||
|
||||
.cm-s-midnight.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}
|
||||
.cm-s-midnight.CodeMirror { border-top: 1px solid black; border-bottom: 1px solid black; }
|
||||
|
||||
.cm-s-midnight div.CodeMirror-selected {background: #314D67 !important;}
|
||||
.cm-s-midnight.CodeMirror ::selection { background: rgba(49, 77, 103, .99); }
|
||||
.cm-s-midnight.CodeMirror ::-moz-selection { background: rgba(49, 77, 103, .99); }
|
||||
.cm-s-midnight .CodeMirror-gutters {background: #0F192A; border-right: 1px solid;}
|
||||
.cm-s-midnight div.CodeMirror-selected { background: #314D67; }
|
||||
.cm-s-midnight .CodeMirror-line::selection, .cm-s-midnight .CodeMirror-line > span::selection, .cm-s-midnight .CodeMirror-line > span > span::selection { background: rgba(49, 77, 103, .99); }
|
||||
.cm-s-midnight .CodeMirror-line::-moz-selection, .cm-s-midnight .CodeMirror-line > span::-moz-selection, .cm-s-midnight .CodeMirror-line > span > span::-moz-selection { background: rgba(49, 77, 103, .99); }
|
||||
.cm-s-midnight .CodeMirror-gutters { background: #0F192A; border-right: 1px solid; }
|
||||
.cm-s-midnight .CodeMirror-guttermarker { color: white; }
|
||||
.cm-s-midnight .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
|
||||
.cm-s-midnight .CodeMirror-linenumber {color: #D0D0D0;}
|
||||
.cm-s-midnight .CodeMirror-cursor {
|
||||
border-left: 1px solid #F8F8F0 !important;
|
||||
}
|
||||
.cm-s-midnight .CodeMirror-linenumber { color: #D0D0D0; }
|
||||
.cm-s-midnight .CodeMirror-cursor { border-left: 1px solid #F8F8F0; }
|
||||
|
||||
.cm-s-midnight span.cm-comment {color: #428BDD;}
|
||||
.cm-s-midnight span.cm-atom {color: #AE81FF;}
|
||||
.cm-s-midnight span.cm-number {color: #D1EDFF;}
|
||||
.cm-s-midnight span.cm-comment { color: #428BDD; }
|
||||
.cm-s-midnight span.cm-atom { color: #AE81FF; }
|
||||
.cm-s-midnight span.cm-number { color: #D1EDFF; }
|
||||
|
||||
.cm-s-midnight span.cm-property, .cm-s-midnight span.cm-attribute {color: #A6E22E;}
|
||||
.cm-s-midnight span.cm-keyword {color: #E83737;}
|
||||
.cm-s-midnight span.cm-string {color: #1DC116;}
|
||||
.cm-s-midnight span.cm-property, .cm-s-midnight span.cm-attribute { color: #A6E22E; }
|
||||
.cm-s-midnight span.cm-keyword { color: #E83737; }
|
||||
.cm-s-midnight span.cm-string { color: #1DC116; }
|
||||
|
||||
.cm-s-midnight span.cm-variable {color: #FFAA3E;}
|
||||
.cm-s-midnight span.cm-variable-2 {color: #FFAA3E;}
|
||||
.cm-s-midnight span.cm-def {color: #4DD;}
|
||||
.cm-s-midnight span.cm-bracket {color: #D1EDFF;}
|
||||
.cm-s-midnight span.cm-tag {color: #449;}
|
||||
.cm-s-midnight span.cm-link {color: #AE81FF;}
|
||||
.cm-s-midnight span.cm-error {background: #F92672; color: #F8F8F0;}
|
||||
.cm-s-midnight span.cm-variable { color: #FFAA3E; }
|
||||
.cm-s-midnight span.cm-variable-2 { color: #FFAA3E; }
|
||||
.cm-s-midnight span.cm-def { color: #4DD; }
|
||||
.cm-s-midnight span.cm-bracket { color: #D1EDFF; }
|
||||
.cm-s-midnight span.cm-tag { color: #449; }
|
||||
.cm-s-midnight span.cm-link { color: #AE81FF; }
|
||||
.cm-s-midnight span.cm-error { background: #F92672; color: #F8F8F0; }
|
||||
|
||||
.cm-s-midnight .CodeMirror-matchingbracket {
|
||||
text-decoration: underline;
|
||||
|
||||
45
CodeMirror/theme/monokai.css
vendored
45
CodeMirror/theme/monokai.css
vendored
@@ -1,32 +1,35 @@
|
||||
/* Based on Sublime Text's Monokai theme */
|
||||
|
||||
.cm-s-monokai.CodeMirror {background: #272822; color: #f8f8f2;}
|
||||
.cm-s-monokai div.CodeMirror-selected {background: #49483E !important;}
|
||||
.cm-s-monokai.CodeMirror ::selection { background: rgba(73, 72, 62, .99); }
|
||||
.cm-s-monokai.CodeMirror ::-moz-selection { background: rgba(73, 72, 62, .99); }
|
||||
.cm-s-monokai .CodeMirror-gutters {background: #272822; border-right: 0px;}
|
||||
.cm-s-monokai.CodeMirror { background: #272822; color: #f8f8f2; }
|
||||
.cm-s-monokai div.CodeMirror-selected { background: #49483E; }
|
||||
.cm-s-monokai .CodeMirror-line::selection, .cm-s-monokai .CodeMirror-line > span::selection, .cm-s-monokai .CodeMirror-line > span > span::selection { background: rgba(73, 72, 62, .99); }
|
||||
.cm-s-monokai .CodeMirror-line::-moz-selection, .cm-s-monokai .CodeMirror-line > span::-moz-selection, .cm-s-monokai .CodeMirror-line > span > span::-moz-selection { background: rgba(73, 72, 62, .99); }
|
||||
.cm-s-monokai .CodeMirror-gutters { background: #272822; border-right: 0px; }
|
||||
.cm-s-monokai .CodeMirror-guttermarker { color: white; }
|
||||
.cm-s-monokai .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
|
||||
.cm-s-monokai .CodeMirror-linenumber {color: #d0d0d0;}
|
||||
.cm-s-monokai .CodeMirror-cursor {border-left: 1px solid #f8f8f0 !important;}
|
||||
.cm-s-monokai .CodeMirror-linenumber { color: #d0d0d0; }
|
||||
.cm-s-monokai .CodeMirror-cursor { border-left: 1px solid #f8f8f0; }
|
||||
|
||||
.cm-s-monokai span.cm-comment {color: #75715e;}
|
||||
.cm-s-monokai span.cm-atom {color: #ae81ff;}
|
||||
.cm-s-monokai span.cm-number {color: #ae81ff;}
|
||||
.cm-s-monokai span.cm-comment { color: #75715e; }
|
||||
.cm-s-monokai span.cm-atom { color: #ae81ff; }
|
||||
.cm-s-monokai span.cm-number { color: #ae81ff; }
|
||||
|
||||
.cm-s-monokai span.cm-property, .cm-s-monokai span.cm-attribute {color: #a6e22e;}
|
||||
.cm-s-monokai span.cm-keyword {color: #f92672;}
|
||||
.cm-s-monokai span.cm-string {color: #e6db74;}
|
||||
.cm-s-monokai span.cm-property, .cm-s-monokai span.cm-attribute { color: #a6e22e; }
|
||||
.cm-s-monokai span.cm-keyword { color: #f92672; }
|
||||
.cm-s-monokai span.cm-builtin { color: #66d9ef; }
|
||||
.cm-s-monokai span.cm-string { color: #e6db74; }
|
||||
|
||||
.cm-s-monokai span.cm-variable {color: #f8f8f2;}
|
||||
.cm-s-monokai span.cm-variable-2 {color: #9effff;}
|
||||
.cm-s-monokai span.cm-def {color: #fd971f;}
|
||||
.cm-s-monokai span.cm-bracket {color: #f8f8f2;}
|
||||
.cm-s-monokai span.cm-tag {color: #f92672;}
|
||||
.cm-s-monokai span.cm-link {color: #ae81ff;}
|
||||
.cm-s-monokai span.cm-error {background: #f92672; color: #f8f8f0;}
|
||||
.cm-s-monokai span.cm-variable { color: #f8f8f2; }
|
||||
.cm-s-monokai span.cm-variable-2 { color: #9effff; }
|
||||
.cm-s-monokai span.cm-variable-3 { color: #66d9ef; }
|
||||
.cm-s-monokai span.cm-def { color: #fd971f; }
|
||||
.cm-s-monokai span.cm-bracket { color: #f8f8f2; }
|
||||
.cm-s-monokai span.cm-tag { color: #f92672; }
|
||||
.cm-s-monokai span.cm-header { color: #ae81ff; }
|
||||
.cm-s-monokai span.cm-link { color: #ae81ff; }
|
||||
.cm-s-monokai span.cm-error { background: #f92672; color: #f8f8f0; }
|
||||
|
||||
.cm-s-monokai .CodeMirror-activeline-background {background: #373831 !important;}
|
||||
.cm-s-monokai .CodeMirror-activeline-background { background: #373831; }
|
||||
.cm-s-monokai .CodeMirror-matchingbracket {
|
||||
text-decoration: underline;
|
||||
color: white !important;
|
||||
|
||||
6
CodeMirror/theme/neat.css
vendored
6
CodeMirror/theme/neat.css
vendored
@@ -5,8 +5,8 @@
|
||||
.cm-s-neat span.cm-special { line-height: 1em; font-weight: bold; color: #0aa; }
|
||||
.cm-s-neat span.cm-variable { color: black; }
|
||||
.cm-s-neat span.cm-number, .cm-s-neat span.cm-atom { color: #3a3; }
|
||||
.cm-s-neat span.cm-meta {color: #555;}
|
||||
.cm-s-neat span.cm-meta { color: #555; }
|
||||
.cm-s-neat span.cm-link { color: #3a3; }
|
||||
|
||||
.cm-s-neat .CodeMirror-activeline-background {background: #e8f2ff !important;}
|
||||
.cm-s-neat .CodeMirror-matchingbracket {outline:1px solid grey; color:black !important;}
|
||||
.cm-s-neat .CodeMirror-activeline-background { background: #e8f2ff; }
|
||||
.cm-s-neat .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; }
|
||||
|
||||
14
CodeMirror/theme/neo.css
vendored
14
CodeMirror/theme/neo.css
vendored
@@ -7,12 +7,12 @@
|
||||
color:#2e383c;
|
||||
line-height:1.4375;
|
||||
}
|
||||
.cm-s-neo .cm-comment {color:#75787b}
|
||||
.cm-s-neo .cm-keyword, .cm-s-neo .cm-property {color:#1d75b3}
|
||||
.cm-s-neo .cm-atom,.cm-s-neo .cm-number {color:#75438a}
|
||||
.cm-s-neo .cm-node,.cm-s-neo .cm-tag {color:#9c3328}
|
||||
.cm-s-neo .cm-string {color:#b35e14}
|
||||
.cm-s-neo .cm-variable,.cm-s-neo .cm-qualifier {color:#047d65}
|
||||
.cm-s-neo .cm-comment { color:#75787b; }
|
||||
.cm-s-neo .cm-keyword, .cm-s-neo .cm-property { color:#1d75b3; }
|
||||
.cm-s-neo .cm-atom,.cm-s-neo .cm-number { color:#75438a; }
|
||||
.cm-s-neo .cm-node,.cm-s-neo .cm-tag { color:#9c3328; }
|
||||
.cm-s-neo .cm-string { color:#b35e14; }
|
||||
.cm-s-neo .cm-variable,.cm-s-neo .cm-qualifier { color:#047d65; }
|
||||
|
||||
|
||||
/* Editor styling */
|
||||
@@ -35,7 +35,7 @@
|
||||
.cm-s-neo .CodeMirror-guttermarker { color: #1d75b3; }
|
||||
.cm-s-neo .CodeMirror-guttermarker-subtle { color: #e0e2e5; }
|
||||
|
||||
.cm-s-neo div.CodeMirror-cursor {
|
||||
.cm-s-neo .CodeMirror-cursor {
|
||||
width: auto;
|
||||
border: 0;
|
||||
background: rgba(155,157,162,0.37);
|
||||
|
||||
12
CodeMirror/theme/night.css
vendored
12
CodeMirror/theme/night.css
vendored
@@ -1,14 +1,14 @@
|
||||
/* Loosely based on the Midnight Textmate theme */
|
||||
|
||||
.cm-s-night.CodeMirror { background: #0a001f; color: #f8f8f8; }
|
||||
.cm-s-night div.CodeMirror-selected { background: #447 !important; }
|
||||
.cm-s-night.CodeMirror ::selection { background: rgba(68, 68, 119, .99); }
|
||||
.cm-s-night.CodeMirror ::-moz-selection { background: rgba(68, 68, 119, .99); }
|
||||
.cm-s-night div.CodeMirror-selected { background: #447; }
|
||||
.cm-s-night .CodeMirror-line::selection, .cm-s-night .CodeMirror-line > span::selection, .cm-s-night .CodeMirror-line > span > span::selection { background: rgba(68, 68, 119, .99); }
|
||||
.cm-s-night .CodeMirror-line::-moz-selection, .cm-s-night .CodeMirror-line > span::-moz-selection, .cm-s-night .CodeMirror-line > span > span::-moz-selection { background: rgba(68, 68, 119, .99); }
|
||||
.cm-s-night .CodeMirror-gutters { background: #0a001f; border-right: 1px solid #aaa; }
|
||||
.cm-s-night .CodeMirror-guttermarker { color: white; }
|
||||
.cm-s-night .CodeMirror-guttermarker-subtle { color: #bbb; }
|
||||
.cm-s-night .CodeMirror-linenumber { color: #f8f8f8; }
|
||||
.cm-s-night .CodeMirror-cursor { border-left: 1px solid white !important; }
|
||||
.cm-s-night .CodeMirror-cursor { border-left: 1px solid white; }
|
||||
|
||||
.cm-s-night span.cm-comment { color: #6900a1; }
|
||||
.cm-s-night span.cm-atom { color: #845dc4; }
|
||||
@@ -24,5 +24,5 @@
|
||||
.cm-s-night span.cm-link { color: #845dc4; }
|
||||
.cm-s-night span.cm-error { color: #9d1e15; }
|
||||
|
||||
.cm-s-night .CodeMirror-activeline-background {background: #1C005A !important;}
|
||||
.cm-s-night .CodeMirror-matchingbracket {outline:1px solid grey; color:white !important;}
|
||||
.cm-s-night .CodeMirror-activeline-background { background: #1C005A; }
|
||||
.cm-s-night .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; }
|
||||
|
||||
44
CodeMirror/theme/paraiso-dark.css
vendored
44
CodeMirror/theme/paraiso-dark.css
vendored
@@ -8,31 +8,31 @@
|
||||
|
||||
*/
|
||||
|
||||
.cm-s-paraiso-dark.CodeMirror {background: #2f1e2e; color: #b9b6b0;}
|
||||
.cm-s-paraiso-dark div.CodeMirror-selected {background: #41323f !important;}
|
||||
.cm-s-paraiso-dark.CodeMirror ::selection { background: rgba(65, 50, 63, .99); }
|
||||
.cm-s-paraiso-dark.CodeMirror ::-moz-selection { background: rgba(65, 50, 63, .99); }
|
||||
.cm-s-paraiso-dark .CodeMirror-gutters {background: #2f1e2e; border-right: 0px;}
|
||||
.cm-s-paraiso-dark.CodeMirror { background: #2f1e2e; color: #b9b6b0; }
|
||||
.cm-s-paraiso-dark div.CodeMirror-selected { background: #41323f; }
|
||||
.cm-s-paraiso-dark .CodeMirror-line::selection, .cm-s-paraiso-dark .CodeMirror-line > span::selection, .cm-s-paraiso-dark .CodeMirror-line > span > span::selection { background: rgba(65, 50, 63, .99); }
|
||||
.cm-s-paraiso-dark .CodeMirror-line::-moz-selection, .cm-s-paraiso-dark .CodeMirror-line > span::-moz-selection, .cm-s-paraiso-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(65, 50, 63, .99); }
|
||||
.cm-s-paraiso-dark .CodeMirror-gutters { background: #2f1e2e; border-right: 0px; }
|
||||
.cm-s-paraiso-dark .CodeMirror-guttermarker { color: #ef6155; }
|
||||
.cm-s-paraiso-dark .CodeMirror-guttermarker-subtle { color: #776e71; }
|
||||
.cm-s-paraiso-dark .CodeMirror-linenumber {color: #776e71;}
|
||||
.cm-s-paraiso-dark .CodeMirror-cursor {border-left: 1px solid #8d8687 !important;}
|
||||
.cm-s-paraiso-dark .CodeMirror-linenumber { color: #776e71; }
|
||||
.cm-s-paraiso-dark .CodeMirror-cursor { border-left: 1px solid #8d8687; }
|
||||
|
||||
.cm-s-paraiso-dark span.cm-comment {color: #e96ba8;}
|
||||
.cm-s-paraiso-dark span.cm-atom {color: #815ba4;}
|
||||
.cm-s-paraiso-dark span.cm-number {color: #815ba4;}
|
||||
.cm-s-paraiso-dark span.cm-comment { color: #e96ba8; }
|
||||
.cm-s-paraiso-dark span.cm-atom { color: #815ba4; }
|
||||
.cm-s-paraiso-dark span.cm-number { color: #815ba4; }
|
||||
|
||||
.cm-s-paraiso-dark span.cm-property, .cm-s-paraiso-dark span.cm-attribute {color: #48b685;}
|
||||
.cm-s-paraiso-dark span.cm-keyword {color: #ef6155;}
|
||||
.cm-s-paraiso-dark span.cm-string {color: #fec418;}
|
||||
.cm-s-paraiso-dark span.cm-property, .cm-s-paraiso-dark span.cm-attribute { color: #48b685; }
|
||||
.cm-s-paraiso-dark span.cm-keyword { color: #ef6155; }
|
||||
.cm-s-paraiso-dark span.cm-string { color: #fec418; }
|
||||
|
||||
.cm-s-paraiso-dark span.cm-variable {color: #48b685;}
|
||||
.cm-s-paraiso-dark span.cm-variable-2 {color: #06b6ef;}
|
||||
.cm-s-paraiso-dark span.cm-def {color: #f99b15;}
|
||||
.cm-s-paraiso-dark span.cm-bracket {color: #b9b6b0;}
|
||||
.cm-s-paraiso-dark span.cm-tag {color: #ef6155;}
|
||||
.cm-s-paraiso-dark span.cm-link {color: #815ba4;}
|
||||
.cm-s-paraiso-dark span.cm-error {background: #ef6155; color: #8d8687;}
|
||||
.cm-s-paraiso-dark span.cm-variable { color: #48b685; }
|
||||
.cm-s-paraiso-dark span.cm-variable-2 { color: #06b6ef; }
|
||||
.cm-s-paraiso-dark span.cm-def { color: #f99b15; }
|
||||
.cm-s-paraiso-dark span.cm-bracket { color: #b9b6b0; }
|
||||
.cm-s-paraiso-dark span.cm-tag { color: #ef6155; }
|
||||
.cm-s-paraiso-dark span.cm-link { color: #815ba4; }
|
||||
.cm-s-paraiso-dark span.cm-error { background: #ef6155; color: #8d8687; }
|
||||
|
||||
.cm-s-paraiso-dark .CodeMirror-activeline-background {background: #4D344A !important;}
|
||||
.cm-s-paraiso-dark .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
|
||||
.cm-s-paraiso-dark .CodeMirror-activeline-background { background: #4D344A; }
|
||||
.cm-s-paraiso-dark .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
|
||||
|
||||
44
CodeMirror/theme/paraiso-light.css
vendored
44
CodeMirror/theme/paraiso-light.css
vendored
@@ -8,31 +8,31 @@
|
||||
|
||||
*/
|
||||
|
||||
.cm-s-paraiso-light.CodeMirror {background: #e7e9db; color: #41323f;}
|
||||
.cm-s-paraiso-light div.CodeMirror-selected {background: #b9b6b0 !important;}
|
||||
.cm-s-paraiso-light.CodeMirror ::selection { background: #b9b6b0; }
|
||||
.cm-s-paraiso-light.CodeMirror ::-moz-selection { background: #b9b6b0; }
|
||||
.cm-s-paraiso-light .CodeMirror-gutters {background: #e7e9db; border-right: 0px;}
|
||||
.cm-s-paraiso-light.CodeMirror { background: #e7e9db; color: #41323f; }
|
||||
.cm-s-paraiso-light div.CodeMirror-selected { background: #b9b6b0; }
|
||||
.cm-s-paraiso-light .CodeMirror-line::selection, .cm-s-paraiso-light .CodeMirror-line > span::selection, .cm-s-paraiso-light .CodeMirror-line > span > span::selection { background: #b9b6b0; }
|
||||
.cm-s-paraiso-light .CodeMirror-line::-moz-selection, .cm-s-paraiso-light .CodeMirror-line > span::-moz-selection, .cm-s-paraiso-light .CodeMirror-line > span > span::-moz-selection { background: #b9b6b0; }
|
||||
.cm-s-paraiso-light .CodeMirror-gutters { background: #e7e9db; border-right: 0px; }
|
||||
.cm-s-paraiso-light .CodeMirror-guttermarker { color: black; }
|
||||
.cm-s-paraiso-light .CodeMirror-guttermarker-subtle { color: #8d8687; }
|
||||
.cm-s-paraiso-light .CodeMirror-linenumber {color: #8d8687;}
|
||||
.cm-s-paraiso-light .CodeMirror-cursor {border-left: 1px solid #776e71 !important;}
|
||||
.cm-s-paraiso-light .CodeMirror-linenumber { color: #8d8687; }
|
||||
.cm-s-paraiso-light .CodeMirror-cursor { border-left: 1px solid #776e71; }
|
||||
|
||||
.cm-s-paraiso-light span.cm-comment {color: #e96ba8;}
|
||||
.cm-s-paraiso-light span.cm-atom {color: #815ba4;}
|
||||
.cm-s-paraiso-light span.cm-number {color: #815ba4;}
|
||||
.cm-s-paraiso-light span.cm-comment { color: #e96ba8; }
|
||||
.cm-s-paraiso-light span.cm-atom { color: #815ba4; }
|
||||
.cm-s-paraiso-light span.cm-number { color: #815ba4; }
|
||||
|
||||
.cm-s-paraiso-light span.cm-property, .cm-s-paraiso-light span.cm-attribute {color: #48b685;}
|
||||
.cm-s-paraiso-light span.cm-keyword {color: #ef6155;}
|
||||
.cm-s-paraiso-light span.cm-string {color: #fec418;}
|
||||
.cm-s-paraiso-light span.cm-property, .cm-s-paraiso-light span.cm-attribute { color: #48b685; }
|
||||
.cm-s-paraiso-light span.cm-keyword { color: #ef6155; }
|
||||
.cm-s-paraiso-light span.cm-string { color: #fec418; }
|
||||
|
||||
.cm-s-paraiso-light span.cm-variable {color: #48b685;}
|
||||
.cm-s-paraiso-light span.cm-variable-2 {color: #06b6ef;}
|
||||
.cm-s-paraiso-light span.cm-def {color: #f99b15;}
|
||||
.cm-s-paraiso-light span.cm-bracket {color: #41323f;}
|
||||
.cm-s-paraiso-light span.cm-tag {color: #ef6155;}
|
||||
.cm-s-paraiso-light span.cm-link {color: #815ba4;}
|
||||
.cm-s-paraiso-light span.cm-error {background: #ef6155; color: #776e71;}
|
||||
.cm-s-paraiso-light span.cm-variable { color: #48b685; }
|
||||
.cm-s-paraiso-light span.cm-variable-2 { color: #06b6ef; }
|
||||
.cm-s-paraiso-light span.cm-def { color: #f99b15; }
|
||||
.cm-s-paraiso-light span.cm-bracket { color: #41323f; }
|
||||
.cm-s-paraiso-light span.cm-tag { color: #ef6155; }
|
||||
.cm-s-paraiso-light span.cm-link { color: #815ba4; }
|
||||
.cm-s-paraiso-light span.cm-error { background: #ef6155; color: #776e71; }
|
||||
|
||||
.cm-s-paraiso-light .CodeMirror-activeline-background {background: #CFD1C4 !important;}
|
||||
.cm-s-paraiso-light .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
|
||||
.cm-s-paraiso-light .CodeMirror-activeline-background { background: #CFD1C4; }
|
||||
.cm-s-paraiso-light .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
|
||||
|
||||
10
CodeMirror/theme/pastel-on-dark.css
vendored
10
CodeMirror/theme/pastel-on-dark.css
vendored
@@ -13,9 +13,9 @@
|
||||
line-height: 1.5;
|
||||
font-size: 14px;
|
||||
}
|
||||
.cm-s-pastel-on-dark div.CodeMirror-selected { background: rgba(221,240,255,0.2) !important; }
|
||||
.cm-s-pastel-on-dark.CodeMirror ::selection { background: rgba(221,240,255,0.2); }
|
||||
.cm-s-pastel-on-dark.CodeMirror ::-moz-selection { background: rgba(221,240,255,0.2); }
|
||||
.cm-s-pastel-on-dark div.CodeMirror-selected { background: rgba(221,240,255,0.2); }
|
||||
.cm-s-pastel-on-dark .CodeMirror-line::selection, .cm-s-pastel-on-dark .CodeMirror-line > span::selection, .cm-s-pastel-on-dark .CodeMirror-line > span > span::selection { background: rgba(221,240,255,0.2); }
|
||||
.cm-s-pastel-on-dark .CodeMirror-line::-moz-selection, .cm-s-pastel-on-dark .CodeMirror-line > span::-moz-selection, .cm-s-pastel-on-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(221,240,255,0.2); }
|
||||
|
||||
.cm-s-pastel-on-dark .CodeMirror-gutters {
|
||||
background: #34302f;
|
||||
@@ -25,7 +25,7 @@
|
||||
.cm-s-pastel-on-dark .CodeMirror-guttermarker { color: white; }
|
||||
.cm-s-pastel-on-dark .CodeMirror-guttermarker-subtle { color: #8F938F; }
|
||||
.cm-s-pastel-on-dark .CodeMirror-linenumber { color: #8F938F; }
|
||||
.cm-s-pastel-on-dark .CodeMirror-cursor { border-left: 1px solid #A7A7A7 !important; }
|
||||
.cm-s-pastel-on-dark .CodeMirror-cursor { border-left: 1px solid #A7A7A7; }
|
||||
.cm-s-pastel-on-dark span.cm-comment { color: #A6C6FF; }
|
||||
.cm-s-pastel-on-dark span.cm-atom { color: #DE8E30; }
|
||||
.cm-s-pastel-on-dark span.cm-number { color: #CCCCCC; }
|
||||
@@ -45,7 +45,7 @@
|
||||
background: #757aD8;
|
||||
color: #f8f8f0;
|
||||
}
|
||||
.cm-s-pastel-on-dark .CodeMirror-activeline-background { background: rgba(255, 255, 255, 0.031) !important; }
|
||||
.cm-s-pastel-on-dark .CodeMirror-activeline-background { background: rgba(255, 255, 255, 0.031); }
|
||||
.cm-s-pastel-on-dark .CodeMirror-matchingbracket {
|
||||
border: 1px solid rgba(255,255,255,0.25);
|
||||
color: #8F938F !important;
|
||||
|
||||
34
CodeMirror/theme/railscasts.css
vendored
Normal file
34
CodeMirror/theme/railscasts.css
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
|
||||
Name: Railscasts
|
||||
Author: Ryan Bates (http://railscasts.com)
|
||||
|
||||
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
|
||||
Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
|
||||
|
||||
*/
|
||||
|
||||
.cm-s-railscasts.CodeMirror {background: #2b2b2b; color: #f4f1ed;}
|
||||
.cm-s-railscasts div.CodeMirror-selected {background: #272935 !important;}
|
||||
.cm-s-railscasts .CodeMirror-gutters {background: #2b2b2b; border-right: 0px;}
|
||||
.cm-s-railscasts .CodeMirror-linenumber {color: #5a647e;}
|
||||
.cm-s-railscasts .CodeMirror-cursor {border-left: 1px solid #d4cfc9 !important;}
|
||||
|
||||
.cm-s-railscasts span.cm-comment {color: #bc9458;}
|
||||
.cm-s-railscasts span.cm-atom {color: #b6b3eb;}
|
||||
.cm-s-railscasts span.cm-number {color: #b6b3eb;}
|
||||
|
||||
.cm-s-railscasts span.cm-property, .cm-s-railscasts span.cm-attribute {color: #a5c261;}
|
||||
.cm-s-railscasts span.cm-keyword {color: #da4939;}
|
||||
.cm-s-railscasts span.cm-string {color: #ffc66d;}
|
||||
|
||||
.cm-s-railscasts span.cm-variable {color: #a5c261;}
|
||||
.cm-s-railscasts span.cm-variable-2 {color: #6d9cbe;}
|
||||
.cm-s-railscasts span.cm-def {color: #cc7833;}
|
||||
.cm-s-railscasts span.cm-error {background: #da4939; color: #d4cfc9;}
|
||||
.cm-s-railscasts span.cm-bracket {color: #f4f1ed;}
|
||||
.cm-s-railscasts span.cm-tag {color: #da4939;}
|
||||
.cm-s-railscasts span.cm-link {color: #b6b3eb;}
|
||||
|
||||
.cm-s-railscasts .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
|
||||
.cm-s-railscasts .CodeMirror-activeline-background { background: #303040; }
|
||||
10
CodeMirror/theme/rubyblue.css
vendored
10
CodeMirror/theme/rubyblue.css
vendored
@@ -1,12 +1,12 @@
|
||||
.cm-s-rubyblue.CodeMirror { background: #112435; color: white; }
|
||||
.cm-s-rubyblue div.CodeMirror-selected { background: #38566F !important; }
|
||||
.cm-s-rubyblue.CodeMirror ::selection { background: rgba(56, 86, 111, 0.99); }
|
||||
.cm-s-rubyblue.CodeMirror ::-moz-selection { background: rgba(56, 86, 111, 0.99); }
|
||||
.cm-s-rubyblue div.CodeMirror-selected { background: #38566F; }
|
||||
.cm-s-rubyblue .CodeMirror-line::selection, .cm-s-rubyblue .CodeMirror-line > span::selection, .cm-s-rubyblue .CodeMirror-line > span > span::selection { background: rgba(56, 86, 111, 0.99); }
|
||||
.cm-s-rubyblue .CodeMirror-line::-moz-selection, .cm-s-rubyblue .CodeMirror-line > span::-moz-selection, .cm-s-rubyblue .CodeMirror-line > span > span::-moz-selection { background: rgba(56, 86, 111, 0.99); }
|
||||
.cm-s-rubyblue .CodeMirror-gutters { background: #1F4661; border-right: 7px solid #3E7087; }
|
||||
.cm-s-rubyblue .CodeMirror-guttermarker { color: white; }
|
||||
.cm-s-rubyblue .CodeMirror-guttermarker-subtle { color: #3E7087; }
|
||||
.cm-s-rubyblue .CodeMirror-linenumber { color: white; }
|
||||
.cm-s-rubyblue .CodeMirror-cursor { border-left: 1px solid white !important; }
|
||||
.cm-s-rubyblue .CodeMirror-cursor { border-left: 1px solid white; }
|
||||
|
||||
.cm-s-rubyblue span.cm-comment { color: #999; font-style:italic; line-height: 1em; }
|
||||
.cm-s-rubyblue span.cm-atom { color: #F4C20B; }
|
||||
@@ -22,4 +22,4 @@
|
||||
.cm-s-rubyblue span.cm-builtin, .cm-s-rubyblue span.cm-special { color: #FF9D00; }
|
||||
.cm-s-rubyblue span.cm-error { color: #AF2018; }
|
||||
|
||||
.cm-s-rubyblue .CodeMirror-activeline-background {background: #173047 !important;}
|
||||
.cm-s-rubyblue .CodeMirror-activeline-background { background: #173047; }
|
||||
|
||||
44
CodeMirror/theme/seti.css
vendored
Normal file
44
CodeMirror/theme/seti.css
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
|
||||
Name: seti
|
||||
Author: Michael Kaminsky (http://github.com/mkaminsky11)
|
||||
|
||||
Original seti color scheme by Jesse Weed (https://github.com/jesseweed/seti-syntax)
|
||||
|
||||
*/
|
||||
|
||||
|
||||
.cm-s-seti.CodeMirror {
|
||||
background-color: #151718 !important;
|
||||
color: #CFD2D1 !important;
|
||||
border: none;
|
||||
}
|
||||
.cm-s-seti .CodeMirror-gutters {
|
||||
color: #404b53;
|
||||
background-color: #0E1112;
|
||||
border: none;
|
||||
}
|
||||
.cm-s-seti .CodeMirror-cursor { border-left: solid thin #f8f8f0; }
|
||||
.cm-s-seti .CodeMirror-linenumber { color: #6D8A88; }
|
||||
.cm-s-seti.CodeMirror-focused div.CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }
|
||||
.cm-s-seti .CodeMirror-line::selection, .cm-s-seti .CodeMirror-line > span::selection, .cm-s-seti .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }
|
||||
.cm-s-seti .CodeMirror-line::-moz-selection, .cm-s-seti .CodeMirror-line > span::-moz-selection, .cm-s-seti .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }
|
||||
.cm-s-seti span.cm-comment { color: #41535b; }
|
||||
.cm-s-seti span.cm-string, .cm-s-seti span.cm-string-2 { color: #55b5db; }
|
||||
.cm-s-seti span.cm-number { color: #cd3f45; }
|
||||
.cm-s-seti span.cm-variable { color: #55b5db; }
|
||||
.cm-s-seti span.cm-variable-2 { color: #a074c4; }
|
||||
.cm-s-seti span.cm-def { color: #55b5db; }
|
||||
.cm-s-seti span.cm-keyword { color: #ff79c6; }
|
||||
.cm-s-seti span.cm-operator { color: #9fca56; }
|
||||
.cm-s-seti span.cm-keyword { color: #e6cd69; }
|
||||
.cm-s-seti span.cm-atom { color: #cd3f45; }
|
||||
.cm-s-seti span.cm-meta { color: #55b5db; }
|
||||
.cm-s-seti span.cm-tag { color: #55b5db; }
|
||||
.cm-s-seti span.cm-attribute { color: #9fca56; }
|
||||
.cm-s-seti span.cm-qualifier { color: #9fca56; }
|
||||
.cm-s-seti span.cm-property { color: #a074c4; }
|
||||
.cm-s-seti span.cm-variable-3 { color: #9fca56; }
|
||||
.cm-s-seti span.cm-builtin { color: #9fca56; }
|
||||
.cm-s-seti .CodeMirror-activeline-background { background: #101213; }
|
||||
.cm-s-seti .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
|
||||
26
CodeMirror/theme/solarized.css
vendored
26
CodeMirror/theme/solarized.css
vendored
@@ -47,8 +47,10 @@ http://ethanschoonover.com/solarized/img/solarized-palette.png
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
.cm-s-solarized .cm-header { color: #586e75; }
|
||||
.cm-s-solarized .cm-quote { color: #93a1a1; }
|
||||
|
||||
.cm-s-solarized .cm-keyword { color: #cb4b16 }
|
||||
.cm-s-solarized .cm-keyword { color: #cb4b16; }
|
||||
.cm-s-solarized .cm-atom { color: #d33682; }
|
||||
.cm-s-solarized .cm-number { color: #d33682; }
|
||||
.cm-s-solarized .cm-def { color: #2aa198; }
|
||||
@@ -58,7 +60,7 @@ http://ethanschoonover.com/solarized/img/solarized-palette.png
|
||||
.cm-s-solarized .cm-variable-3 { color: #6c71c4; }
|
||||
|
||||
.cm-s-solarized .cm-property { color: #2aa198; }
|
||||
.cm-s-solarized .cm-operator {color: #6c71c4;}
|
||||
.cm-s-solarized .cm-operator { color: #6c71c4; }
|
||||
|
||||
.cm-s-solarized .cm-comment { color: #586e75; font-style:italic; }
|
||||
|
||||
@@ -71,10 +73,8 @@ http://ethanschoonover.com/solarized/img/solarized-palette.png
|
||||
.cm-s-solarized .cm-bracket { color: #cb4b16; }
|
||||
.cm-s-solarized .CodeMirror-matchingbracket { color: #859900; }
|
||||
.cm-s-solarized .CodeMirror-nonmatchingbracket { color: #dc322f; }
|
||||
.cm-s-solarized .cm-tag { color: #93a1a1 }
|
||||
.cm-s-solarized .cm-attribute { color: #2aa198; }
|
||||
.cm-s-solarized .cm-header { color: #586e75; }
|
||||
.cm-s-solarized .cm-quote { color: #93a1a1; }
|
||||
.cm-s-solarized .cm-tag { color: #93a1a1; }
|
||||
.cm-s-solarized .cm-attribute { color: #2aa198; }
|
||||
.cm-s-solarized .cm-hr {
|
||||
color: transparent;
|
||||
border-top: 1px solid #586e75;
|
||||
@@ -94,13 +94,13 @@ http://ethanschoonover.com/solarized/img/solarized-palette.png
|
||||
border-bottom: 1px dotted #dc322f;
|
||||
}
|
||||
|
||||
.cm-s-solarized.cm-s-dark .CodeMirror-selected { background: #073642; }
|
||||
.cm-s-solarized.cm-s-dark div.CodeMirror-selected { background: #073642; }
|
||||
.cm-s-solarized.cm-s-dark.CodeMirror ::selection { background: rgba(7, 54, 66, 0.99); }
|
||||
.cm-s-solarized.cm-s-dark.CodeMirror ::-moz-selection { background: rgba(7, 54, 66, 0.99); }
|
||||
.cm-s-solarized.cm-s-dark .CodeMirror-line::-moz-selection, .cm-s-dark .CodeMirror-line > span::-moz-selection, .cm-s-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(7, 54, 66, 0.99); }
|
||||
|
||||
.cm-s-solarized.cm-s-light .CodeMirror-selected { background: #eee8d5; }
|
||||
.cm-s-solarized.cm-s-light.CodeMirror ::selection { background: #eee8d5; }
|
||||
.cm-s-solarized.cm-s-lightCodeMirror ::-moz-selection { background: #eee8d5; }
|
||||
.cm-s-solarized.cm-s-light div.CodeMirror-selected { background: #eee8d5; }
|
||||
.cm-s-solarized.cm-s-light .CodeMirror-line::selection, .cm-s-light .CodeMirror-line > span::selection, .cm-s-light .CodeMirror-line > span > span::selection { background: #eee8d5; }
|
||||
.cm-s-solarized.cm-s-light .CodeMirror-line::-moz-selection, .cm-s-ligh .CodeMirror-line > span::-moz-selection, .cm-s-ligh .CodeMirror-line > span > span::-moz-selection { background: #eee8d5; }
|
||||
|
||||
/* Editor styling */
|
||||
|
||||
@@ -149,9 +149,7 @@ http://ethanschoonover.com/solarized/img/solarized-palette.png
|
||||
color: #586e75;
|
||||
}
|
||||
|
||||
.cm-s-solarized .CodeMirror-lines .CodeMirror-cursor {
|
||||
border-left: 1px solid #819090;
|
||||
}
|
||||
.cm-s-solarized .CodeMirror-cursor { border-left: 1px solid #819090; }
|
||||
|
||||
/*
|
||||
Active line. Negative margin compensates left padding of the text in the
|
||||
|
||||
46
CodeMirror/theme/the-matrix.css
vendored
46
CodeMirror/theme/the-matrix.css
vendored
@@ -1,30 +1,30 @@
|
||||
.cm-s-the-matrix.CodeMirror { background: #000000; color: #00FF00; }
|
||||
.cm-s-the-matrix div.CodeMirror-selected { background: #2D2D2D !important; }
|
||||
.cm-s-the-matrix.CodeMirror ::selection { background: rgba(45, 45, 45, 0.99); }
|
||||
.cm-s-the-matrix.CodeMirror ::-moz-selection { background: rgba(45, 45, 45, 0.99); }
|
||||
.cm-s-the-matrix div.CodeMirror-selected { background: #2D2D2D; }
|
||||
.cm-s-the-matrix .CodeMirror-line::selection, .cm-s-the-matrix .CodeMirror-line > span::selection, .cm-s-the-matrix .CodeMirror-line > span > span::selection { background: rgba(45, 45, 45, 0.99); }
|
||||
.cm-s-the-matrix .CodeMirror-line::-moz-selection, .cm-s-the-matrix .CodeMirror-line > span::-moz-selection, .cm-s-the-matrix .CodeMirror-line > span > span::-moz-selection { background: rgba(45, 45, 45, 0.99); }
|
||||
.cm-s-the-matrix .CodeMirror-gutters { background: #060; border-right: 2px solid #00FF00; }
|
||||
.cm-s-the-matrix .CodeMirror-guttermarker { color: #0f0; }
|
||||
.cm-s-the-matrix .CodeMirror-guttermarker-subtle { color: white; }
|
||||
.cm-s-the-matrix .CodeMirror-linenumber { color: #FFFFFF; }
|
||||
.cm-s-the-matrix .CodeMirror-cursor { border-left: 1px solid #00FF00 !important; }
|
||||
.cm-s-the-matrix .CodeMirror-cursor { border-left: 1px solid #00FF00; }
|
||||
|
||||
.cm-s-the-matrix span.cm-keyword {color: #008803; font-weight: bold;}
|
||||
.cm-s-the-matrix span.cm-atom {color: #3FF;}
|
||||
.cm-s-the-matrix span.cm-number {color: #FFB94F;}
|
||||
.cm-s-the-matrix span.cm-def {color: #99C;}
|
||||
.cm-s-the-matrix span.cm-variable {color: #F6C;}
|
||||
.cm-s-the-matrix span.cm-variable-2 {color: #C6F;}
|
||||
.cm-s-the-matrix span.cm-variable-3 {color: #96F;}
|
||||
.cm-s-the-matrix span.cm-property {color: #62FFA0;}
|
||||
.cm-s-the-matrix span.cm-operator {color: #999}
|
||||
.cm-s-the-matrix span.cm-comment {color: #CCCCCC;}
|
||||
.cm-s-the-matrix span.cm-string {color: #39C;}
|
||||
.cm-s-the-matrix span.cm-meta {color: #C9F;}
|
||||
.cm-s-the-matrix span.cm-qualifier {color: #FFF700;}
|
||||
.cm-s-the-matrix span.cm-builtin {color: #30a;}
|
||||
.cm-s-the-matrix span.cm-bracket {color: #cc7;}
|
||||
.cm-s-the-matrix span.cm-tag {color: #FFBD40;}
|
||||
.cm-s-the-matrix span.cm-attribute {color: #FFF700;}
|
||||
.cm-s-the-matrix span.cm-error {color: #FF0000;}
|
||||
.cm-s-the-matrix span.cm-keyword { color: #008803; font-weight: bold; }
|
||||
.cm-s-the-matrix span.cm-atom { color: #3FF; }
|
||||
.cm-s-the-matrix span.cm-number { color: #FFB94F; }
|
||||
.cm-s-the-matrix span.cm-def { color: #99C; }
|
||||
.cm-s-the-matrix span.cm-variable { color: #F6C; }
|
||||
.cm-s-the-matrix span.cm-variable-2 { color: #C6F; }
|
||||
.cm-s-the-matrix span.cm-variable-3 { color: #96F; }
|
||||
.cm-s-the-matrix span.cm-property { color: #62FFA0; }
|
||||
.cm-s-the-matrix span.cm-operator { color: #999; }
|
||||
.cm-s-the-matrix span.cm-comment { color: #CCCCCC; }
|
||||
.cm-s-the-matrix span.cm-string { color: #39C; }
|
||||
.cm-s-the-matrix span.cm-meta { color: #C9F; }
|
||||
.cm-s-the-matrix span.cm-qualifier { color: #FFF700; }
|
||||
.cm-s-the-matrix span.cm-builtin { color: #30a; }
|
||||
.cm-s-the-matrix span.cm-bracket { color: #cc7; }
|
||||
.cm-s-the-matrix span.cm-tag { color: #FFBD40; }
|
||||
.cm-s-the-matrix span.cm-attribute { color: #FFF700; }
|
||||
.cm-s-the-matrix span.cm-error { color: #FF0000; }
|
||||
|
||||
.cm-s-the-matrix .CodeMirror-activeline-background {background: #040;}
|
||||
.cm-s-the-matrix .CodeMirror-activeline-background { background: #040; }
|
||||
|
||||
40
CodeMirror/theme/tomorrow-night-bright.css
vendored
40
CodeMirror/theme/tomorrow-night-bright.css
vendored
@@ -7,29 +7,29 @@
|
||||
|
||||
*/
|
||||
|
||||
.cm-s-tomorrow-night-bright.CodeMirror {background: #000000; color: #eaeaea;}
|
||||
.cm-s-tomorrow-night-bright div.CodeMirror-selected {background: #424242 !important;}
|
||||
.cm-s-tomorrow-night-bright .CodeMirror-gutters {background: #000000; border-right: 0px;}
|
||||
.cm-s-tomorrow-night-bright.CodeMirror { background: #000000; color: #eaeaea; }
|
||||
.cm-s-tomorrow-night-bright div.CodeMirror-selected { background: #424242; }
|
||||
.cm-s-tomorrow-night-bright .CodeMirror-gutters { background: #000000; border-right: 0px; }
|
||||
.cm-s-tomorrow-night-bright .CodeMirror-guttermarker { color: #e78c45; }
|
||||
.cm-s-tomorrow-night-bright .CodeMirror-guttermarker-subtle { color: #777; }
|
||||
.cm-s-tomorrow-night-bright .CodeMirror-linenumber {color: #424242;}
|
||||
.cm-s-tomorrow-night-bright .CodeMirror-cursor {border-left: 1px solid #6A6A6A !important;}
|
||||
.cm-s-tomorrow-night-bright .CodeMirror-linenumber { color: #424242; }
|
||||
.cm-s-tomorrow-night-bright .CodeMirror-cursor { border-left: 1px solid #6A6A6A; }
|
||||
|
||||
.cm-s-tomorrow-night-bright span.cm-comment {color: #d27b53;}
|
||||
.cm-s-tomorrow-night-bright span.cm-atom {color: #a16a94;}
|
||||
.cm-s-tomorrow-night-bright span.cm-number {color: #a16a94;}
|
||||
.cm-s-tomorrow-night-bright span.cm-comment { color: #d27b53; }
|
||||
.cm-s-tomorrow-night-bright span.cm-atom { color: #a16a94; }
|
||||
.cm-s-tomorrow-night-bright span.cm-number { color: #a16a94; }
|
||||
|
||||
.cm-s-tomorrow-night-bright span.cm-property, .cm-s-tomorrow-night-bright span.cm-attribute {color: #99cc99;}
|
||||
.cm-s-tomorrow-night-bright span.cm-keyword {color: #d54e53;}
|
||||
.cm-s-tomorrow-night-bright span.cm-string {color: #e7c547;}
|
||||
.cm-s-tomorrow-night-bright span.cm-property, .cm-s-tomorrow-night-bright span.cm-attribute { color: #99cc99; }
|
||||
.cm-s-tomorrow-night-bright span.cm-keyword { color: #d54e53; }
|
||||
.cm-s-tomorrow-night-bright span.cm-string { color: #e7c547; }
|
||||
|
||||
.cm-s-tomorrow-night-bright span.cm-variable {color: #b9ca4a;}
|
||||
.cm-s-tomorrow-night-bright span.cm-variable-2 {color: #7aa6da;}
|
||||
.cm-s-tomorrow-night-bright span.cm-def {color: #e78c45;}
|
||||
.cm-s-tomorrow-night-bright span.cm-bracket {color: #eaeaea;}
|
||||
.cm-s-tomorrow-night-bright span.cm-tag {color: #d54e53;}
|
||||
.cm-s-tomorrow-night-bright span.cm-link {color: #a16a94;}
|
||||
.cm-s-tomorrow-night-bright span.cm-error {background: #d54e53; color: #6A6A6A;}
|
||||
.cm-s-tomorrow-night-bright span.cm-variable { color: #b9ca4a; }
|
||||
.cm-s-tomorrow-night-bright span.cm-variable-2 { color: #7aa6da; }
|
||||
.cm-s-tomorrow-night-bright span.cm-def { color: #e78c45; }
|
||||
.cm-s-tomorrow-night-bright span.cm-bracket { color: #eaeaea; }
|
||||
.cm-s-tomorrow-night-bright span.cm-tag { color: #d54e53; }
|
||||
.cm-s-tomorrow-night-bright span.cm-link { color: #a16a94; }
|
||||
.cm-s-tomorrow-night-bright span.cm-error { background: #d54e53; color: #6A6A6A; }
|
||||
|
||||
.cm-s-tomorrow-night-bright .CodeMirror-activeline-background {background: #2a2a2a !important;}
|
||||
.cm-s-tomorrow-night-bright .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
|
||||
.cm-s-tomorrow-night-bright .CodeMirror-activeline-background { background: #2a2a2a; }
|
||||
.cm-s-tomorrow-night-bright .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
|
||||
|
||||
44
CodeMirror/theme/tomorrow-night-eighties.css
vendored
44
CodeMirror/theme/tomorrow-night-eighties.css
vendored
@@ -8,31 +8,31 @@
|
||||
|
||||
*/
|
||||
|
||||
.cm-s-tomorrow-night-eighties.CodeMirror {background: #000000; color: #CCCCCC;}
|
||||
.cm-s-tomorrow-night-eighties div.CodeMirror-selected {background: #2D2D2D !important;}
|
||||
.cm-s-tomorrow-night-eighties.CodeMirror ::selection { background: rgba(45, 45, 45, 0.99); }
|
||||
.cm-s-tomorrow-night-eighties.CodeMirror ::-moz-selection { background: rgba(45, 45, 45, 0.99); }
|
||||
.cm-s-tomorrow-night-eighties .CodeMirror-gutters {background: #000000; border-right: 0px;}
|
||||
.cm-s-tomorrow-night-eighties.CodeMirror { background: #000000; color: #CCCCCC; }
|
||||
.cm-s-tomorrow-night-eighties div.CodeMirror-selected { background: #2D2D2D; }
|
||||
.cm-s-tomorrow-night-eighties .CodeMirror-line::selection, .cm-s-tomorrow-night-eighties .CodeMirror-line > span::selection, .cm-s-tomorrow-night-eighties .CodeMirror-line > span > span::selection { background: rgba(45, 45, 45, 0.99); }
|
||||
.cm-s-tomorrow-night-eighties .CodeMirror-line::-moz-selection, .cm-s-tomorrow-night-eighties .CodeMirror-line > span::-moz-selection, .cm-s-tomorrow-night-eighties .CodeMirror-line > span > span::-moz-selection { background: rgba(45, 45, 45, 0.99); }
|
||||
.cm-s-tomorrow-night-eighties .CodeMirror-gutters { background: #000000; border-right: 0px; }
|
||||
.cm-s-tomorrow-night-eighties .CodeMirror-guttermarker { color: #f2777a; }
|
||||
.cm-s-tomorrow-night-eighties .CodeMirror-guttermarker-subtle { color: #777; }
|
||||
.cm-s-tomorrow-night-eighties .CodeMirror-linenumber {color: #515151;}
|
||||
.cm-s-tomorrow-night-eighties .CodeMirror-cursor {border-left: 1px solid #6A6A6A !important;}
|
||||
.cm-s-tomorrow-night-eighties .CodeMirror-linenumber { color: #515151; }
|
||||
.cm-s-tomorrow-night-eighties .CodeMirror-cursor { border-left: 1px solid #6A6A6A; }
|
||||
|
||||
.cm-s-tomorrow-night-eighties span.cm-comment {color: #d27b53;}
|
||||
.cm-s-tomorrow-night-eighties span.cm-atom {color: #a16a94;}
|
||||
.cm-s-tomorrow-night-eighties span.cm-number {color: #a16a94;}
|
||||
.cm-s-tomorrow-night-eighties span.cm-comment { color: #d27b53; }
|
||||
.cm-s-tomorrow-night-eighties span.cm-atom { color: #a16a94; }
|
||||
.cm-s-tomorrow-night-eighties span.cm-number { color: #a16a94; }
|
||||
|
||||
.cm-s-tomorrow-night-eighties span.cm-property, .cm-s-tomorrow-night-eighties span.cm-attribute {color: #99cc99;}
|
||||
.cm-s-tomorrow-night-eighties span.cm-keyword {color: #f2777a;}
|
||||
.cm-s-tomorrow-night-eighties span.cm-string {color: #ffcc66;}
|
||||
.cm-s-tomorrow-night-eighties span.cm-property, .cm-s-tomorrow-night-eighties span.cm-attribute { color: #99cc99; }
|
||||
.cm-s-tomorrow-night-eighties span.cm-keyword { color: #f2777a; }
|
||||
.cm-s-tomorrow-night-eighties span.cm-string { color: #ffcc66; }
|
||||
|
||||
.cm-s-tomorrow-night-eighties span.cm-variable {color: #99cc99;}
|
||||
.cm-s-tomorrow-night-eighties span.cm-variable-2 {color: #6699cc;}
|
||||
.cm-s-tomorrow-night-eighties span.cm-def {color: #f99157;}
|
||||
.cm-s-tomorrow-night-eighties span.cm-bracket {color: #CCCCCC;}
|
||||
.cm-s-tomorrow-night-eighties span.cm-tag {color: #f2777a;}
|
||||
.cm-s-tomorrow-night-eighties span.cm-link {color: #a16a94;}
|
||||
.cm-s-tomorrow-night-eighties span.cm-error {background: #f2777a; color: #6A6A6A;}
|
||||
.cm-s-tomorrow-night-eighties span.cm-variable { color: #99cc99; }
|
||||
.cm-s-tomorrow-night-eighties span.cm-variable-2 { color: #6699cc; }
|
||||
.cm-s-tomorrow-night-eighties span.cm-def { color: #f99157; }
|
||||
.cm-s-tomorrow-night-eighties span.cm-bracket { color: #CCCCCC; }
|
||||
.cm-s-tomorrow-night-eighties span.cm-tag { color: #f2777a; }
|
||||
.cm-s-tomorrow-night-eighties span.cm-link { color: #a16a94; }
|
||||
.cm-s-tomorrow-night-eighties span.cm-error { background: #f2777a; color: #6A6A6A; }
|
||||
|
||||
.cm-s-tomorrow-night-eighties .CodeMirror-activeline-background {background: #343600 !important;}
|
||||
.cm-s-tomorrow-night-eighties .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
|
||||
.cm-s-tomorrow-night-eighties .CodeMirror-activeline-background { background: #343600; }
|
||||
.cm-s-tomorrow-night-eighties .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }
|
||||
|
||||
64
CodeMirror/theme/ttcn.css
vendored
Normal file
64
CodeMirror/theme/ttcn.css
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
.cm-s-ttcn .cm-quote { color: #090; }
|
||||
.cm-s-ttcn .cm-negative { color: #d44; }
|
||||
.cm-s-ttcn .cm-positive { color: #292; }
|
||||
.cm-s-ttcn .cm-header, .cm-strong { font-weight: bold; }
|
||||
.cm-s-ttcn .cm-em { font-style: italic; }
|
||||
.cm-s-ttcn .cm-link { text-decoration: underline; }
|
||||
.cm-s-ttcn .cm-strikethrough { text-decoration: line-through; }
|
||||
.cm-s-ttcn .cm-header { color: #00f; font-weight: bold; }
|
||||
|
||||
.cm-s-ttcn .cm-atom { color: #219; }
|
||||
.cm-s-ttcn .cm-attribute { color: #00c; }
|
||||
.cm-s-ttcn .cm-bracket { color: #997; }
|
||||
.cm-s-ttcn .cm-comment { color: #333333; }
|
||||
.cm-s-ttcn .cm-def { color: #00f; }
|
||||
.cm-s-ttcn .cm-em { font-style: italic; }
|
||||
.cm-s-ttcn .cm-error { color: #f00; }
|
||||
.cm-s-ttcn .cm-hr { color: #999; }
|
||||
.cm-s-ttcn .cm-invalidchar { color: #f00; }
|
||||
.cm-s-ttcn .cm-keyword { font-weight:bold; }
|
||||
.cm-s-ttcn .cm-link { color: #00c; text-decoration: underline; }
|
||||
.cm-s-ttcn .cm-meta { color: #555; }
|
||||
.cm-s-ttcn .cm-negative { color: #d44; }
|
||||
.cm-s-ttcn .cm-positive { color: #292; }
|
||||
.cm-s-ttcn .cm-qualifier { color: #555; }
|
||||
.cm-s-ttcn .cm-strikethrough { text-decoration: line-through; }
|
||||
.cm-s-ttcn .cm-string { color: #006400; }
|
||||
.cm-s-ttcn .cm-string-2 { color: #f50; }
|
||||
.cm-s-ttcn .cm-strong { font-weight: bold; }
|
||||
.cm-s-ttcn .cm-tag { color: #170; }
|
||||
.cm-s-ttcn .cm-variable { color: #8B2252; }
|
||||
.cm-s-ttcn .cm-variable-2 { color: #05a; }
|
||||
.cm-s-ttcn .cm-variable-3 { color: #085; }
|
||||
|
||||
.cm-s-ttcn .cm-invalidchar { color: #f00; }
|
||||
|
||||
/* ASN */
|
||||
.cm-s-ttcn .cm-accessTypes,
|
||||
.cm-s-ttcn .cm-compareTypes { color: #27408B; }
|
||||
.cm-s-ttcn .cm-cmipVerbs { color: #8B2252; }
|
||||
.cm-s-ttcn .cm-modifier { color:#D2691E; }
|
||||
.cm-s-ttcn .cm-status { color:#8B4545; }
|
||||
.cm-s-ttcn .cm-storage { color:#A020F0; }
|
||||
.cm-s-ttcn .cm-tags { color:#006400; }
|
||||
|
||||
/* CFG */
|
||||
.cm-s-ttcn .cm-externalCommands { color: #8B4545; font-weight:bold; }
|
||||
.cm-s-ttcn .cm-fileNCtrlMaskOptions,
|
||||
.cm-s-ttcn .cm-sectionTitle { color: #2E8B57; font-weight:bold; }
|
||||
|
||||
/* TTCN */
|
||||
.cm-s-ttcn .cm-booleanConsts,
|
||||
.cm-s-ttcn .cm-otherConsts,
|
||||
.cm-s-ttcn .cm-verdictConsts { color: #006400; }
|
||||
.cm-s-ttcn .cm-configOps,
|
||||
.cm-s-ttcn .cm-functionOps,
|
||||
.cm-s-ttcn .cm-portOps,
|
||||
.cm-s-ttcn .cm-sutOps,
|
||||
.cm-s-ttcn .cm-timerOps,
|
||||
.cm-s-ttcn .cm-verdictOps { color: #0000FF; }
|
||||
.cm-s-ttcn .cm-preprocessor,
|
||||
.cm-s-ttcn .cm-templateMatch,
|
||||
.cm-s-ttcn .cm-ttcn3Macros { color: #27408B; }
|
||||
.cm-s-ttcn .cm-types { color: #A52A2A; font-weight:bold; }
|
||||
.cm-s-ttcn .cm-visibilityModifiers { font-weight:bold; }
|
||||
18
CodeMirror/theme/twilight.css
vendored
18
CodeMirror/theme/twilight.css
vendored
@@ -1,15 +1,15 @@
|
||||
.cm-s-twilight.CodeMirror { background: #141414; color: #f7f7f7; } /**/
|
||||
.cm-s-twilight .CodeMirror-selected { background: #323232 !important; } /**/
|
||||
.cm-s-twilight.CodeMirror ::selection { background: rgba(50, 50, 50, 0.99); }
|
||||
.cm-s-twilight.CodeMirror ::-moz-selection { background: rgba(50, 50, 50, 0.99); }
|
||||
.cm-s-twilight div.CodeMirror-selected { background: #323232; } /**/
|
||||
.cm-s-twilight .CodeMirror-line::selection, .cm-s-twilight .CodeMirror-line > span::selection, .cm-s-twilight .CodeMirror-line > span > span::selection { background: rgba(50, 50, 50, 0.99); }
|
||||
.cm-s-twilight .CodeMirror-line::-moz-selection, .cm-s-twilight .CodeMirror-line > span::-moz-selection, .cm-s-twilight .CodeMirror-line > span > span::-moz-selection { background: rgba(50, 50, 50, 0.99); }
|
||||
|
||||
.cm-s-twilight .CodeMirror-gutters { background: #222; border-right: 1px solid #aaa; }
|
||||
.cm-s-twilight .CodeMirror-guttermarker { color: white; }
|
||||
.cm-s-twilight .CodeMirror-guttermarker-subtle { color: #aaa; }
|
||||
.cm-s-twilight .CodeMirror-linenumber { color: #aaa; }
|
||||
.cm-s-twilight .CodeMirror-cursor { border-left: 1px solid white !important; }
|
||||
.cm-s-twilight .CodeMirror-cursor { border-left: 1px solid white; }
|
||||
|
||||
.cm-s-twilight .cm-keyword { color: #f9ee98; } /**/
|
||||
.cm-s-twilight .cm-keyword { color: #f9ee98; } /**/
|
||||
.cm-s-twilight .cm-atom { color: #FC0; }
|
||||
.cm-s-twilight .cm-number { color: #ca7841; } /**/
|
||||
.cm-s-twilight .cm-def { color: #8DA6CE; }
|
||||
@@ -18,15 +18,15 @@
|
||||
.cm-s-twilight .cm-operator { color: #cda869; } /**/
|
||||
.cm-s-twilight .cm-comment { color:#777; font-style:italic; font-weight:normal; } /**/
|
||||
.cm-s-twilight .cm-string { color:#8f9d6a; font-style:italic; } /**/
|
||||
.cm-s-twilight .cm-string-2 { color:#bd6b18 } /*?*/
|
||||
.cm-s-twilight .cm-string-2 { color:#bd6b18; } /*?*/
|
||||
.cm-s-twilight .cm-meta { background-color:#141414; color:#f7f7f7; } /*?*/
|
||||
.cm-s-twilight .cm-builtin { color: #cda869; } /*?*/
|
||||
.cm-s-twilight .cm-tag { color: #997643; } /**/
|
||||
.cm-s-twilight .cm-attribute { color: #d6bb6d; } /*?*/
|
||||
.cm-s-twilight .cm-header { color: #FF6400; }
|
||||
.cm-s-twilight .cm-hr { color: #AEAEAE; }
|
||||
.cm-s-twilight .cm-link { color:#ad9361; font-style:italic; text-decoration:none; } /**/
|
||||
.cm-s-twilight .cm-link { color:#ad9361; font-style:italic; text-decoration:none; } /**/
|
||||
.cm-s-twilight .cm-error { border-bottom: 1px solid red; }
|
||||
|
||||
.cm-s-twilight .CodeMirror-activeline-background {background: #27282E !important;}
|
||||
.cm-s-twilight .CodeMirror-matchingbracket {outline:1px solid grey; color:white !important;}
|
||||
.cm-s-twilight .CodeMirror-activeline-background { background: #27282E; }
|
||||
.cm-s-twilight .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; }
|
||||
|
||||
22
CodeMirror/theme/vibrant-ink.css
vendored
22
CodeMirror/theme/vibrant-ink.css
vendored
@@ -1,26 +1,26 @@
|
||||
/* Taken from the popular Visual Studio Vibrant Ink Schema */
|
||||
|
||||
.cm-s-vibrant-ink.CodeMirror { background: black; color: white; }
|
||||
.cm-s-vibrant-ink .CodeMirror-selected { background: #35493c !important; }
|
||||
.cm-s-vibrant-ink.CodeMirror ::selection { background: rgba(53, 73, 60, 0.99); }
|
||||
.cm-s-vibrant-ink.CodeMirror ::-moz-selection { background: rgba(53, 73, 60, 0.99); }
|
||||
.cm-s-vibrant-ink div.CodeMirror-selected { background: #35493c; }
|
||||
.cm-s-vibrant-ink .CodeMirror-line::selection, .cm-s-vibrant-ink .CodeMirror-line > span::selection, .cm-s-vibrant-ink .CodeMirror-line > span > span::selection { background: rgba(53, 73, 60, 0.99); }
|
||||
.cm-s-vibrant-ink .CodeMirror-line::-moz-selection, .cm-s-vibrant-ink .CodeMirror-line > span::-moz-selection, .cm-s-vibrant-ink .CodeMirror-line > span > span::-moz-selection { background: rgba(53, 73, 60, 0.99); }
|
||||
|
||||
.cm-s-vibrant-ink .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; }
|
||||
.cm-s-vibrant-ink .CodeMirror-guttermarker { color: white; }
|
||||
.cm-s-vibrant-ink .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
|
||||
.cm-s-vibrant-ink .CodeMirror-linenumber { color: #d0d0d0; }
|
||||
.cm-s-vibrant-ink .CodeMirror-cursor { border-left: 1px solid white !important; }
|
||||
.cm-s-vibrant-ink .CodeMirror-cursor { border-left: 1px solid white; }
|
||||
|
||||
.cm-s-vibrant-ink .cm-keyword { color: #CC7832; }
|
||||
.cm-s-vibrant-ink .cm-keyword { color: #CC7832; }
|
||||
.cm-s-vibrant-ink .cm-atom { color: #FC0; }
|
||||
.cm-s-vibrant-ink .cm-number { color: #FFEE98; }
|
||||
.cm-s-vibrant-ink .cm-def { color: #8DA6CE; }
|
||||
.cm-s-vibrant-ink span.cm-variable-2, .cm-s-vibrant span.cm-tag { color: #FFC66D }
|
||||
.cm-s-vibrant-ink span.cm-variable-3, .cm-s-vibrant span.cm-def { color: #FFC66D }
|
||||
.cm-s-vibrant-ink span.cm-variable-2, .cm-s-vibrant span.cm-tag { color: #FFC66D; }
|
||||
.cm-s-vibrant-ink span.cm-variable-3, .cm-s-vibrant span.cm-def { color: #FFC66D; }
|
||||
.cm-s-vibrant-ink .cm-operator { color: #888; }
|
||||
.cm-s-vibrant-ink .cm-comment { color: gray; font-weight: bold; }
|
||||
.cm-s-vibrant-ink .cm-string { color: #A5C25C }
|
||||
.cm-s-vibrant-ink .cm-string-2 { color: red }
|
||||
.cm-s-vibrant-ink .cm-string { color: #A5C25C; }
|
||||
.cm-s-vibrant-ink .cm-string-2 { color: red; }
|
||||
.cm-s-vibrant-ink .cm-meta { color: #D8FA3C; }
|
||||
.cm-s-vibrant-ink .cm-builtin { color: #8DA6CE; }
|
||||
.cm-s-vibrant-ink .cm-tag { color: #8DA6CE; }
|
||||
@@ -30,5 +30,5 @@
|
||||
.cm-s-vibrant-ink .cm-link { color: blue; }
|
||||
.cm-s-vibrant-ink .cm-error { border-bottom: 1px solid red; }
|
||||
|
||||
.cm-s-vibrant-ink .CodeMirror-activeline-background {background: #27282E !important;}
|
||||
.cm-s-vibrant-ink .CodeMirror-matchingbracket {outline:1px solid grey; color:white !important;}
|
||||
.cm-s-vibrant-ink .CodeMirror-activeline-background { background: #27282E; }
|
||||
.cm-s-vibrant-ink .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; }
|
||||
|
||||
44
CodeMirror/theme/xq-dark.css
vendored
44
CodeMirror/theme/xq-dark.css
vendored
@@ -21,33 +21,33 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
*/
|
||||
.cm-s-xq-dark.CodeMirror { background: #0a001f; color: #f8f8f8; }
|
||||
.cm-s-xq-dark .CodeMirror-selected { background: #27007A !important; }
|
||||
.cm-s-xq-dark.CodeMirror ::selection { background: rgba(39, 0, 122, 0.99); }
|
||||
.cm-s-xq-dark.CodeMirror ::-moz-selection { background: rgba(39, 0, 122, 0.99); }
|
||||
.cm-s-xq-dark div.CodeMirror-selected { background: #27007A; }
|
||||
.cm-s-xq-dark .CodeMirror-line::selection, .cm-s-xq-dark .CodeMirror-line > span::selection, .cm-s-xq-dark .CodeMirror-line > span > span::selection { background: rgba(39, 0, 122, 0.99); }
|
||||
.cm-s-xq-dark .CodeMirror-line::-moz-selection, .cm-s-xq-dark .CodeMirror-line > span::-moz-selection, .cm-s-xq-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(39, 0, 122, 0.99); }
|
||||
.cm-s-xq-dark .CodeMirror-gutters { background: #0a001f; border-right: 1px solid #aaa; }
|
||||
.cm-s-xq-dark .CodeMirror-guttermarker { color: #FFBD40; }
|
||||
.cm-s-xq-dark .CodeMirror-guttermarker-subtle { color: #f8f8f8; }
|
||||
.cm-s-xq-dark .CodeMirror-linenumber { color: #f8f8f8; }
|
||||
.cm-s-xq-dark .CodeMirror-cursor { border-left: 1px solid white !important; }
|
||||
.cm-s-xq-dark .CodeMirror-cursor { border-left: 1px solid white; }
|
||||
|
||||
.cm-s-xq-dark span.cm-keyword {color: #FFBD40;}
|
||||
.cm-s-xq-dark span.cm-atom {color: #6C8CD5;}
|
||||
.cm-s-xq-dark span.cm-number {color: #164;}
|
||||
.cm-s-xq-dark span.cm-def {color: #FFF; text-decoration:underline;}
|
||||
.cm-s-xq-dark span.cm-variable {color: #FFF;}
|
||||
.cm-s-xq-dark span.cm-variable-2 {color: #EEE;}
|
||||
.cm-s-xq-dark span.cm-variable-3 {color: #DDD;}
|
||||
.cm-s-xq-dark span.cm-keyword { color: #FFBD40; }
|
||||
.cm-s-xq-dark span.cm-atom { color: #6C8CD5; }
|
||||
.cm-s-xq-dark span.cm-number { color: #164; }
|
||||
.cm-s-xq-dark span.cm-def { color: #FFF; text-decoration:underline; }
|
||||
.cm-s-xq-dark span.cm-variable { color: #FFF; }
|
||||
.cm-s-xq-dark span.cm-variable-2 { color: #EEE; }
|
||||
.cm-s-xq-dark span.cm-variable-3 { color: #DDD; }
|
||||
.cm-s-xq-dark span.cm-property {}
|
||||
.cm-s-xq-dark span.cm-operator {}
|
||||
.cm-s-xq-dark span.cm-comment {color: gray;}
|
||||
.cm-s-xq-dark span.cm-string {color: #9FEE00;}
|
||||
.cm-s-xq-dark span.cm-meta {color: yellow;}
|
||||
.cm-s-xq-dark span.cm-qualifier {color: #FFF700;}
|
||||
.cm-s-xq-dark span.cm-builtin {color: #30a;}
|
||||
.cm-s-xq-dark span.cm-bracket {color: #cc7;}
|
||||
.cm-s-xq-dark span.cm-tag {color: #FFBD40;}
|
||||
.cm-s-xq-dark span.cm-attribute {color: #FFF700;}
|
||||
.cm-s-xq-dark span.cm-error {color: #f00;}
|
||||
.cm-s-xq-dark span.cm-comment { color: gray; }
|
||||
.cm-s-xq-dark span.cm-string { color: #9FEE00; }
|
||||
.cm-s-xq-dark span.cm-meta { color: yellow; }
|
||||
.cm-s-xq-dark span.cm-qualifier { color: #FFF700; }
|
||||
.cm-s-xq-dark span.cm-builtin { color: #30a; }
|
||||
.cm-s-xq-dark span.cm-bracket { color: #cc7; }
|
||||
.cm-s-xq-dark span.cm-tag { color: #FFBD40; }
|
||||
.cm-s-xq-dark span.cm-attribute { color: #FFF700; }
|
||||
.cm-s-xq-dark span.cm-error { color: #f00; }
|
||||
|
||||
.cm-s-xq-dark .CodeMirror-activeline-background {background: #27282E !important;}
|
||||
.cm-s-xq-dark .CodeMirror-matchingbracket {outline:1px solid grey; color:white !important;}
|
||||
.cm-s-xq-dark .CodeMirror-activeline-background { background: #27282E; }
|
||||
.cm-s-xq-dark .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; }
|
||||
|
||||
36
CodeMirror/theme/xq-light.css
vendored
36
CodeMirror/theme/xq-light.css
vendored
@@ -20,24 +20,24 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
*/
|
||||
.cm-s-xq-light span.cm-keyword {line-height: 1em; font-weight: bold; color: #5A5CAD; }
|
||||
.cm-s-xq-light span.cm-atom {color: #6C8CD5;}
|
||||
.cm-s-xq-light span.cm-number {color: #164;}
|
||||
.cm-s-xq-light span.cm-def {text-decoration:underline;}
|
||||
.cm-s-xq-light span.cm-variable {color: black; }
|
||||
.cm-s-xq-light span.cm-variable-2 {color:black;}
|
||||
.cm-s-xq-light span.cm-variable-3 {color: black; }
|
||||
.cm-s-xq-light span.cm-keyword { line-height: 1em; font-weight: bold; color: #5A5CAD; }
|
||||
.cm-s-xq-light span.cm-atom { color: #6C8CD5; }
|
||||
.cm-s-xq-light span.cm-number { color: #164; }
|
||||
.cm-s-xq-light span.cm-def { text-decoration:underline; }
|
||||
.cm-s-xq-light span.cm-variable { color: black; }
|
||||
.cm-s-xq-light span.cm-variable-2 { color:black; }
|
||||
.cm-s-xq-light span.cm-variable-3 { color: black; }
|
||||
.cm-s-xq-light span.cm-property {}
|
||||
.cm-s-xq-light span.cm-operator {}
|
||||
.cm-s-xq-light span.cm-comment {color: #0080FF; font-style: italic;}
|
||||
.cm-s-xq-light span.cm-string {color: red;}
|
||||
.cm-s-xq-light span.cm-meta {color: yellow;}
|
||||
.cm-s-xq-light span.cm-qualifier {color: grey}
|
||||
.cm-s-xq-light span.cm-builtin {color: #7EA656;}
|
||||
.cm-s-xq-light span.cm-bracket {color: #cc7;}
|
||||
.cm-s-xq-light span.cm-tag {color: #3F7F7F;}
|
||||
.cm-s-xq-light span.cm-attribute {color: #7F007F;}
|
||||
.cm-s-xq-light span.cm-error {color: #f00;}
|
||||
.cm-s-xq-light span.cm-comment { color: #0080FF; font-style: italic; }
|
||||
.cm-s-xq-light span.cm-string { color: red; }
|
||||
.cm-s-xq-light span.cm-meta { color: yellow; }
|
||||
.cm-s-xq-light span.cm-qualifier { color: grey; }
|
||||
.cm-s-xq-light span.cm-builtin { color: #7EA656; }
|
||||
.cm-s-xq-light span.cm-bracket { color: #cc7; }
|
||||
.cm-s-xq-light span.cm-tag { color: #3F7F7F; }
|
||||
.cm-s-xq-light span.cm-attribute { color: #7F007F; }
|
||||
.cm-s-xq-light span.cm-error { color: #f00; }
|
||||
|
||||
.cm-s-xq-light .CodeMirror-activeline-background {background: #e8f2ff !important;}
|
||||
.cm-s-xq-light .CodeMirror-matchingbracket {outline:1px solid grey;color:black !important;background:yellow;}
|
||||
.cm-s-xq-light .CodeMirror-activeline-background { background: #e8f2ff; }
|
||||
.cm-s-xq-light .CodeMirror-matchingbracket { outline:1px solid grey;color:black !important;background:yellow; }
|
||||
|
||||
44
CodeMirror/theme/yeti.css
vendored
Normal file
44
CodeMirror/theme/yeti.css
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
|
||||
Name: yeti
|
||||
Author: Michael Kaminsky (http://github.com/mkaminsky11)
|
||||
|
||||
Original yeti color scheme by Jesse Weed (https://github.com/jesseweed/yeti-syntax)
|
||||
|
||||
*/
|
||||
|
||||
|
||||
.cm-s-yeti.CodeMirror {
|
||||
background-color: #ECEAE8 !important;
|
||||
color: #d1c9c0 !important;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.cm-s-yeti .CodeMirror-gutters {
|
||||
color: #adaba6;
|
||||
background-color: #E5E1DB;
|
||||
border: none;
|
||||
}
|
||||
.cm-s-yeti .CodeMirror-cursor { border-left: solid thin #d1c9c0; }
|
||||
.cm-s-yeti .CodeMirror-linenumber { color: #adaba6; }
|
||||
.cm-s-yeti.CodeMirror-focused div.CodeMirror-selected { background: #DCD8D2; }
|
||||
.cm-s-yeti .CodeMirror-line::selection, .cm-s-yeti .CodeMirror-line > span::selection, .cm-s-yeti .CodeMirror-line > span > span::selection { background: #DCD8D2; }
|
||||
.cm-s-yeti .CodeMirror-line::-moz-selection, .cm-s-yeti .CodeMirror-line > span::-moz-selection, .cm-s-yeti .CodeMirror-line > span > span::-moz-selection { background: #DCD8D2; }
|
||||
.cm-s-yeti span.cm-comment { color: #d4c8be; }
|
||||
.cm-s-yeti span.cm-string, .cm-s-yeti span.cm-string-2 { color: #96c0d8; }
|
||||
.cm-s-yeti span.cm-number { color: #a074c4; }
|
||||
.cm-s-yeti span.cm-variable { color: #55b5db; }
|
||||
.cm-s-yeti span.cm-variable-2 { color: #a074c4; }
|
||||
.cm-s-yeti span.cm-def { color: #55b5db; }
|
||||
.cm-s-yeti span.cm-operator { color: #9fb96e; }
|
||||
.cm-s-yeti span.cm-keyword { color: #9fb96e; }
|
||||
.cm-s-yeti span.cm-atom { color: #a074c4; }
|
||||
.cm-s-yeti span.cm-meta { color: #96c0d8; }
|
||||
.cm-s-yeti span.cm-tag { color: #96c0d8; }
|
||||
.cm-s-yeti span.cm-attribute { color: #9fb96e; }
|
||||
.cm-s-yeti span.cm-qualifier { color: #96c0d8; }
|
||||
.cm-s-yeti span.cm-property { color: #a074c4; }
|
||||
.cm-s-yeti span.cm-builtin { color: #a074c4; }
|
||||
.cm-s-yeti span.cm-variable-3 { color: #96c0d8; }
|
||||
.cm-s-yeti .CodeMirror-activeline-background { background: #E7E4E0; }
|
||||
.cm-s-yeti .CodeMirror-matchingbracket { text-decoration: underline; }
|
||||
6
CodeMirror/theme/zenburn.css
vendored
6
CodeMirror/theme/zenburn.css
vendored
@@ -10,7 +10,7 @@
|
||||
|
||||
.cm-s-zenburn .CodeMirror-gutters { background: #3f3f3f !important; }
|
||||
.cm-s-zenburn .CodeMirror-foldgutter-open, .CodeMirror-foldgutter-folded { color: #999; }
|
||||
.cm-s-zenburn .CodeMirror-cursor { border-left: 1px solid white !important; }
|
||||
.cm-s-zenburn .CodeMirror-cursor { border-left: 1px solid white; }
|
||||
.cm-s-zenburn { background-color: #3f3f3f; color: #dcdccc; }
|
||||
.cm-s-zenburn span.cm-builtin { color: #dcdccc; font-weight: bold; }
|
||||
.cm-s-zenburn span.cm-comment { color: #7f9f7f; }
|
||||
@@ -33,5 +33,5 @@
|
||||
.cm-s-zenburn span.CodeMirror-nonmatchingbracket { border-bottom: 1px solid; background: none; }
|
||||
.cm-s-zenburn .CodeMirror-activeline { background: #000000; }
|
||||
.cm-s-zenburn .CodeMirror-activeline-background { background: #000000; }
|
||||
.cm-s-zenburn .CodeMirror-selected { background: #545454; }
|
||||
.cm-s-zenburn .CodeMirror-focused .CodeMirror-selected { background: #4f4f4f; }
|
||||
.cm-s-zenburn div.CodeMirror-selected { background: #545454; }
|
||||
.cm-s-zenburn .CodeMirror-focused div.CodeMirror-selected { background: #4f4f4f; }
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
ICEcoder is a web IDE / browser based code editor, which allows you to develop websites directly within the web browser. It uses the brilliant CodeMirror for code highlighting & editing, with a slick IDE wrapped around it to make the whole thing work.
|
||||
|
||||
<img src="https://icecoder.net/images/icecoder-v5-1-browser-code-editor.png" alt="ICEcoder web IDE">
|
||||
<img src="https://icecoder.net/images/icecoder-v6-0-beta-browser-code-editor.png" alt="ICEcoder web IDE">
|
||||
|
||||
###Requirements
|
||||
You can run ICEcoder either online or locally, on Linux, Windows or Mac based platforms. The only requirement is to have PHP 5 available (5.3 recommended). You can have this either as a vanilla installation or via a program such as WAMP or XAMPP (for Windows) or MAMP (for Mac).
|
||||
|
||||
67
editor.php
67
editor.php
@@ -5,7 +5,7 @@ $t = $text['editor'];
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html style="margin: 0" onMouseDown="top.ICEcoder.mouseDown=true" onMouseUp="top.ICEcoder.mouseDown=false; if (!top.ICEcoder.overCloseLink) {top.ICEcoder.tabDragEnd()}" onMouseMove="if(top.ICEcoder) {top.ICEcoder.getMouseXY(event,'editor');top.ICEcoder.canResizeFilesW()}" onDrop="if(top.ICEcoder) {top.ICEcoder.getMouseXY(event,'editor')}">
|
||||
<html style="margin: 0" onMouseDown="top.ICEcoder.mouseDown=true; top.ICEcoder.resetAutoLogoutTimer()" onMouseUp="top.ICEcoder.mouseDown=false; top.ICEcoder.mouseDownInCM=false; top.ICEcoder.resetAutoLogoutTimer(); if (!top.ICEcoder.overCloseLink) {top.ICEcoder.tabDragEnd()}" onMouseMove="if(top.ICEcoder) {top.ICEcoder.getMouseXY(event,'editor'); top.ICEcoder.resetAutoLogoutTimer(); top.ICEcoder.canResizeFilesW()}" onDrop="if(top.ICEcoder) {top.ICEcoder.getMouseXY(event,'editor')}">
|
||||
<head>
|
||||
<title>ICEcoder v <?php echo $ICEcoder["versionNo"];?> editor</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
@@ -16,8 +16,8 @@ $t = $text['editor'];
|
||||
<!--
|
||||
codemirror-compressed.js
|
||||
incls: codemirror
|
||||
modes: clike, coffeescript, css, erlang, go, htmlmixed, javascript, julia, lua, markdown, perl, php, python, ruby, rust, sass, sql, xml, yaml
|
||||
addon: brace-fold, closebrackets, closetag, css-hint, html-hint, javascript-hint, javascript-lint, lint, match-highlighter, searchcursor, show-hint, sql-hint, trailingspace, xml-fold, xml-hint
|
||||
modes: clike, coffeescript, css, erlang, go, htmlmixed, javascript, julia, lua, markdown, perl, php, python, ruby, sass, sql, xml, yaml
|
||||
addon: brace-fold, closebrackets, closetag, css-hint, foldcode, foldgutter, html-hint, javascript-hint, javascript-lint, lint, match-highlighter, matchbrackets, runmode, searchcursor, show-hint, simplescrollbars, sql-hint, trailingspace, xml-fold, xml-hint
|
||||
//-->
|
||||
<script src="<?php echo $ICEcoder["codeMirrorDir"]; ?>/lib/codemirror-compressed.js?microtime=<?php echo microtime(true);?>"></script>
|
||||
<?php
|
||||
@@ -25,7 +25,8 @@ if (file_exists(dirname(__FILE__)."/plugins/jshint/jshint-2.5.6.min.js")) {
|
||||
echo '<script src="plugins/jshint/jshint-2.5.6.min.js?microtime='.microtime(true).'></script>';
|
||||
};?>
|
||||
<script src="lib/mmd.js?microtime=<?php echo microtime(true);?>"></script>
|
||||
<script src="lib/foldcode.js?microtime=<?php echo microtime(true);?>"></script>
|
||||
<link rel="stylesheet" href="<?php echo $ICEcoder["codeMirrorDir"]; ?>/addon/fold/foldgutter.css?microtime=<?php echo microtime(true);?>">
|
||||
<link rel="stylesheet" href="<?php echo $ICEcoder["codeMirrorDir"]; ?>/addon/scroll/simplescrollbars.css?microtime=<?php echo microtime(true);?>">
|
||||
<?php
|
||||
if (file_exists(dirname(__FILE__)."/plugins/emmet/emmet.min.js")) {
|
||||
echo '<script src="plugins/emmet/emmet.min.js?microtime='.microtime(true).'"></script>';
|
||||
@@ -38,6 +39,10 @@ if (file_exists(dirname(__FILE__)."/plugins/pesticide/pesticide.js")) {
|
||||
if (file_exists(dirname(__FILE__)."/plugins/stats.js/stats.min.js")) {
|
||||
echo '<script src="plugins/stats.js/stats.min.js?microtime='.microtime(true).'"></script>';
|
||||
};?>
|
||||
<?php
|
||||
if (file_exists(dirname(__FILE__)."/plugins/responsive-helper/responsive-helper.js")) {
|
||||
echo '<script src="plugins/responsive-helper/responsive-helper.js?microtime='.microtime(true).'"></script>';
|
||||
};?>
|
||||
<link rel="stylesheet" href="<?php
|
||||
if ($ICEcoder["theme"]=="default") {echo 'lib/editor.css';} else {echo $ICEcoder["codeMirrorDir"].'/theme/'.$ICEcoder["theme"].'.css';};
|
||||
echo "?microtime=".microtime(true);
|
||||
@@ -52,7 +57,7 @@ if (array_search($ICEcoder["theme"],array("3024-day","base16-light","eclipse","e
|
||||
|
||||
<style type="text/css">
|
||||
/* Make sure this next one remains the 1st item, updated with JS */
|
||||
.CodeMirror {position: absolute; top: 0; width: 100%; font-size: <?php echo $ICEcoder["fontSize"];?>; z-index: 1}
|
||||
.CodeMirror {position: absolute; top: 0; width: 100%; font-size: <?php echo $ICEcoder["fontSize"];?>; line-height: 1.3; z-index: 1}
|
||||
.CodeMirror-scroll {} /* was: height: auto; overflow: visible */
|
||||
/* Make sure this next one remains the 3rd item, updated with JS */
|
||||
.cm-s-activeLine {background: <?php echo $activeLineBG;?> !important}
|
||||
@@ -67,17 +72,19 @@ if (array_search($ICEcoder["theme"],array("3024-day","base16-light","eclipse","e
|
||||
.CodeMirror-foldmarker {font-family: arial; line-height: .3; color: #b00; cursor: pointer;
|
||||
text-shadow: #fff 1px 1px 2px, #fff -1px -1px 2px, #fff 1px -1px 2px, #fff -1px 1px 2px;
|
||||
}
|
||||
.folds {display: inline-block; width: 13px}
|
||||
.fold {position: absolute; display: inline-block; width: 13px; height: 13px; font-size: 14px; text-align: center; cursor: pointer}
|
||||
.foldOn {background: #800; color: #ddd}
|
||||
.foldOff {background: rgba(255,255,255,0.04); color: #666}
|
||||
.CodeMirror-foldgutter {display: inline-block; width: 13px}
|
||||
.CodeMirror-foldgutter-open, .CodeMirror-foldgutter-folded {position: absolute; display: inline-block; width: 13px; height: 13px; font-size: 14px; text-align: center; cursor: pointer}
|
||||
.CodeMirror-foldgutter-open {background: rgba(255,255,255,0.04); color: #666}
|
||||
.CodeMirror-foldgutter-open:after {position: relative; top: -2px}
|
||||
.CodeMirror-foldgutter-folded {background: #800; color: #ddd}
|
||||
.CodeMirror-foldgutter-folded:after {position: relative; top: -3px}
|
||||
h2 {color: rgba(0,198,255,0.7)}
|
||||
.heading {color:#888}
|
||||
.cm-s-diff {left: 50%}
|
||||
.diffGreen {background: #0b0 !important; color: #000 !important}
|
||||
.diffRed {background: #800 !important; color: #fff !important}
|
||||
.diffGrey {background: #444 !important; color: #fff !important}
|
||||
.diffGreyLighter {background: #888 !important; color: #222 !important}
|
||||
.diffGreyLighter {background: #888 !important; color: #1d1d1b !important}
|
||||
.diffNone {}
|
||||
.info {font-size: 10px; color: rgba(0,198,255,0.7); cursor: help}
|
||||
.trialBarContainer {display: inline-block; width: 170px; height: 8px; background: #0b0b0b; margin-bottom: 40px}
|
||||
@@ -220,17 +227,21 @@ function createNewCMInstance(num) {
|
||||
// Define our CodeMirror options
|
||||
var cMOptions = {
|
||||
mode: "application/x-httpd-php",
|
||||
lineNumbers: true,
|
||||
gutters: ["folds","CodeMirror-lint-markers","CodeMirror-linenumbers"],
|
||||
lineNumbers: top.ICEcoder.lineNumbers,
|
||||
gutters: ["CodeMirror-foldgutter","CodeMirror-lint-markers","CodeMirror-linenumbers"],
|
||||
foldGutter: {gutter: "CodeMirror-foldgutter"},
|
||||
foldOptions: {minFoldSize: 1},
|
||||
lineWrapping: top.ICEcoder.lineWrapping,
|
||||
indentWithTabs: top.ICEcoder.indentWithTabs,
|
||||
indentUnit: top.ICEcoder.indentSize,
|
||||
tabSize: top.ICEcoder.indentSize,
|
||||
matchBrackets: top.ICEcoder.matchBrackets,
|
||||
electricChars: false,
|
||||
autoCloseTags: true,
|
||||
autoCloseBrackets: true,
|
||||
autoCloseTags: top.ICEcoder.autoCloseTags,
|
||||
autoCloseBrackets: top.ICEcoder.autoCloseBrackets,
|
||||
highlightSelectionMatches: true,
|
||||
showTrailingSpace: true,
|
||||
scrollbarStyle: 'overlay', // null, 'native', 'simple', 'overlay'
|
||||
showTrailingSpace: top.ICEcoder.showTrailingSpace,
|
||||
lint: false,
|
||||
keyMap: "ICEcoder"
|
||||
};
|
||||
@@ -262,21 +273,37 @@ function createNewCMInstance(num) {
|
||||
window['cM'+num+'diff'] .on("beforeSelectionChange", function(thisCM, changeObj) {top.ICEcoder.prevLineDiff = thisCM.getCursor().line;});
|
||||
|
||||
// Change
|
||||
window['cM'+num] .on("change", function(thisCM, changeObj) {top.ICEcoder.cMonChange(thisCM,'cM'+num,changeObj)});
|
||||
window['cM'+num+'diff'] .on("change", function(thisCM, changeObj) {top.ICEcoder.cMonChange(thisCM,'cM'+num+'diff',changeObj)});
|
||||
window['cM'+num] .on("change", function(thisCM, changeObj) {top.ICEcoder.cMonChange(thisCM,'cM'+num,changeObj,CodeMirror)});
|
||||
window['cM'+num+'diff'] .on("change", function(thisCM, changeObj) {top.ICEcoder.cMonChange(thisCM,'cM'+num+'diff',changeObj,CodeMirror)});
|
||||
|
||||
// Before change
|
||||
window['cM'+num] .on("beforeChange", function(thisCM, changeObj) {top.ICEcoder.cMonBeforeChange(thisCM,'cM'+num,changeObj,CodeMirror)});
|
||||
window['cM'+num+'diff'] .on("beforeChange", function(thisCM, changeObj) {top.ICEcoder.cMonBeforeChange(thisCM,'cM'+num+'diff',changeObj,CodeMirror)});
|
||||
|
||||
// Scroll
|
||||
window['cM'+num] .on("scroll", function(thisCM) {top.ICEcoder.cMonScroll(thisCM,'cM'+num)});
|
||||
window['cM'+num+'diff'] .on("scroll", function(thisCM) {top.ICEcoder.cMonScroll(thisCM,'cM'+num+'diff')});
|
||||
|
||||
// Gutter click
|
||||
window['cM'+num] .on("gutterClick", function(thisCM, line, gutter, clickEvent) {CodeMirror.doFold(thisCM.getLine(line).indexOf("{")>-1 ? "brace" : "xml",null,"+","-",false)(thisCM, line);});
|
||||
window['cM'+num+'diff'] .on("gutterClick", function(thisCM, line, gutter, clickEvent) {CodeMirror.doFold(thisCM.getLine(line).indexOf("{")>-1 ? "brace" : "xml",null,"+","-",false)(thisCM, line);});
|
||||
// Update
|
||||
window['cM'+num] .on("update", function(thisCM) {top.ICEcoder.cMonUpdate(thisCM,'cM'+num)});
|
||||
window['cM'+num+'diff'] .on("update", function(thisCM) {top.ICEcoder.cMonUpdate(thisCM,'cM'+num+'diff')});
|
||||
|
||||
// Input read
|
||||
window['cM'+num] .on("inputRead", function(thisCM) {top.ICEcoder.cMonInputRead(thisCM,'cM'+num)});
|
||||
window['cM'+num+'diff'] .on("inputRead", function(thisCM) {top.ICEcoder.cMonInputRead(thisCM,'cM'+num+'diff')});
|
||||
|
||||
// Gutter Click
|
||||
window['cM'+num] .on("gutterClick", function(thisCM,line,gutter,evt) {top.ICEcoder.cMonGutterClick(thisCM,line,gutter,evt,'cM'+num)});
|
||||
window['cM'+num+'diff'] .on("gutterClick", function(thisCM,line,gutter,evt) {top.ICEcoder.cMonGutterClick(thisCM,line,gutter,evt,'cM'+num+'diff')});
|
||||
|
||||
// Mouse Down
|
||||
window['cM'+num] .on("mousedown", function(thisCM) {top.ICEcoder.cMonMouseDown(thisCM,'cM'+num)});
|
||||
window['cM'+num+'diff'] .on("mousedown", function(thisCM) {top.ICEcoder.cMonMouseDown(thisCM,'cM'+num+'diff')});
|
||||
|
||||
// Drag Over
|
||||
window['cM'+num] .on("dragover", function(thisCM) {top.ICEcoder.cMonDragOver(thisCM,event,'cM'+num)});
|
||||
window['cM'+num+'diff'] .on("dragover", function(thisCM) {top.ICEcoder.cMonDragOver(thisCM,event,'cM'+num+'diff')});
|
||||
|
||||
// Render line
|
||||
window['cM'+num] .on("renderLine", function(thisCM, line, element) {top.ICEcoder.cMonRenderLine(thisCM,'cM'+num,line,element)});
|
||||
window['cM'+num+'diff'] .on("renderLine", function(thisCM, line, element) {top.ICEcoder.cMonRenderLine(thisCM,'cM'+num+'diff',line,element)});
|
||||
|
||||
@@ -8,7 +8,7 @@ $isGitHubRepoDir = in_array($ICEcoder["root"],$ICEcoder['githubLocalPaths']);
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html onMouseDown="top.ICEcoder.mouseDown=true; top.ICEcoder.boxSelect(event,'down')" onMouseUp="top.ICEcoder.mouseDown=false; top.ICEcoder.boxSelect(event,'up'); if (!top.ICEcoder.overCloseLink) {top.ICEcoder.tabDragEnd()}" onMouseMove="if(top.ICEcoder) {top.ICEcoder.getMouseXY(event,'files');top.ICEcoder.canResizeFilesW(); top.ICEcoder.boxSelect(event,'drag')}" onDrop="if(top.ICEcoder) {top.ICEcoder.getMouseXY(event,'files')}" onContextMenu="top.ICEcoder.selectFileFolder(event); return top.ICEcoder.showMenu(event)" onClick="if (!top.ICEcoder.fmDraggedBox) {top.ICEcoder.selectFileFolder(event)} else {top.ICEcoder.fmDraggedBox = false}" onDragStart="top.ICEcoder.selectFileFolder(event);" onDragOver="event.preventDefault();event.stopPropagation()">
|
||||
<html onMouseDown="top.ICEcoder.mouseDown=true; top.ICEcoder.resetAutoLogoutTimer(); top.ICEcoder.boxSelect(event,'down')" onMouseUp="top.ICEcoder.mouseDown=false; top.ICEcoder.resetAutoLogoutTimer(); top.ICEcoder.mouseDownInCM=false; top.ICEcoder.boxSelect(event,'up'); if (!top.ICEcoder.overCloseLink) {top.ICEcoder.tabDragEnd()}" onMouseMove="if(top.ICEcoder) {top.ICEcoder.getMouseXY(event,'files'); top.ICEcoder.resetAutoLogoutTimer(); top.ICEcoder.canResizeFilesW(); top.ICEcoder.boxSelect(event,'drag')}" onDrop="if(top.ICEcoder) {top.ICEcoder.getMouseXY(event,'files')}" onContextMenu="top.ICEcoder.selectFileFolder(event); return top.ICEcoder.showMenu(event)" onClick="if (!top.ICEcoder.fmDraggedBox) {top.ICEcoder.selectFileFolder(event)} else {top.ICEcoder.fmDraggedBox = false}" onDragStart="top.ICEcoder.selectFileFolder(event);" onDragOver="event.preventDefault();event.stopPropagation()">
|
||||
<head>
|
||||
<title>ICEcoder v <?php echo $ICEcoder["versionNo"];?> file manager</title>
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
@@ -16,6 +16,7 @@ $isGitHubRepoDir = in_array($ICEcoder["root"],$ICEcoder['githubLocalPaths']);
|
||||
<link rel="stylesheet" type="text/css" href="lib/file-types.css?microtime=<?php echo microtime(true);?>">
|
||||
<link rel="stylesheet" type="text/css" href="lib/file-type-icons.css?microtime=<?php echo microtime(true);?>">
|
||||
<script src="lib/ice-coder<?php if (!$ICEcoder['devMode']) {echo '.min';}; echo ".js?microtime=".microtime(true);?>" type="text/javascript"></script>
|
||||
<!--Updated via settings so must remain 4th stylesheet//-->
|
||||
<style>
|
||||
ul.fileManager li a span { font-size: <?php echo $ICEcoder["fontSize"];?>; }
|
||||
</style>
|
||||
@@ -55,6 +56,8 @@ $permColors = $thisPermVal == 777 ? 'background: #800; color: #eee' : 'color: #8
|
||||
|
||||
<iframe name="processControl" style="display: none"></iframe>
|
||||
|
||||
<iframe name="pingActive" style="display: none"></iframe>
|
||||
|
||||
<div class="fmDragBox" id="fmDragBox"></div>
|
||||
|
||||
</body>
|
||||
|
||||
BIN
images/doc-explorer-icons.png
Normal file
BIN
images/doc-explorer-icons.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 18 KiB |
69
index.php
69
index.php
@@ -3,28 +3,15 @@ include("lib/headers.php");
|
||||
include("lib/settings.php");
|
||||
$t = $text['index'];
|
||||
|
||||
// Check IP permissions
|
||||
if (!in_array($_SERVER["REMOTE_ADDR"], $_SESSION['allowedIPs']) && !in_array("*", $_SESSION['allowedIPs'])) {
|
||||
header('Location: /');
|
||||
die("Sorry, not in allowed IPs list");
|
||||
};
|
||||
|
||||
$updateMsg = '';
|
||||
// Check for updates
|
||||
if ($ICEcoder["checkUpdates"]) {
|
||||
$icv_url = "https://icecoder.net/latest-version?thisVersion=".$ICEcoder["versionNo"];
|
||||
if (ini_get('allow_url_fopen')) {
|
||||
$icvInfo = @file_get_contents($icv_url,false,$context);
|
||||
if (!$icvInfo) {
|
||||
$icvInfo = file_get_contents(str_replace("https:","http:",$icv_url), false, $context);
|
||||
}
|
||||
$icvInfo = explode("\n",$icvInfo);
|
||||
} elseif (function_exists('curl_init')) {
|
||||
$ch = curl_init($icv_url);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
$icvInfo = explode("\n", curl_exec($ch));
|
||||
$icvData = getData($icv_url,'curl',false,5);
|
||||
if ($icvData == "no data") {
|
||||
$icvData = "1.0\nICEcoder version placeholder";
|
||||
}
|
||||
$icvInfo = explode("\n", $icvData);
|
||||
$icv = $icvInfo[0];
|
||||
$icvI = str_replace('"','\\\'',$icvInfo[1]);
|
||||
$thisV = $ICEcoder["versionNo"];
|
||||
@@ -37,9 +24,10 @@ if ($ICEcoder["checkUpdates"]) {
|
||||
$isMac = strpos($_SERVER['HTTP_USER_AGENT'], "Macintosh")>-1 ? true : false;
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html onMouseDown="top.ICEcoder.mouseDown=true" onMouseUp="top.ICEcoder.mouseDown=false; if (!top.ICEcoder.overCloseLink) {top.ICEcoder.tabDragEnd()}" onMouseMove="if(top.ICEcoder) {top.ICEcoder.getMouseXY(event,'top');top.ICEcoder.canResizeFilesW()}" onMouseWheel="if (!top.ICEcoder.getcMInstance().hasFocus() && !top.ICEcoder.getcMdiffInstance().hasFocus()) {event.wheelDelta > 0 ? top.ICEcoder.nextTab() : top.ICEcoder.previousTab();}">
|
||||
<html onMouseDown="top.ICEcoder.mouseDown=true; top.ICEcoder.resetAutoLogoutTimer();" onMouseUp="top.ICEcoder.mouseDown=false; top.ICEcoder.resetAutoLogoutTimer(); top.ICEcoder.mouseDownInCM=false; if (!top.ICEcoder.overCloseLink) {top.ICEcoder.tabDragEnd()}" onMouseMove="if(top.ICEcoder) {top.ICEcoder.getMouseXY(event,'top'); top.ICEcoder.resetAutoLogoutTimer(); top.ICEcoder.canResizeFilesW()}" onMouseWheel="top.ICEcoder.resetAutoLogoutTimer(); if (top.ICEcoder.getcMInstance() && !top.ICEcoder.getcMInstance().hasFocus() && !top.ICEcoder.getcMdiffInstance().hasFocus()) {event.wheelDelta > 0 ? top.ICEcoder.nextTab() : top.ICEcoder.previousTab();}">
|
||||
<head>
|
||||
<title>ICEcoder v <?php echo $ICEcoder["versionNo"];?></title>
|
||||
<!--Updated via settings so must remain 1st stylesheet//-->
|
||||
<style>
|
||||
#tabsBar.tabsBar .tab { font-size: <?php echo $ICEcoder["fontSize"];?>; }
|
||||
</style>
|
||||
@@ -47,17 +35,23 @@ $isMac = strpos($_SERVER['HTTP_USER_AGENT'], "Macintosh")>-1 ? true : false;
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=0.5, user-scalable=no">
|
||||
<link rel="stylesheet" type="text/css" href="lib/ice-coder.css?microtime=<?php echo microtime(true);?>">
|
||||
<link rel="stylesheet" href="<?php
|
||||
if ($ICEcoder["theme"]=="default") {echo 'lib/editor.css';} else {echo $ICEcoder["codeMirrorDir"].'/theme/'.$ICEcoder["theme"].'.css';};
|
||||
echo "?microtime=".microtime(true);
|
||||
?>">
|
||||
<link rel="icon" type="image/png" href="favicon.png">
|
||||
<script>
|
||||
iceRoot = "<?php echo $ICEcoder['root']; ?>";
|
||||
|
||||
window.onbeforeunload = function() {
|
||||
for(var i=1;i<=ICEcoder.savedPoints.length;i++) {
|
||||
if (ICEcoder.savedPoints[i-1]!=top.ICEcoder.getcMInstance(i).changeGeneration()) {
|
||||
return "<?php echo $t['You have some...'];?>.";
|
||||
if(top.ICEcoder.autoLogoutTimer < top.ICEcoder.autoLogoutMins*60) {
|
||||
for(var i=1;i<=ICEcoder.savedPoints.length;i++) {
|
||||
if (ICEcoder.savedPoints[i-1]!=top.ICEcoder.getcMInstance(i).changeGeneration()) {
|
||||
return "<?php echo $t['You have some...'];?>.";
|
||||
}
|
||||
}
|
||||
return "<?php echo $t['Are you sure...'];?>";
|
||||
}
|
||||
return "<?php echo $t['Are you sure...'];?>";
|
||||
}
|
||||
|
||||
t = {
|
||||
@@ -77,6 +71,7 @@ $t = $text['index'];
|
||||
</script>
|
||||
<script language="JavaScript" src="lib/ice-coder<?php if (!$ICEcoder['devMode']) {echo '.min';};?>.js?microtime=<?php echo microtime(true);?>"></script>
|
||||
<script src="lib/mmd.js?microtime=<?php echo microtime(true);?>"></script>
|
||||
<script src="lib/draggabilly.pkgd.min.js?microtime=<?php echo microtime(true);?>"></script>
|
||||
<script src="farbtastic/farbtastic.js?microtime=<?php echo microtime(true);?>"></script>
|
||||
<script src="lib/difflib.js?microtime=<?php echo microtime(true);?>"></script>
|
||||
<link rel="stylesheet" href="farbtastic/farbtastic.css?microtime=<?php echo microtime(true);?>" type="text/css">
|
||||
@@ -91,6 +86,7 @@ $t = $text['index'];
|
||||
}
|
||||
echo "];";
|
||||
echo "top.ICEcoder.theme = '".($ICEcoder["theme"]=="default" ? 'icecoder' : $ICEcoder["theme"])."';".
|
||||
"top.ICEcoder.autoLogoutMins = ".$ICEcoder["autoLogoutMins"].";".
|
||||
"top.ICEcoder.fontSize = '".$ICEcoder["fontSize"]."';".
|
||||
"top.ICEcoder.openLastFiles = ".($ICEcoder["openLastFiles"] ? 'true' : 'false').";".
|
||||
"top.ICEcoder.updateDiffOnSave = ".($ICEcoder["updateDiffOnSave"] ? 'true' : 'false').";".
|
||||
@@ -98,6 +94,11 @@ $t = $text['index'];
|
||||
"top.ICEcoder.codeAssist = ".($ICEcoder["codeAssist"] ? 'true' : 'false').";".
|
||||
"top.ICEcoder.lockedNav = ".($ICEcoder["lockedNav"] ? 'true' : 'false').";".
|
||||
"top.ICEcoder.lineWrapping = ".($ICEcoder["lineWrapping"] ? 'true' : 'false').";".
|
||||
"top.ICEcoder.lineNumbers = ".($ICEcoder["lineNumbers"] ? 'true' : 'false').";".
|
||||
"top.ICEcoder.showTrailingSpace = ".($ICEcoder["showTrailingSpace"] ? 'true' : 'false').";".
|
||||
"top.ICEcoder.matchBrackets = ".($ICEcoder["matchBrackets"] ? 'true' : 'false').";".
|
||||
"top.ICEcoder.autoCloseTags = ".($ICEcoder["autoCloseTags"] ? 'true' : 'false').";".
|
||||
"top.ICEcoder.autoCloseBrackets = ".($ICEcoder["autoCloseBrackets"] ? 'true' : 'false').";".
|
||||
"top.ICEcoder.indentWithTabs = ".($ICEcoder["indentWithTabs"] ? 'true' : 'false').";".
|
||||
"top.ICEcoder.indentAuto = ".($ICEcoder["indentAuto"] ? 'true' : 'false').";".
|
||||
"top.ICEcoder.indentSize = ".$ICEcoder["indentSize"].";".
|
||||
@@ -166,7 +167,7 @@ $t = $text['index'];
|
||||
<span id="singleFileMenuItems">
|
||||
<a href="javascript:top.ICEcoder.renameFile(top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-1])" onMouseOver="ICEcoder.showFileMenu()"><?php echo $t['Rename'];?></a>
|
||||
<div onMouseOver="ICEcoder.showFileMenu()" style="padding: 2px 0"><hr></div>
|
||||
<a nohref onClick="window.open(iceRoot + top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-1].replace(/\|/g,'/'))" onMouseOver="ICEcoder.showFileMenu()" style="cursor: pointer"><?php echo $t['View Webpage'];?></a>
|
||||
<a nohref onClick="window.open('//<?php echo $_SERVER['HTTP_HOST'];?>' + iceRoot + top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-1].replace(/\|/g,'/'))" onMouseOver="ICEcoder.showFileMenu()" style="cursor: pointer"><?php echo $t['View Webpage'];?></a>
|
||||
</span>
|
||||
<div onMouseOver="ICEcoder.showFileMenu()" style="padding: 2px 0"><hr></div>
|
||||
<?php
|
||||
@@ -232,14 +233,16 @@ $t = $text['index'];
|
||||
</div>
|
||||
<div id="optionsSource" class="optionsList" onmouseover="top.ICEcoder.showHideFileNav('show',this.id)" onmouseout="top.ICEcoder.showHideFileNav('hide',this.id);top.ICEcoder.canShowFMNav=false">
|
||||
<ul>
|
||||
<li><a nohref onclick="ICEcoder.refreshFileManager()">Localhost</a></li>
|
||||
<li><a nohref onclick="ICEcoder.goLocalhostRoot()">Localhost</a></li>
|
||||
<li><a nohref onclick="ICEcoder.ftpManager()">FTP</a></li>
|
||||
<li><a nohref onclick="ICEcoder.githubManager()">GitHub</a></li>
|
||||
<!--
|
||||
<li><a nohref onclick="ICEcoder.message('SVN integration coming soon')">SVN</a></li>
|
||||
<li><a nohref onclick="ICEcoder.message('Bitbucket integration coming soon\n\nCan you help with this? Get involved at icecoder.net')">Bitbucket</a></li>
|
||||
<li><a nohref onclick="ICEcoder.message('Amazon AWS integration coming soon\n\nCan you help with this? Get involved at icecoder.net')">Amazon AWS</a></li>
|
||||
<li><a nohref onclick="ICEcoder.message('Dropbox integration coming soon\n\nCan you help with this? Get involved at icecoder.net')">Dropbox</a></li>
|
||||
<li><a nohref onclick="ICEcoder.message('FTP integration coming soon\n\nCan you help with this? Get involved at icecoder.net')">FTP</a></li>
|
||||
<li><a nohref onclick="ICEcoder.message('SSH integration coming soon\n\nCan you help with this? Get involved at icecoder.net')">SSH</a></li>
|
||||
//-->
|
||||
</ul>
|
||||
</div>
|
||||
<div id="optionsHelp" class="optionsList" onmouseover="top.ICEcoder.showHideFileNav('show',this.id)" onmouseout="top.ICEcoder.showHideFileNav('hide',this.id);top.ICEcoder.canShowFMNav=false">
|
||||
@@ -251,7 +254,7 @@ $t = $text['index'];
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<iframe id="filesFrame" class="frame" name="ff" src="files.php" style="opacity: 0" onLoad="this.style.opacity='1';this.contentWindow.onscroll=function(){top.ICEcoder.mouseDown=false}"></iframe>
|
||||
<iframe id="filesFrame" class="frame" name="ff" src="files.php" style="opacity: 0" onLoad="this.style.opacity='1';this.contentWindow.onscroll=function(){top.ICEcoder.mouseDown=false; top.ICEcoder.mouseDownInCM=false}"></iframe>
|
||||
<div class="serverMessage" id="serverMessage"></div>
|
||||
</div>
|
||||
|
||||
@@ -309,19 +312,31 @@ $t = $text['index'];
|
||||
<div class="goLine"><?php echo $t['Go to Line'];?> <input type="text" name="goToLine" value="" id="goToLineNo" class="textbox goToLine">
|
||||
<div class="view" title="<?php echo $t['View'];?>" onClick="top.ICEcoder.openPreviewWindow()" id="fMView"></div>
|
||||
<div class="bug" title="<?php echo $t['Bug reporting not active'];?>" onClick="top.ICEcoder.openBugReport()" id="bugIcon"></div>
|
||||
<div class="minimapLink" onclick="top.ICEcoder.docExplorerShow('miniMap')"></div>
|
||||
<div class="functionClassListLink" onclick="top.ICEcoder.docExplorerShow('functionClassList')"></div>
|
||||
<div class="terminalLink" onclick="top.ICEcoder.docExplorerShow('terminal')"></div>
|
||||
<input type="hidden" name="csrf" value="<?php echo $_SESSION["csrf"]; ?>">
|
||||
</form>
|
||||
</div>
|
||||
<iframe name="contentFrame" id="content" src="editor.php" class="code"></iframe>
|
||||
<iframe name="terminalFrame" id="terminal" src="terminal.php" frameborder="0" style="position: fixed; display: none; top: 0; z-index: 2"></iframe>
|
||||
<iframe name="contentFrame" id="content" src="editor.php" class="code" scrolling="no"></iframe>
|
||||
</div>
|
||||
|
||||
<div class="footer" id="footer" onContextMenu="return false">
|
||||
<div class="nesting" id="nestValid"></div>
|
||||
<div class="versionsDisplay" id="versionsDisplay" onclick="top.ICEcoder.versionsScreen(top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1].replace(/\//g,'|'))"></div>
|
||||
<div class="splitPaneControls" id="splitPaneControls"><div class="off" id="splitPaneControlsOff" title="<?php echo $t['Single pane'];?>" onclick="top.ICEcoder.setSplitPane('off')"></div><div class="on" id="splitPaneControlsOn" title="<?php echo $t['Diff pane also'];?>" onclick="top.ICEcoder.setSplitPane('on')" style="opacity: 0.5"></div></div>
|
||||
<div class="splitPaneNames" id="splitPaneNamesMain">Main Pane</div>
|
||||
<div class="splitPaneNames" id="splitPaneNamesDiff">Diff Pane</div>
|
||||
<div class="byteDisplay" id="byteDisplay" style="display: none" onClick="top.ICEcoder.showDisplay('char')"></div>
|
||||
<div class="charDisplay" id="charDisplay" style="display: inline-block" onClick="top.ICEcoder.showDisplay('byte')"></div>
|
||||
</div>
|
||||
|
||||
<div class="docExplorer" id="docExplorer">
|
||||
<div class="miniMap" id="miniMap"><div class="miniMapContainer" id="miniMapContainer"></div><div class="miniMapContent" id="miniMapContent"></div></div>
|
||||
<div class="functionClassList" id="functionClassList"></div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
ICEcoder.initAliases();
|
||||
ICEcoder.setLayout('dontSetEditor');
|
||||
|
||||
159
lang/dutch.php
159
lang/dutch.php
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
// Dutch language translation
|
||||
// Door: Julian Kaagman
|
||||
// @dutchwaters (GitHub)
|
||||
// @JpaKaagman (GitHub)
|
||||
|
||||
// Please preserve formatting, line breaks, special characters, anything in <tags> and HTML equivalents (eg &). Translations on right side.
|
||||
// Special chars: http://www.ascii.cl/htmlcodes.htm
|
||||
@@ -12,7 +12,6 @@ $text = array(
|
||||
|
||||
"editor" =>
|
||||
array(
|
||||
"Click icons for..." => "<strong>Klik op de icoontjes<br>voor hulp &<br>gebruiks info</strong>",
|
||||
"server" => "server",
|
||||
"Server name, OS..." => "Server naam, besturingssysteem & IP:",
|
||||
"Root" => "Root:",
|
||||
@@ -22,6 +21,8 @@ $text = array(
|
||||
"your device" => "Uw apparaat",
|
||||
"Browser" => "Browser:",
|
||||
"Your IP" => "Uw IP:",
|
||||
"trial remaining" => "Resterende demo tijd",
|
||||
"days left" => "dagen",
|
||||
"files" => "bestanden",
|
||||
"Last 10 files..." => "Laatste 10 geopende bestanden:",
|
||||
"none" => "[none]",
|
||||
@@ -30,9 +31,7 @@ $text = array(
|
||||
"dev mode" => "Ontwikkelaars modus",
|
||||
"Status" => "Status",
|
||||
"Using" => "Gebruikt",
|
||||
"You can switch..." => "U kunt de ontwikkelaars modus aan/uit zetten
|
||||
in lib/config__settings.php",
|
||||
"results" => "resultaten"
|
||||
"You can switch..." => "U kunt de ontwikkelaars modus aan/uit zetten in lib/config__settings.php",
|
||||
|
||||
),
|
||||
|
||||
@@ -40,6 +39,7 @@ in lib/config__settings.php",
|
||||
array(
|
||||
"Lock" => "Vergrendelen",
|
||||
"Refresh" => "Vernieuwen",
|
||||
"Plugins" => "Plugins",
|
||||
"ROOT" => "[ROOT]"
|
||||
|
||||
),
|
||||
@@ -51,9 +51,10 @@ in lib/config__settings.php",
|
||||
"Your version is" => "Uw versie is",
|
||||
"Update now" => "Nu updaten",
|
||||
"You have some..." => "Er zijn wijzigingen die niet opgeslagen zijn",
|
||||
"Are you sure you want to close?" => "Are you sure you want to close?",
|
||||
"Are you sure..." => "Weet u zeker dat u wilt sluiten ?",
|
||||
"working" => "bezig",
|
||||
"Color picker" => "Kleuren kiezer",
|
||||
"Plugins Manager" => "Plugin beheer",
|
||||
"New File" => "Nieuw bestand",
|
||||
"New Folder" => "Nieuwe map",
|
||||
"Upload File(s)" => "Upload bestand(en)",
|
||||
@@ -68,14 +69,14 @@ in lib/config__settings.php",
|
||||
"Properties" => "Eigenschappen",
|
||||
"File" => "Bestand",
|
||||
"Edit" => "Bewerken",
|
||||
"Remote" => "Extern",
|
||||
"Source" => "Bron",
|
||||
"Help" => "Help",
|
||||
"Save" => "Opslaan",
|
||||
"Save As" => "Opslaan als",
|
||||
"Live Preview" => "Voorbeeld",
|
||||
"Upload" => "Upload",
|
||||
"Zip" => "Zip",
|
||||
"Print" => "Print",
|
||||
"Print" => "Afdrukken",
|
||||
"Fullscreen toggle" => "Schakelen volledig scherm",
|
||||
"Logout" => "Uitloggen",
|
||||
"Undo" => "Ongedaan maken",
|
||||
@@ -86,30 +87,46 @@ in lib/config__settings.php",
|
||||
"Comment/Uncomment" => "Commentaar maken",
|
||||
"Jump to Definition" => "Spring naar definitie",
|
||||
"Manual" => "Handleiding",
|
||||
"Shortcuts" => "Snelkoppeling",
|
||||
"Shortcuts" => "Sneltoetsen",
|
||||
"Settings" => "Opties",
|
||||
"Search for selected" => "Zoek naar geselecteerd",
|
||||
"website" => "website",
|
||||
"Close all tabs" => "Sluit alle tabbladen",
|
||||
"Alphabetize tabs" => "Sorteer tabbladen",
|
||||
// "Find" => "Zoek",
|
||||
// "in" => "in",
|
||||
// "and" => "en",
|
||||
// "replace" => "vervangen",
|
||||
// "replace all" => "alles vervangen",
|
||||
// "this document" => "dit document",
|
||||
// "open documents" => "open documenten",
|
||||
// "all files" => "alle bestanden",
|
||||
// "all filenames" => "alle bestandsnamen",
|
||||
"Find" => "Zoek",
|
||||
"in" => "in",
|
||||
"and" => "en",
|
||||
"replace" => "vervangen",
|
||||
"replace all" => "alles vervangen",
|
||||
"this document" => "dit document",
|
||||
"open documents" => "open documenten",
|
||||
"all files" => "alle bestanden",
|
||||
"all filenames" => "alle bestandsnamen",
|
||||
"Turn on/off..." => "Schakel codehulp aan/uit",
|
||||
"Code Assist" => "Codehulp",
|
||||
"Go to Line" => "Ga naar regel",
|
||||
"View" => "Beeld",
|
||||
"Bug reporting not active" => "Bug rapportage niet actief"
|
||||
"Bug reporting not active" => "Bug rapportage niet actief",
|
||||
"Single pane" => "Enkel pane",
|
||||
"Diff pane also" => "Ook diff pane"
|
||||
),
|
||||
|
||||
// /LIB
|
||||
|
||||
"auto-logout-warning" =>
|
||||
array(
|
||||
"Auto Logout Warning" => "Auto logout waarschuwing",
|
||||
"You will be..." => "U wordt uitgelogd na",
|
||||
"seconds due to..." => "seconden ivm inactiviteit, voor veiligheids doeleinden. Gebruik de muis of druk op een toets om door te gaan.<br><br>U kunt deze functie aanpassen of uitschakelen in Bewerken > Opties."
|
||||
),
|
||||
|
||||
"backup-versions" =>
|
||||
array(
|
||||
"backup" => "backup",
|
||||
"backups" => "backups",
|
||||
"available for" => "beschikbaar voor"
|
||||
),
|
||||
|
||||
"bug-files-check" =>
|
||||
array(
|
||||
"Found in" => "Gevonden in:"
|
||||
@@ -117,32 +134,34 @@ in lib/config__settings.php",
|
||||
|
||||
"file-control" =>
|
||||
array(
|
||||
"Sorry, bad filename..." => "Er is een ongeldige bestandsnaam opgegeven. Bekijk de dev tools console voor meer informatie.",
|
||||
"Sorry" => "Sorry",
|
||||
"does not seem..." => "bestaat niet op de server",
|
||||
"Sorry, could not..." => "Sorry, kan geen gegevens ophalen van",
|
||||
"Sorry, cannot create..." => "Sorry, kan geen map aanmaken op",
|
||||
"Sorry, cannot copy" => "Sorry, kan niet het volgende niet kopiëren",
|
||||
"Sorry, could not..." => "Het is niet mogelijk om de gegevens op te halen van",
|
||||
"Sorry, cannot create..." => "Er kan geen map worden aangemaakt op",
|
||||
"Sorry, cannot copy" => "Kan niet worden gekopieërd",
|
||||
"into" => "naar",
|
||||
"Uploaded file(s) OK" => "Geüploade bestand(en)",
|
||||
"Sorry, cannot upload" => "Sorry, kan niet uploaden",
|
||||
"Sorry, cannot upload..." => "Sorry, kan niet uploaden in de demo modus",
|
||||
"Sorry, cannot rename" => "Sorry, kan niet hernoemen",
|
||||
"Sorry, cannot upload" => "Kan niet uploaden",
|
||||
"Sorry, cannot upload..." => "Kan niet uploaden in de demo modus",
|
||||
"Sorry, cannot rename" => "Kan niet hernoemen",
|
||||
"Maybe public write..." => "Misschien zijn er publieke schrijfrechten nodig voor deze, of de bovenliggende map?",
|
||||
"Sorry, cannot move" => "Sorry, kan niet worden verplaatst",
|
||||
"Sorry, cannot save" => "Sorry, kan niet opslaan",
|
||||
"Sorry, cannot replace..." => "Sorry, Kan geen tekst vervangen in",
|
||||
"Sorry, cannot change..." => "Sorry, kan de rechten niet wijzigen voor",
|
||||
"Sorry, cannot delete..." => "Sorry, kan de root level niet verwijderen",
|
||||
"Sorry, cannot delete" => "Sorry, kan niet verwijderd worden",
|
||||
"Sorry, this file..." => "Sorry, het bestand is gewijzigd, maar kan niet worden opgeslagen",
|
||||
"Sorry, cannot move" => "Kan niet worden verplaatst",
|
||||
"Sorry, cannot save" => "Kan niet opslaan",
|
||||
"Sorry, cannot replace..." => "Kan geen tekst vervangen in",
|
||||
"Sorry, cannot change..." => "Kan de rechten niet wijzigen voor",
|
||||
"Sorry, cannot delete more..." => "U kunt niet meer dan een bestand tegelijkertijd verwijderen in FTP modus",
|
||||
"Sorry, cannot delete..." => "Kan de root level niet verwijderen",
|
||||
"Sorry, cannot delete" => "Kan niet verwijderd worden",
|
||||
"Sorry, this file..." => "Het bestand is gewijzigd, maar kan niet worden opgeslagen",
|
||||
"Reload this file..." => "Vernieuw dit bestand en kopieer de huidige versie naar een nieuw bestand?",
|
||||
"There was a..." => "Er was een technisch probleem, mogelijk was er iets niet gereed. ICEcodeer heeft bestandsbeheer opnieuw geladen.",
|
||||
"displayed at" => "weergegeven op",
|
||||
"Enter filename to..." => "Voer een bestandsnaam in om het op te slaan op",
|
||||
"That file exists..." => "Dit bestand bestaat al, overschrijven?",
|
||||
"Saving" => "Opslaan"
|
||||
),
|
||||
|
||||
),
|
||||
|
||||
"get-branch" =>
|
||||
array(
|
||||
"There are no..." => "Er zijn geen verschillen aangetroffen tussen de lokale en de Github repo. Wilt u terug schakelen naar de normale modus?",
|
||||
@@ -159,7 +178,9 @@ in lib/config__settings.php",
|
||||
"github paths" => "Github paden",
|
||||
"Choose existing path" => "Kies een bestaand pad",
|
||||
"Local path" => "Lokaal pad",
|
||||
"Slash prefixed" => "Slash prefix",
|
||||
"Remote GitHub path" => "Extern Github pad",
|
||||
"Absolute URL beginning..." => "Absolute link, beginnend met https://github.com",
|
||||
"Choose" => "Kies",
|
||||
"Set local and..." => "Maak het lokale en externe pad leeg, om te verwijderen",
|
||||
"Update" => "Update",
|
||||
@@ -169,12 +190,12 @@ in lib/config__settings.php",
|
||||
"Enter relative local..." => "Voer relatieve lokale paden (bv /server/mijnbestanden) en absolute Github paden (bv https://github.com/user/repo of https://github.com/user/repo/tree/branch voor vertakkingen (branches)), zoals het voorbeeld. Als je dit doet worden de bron paden op beide locaties gevestigd als een paar.",
|
||||
"You can then..." => "You can then choose a path pair and this then becomes your new root path in ICEcoder.",
|
||||
"The file manager..." => "The file manager then displays a new GitHub icon, which you can click on to perform and show a diff check between the 2 sources. These diffs can then be committed and pushed to the remote path at GitHub or cloned to your local path, to sync your files.",
|
||||
"If you want..." => "If you want to set another root path, this can be done in the Settings screen."
|
||||
"If you want..." => "Als je een ander root pad wilt instellen kan je dit doen in Bewerken > Opties."
|
||||
),
|
||||
|
||||
"github" =>
|
||||
array(
|
||||
"Sorry, you do..." => "Sorry, you do not appear to have OpenSSL loaded on your PHP instance, so https is not available. This is required for GitHub data transfer, please amend php.ini settings, restart your server and try again"
|
||||
"Sorry, you do..." => "Sorry, het lijkt erop dat U OpenSSL niet beschikbaar heeft op uw server, https is dus niet beschikbaar. Dit is nodig voor GitHub gegevensoverdracht. Wijzig uw php.ini instellingen en herstart uw server en probeer opnieuw."
|
||||
),
|
||||
|
||||
"headers" =>
|
||||
@@ -184,7 +205,7 @@ in lib/config__settings.php",
|
||||
|
||||
"help" =>
|
||||
array(
|
||||
"shortcuts" => "snelkoppelingen",
|
||||
"shortcuts" => "Sneltoetsen",
|
||||
"Within document" => "Binnen het document",
|
||||
"On Tabs" => "Op Tabs",
|
||||
"Within file manager" => "Binnen bestandsbeheer",
|
||||
@@ -210,6 +231,8 @@ in lib/config__settings.php",
|
||||
"Jump to definition" => "Spring naar definitie / spring terug",
|
||||
"Comment uncomment" => "Commentaar (ongedaan) maken",
|
||||
"Insert tab indent" => "Invoegen tab / verspringen geselecteerd",
|
||||
"Insert more" => "Inspringen verruimen",
|
||||
"Insert less" => "Inspringen verkleinen",
|
||||
"Wrap with div" => "Omhullen met <div>",
|
||||
"Wrap with span" => "Omhullen met <span>",
|
||||
"Wrap unwrap p" => "Omhullen / onthullen met <p>",
|
||||
@@ -234,6 +257,7 @@ in lib/config__settings.php",
|
||||
"Close current tab" => "Sluit huidige tab",
|
||||
"Open file prompt" => "Open bestands prompt",
|
||||
"Find" => "Zoek",
|
||||
"Previous" => "Vorige",
|
||||
"Focus on Go..." => "Focus op ga naar regel invoer",
|
||||
"Save" => "Opslaan",
|
||||
"Save as" => "Opslaan als...",
|
||||
@@ -246,12 +270,18 @@ in lib/config__settings.php",
|
||||
|
||||
"ice-coder" =>
|
||||
array(
|
||||
"results" => "resultaten",
|
||||
"No text selected..." => "Geen tekst geselecteerd om te zoeken",
|
||||
"all files" => "alle bestanden",
|
||||
"all filenames" => "alle bestandsnamen",
|
||||
"selected files" => "geselecteerde bestanden",
|
||||
"selected filenames" => "geselecteerde bestandsnamaen",
|
||||
"Creating Folder" => "Aanmaken map",
|
||||
"Sorry you can..." => "Sorry, je kan maximaal 100 bestanden open hebben staan!",
|
||||
"Opening File" => "Openen bestand",
|
||||
"Enter relative file..." => "Geef relatieve bestands pad (voorafgaand door een slash) of een externe URL",
|
||||
"Getting" => "Ophalen",
|
||||
"Saving" => "Opslaan:",
|
||||
"Please enter the..." => "Voer de nieuwe naam in voor",
|
||||
"Renaming to" => "Hernoemen naar",
|
||||
"Moving to" => "Verplaatsen naar",
|
||||
@@ -259,13 +289,19 @@ in lib/config__settings.php",
|
||||
"Pasting File" => "Bestand plakken",
|
||||
"Sorry cannot paste..." => "Sorry, kan niet de gehele root plakken",
|
||||
"Nothing to paste..." => "Er is niets om te plakken, kopieer eerst een bestand of map!",
|
||||
"and" => "en",
|
||||
"this document" => "dit bestand",
|
||||
"replace" => "vervang",
|
||||
"replace all" => "vervang alle",
|
||||
"file" => "bestand",
|
||||
"Replacing text in" => "Wijzig de tekst in",
|
||||
"Sorry there was..." => "Helaas er is een fout opgetreden met uw aanvraag.\\n\\nKijk in de dev tools console voor meer informatie.",
|
||||
"Cancelled tasks" => "Geannuleerde taken",
|
||||
"Open previous files" => "Open voorgaande bestand(en)?",
|
||||
"Please enter your..." => "Please enter your GitHub token (either personal access token or client/secret pair token). See tooltip next to Github Auth Token on Help > Settings screen for more info",
|
||||
"This will compare..." => "This will compare and show a diff view between your local dir and the repo. OK?",
|
||||
"Please enter your..." => "Voer alstublieft uw GitHub token (personal access token of client/secret pair token). Zie ook de tooltip bij Github Auth Token binnen Bewerken > Opties voor meer informatie.",
|
||||
"This will compare..." => "Er zullen vergelijkingen en veranderingen worden getoond tussen uw lokale map en de repo. Ok?",
|
||||
"Please note for..." => "Let op: om de update goed te laten doorvoeren, moet je schrijfrechten hebben op alle bestanden en mappen van ICEcoder. Moet je deze versie van ICEcoder herstellen, dan vind je die in de map /tmp. Klik op ok om door te gaan met automatisch updaten, of druk op annuleren om af te breken. Voor een handmatige update kun je het zip bestand van de ICEcoder website downloaden.",
|
||||
"You can start..." => "U kunt bug rapporteren aanzetten in: Help > Settings",
|
||||
"You can start..." => "U kunt bug rapporteren aanzetten in: Bewerken > Opties",
|
||||
"Error cannot find..." => "Fout: kan geen toegang krijgen of de bestands paden vinden",
|
||||
"No new errors..." => "Geen nieuwe fouten gevonden",
|
||||
"You have made..." => "Er zijn wijzigingen aangetroffen. Wilt u verder gaan zonder op te slaan?",
|
||||
@@ -278,16 +314,17 @@ in lib/config__settings.php",
|
||||
"login" => "login",
|
||||
"To disable registration..." => "Om de registratie modus uit te zetten, open het menu opties of open lib/config___settings.php en wijzig enableRegistration naar false",
|
||||
"Registration mode enabled" => "Registratie modus aan",
|
||||
"disable further registrations" => "uitschakelen van verdere registraties",
|
||||
"auto-check for updates" => "automatisch controleren op updates",
|
||||
"To put into..." => "Om de multi-user modus te gebruiken, open het menu opties of open lib/config___settings.php en verander multiUser naar true",
|
||||
"multi-user" => "multi-user"
|
||||
),
|
||||
),
|
||||
|
||||
"multiple-results" =>
|
||||
array(
|
||||
"rename all" => "hernoem alles",
|
||||
"replace all" => "vervang alles",
|
||||
"document" => "document",
|
||||
"document" => "bestand",
|
||||
"Found" => "Gevonden",
|
||||
"times" => "keer",
|
||||
"replace" => "vervang",
|
||||
@@ -360,14 +397,20 @@ in lib/config__settings.php",
|
||||
"version" => "versie",
|
||||
"website" => "website",
|
||||
"git" => "git",
|
||||
"codemirror dir" => "codemirror dir",
|
||||
"codemirror dir" => "codemirror map",
|
||||
"codemirror version" => "codemirror versie",
|
||||
"file manager root" => "bestandsbeheer root",
|
||||
"Free to use..." => "Vrij voor eigen gebruik, commercieel of persoonlijk. :)<br><br>Wij zijn niet aansprakelijk en bieden geen garantie, gebruik op eigen risico.<br><br>Een hoop fantastische mensen, en bedrijven hebben meegeholpen aan de ontwikkeling van ICEcoder waarvoor bedankt. Zie wie er allemaal heeft bijgedragen op",
|
||||
"backups" => "backups",
|
||||
"keep version control..." => "gebruik versiebeheer backups voor",
|
||||
"day" => "dag",
|
||||
"days" => "dagen",
|
||||
"of backups stored..." => "of backups stored currently",
|
||||
"Get in contact..." => "Kom in contact via...",
|
||||
"You may use..." => "Vrij voor eigen gebruik, commercieel of persoonlijk. Laat het ons weten als je toffe aanpassingen maakt :)<br><br>Wij zijn niet aansprakelijk en bieden geen garantie, gebruik op eigen risico.",
|
||||
"functionality" => "functionaliteit",
|
||||
"check for updates..." => "check voor updates bij laden",
|
||||
"auto open last..." => "automatisch openen laatst geopende bestanden na inloggen",
|
||||
"when finding in..." => "when finding in files, exclude",
|
||||
"when finding in..." => "Uitgesloten bestand typen",
|
||||
"assisting" => "assisteren",
|
||||
"code assist" => "codehulp",
|
||||
"visible tabs" => "zichtbare tabs",
|
||||
@@ -381,19 +424,27 @@ in lib/config__settings.php",
|
||||
"banned files/folders" => "uitgesloten bestanden/mappen",
|
||||
"banned paths" => "uitgesloten paden",
|
||||
"ip addresses" => "ip adressen",
|
||||
"auto-logout after" => "auto-logout na",
|
||||
"mins of inactivity..." => "minuten in actief, tenzij er niet opgeslagen bestanden geopend zijn",
|
||||
"Slash prefixed comma..." => "Slash prefixed, komma gescheiden",
|
||||
"Comma delimited" => "komma gescheiden",
|
||||
"style" => "style",
|
||||
"theme" => "thema",
|
||||
"line wrapping" => "regel omslag",
|
||||
"line numbers" => "regel nummers",
|
||||
"indent type" => "inspring type",
|
||||
"indent size" => "inspring size",
|
||||
"match brackets" => "match brackets",
|
||||
"show trailing space" => "show trailing space",
|
||||
"font size" => "lettergrootte",
|
||||
"auto indent" => "auto indent",
|
||||
"auto indent" => "automatisch inspringen",
|
||||
"auto close tags" => "automatisch tags sluiten",
|
||||
"auto close brackets" => "automatsich brackets sluiten",
|
||||
"layout" => "lay-out",
|
||||
"plugin panel aligned" => "plug-in paneel positie",
|
||||
"file manager" => "bestandsbeheer",
|
||||
"root" => "root",
|
||||
"Set 0 to..." => "Set 0 to disable",
|
||||
"Slash prefixed" => "Slash prefixed",
|
||||
"bug reporting" => "bug rapportage",
|
||||
"check in files" => "check in bestanden",
|
||||
@@ -422,8 +473,20 @@ in lib/config__settings.php",
|
||||
|
||||
"updater" =>
|
||||
array(
|
||||
"Update appears to..." => "Update lijkt succesvol te zijn verlopen"
|
||||
"Update appears to..." => "Update succesvol uitgevoerd!"
|
||||
),
|
||||
|
||||
"find-in-files" =>
|
||||
array(
|
||||
"Enter path to search in" => "Voer het door te zoeken pad in",
|
||||
"Enter semicolon-separated masks of files to look at (e.g. *.php;*.html;*.js)" => "Voer de te zoeken bestandstypen in, en scheid deze met een puntcomma (bijvoorbeeld: *.php;*.html;*.js)",
|
||||
"Type of text" => "Type tekst",
|
||||
"Fixed text" => "Fixed tekst",
|
||||
"Regular expression" => "Reguliere expressie",
|
||||
"Case sensitive" => "Hoofdletter gevoelig",
|
||||
"Yes" => "Ja",
|
||||
"No" => "Nee",
|
||||
"Search" => "Zoek",
|
||||
)
|
||||
|
||||
);
|
||||
?>
|
||||
|
||||
@@ -112,6 +112,20 @@ $text = array(
|
||||
|
||||
// /LIB
|
||||
|
||||
"auto-logout-warning" =>
|
||||
array(
|
||||
"Auto Logout Warning" => "Auto logout warning",
|
||||
"You will be..." => "You will be logged out after",
|
||||
"seconds due to..." => "seconds due to inactivity, for security purposes. Use the mouse or hit a key to continue.<br><br>You can adjust or disable this from the Edit > Settings section."
|
||||
),
|
||||
|
||||
"backup-versions" =>
|
||||
array(
|
||||
"backup" => "backup",
|
||||
"backups" => "backups",
|
||||
"available for" => "available for"
|
||||
),
|
||||
|
||||
"bug-files-check" =>
|
||||
array(
|
||||
"Found in" => "Found in:"
|
||||
@@ -135,10 +149,11 @@ $text = array(
|
||||
"Sorry, cannot save" => "Sorry, cannot save",
|
||||
"Sorry, cannot replace..." => "Sorry, cannot replace text in",
|
||||
"Sorry, cannot change..." => "Sorry, cannot change permissions on",
|
||||
"Sorry, cannot delete more..." => "Sorry, cannot delete more then one item at a time under FTP mode",
|
||||
"Sorry, cannot delete..." => "Sorry, cannot delete the root level",
|
||||
"Sorry, cannot delete" => "Sorry, cannot delete",
|
||||
"Sorry, this file..." => "Sorry, this file has changed, cannot save",
|
||||
"Reload this file..." => "Reload this file and copy your version to a diff pane?",
|
||||
"Sorry, this file..." => "Sorry, this file has changed outside of ICEcoder, cannot save",
|
||||
"Reload this file..." => "Reload this file and copy your version to a diff pane?\\\\n(left side = file from server, right side = unsaved file)",
|
||||
"There was a..." => "There was a tech hiccup, likely something was not quite ready. So ICEcoder reloaded its file control again.",
|
||||
"displayed at" => "displayed at",
|
||||
"Enter filename to..." => "Enter filename to save at",
|
||||
@@ -146,6 +161,37 @@ $text = array(
|
||||
"Saving" => "Saving"
|
||||
),
|
||||
|
||||
"ftp-manager" =>
|
||||
array(
|
||||
"Saving FTP sites" => "Saving FTP sites",
|
||||
"Cannot update config..." => "Cannot update config file. Please set public write permissions on",
|
||||
"and try again" => "and try again",
|
||||
"ftp manager" => "ftp manager",
|
||||
"Choose existing site" => "Choose existing site",
|
||||
"Are you sure..." => "Are you sure you wish to remove this site?",
|
||||
"Add new site" => "Add new site",
|
||||
"Edit site" => "Edit site",
|
||||
"Site base" => "Site base",
|
||||
"Host" => "Host",
|
||||
"Username" => "Username",
|
||||
"Password" => "Password",
|
||||
"PASV and mode" => "PASV and mode",
|
||||
"Root" => "Root",
|
||||
"eg http://yourdomain.com" => "eg http://yourdomain.com",
|
||||
"eg ftp.yourdomain.com" => "eg ftp.yourdomain.com",
|
||||
"eg user123" => "eg user123",
|
||||
"eg pass123" => "eg pass123",
|
||||
"Use PASV mode..." => "Use PASV mode if your FTP site requires it and choose the data transfer type - ASCII or binary",
|
||||
"eg /htdocs" => "eg /htdocs",
|
||||
"PASV connection off" => "PASV connection off",
|
||||
"PASV connection on" => "PASV connection on",
|
||||
"ASCII transfer" => "ASCII transfer",
|
||||
"Binary transfer" => "Binary transfer",
|
||||
"Add" => "Add",
|
||||
"Choose" => "Choose",
|
||||
"Update" => "Update"
|
||||
),
|
||||
|
||||
"get-branch" =>
|
||||
array(
|
||||
"There are no..." => "There are no differences between the local and GitHub repo. Switch back to regular mode?",
|
||||
@@ -298,6 +344,7 @@ $text = array(
|
||||
"login" => "login",
|
||||
"To disable registration..." => "To disable registration mode, open the settings menu or open lib/config___settings.php and change enableRegistration to false then reload this page",
|
||||
"Registration mode enabled" => "Registration mode enabled",
|
||||
"disable further registrations" => "disable further registrations",
|
||||
"auto-check for updates" => "auto-check for updates",
|
||||
"To put into..." => "To put into multi-user mode, open the settings menu or open lib/config___settings.php and change multiUser to true then reload this page",
|
||||
"multi-user" => "multi-user"
|
||||
@@ -383,6 +430,13 @@ $text = array(
|
||||
"codemirror dir" => "codemirror dir",
|
||||
"codemirror version" => "codemirror version",
|
||||
"file manager root" => "file manager root",
|
||||
"backups" => "backups",
|
||||
"keep version control..." => "keep version control backups for",
|
||||
"day" => "day",
|
||||
"days" => "days",
|
||||
"of backups stored..." => "of backups stored currently",
|
||||
"deleting actually moves..." => "deleting actually moves to ICEcoder's tmp dir",
|
||||
"local/server items..." => "local/server items only",
|
||||
"Get in contact..." => "Get in contact by...",
|
||||
"You may use..." => "You may use ICEcoder for your own purposes, commercial or not, just let us know of any cool uses or customisations. :)<br><br>No warranty or liability accepted for anything, all responsibility of use is your own.",
|
||||
"functionality" => "functionality",
|
||||
@@ -402,19 +456,27 @@ $text = array(
|
||||
"banned files/folders" => "banned files/folders",
|
||||
"banned paths" => "banned paths",
|
||||
"ip addresses" => "ip addresses",
|
||||
"auto-logout after" => "auto-logout after",
|
||||
"mins of inactivity..." => "mins of inactivity if no unsaved files",
|
||||
"Slash prefixed comma..." => "Slash prefixed, comma delimited",
|
||||
"Comma delimited" => "Comma delimited",
|
||||
"style" => "style",
|
||||
"theme" => "theme",
|
||||
"line wrapping" => "line wrapping",
|
||||
"line numbers" => "line numbers",
|
||||
"indent type" => "indent type",
|
||||
"indent size" => "indent size",
|
||||
"match brackets" => "match brackets",
|
||||
"show trailing space" => "show trailing space",
|
||||
"font size" => "font size",
|
||||
"auto indent" => "auto indent",
|
||||
"auto close tags" => "auto close tags",
|
||||
"auto close brackets" => "auto close brackets",
|
||||
"layout" => "layout",
|
||||
"plugin panel aligned" => "plugin panel aligned",
|
||||
"file manager" => "file manager",
|
||||
"root" => "root",
|
||||
"Set 0 to..." => "Set 0 to disable",
|
||||
"Slash prefixed" => "Slash prefixed",
|
||||
"bug reporting" => "bug reporting",
|
||||
"check in files" => "check in files",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?php
|
||||
<?php
|
||||
// Italian language translation
|
||||
// by: @pietrondo (GitHub)
|
||||
// @pietrobravo (Twitter)
|
||||
@@ -11,7 +11,6 @@ $text = array(
|
||||
|
||||
"editor" =>
|
||||
array(
|
||||
"Click icons for..." => "<b>Clicca le icone<br>per l'aiuto &<br>la guida</b>",
|
||||
"server" => "server",
|
||||
"Server name, OS..." => "Nome server, Sistema operativo e indirizzo IP...",
|
||||
"Root" => "Root:",
|
||||
@@ -25,6 +24,8 @@ $text = array(
|
||||
"Last 10 files..." => "Ultimi 10 file aperti:",
|
||||
"none" => "[none]",
|
||||
"test suite" => "prova suite",
|
||||
"trial remaining" => "tempo rimanente alla fine del periodo di prova",
|
||||
"days left" => "giorni rimanenti",
|
||||
"Run unit tests" => "Esegui test di unità",
|
||||
"dev mode" => "modalità sviluppo",
|
||||
"Status" => "Stato",
|
||||
@@ -37,6 +38,7 @@ $text = array(
|
||||
array(
|
||||
"Lock" => "Blocca",
|
||||
"Refresh" => "Aggiorna",
|
||||
"Plugins" => "Plugins",
|
||||
"ROOT" => "[ROOT]"
|
||||
|
||||
),
|
||||
@@ -51,6 +53,7 @@ $text = array(
|
||||
"Are you sure you want to close?" => "Are you sure you want to close?",
|
||||
"working" => "working",
|
||||
"Color picker" => "Selettore di colore",
|
||||
"Plugins Manager" => "Plugins Manager",
|
||||
"New File" => "Nuovo file",
|
||||
"New Folder" => "Nuova cartella",
|
||||
"Upload File(s)" => "Carica File",
|
||||
@@ -102,7 +105,9 @@ $text = array(
|
||||
"Code Assist" => "Code Assist",
|
||||
"Go to Line" => "Vai alla linea",
|
||||
"View" => "Visualizza",
|
||||
"Bug reporting not active" => "Segnalazione bug non attiva"
|
||||
"Bug reporting not active" => "Segnalazione bug non attiva",
|
||||
"Single pane" => "Pannello singolo",
|
||||
"Diff pane also" => "Pannello delle differenze"
|
||||
),
|
||||
|
||||
// /LIB
|
||||
@@ -133,7 +138,7 @@ $text = array(
|
||||
"Sorry, cannot delete" => "Siamo spiacenti, non è possibile cancellare",
|
||||
"Sorry, this file..." => "Siamo spiacenti, questo file è stato cambiato, non è possibile salvarlo",
|
||||
"Reload this file..." => "Ricarica questo file e copia la tua versione in un pannello differente",
|
||||
"There was a..." => "C'è stato un problema tecnico, probabilmente qualcosa che non era ancora pronto. Così ICEcoder ha ricaricato di nuovo il file.",
|
||||
"There was a..." => "C\'è stato un problema tecnico, probabilmente qualcosa che non era ancora pronto. Così ICEcoder ha ricaricato di nuovo il file.",
|
||||
"displayed at" => "visualizzato in",
|
||||
"Enter filename to..." => "Inserisci il nome del file da salvare in",
|
||||
"That file exists..." => "Questo file esiste già, sovrascrivere??",
|
||||
@@ -143,7 +148,7 @@ $text = array(
|
||||
"get-branch" =>
|
||||
array(
|
||||
"There are no..." => "Non ci sono differenze tra il repo locale e GitHub. Tornare alla modalità normale??",
|
||||
"Sorry, there was..." => "Spiacente, c'è stato un errore, il codice:",
|
||||
"Sorry, there was..." => "Spiacente, c\'è stato un errore, il codice:",
|
||||
"Your local folder..." => "La cartella locale è vuota, ti piacerebbe clonare"
|
||||
),
|
||||
|
||||
@@ -157,6 +162,7 @@ $text = array(
|
||||
"Choose existing path" => "Scegli il percorso esistente",
|
||||
"Local path" => "Percorso locale",
|
||||
"Remote GitHub path" => "Remote GitHub path",
|
||||
"Absolute URL beginning..." => "Url assoluto che comincia con https://github.com",
|
||||
"Choose" => "Scegli",
|
||||
"Set local and..." => "Imposta percorso locale e remoto, lasciare vuoto per per rimuovere",
|
||||
"Update" => "Aggiorna",
|
||||
@@ -176,15 +182,15 @@ $text = array(
|
||||
|
||||
"headers" =>
|
||||
array(
|
||||
"Bad CSRF token..." => "Bad CSRF token. Per favore riporta l'errore a https://github.com/mattpass/ICEcoder così che possa essere fixato."
|
||||
"Bad CSRF token..." => "Bad CSRF token. Per favore riporta l\'errore a https://github.com/mattpass/ICEcoder così che possa essere fixato."
|
||||
),
|
||||
|
||||
"help" =>
|
||||
array(
|
||||
"shortcuts" => "shortcuts",
|
||||
"Within document" => "all'interno del documento",
|
||||
"Within document" => "all\'interno del documento",
|
||||
"On Tabs" => "Sulle Tabs",
|
||||
"Within file manager" => "All'interno del file manager",
|
||||
"Within file manager" => "All\'interno del file manager",
|
||||
"Anywhere" => "Dappertutto",
|
||||
"Space" => "Spazio",
|
||||
"Click" => "Click",
|
||||
@@ -243,6 +249,7 @@ $text = array(
|
||||
|
||||
"ice-coder" =>
|
||||
array(
|
||||
"results" => "risultati",
|
||||
"No text selected..." => "Nessun testo selezionato per la ricerc",
|
||||
"all files" => "tutti i file",
|
||||
"all filenames" => "tutti i nomi dei file",
|
||||
@@ -251,7 +258,7 @@ $text = array(
|
||||
"Creating Folder" => "Sto creando una cartla",
|
||||
"Sorry you can..." => "Spiacente, puoi avere solo 100 file aperti a volta!",
|
||||
"Opening File" => "Apertura file",
|
||||
"Enter relative file..." => "Digita il percorso relativo (con / di prefisso) o l'url remoto",
|
||||
"Enter relative file..." => "Digita il percorso relativo (con / di prefisso) o l\'url remoto",
|
||||
"Getting" => "Getting",
|
||||
"Please enter the..." => "Per favore digita un nuovo nome per",
|
||||
"Renaming to" => "Rinominando a ",
|
||||
@@ -270,7 +277,7 @@ $text = array(
|
||||
"Open previous files" => "Aprire i file precedenti?",
|
||||
"Please enter your..." => "Please enter your GitHub token (either personal access token or client/secret pair token). See tooltip next to Github Auth Token on Help > Settings screen for more info",
|
||||
"This will compare..." => "Questo confronterà e mostrarà la diff tra il dir locale e il repository. Ok?",
|
||||
"Please note for..." => "Si prega di notare: affinche l'aggiornamento funzioni correttamente, è necessario disporre dei permessi di scrittura e cancellazione su tutti le cartelle e file di ICEcoder e. Se è necessario ripristinare questa versione di ICEcoder per qualsiasi motivo, lo troverete nella directory / tmp dir. Fare clic su OK per procedere con l'aggiornamento automatico o annullare a visitare il sito ICEcoder in modo da poter utilizzare la zip e aggiornare manualmente.",
|
||||
"Please note for..." => "Si prega di notare: affinche l\'aggiornamento funzioni correttamente, è necessario disporre dei permessi di scrittura e cancellazione su tutti le cartelle e file di ICEcoder e. Se è necessario ripristinare questa versione di ICEcoder per qualsiasi motivo, lo troverete nella directory / tmp dir. Fare clic su OK per procedere con l\'aggiornamento automatico o annullare a visitare il sito ICEcoder in modo da poter utilizzare la zip e aggiornare manualmente.",
|
||||
"You can start..." => "Puoi ripoertare il bug in Help > Settings",
|
||||
"Error cannot find..." => "Error: cannot find/access the error file paths",
|
||||
"No new errors..." => "Nessun nuovo errore trovato",
|
||||
@@ -372,7 +379,7 @@ $text = array(
|
||||
"file manager root" => "root di file manager ",
|
||||
"Free to use..." => "Libero di usarlo per i propri scopi, commerciali e non, facendomelo solo sapere per eventuali nuovi e interessanti utilizzi o personalizzazioni. :) <br> Nessuna garanzia o responsabilità, tutte le responsabilità di utilizzo è vostra. <br> Un sacco di aziende e persone fantastiche hanno contribuito a costruire ICEcoder e ce ne sarebbero troppi da ringraziare. Si prega di consultare la lista completa a",
|
||||
"functionality" => "funzionalità",
|
||||
"check for updates..." => "controlla aggiornamenti all'avvio",
|
||||
"check for updates..." => "controlla aggiornamenti all\'avvio",
|
||||
"auto open last..." => "Apri automaticamente ultimi file al login",
|
||||
"when finding in..." => "quando trovi nei file, escludi",
|
||||
"assisting" => "assisting",
|
||||
@@ -423,14 +430,27 @@ token di accesso personale (https://help.github.com/articles/creating-an-access-
|
||||
|
||||
"settings-update" =>
|
||||
array(
|
||||
"Cannot update config..." => "Non posso aggiornare il file config. Per favore permetti l'accesso pubblico di scrittura",
|
||||
"Cannot update config..." => "Non posso aggiornare il file config. Per favore permetti l\'accesso pubblico di scrittura",
|
||||
"and try again" => "e prova ancora",
|
||||
"and press refresh" => "e premi aggiorna"
|
||||
),
|
||||
|
||||
"updater" =>
|
||||
array(
|
||||
"Update appears to..." => "L'aggiornamento sembra andato bene"
|
||||
"Update appears to..." => "L\'aggiornamento sembra andato bene"
|
||||
),
|
||||
"find-in-files" =>
|
||||
array(
|
||||
"Enter path to search in" => "Inserire il percorso in cui ricercare",
|
||||
"Enter semicolon-separated masks of files to look at (e.g. *.php;*.html;*.js)" => "
|
||||
Inserisci maschere separate da punto e virgola i dei file da cercare (e.s. *.php;*.html;*.js)",
|
||||
"Type of text" => "Tipo di testo",
|
||||
"Fixed text" => "Testo fisso",
|
||||
"Regular expression" => "Espressione regolare",
|
||||
"Case sensitive" => "Case sensitive",
|
||||
"Yes" => "Si",
|
||||
"No" => "No",
|
||||
"Search" => "Cerca",
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
// Português do Brasil
|
||||
// Português do Brasil
|
||||
// by: @leonardoroese (GitHub)
|
||||
|
||||
|
||||
@@ -11,25 +11,25 @@ $text = array(
|
||||
|
||||
"editor" =>
|
||||
array(
|
||||
"Click icons for..." => "<b>Ícones<br>para ajuda &<br>info. utilização</b>",
|
||||
"Click icons for..." => "<b>Ícones<br>para ajuda &<br>info. utilização</b>",
|
||||
"server" => "Servidor",
|
||||
"Server name, OS..." => "Nome do Servidor, OS & IP:",
|
||||
"Root" => "Raiz:",
|
||||
"ICEcoder root" => "ICEcoder raiz:",
|
||||
"PHP version" => "Versâo do PHP:",
|
||||
"PHP version" => "Versão do PHP:",
|
||||
"Date & time" => "Data e Hora:",
|
||||
"your device" => "seu dispositivo",
|
||||
"Browser" => "Exibir:",
|
||||
"Your IP" => "Seu IP:",
|
||||
"files" => "arquivos",
|
||||
"Last 10 files..." => "ùltimos 10 arquivos abertos:",
|
||||
"Last 10 files..." => "últimos 10 arquivos abertos:",
|
||||
"none" => "[nenhum]",
|
||||
"test suite" => "suíte de teste",
|
||||
"Run unit tests" => "Executar testes unitários",
|
||||
"test suite" => "suíte de teste",
|
||||
"Run unit tests" => "Executar testes unitãrios",
|
||||
"dev mode" => "modo desenv.",
|
||||
"Status" => "Status",
|
||||
"Using" => "Usando",
|
||||
"You can switch..." => "Você pode alterar modo desenv. on/off em lib/config__settings.php"
|
||||
"You can switch..." => "Você pode alterar modo desenv. on/off em lib/config__settings.php"
|
||||
|
||||
),
|
||||
|
||||
@@ -43,14 +43,14 @@ $text = array(
|
||||
|
||||
"index" =>
|
||||
array(
|
||||
"UPDATE INFO" => "INFO ATUALIZAÇÃO",
|
||||
"now available" => "disponível agora",
|
||||
"Your version is" => "Sua versão é",
|
||||
"Update now" => "Atualizar já",
|
||||
"You have some..." => "Voce possui alterações não salvas",
|
||||
"Are you sure you want to close?" => "Are you sure you want to close?",
|
||||
"UPDATE INFO" => "INFORMAÇÃ DE ATUALIZAÇÃO",
|
||||
"now available" => "disponível agora",
|
||||
"Your version is" => "Sua versão é",
|
||||
"Update now" => "Atualizar jã",
|
||||
"You have some..." => "Voce possui alterações não salvas",
|
||||
"Are you sure you want to close?" => "Você tem certeza que deseja fechar?",
|
||||
"working" => "trabalhando",
|
||||
"Color picker" => "Color picker",
|
||||
"Color picker" => "Seletor de Cores",
|
||||
"New File" => "Novo Arquivo",
|
||||
"New Folder" => "Nova Pasta",
|
||||
"Upload File(s)" => "Carregar arquivo(s)",
|
||||
@@ -60,7 +60,7 @@ $text = array(
|
||||
"Duplicate" => "Duplicar",
|
||||
"Delete" => "Excluir",
|
||||
"Rename" => "Renomear",
|
||||
"View Webpage" => "Exibir Página Web",
|
||||
"View Webpage" => "Exibir Pãgina Web",
|
||||
"Download" => "Download",
|
||||
"Properties" => "Propriedades",
|
||||
"File" => "Arquivo",
|
||||
@@ -70,8 +70,8 @@ $text = array(
|
||||
"Help" => "Ajuda",
|
||||
"Save" => "Salvar",
|
||||
"Save As" => "Salvar Como",
|
||||
"Live Preview" => "Preview",
|
||||
"Upload" => "Upload",
|
||||
"Live Preview" => "Visualizar",
|
||||
"Upload" => "Enviar",
|
||||
"Zip" => "Zip",
|
||||
"Print" => "Imprimir",
|
||||
"Fullscreen toggle" => "Exibir tela cheia",
|
||||
@@ -82,10 +82,10 @@ $text = array(
|
||||
"Indent less" => "Indentar -",
|
||||
"Autocomplete" => "Autocompletar",
|
||||
"Comment/Uncomment" => "Comentar/Descomentar",
|
||||
"Jump to Definition" => "Ir para definição",
|
||||
"Jump to Definition" => "Ir para definição",
|
||||
"Manual" => "Manual",
|
||||
"Shortcuts" => "Atalhos",
|
||||
"Settings" => "Configurações",
|
||||
"Settings" => "Configurações",
|
||||
"Search for selected" => "Procurar por selecionado",
|
||||
"website" => "website",
|
||||
"Close all tabs" => "Fechar todas as abas",
|
||||
@@ -103,7 +103,7 @@ $text = array(
|
||||
"Code Assist" => "Assistente",
|
||||
"Go to Line" => "Ir para linha",
|
||||
"View" => "Exibir",
|
||||
"Bug reporting not active" => "Relatório de Bug desativado"
|
||||
"Bug reporting not active" => "Relatório de Bug desativado"
|
||||
),
|
||||
|
||||
// /LIB
|
||||
@@ -116,42 +116,42 @@ $text = array(
|
||||
"file-control" =>
|
||||
array(
|
||||
"Sorry" => "Desculpe",
|
||||
"does not seem..." => "Não encontrado no servidor",
|
||||
"Sorry, could not..." => "Desculpe, conteudo não encontrado para",
|
||||
"Sorry, cannot create..." => "Desculpe, não é possível criar pasta",
|
||||
"Sorry, cannot copy" => "Desculpe, não é possível copy",
|
||||
"does not seem..." => "Não encontrado no servidor",
|
||||
"Sorry, could not..." => "Desculpe, conteudo não encontrado para",
|
||||
"Sorry, cannot create..." => "Desculpe, não é possível criar pasta",
|
||||
"Sorry, cannot copy" => "Desculpe, não é possível copy",
|
||||
"into" => "into",
|
||||
"Uploaded file(s) OK" => "Arquivos carregados",
|
||||
"Sorry, cannot upload" => "Desculpe, não é possível carregar",
|
||||
"Sorry, cannot upload..." => "Desculpe, não é possível carregar lista no modo DEMO",
|
||||
"Sorry, cannot rename" => "Desculpe, não é possível renomear",
|
||||
"Maybe public write..." => "A pasta superior possui permissão de escrita?",
|
||||
"Sorry, cannot move" => "Desculpe, não é possível mover",
|
||||
"Sorry, cannot save" => "Desculpe, não é possível salvar",
|
||||
"Sorry, cannot replace..." => "Desculpe, não é possível substituir texto em",
|
||||
"Sorry, cannot change..." => "Desculpe, não é possível mudar permissões para",
|
||||
"Sorry, cannot delete..." => "Desculpe, não é possível excluir nível raiz",
|
||||
"Sorry, cannot delete" => "Desculpe, não é possível remover",
|
||||
"Sorry, this file..." => "Desculpe, este arquivo foi modificado, não é possível salvar",
|
||||
"Reload this file..." => "Recarregar e copiar sua versão?",
|
||||
"Sorry, cannot upload" => "Desculpe, não é possível carregar",
|
||||
"Sorry, cannot upload..." => "Desculpe, não é possível carregar lista no modo DEMO",
|
||||
"Sorry, cannot rename" => "Desculpe, não é possível renomear",
|
||||
"Maybe public write..." => "A pasta superior possui permissão de escrita?",
|
||||
"Sorry, cannot move" => "Desculpe, não é possível mover",
|
||||
"Sorry, cannot save" => "Desculpe, não é possível salvar",
|
||||
"Sorry, cannot replace..." => "Desculpe, não é possível substituir texto em",
|
||||
"Sorry, cannot change..." => "Desculpe, não é possível mudar permissões para",
|
||||
"Sorry, cannot delete..." => "Desculpe, não é possível excluir nível raiz",
|
||||
"Sorry, cannot delete" => "Desculpe, não é possível remover",
|
||||
"Sorry, this file..." => "Desculpe, este arquivo foi modificado, não é possível salvar",
|
||||
"Reload this file..." => "Recarregar e copiar sua versão?",
|
||||
"There was a..." => "Ocorreu algum problema. O ICEcoder recarregou o arquivo de controle novamente",
|
||||
"displayed at" => "exibido em",
|
||||
"Enter filename to..." => "Informe o nome do aquivo para salvar",
|
||||
"That file exists..." => "Este arquivo já existe, sobrescrever?",
|
||||
"That file exists..." => "Este arquivo jã existe, sobrescrever?",
|
||||
"Saving" => "Salvando"
|
||||
),
|
||||
|
||||
"get-branch" =>
|
||||
array(
|
||||
"There are no..." => "Não há diferenças entre loca/Github. Retornar para modo normal?",
|
||||
"Sorry, there was..." => "Desculpe, ocorreu um erro, código:",
|
||||
"Your local folder..." => "Sua pasta local está vazia, gostaria de clonar"
|
||||
"There are no..." => "Não hã diferenças entre loca/Github. Retornar para modo normal?",
|
||||
"Sorry, there was..." => "Desculpe, ocorreu um erro, código:",
|
||||
"Your local folder..." => "Sua pasta local estã vazia, gostaria de clonar"
|
||||
),
|
||||
|
||||
"github-manager" =>
|
||||
array(
|
||||
"Sorry, cannot create..." => "Desculpe, não foi possível criar em",
|
||||
"Cannot update config..." => "Não é possível atualizar config. Habilitar permissões públicas",
|
||||
"Sorry, cannot create..." => "Desculpe, não foi possível criar em",
|
||||
"Cannot update config..." => "Não é possível atualizar config. Habilitar permissões públicas",
|
||||
"and try again" => "e tentar novamente",
|
||||
"saving github paths" => "salvando caminhos Github...",
|
||||
"github paths" => "caminhos Github",
|
||||
@@ -159,20 +159,20 @@ $text = array(
|
||||
"Local path" => "Caminho local",
|
||||
"Remote GitHub path" => "Caminho remoto Github",
|
||||
"Choose" => "Selecione",
|
||||
"Set local and..." => "Alterar caminho local e remoto como vazio para excluír",
|
||||
"Set local and..." => "Alterar caminho local e remoto como vazio para excluír",
|
||||
"Update" => "Atualizar",
|
||||
"Add new path" => "Adicionar novo caminho",
|
||||
"Add" => "Adicionar",
|
||||
"Usage Info" => "Info. de utilização:",
|
||||
"Usage Info" => "Info. de utilização:",
|
||||
"Enter relative local..." => "Informe os caminhos relativos (ex.: /server/myfiles) e absolutos do GitHub (ex.: https://github.com/user/repo ou https://github.com/user/repo/tree/branch for branches).Com isso estabelece os caminho dos fontes em ambos locais, como pares.",
|
||||
"You can then..." => "Você pode então escolher um caminho par para ser a raiz do ICEcoder.",
|
||||
"The file manager..." => "O gerenciador de arquivo exibirá o ícone GitHub, você pode clicar para verificar a diferença entre arquivos.Essas diferenças podem ser efetivadas e enviadas ao diretório remoto do GitHub ou clonado para pasta local, para sincronizar seus arquivos.",
|
||||
"If you want..." => "Se quiser configurar novo caminho raiz, pode ser feito na tela de configurações."
|
||||
"You can then..." => "Você pode então escolher um caminho par para ser a raiz do ICEcoder.",
|
||||
"The file manager..." => "O gerenciador de arquivo exibirã o ícone GitHub, você pode clicar para verificar a diferença entre arquivos.Essas diferenças podem ser efetivadas e enviadas ao diretório remoto do GitHub ou clonado para pasta local, para sincronizar seus arquivos.",
|
||||
"If you want..." => "Se quiser configurar novo caminho raiz, pode ser feito na tela de configurações."
|
||||
),
|
||||
|
||||
"github" =>
|
||||
array(
|
||||
"Sorry, you do..." => "Desculpe, o OpenSSL não foi encontrado, https indisponível. Isso é necessário para o GitHub transferir dados, verificar php.ini, reinicie o sistema e tente novamente"
|
||||
"Sorry, you do..." => "Desculpe, o OpenSSL não foi encontrado, https indisponível. Isso é necessãrio para o GitHub transferir dados, verificar php.ini, reinicie o sistema e tente novamente"
|
||||
),
|
||||
|
||||
"headers" =>
|
||||
@@ -187,7 +187,7 @@ $text = array(
|
||||
"On Tabs" => "Em abas",
|
||||
"Within file manager" => "No gerenciador de arquivos",
|
||||
"Anywhere" => "Qualquer Lugar",
|
||||
"Space" => "Espaço",
|
||||
"Space" => "Espaço",
|
||||
"Click" => "Clique",
|
||||
"or" => "ou",
|
||||
"Left click" => "Clique esquerdo",
|
||||
@@ -197,16 +197,16 @@ $text = array(
|
||||
"Middle scrollwheel" => "Meio scroll",
|
||||
"Drag" => "Arrastar",
|
||||
"Autocomplete add snippet" => "Auto-completar / adicionar snippet",
|
||||
"Multiple select" => "Multipla seleção",
|
||||
"Multiple select" => "Multipla seleção",
|
||||
"Move line up" => "Move linha acima",
|
||||
"Move line down" => "Move linha abaixo",
|
||||
"Duplicate lines" => "Duplicar linha(s)",
|
||||
"Remove lines" => "Remover linha(s)",
|
||||
"Insert line before" => "Inserir linha antes",
|
||||
"Insert line after" => "Inserir linha após",
|
||||
"Insert line after" => "Inserir linha após",
|
||||
"Search for selected" => "Procurar selecionado",
|
||||
"Jump to definition" => "Ir para definição / voltar",
|
||||
"Comment uncomment" => "Commentar / descomentar",
|
||||
"Jump to definition" => "Ir para definição / voltar",
|
||||
"Comment uncomment" => "Comentar / Descomentar",
|
||||
"Insert tab indent" => "Inserir aba / auto indent selected",
|
||||
"Insert more" => "Indentar +",
|
||||
"Insert less" => "Indentar -",
|
||||
@@ -224,11 +224,11 @@ $text = array(
|
||||
"Close tab" => "Fechar aba",
|
||||
"Select file folder" => "Selecionar arquivo / pasta",
|
||||
"Open file" => "Abrir arquivo",
|
||||
"Range select" => "Seleção",
|
||||
"Options for selected" => "Opções para seleção",
|
||||
"Range select" => "Seleção",
|
||||
"Options for selected" => "Opções para seleção",
|
||||
"Delete selected" => "Excluir selecionado",
|
||||
"Next previous tab" => "Próxima aba / anterior",
|
||||
"Next tab" => "Próxima aba",
|
||||
"Next previous tab" => "Próxima aba / anterior",
|
||||
"Next tab" => "Próxima aba",
|
||||
"Previous tab" => "Aba anterior",
|
||||
"New tab" => "Nova aba",
|
||||
"Close current tab" => "Fechar aba atual",
|
||||
@@ -237,7 +237,7 @@ $text = array(
|
||||
"Focus on Go..." => "Foco campo ir para linha",
|
||||
"Save" => "Salvar",
|
||||
"Save as" => "Salvar como...",
|
||||
"View webpage" => "Exibir página",
|
||||
"View webpage" => "Exibir pãgina",
|
||||
"Contract expand file..." => "Contrair / expandir gerenciador de arquivos",
|
||||
"Fold unfold current..." => "Contrair / expandir linha atual",
|
||||
"Refocus on document" => "Foco no documento",
|
||||
@@ -252,7 +252,7 @@ $text = array(
|
||||
"selected files" => "arquivos selecionados",
|
||||
"selected filenames" => "nomes de arquivos selecionados",
|
||||
"Creating Folder" => "Criando pasta",
|
||||
"Sorry you can..." => "Deculpe, permitido abrir máx. 100 arquivos!",
|
||||
"Sorry you can..." => "Deculpe, permitido abrir mãx. 100 arquivos!",
|
||||
"Opening File" => "Abrindo arquivo",
|
||||
"Enter relative file..." => "Informe caminho relativo (prefixado por /) ou URL remota",
|
||||
"Getting" => "Selecionando",
|
||||
@@ -261,7 +261,7 @@ $text = array(
|
||||
"Moving to" => "Movendo para",
|
||||
"Deleting File" => "Excluindo arquivo",
|
||||
"Pasting File" => "Colando arquivo",
|
||||
"Sorry cannot paste..." => "Desculpe, não é possível colar em toda raiz",
|
||||
"Sorry cannot paste..." => "Desculpe, não é possível colar em toda raiz",
|
||||
"Nothing to paste..." => "Nada para colar,copiar arquivo/pasta primeiro!",
|
||||
"and" => "e",
|
||||
"this document" => "este documento",
|
||||
@@ -271,13 +271,13 @@ $text = array(
|
||||
"Replacing text in" => "Substituindo texto em",
|
||||
"Cancelled tasks" => "Tarefas canceladas",
|
||||
"Open previous files" => "Abrir arquivos anteriores?",
|
||||
"Please enter your..." => "Informe sua chave GitHub (chave pessoal ou par). Veja dica próximo à chave Github em Ajuda > Configurações para mais informações",
|
||||
"This will compare..." => "Esta ação irá comparar e exibir diferenças do seu repositório local. OK?",
|
||||
"Please note for..." => "Atenção: para atualizar corretamente, é necessário permissâo de escrita em todos os diretórios/arquivos do ICEcoder. \\n\\nSe por algum motivo necessite recuperar esta versão do ICEcoder, estará disponível na pasta /tmp.\\n\\nClique OK para prosseguir com a atualização, ou cancelar para visitar a página do ICEcoder na internet onde poderá baixar a atualização manualmente.",
|
||||
"You can start..." => "Voce pode reportar um bug em Ajuda > Configurações",
|
||||
"Error cannot find..." => "Erro: não é possível acessar caminho/arquivo de erros",
|
||||
"Please enter your..." => "Informe sua chave GitHub (chave pessoal ou par). Veja dica próximo à chave Github em Ajuda > Configurações para mais informações",
|
||||
"This will compare..." => "Esta ação irã comparar e exibir diferenças do seu repositório local. OK?",
|
||||
"Please note for..." => "Atenção: para atualizar corretamente, é necessãrio permissão de escrita em todos os diretórios/arquivos do ICEcoder. \\n\\nSe por algum motivo necessite recuperar esta versão do ICEcoder, estarã disponível na pasta /tmp.\\n\\nClique OK para prosseguir com a atualização, ou cancelar para visitar a pãgina do ICEcoder na internet onde poderã baixar a atualização manualmente.",
|
||||
"You can start..." => "Voce pode reportar um bug em Ajuda > Configurações",
|
||||
"Error cannot find..." => "Erro: não é possível acessar caminho/arquivo de erros",
|
||||
"No new errors..." => "Nenhum erro encontrado",
|
||||
"You have made..." => "Voce fez alterações. Deseja realmente fechar sem salvar?",
|
||||
"You have made..." => "Voce fez alterações. Deseja realmente fechar sem salvar?",
|
||||
"Close all tabs" => "Fechar todas as abas?",
|
||||
"results" => "resultados"
|
||||
),
|
||||
@@ -286,11 +286,11 @@ $text = array(
|
||||
array(
|
||||
"set password" => "altera senha",
|
||||
"login" => "login",
|
||||
"To disable registration..." => "Para desabilitar modo registro, acesse menu/configurações ou em lib/config___settings.php altere enableRegistration para false e recarregue esta página",
|
||||
"To disable registration..." => "Para desabilitar modo registro, acesse menu/configurações ou em lib/config___settings.php altere enableRegistration para false e recarregue esta pãgina",
|
||||
"Registration mode enabled" => "Modo registro habilitado",
|
||||
"auto-check for updates" => "verificar atualizações auto.",
|
||||
"To put into..." => "Para habilitar multi-usuários, acesse menu/configurações ou em lib/config___settings.php altere multiUser para true e recarregue esta página",
|
||||
"multi-user" => "multi-usuários"
|
||||
"auto-check for updates" => "verificar atualizações auto.",
|
||||
"To put into..." => "Para habilitar multi-usuãrios, acesse menu/configurações ou em lib/config___settings.php altere multiUser para true e recarregue esta pãgina",
|
||||
"multi-user" => "multi-usuãrios"
|
||||
),
|
||||
|
||||
"multiple-results" =>
|
||||
@@ -308,17 +308,17 @@ $text = array(
|
||||
"No matches found" => "Nenhum resultado encontrado",
|
||||
"selected" => "selecionado",
|
||||
"found in" => "encontrado em",
|
||||
"Replaced" => "Substituído(s)"
|
||||
"Replaced" => "Substituído(s)"
|
||||
),
|
||||
|
||||
"plugins-manager" =>
|
||||
array(
|
||||
"ICEcoder needs to..." => "ICEcoder deve ser reiniciado para habilitar plugin. Deseja Reiniciar?",
|
||||
"saving plugins" => "salvando plugins...",
|
||||
"Cannot update config..." => "Não foi possível atualizar arquivo de configuração. Verifique permissões de escrita.",
|
||||
"Cannot update config..." => "Não foi possível atualizar arquivo de configuração. Verifique permissões de escrita.",
|
||||
"and try again" => "e tente novamente",
|
||||
"couldnt delete dir" => "não foi possível excluir pasta",
|
||||
"couldnt delete file" => "não foi possível excluir arquivo",
|
||||
"couldnt delete dir" => "não foi possível excluir pasta",
|
||||
"couldnt delete file" => "não foi possível excluir arquivo",
|
||||
"plugins" => "plugins",
|
||||
"Guide to writing..." => "Guia para criar plugins",
|
||||
"Manage Installed" => "Gerenciar plugins",
|
||||
@@ -328,7 +328,7 @@ $text = array(
|
||||
"Update" => "Atualizar",
|
||||
"Install" => "Instalar",
|
||||
"Uninstall" => "Desinstalar",
|
||||
"Reload after install..." => "Atualização necessária após instalação"
|
||||
"Reload after install..." => "Atualização necessãria após instalação"
|
||||
),
|
||||
|
||||
"properties" =>
|
||||
@@ -342,10 +342,10 @@ $text = array(
|
||||
"Relative path" => "Caminho relativo",
|
||||
"Absolute path" => "Caminho absoluto",
|
||||
"Contains" => "Contem",
|
||||
"Permissions" => "Permissões",
|
||||
"Owner" => "Proprietário",
|
||||
"Permissions" => "Permissões",
|
||||
"Owner" => "Proprietãrio",
|
||||
"Group" => "Grupo",
|
||||
"Public" => "Público",
|
||||
"Public" => "Público",
|
||||
"Read" => "Ler",
|
||||
"Write" => "Salvar",
|
||||
"Execute" => "Executar",
|
||||
@@ -355,44 +355,44 @@ $text = array(
|
||||
|
||||
"settings-common" =>
|
||||
array(
|
||||
"Your document does..." => "Seu arquivo não está no formato UTF-8, deve ser convertido"
|
||||
"Your document does..." => "Seu arquivo não estã no formato UTF-8, deve ser convertido"
|
||||
),
|
||||
|
||||
"settings-save-current-files" =>
|
||||
array(
|
||||
"Cannot update config..." => "Não foi possível atualizar arquivo de configuração. Verifique permissões de acesso (públicas)",
|
||||
"Cannot update config..." => "Não foi possível atualizar arquivo de configuração. Verifique permissões de acesso (públicas)",
|
||||
"and try again" => "e tente novamente"
|
||||
),
|
||||
|
||||
"settings-screen" =>
|
||||
array(
|
||||
"settings" => "configurações",
|
||||
"version" => "versão",
|
||||
"settings" => "configurações",
|
||||
"version" => "versão",
|
||||
"website" => "website",
|
||||
"git" => "git",
|
||||
"codemirror dir" => "pasta codemirror",
|
||||
"codemirror version" => "versão codemirror",
|
||||
"codemirror version" => "versão codemirror",
|
||||
"file manager root" => "Raiz gerenciador de arquivos",
|
||||
"Free to use..." => "Livre para utilização para seus propósitos, comercial ou não, mas aviseme sobre sua implementação se puder. :)<br><br>Sem garantias, Muitas empresas e pessoas fantásticas contribuiram para desenvolver o ICEcoder, há muito o que agradecermos aqui. Veja a lista completa aqui",
|
||||
"Free to use..." => "Livre para utilização para seus propósitos, comercial ou não, mas aviseme sobre sua implementação se puder. :)<br><br>Sem garantias, Muitas empresas e pessoas fantãsticas contribuiram para desenvolver o ICEcoder, hã muito o que agradecermos aqui. Veja a lista completa aqui",
|
||||
"functionality" => "funcionalidade",
|
||||
"check for updates..." => "verificar atualizações ao iniciar",
|
||||
"auto open last..." => "carregar últimos arquvos abertos ao iniciar",
|
||||
"check for updates..." => "verificar atualizações ao iniciar",
|
||||
"auto open last..." => "carregar últimos arquvos abertos ao iniciar",
|
||||
"when finding in..." => "ao buscar arquivos, excluir",
|
||||
"assisting" => "assistindo",
|
||||
"code assist" => "Assist. de cód.",
|
||||
"visible tabs" => "Abas visíveis",
|
||||
"code assist" => "Assist. de cód.",
|
||||
"visible tabs" => "Abas visíveis",
|
||||
"locked nav" => "Trava Nav.",
|
||||
"tag wrapper command" => "comando de quebra",
|
||||
"auto-complete on" => "hab. auto-completar",
|
||||
"security" => "segurança",
|
||||
"security" => "segurança",
|
||||
"new password" => "nova senha",
|
||||
"8 chars min" => "mín. 8 carac.",
|
||||
"8 chars min" => "mín. 8 carac.",
|
||||
"confirm password" => "confirmar senha",
|
||||
"banned files/folders" => "arquivos/pastas bloqueados",
|
||||
"banned paths" => "caminhos bloqueados",
|
||||
"ip addresses" => "endereços IP",
|
||||
"Slash prefixed comma..." => "Prefixo barra, separado por vígula",
|
||||
"Comma delimited" => "Separado por vírgula",
|
||||
"ip addresses" => "endereços IP",
|
||||
"Slash prefixed comma..." => "Prefixo barra, separado por vígula",
|
||||
"Comma delimited" => "Separado por vírgula",
|
||||
"style" => "estilo",
|
||||
"theme" => "tema",
|
||||
"line wrapping" => "quebra de linha",
|
||||
@@ -408,31 +408,31 @@ $text = array(
|
||||
"bug reporting" => "reportar erro",
|
||||
"check in files" => "verificar em arquivos",
|
||||
"every" => "tudo",
|
||||
"secs getting last" => "segs, pegando últimos",
|
||||
"secs getting last" => "segs, pegando últimos",
|
||||
"lines" => "linhas",
|
||||
"multi-user" => "multi-usuário",
|
||||
"Make sure you..." => "Cuidado para nâo travar seu usuário",
|
||||
"multi-user" => "multi-usuário",
|
||||
"Make sure you..." => "Cuidado para não travar seu usuãrio",
|
||||
"Registration" => "Cadastro",
|
||||
"auth token" => "Chave de Autenticação",
|
||||
"Required to get..." => "RNecessário para verificar diferenças, e efetivar alterações no GitHub. Se não tiver uma pode usar:".PHP_EOL.PHP_EOL.
|
||||
"auth token" => "Chave de Autenticação",
|
||||
"Required to get..." => "RNecessãrio para verificar diferenças, e efetivar alterações no GitHub. Se não tiver uma pode usar:".PHP_EOL.PHP_EOL.
|
||||
"- chave de acesso pessoal (https://help.github.com/articles/creating-an-access-token-for-command-line-use), or".PHP_EOL.
|
||||
"- cliente/par secreto (http://developer.github.com/v3/oauth).".PHP_EOL.PHP_EOL.
|
||||
"Não é recomendado configurar sua chave aqui, mas quando solicitado pelo ICEcoderpara mantes em sessão apenas.".PHP_EOL.PHP_EOL.
|
||||
"No entanto, se trabalhar em ambiente seguro, é melhor setar essa propriedade.",
|
||||
"Sorry cannot commit..." => "Desculpe, não é permitido efetivar atulização no modo DEMO",
|
||||
"Não é recomendado configurar sua chave aqui, mas quando solicitado pelo ICEcoderpara mantes em sessão apenas.".PHP_EOL.PHP_EOL.
|
||||
"No entanto, se trabalhar em ambiente seguro, é melhor setar essa propriedade.",
|
||||
"Sorry cannot commit..." => "Desculpe, não é permitido efetivar atulização no modo DEMO",
|
||||
"update" => "atualizar"
|
||||
),
|
||||
|
||||
"settings-update" =>
|
||||
array(
|
||||
"Cannot update config..." => "Não foi possível atualizar arquivo de configuração. Verifique permissões de acesso (públicas)",
|
||||
"Cannot update config..." => "Não foi possível atualizar arquivo de configuração. Verifique permissões de acesso (públicas)",
|
||||
"and try again" => "e tentar novamente",
|
||||
"and press refresh" => "e pressione atulizar"
|
||||
),
|
||||
|
||||
"updater" =>
|
||||
array(
|
||||
"Update appears to..." => "Atualização completada"
|
||||
"Update appears to..." => "Atualização completada"
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -20,6 +20,8 @@ $text = array(
|
||||
"your device" => "su dispositivo",
|
||||
"Browser" => "Navegador:",
|
||||
"Your IP" => "Su IP:",
|
||||
"trial remaining" => "prueba restante",
|
||||
"days left" => "dias",
|
||||
"files" => "archivos",
|
||||
"Last 10 files..." => "Ultimos 10 archivos abiertos:",
|
||||
"none" => "[ninguno]",
|
||||
@@ -36,6 +38,7 @@ $text = array(
|
||||
array(
|
||||
"Lock" => "Bloquear",
|
||||
"Refresh" => "Actualizar",
|
||||
"Plugins" => "Complementos",
|
||||
"ROOT" => "[RAIZ]"
|
||||
|
||||
),
|
||||
@@ -47,9 +50,10 @@ $text = array(
|
||||
"Your version is" => "Su versión es",
|
||||
"Update now" => "Actualizar ahora",
|
||||
"You have some..." => "Usted tiene cambios sin guardar",
|
||||
"Are you sure you want to close?" => "Are you sure you want to close?",
|
||||
"Are you sure..." => "Está seguro que desea cerrar?",
|
||||
"working" => "trabajando",
|
||||
"Color picker" => "Selector de color",
|
||||
"Plugins Manager" => "Administrar complementos",
|
||||
"New File" => "Nuevo archivo",
|
||||
"New Folder" => "Nueva carpeta",
|
||||
"Upload File(s)" => "Cargar archivo(s)",
|
||||
@@ -101,7 +105,9 @@ $text = array(
|
||||
"Code Assist" => "Asistente de código",
|
||||
"Go to Line" => "Ir a la línea",
|
||||
"View" => "Ver",
|
||||
"Bug reporting not active" => "Reporte de Errores no activado"
|
||||
"Bug reporting not active" => "Reporte de Errores no activado",
|
||||
"Single pane" => "Panel unico",
|
||||
"Diff pane also" => "Panel de diferencias tambien"
|
||||
),
|
||||
|
||||
// /LIB
|
||||
@@ -113,6 +119,7 @@ $text = array(
|
||||
|
||||
"file-control" =>
|
||||
array(
|
||||
"Sorry, bad filename..." => "Lo siento, nombre de archivo incorrecto. Verifique la consola de desarrollo para mas informacion?",
|
||||
"Sorry" => "Lo siento",
|
||||
"does not seem..." => "parace no existir en el servidor",
|
||||
"Sorry, could not..." => "Lo siento, no puedo obtener el contenido de",
|
||||
@@ -128,6 +135,7 @@ $text = array(
|
||||
"Sorry, cannot save" => "Lo siento, no puedo guardar",
|
||||
"Sorry, cannot replace..." => "Lo siento, no puedo reemplazar texto en",
|
||||
"Sorry, cannot change..." => "Lo siento, no puedo cambiar permisos sobre",
|
||||
"Sorry, cannot delete more..." => "Lo siento, no puedo eliminar mas de un item a la vez bajo modo FTP",
|
||||
"Sorry, cannot delete..." => "Lo siento, no puedo eliminar el nivel raiz",
|
||||
"Sorry, cannot delete" => "Lo siento, no puedo eliminar",
|
||||
"Sorry, this file..." => "Lo siento, este archivo ha cambiado, no puedo almacenar",
|
||||
@@ -155,7 +163,9 @@ $text = array(
|
||||
"github paths" => "Rutas de GitHub",
|
||||
"Choose existing path" => "Seleccionar una ruta existente",
|
||||
"Local path" => "Ruta local",
|
||||
"Slash prefixed" => "Prefijo de slash",
|
||||
"Remote GitHub path" => "Ruta remota GitHub",
|
||||
"Absolute URL beginning..." => "URL absoluta, iniciando https://github.com",
|
||||
"Choose" => "Seleccionar",
|
||||
"Set local and..." => "Establecer las rutas locales y remotas en blanco para removerlas",
|
||||
"Update" => "Actualizar",
|
||||
@@ -232,6 +242,7 @@ $text = array(
|
||||
"Close current tab" => "Cerrar ficha actual",
|
||||
"Open file prompt" => "Línea de apertura de archivos",
|
||||
"Find" => "Buscar",
|
||||
"Previous" => "Previo",
|
||||
"Focus on Go..." => "Obtener foco en la opción Ir a Linea",
|
||||
"Save" => "Guardar",
|
||||
"Save as" => "Guardar como...",
|
||||
@@ -244,6 +255,7 @@ $text = array(
|
||||
|
||||
"ice-coder" =>
|
||||
array(
|
||||
"results" => "resultados",
|
||||
"No text selected..." => "No hay texto seleccionado para buscar",
|
||||
"all files" => "todos los archivos",
|
||||
"all filenames" => "todos los nombres de archivo",
|
||||
@@ -254,6 +266,7 @@ $text = array(
|
||||
"Opening File" => "Abriendo archivo",
|
||||
"Enter relative file..." => "Entre una ruta relativa (iniciando con /) o una URL remota",
|
||||
"Getting" => "Obteniendo",
|
||||
"Saving" => "Guardando:",
|
||||
"Please enter the..." => "Por favor ingrese el nuevo nombre para",
|
||||
"Renaming to" => "Renombrando a",
|
||||
"Moving to" => "Moviendo a",
|
||||
@@ -267,6 +280,7 @@ $text = array(
|
||||
"replace all" => "reemplazar todo",
|
||||
"file" => "archivo",
|
||||
"Replacing text in" => "Reemplazando texto en",
|
||||
"Sorry there was..." => "Lo siento, hubo un error con su solicitud.\\n\\nPor favor verifique su consola de desarrollo para mas informacion.",
|
||||
"Cancelled tasks" => "Tareas canceladas",
|
||||
"Open previous files" => "Abrir archivos previos?",
|
||||
"Please enter your..." => "Por favor entre su token de GitHub (para acceso personal). Ver ayuda cerca al Token de autenticación de Github en la ayuda > Vea pantalla de configuración para más información",
|
||||
@@ -276,8 +290,7 @@ $text = array(
|
||||
"Error cannot find..." => "Error: no puedo encontrar o accesar las rutas de archivos de error",
|
||||
"No new errors..." => "No fueron encontrados nuevos errores",
|
||||
"You have made..." => "Usted ha realizado cambios. Esta seguro que quiere cerrar sin guardar?",
|
||||
"Close all tabs" => "Cerrar todas las fichas?",
|
||||
"results" => "resultados"
|
||||
"Close all tabs" => "Cerrar todas las fichas?"
|
||||
),
|
||||
|
||||
"login" =>
|
||||
@@ -371,7 +384,13 @@ $text = array(
|
||||
"codemirror dir" => "directorio codemirror",
|
||||
"codemirror version" => "version codemirror",
|
||||
"file manager root" => "administrador de archivos raiz",
|
||||
"Free to use..." => "Libre para usarlo para cualquier propósito, comercial o no, solo dejeme saber cualquier uso o mejora. :)<br><br>No se da garantia de ningun tipo, su uso se encuentra bajo su responsabilidad.<br><br>Muchas personas y compañías han ayudado a construir ICEcoder por lo que les damos las gracias. Por favor vea la lista completa en",
|
||||
"Get in contact..." => "Pongase en contacto...",
|
||||
"backups" => "respaldos",
|
||||
"keep version control..." => "mantener control de versiones de respaldo para",
|
||||
"day" => "dia",
|
||||
"days" => "dias",
|
||||
"of backups stored..." => "de respaldos almacenados actualmente",
|
||||
"You may use..." => "Libre para usarlo para cualquier propósito, comercial o no, solo dejeme saber cualquier uso o mejora. :)<br><br>No se da garantia de ningun tipo, su uso se encuentra bajo su responsabilidad.",
|
||||
"functionality" => "funcionalidad",
|
||||
"check for updates..." => "verificar por actualizaciones en la carga",
|
||||
"auto open last..." => "auto cargar los ultimos archivos al ingresar",
|
||||
@@ -430,6 +449,19 @@ $text = array(
|
||||
"updater" =>
|
||||
array(
|
||||
"Update appears to..." => "La actualización parece haber sido satisfactoria"
|
||||
),
|
||||
|
||||
"find-in-files" =>
|
||||
array(
|
||||
"Enter path to search in" => "Ingrese la ruta para buscar",
|
||||
"Enter semicolon-separated masks of files to look at (e.g. *.php;*.html;*.js)" => "Ingrese la mascaras de archivo separadas por punto y coma para buscar (ej. *.php;*.html;*.js)",
|
||||
"Type of text" => "Tipo de texto",
|
||||
"Fixed text" => "Texto fijo",
|
||||
"Regular expression" => "Expresion regular",
|
||||
"Case sensitive" => "Sensible a mayuscula",
|
||||
"Yes" => "Si",
|
||||
"No" => "No",
|
||||
"Search" => "Buscar",
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
28
lib/auto-logout-warning.css
Normal file
28
lib/auto-logout-warning.css
Normal file
@@ -0,0 +1,28 @@
|
||||
/* First, reset everything to a standard */
|
||||
html, body, div, span, applet, object, iframe,
|
||||
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
||||
a, abbr, acronym, address, big, cite, code,
|
||||
del, dfn, em, font, img, ins, kbd, q, s, samp,
|
||||
small, strike, strong, sub, sup, tt, var,
|
||||
b, u, i, center,
|
||||
dl, dt, dd, ol, ul, li,
|
||||
fieldset, form, label, legend,
|
||||
table, caption, tbody, tfoot, thead, tr, th, td {
|
||||
border: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
outline: 0;
|
||||
font-size: 12px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
body {overflow: hidden;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h1 {font-size: 36px; font-weight: normal; color: #888; margin-bottom: 20px}
|
||||
.auto-logout-warning {font-family: arial, verdana, helvetica, sans-serif; background-color: #1c1c19; color: #fff; padding: 20px}
|
||||
24
lib/auto-logout-warning.php
Normal file
24
lib/auto-logout-warning.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
include("headers.php");
|
||||
include("settings.php");
|
||||
$t = $text['auto-logout-warning'];
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>ICEcoder <?php echo $ICEcoder["versionNo"];?> auto-logout</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link rel="stylesheet" type="text/css" href="auto-logout-warning.css?microtime=<?php echo microtime(true);?>">
|
||||
</head>
|
||||
|
||||
<body class="auto-logout-warning">
|
||||
|
||||
<h1 id="title"><?php echo $t['Auto Logout Warning'];?></h1>
|
||||
|
||||
<?php echo $t['You will be...'];?> <span id="timeRemaning">60</span> <?php echo $t['seconds due to...'];?>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
36
lib/backup-versions-preview-loader.php
Normal file
36
lib/backup-versions-preview-loader.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
// Load common functions
|
||||
include("headers.php");
|
||||
include("settings.php");
|
||||
|
||||
$file = str_replace("|","/",xssClean($_GET['file'],'html'));
|
||||
|
||||
// Get contents
|
||||
$loadedFile = toUTF8noBOM(getData("../backups/".$file),true);
|
||||
$encoding=ini_get("default_charset");
|
||||
if($encoding=="")
|
||||
$encoding="UTF-8";
|
||||
|
||||
// Set content in a textarea
|
||||
echo '<textarea name="loadedFile" id="loadedFile">'.htmlentities($loadedFile,ENT_COMPAT,$encoding).'</textarea>';
|
||||
|
||||
// Get bytes for this file
|
||||
$bytes = filesize("../backups/".$file);
|
||||
// Change into kilobytes
|
||||
$outputSize = ($bytes/1024);
|
||||
$outputUnit = "kb";
|
||||
// Maybe we should show in megabytes?
|
||||
if ($outputSize >= 1024) {
|
||||
$outputSize = ($outputSize/1024);
|
||||
$outputUnit = "mb";
|
||||
}
|
||||
$size = number_format($outputSize, 2, '.', '').$outputUnit." (".number_format($bytes)." bytes)";
|
||||
|
||||
// Get date & time of file
|
||||
$datetime = str_replace("-","<br>",date( "D jS M Y-g:i:sa", filemtime("../backups/".$file)));
|
||||
?>
|
||||
<script>
|
||||
parent.document.getElementById('buttonsContainer').style.display = 'inline-block';
|
||||
parent.editor.setValue(document.getElementById('loadedFile').value);
|
||||
parent.document.getElementById('infoContainer').innerHTML = 'Date & Time:<br><?php echo $datetime;?><br><br>Size:<br><?php echo $size;?>';
|
||||
</script>
|
||||
30
lib/backup-versions.css
Normal file
30
lib/backup-versions.css
Normal file
@@ -0,0 +1,30 @@
|
||||
/* First, reset everything to a standard */
|
||||
html, body, div, span, applet, object, iframe,
|
||||
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
||||
a, abbr, acronym, address, big, cite, code,
|
||||
del, dfn, em, font, img, ins, kbd, q, s, samp,
|
||||
small, strike, strong, sub, sup, tt, var,
|
||||
b, u, i, center,
|
||||
dl, dt, dd, ol, ul, li,
|
||||
fieldset, form, label, legend,
|
||||
table, caption, tbody, tfoot, thead, tr, th, td {
|
||||
border: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
outline: 0;
|
||||
font-size: 12px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
body {overflow: hidden;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
h1 {font-size: 36px; font-weight: normal; color: #888; margin-bottom: 20px}
|
||||
a {color: #fff; text-decoration: none}
|
||||
|
||||
.backup-versions {font-family: arial, verdana, helvetica, sans-serif; background-color: #1c1c19; color: #fff; padding: 20px}
|
||||
.button {padding: 5px 10px; font-size: 14px; background-color: rgba(0,198,255,0.7); margin-bottom: 20px; text-align: center; cursor: pointer}
|
||||
170
lib/backup-versions.php
Normal file
170
lib/backup-versions.php
Normal file
@@ -0,0 +1,170 @@
|
||||
<?php
|
||||
// Load common functions
|
||||
include("headers.php");
|
||||
include("settings.php");
|
||||
$text = $_SESSION['text'];
|
||||
$t = $text['backup-versions'];
|
||||
|
||||
$file = str_replace("|","/",xssClean($_GET['file'],'html'));
|
||||
$fileCountInfo = getVersionsCount(dirname($file),basename($file));
|
||||
$versions = $fileCountInfo['count'];
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>ICEcoder <?php echo $ICEcoder["versionNo"];?> backup version control</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link rel="stylesheet" type="text/css" href="backup-versions.css?microtime=<?php echo microtime(true);?>">
|
||||
<link rel="stylesheet" href="../<?php echo $ICEcoder["codeMirrorDir"]; ?>/lib/codemirror.css?microtime=<?php echo microtime(true);?>">
|
||||
<script src="../<?php echo $ICEcoder["codeMirrorDir"]; ?>/lib/codemirror-compressed.js?microtime=<?php echo microtime(true);?>"></script>
|
||||
|
||||
<style type="text/css">
|
||||
.CodeMirror {position: absolute; width: 409px; height: 180px; font-size: <?php echo $ICEcoder["fontSize"];?>}
|
||||
.CodeMirror-scroll {overflow: hidden}
|
||||
/* Make sure this next one remains the 3rd item, updated with JS */
|
||||
.cm-tab {border-left-width: <?php echo $ICEcoder["visibleTabs"] ? "1px" : "0";?>; margin-left: <?php echo $ICEcoder["visibleTabs"] ? "-1px" : "0";?>; border-left-style: solid; border-left-color: rgba(255,255,255,0.15)}
|
||||
.cm-trailingspace {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAACCAYAAAB/qH1jAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QUXCToH00Y1UgAAACFJREFUCNdjPMDBUc/AwNDAAAFMTAwMDA0OP34wQgX/AQBYgwYEx4f9lQAAAABJRU5ErkJggg==);
|
||||
background-position: bottom left;
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
.CodeMirror-foldmarker {font-family: arial; line-height: .3; color: #b00; cursor: pointer;
|
||||
text-shadow: #fff 1px 1px 2px, #fff -1px -1px 2px, #fff 1px -1px 2px, #fff -1px 1px 2px;
|
||||
}
|
||||
.CodeMirror-foldgutter {display: inline-block; width: 13px}
|
||||
.CodeMirror-foldgutter-open, .CodeMirror-foldgutter-folded {position: absolute; display: inline-block; width: 13px; height: 13px; font-size: 14px; text-align: center; cursor: pointer}
|
||||
.CodeMirror-foldgutter-open {background: rgba(255,255,255,0.04); color: #666}
|
||||
.CodeMirror-foldgutter-open:after {position: relative; top: -2px}
|
||||
.CodeMirror-foldgutter-folded {background: #800; color: #ddd}
|
||||
.CodeMirror-foldgutter-folded:after {position: relative; top: -3px}
|
||||
</style>
|
||||
<script src="../<?php echo $ICEcoder["codeMirrorDir"]; ?>/addon/fold/foldcode.js?microtime=<?php echo microtime(true);?>"></script>
|
||||
<script src="../<?php echo $ICEcoder["codeMirrorDir"]; ?>/addon/fold/foldgutter.js?microtime=<?php echo microtime(true);?>"></script>
|
||||
<link rel="stylesheet" href="../<?php echo $ICEcoder["codeMirrorDir"]; ?>/addon/fold/foldgutter.css?microtime=<?php echo microtime(true);?>">
|
||||
<link rel="stylesheet" href="editor.css?microtime=<?php echo microtime(true);?>">
|
||||
<?php
|
||||
$themeArray = array();
|
||||
$handle = opendir('../'.$ICEcoder["codeMirrorDir"].'/theme/');
|
||||
|
||||
while (false !== ($cssFile = readdir($handle))) {
|
||||
if ($cssFile !== "." && $cssFile != "..") {
|
||||
array_push($themeArray,basename($cssFile,".css"));
|
||||
}
|
||||
}
|
||||
sort($themeArray);
|
||||
for ($i=0;$i<count($themeArray);$i++) {
|
||||
echo '<link rel="stylesheet" href="../'.$ICEcoder["codeMirrorDir"].'/theme/'.$themeArray[$i].'.css?microtime='.microtime(true).'">'.PHP_EOL;
|
||||
}
|
||||
?>
|
||||
</head>
|
||||
|
||||
<body class="backup-versions">
|
||||
|
||||
<h1 id="title"><?php echo $versions." ".($versions != 1 ? $t["backups"] : $t["backup"])." ".$t['available for'].":";?></h1>
|
||||
<h2><?php echo $file;?></h2>
|
||||
|
||||
<br>
|
||||
<div style="display: inline-block; height: 500px; width: 210px; overflow-y: scroll">
|
||||
<?php
|
||||
$dateCounts = $fileCountInfo['dateCounts'];
|
||||
$displayVersions = $versions;
|
||||
|
||||
// Establish the base, host and date dir parts...
|
||||
$backupDirHost = isset($ftpSite) ? parse_url($ftpSite,PHP_URL_HOST) : "localhost";
|
||||
|
||||
foreach ($dateCounts as $key => $value) {
|
||||
echo "<b>".date("jS M Y",strtotime($key))." (".$value." ".($value != 1 ? $t["backups"] : $t["backup"]).")</b>";
|
||||
echo '<br>';
|
||||
for ($j=0; $j<$value; $j++) {
|
||||
echo '<a href="backup-versions-preview-loader.php?file='.str_replace("/","|",$backupDirHost.'/'.$key.$file).' ('.($value-$j).')&csrf='.$_SESSION['csrf'].'" onclick="highlightVersion('.$displayVersions.')" id="backup-'.$displayVersions.'" target="previewLoader">Backup '.$displayVersions.'</a><br>';
|
||||
$displayVersions--;
|
||||
}
|
||||
echo '<br>';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<div style="display: inline-block; width: 480px; height: 550px; margin-left: 20px">
|
||||
<textarea id="code" name="code">Click a backup to the left to preview it</textarea>
|
||||
</div>
|
||||
<div style="display: none; width: 180px; margin-left: 30px" id="buttonsContainer">
|
||||
<div class="button" onclick="openNew()">Open in new tab</div>
|
||||
<div class="button" onclick="openDiff()">Open in diff mode</div>
|
||||
<div class="button" onclick="restoreVersion()">Restore as new version</div>
|
||||
<div id="infoContainer"></div>
|
||||
</div>
|
||||
<div style="display: none">
|
||||
<iframe name="previewLoader"></iframe>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
versions = <?php echo $versions;?>;
|
||||
var highlightVersion = function(elem) {
|
||||
for (var i=versions; i>=1; i--) {
|
||||
document.getElementById('backup-'+i).style.color = i==elem
|
||||
? 'rgba(0,198,255,0.7)'
|
||||
: null;
|
||||
}
|
||||
}
|
||||
|
||||
<?php
|
||||
echo "fileName = '".basename($file)."';";
|
||||
include(dirname(__FILE__)."/language-modes-partial.js");
|
||||
?>
|
||||
|
||||
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
|
||||
mode: mode,
|
||||
lineNumbers: top.ICEcoder.lineNumbers,
|
||||
gutters: ["CodeMirror-foldgutter","CodeMirror-lint-markers","CodeMirror-linenumbers"],
|
||||
foldGutter: {gutter: "CodeMirror-foldgutter"},
|
||||
foldOptions: {minFoldSize: 1},
|
||||
lineWrapping: top.ICEcoder.lineWrapping,
|
||||
indentWithTabs: top.ICEcoder.indentWithTabs,
|
||||
indentUnit: top.ICEcoder.indentSize,
|
||||
tabSize: top.ICEcoder.indentSize,
|
||||
matchBrackets: top.ICEcoder.matchBrackets,
|
||||
electricChars: false,
|
||||
highlightSelectionMatches: true,
|
||||
showTrailingSpace: top.ICEcoder.showTrailingSpace,
|
||||
lint: false,
|
||||
readOnly: "nocursor",
|
||||
theme: "<?php echo $ICEcoder["theme"]=="default" ? 'icecoder' : $ICEcoder["theme"];?>"
|
||||
});
|
||||
editor.setSize("480px","500px");
|
||||
|
||||
var openNew = function() {
|
||||
var cM;
|
||||
|
||||
top.ICEcoder.showHide('hide',top.document.getElementById('blackMask'))
|
||||
top.ICEcoder.newTab();
|
||||
cM = top.ICEcoder.getcMInstance();
|
||||
cM.setValue(editor.getValue());
|
||||
}
|
||||
|
||||
var openDiff = function() {
|
||||
var cMDiff;
|
||||
|
||||
top.ICEcoder.showHide('hide',top.document.getElementById('blackMask'))
|
||||
top.ICEcoder.setSplitPane('on');
|
||||
cMDiff = top.ICEcoder.getcMdiffInstance();
|
||||
top.ICEcoder.focus('diff');
|
||||
cMDiff.setValue(editor.getValue());
|
||||
}
|
||||
|
||||
var restoreVersion = function() {
|
||||
var cM;
|
||||
|
||||
if (top.ICEcoder.ask("To confirm - this will paste the displayed backup content to your current tab and save, OK?")) {
|
||||
top.ICEcoder.showHide('hide',top.document.getElementById('blackMask'))
|
||||
cM = top.ICEcoder.getcMInstance();
|
||||
top.ICEcoder.focus();
|
||||
cM.setValue(editor.getValue());
|
||||
top.ICEcoder.saveFile();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -5,9 +5,9 @@ include_once("settings-common.php");
|
||||
$text = $_SESSION['text'];
|
||||
$t = $text['bug-files-check'];
|
||||
|
||||
$files = explode(",",str_replace("|","/",$_GET['files']));
|
||||
$filesSizesSeen = explode(",",$_GET['filesSizesSeen']);
|
||||
$maxLines = $_GET['maxLines'];
|
||||
$files = explode(",",str_replace("|","/",xssClean($_GET['files'],"html")));
|
||||
$filesSizesSeen = explode(",",xssClean($_GET['filesSizesSeen'],"html"));
|
||||
$maxLines = xssClean($_GET['maxLines'],"html");
|
||||
|
||||
$result = "ok";
|
||||
|
||||
@@ -28,7 +28,7 @@ if ($result != "error") {
|
||||
|
||||
for ($i=0; $i<count($files); $i++) {
|
||||
// If we have set a filesize value previously and it's different to now, there's new bugs
|
||||
$fileSizesSeenArray = explode(",",$_GET['filesSizesSeen']);
|
||||
$fileSizesSeenArray = explode(",",xssClean($_GET['filesSizesSeen'],"html"));
|
||||
if ($fileSizesSeenArray[$i]!="null" && $fileSizesSeenArray[$i] != $filesSizesSeen[$i]) {
|
||||
$result = "bugs";
|
||||
$filesWithNewBugs++;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
$ICEcoderUserSettings = array(
|
||||
"versionNo" => "5.1",
|
||||
"versionNo" => "6.0 beta",
|
||||
"licenseEmail" => "",
|
||||
"licenseCode" => "",
|
||||
"configCreateDate" => 0,
|
||||
@@ -9,6 +9,9 @@ $ICEcoderUserSettings = array(
|
||||
"openLastFiles" => true,
|
||||
"updateDiffOnSave" => true,
|
||||
"languageUser" => "english.php",
|
||||
"backupsKept" => true,
|
||||
"backupsDays" => 14,
|
||||
"deleteToTmp" => true,
|
||||
"findFilesExclude" => array(".doc",".gif",".jpg",".jpeg",".pdf",".png",".swf",".xml",".zip"),
|
||||
"codeAssist" => true,
|
||||
"visibleTabs" => false,
|
||||
@@ -19,10 +22,16 @@ $ICEcoderUserSettings = array(
|
||||
"bannedFiles" => array(),
|
||||
"bannedPaths" => array("/var/www/.git","/var/www/sites/all/modules","/var/www/sites/default/files"),
|
||||
"allowedIPs" => array("*"),
|
||||
"autoLogoutMins" => 0,
|
||||
"theme" => "default",
|
||||
"fontSize" => "13px",
|
||||
"lineWrapping" => true,
|
||||
"indentWithTabs" => true,
|
||||
"lineWrapping" => false,
|
||||
"lineNumbers" => true,
|
||||
"showTrailingSpace" => true,
|
||||
"matchBrackets" => true,
|
||||
"autoCloseTags" => true,
|
||||
"autoCloseBrackets" => true,
|
||||
"indentWithTabs" => false,
|
||||
"indentAuto" => true,
|
||||
"indentSize" => 4,
|
||||
"pluginPanelAligned" => "left",
|
||||
@@ -31,9 +40,11 @@ $ICEcoderUserSettings = array(
|
||||
"bugFileMaxLines" => 0,
|
||||
"githubAuthToken" => "",
|
||||
"plugins" => array(),
|
||||
"ftpSites" => array(),
|
||||
"githubLocalPaths" => array(),
|
||||
"githubRemotePaths" => array(),
|
||||
"previousFiles" => "",
|
||||
"last10Files" => ""
|
||||
"last10Files" => "",
|
||||
"favoritePaths" => array()
|
||||
);
|
||||
?>
|
||||
@@ -6,12 +6,18 @@ include("settings.php");
|
||||
$file = realpath($docRoot.$iceRoot.str_replace("|","/",strClean($_GET['file'])));
|
||||
// If it doesn't exist, or doesn't start with the $docRoot, stop here
|
||||
if (!file_exists($file) || strpos(str_replace("\\","/",$file),$docRoot) !== 0) {
|
||||
die("<script>alert('Sorry, that file doesn\'t appear to exist');</script>");
|
||||
die("<script>top.ICEcoder.message('Sorry, that file doesn\'t appear to exist');</script>");
|
||||
}
|
||||
|
||||
if (file_exists($file)) {
|
||||
header("Pragma: public");
|
||||
header("Expires: 0");
|
||||
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
|
||||
header("Cache-Control: public");
|
||||
header('Content-Description: File Transfer');
|
||||
header("Content-Type: application/octet-stream");
|
||||
header('Content-Disposition: attachment; filename='.basename($file));
|
||||
// header("Content-Transfer-Encoding: binary");
|
||||
header('Content-Length: '.filesize($file));
|
||||
ob_clean();
|
||||
flush();
|
||||
|
||||
8
lib/draggabilly.pkgd.min.js
vendored
Normal file
8
lib/draggabilly.pkgd.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -1,6 +1,6 @@
|
||||
/* ICEcoder default theme by Matt Pass */
|
||||
|
||||
.cm-s-icecoder {color: #666; background: #141612}
|
||||
.cm-s-icecoder {color: #666; background: #1d1d1b}
|
||||
|
||||
.cm-s-icecoder span.cm-keyword {color: #eee; font-weight:bold} /* off-white 1 */
|
||||
.cm-s-icecoder span.cm-atom {color: #e1c76e} /* yellow */
|
||||
@@ -8,7 +8,7 @@
|
||||
.cm-s-icecoder span.cm-def {color: #b9ca4a} /* green */
|
||||
|
||||
.cm-s-icecoder span.cm-variable {color: #6cb5d9} /* blue */
|
||||
.cm-s-icecoder span.cm-variable-2 {color: #bf255c} /* pink */
|
||||
.cm-s-icecoder span.cm-variable-2 {color: #cc1e5c} /* pink */
|
||||
.cm-s-icecoder span.cm-variable-3 {color: #f9602c} /* orange */
|
||||
|
||||
.cm-s-icecoder span.cm-property {color: #eee} /* off-white 1 */
|
||||
@@ -19,7 +19,6 @@
|
||||
.cm-s-icecoder span.cm-string-2 {color: #6cb5d9} /* blue */
|
||||
|
||||
.cm-s-icecoder span.cm-meta {color: #555} /* grey */
|
||||
.cm-s-icecoder span.cm-error {color: #d00} /* red */
|
||||
|
||||
.cm-s-icecoder span.cm-qualifier {color: #555} /* grey */
|
||||
.cm-s-icecoder span.cm-builtin {color: #214e7b} /* bright blue */
|
||||
@@ -32,9 +31,10 @@
|
||||
.cm-s-icecoder span.cm-quote {color: #186718} /* dark green */
|
||||
.cm-s-icecoder span.cm-hr {color: #888} /* mid-grey */
|
||||
.cm-s-icecoder span.cm-link {color: #e1c76e} /* yellow */
|
||||
.cm-s-icecoder span.cm-error {color: #d00} /* red */
|
||||
|
||||
.cm-s-icecoder .CodeMirror-cursor {border-left: 1px solid white !important}
|
||||
.cm-s-icecoder .CodeMirror-selected {color: #fff !important; background: #037 !important}
|
||||
.cm-s-icecoder .CodeMirror-gutters {background: #141612; min-width: 41px; border-right: 0}
|
||||
.cm-s-icecoder .CodeMirror-gutters {background: #1d1d1b; min-width: 41px; border-right: 0}
|
||||
.cm-s-icecoder .CodeMirror-linenumber {color: #555; cursor: default}
|
||||
.cm-s-icecoder .CodeMirror-matchingbracket {border: 1px solid grey; color: black !important}
|
||||
.cm-s-icecoder .CodeMirror-matchingbracket {color: #fff !important; background: #555 !important}
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
include("headers.php");
|
||||
include("settings.php");
|
||||
include("ftp-control.php");
|
||||
$t = $text['file-control'];
|
||||
|
||||
// ===============================
|
||||
@@ -20,11 +21,11 @@ $saveType = isset($_GET['saveType']) ? strClean($_GET['saveType']) : "";
|
||||
|
||||
// Establish the filename/new filename
|
||||
if (isset($_POST['newFileName']) && $_POST['newFileName']!="") {
|
||||
$file = $_POST['newFileName']; // New file
|
||||
$file = strClean($_POST['newFileName']); // New file
|
||||
} elseif (isset($_REQUEST['file'])) {
|
||||
$file = $_REQUEST['file']; // Existing file
|
||||
$file = strClean($_REQUEST['file']); // Existing file
|
||||
} else {
|
||||
$file = ""; // Error
|
||||
$file = ""; // Error
|
||||
$finalAction = "nothing";
|
||||
$doNext = "";
|
||||
$error = true;
|
||||
@@ -71,14 +72,16 @@ if (!$error) {
|
||||
|
||||
// Die if the file requested isn't something we expect
|
||||
if(
|
||||
// On the banned file/dir list
|
||||
(str_replace("*","",$_SESSION['bannedFiles'][$i]) != "" && strpos($allFiles[$i],str_replace("*","",$_SESSION['bannedFiles'][$i]))!==false) ||
|
||||
// A local folder that isn't the doc root or starts with the doc root
|
||||
($_GET['action']!="getRemoteFile" &&
|
||||
($_GET['action']!="getRemoteFile" && !isset($ftpSite) &&
|
||||
rtrim($allFiles[$i],"/") !== rtrim($docRoot,"/") &&
|
||||
strpos(realpath(rtrim(dirname($allFiles[$i]),"/")),realpath(rtrim($docRoot,"/"))) !== 0
|
||||
) ||
|
||||
// Or a remote URL that doesn't start http
|
||||
($_GET['action']=="getRemoteFile" && strpos($allFiles[$i],"http") !== 0)
|
||||
) {
|
||||
) {
|
||||
$error = true;
|
||||
$errorStr = "true";
|
||||
$errorMsg = "Sorry! - problem with file requested";
|
||||
@@ -86,6 +89,80 @@ if (!$error) {
|
||||
}
|
||||
}
|
||||
|
||||
$doNext = "";
|
||||
// If we're in FTP mode, start a connection and leave open for FTP actions
|
||||
if (isset($ftpSite)) {
|
||||
ftpStart();
|
||||
// Show user warning if no good connection
|
||||
if (!$ftpConn || !$ftpLogin) {
|
||||
$doNext .= 'top.ICEcoder.message("Sorry, no FTP connection to '.$ftpHost.' for user '.$ftpUser.'");';
|
||||
}
|
||||
}
|
||||
|
||||
// ============================
|
||||
// STITCH CHANGES INTO OUR FILE
|
||||
// ============================
|
||||
function stitchChanges($fileLines) {
|
||||
global $ICEcoder;
|
||||
|
||||
// Get our JSON changes from difflib and put into an array
|
||||
$changes = json_decode($_POST['changes'],true);
|
||||
|
||||
// For each of those changes, handle the same requests on file on server to to match client view seen
|
||||
for ($i=0; $i<count($changes); $i++) {
|
||||
// Replace line(s)
|
||||
if ($changes[$i][0] == "replace") {
|
||||
for ($j=$changes[$i][1]; $j<=$changes[$i][2]-1; $j++) { // Take 1 from end
|
||||
// Clear content of line
|
||||
$fileLines[$j] = "";
|
||||
// If it's the last line in the range
|
||||
if ($j == $changes[$i][2]-1) {
|
||||
// Replace the line with our replacement
|
||||
// and if the last line, rtrim the new line from JS
|
||||
$fileLines[$j] =
|
||||
$j==count($fileLines)-1
|
||||
? rtrim($changes[$i][5],$ICEcoder["lineEnding"])
|
||||
: $changes[$i][5];
|
||||
}
|
||||
}
|
||||
}
|
||||
// Insert line(s)
|
||||
if ($changes[$i][0] == "insert") {
|
||||
for ($j=$changes[$i][1]-1; $j<=$changes[$i][2]-1; $j++) { // Take 1 from start and end
|
||||
// Start of file, insert change and then 1st line afterwards
|
||||
if ($j == -1) {
|
||||
$fileLines[0] = $changes[$i][5].$fileLines[0];
|
||||
// Otherwise, middle or end of file
|
||||
} else {
|
||||
// Replace the line with our replacement
|
||||
// and if the last line, prefix with line return and rtrim the new line from JS
|
||||
$fileLines[$j] .=
|
||||
$j==count($fileLines)-1
|
||||
? $ICEcoder["lineEnding"].rtrim($changes[$i][5],$ICEcoder["lineEnding"])
|
||||
: $changes[$i][5];
|
||||
}
|
||||
}
|
||||
}
|
||||
// delete line(s)
|
||||
if ($changes[$i][0] == "delete") {
|
||||
for ($j=$changes[$i][1]; $j<=$changes[$i][2]-1; $j++) { // Take 1 from end
|
||||
// Clear content of line
|
||||
$fileLines[$j] = "";
|
||||
// If the last line, clear line returns from it
|
||||
if ($j == count($fileLines)-1) {
|
||||
$fileLines[$changes[$i][1]-1] = rtrim(rtrim($fileLines[$changes[$i][1]-1],"\r"),"\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Set and return the newly stitched together content
|
||||
$contents = implode("",$fileLines);
|
||||
|
||||
return $contents;
|
||||
}
|
||||
|
||||
|
||||
// ============
|
||||
// SAVING FILES
|
||||
// ============
|
||||
@@ -100,48 +177,69 @@ if (!$error && $_GET['action']=="save") {
|
||||
$finalAction = strpos($fileOrig,"[NEW]")>0 ? "save as" : "save";
|
||||
$fileURL = isset($file) ? $file : "";
|
||||
$fileMDTURLPart = isset($_GET["fileMDT"]) && $_GET["fileMDT"]!="undefined" ? "&fileMDT=".numClean($_GET['fileMDT']) : "";
|
||||
$doNext = '
|
||||
$fileVersionURLPart = isset($_GET["fileVersion"]) && $_GET["fileVersion"]!="undefined" ? "&fileVersion=".numClean($_GET['fileVersion']) : "";
|
||||
$doNext .= '
|
||||
top.ICEcoder.serverMessage();
|
||||
fileLoc = "'.$fileLoc.'";
|
||||
overwriteOK = false;
|
||||
noConflictSave = false;
|
||||
newFileName = top.ICEcoder.getInput("'.$t['Enter filename to...'].' "+(fileLoc!="" ? fileLoc : "/"),"");
|
||||
if (newFileName) {
|
||||
if (newFileName.substr(0,1)!="/") {newFileName = "/" + newFileName};
|
||||
newFileName = fileLoc + newFileName;
|
||||
if (top.ICEcoder.filesFrame.contentWindow.document.getElementById(newFileName.replace(/\\\//g,"|"))) {
|
||||
overwriteOK = top.ICEcoder.ask("'.$t['That file exists...'].'");
|
||||
}
|
||||
};
|
||||
|
||||
if ("undefined" == typeof newFileName || (newFileName && "undefined" == typeof overwriteOK) || ("undefined" != typeof overwriteOK && overwriteOK)) {
|
||||
newFileName = "'.$docRoot.'" + newFileName;
|
||||
saveURL = "lib/file-control-xhr.php?action=save'.$fileMDTURLPart.'&csrf='.$_GET["csrf"].'";
|
||||
/* Check if file/dir exists */
|
||||
top.ICEcoder.lastFileDirCheckStatusObj = false;
|
||||
top.ICEcoder.checkExists(newFileName);
|
||||
var thisInt = setInterval(function() {
|
||||
if (top.ICEcoder.lastFileDirCheckStatusObj != false) {
|
||||
clearInterval(thisInt);
|
||||
|
||||
var xhr = top.ICEcoder.xhrObj();
|
||||
|
||||
xhr.onreadystatechange=function() {
|
||||
if (xhr.readyState==4 && xhr.status==200) {
|
||||
/* console.log(xhr.responseText); */
|
||||
var statusObj = JSON.parse(xhr.responseText);
|
||||
/* Set the actions end time and time taken in JSON object */
|
||||
statusObj.action.timeEnd = new Date().getTime();
|
||||
statusObj.action.timeTaken = statusObj.action.timeEnd - statusObj.action.timeStart;
|
||||
/* console.log(statusObj); */
|
||||
|
||||
if (statusObj.status.error) {
|
||||
top.ICEcoder.message(statusObj.status.errorMsg);
|
||||
if (top.ICEcoder.lastFileDirCheckStatusObj.file && top.ICEcoder.lastFileDirCheckStatusObj.file.exists) {
|
||||
overwriteOK = top.ICEcoder.ask("'.$t['That file exists...'].'");
|
||||
} else {
|
||||
eval(statusObj.action.doNext);
|
||||
}
|
||||
noConflictSave = true;
|
||||
};
|
||||
|
||||
/* Saving under conditions: Confirmation of overwrite or there is no filename conflict, it is a new file, in either case we can save */
|
||||
if (overwriteOK || noConflictSave) {
|
||||
newFileName = "'.(isset($ftpSite) ? "" : $docRoot).'" + newFileName;
|
||||
saveURL = "lib/file-control-xhr.php?action=save'.$fileMDTURLPart.$fileVersionURLPart.'&csrf='.$_GET["csrf"].'";
|
||||
|
||||
var xhr = top.ICEcoder.xhrObj();
|
||||
|
||||
xhr.onreadystatechange=function() {
|
||||
if (xhr.readyState==4 && xhr.status==200) {
|
||||
/* console.log(xhr.responseText); */
|
||||
var statusObj = JSON.parse(xhr.responseText);
|
||||
/* Set the actions end time and time taken in JSON object */
|
||||
statusObj.action.timeEnd = new Date().getTime();
|
||||
statusObj.action.timeTaken = statusObj.action.timeEnd - statusObj.action.timeStart;
|
||||
/* console.log(statusObj); */
|
||||
|
||||
if (statusObj.status.error) {
|
||||
top.ICEcoder.message(statusObj.status.errorMsg);
|
||||
} else {
|
||||
eval(statusObj.action.doNext);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
/* console.log(\'Calling \'+saveURL+\' via XHR\'); */
|
||||
xhr.open("POST",saveURL,true);
|
||||
xhr.setRequestHeader(\'Content-type\', \'application/x-www-form-urlencoded\');
|
||||
xhr.send(\'timeStart='.numClean($_POST["timeStart"]).'&file='.$fileURL.'&newFileName=\'+newFileName.replace(/\\\+/g,"%2B")+\'&contents=\'+encodeURIComponent(top.ICEcoder.saveAsContent));
|
||||
top.ICEcoder.serverMessage("<b>'.$t['Saving'].'</b><br>" + "'.($finalAction == "Save" ? "newFileName" : "'".$fileName."'").'");
|
||||
}
|
||||
}
|
||||
};
|
||||
/* console.log(\'Calling \'+saveURL+\' via XHR\'); */
|
||||
xhr.open("POST",saveURL,true);
|
||||
xhr.setRequestHeader(\'Content-type\', \'application/x-www-form-urlencoded\');
|
||||
xhr.send(\'timeStart='.$_POST["timeStart"].'&file='.$fileURL.'&newFileName=\'+newFileName+\'&contents=\'+top.document.getElementById(\'saveTemp1\').value);
|
||||
top.ICEcoder.serverMessage("<b>'.$t['Saving'].'</b><br>" + "'.($finalAction == "Save" ? "newFileName" : "'".$fileName."'").'");
|
||||
} else {
|
||||
},10);
|
||||
};
|
||||
|
||||
/* UI dialog cancelling and saving contents for save as looparound */
|
||||
if (!newFileName || newFileName && !overwriteOK) {
|
||||
top.ICEcoder.saveAsContent = top.document.getElementById(\'saveTemp1\').value;
|
||||
top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);
|
||||
}';
|
||||
|
||||
@@ -149,51 +247,197 @@ if (!$error && $_GET['action']=="save") {
|
||||
// FILE CONTENT SAVING
|
||||
// ===================
|
||||
|
||||
} elseif (isset($_POST['contents'])) {
|
||||
} elseif (isset($_POST['changes']) || isset($_POST['contents'])) {
|
||||
$finalAction = isset($_POST["newFileName"]) ? "save as" : "save";
|
||||
|
||||
// =================
|
||||
// FILE IS WRITEABLE
|
||||
// =================
|
||||
|
||||
if (!$demoMode && ((file_exists($file) && is_writable($file)) || isset($_POST['newFileName']) && $_POST['newFileName']!="")) {
|
||||
$filemtime = $serverType=="Linux" ? filemtime($file) : "1000000";
|
||||
if (!$demoMode && (isset($ftpSite) || (file_exists($file) && is_writable($file)) || isset($_POST['newFileName']) && $_POST['newFileName']!="")) {
|
||||
|
||||
$filemtime = !isset($ftpSite) && $serverType=="Linux" ? filemtime($file) : "1000000";
|
||||
|
||||
// =======================
|
||||
// MDT'S MATCH, WRITE FILE
|
||||
// =======================
|
||||
|
||||
if (!(isset($_GET['fileMDT']))||$filemtime==$_GET['fileMDT']) {
|
||||
// Newly created files have the perms set too
|
||||
$setPerms = (!file_exists($file)) ? true : false;
|
||||
// get old file contents, if file exists, and count stats on usage \n and \r there
|
||||
// in this case we can keep line endings, which file had before, without
|
||||
// making code version control systems going crazy about line endings change in whole file.
|
||||
$oldContents = file_exists($file)?file_get_contents($file):'';
|
||||
$unixNewLines = preg_match_all('/[^\r][\n]/u', $oldContents);
|
||||
$windowsNewLines = preg_match_all('/[\r][\n]/u', $oldContents);
|
||||
$fh = fopen($file, 'w') or die($t['Sorry, cannot save']);
|
||||
// replace \r\n (Windows), \r (old Mac) and \n (Linux) line endings with whatever we chose to be lineEnding
|
||||
$contents = $_POST['contents'];
|
||||
$contents = str_replace("\r\n", $ICEcoder["lineEnding"], $contents);
|
||||
$contents = str_replace("\r", $ICEcoder["lineEnding"], $contents);
|
||||
$contents = str_replace("\n", $ICEcoder["lineEnding"], $contents);
|
||||
if (($unixNewLines > 0) || ($windowsNewLines > 0)){
|
||||
if ($unixNewLines > $windowsNewLines){
|
||||
$contents = str_replace($ICEcoder["lineEnding"], "\n", $contents);
|
||||
} elseif ($windowsNewLines > $unixNewLines){
|
||||
$contents = str_replace($ICEcoder["lineEnding"], "\r\n", $contents);
|
||||
|
||||
// FTP Saving
|
||||
if (isset($ftpSite)) {
|
||||
$ftpFilepath = ltrim($fileLoc."/".$fileName,"/");
|
||||
if (isset($_POST['changes'])) {
|
||||
// Get existing file contents as lines
|
||||
$loadedFile = toUTF8noBOM(ftpGetContents($ftpConn, $ftpRoot.$fileLoc."/".$fileName, $ftpMode));
|
||||
$fileLines = explode("\n",str_replace("\r","",$loadedFile));
|
||||
// Need to add a new line at the end of each because explode will lose them,
|
||||
// want want to end up with same array that 'file($file)' produces for a local file
|
||||
// - it keeps the line endings at the end of each array item
|
||||
for ($i=0; $i<count($fileLines); $i++) {
|
||||
if ($i<count($fileLines)-1) {
|
||||
$fileLines[$i] .= $ICEcoder["lineEnding"];
|
||||
}
|
||||
}
|
||||
// Stitch changes onto it
|
||||
$contents = stitchChanges($fileLines);
|
||||
|
||||
// get old file contents and count stats on usage \n and \r there
|
||||
// in this case we can keep line endings, which file had before, without
|
||||
// making code version control systems going crazy about line endings change in whole file.
|
||||
$unixNewLines = preg_match_all('/[^\r][\n]/u', $loadedFile);
|
||||
$windowsNewLines = preg_match_all('/[\r][\n]/u', $loadedFile);
|
||||
} else {
|
||||
$contents = $_POST['contents'];
|
||||
}
|
||||
|
||||
// replace \r\n (Windows), \r (old Mac) and \n (Linux) line endings with whatever we chose to be lineEnding
|
||||
$contents = str_replace("\r\n", $ICEcoder["lineEnding"], $contents);
|
||||
$contents = str_replace("\r", $ICEcoder["lineEnding"], $contents);
|
||||
$contents = str_replace("\n", $ICEcoder["lineEnding"], $contents);
|
||||
if (isset($_POST['changes']) && ($unixNewLines > 0) || ($windowsNewLines > 0)){
|
||||
if ($unixNewLines > $windowsNewLines){
|
||||
$contents = str_replace($ICEcoder["lineEnding"], "\n", $contents);
|
||||
} elseif ($windowsNewLines > $unixNewLines){
|
||||
$contents = str_replace($ICEcoder["lineEnding"], "\r\n", $contents);
|
||||
}
|
||||
}
|
||||
// Write our file contents
|
||||
if (!ftpWriteFile($ftpConn, $ftpFilepath, $contents, $ftpMode)) {
|
||||
$doNext .= 'top.ICEcoder.message("Sorry, could not write '.$ftpFilepath.' at '.$ftpHost.'");';
|
||||
} else {
|
||||
$doNext .= 'top.ICEcoder.openFileMDTs[top.ICEcoder.selectedTab-1]="'.$filemtime.'";';
|
||||
$doNext .= '(function() {var x=top.ICEcoder.openFileVersions; var y=top.ICEcoder.selectedTab-1; x[y] = "undefined" != typeof x[y] ? x[y]+1 : 1})();top.ICEcoder.updateVersionsDisplay();';
|
||||
}
|
||||
// Local saving
|
||||
} else {
|
||||
if (isset($_POST['changes'])) {
|
||||
// Get existing file contents as lines and stitch changes onto it
|
||||
$fileLines = file($file);
|
||||
$contents = stitchChanges($fileLines);
|
||||
|
||||
// get old file contents, and count stats on usage \n and \r there
|
||||
// in this case we can keep line endings, which file had before, without
|
||||
// making code version control systems going crazy about line endings change in whole file.
|
||||
$oldContents = file_exists($file)?getData($file):'';
|
||||
$unixNewLines = preg_match_all('/[^\r][\n]/u', $oldContents);
|
||||
$windowsNewLines = preg_match_all('/[\r][\n]/u', $oldContents);
|
||||
} else {
|
||||
$contents = $_POST['contents'];
|
||||
}
|
||||
|
||||
// Newly created files have the perms set too
|
||||
$setPerms = (!file_exists($file)) ? true : false;
|
||||
$fh = fopen($file, 'w') or die($t['Sorry, cannot save']);
|
||||
|
||||
// replace \r\n (Windows), \r (old Mac) and \n (Linux) line endings with whatever we chose to be lineEnding
|
||||
$contents = str_replace("\r\n", $ICEcoder["lineEnding"], $contents);
|
||||
$contents = str_replace("\r", $ICEcoder["lineEnding"], $contents);
|
||||
$contents = str_replace("\n", $ICEcoder["lineEnding"], $contents);
|
||||
if (isset($_POST['changes']) && ($unixNewLines > 0) || ($windowsNewLines > 0)){
|
||||
if ($unixNewLines > $windowsNewLines){
|
||||
$contents = str_replace($ICEcoder["lineEnding"], "\n", $contents);
|
||||
} elseif ($windowsNewLines > $unixNewLines){
|
||||
$contents = str_replace($ICEcoder["lineEnding"], "\r\n", $contents);
|
||||
}
|
||||
}
|
||||
// Now write that content, close the file and clear the statcache
|
||||
fwrite($fh, $contents);
|
||||
fclose($fh);
|
||||
|
||||
if ($setPerms) {
|
||||
chmod($file,octdec($ICEcoder['newFilePerms']));
|
||||
}
|
||||
clearstatcache();
|
||||
$filemtime = $serverType=="Linux" ? filemtime($file) : "1000000";
|
||||
$doNext .= 'top.ICEcoder.openFileMDTs[top.ICEcoder.selectedTab-1]="'.$filemtime.'";';
|
||||
$doNext .= '(function() {var x=top.ICEcoder.openFileVersions; var y=top.ICEcoder.selectedTab-1; x[y] = "undefined" != typeof x[y] ? x[y]+1 : 1})();top.ICEcoder.updateVersionsDisplay();';
|
||||
}
|
||||
|
||||
// Save a version controlled backup source of the file
|
||||
if ($ICEcoder["backupsKept"]) {
|
||||
$backupDirFormat = "Y-m-d";
|
||||
|
||||
// Establish the base, host and date dir parts...
|
||||
$backupDirBase = str_replace("\\","/",dirname(__FILE__))."/../backups/";
|
||||
$backupDirHost = isset($ftpSite) ? parse_url($ftpSite,PHP_URL_HOST) : "localhost";
|
||||
$backupDirDate = date($backupDirFormat);
|
||||
|
||||
// Establish an array of dirs from base to our file location
|
||||
$subDirsArray = explode("/",ltrim($fileLoc,"/"));
|
||||
array_unshift($subDirsArray,$backupDirHost,$backupDirDate);
|
||||
// Make any dirs that don't exist if full path isn't there
|
||||
if (!is_dir($backupDirBase.implode("/",$subDirsArray))) {
|
||||
$pathIncr = "";
|
||||
for ($i=0; $i<count($subDirsArray); $i++) {
|
||||
$pathIncr .= $subDirsArray[$i]."/";
|
||||
// If this subdir isn't there, make it
|
||||
if (!is_dir($backupDirBase.$pathIncr)) {
|
||||
mkdir($backupDirBase.$pathIncr);
|
||||
}
|
||||
}
|
||||
}
|
||||
// We should have our dir path now so set that
|
||||
$backupDir = $backupDirBase.implode("/",$subDirsArray);
|
||||
// Work out an available filename (we postfix a number in parens)
|
||||
for ($i=1; $i<1000000000; $i++) {
|
||||
if (!file_exists($backupDir.'/'.$fileName." (".$i.")")) {
|
||||
$backupFileName = $fileName." (".$i.")";
|
||||
$backupFileNum = $i;
|
||||
$i=1000000000;
|
||||
}
|
||||
}
|
||||
|
||||
// Now save within that backup dir and clear the statcache
|
||||
$fh = fopen($backupDir."/".$backupFileName, "w") or die($t['Sorry, cannot save...']);
|
||||
fwrite($fh, $contents);
|
||||
fclose($fh);
|
||||
clearstatcache();
|
||||
|
||||
// Log the version count in an index file, which contains saved version counts
|
||||
$backupIndex = $backupDirBase.$backupDirHost."/".$backupDirDate."/.versions-index";
|
||||
// Have a version index already? Update contents
|
||||
if (file_exists($backupIndex)) {
|
||||
$versionsInfo = "";
|
||||
$versionsInfoOrig = getData($backupIndex);
|
||||
$versionsInfoOrig = explode("\n",$versionsInfoOrig);
|
||||
$replacedLine = false;
|
||||
// For each line, either re-set number or simply include the line
|
||||
for ($i=0; $i<count($versionsInfoOrig); $i++) {
|
||||
if (strpos($versionsInfoOrig[$i],$fileLoc."/".$fileName." = ") === 0) {
|
||||
$versionsInfo .= $fileLoc."/".$fileName." = ".$backupFileNum.PHP_EOL;
|
||||
$replacedLine = true;
|
||||
} else {
|
||||
$versionsInfo .= $versionsInfoOrig[$i].PHP_EOL;
|
||||
}
|
||||
}
|
||||
// Didn't find our line in the file? Add it to the end
|
||||
if (!$replacedLine) {
|
||||
$versionsInfo .= $fileLoc."/".$fileName." = ".$backupFileNum.PHP_EOL;
|
||||
}
|
||||
// No version file yet, set the first line
|
||||
} else {
|
||||
$versionsInfo = $fileLoc."/".$fileName." = ".$backupFileNum.PHP_EOL;
|
||||
}
|
||||
$versionsInfo = rtrim($versionsInfo,PHP_EOL);
|
||||
$fh = fopen($backupIndex, 'w') or die($t['Sorry, cannot save...']);
|
||||
fwrite($fh, $versionsInfo);
|
||||
fclose($fh);
|
||||
clearstatcache();
|
||||
|
||||
// Finally, clear any old backup dirs than user set X days (inclusive)
|
||||
$backupDirsList = scandir($backupDirBase.$backupDirHost);
|
||||
$backupDirsKeep = array();
|
||||
for ($i=0; $i<=$ICEcoder["backupsDays"]; $i++) {
|
||||
$backupDirsKeep[] = date($backupDirFormat, strtotime('-'.$i.' day',strtotime($backupDirDate)));
|
||||
}
|
||||
for ($i=0; $i<count($backupDirsList); $i++) {
|
||||
if ($backupDirsList[$i] != "." && $backupDirsList[$i] != ".." && !in_array($backupDirsList[$i],$backupDirsKeep)) {
|
||||
rrmdir($backupDirBase.$backupDirHost."/".$backupDirsList[$i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
// Now write that content, close the file and clear the statcache
|
||||
fwrite($fh, $contents);
|
||||
fclose($fh);
|
||||
if ($setPerms) {
|
||||
chmod($file,octdec($ICEcoder['newFilePerms']));
|
||||
}
|
||||
clearstatcache();
|
||||
$filemtime = $serverType=="Linux" ? filemtime($file) : "1000000";
|
||||
$doNext = 'top.ICEcoder.openFileMDTs[top.ICEcoder.selectedTab-1]="'.$filemtime.'";';
|
||||
|
||||
// Reload file manager, rename tab & remove old file highlighting if it was a new file
|
||||
if (isset($_POST['newFileName']) && $_POST['newFileName']!="") {
|
||||
$doNext .= 'top.ICEcoder.selectedFiles=[];top.ICEcoder.updateFileManagerList(\'add\',\''.$fileLoc.'\',\''.$fileName.'\',false,false,false,\'file\');';
|
||||
@@ -207,7 +451,7 @@ if (!$error && $_GET['action']=="save") {
|
||||
// Reload previewWindow window if not a Markdown file
|
||||
// In doing this, we check on an interval for the page to be complete and if we last saw it loading
|
||||
// When we are done loading, so set the loading status to false and load plugins ontop...
|
||||
$doNext .= 'if (top.ICEcoder.previewWindow.location && top.ICEcoder.previewWindow.location.pathname.indexOf(".md")==-1) {
|
||||
$doNext .= 'if (top.ICEcoder.previewWindow.location && top.ICEcoder.previewWindow.location.pathname && top.ICEcoder.previewWindow.location.pathname.indexOf(".md")==-1) {
|
||||
top.ICEcoder.previewWindowLoading = false;
|
||||
top.ICEcoder.previewWindow.location.reload(true);
|
||||
|
||||
@@ -216,6 +460,7 @@ if (!$error && $_GET['action']=="save") {
|
||||
top.ICEcoder.previewWindowLoading = false;
|
||||
try {top.ICEcoder.doPesticide();} catch(err) {};
|
||||
try {top.ICEcoder.doStatsJS(\'save\');} catch(err) {};
|
||||
try {top.ICEcoder.doResponsive();} catch(err) {};
|
||||
clearInterval(top.ICEcoder.checkPreviewWindowLoadingInt);
|
||||
} else {
|
||||
top.ICEcoder.previewWindowLoading = top.ICEcoder.previewWindow.document.readyState == "loading" ? true : false;
|
||||
@@ -238,6 +483,7 @@ if (!$error && $_GET['action']=="save") {
|
||||
top.ICEcoder.setPreviousFiles();
|
||||
setTimeout(function(){top.ICEcoder.indicateChanges()},4);
|
||||
top.ICEcoder.savedPoints[top.ICEcoder.selectedTab-1] = cM.changeGeneration();
|
||||
top.ICEcoder.savedContents[top.ICEcoder.selectedTab-1] = cM.getValue();
|
||||
top.ICEcoder.redoTabHighlight(top.ICEcoder.selectedTab);';
|
||||
|
||||
// Run our custom processes
|
||||
@@ -248,8 +494,10 @@ if (!$error && $_GET['action']=="save") {
|
||||
// ======================================================
|
||||
|
||||
} else {
|
||||
$loadedFile = toUTF8noBOM(file_get_contents($file,false,$context),true);
|
||||
$doNext = '
|
||||
// Only applicable for local files
|
||||
$loadedFile = toUTF8noBOM(getData($file),true);
|
||||
$fileCountInfo = getVersionsCount($fileLoc,$fileName);
|
||||
$doNext .= '
|
||||
var loadedFile = document.createElement("textarea");
|
||||
loadedFile.value = "'.str_replace('"','\\\"',str_replace("\r","\\\\r",str_replace("\n","\\\\n",str_replace("</textarea>","<ICEcoder:/:textarea>",$loadedFile)))).'";
|
||||
var refreshFile = top.ICEcoder.ask("'.$t['Sorry, this file...'].'\\\n'.$file.'\\\n\\\n'.$t['Reload this file...'].'");
|
||||
@@ -260,7 +508,9 @@ if (!$error && $_GET['action']=="save") {
|
||||
/* Revert back to original */
|
||||
cM.setValue(loadedFile.value);
|
||||
top.ICEcoder.savedPoints[thisTab-1] = cM.changeGeneration();
|
||||
top.ICEcoder.savedContents[thisTab-1] = cM.getValue();
|
||||
top.ICEcoder.openFileMDTs[top.ICEcoder.selectedTab-1] = "'.$filemtime.'";
|
||||
top.ICEcoder.openFileVersions[top.ICEcoder.selectedTab-1] = "'.$fileCountInfo['count'].'";
|
||||
cM.clearHistory();
|
||||
/* Now for the new version in the diff pane */
|
||||
top.ICEcoder.setSplitPane(\'on\');
|
||||
@@ -276,7 +526,7 @@ if (!$error && $_GET['action']=="save") {
|
||||
|
||||
} else {
|
||||
$finalAction = "nothing";
|
||||
$doNext = "top.ICEcoder.message('".$t['Sorry, cannot save']."\\\\n".$file."');";
|
||||
$doNext .= "top.ICEcoder.message('".$t['Sorry, cannot save']."\\\\n".$file."');";
|
||||
}
|
||||
$doNext .= 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);';
|
||||
}
|
||||
@@ -287,15 +537,31 @@ if (!$error && $_GET['action']=="save") {
|
||||
// ==========
|
||||
|
||||
if (!$error && $_GET['action']=="newFolder") {
|
||||
if (!$demoMode && is_writable($docRoot.$fileLoc)) {
|
||||
mkdir($file, octdec($ICEcoder['newDirPerms']));
|
||||
// Reload file manager
|
||||
$doNext = 'top.ICEcoder.selectedFiles=[];top.ICEcoder.updateFileManagerList(\'add\',\''.$fileLoc.'\',\''.$fileName.'\',false,false,false,\'folder\');';
|
||||
if (!$demoMode && (isset($ftpSite) || is_writable($docRoot.$fileLoc))) {
|
||||
$updateFM = false;
|
||||
// FTP
|
||||
if (isset($ftpSite)) {
|
||||
$ftpFilepath = ltrim($fileLoc."/".$fileName,"/");
|
||||
if (!ftpMkDir($ftpConn, octdec($ICEcoder['newDirPerms']), $ftpFilepath)) {
|
||||
$doNext .= 'top.ICEcoder.message("Sorry, could not create dir '.$ftpFilepath.' at '.$ftpHost.'");';
|
||||
} else {
|
||||
$updateFM = true;
|
||||
}
|
||||
// Local
|
||||
} else {
|
||||
mkdir($file, octdec($ICEcoder['newDirPerms']));
|
||||
// Reload file manager
|
||||
$updateFM = true;
|
||||
}
|
||||
// Update file manager on success
|
||||
if ($updateFM) {
|
||||
$doNext .= 'top.ICEcoder.selectedFiles=[];top.ICEcoder.updateFileManagerList(\'add\',\''.$fileLoc.'\',\''.$fileName.'\',false,false,false,\'folder\');';
|
||||
}
|
||||
$finalAction = "newFolder";
|
||||
// Run our custom processes
|
||||
include_once("../processes/on-new-dir.php");
|
||||
} else {
|
||||
$doNext = "top.ICEcoder.message('".$t['Sorry, cannot create...']."\\\\n".$fileLoc."');";
|
||||
$doNext .= "top.ICEcoder.message('".$t['Sorry, cannot create...']."\\\\n".$fileLoc."');";
|
||||
$finalAction = "nothing";
|
||||
}
|
||||
$doNext .= 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);';
|
||||
@@ -306,27 +572,46 @@ if (!$error && $_GET['action']=="newFolder") {
|
||||
// ================
|
||||
|
||||
if (!$error && $_GET['action']=="move") {
|
||||
$moved=false;
|
||||
$doNext = "";
|
||||
$srcDir = $docRoot.$iceRoot.str_replace("|","/",strClean($_GET['oldFileName']));
|
||||
$tgtDir = $docRoot.$fileLoc."/".$fileName;
|
||||
if (isset($ftpSite)) {
|
||||
$srcDir = ltrim(str_replace("|","/",strClean($_GET['oldFileName'])),"/");
|
||||
$tgtDir = ltrim($fileLoc."/".$fileName,"/");
|
||||
} else {
|
||||
$srcDir = $docRoot.$iceRoot.str_replace("|","/",strClean($_GET['oldFileName']));
|
||||
$tgtDir = $docRoot.$fileLoc."/".$fileName;
|
||||
}
|
||||
if ($srcDir != $tgtDir && $fileLoc != "") {
|
||||
if (!$demoMode && is_writable($srcDir)) {
|
||||
if(rename($srcDir,$tgtDir)) {
|
||||
// Reload file manager
|
||||
$fileOrFolder = is_dir($docRoot.$fileLoc."/".$fileName) ? "folder" : "file";
|
||||
$doNext .= 'top.ICEcoder.selectedFiles=[];top.ICEcoder.updateFileManagerList(\'move\',\''.$fileLoc.'\',\''.$fileName.'\',\'\',\''.str_replace($iceRoot,"",strClean(str_replace("|","/",$_GET['oldFileName']))).'\',false,\''.$fileOrFolder.'\');';
|
||||
$finalAction = "move";
|
||||
$moved=true;
|
||||
// Run our custom processes
|
||||
include_once("../processes/on-file-dir-move.php");
|
||||
if (!$demoMode && (isset($ftpSite) || is_writable($srcDir))) {
|
||||
$updateFM = false;
|
||||
// FTP
|
||||
if (isset($ftpSite)) {
|
||||
if (!ftpRename($ftpConn, $srcDir, $tgtDir)) {
|
||||
$doNext .= 'top.ICEcoder.message("Sorry, could not rename '.$srcDir.' to '.$tgtDir.'");';
|
||||
} else {
|
||||
$ftpFileDirInfo = ftpGetFileInfo($ftpConn, ltrim($fileLoc,"/"), $fileName);
|
||||
$fileOrFolder = $ftpFileDirInfo['type'] == "directory" ? "folder" : "file";
|
||||
$updateFM = true;
|
||||
}
|
||||
// Local
|
||||
} else {
|
||||
if(rename($srcDir,$tgtDir)) {
|
||||
// Is a dir or file (needed to create new item in file manager)
|
||||
$fileOrFolder = is_dir($docRoot.$fileLoc."/".$fileName) ? "folder" : "file";
|
||||
$updateFM = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!$moved) {
|
||||
// Update file manager on success
|
||||
if ($updateFM) {
|
||||
$doNext .= 'top.ICEcoder.selectedFiles=[];top.ICEcoder.updateFileManagerList(\'move\',\''.$fileLoc.'\',\''.$fileName.'\',\'\',\''.str_replace($iceRoot,"",strClean(str_replace("|","/",$_GET['oldFileName']))).'\',false,\''.$fileOrFolder.'\');';
|
||||
}
|
||||
$finalAction = "move";
|
||||
// Run our custom processes
|
||||
include_once("../processes/on-file-dir-move.php");
|
||||
} else {
|
||||
$doNext .= "top.ICEcoder.message('".$t['Sorry, cannot move']."\\\\n".str_replace("|","/",strClean($_GET['oldFileName']))."\\\\n\\\\n".$t['Maybe public write...']."');";
|
||||
$finalAction = "nothing";
|
||||
}
|
||||
} else {
|
||||
$doNext .= "";
|
||||
$finalAction = "nothing";
|
||||
}
|
||||
$doNext .= 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);';
|
||||
@@ -337,19 +622,31 @@ if (!$error && $_GET['action']=="move") {
|
||||
// ==================
|
||||
|
||||
if (!$error && $_GET['action']=="rename") {
|
||||
$renamed=false;
|
||||
if (!$demoMode && is_writable($docRoot.$iceRoot.str_replace("|","/",strClean($_GET['oldFileName'])))) {
|
||||
if(rename($docRoot.$iceRoot.str_replace("|","/",strClean($_GET['oldFileName'])),$docRoot.$fileLoc."/".$fileName)) {
|
||||
// Reload file manager
|
||||
$doNext = 'top.ICEcoder.selectedFiles=[];top.ICEcoder.updateFileManagerList(\'rename\',\''.$fileLoc.'\',\''.$fileName.'\',\'\',\''.str_replace($iceRoot,"",strClean($_GET['oldFileName'])).'\');';
|
||||
$finalAction = "rename";
|
||||
$renamed=true;
|
||||
// Run our custom processes
|
||||
include_once("../processes/on-file-dir-rename.php");
|
||||
if (!$demoMode && (isset($ftpSite) || is_writable($docRoot.$iceRoot.str_replace("|","/",strClean($_GET['oldFileName']))))) {
|
||||
$updateFM = false;
|
||||
// FTP
|
||||
if (isset($ftpSite)) {
|
||||
$ftpFilepath = ltrim($fileLoc."/".$fileName,"/");
|
||||
if (!ftpRename($ftpConn, ltrim(strClean($_GET['oldFileName']),"/"), $ftpFilepath)) {
|
||||
$doNext .= 'top.ICEcoder.message("Sorry, could not rename '.ltrim(strClean($_GET['oldFileName']),"/").' to '.$ftpFilepath.'");';
|
||||
} else {
|
||||
$updateFM = true;
|
||||
}
|
||||
// Local
|
||||
} else {
|
||||
rename($docRoot.$iceRoot.str_replace("|","/",strClean($_GET['oldFileName'])),$docRoot.$fileLoc."/".$fileName);
|
||||
$updateFM = true;
|
||||
}
|
||||
}
|
||||
if (!$renamed) {
|
||||
$doNext = "top.ICEcoder.message('".$t['Sorry, cannot rename']."\\\\n".strClean($_GET['oldFileName'])."\\\\n\\\\n".$t['Maybe public write...']."');";
|
||||
// Update file manager on success
|
||||
if ($updateFM) {
|
||||
$doNext .= 'top.ICEcoder.selectedFiles=[];top.ICEcoder.updateFileManagerList(\'rename\',\''.$fileLoc.'\',\''.$fileName.'\',\'\',\''.str_replace($iceRoot,"",strClean($_GET['oldFileName'])).'\');';
|
||||
}
|
||||
$finalAction = "rename";
|
||||
// Run our custom processes
|
||||
include_once("../processes/on-file-dir-rename.php");
|
||||
} else {
|
||||
$doNext .= "top.ICEcoder.message('".$t['Sorry, cannot rename']."\\\\n".strClean($_GET['oldFileName'])."\\\\n\\\\n".$t['Maybe public write...']."');";
|
||||
$finalAction = "nothing";
|
||||
}
|
||||
$doNext .= 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);';
|
||||
};
|
||||
@@ -358,7 +655,7 @@ if (!$error && $_GET['action']=="rename") {
|
||||
// PASTE FILE/FOLDER
|
||||
// =================
|
||||
|
||||
if (!$error && $_GET['action']=="paste") {
|
||||
if (!isset($ftpSite) && !$error && $_GET['action']=="paste") {
|
||||
$source = $file;
|
||||
$dest = str_replace("//","/",$docRoot.$iceRoot.strClean(str_replace("|","/",$_GET['location']))."/".basename($source));
|
||||
if (!$demoMode && is_writable(dirname($dest))) {
|
||||
@@ -400,12 +697,12 @@ if (!$error && $_GET['action']=="paste") {
|
||||
}
|
||||
}
|
||||
// Reload file manager
|
||||
$doNext = 'top.ICEcoder.updateFileManagerList(\'add\',\''.strClean(str_replace("|","/",$_GET['location'])).'\',\''.basename($dest).'\',false,false,false,\''.$fileOrFolder.'\');';
|
||||
$doNext .= 'top.ICEcoder.updateFileManagerList(\'add\',\''.strClean(str_replace("|","/",$_GET['location'])).'\',\''.basename($dest).'\',false,false,false,\''.$fileOrFolder.'\');';
|
||||
$finalAction = "pasteFile";
|
||||
// Run our custom processes
|
||||
include_once("../processes/on-file-dir-paste.php");
|
||||
} else {
|
||||
$doNext = "top.ICEcoder.message('".$t['Sorry, cannot copy']." \\\\n".str_replace($docRoot,"",$source)."\\\\n ".$t['into']." \\\\n".str_replace($docRoot,"",$dest)."');";
|
||||
$doNext .= "top.ICEcoder.message('".$t['Sorry, cannot copy']." \\\\n".str_replace($docRoot,"",$source)."\\\\n ".$t['into']." \\\\n".str_replace($docRoot,"",$dest)."');";
|
||||
$finalAction = "nothing";
|
||||
}
|
||||
$doNext .= 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);';
|
||||
@@ -415,9 +712,8 @@ if (!$error && $_GET['action']=="paste") {
|
||||
// UPLOAD FILE(S)
|
||||
// ==============
|
||||
|
||||
if (!$error && $_GET['action']=="upload") {
|
||||
if (!isset($ftpSite) && !$error && $_GET['action']=="upload") {
|
||||
if (!$demoMode) {
|
||||
$doNext = "";
|
||||
class fileUploader {
|
||||
public function __construct($uploads) {
|
||||
global $docRoot,$iceRoot,$ICEcoder,$doNext;
|
||||
@@ -452,7 +748,7 @@ if (!$error && $_GET['action']=="upload") {
|
||||
|
||||
function getDetails($fileArr) {
|
||||
foreach($fileArr['name'] as $keyee => $info) {
|
||||
$uploads[$keyee]->name=$fileArr['name'][$keyee];
|
||||
$uploads[$keyee]->name=xssClean($fileArr['name'][$keyee],"html");
|
||||
$uploads[$keyee]->type=$fileArr['type'][$keyee];
|
||||
$uploads[$keyee]->tmp_name=$fileArr['tmp_name'][$keyee];
|
||||
$uploads[$keyee]->error=$fileArr['error'][$keyee];
|
||||
@@ -482,48 +778,84 @@ if (!$error && $_GET['action']=="upload") {
|
||||
// ========================
|
||||
|
||||
if (!$error && $_GET['action']=="delete") {
|
||||
$doNext = "";
|
||||
$filesArray = explode(";",$file); // May contain more than one file here
|
||||
for ($i=0;$i<count($filesArray);$i++) {
|
||||
$fullPath = str_replace($docRoot,"",$filesArray[$i]);
|
||||
$fullPath = str_replace($iceRoot,"",$fullPath);
|
||||
$fullPath = $docRoot.$iceRoot.$fullPath;
|
||||
|
||||
if (rtrim($fullPath,"/") == rtrim($docRoot,"/")) {
|
||||
$doNext .= "top.ICEcoder.message('".$t['Sorry, cannot delete...']."');";
|
||||
} else if (!$demoMode && is_writable($fullPath)) {
|
||||
is_dir($fullPath)
|
||||
? rrmdir($fullPath)
|
||||
: unlink($fullPath);
|
||||
$fileName = basename($fullPath);
|
||||
$fileLoc = dirname(str_replace($docRoot,"",$fullPath));
|
||||
if ($fileLoc=="" || $fileLoc=="\\") {$fileLoc="/";};
|
||||
// Reload file manager
|
||||
$doNext .= 'top.ICEcoder.selectedFiles=[];top.ICEcoder.updateFileManagerList(\'delete\',\''.$fileLoc.'\',\''.$fileName.'\');';
|
||||
$finalAction = "delete";
|
||||
// Run our custom processes
|
||||
include_once("../processes/on-file-dir-delete.php");
|
||||
// FTP
|
||||
if (isset($ftpSite)) {
|
||||
if (count($filesArray) == 1) {
|
||||
$ftpFileDirInfo = ftpGetFileInfo($ftpConn, ltrim($fileLoc,"/"), $fileName);
|
||||
$itemType = $ftpFileDirInfo['type'] == "directory" ? "dir" : "file";
|
||||
$itemPath = ltrim($fileLoc."/".$fileName,"/");
|
||||
if (!$demoMode && ftpDelete($ftpConn,$itemType,$itemPath)) {
|
||||
if ($fileLoc=="" || $fileLoc=="\\") {$fileLoc="/";};
|
||||
// Reload file manager
|
||||
$doNext .= 'top.ICEcoder.selectedFiles=[];top.ICEcoder.updateFileManagerList(\'delete\',\''.$fileLoc.'\',\''.$fileName.'\');';
|
||||
$finalAction = "delete";
|
||||
// Run our custom processes
|
||||
include_once("../processes/on-file-dir-delete.php");
|
||||
} else {
|
||||
$doNext .= "top.ICEcoder.message('".$t['Sorry, cannot delete']."\\\\n".$fileLoc."/".$fileName."');";
|
||||
$finalAction = "nothing";
|
||||
}
|
||||
} else {
|
||||
$doNext .= "top.ICEcoder.message('".$t['Sorry, cannot delete']."\\\\n".str_replace($docRoot,"",$fullPath)."');";
|
||||
$doNext .= "top.ICEcoder.message('".$t['Sorry, cannot delete more...']."');";
|
||||
$finalAction = "nothing";
|
||||
}
|
||||
// Local
|
||||
} else {
|
||||
for ($i=0;$i<count($filesArray);$i++) {
|
||||
$fullPath = str_replace($docRoot,"",$filesArray[$i]);
|
||||
$fullPath = str_replace($iceRoot,"",$fullPath);
|
||||
$fullPath = $docRoot.$iceRoot.$fullPath;
|
||||
|
||||
if (rtrim($fullPath,"/") == rtrim($docRoot,"/")) {
|
||||
$doNext .= "top.ICEcoder.message('".$t['Sorry, cannot delete...']."');";
|
||||
} else if (!$demoMode && is_writable($fullPath)) {
|
||||
if (is_dir($fullPath)) {
|
||||
rrmdir($fullPath);
|
||||
} else {
|
||||
// Delete file to tmp dir or full delete
|
||||
$ICEcoder['deleteToTmp']
|
||||
? rename($fullPath,str_replace("\\","/",dirname(__FILE__))."/../tmp/.".str_replace(":","_",str_replace("/","_",$fullPath)))
|
||||
: unlink($fullPath);
|
||||
}
|
||||
$fileName = basename($fullPath);
|
||||
$fileLoc = dirname(str_replace($docRoot,"",$fullPath));
|
||||
if ($fileLoc=="" || $fileLoc=="\\") {$fileLoc="/";};
|
||||
// Reload file manager
|
||||
$doNext .= 'top.ICEcoder.selectedFiles=[];top.ICEcoder.updateFileManagerList(\'delete\',\''.$fileLoc.'\',\''.$fileName.'\');';
|
||||
$finalAction = "delete";
|
||||
// Run our custom processes
|
||||
include_once("../processes/on-file-dir-delete.php");
|
||||
} else {
|
||||
$doNext .= "top.ICEcoder.message('".$t['Sorry, cannot delete']."\\\\n".str_replace($docRoot,"",$fullPath)."');";
|
||||
$finalAction = "nothing";
|
||||
}
|
||||
}
|
||||
}
|
||||
$doNext .= 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);';
|
||||
};
|
||||
|
||||
// The function to recursively remove folders & files
|
||||
function rrmdir($dir) {
|
||||
function rrmdir($dir) {
|
||||
global $ICEcoder;
|
||||
|
||||
if (is_dir($dir)) {
|
||||
$objects = scandir($dir);
|
||||
foreach ($objects as $object) {
|
||||
if ($object != "." && $object != "..") {
|
||||
filetype($dir."/".$object) == "dir"
|
||||
? rrmdir($dir."/".$object)
|
||||
: unlink($dir."/".$object);
|
||||
if ($object != "." && $object != "..") {
|
||||
if (filetype($dir."/".$object) == "dir") {
|
||||
rrmdir($dir."/".$object);
|
||||
} else {
|
||||
$ICEcoder['deleteToTmp']
|
||||
? rename($dir."/".$object,str_replace("\\","/",dirname(__FILE__))."/../tmp/.".str_replace(":","_",str_replace("/","_",$dir))."/".$object)
|
||||
: unlink($dir."/".$object);
|
||||
}
|
||||
}
|
||||
}
|
||||
reset($objects);
|
||||
rmdir($dir);
|
||||
reset($objects);
|
||||
$ICEcoder['deleteToTmp']
|
||||
? rename($dir,str_replace("\\","/",dirname(__FILE__))."/../tmp/.".str_replace(":","_",str_replace("/","_",$dir)))
|
||||
: rmdir($dir);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -531,10 +863,9 @@ function rrmdir($dir) {
|
||||
// REPLACE TEXT IN A FILE
|
||||
// ======================
|
||||
|
||||
if (!$error && $_GET['action']=="replaceText") {
|
||||
$doNext = "";
|
||||
if (!isset($ftpSite) && !$error && $_GET['action']=="replaceText") {
|
||||
if (!$demoMode && is_writable($file)) {
|
||||
$loadedFile = toUTF8noBOM(file_get_contents($file,false,$context),true);
|
||||
$loadedFile = toUTF8noBOM(getData($file),true);
|
||||
$newContent = str_replace(strClean($_GET['find']),strClean($_GET['replace']),$loadedFile);
|
||||
$fh = fopen($file, 'w') or die($t['Sorry, cannot save']);
|
||||
fwrite($fh, $newContent);
|
||||
@@ -553,10 +884,9 @@ if (!$error && $_GET['action']=="replaceText") {
|
||||
// GET CONTENTS OF REMOTE URL
|
||||
// ==========================
|
||||
|
||||
if (!$error && $_GET['action']=="getRemoteFile") {
|
||||
if (!isset($ftpSite) && !$error && $_GET['action']=="getRemoteFile") {
|
||||
$lineNumber = max(isset($_REQUEST['lineNumber'])?intval($_REQUEST['lineNumber']):1, 1);
|
||||
$doNext = "";
|
||||
if ($remoteFile = toUTF8noBOM(file_get_contents($file,false,$context),true)) {
|
||||
if ($remoteFile = toUTF8noBOM(getData($file,'curl'),true)) {
|
||||
// replace \r\n (Windows), \r (old Mac) and \n (Linux) line endings with whatever we chose to be lineEnding
|
||||
$remoteFile = str_replace("\r\n", $ICEcoder["lineEnding"], $remoteFile);
|
||||
$remoteFile = str_replace("\r", $ICEcoder["lineEnding"], $remoteFile);
|
||||
@@ -579,50 +909,98 @@ if (!$error && $_GET['action']=="getRemoteFile") {
|
||||
// =======================
|
||||
|
||||
if (!$error && $_GET['action']=="perms") {
|
||||
if (!$demoMode && is_writable($file)) {
|
||||
chmod($file,octdec(numClean($_GET['perms'])));
|
||||
// Reload file manager
|
||||
$doNext = 'top.ICEcoder.updateFileManagerList(\'chmod\',\''.$fileLoc.'\',\''.$fileName.'\',\''.numClean($_GET['perms']).'\');';
|
||||
if (!$demoMode && (isset($ftpSite) || is_writable($file))) {
|
||||
$updateFM = false;
|
||||
// FTP
|
||||
if (isset($ftpSite)) {
|
||||
$ftpFilepath = ltrim($fileLoc."/".$fileName,"/");
|
||||
if (!ftpPerms($ftpConn, octdec(numClean($_GET['perms'])), $ftpFilepath)) {
|
||||
$doNext .= 'top.ICEcoder.message("Sorry, could not set perms on '.$ftpFilepath.' at '.$ftpHost.'");';
|
||||
} else {
|
||||
$updateFM = true;
|
||||
}
|
||||
// Local
|
||||
} else {
|
||||
chmod($file,octdec(numClean($_GET['perms'])));
|
||||
// Reload file manager
|
||||
$updateFM = true;
|
||||
}
|
||||
// Update file manager on success
|
||||
if ($updateFM) {
|
||||
$doNext .= 'top.ICEcoder.updateFileManagerList(\'chmod\',\''.$fileLoc.'\',\''.$fileName.'\',\''.numClean($_GET['perms']).'\');';
|
||||
}
|
||||
$finalAction = "perms";
|
||||
// Run our custom processes
|
||||
include_once("../processes/on-file-dir-perms.php");
|
||||
} else {
|
||||
$finalAction = "nothing";
|
||||
$doNext = "top.ICEcoder.message('".$t['Sorry, cannot change...']." \\n".strClean($file)."');";
|
||||
$doNext .= "top.ICEcoder.message('".$t['Sorry, cannot change...']." \\n".strClean($file)."');";
|
||||
}
|
||||
$doNext .= 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);';
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
// ====================
|
||||
// CHECK FOR A FILE/DIR
|
||||
// ====================
|
||||
|
||||
if (!isset($ftpSite) && !$error && $_GET['action']=="checkExists") {
|
||||
// This action is called under seperate AJAX call and the responseText object stored in top.ICEcoder.lastFileDirCheckStatusObj
|
||||
// Nothing really done here though, we do something with the responseText
|
||||
$finalAction = "checkExists";
|
||||
$doNext .= 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);';
|
||||
};
|
||||
|
||||
// ===================
|
||||
// JSON DATA TO RETURN
|
||||
// ===================
|
||||
|
||||
// No $filemtime yet? Get it now!
|
||||
if (!isset($filemtime)) {
|
||||
if (!isset($filemtime) && !is_dir($file)) {
|
||||
$filemtime = $serverType=="Linux" ? filemtime($file) : "1000000";
|
||||
}
|
||||
// Set $timeStart, use 0 if not available
|
||||
$timeStart = isset($_POST["timeStart"]) ? $_POST["timeStart"] : 0;
|
||||
$timeStart = isset($_POST["timeStart"]) ? numClean($_POST["timeStart"]) : 0;
|
||||
if ($timeStart == "") {
|
||||
$timeStart = 0;
|
||||
}
|
||||
|
||||
if (isset($ftpSite)) {
|
||||
// Get info on dir/file now
|
||||
$ftpFileDirInfo = ftpGetFileInfo($ftpConn, ltrim($fileLoc,"/"), $fileName);
|
||||
// End the connection
|
||||
ftpEnd();
|
||||
// Then set info
|
||||
$itemAbsPath = $ftpRoot.$fileLoc.'/'.$fileName;
|
||||
$itemPath = dirname($ftpRoot.$fileLoc.'/'.$fileName);
|
||||
$itemBytes = $ftpFileDirInfo['size'];
|
||||
$itemType = (isset($ftpFileDirInfo['type']) ? ($ftpFileDirInfo['type'] == "directory" ? "dir" : "file") : "unknown");
|
||||
$itemExists = (isset($ftpFileDirInfo['type']) ? "true" : "false");
|
||||
} else {
|
||||
$itemAbsPath = $file;
|
||||
$itemPath = dirname($file);
|
||||
$itemBytes = is_dir($file) ? null : filesize($file);
|
||||
$itemType = (file_exists($file) ? (is_dir($file) ? "dir" : "file") : "unknown");
|
||||
$itemExists = (file_exists($file) ? "true" : "false");
|
||||
}
|
||||
|
||||
echo '{
|
||||
"file": {
|
||||
"absPath": "'.$file.'",
|
||||
"absPath": "'.$itemAbsPath.'",
|
||||
"relPath": "'.$fileLoc.'/'.$fileName.'",
|
||||
"name": "'.$fileName.'",
|
||||
"path": "'.dirname($file).'",
|
||||
"bytes": "'.filesize($file).'",
|
||||
"modifiedDT": "'.$filemtime.'"
|
||||
"path": "'.$itemPath.'",
|
||||
"bytes": "'.$itemBytes.'",
|
||||
"modifiedDT": "'.$filemtime.'",
|
||||
"type": "'.$itemType.'",
|
||||
"exists": '.$itemExists.'
|
||||
},
|
||||
"action": {
|
||||
"initial" : "'.$_GET["action"].'",
|
||||
"initial" : "'.xssClean($_GET['action'],"html").'",
|
||||
"final" : "'.$finalAction.'",
|
||||
"timeStart": '.$timeStart.',
|
||||
"timeEnd": 0,
|
||||
"timeTaken": 0,
|
||||
"csrf": "'.$_GET["csrf"].'",
|
||||
"csrf": "'.xssClean($_GET['csrf'],"html").'",
|
||||
"doNext" : "'.preg_replace('/\r|\n/','',str_replace(' ','',str_replace('"','\"',$doNext))).'top.ICEcoder.switchMode();"
|
||||
},
|
||||
"status": {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
include("headers.php");
|
||||
include("settings.php");
|
||||
include("ftp-control.php");
|
||||
$t = $text['file-control'];
|
||||
?>
|
||||
<?php if ($_SESSION['githubDiff']) { ?>
|
||||
@@ -9,9 +10,6 @@ $t = $text['file-control'];
|
||||
<?php ;}; ?>
|
||||
<script>
|
||||
<?php
|
||||
// Get the save type if any
|
||||
$saveType = isset($_GET['saveType']) ? strClean($_GET['saveType']) : "";
|
||||
|
||||
// Establish the filename/new filename
|
||||
$file = str_replace("|","/",strClean(
|
||||
isset($_POST['newFileName']) && $_POST['newFileName']!=""
|
||||
@@ -54,14 +52,14 @@ for ($i=0; $i<count($allFiles); $i++) {
|
||||
// Die if the file requested isn't something we expect
|
||||
if(
|
||||
// A local folder that isn't the doc root or starts with the doc root
|
||||
($_GET['action']!="getRemoteFile" &&
|
||||
($_GET['action']!="getRemoteFile" && !isset($ftpSite) &&
|
||||
rtrim($allFiles[$i],"/") !== rtrim($docRoot,"/") &&
|
||||
strpos(realpath(rtrim(dirname($allFiles[$i]),"/")),realpath(rtrim($docRoot,"/"))) !== 0
|
||||
) ||
|
||||
// Or a remote URL that doesn't start http
|
||||
($_GET['action']=="getRemoteFile" && strpos($allFiles[$i],"http") !== 0)
|
||||
) {
|
||||
die("alert('Sorry! - problem with file requested');</script>");
|
||||
die("top.ICEcoder.message('Sorry! - problem with file requested');</script>");
|
||||
};
|
||||
}
|
||||
|
||||
@@ -69,10 +67,18 @@ for ($i=0; $i<count($allFiles); $i++) {
|
||||
if ($_GET['action']=="load") {
|
||||
echo 'action="load";';
|
||||
$lineNumber = max(isset($_REQUEST['lineNumber'])?intval($_REQUEST['lineNumber']):1, 1);
|
||||
if (file_exists($file)) {
|
||||
// Check this file isn't on the banned list at all
|
||||
$canOpen = true;
|
||||
for ($i=0;$i<count($_SESSION['bannedFiles']);$i++) {
|
||||
if(str_replace("*","",$_SESSION['bannedFiles'][$i]) != "" && strpos($file,str_replace("*","",$_SESSION['bannedFiles'][$i]))!==false) {$canOpen = false;}
|
||||
}
|
||||
|
||||
if (!$canOpen) {
|
||||
echo 'fileType="nothing"; top.ICEcoder.message(\''.$t['Sorry, could not...'].' '.$fileLoc."/".$fileName.'\');';
|
||||
} elseif (isset($ftpSite) || file_exists($file)) {
|
||||
$finfo = "text";
|
||||
// Determine what to do based on mime type
|
||||
if (function_exists('finfo_open')) {
|
||||
if (!isset($ftpSite) && function_exists('finfo_open')) {
|
||||
$finfoMIME = finfo_open(FILEINFO_MIME);
|
||||
$finfo = finfo_file($finfoMIME, $file);
|
||||
finfo_close($finfoMIME);
|
||||
@@ -85,8 +91,26 @@ if ($_GET['action']=="load") {
|
||||
if (strpos($finfo,"text")===0 || strpos($finfo, "application/xml")===0 || strpos($finfo,"empty")!==false) {
|
||||
echo 'fileType="text";';
|
||||
echo 'top.ICEcoder.shortURL = top.ICEcoder.thisFileFolderLink = "'.$fileLoc."/".$fileName.'";';
|
||||
$loadedFile = toUTF8noBOM(file_get_contents($file,false,$context),true);
|
||||
echo '</script><textarea name="loadedFile" id="loadedFile">'.htmlentities($loadedFile).'</textarea><script>';
|
||||
|
||||
// Get file over FTP?
|
||||
if (isset($ftpSite)) {
|
||||
ftpStart();
|
||||
// Show user warning if no good connection
|
||||
if (!$ftpConn || !$ftpLogin) {
|
||||
die('top.ICEcoder.message("Sorry, no FTP connection to '.$ftpHost.' for user '.$ftpUser.'");top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);</script>');
|
||||
exit;
|
||||
}
|
||||
// Get our file contents and close the FTP connection
|
||||
$loadedFile = toUTF8noBOM(ftpGetContents($ftpConn, $ftpRoot.$fileLoc."/".$fileName, $ftpMode));
|
||||
ftpEnd();
|
||||
// Get local file
|
||||
} else {
|
||||
$loadedFile = toUTF8noBOM(getData($file),true);
|
||||
}
|
||||
$encoding=ini_get("default_charset");
|
||||
if($encoding=="")
|
||||
$encoding="UTF-8";
|
||||
echo '</script><textarea name="loadedFile" id="loadedFile">'.htmlentities($loadedFile,ENT_COMPAT,$encoding).'</textarea><script>';
|
||||
// Run our custom processes
|
||||
include_once("../processes/on-file-load.php");
|
||||
} else if (strpos($finfo,"image")===0) {
|
||||
@@ -109,7 +133,7 @@ if (action=="load") {
|
||||
console.log('<?php echo $t['There was a...']; ?>');
|
||||
window.location.reload(true);
|
||||
<?php
|
||||
if (file_exists($file)) {
|
||||
if (isset($ftpSite) || file_exists($file)) {
|
||||
?>
|
||||
} else {
|
||||
top.ICEcoder.loadingFile = true;
|
||||
@@ -122,7 +146,7 @@ if (action=="load") {
|
||||
top.ICEcoder.setLayout();
|
||||
top.ICEcoder.content.contentWindow.createNewCMInstance(top.ICEcoder.nextcMInstance);
|
||||
|
||||
<?php if ($_SESSION['githubDiff']) { ?>
|
||||
<?php if (!isset($ftpSite) && $_SESSION['githubDiff']) { ?>
|
||||
// If we're in GitHub diff mode and have a split pane display, get the content for the diff pane
|
||||
if (top.ICEcoder.githubDiff && top.ICEcoder.splitPane) {
|
||||
<?php
|
||||
@@ -159,6 +183,7 @@ if (action=="load") {
|
||||
cM = top.ICEcoder.getcMInstance();
|
||||
cM.setValue(document.getElementById('loadedFile').value);
|
||||
top.ICEcoder.savedPoints[top.ICEcoder.selectedTab-1] = cM.changeGeneration();
|
||||
top.ICEcoder.savedContents[top.ICEcoder.selectedTab-1] = cM.getValue();
|
||||
top.document.getElementById('content').style.visibility='visible';
|
||||
top.ICEcoder.switchTab(top.ICEcoder.selectedTab,'noFocus');
|
||||
setTimeout(function(){top.ICEcoder.filesFrame.contentWindow.focus();},0);
|
||||
@@ -169,9 +194,11 @@ if (action=="load") {
|
||||
top.ICEcoder['cMActiveLinecM'+top.ICEcoder.selectedTab] = top.ICEcoder.content.contentWindow['cM'+top.ICEcoder.cMInstances[top.ICEcoder.selectedTab-1]].addLineClass(0, "background", "cm-s-activeLine");
|
||||
top.ICEcoder.nextcMInstance++;
|
||||
top.ICEcoder.openFileMDTs.push('<?php echo $serverType=="Linux" ? filemtime($file) : "1000000"; ?>');
|
||||
for (var i=0; i<cM.lineCount(); i++) {
|
||||
top.ICEcoder.content.contentWindow.CodeMirror.doFold(cM.getLine(i).indexOf("{")>-1?"brace":"xml",null,"+","-",true)(cM, i);
|
||||
}
|
||||
top.ICEcoder.openFileVersions.push(<?php
|
||||
$fileCountInfo = getVersionsCount($fileLoc,$fileName);
|
||||
echo $fileCountInfo['count'];?>);
|
||||
top.ICEcoder.updateVersionsDisplay();
|
||||
|
||||
top.ICEcoder.goToLine(<?php echo $lineNumber; ?>);
|
||||
top.ICEcoder.loadingFile = false;
|
||||
<?php
|
||||
@@ -185,21 +212,23 @@ if (action=="load") {
|
||||
top.document.getElementById('blackMask').style.visibility = "visible";
|
||||
top.document.getElementById('mediaContainer').innerHTML =
|
||||
"<canvas id=\"canvasPicker\" width=\"1\" height=\"1\" style=\"position: absolute; margin: 10px 0 0 10px; cursor: crosshair\" onmouseover=\"top.ICEcoder.overPopup=true\" onmouseout=\"top.ICEcoder.overPopup=false\"></canvas>" +
|
||||
"<img src=\"<?php echo $fileLoc."/".$fileName;?>\" class=\"whiteGlow\" style=\"border: solid 10px #fff; max-width: 700px; max-height: 500px; background-color: #000; background-image: url('images/checkerboard.png')\" onLoad=\"reducedImgMsg = (this.naturalWidth > 700 || this.naturalHeight > 500) ? ', <?php echo $t['displayed at']; ?> ' + this.width + ' x ' + this.height : ''; document.getElementById('imgInfo').innerHTML += ' (' + this.naturalWidth + ' x ' + this.naturalHeight + reducedImgMsg + ')'; top.ICEcoder.initCanvasImage(this); top.ICEcoder.interactCanvasImage(this)\"><br>" +
|
||||
"<img src=\"<?php echo (isset($ftpSite) ? $ftpSite : "").$fileLoc."/".$fileName."?unique=".microtime(true);?>\" class=\"whiteGlow\" style=\"border: solid 10px #fff; max-width: 700px; max-height: 500px; background-color: #000; background-image: url('images/checkerboard.png')\" onLoad=\"reducedImgMsg = (this.naturalWidth > 700 || this.naturalHeight > 500) ? ', <?php echo $t['displayed at']; ?> ' + this.width + ' x ' + this.height : ''; document.getElementById('imgInfo').innerHTML += ' (' + this.naturalWidth + ' x ' + this.naturalHeight + reducedImgMsg + ')'; top.ICEcoder.initCanvasImage(this); top.ICEcoder.interactCanvasImage(this)\"><br>" +
|
||||
"<div class=\"whiteGlow\" style=\"display: inline-block; margin-top: -10px; border: solid 10px #fff; color: #000; background-color: #fff\" id=\"imgInfo\" onmouseover=\"top.ICEcoder.overPopup=true\" onmouseout=\"top.ICEcoder.overPopup=false\">" +
|
||||
"<b><?php echo $fileLoc."/".$fileName;?></b>" +
|
||||
"</div><br>" +
|
||||
"<div id=\"canvasPickerColorInfo\">"+
|
||||
"<input type=\"text\" id=\"hexMouseXY\" style=\"border: 1px solid #888; border-right: 0; width: 70px\" onmouseover=\"top.ICEcoder.overPopup=true\" onmouseout=\"top.ICEcoder.overPopup=false\"></input>" +
|
||||
"<input type=\"text\" id=\"rgbMouseXY\" style=\"border: 1px solid #888; margin-right: 10px; width: 70px\" onmouseover=\"top.ICEcoder.overPopup=true\" onmouseout=\"top.ICEcoder.overPopup=false\"></input>" +
|
||||
"<input type=\"text\" id=\"hex\" style=\"border: 1px solid #888; border-right: 0; width: 70px\" onmouseover=\"top.ICEcoder.overPopup=true\" onmouseout=\"top.ICEcoder.overPopup=false\"></input>" +
|
||||
"<input type=\"text\" id=\"rgb\" style=\"border: 1px solid #888; width: 70px\" onmouseover=\"top.ICEcoder.overPopup=true\" onmouseout=\"top.ICEcoder.overPopup=false\"></input>";
|
||||
top.document.getElementById('floatingContainer').style.background = "#fff url('<?php echo $fileLoc."/".$fileName;?>') no-repeat 0 0";
|
||||
"<input type=\"text\" id=\"rgb\" style=\"border: 1px solid #888; width: 70px\" onmouseover=\"top.ICEcoder.overPopup=true\" onmouseout=\"top.ICEcoder.overPopup=false\"></input>"+
|
||||
"</div>"+
|
||||
"<div id=\"canvasPickerCORSInfo\" style=\"display: none; padding-top: 4px\">CORS not enabled on resource site</div>";
|
||||
top.document.getElementById('floatingContainer').style.background = "#fff url('<?php echo $fileLoc."/".$fileName."?unique=".microtime(true);?>') no-repeat 0 0";
|
||||
}
|
||||
|
||||
top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);
|
||||
}
|
||||
</script>
|
||||
|
||||
// Finally, switch mode in case we have saved, renamed file etc
|
||||
top.ICEcoder.switchMode();
|
||||
</script>
|
||||
</script>
|
||||
|
||||
@@ -20,10 +20,9 @@
|
||||
.fileManager LI.ext-png:before {background-position: -336px 0}
|
||||
.fileManager LI.ext-py:before {background-position: -352px 0}
|
||||
.fileManager LI.ext-rb:before, .fileManager LI.ext-ruby:before {background-position: -368px 0}
|
||||
.fileManager LI.ext-rs:before {background-position: -384px 0}
|
||||
.fileManager LI.ext-scss:before {background-position: -400px 0}
|
||||
.fileManager LI.ext-sql:before {background-position: -416px 0}
|
||||
.fileManager LI.ext-txt:before {background-position: -432px 0}
|
||||
.fileManager LI.ext-xml:before {background-position: -448px 0}
|
||||
.fileManager LI.ext-yaml:before {background-position: -464px 0}
|
||||
.fileManager LI.ext-zip:before {background-position: -480px 0}
|
||||
.fileManager LI.ext-scss:before {background-position: -384px 0}
|
||||
.fileManager LI.ext-sql:before {background-position: -400px 0}
|
||||
.fileManager LI.ext-txt:before {background-position: -416px 0}
|
||||
.fileManager LI.ext-xml:before {background-position: -432px 0}
|
||||
.fileManager LI.ext-yaml:before {background-position: -448px 0}
|
||||
.fileManager LI.ext-zip:before {background-position: -464px 0}
|
||||
@@ -9,7 +9,7 @@
|
||||
.fileManager span {font-family: helvetica, arial, swiss, verdana; padding: 1px 3px; border-radius: 3px}
|
||||
.fileManager a {color: #eee; text-decoration: none; cursor: pointer}
|
||||
.fileManager .pft-directory, .fileManager .pft-file {list-style-image: url(../images/blank.gif)}
|
||||
.fileManager ul, .fileManager li {margin-left: 15px}
|
||||
.fileManager ul, .fileManager li {margin-left: 15px; white-space: nowrap}
|
||||
|
||||
/* Default file */
|
||||
.fileManager LI.pft-directory:before, .fileManager LI.pft-file:before {
|
||||
|
||||
@@ -17,6 +17,10 @@ table, caption, tbody, tfoot, thead, tr, th, td {
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {width: 12px; height: 12px}
|
||||
::-webkit-scrollbar-thumb {background: rgba(0,198,255,0.1)}
|
||||
::-webkit-scrollbar-corner, ::-webkit-scrollbar-resizer {background: transparent}
|
||||
|
||||
body {margin: 0; overflow: auto;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
@@ -34,4 +38,5 @@ body {margin: 0; overflow: auto;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
}
|
||||
li a span:first-of-type {white-space: pre}
|
||||
@@ -1,55 +0,0 @@
|
||||
// Modified version of CodeMirror's codefold.js to show guttermarkers
|
||||
|
||||
CodeMirror.doFold = function(foldType, widget, markOn, markOff, dontCollapse) {
|
||||
|
||||
if (widget == null) widget = "\u2194";
|
||||
if (typeof widget == "string") {
|
||||
var text = document.createTextNode(widget);
|
||||
widget = document.createElement("span");
|
||||
widget.appendChild(text);
|
||||
widget.className = "CodeMirror-foldmarker";
|
||||
}
|
||||
if (markOn == null) markOn = "+";
|
||||
if (typeof markOn == "string") {
|
||||
var text = document.createTextNode(markOn);
|
||||
markOn = document.createElement("span");
|
||||
markOn.appendChild(text);
|
||||
markOn.className = "fold foldOn";
|
||||
}
|
||||
if (markOff == null) markOff = "-";
|
||||
if (typeof markOff == "string") {
|
||||
var text = document.createTextNode(markOff);
|
||||
markOff = document.createElement("span");
|
||||
markOff.appendChild(text);
|
||||
markOff.className = "fold foldOff";
|
||||
}
|
||||
|
||||
return function(cm, pos) {
|
||||
if (typeof pos == "number") pos = CodeMirror.Pos(pos, 0);
|
||||
var range = CodeMirror.fold[foldType](cm, pos);
|
||||
foldable = range && (range.from.line != range.to.line || range.from.ch != range.to.ch) ? true : false;
|
||||
if (!foldable) cm.setGutterMarker(pos.line, "folds", null);
|
||||
if (!range) return;
|
||||
|
||||
var present = cm.findMarksAt(range.from), cleared = 0;
|
||||
for (var i = 0; i < present.length; ++i) {
|
||||
if (present[i].__isFold) {
|
||||
++cleared;
|
||||
present[i].clear();
|
||||
}
|
||||
}
|
||||
|
||||
if (foldable) {
|
||||
cm.setGutterMarker(pos.line, "folds", cleared || dontCollapse ? markOff.cloneNode(true) : markOn.cloneNode(true));
|
||||
}
|
||||
|
||||
if (cleared || dontCollapse) return;
|
||||
var myWidget = widget.cloneNode(true);
|
||||
CodeMirror.on(myWidget, "mousedown", function() {myRange.clear();cm.setGutterMarker(pos.line, "folds", markOff.cloneNode(true));});
|
||||
var myRange = cm.markText(range.from, range.to, {
|
||||
replacedWith: myWidget,
|
||||
clearOnEnter: true,
|
||||
__isFold: true
|
||||
});
|
||||
};
|
||||
};
|
||||
115
lib/ftp-control.php
Normal file
115
lib/ftp-control.php
Normal file
@@ -0,0 +1,115 @@
|
||||
<?php
|
||||
// Start a FTP connection
|
||||
function ftpStart() {
|
||||
global $ftpConn, $ftpLogin, $ftpHost, $ftpUser, $ftpPass, $ftpPasv;
|
||||
|
||||
// Establish connection, login and maybe use pasv
|
||||
$ftpConn = ftp_connect($ftpHost);
|
||||
$ftpLogin = ftp_login($ftpConn, $ftpUser, $ftpPass);
|
||||
if ($ftpPasv) {
|
||||
ftp_pasv($ftpConn, true);
|
||||
}
|
||||
}
|
||||
|
||||
// End a FTP connection
|
||||
function ftpEnd() {
|
||||
global $ftpConn;
|
||||
|
||||
ftp_close($ftpConn);
|
||||
}
|
||||
|
||||
// Get dir/file lists (simple and detailed) from FTP detailed rawlist response
|
||||
function ftpGetList($ftpConn, $directory = '.') {
|
||||
$simpleList = $detailedList = array();
|
||||
// If we have a FTP rawlist to work with
|
||||
if (is_array($rows = @ftp_rawlist($ftpConn, $directory))) {
|
||||
foreach ($rows as $row) {
|
||||
// Split row up by spaces and set keys on $item array
|
||||
$chunks = preg_split("/\s+/", $row);
|
||||
list($item['rights'], $item['number'], $item['user'], $item['group'], $item['size'], $item['month'], $item['day'], $item['time']) = $chunks;
|
||||
// Also set if this is a dir or file
|
||||
$item['type'] = $chunks[0]{0} === 'd' ? 'directory' : 'file';
|
||||
// Splice the array and finally work out $simpleList and $detailedList
|
||||
array_splice($chunks, 0, 8);
|
||||
$detailedList[implode(" ", $chunks)] = $item;
|
||||
$simpleList[] = implode(" ", $chunks);
|
||||
}
|
||||
// Return simple array list and detailed items list also
|
||||
return array('simpleList' => $simpleList, 'detailedList' => $detailedList);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// Get detailed info on a file from returned info from ftpGetList
|
||||
function ftpGetFileInfo($ftpConn, $directory = '.', $fileName) {
|
||||
// Get both sets of arrays back and get our detailed list
|
||||
$ftpListArrays = ftpGetList($ftpConn, $directory);
|
||||
$detailedList = $ftpListArrays['detailedList'];
|
||||
|
||||
// Now get the file info for our file
|
||||
$fileInfo = $detailedList[$fileName];
|
||||
|
||||
// Return the info
|
||||
return $fileInfo;
|
||||
}
|
||||
|
||||
// Get contents over FTP
|
||||
function ftpGetContents($ftpConn, $filepath, $ftpMode) {
|
||||
// Create temp handler, this type needed for extended char set
|
||||
$tempHandle = fopen('php://temp', 'r+');
|
||||
|
||||
// Get file from FTP assuming that it exists
|
||||
ftp_fget($ftpConn, $tempHandle, $filepath, $ftpMode, 0);
|
||||
|
||||
// Return our content
|
||||
return stream_get_contents($tempHandle, -1, 0);
|
||||
}
|
||||
|
||||
// Write file contents over FTP
|
||||
function ftpWriteFile($ftpConn, $filepath, $contents, $ftpMode) {
|
||||
// Create temp handler, this type needed for extended char set
|
||||
$tempHandle = fopen('php://temp', 'r+');
|
||||
|
||||
// Write contents to handle and rewind head
|
||||
fwrite($tempHandle, $contents);
|
||||
rewind($tempHandle);
|
||||
|
||||
// Write our content and return true/false
|
||||
return ftp_fput($ftpConn, $filepath, $tempHandle, $ftpMode, 0);
|
||||
}
|
||||
|
||||
// Make a new dir over FTP
|
||||
function ftpMkDir($ftpConn, $perms, $dir) {
|
||||
// Create the new dir
|
||||
if (!ftp_mkdir($ftpConn, $dir)) {
|
||||
return false;
|
||||
} else {
|
||||
// Also then set perms (we must be able to do that if we created dir, so can always return true)
|
||||
ftpPerms($ftpConn, $perms, $dir);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Rename a dir/dile over FTP
|
||||
function ftpRename($ftpConn, $oldPath, $newPath) {
|
||||
// Return success status of rename
|
||||
return ftp_rename($ftpConn, $oldPath, $newPath);
|
||||
}
|
||||
|
||||
// Change dir/file perms over FTP
|
||||
function ftpPerms($ftpConn, $perms, $filePath) {
|
||||
// Return success status of perms change
|
||||
return ftp_chmod($ftpConn, $perms, $filePath);
|
||||
}
|
||||
|
||||
// Delete dir/file over FTP
|
||||
function ftpDelete($ftpConn, $type, $path) {
|
||||
if ($type == "file") {
|
||||
// Delete our file and return true/false
|
||||
return ftp_delete($ftpConn, $path);
|
||||
} else {
|
||||
// Delete our dir and return true/false
|
||||
return ftp_rmdir($ftpConn, $path);
|
||||
}
|
||||
}
|
||||
?>
|
||||
37
lib/ftp-manager.css
Normal file
37
lib/ftp-manager.css
Normal file
@@ -0,0 +1,37 @@
|
||||
/* First, reset everything to a standard */
|
||||
html, body, div, span, applet, object, iframe,
|
||||
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
||||
a, abbr, acronym, address, big, cite, code,
|
||||
del, dfn, em, font, img, ins, kbd, q, s, samp,
|
||||
small, strike, strong, sub, sup, tt, var,
|
||||
b, u, i, center,
|
||||
dl, dt, dd, ol, ul, li,
|
||||
fieldset, form, label, legend,
|
||||
table, caption, tbody, tfoot, thead, tr, th, td {
|
||||
border: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
outline: 0;
|
||||
font-size: 12px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
body {overflow: hidden;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
h1 {font-size: 36px; font-weight: normal; color: #888; margin-bottom: 20px}
|
||||
a {color: #2187e7; text-decoration: none}
|
||||
input {padding: 4px; border: 1px solid #555; background-color: #444; color: #fff}
|
||||
input:focus {
|
||||
outline: none;
|
||||
-webkit-box-shadow: 0 0 10px 1px rgba(0,198,255,0.7);
|
||||
-moz-box-shadow: 0 0 10px 1px rgba(0,198,255,0.7);
|
||||
box-shadow: 0 0 10px 1px rgba(0,198,255,0.7);
|
||||
}
|
||||
|
||||
.ftpManager {font-family: arial, verdana, helvetica, sans-serif; background-color: #1c1c19; color: #fff; padding: 20px}
|
||||
.ftpManager .info {font-size: 10px; color: rgba(0,198,255,0.7); cursor: help}
|
||||
212
lib/ftp-manager.php
Normal file
212
lib/ftp-manager.php
Normal file
@@ -0,0 +1,212 @@
|
||||
<?php
|
||||
include("headers.php");
|
||||
include("settings.php");
|
||||
$t = $text['ftp-manager'];
|
||||
|
||||
// If we have an action to perform
|
||||
if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset($_GET['action'])) {
|
||||
|
||||
// Get our old FTP sites & user settings
|
||||
$oldFTPSites = $ICEcoder["ftpSites"];
|
||||
$settingsContents = getData($settingsFile);
|
||||
|
||||
// ========
|
||||
// CHOOSING
|
||||
// ========
|
||||
if ($_GET['action']=="choose") {
|
||||
|
||||
// Set the site ref in session, hide the popup and reload the file manager
|
||||
$_SESSION['ftpSiteRef'] = numClean($_GET['ftpSiteRef']);
|
||||
// Hide this popup and reload file manager
|
||||
echo "<script>top.ICEcoder.showHide('hide',top.document.getElementById('blackMask'));top.ICEcoder.refreshFileManager();</script>";
|
||||
} else {
|
||||
// Start creating a new chunk for the FTP sites
|
||||
$settingsNew = '"ftpSites" => array(
|
||||
';
|
||||
}
|
||||
|
||||
// ======
|
||||
// ADDING
|
||||
// ======
|
||||
|
||||
if ($_GET['action']=="add") {
|
||||
|
||||
// Add the new FTP site
|
||||
if ($_POST['ftpSiteNEW'] != "") {
|
||||
$settingsNew .= ' array(
|
||||
"site" => "'.injClean($_POST['ftpSiteNEW']).'",
|
||||
"host" => "'.injClean($_POST['ftpHostNEW']).'",
|
||||
"user" => "'.injClean($_POST['ftpUserNEW']).'",
|
||||
"pass" => "'.injClean($_POST['ftpPassNEW']).'",
|
||||
"pasv" => '.injClean($_POST['ftpPASVNEW']).',
|
||||
"mode" => "'.injClean($_POST['ftpModeNEW']).'",
|
||||
"root" => "'.injClean($_POST['ftpRootNEW']).'"
|
||||
),
|
||||
';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// ===============================================
|
||||
// UPDATING & REMOVING PLUS UPDATE CONFIG SETTINGS
|
||||
// ===============================================
|
||||
|
||||
if ($_GET['action']!="choose" && $_GET['action']!="edit") {
|
||||
|
||||
// Look at each of the existing FTP sites
|
||||
for ($i=0; $i<count($oldFTPSites); $i++) {
|
||||
|
||||
// Updating
|
||||
if ($_GET['action']=="update" && $i == $_GET['ftpSiteRef']) {
|
||||
$settingsNew .= ' array(
|
||||
"site" => "'.injClean($_POST['ftpSiteNEW']).'",
|
||||
"host" => "'.injClean($_POST['ftpHostNEW']).'",
|
||||
"user" => "'.injClean($_POST['ftpUserNEW']).'",
|
||||
"pass" => "'.injClean($_POST['ftpPassNEW']).'",
|
||||
"pasv" => '.injClean($_POST['ftpPASVNEW']).',
|
||||
"mode" => "'.injClean($_POST['ftpModeNEW']).'",
|
||||
"root" => "'.injClean($_POST['ftpRootNEW']).'"
|
||||
),
|
||||
';
|
||||
// Deleting
|
||||
} elseif ($_GET['action']=="remove" && $i == $_GET['ftpSiteRef']) {
|
||||
// Do nothing, so we ignore this entry now
|
||||
|
||||
// Entry is as before
|
||||
} else {
|
||||
$settingsNew .= ' array(
|
||||
"site" => "'.$oldFTPSites[$i]['site'].'",
|
||||
"host" => "'.$oldFTPSites[$i]['host'].'",
|
||||
"user" => "'.$oldFTPSites[$i]['user'].'",
|
||||
"pass" => "'.$oldFTPSites[$i]['pass'].'",
|
||||
"pasv" => '.($oldFTPSites[$i]['pasv'] ? 'true' : 'false').',
|
||||
"mode" => "'.($oldFTPSites[$i]['mode'] == 'FTP_ASCII' ? 'FTP_ASCII' : 'FTP_BINARY').'",
|
||||
"root" => "'.$oldFTPSites[$i]['root'].'"
|
||||
),
|
||||
';
|
||||
}
|
||||
}
|
||||
// Rtrim off the last comma
|
||||
$settingsNew = rtrim($settingsNew,',
|
||||
');
|
||||
$settingsNew .= '
|
||||
),'.PHP_EOL;
|
||||
|
||||
// Now we have a new settingsNew string to use
|
||||
// we can update the FTP sites in the settings file
|
||||
|
||||
// Identify the bit to replace
|
||||
$repPosStart = strpos($settingsContents,'"ftpSites"');
|
||||
$repPosEnd = strpos($settingsContents,'"githubLocalPaths"');
|
||||
|
||||
// Compile our new settings
|
||||
$settingsContents = substr($settingsContents,0,$repPosStart).$settingsNew.substr($settingsContents,$repPosEnd,strlen($settingsContents));
|
||||
|
||||
// Now update the config file
|
||||
if (is_writeable($settingsFile)) {
|
||||
$fh = fopen($settingsFile, 'w');
|
||||
fwrite($fh, $settingsContents);
|
||||
fclose($fh);
|
||||
// Finally, reload the iFrame screen for the user
|
||||
header("Location: ftp-manager.php?updatedFTPSites&csrf=".$_SESSION["csrf"]);
|
||||
echo "<script>window.location='ftp-manager.php?updatedFTPSites&csrf='+top.ICEcoder.csrf;</script>";
|
||||
die($t['Saving FTP sites']);
|
||||
} else {
|
||||
echo "<script>top.ICEcoder.message('".$t['Cannot update config...']." lib/".$settingsFile." ".$t['and try again']."');</script>";
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>ICEcoder <?php echo $ICEcoder["versionNo"];?> FTP manager</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link rel="stylesheet" type="text/css" href="ftp-manager.css?microtime=<?php echo microtime(true);?>">
|
||||
</head>
|
||||
|
||||
<body class="ftpManager">
|
||||
|
||||
<h1><?php echo $t['ftp manager'];?></h1>
|
||||
|
||||
<div style="display: inline-block; width: 620px; height: 440px; overflow-y: auto">
|
||||
<?php
|
||||
$ftpSites = $ICEcoder['ftpSites'];
|
||||
if (count($ftpSites) > 0) {
|
||||
?>
|
||||
<div style="display: inline-block; width: 600px; margin-bottom: 30px">
|
||||
<h2><?php echo $t['Choose existing site'];?></h2><br>
|
||||
|
||||
<form id="ftpUpdateForm" action="ftp-manager.php?action=update" method="POST">
|
||||
<table style="width: 100%">
|
||||
<?php
|
||||
for ($i=0; $i<count($ftpSites); $i++) {
|
||||
echo '<tr>';
|
||||
echo '<td style="padding: 10px 10px 8px 0">'.$ftpSites[$i]['site'].'</td>';
|
||||
echo '<td style="padding: 10px 10px 8px 0">'.$ftpSites[$i]['host'].'</td>';
|
||||
echo '<td style="padding: 10px 10px 8px 0"><a href="ftp-manager.php?action=edit&ftpSiteRef='.$i.'&csrf='.$_SESSION["csrf"].'" class="blue">Edit</a></td>';
|
||||
echo '<td style="padding: 10px 10px 8px 0"><a href="ftp-manager.php?action=remove&ftpSiteRef='.$i.'&csrf='.$_SESSION["csrf"].'" class="blue" onclick="return top.ICEcoder.ask(\''.$t['Are you sure...'].'\')">Delete</a></td>';
|
||||
echo '<td style="padding: 2px 20px 8px 0; text-align: right"><div style="display: inline-block; padding: 5px; margin-top: 4px; background: #2187e7; color: #fff; font-size: 12px; cursor: pointer" onclick="window.location=\'ftp-manager.php?action=choose&ftpSiteRef='.$i.'&csrf='.$_SESSION["csrf"].'\'">'.$t['Choose'].'</div></td>';
|
||||
echo '</tr>';
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
<input type="hidden" name="csrf" value="<?php echo $_SESSION["csrf"]; ?>">
|
||||
</form>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
<div style="display: inline-block; width: 600px">
|
||||
<h2><?php echo isset($_GET['action']) && $_GET['action']=="edit" ? $t['Edit site'] : $t['Add new site'];?></h2><br>
|
||||
|
||||
<form id="ftpAddEditForm" action="ftp-manager.php?action=<?php echo isset($_GET['action']) && $_GET['action']=="edit" ? "update&ftpSiteRef=".numClean($_GET['ftpSiteRef']) : "add";?>" method="POST">
|
||||
<table>
|
||||
<tr>
|
||||
<td style="padding-left: 5px"><?php echo $t['Site base'];?> <span class="info" title="<?php echo $t['eg http://yourdomain.com'];?>">[?]</span></td>
|
||||
<td style="padding-left: 5px"><?php echo $t['Host'];?> <span class="info" title="<?php echo $t['eg ftp.yourdomain.com'];?>">[?]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 0 10px 8px 0"><input type="text" name="ftpSiteNEW" value="<?php if (isset($_GET['action']) && $_GET['action']=="edit") {echo $ICEcoder['ftpSites'][numClean($_GET['ftpSiteRef'])]['site'];};?>" style="width: 272px"></td>
|
||||
<td style="padding: 0 0 8px 0"><input type="text" name="ftpHostNEW" value="<?php if (isset($_GET['action']) && $_GET['action']=="edit") {echo $ICEcoder['ftpSites'][numClean($_GET['ftpSiteRef'])]['host'];};?>" style="width: 272px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding-left: 5px"><?php echo $t['Username'];?> <span class="info" title="<?php echo $t['eg user123'];?>">[?]</span></td>
|
||||
<td style="padding-left: 5px"><?php echo $t['Password'];?> <span class="info" title="<?php echo $t['eg pass123'];?>">[?]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 0 10px 8px 0"><input type="text" name="ftpUserNEW" value="<?php if (isset($_GET['action']) && $_GET['action']=="edit") {echo $ICEcoder['ftpSites'][numClean($_GET['ftpSiteRef'])]['user'];};?>" style="width: 272px"></td>
|
||||
<td style="padding: 0 0 8px 0"><input type="password" name="ftpPassNEW" value="<?php if (isset($_GET['action']) && $_GET['action']=="edit") {echo $ICEcoder['ftpSites'][numClean($_GET['ftpSiteRef'])]['pass'];};?>" style="width: 272px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding-left: 5px"><?php echo $t['PASV and mode'];?> <span class="info" title="<?php echo $t['Use PASV mode...'];?>">[?]</span></td>
|
||||
<td style="padding-left: 5px"><?php echo $t['Root'];?> <span class="info" title="<?php echo $t['eg /htdocs'];?>">[?]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 0 10px 8px 0">
|
||||
<select name="ftpPASVNEW">
|
||||
<option value="false"<?php echo isset($_GET['action']) && $_GET['action']=="edit" && $ICEcoder['ftpSites'][$_GET['ftpSiteRef']]['pasv'] == false ? " selected" : "";?>><?php echo $t['PASV connection off'];?></option>
|
||||
<option value="true"<?php echo isset($_GET['action']) && $_GET['action']=="edit" && $ICEcoder['ftpSites'][$_GET['ftpSiteRef']]['pasv'] == true ? " selected" : "";?>><?php echo $t['PASV connection on'];?></option>
|
||||
</select>
|
||||
<select name="ftpModeNEW">
|
||||
<option value="FTP_ASCII"<?php echo isset($_GET['action']) && $_GET['action']=="edit" && $ICEcoder['ftpSites'][$_GET['ftpSiteRef']]['mode'] == "FTP_ASCII" ? " selected" : "";?>><?php echo $t['ASCII transfer'];?></option>
|
||||
<option value="FTP_BINARY"<?php echo isset($_GET['action']) && $_GET['action']=="edit" && $ICEcoder['ftpSites'][$_GET['ftpSiteRef']]['mode'] == "FTP_BINARY" ? " selected" : "";?>><?php echo $t['Binary transfer'];?></option>
|
||||
</select>
|
||||
</td>
|
||||
<td style="padding: 0 0 8px 0"><input type="text" name="ftpRootNEW" value="<?php if (isset($_GET['action']) && $_GET['action']=="edit") {echo $ICEcoder['ftpSites'][numClean($_GET['ftpSiteRef'])]['root'];};?>" style="width: 272px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" style="padding: 3px 0 8px 0; text-align: right"><div style="display: inline-block; padding: 5px; background: #2187e7; color: #fff; font-size: 12px; cursor: pointer" onclick="document.getElementById('ftpAddEditForm').submit()"><?php echo isset($_GET['action']) && $_GET['action']=="edit" ? $t['Update'] : $t['Add'];?></div></td>
|
||||
</tr>
|
||||
</table>
|
||||
<input type="hidden" name="csrf" value="<?php echo $_SESSION["csrf"]; ?>">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -2,6 +2,7 @@
|
||||
if (!isset($ICEcoder['root'])) {
|
||||
include("headers.php");
|
||||
include("settings.php");
|
||||
include("ftp-control.php");
|
||||
}
|
||||
|
||||
if (!$_SESSION['loggedIn']) {
|
||||
@@ -26,7 +27,7 @@ $t = $text['get-branch'];
|
||||
<body>
|
||||
<?php
|
||||
// Need to get dir contents recursively? (Used by GitHub diff mode)
|
||||
if ($_SESSION['githubDiff']) {
|
||||
if (!isset($ftpSite) && $_SESSION['githubDiff']) {
|
||||
// Function to sort given values alphabetically
|
||||
function alphasort($a, $b) {
|
||||
return strcmp($a->getPathname(), $b->getPathname());
|
||||
@@ -70,8 +71,8 @@ if ($_SESSION['githubDiff']) {
|
||||
if (is_dir($scanpath) && strpos($scanpath,".git") == false) {
|
||||
$thisDir = str_replace("\\","/",$scanpath);
|
||||
if(hasGitignore($thisDir)) {
|
||||
$gi[] = $thisDir."/.gitignore";
|
||||
}
|
||||
$gi[] = $thisDir."/.gitignore";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,23 +117,52 @@ if ($_SESSION['githubDiff']) {
|
||||
$scanDir = $docRoot.$iceRoot;
|
||||
$location = "";
|
||||
echo '<div id="branch" style="display: none">';
|
||||
$location = str_replace("|","/",$_GET['location']);
|
||||
$location = str_replace("|","/",xssClean($_GET['location'],"html"));
|
||||
if ($location=="/") {$location = "";};
|
||||
|
||||
$dirArray = $filesArray = $finalArray = array();
|
||||
$finalArray = scanDir($scanDir.$location);
|
||||
|
||||
// Get dir/file list over FTP
|
||||
if (isset($ftpSite)) {
|
||||
ftpStart();
|
||||
// Show user warning if no good connection
|
||||
if (!$ftpConn || !$ftpLogin) {
|
||||
die('<script>top.ICEcoder.message("Sorry, no FTP connection to '.$ftpHost.' for user '.$ftpUser.'");</script>');
|
||||
exit;
|
||||
}
|
||||
// Get our simple and detailed lists and close the FTP connection
|
||||
$ftpList = ftpGetList($ftpConn, $ftpRoot.$location);
|
||||
$finalArray = $ftpList['simpleList'];
|
||||
$ftpItems = $ftpList['detailedList'];
|
||||
ftpEnd();
|
||||
// or get local list
|
||||
} else {
|
||||
$finalArray = scanDir($scanDir.$location);
|
||||
}
|
||||
|
||||
foreach($finalArray as $entry) {
|
||||
$canAdd = true;
|
||||
for ($i=0;$i<count($_SESSION['bannedFiles']);$i++) {
|
||||
if($_SESSION['bannedFiles'][$i] != "" && strpos($entry,$_SESSION['bannedFiles'][$i])!==false) {$canAdd = false;}
|
||||
if(str_replace("*","",$_SESSION['bannedFiles'][$i]) != "" && strpos($entry,str_replace("*","",$_SESSION['bannedFiles'][$i]))!==false) {$canAdd = false;}
|
||||
}
|
||||
if ($docRoot.$iceRoot.$location."/".$entry == $docRoot.$ICEcoderDir) {
|
||||
// Only applicable for local dir, ignoring ICEcoder's dir
|
||||
if (!isset($ftpSite) && $docRoot.$iceRoot.$location."/".$entry == $docRoot.$ICEcoderDir) {
|
||||
$canAdd = false;
|
||||
}
|
||||
// Ignore .git dir in GitHub diff mode
|
||||
if (!isset($ftpSite) && $_SESSION['githubDiff'] && strpos($docRoot.$iceRoot.$location."/".$entry,"/.git") !== false) {
|
||||
$canAdd = false;
|
||||
}
|
||||
if ($entry != "." && $entry != ".." && $canAdd) {
|
||||
is_dir($docRoot.$iceRoot.$location."/".$entry)
|
||||
? array_push($dirArray,$location."/".$entry)
|
||||
: array_push($filesArray,$location."/".$entry);
|
||||
if (!isset($ftpSite)) {
|
||||
is_dir($docRoot.$iceRoot.$location."/".$entry)
|
||||
? array_push($dirArray,$location."/".$entry)
|
||||
: array_push($filesArray,$location."/".$entry);
|
||||
} else {
|
||||
$ftpItems[$entry]['type'] == "directory"
|
||||
? array_push($dirArray,$location."/".$entry)
|
||||
: array_push($filesArray,$location."/".$entry);
|
||||
}
|
||||
}
|
||||
}
|
||||
natcasesort($dirArray);
|
||||
@@ -141,7 +171,11 @@ natcasesort($filesArray);
|
||||
$finalArray = array_merge($dirArray,$filesArray);
|
||||
for ($i=0;$i<count($finalArray);$i++) {
|
||||
$fileFolderName = str_replace("\\","/",$finalArray[$i]);
|
||||
$type = is_dir($docRoot.$iceRoot.$fileFolderName) ? "folder" : "file";
|
||||
if (!isset($ftpSite)) {
|
||||
$type = is_dir($docRoot.$iceRoot.$fileFolderName) ? "folder" : "file";
|
||||
} else {
|
||||
$type = $ftpItems[basename($fileFolderName)]['type'] == "directory" ? "folder" : "file";
|
||||
}
|
||||
if ($type=="file") {
|
||||
// Get extension (prefix 'ext-' to prevent invalid classes from extensions that begin with numbers)
|
||||
$ext = "ext-".pathinfo($docRoot.$iceRoot.$fileFolderName, PATHINFO_EXTENSION);
|
||||
@@ -152,7 +186,7 @@ for ($i=0;$i<count($finalArray);$i++) {
|
||||
}
|
||||
$type == "folder" ? $class = 'pft-directory' : $class = 'pft-file '.strtolower($ext);
|
||||
$loadParam = $type == "folder" ? "true" : "false";
|
||||
echo "<li class=\"".$class."\" draggable=\"false\" ondrag=\"top.ICEcoder.draggingWithKeyTest(event);if(top.ICEcoder.getcMInstance()){top.ICEcoder.editorFocusInstance.indexOf('diff') == -1 ? top.ICEcoder.getcMInstance().focus() : top.ICEcoder.getcMdiffInstance().focus()}\" ondragend=\"top.ICEcoder.dropFile(this)\"><a nohref title=\"$fileFolderName\" onMouseOver=\"parentNode.draggable=true;top.ICEcoder.overFileFolder('$type',this.childNodes[1].id)\" onMouseOut=\"parentNode.draggable=false;top.ICEcoder.overFileFolder('$type','')\" ".
|
||||
echo "<li class=\"".$class."\" draggable=\"false\" ondragstart=\"top.ICEcoder.addDefaultDragData(this,event)\" ondrag=\"top.ICEcoder.draggingWithKeyTest(event);if(top.ICEcoder.getcMInstance()){top.ICEcoder.editorFocusInstance.indexOf('diff') == -1 ? top.ICEcoder.getcMInstance().focus() : top.ICEcoder.getcMdiffInstance().focus()}\" ondragover=\"top.ICEcoder.setDragCursor(event,".($type == "folder" ? "'folder'" : "'file'").")\" ondragend=\"top.ICEcoder.dropFile(this)\"><a nohref title=\"$fileFolderName\" onMouseOver=\"parentNode.draggable=true;top.ICEcoder.overFileFolder('$type',this.childNodes[1].id)\" onMouseOut=\"parentNode.draggable=false;top.ICEcoder.overFileFolder('$type','')\" ".
|
||||
|
||||
(($type == "folder")?"ondragover=\"if(parentNode.nextSibling && parentNode.nextSibling.tagName != 'UL' && top.ICEcoder.thisFileFolderLink != this.childNodes[1].id) {top.ICEcoder.openCloseDir(this,true);}\"":"").
|
||||
|
||||
@@ -161,7 +195,25 @@ for ($i=0;$i<count($finalArray);$i++) {
|
||||
(($type == "folder")?" top.ICEcoder.openCloseDir(this,$loadParam);":"").
|
||||
|
||||
" if (/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)) {top.ICEcoder.openFile()}}\" style=\"position: relative; left:-22px\"> <span id=\"".str_replace($docRoot,"",str_replace("/","|",$fileFolderName))."\">".xssClean(basename($fileFolderName),"html")."</span> ";
|
||||
$thisPermVal = $serverType=="Linux" ? substr(sprintf('%o', fileperms($docRoot.$iceRoot.$fileFolderName)), -3) : '';
|
||||
if (!isset($ftpSite)) {
|
||||
$thisPermVal = $serverType=="Linux" ? substr(sprintf('%o', fileperms($docRoot.$iceRoot.$fileFolderName)), -3) : '';
|
||||
} else {
|
||||
// Work out perms value
|
||||
$thisPermVal = 0;
|
||||
$r = $ftpItems[basename($fileFolderName)]['rights'];
|
||||
// Owner
|
||||
$thisPermVal += substr($r,1,1) == "r" ? 400 : 0;
|
||||
$thisPermVal += substr($r,2,1) == "w" ? 200 : 0;
|
||||
$thisPermVal += substr($r,3,1) == "x" ? 100 : 0;
|
||||
// Group
|
||||
$thisPermVal += substr($r,4,1) == "r" ? 40 : 0;
|
||||
$thisPermVal += substr($r,5,1) == "w" ? 20 : 0;
|
||||
$thisPermVal += substr($r,6,1) == "x" ? 10 : 0;
|
||||
// Public
|
||||
$thisPermVal += substr($r,7,1) == "r" ? 4 : 0;
|
||||
$thisPermVal += substr($r,8,1) == "w" ? 2 : 0;
|
||||
$thisPermVal += substr($r,9,1) == "x" ? 1 : 0;
|
||||
}
|
||||
$permColors = $thisPermVal == 777 ? 'background: #800; color: #eee' : 'color: #888';
|
||||
echo '<span style="'.$permColors.'; font-size: 8px" id="'.str_replace($docRoot,"",str_replace("/","|",$fileFolderName)).'_perms">';
|
||||
echo $thisPermVal;
|
||||
@@ -170,7 +222,7 @@ for ($i=0;$i<count($finalArray);$i++) {
|
||||
|
||||
echo ' </div>';
|
||||
|
||||
if ($_SESSION['githubDiff']) {
|
||||
if (!isset($ftpSite) && $_SESSION['githubDiff']) {
|
||||
// Show the loading screen until we're done comparing files with GitHub
|
||||
echo "<script>setTimeout(function(){top.ICEcoder.showHide('show',top.get('loadingMask'));},4)</script>";
|
||||
$i=0;
|
||||
@@ -182,7 +234,7 @@ if ($_SESSION['githubDiff']) {
|
||||
// If we're not looking at a .git dir, it's not a .gitignore excluded path and not a dir
|
||||
if (strpos($fileFolderName,".git/") == false && !in_array($docRoot.$iceRoot.$fileFolderName, $excluded) && !is_dir($docRoot.$iceRoot.$fileFolderName)) {
|
||||
// Get contents of file
|
||||
$contents = file_get_contents($docRoot.$iceRoot.$fileFolderName);
|
||||
$contents = getData($docRoot.$iceRoot.$fileFolderName);
|
||||
|
||||
$finfo = "text";
|
||||
// Determine if we should remove \r line endings based on mime type (text files yes, others no)
|
||||
@@ -325,7 +377,7 @@ if ($_SESSION['githubDiff']) {
|
||||
}
|
||||
?>
|
||||
<script>
|
||||
targetElem = top.ICEcoder.filesFrame.contentWindow.document.getElementById('<?php echo $_GET['location'];?>');
|
||||
targetElem = top.ICEcoder.filesFrame.contentWindow.document.getElementById('<?php echo xssClean($_GET['location'],"html");?>');
|
||||
newUL = document.createElement("ul");
|
||||
newUL.style = "display: block";
|
||||
locNest = targetElem.parentNode.parentNode;
|
||||
@@ -340,7 +392,7 @@ if ($_SESSION['githubDiff']) {
|
||||
// Now display folders & files
|
||||
|
||||
// Animate into view?
|
||||
if (folderItems.length <= 50) {
|
||||
if (<?php echo !$_SESSION['githubDiff'] ? "true" : "false";?> && folderItems.length <= 50) {
|
||||
showFileI=0;
|
||||
animFolders = setInterval(function() {
|
||||
showFileI++;
|
||||
@@ -409,7 +461,7 @@ if ($_SESSION['githubDiff']) {
|
||||
|
||||
// If we're not in githubDiff mode, show files here
|
||||
if (folderContent.indexOf('<ul')>-1 || folderContent.indexOf('<li')>-1) {
|
||||
<?php if (!$_SESSION['githubDiff']) {echo 'showFiles();';};?>
|
||||
<?php if (isset($ftpSite) || !$_SESSION['githubDiff']) {echo 'showFiles();';};?>
|
||||
} else {
|
||||
<?php
|
||||
$iceGithubLocalPaths = $ICEcoder["githubLocalPaths"];
|
||||
|
||||
@@ -9,7 +9,7 @@ if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset
|
||||
// Get our old paths & user settings
|
||||
$oldLocal = $ICEcoder["githubLocalPaths"];
|
||||
$oldRemote = $ICEcoder["githubRemotePaths"];
|
||||
$settingsContents = file_get_contents($settingsFile,false,$context);
|
||||
$settingsContents = getData($settingsFile);
|
||||
|
||||
// ========
|
||||
// CHOOSING
|
||||
@@ -52,6 +52,10 @@ if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset
|
||||
$fh = fopen($settingsFile, 'w');
|
||||
fwrite($fh, $settingsContents);
|
||||
fclose($fh);
|
||||
|
||||
// Clear any FTP session we may have
|
||||
$_SESSION['ftpSiteRef'] = false;
|
||||
|
||||
// Hide this popup and reload file manager
|
||||
echo "<script>top.ICEcoder.showHide('hide',top.document.getElementById('blackMask'));top.ICEcoder.refreshFileManager();</script>";
|
||||
} else {
|
||||
@@ -73,7 +77,7 @@ if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset
|
||||
|
||||
// Add the new one
|
||||
if ($_POST['githubLocalPathNEW'] != "" && $_POST['githubRemotePathNEW'] != "") {
|
||||
$settingsNew .= '"'.xssClean($_POST['githubLocalPathNEW'],"html").'",';
|
||||
$settingsNew .= '"'.injClean(xssClean($_POST['githubLocalPathNEW'],"html")).'",';
|
||||
}
|
||||
|
||||
// Then set all the old local paths
|
||||
@@ -89,7 +93,7 @@ if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset
|
||||
|
||||
// Add the new one
|
||||
if ($_POST['githubLocalPathNEW'] != "" && $_POST['githubRemotePathNEW'] != "") {
|
||||
$settingsNew .= '"'.xssClean($_POST['githubRemotePathNEW'],"html").'",';
|
||||
$settingsNew .= '"'.injClean(xssClean($_POST['githubRemotePathNEW'],"html")).'",';
|
||||
}
|
||||
|
||||
// Then set all the old remote paths
|
||||
@@ -114,7 +118,7 @@ if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset
|
||||
// Redo the arrays using the form data
|
||||
for ($i=0; $i<count($oldLocal); $i++) {
|
||||
if ($_POST['githubLocalPath'.$i] != "") {
|
||||
$settingsNew .= '"'.xssClean($_POST['githubLocalPath'.$i],"html").'",';
|
||||
$settingsNew .= '"'.injClean(xssClean($_POST['githubLocalPath'.$i],"html")).'",';
|
||||
}
|
||||
}
|
||||
// Rtrim off the last comma
|
||||
@@ -127,7 +131,7 @@ if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset
|
||||
// Redo the arrays using the form data
|
||||
for ($i=0; $i<count($oldRemote); $i++) {
|
||||
if ($_POST['githubRemotePath'.$i] != "") {
|
||||
$settingsNew .= '"'.xssClean($_POST['githubRemotePath'.$i],"html").'",';
|
||||
$settingsNew .= '"'.injClean(xssClean($_POST['githubRemotePath'.$i],"html")).'",';
|
||||
}
|
||||
}
|
||||
// Rtrim off the last comma
|
||||
|
||||
@@ -159,7 +159,7 @@
|
||||
if (typeof(content) === "string") {
|
||||
content = {
|
||||
"content": content,
|
||||
"encoding": "utf-8"
|
||||
"encoding": "base64"
|
||||
};
|
||||
}
|
||||
|
||||
@@ -209,7 +209,9 @@
|
||||
var data = {
|
||||
"message": message,
|
||||
"author": {
|
||||
"name": options.username
|
||||
// "name": options.username,
|
||||
"name": "ICEcoder",
|
||||
"email": "info@icecoder.net"
|
||||
},
|
||||
"parents": [
|
||||
parent
|
||||
|
||||
@@ -53,8 +53,8 @@ if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset
|
||||
<script>
|
||||
// Start our github object, establish this repo & file path
|
||||
var github = new Github({token: "'.$_SESSION['githubAuthToken'].'", auth: "oauth"});
|
||||
var thisRepo = "'.$_GET['repo'].'";
|
||||
var thisFilePath = "'.$_GET['filePath'].'";
|
||||
var thisRepo = "'.xssClean($_GET['repo'],"html").'";
|
||||
var thisFilePath = "'.xssClean($_GET['filePath'],"html").'";
|
||||
|
||||
// Start our repo and read the data in, then update diff pane with that
|
||||
var repo = github.getRepo(thisRepo.split("|")[0], thisRepo.split("|")[1]);
|
||||
@@ -88,55 +88,51 @@ if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset
|
||||
$zipURL = $iceGithubRemotePaths[$pathPos].'/zipball/master';
|
||||
$zipFile = "../tmp/".basename($zipURL);
|
||||
|
||||
if (ini_get('allow_url_fopen')) {
|
||||
$fileData = file_get_contents($zipURL, false, $context);
|
||||
} elseif (function_exists('curl_init')) {
|
||||
$client = curl_init($zipURL);
|
||||
curl_setopt($client, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($client, CURLOPT_RETURNTRANSFER, 1); //fixed this line
|
||||
$fileData = curl_exec($client);
|
||||
}
|
||||
file_put_contents($zipFile, $fileData);
|
||||
$fileData = getData($zipURL,'curl');
|
||||
if (count($fileData) > 0) {
|
||||
file_put_contents($zipFile, $fileData);
|
||||
|
||||
// Now unpack the zip
|
||||
$zip = new ZipArchive;
|
||||
$zip->open($zipFile);
|
||||
// Now unpack the zip
|
||||
$zip = new ZipArchive;
|
||||
$zip->open($zipFile);
|
||||
|
||||
// Create all files & dirs, in 1kb chunks
|
||||
for($i=0; $i<$zip->numFiles; $i++) {
|
||||
// Create all files & dirs, in 1kb chunks
|
||||
for($i=0; $i<$zip->numFiles; $i++) {
|
||||
|
||||
$name = $zip->getNameIndex($i);
|
||||
if ($i==0) {
|
||||
$dirName = $name;
|
||||
} else {
|
||||
$tgtName = str_replace($dirName,"",$name);
|
||||
// Determine output filename
|
||||
$file = $target.$tgtName;
|
||||
$name = $zip->getNameIndex($i);
|
||||
if ($i==0) {
|
||||
$dirName = $name;
|
||||
} else {
|
||||
$tgtName = str_replace($dirName,"",$name);
|
||||
// Determine output filename
|
||||
$file = $target.$tgtName;
|
||||
|
||||
// Create the directories if necessary
|
||||
$dir = dirname($file);
|
||||
if (!is_dir($dir)) mkdir($dir, 0777, true);
|
||||
// Create the directories if necessary
|
||||
$dir = dirname($file);
|
||||
if (!is_dir($dir)) mkdir($dir, 0777, true);
|
||||
|
||||
// Read from zip and write to disk
|
||||
$fpr = $zip->getStream($name);
|
||||
if (!is_dir($file)) {
|
||||
$fpw = fopen($file, 'w');
|
||||
while ($data = fread($fpr, 1024)) {
|
||||
fwrite($fpw, $data);
|
||||
// Read from zip and write to disk
|
||||
$fpr = $zip->getStream($name);
|
||||
if (!is_dir($file)) {
|
||||
$fpw = fopen($file, 'w');
|
||||
while ($data = fread($fpr, 1024)) {
|
||||
fwrite($fpw, $data);
|
||||
}
|
||||
fclose($fpw);
|
||||
}
|
||||
fclose($fpw);
|
||||
fclose($fpr);
|
||||
}
|
||||
fclose($fpr);
|
||||
}
|
||||
$zip->close();
|
||||
|
||||
// Remove the tmp zip file
|
||||
unlink($zipFile);
|
||||
|
||||
// Refresh the file manager
|
||||
echo "<script>top.ICEcoder.refreshFileManager();</script>";
|
||||
} else {
|
||||
echo "<script>top.ICEcoder.message('Sorry, unable to get plugin data. Please make sure you have either curl or fopen available on your server.');</script>";
|
||||
}
|
||||
$zip->close();
|
||||
|
||||
// Remove the tmp zip file
|
||||
unlink($zipFile);
|
||||
|
||||
// Refresh the file manager
|
||||
echo "<script>top.ICEcoder.refreshFileManager();</script>";
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -189,10 +185,10 @@ if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset
|
||||
|
||||
// Only get the file if it exists and begins with our $docRoot
|
||||
if (file_exists($file) && strpos($file,$docRoot) === 0) {
|
||||
$loadedFile = toUTF8noBOM(file_get_contents($file,false,$context),true);
|
||||
echo '<textarea name="loadedFile'.$i.'" id="loadedFile'.$i.'" style="display: none">'.str_replace("</textarea>","<ICEcoder:/:textarea>",str_replace("&","&",$loadedFile)).'</textarea><br><br>'.PHP_EOL.PHP_EOL;
|
||||
$loadedFile = getData($file);
|
||||
echo '<textarea name="loadedFile'.$i.'" id="loadedFile'.$i.'" style="display: none">'.base64_encode($loadedFile).'</textarea><br><br>'.PHP_EOL.PHP_EOL;
|
||||
} else {
|
||||
die("<script>alert('Sorry, that file doesn\'t appear to exist');</script>");
|
||||
die("<script>top.ICEcoder.message('Sorry, that file doesn\'t appear to exist');</script>");
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
37
lib/go-localhost-root.php
Normal file
37
lib/go-localhost-root.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
include_once("settings.php");
|
||||
$text = $_SESSION['text'];
|
||||
$t = $text['settings-update'];
|
||||
|
||||
// Update our 'root' value to be blank
|
||||
// which resets the file manager to localhost root again
|
||||
if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn']) {
|
||||
$settingsContents = getData($settingsFile);
|
||||
// Replace our root var
|
||||
$repPosStart = strpos($settingsContents,'"root"');
|
||||
$repPosEnd = strpos($settingsContents,'"checkUpdates"');
|
||||
|
||||
// Compile our new settings
|
||||
$settingsContents =
|
||||
substr($settingsContents,0,$repPosStart).
|
||||
'"root" => "",'.PHP_EOL.
|
||||
substr($settingsContents,($repPosEnd),strlen($settingsContents));
|
||||
|
||||
// Now update the config file
|
||||
if (is_writeable($settingsFile)) {
|
||||
$fh = fopen($settingsFile, 'w');
|
||||
fwrite($fh, $settingsContents);
|
||||
fclose($fh);
|
||||
|
||||
// Clear any FTP session we may have
|
||||
$_SESSION['ftpSiteRef'] = false;
|
||||
|
||||
// Now we've reset the root path to localhost root, refresh the file manager to show it
|
||||
echo "<script>top.ICEcoder.refreshFileManager();</script>";
|
||||
} else {
|
||||
echo "<script>top.ICEcoder.message('".$t['Cannot update config']." lib/".$settingsFile." ".$t['and try again']."');</script>";
|
||||
}
|
||||
?>
|
||||
<?php
|
||||
;};
|
||||
?>
|
||||
@@ -22,7 +22,7 @@ body {overflow: hidden;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
background-color: #222;
|
||||
background-color: #1d1d1b;
|
||||
}
|
||||
|
||||
h1 {font-size: 36px; font-weight: normal; color: #888; margin-bottom: 20px}
|
||||
@@ -81,7 +81,7 @@ h2 {font-size: 18px; font-weight: normal; color: #fff}
|
||||
.files .options .optionsList a:hover {color: #fff; cursor: pointer}
|
||||
.files input:focus, .findReplace input:focus, .findReplace select:focus, .password:focus {outline: 0; box-shadow: 0 0 10px 1px rgba(0,198,255,0.7)}
|
||||
.files .button {position: absolute; border: 0; background: #444; color: #eee; height:20px; margin-top: 16px; margin-left: 5px; font-size: 11px; cursor: pointer}
|
||||
.files .button:hover {background-color: #222; color: #eee}
|
||||
.files .button:hover {background-color: #1d1d1b; color: #eee}
|
||||
.files .frame {display: inline-block; width: 250px; margin-top: 24px}
|
||||
.files .serverMessage {position: absolute; display: inline-block; width: 450px; bottom: 0; background-color: rgba(255,255,255,0.8); font-size: 10px; padding: 4px 12px 1px 12px; opacity: 0;
|
||||
transition: opacity 0.2s;
|
||||
@@ -109,7 +109,7 @@ h2 {font-size: 18px; font-weight: normal; color: #fff}
|
||||
.tabsBar .newTab {position: absolute; display: inline-block; height: 15px; padding: 4px 7px 3px 7px; background: #ddd; cursor: pointer; z-index: 0;
|
||||
transition: left 0.15s ease-in-out;
|
||||
}
|
||||
.editor .findBar {display: inline-block; height: 28px; width: 2400px; color: #fff; background-color: #141612}
|
||||
.editor .findBar {display: inline-block; height: 28px; width: 2400px; color: #fff; background-color: #1d1d1b}
|
||||
.findBar .findReplace {position: absolute; padding-top: 2px; z-index: 1}
|
||||
.findReplace .selectWrapper {position: relative; display: inline-block}
|
||||
.findReplace .selectWrapper select {position: relative; padding: 1px; border: 0; background: url('../images/select-arrow.gif') no-repeat right #444; color: #fff; font-size: 10px; height: 16px;
|
||||
@@ -125,21 +125,26 @@ h2 {font-size: 18px; font-weight: normal; color: #fff}
|
||||
.findReplace .submit {position: relative; top: 3px; height: 16px; border: 0; background-color: #444; color: #eee; font-size: 10px; margin-left: 2px; cursor: pointer}
|
||||
.findReplace .submit:hover {background-color: #2187e7; color: #eee}
|
||||
.findReplace .results {position: relative; display: inline-block; width: 200px; height: 20px; font-size: 10px; margin: 8px 0 0 20px}
|
||||
.findBar .codeAssist {position: fixed; display: inline-block; width: 100px; right: 146px; top: 49px; height: 21px; font-size: 10px; color: #eee; cursor: default; z-index: 1}
|
||||
.findBar .codeAssist {position: fixed; display: inline-block; width: 100px; right: 339px; top: 49px; height: 21px; font-size: 10px; color: #eee; cursor: default; z-index: 1}
|
||||
.findBar .codeAssist .codeAssistCheckbox {display: none}
|
||||
.findBar .codeAssist .codeAssistDisplay {display: inline-block; width: 16px; height: 16px; margin: -1px 4px 0 0; vertical-align: middle; background: url('../images/checkbox.gif') 0 0 no-repeat; cursor: pointer}
|
||||
.findBar .goLine {position: fixed; display: inline-block; width: 100px; right: 58px; top: 49px; height: 21px; font-size: 10px; color: #eee; cursor: default; z-index: 1}
|
||||
.findBar .goLine {position: fixed; display: inline-block; width: 100px; right: 251px; top: 49px; height: 21px; font-size: 10px; color: #eee; cursor: default; z-index: 1}
|
||||
.goLine .goToLine {width: 30px; height: 16px; border: 0; font-size: 10px; margin: -3px 0 0 3px; padding-left: 4px; background: #444; color: #eee}
|
||||
.goLine .goToLine:focus {outline: none; box-shadow: 0 0 10px 1px rgba(0,198,255,1)}
|
||||
.findBar .view {position: fixed; display: inline-block; width: 16px; height: 16px; right: 42px; top: 49px; background: url('../images/file-manager-icons.png') 0 0 no-repeat; cursor: pointer; background-position: -48px 0; opacity: 0.3}
|
||||
.findBar .bug {position: fixed; display: inline-block; width: 16px; height: 16px; right: 16px; top: 48px; background: url('../images/bug-reporting-icons.png') 0 0 no-repeat; cursor: pointer; background-position: 0 0}
|
||||
.findBar .view {position: fixed; display: inline-block; width: 16px; height: 16px; right: 235px; top: 49px; background: url('../images/file-manager-icons.png') 0 0 no-repeat; cursor: pointer; background-position: -48px 0; opacity: 0.3}
|
||||
.findBar .bug {position: fixed; display: inline-block; width: 16px; height: 16px; right: 209px; top: 48px; background: url('../images/bug-reporting-icons.png') 0 0 no-repeat; cursor: pointer; background-position: 0 0}
|
||||
.findBar .minimapLink {position: fixed; display: inline-block; width: 16px; height: 16px; right: 164px; top: 48px; background: url('../images/doc-explorer-icons.png') 0 0 no-repeat; cursor: pointer; background-position: 0 0; cursor: pointer; z-index: 1}
|
||||
.findBar .functionClassListLink {position: fixed; display: inline-block; width: 16px; height: 16px; right: 138px; top: 48px; background: url('../images/doc-explorer-icons.png') 0 0 no-repeat; cursor: pointer; background-position: -16px 0; cursor: pointer; z-index: 1}
|
||||
.findBar .terminalLink {position: fixed; display: inline-block; width: 16px; height: 16px; right: 112px; top: 48px; background: url('../images/doc-explorer-icons.png') 0 0 no-repeat; cursor: pointer; background-position: -32px 0; cursor: pointer; z-index: 1}
|
||||
.editor .code {position: relative; display: inline-block; top: 28px; width: 600px; height: 600px; visibility: hidden}
|
||||
|
||||
.footer {position: fixed; display: inline-block; width: 100%; height: 30px; bottom: 0; background-color: rgba(0,0,0,0.7); left: 0; z-index: 1}
|
||||
.footer {position: fixed; display: inline-block; width: 100%; height: 30px; bottom: 0; background-color: rgba(0,0,0,0.15); left: 0; z-index: 1}
|
||||
.footer .nesting {position: absolute; display: inline-block; padding: 5px; margin-top: 10px; left: 260px; border-radius: 5px; background-color: #0b0; cursor: default}
|
||||
.footer .versionsDisplay {position: absolute; display: inline-block; padding: 5px; margin-top: 3px; left: 275px; color: #fff; font-weight: bold; cursor: pointer}
|
||||
.footer .splitPaneControls {position: absolute; display: inline-block; width: 50px; text-align: center; padding: 6px}
|
||||
.footer .splitPaneControls .off {display: inline-block; width: 18px; height: 18px; margin-right: 10px; background: url('../images/split-pane-controls.gif') no-repeat 0 0; cursor: pointer}
|
||||
.footer .splitPaneControls .on {display: inline-block; width: 19px; height: 18px; background: url('../images/split-pane-controls.gif') no-repeat -18px 0; cursor: pointer}
|
||||
.footer .splitPaneNames {position: absolute; display: inline-block; width: 100px; text-align: center; margin-top: 9px; color: #555; opacity: 0; transition: opacity 0.3s ease-in-out}
|
||||
.footer .charDisplay, .footer .byteDisplay {position: absolute; display: inline-block; padding: 5px 0 0 8px; margin-top: 3px; margin-right: 10px; right: 0; font-weight: bold; font-size: 12px; color: #fff; text-align: right; text-align: right; cursor: pointer}
|
||||
|
||||
.fileMenu {position: absolute; display: none; left: 0; top: 0; background-color: #333; z-index: 10;
|
||||
@@ -149,6 +154,18 @@ h2 {font-size: 18px; font-weight: normal; color: #fff}
|
||||
.fileMenu a:hover {background-color: #666}
|
||||
.fileMenu hr {border: 0; height: 1px; padding: 0; margin: 0; background: #444}
|
||||
|
||||
.docExplorer {position: absolute; top: 70px; right: -420px; width: 200px; padding-left: 20px; transition: right 0.4s ease-in-out; overflow: hidden; color: #888}
|
||||
.docExplorer .miniMap {position: absolute; display: block}
|
||||
.docExplorer .miniMap .miniMapContainer {position: absolute; display: block; width: 200px}
|
||||
.docExplorer .miniMap .miniMapContent {position: absolute; display: block; width: 200px}
|
||||
.docExplorer .functionClassList {position: absolute; display: none; width: 180px; height: 100%; overflow-x: hidden; overflow-y: auto}
|
||||
.docExplorer .functionClassList::-webkit-scrollbar {width: 12px; height: 12px}
|
||||
.docExplorer .functionClassList::-webkit-scrollbar-thumb {background: rgba(0,198,255,0.1)}
|
||||
.docExplorer .functionClassList::-webkit-scrollbar-corner, .docExplorer .functionClassList::-webkit-scrollbar-resizer {background: transparent}
|
||||
.docExplorer .functionClassList .functionClassListItem {font-family: monospace; line-height: 14px; margin-bottom: 6px; cursor: pointer}
|
||||
.docExplorer .functionClassList .functionClassListItem .name {font-family: monospace; color: rgba(0,198,255,0.5)}
|
||||
.docExplorer .functionClassList .functionClassListItem .params {font-family: monospace; font-size: 10px}
|
||||
|
||||
.screenContainer {position: absolute; display: table; width: 100%; height: 100%; top: 0; left: 0; text-align: center}
|
||||
.screenContainer .screenVCenter {#position: absolute; display: table-cell; #top: 50%; vertical-align: middle; text-align: center}
|
||||
.screenVCenter .screenCenter {#position: relative; #top: -50%; text-align: center; display: inline}
|
||||
|
||||
930
lib/ice-coder.js
930
lib/ice-coder.js
File diff suppressed because it is too large
Load Diff
345
lib/ice-coder.min.js
vendored
345
lib/ice-coder.min.js
vendored
@@ -1,162 +1,195 @@
|
||||
var get=function(a){return top.document.getElementById(a)},ICEcoder={filesW:250,minFilesW:14,maxFilesW:250,selectedTab:0,savedPoints:[],canSwitchTabs:!0,openFiles:[],openFileMDTs:[],cMInstances:[],nextcMInstance:1,selectedFiles:[],findMode:!1,scrollbarVisible:!1,mouseDown:!1,draggingFilesW:!1,draggingTab:!1,draggingWithKey:!1,tabLeftPos:[],tabBGcurrent:"#141414",tabBGselected:"#49d",tabBGopen:"#c3c3c3",tabBGnormal:"transparent",tabFGcurrent:"#fff",tabFGselected:"#fff",tabFGopenFile:"#000",tabFGnormalFile:"#eee",
|
||||
tabFGnormalTab:"#888",serverQueueItems:[],previewWindow:!1,previewWindowLoading:!1,pluginIntervalRefs:[],overPopup:!1,cmdKey:!1,fmReady:!1,bugReportStatus:"off",bugReportPath:"",bugFilesSizesSeen:[],bugFilesSizesActual:[],githubDiff:!1,githubAuthTokenSet:!1,splitPane:!1,renderLineStyle:[],renderPaneShiftAmount:0,debounce:"",editorFocusInstance:"",ready:!1,initAliases:function(){for(var a="header files fileOptions optionsFile optionsEdit optionsSource optionsHelp filesFrame editor tabsBar findBar content footer nestValid splitPaneControls charDisplay byteDisplay".split(" "),
|
||||
b=0;b<a.length;b++)ICEcoder[a[b]]=top.get(a[b])},init:function(){top.ICEcoder.lockedNav||(top.ICEcoder.filesW=ICEcoder.minFilesW);ICEcoder.setLayout();top.ICEcoder.overFileFolder("folder","|");top.ICEcoder.selectFileFolder("init");top.ICEcoder.filesFrame.contentWindow.focus();top.ICEcoder.showHide("hide",top.get("loadingMask"));top.ICEcoder.autoOpenInt=setInterval(function(){top.ICEcoder.fmReady&&(top.ICEcoder.openLastFiles&&top.ICEcoder.autoOpenFiles(),clearInterval(top.ICEcoder.autoOpenInt))},4);
|
||||
setInterval(ICEcoder.updateNestingIndicator,30);top.ICEcoder.startBugChecking();top.ICEcoder.ready=!0},setLayout:function(a){var b,c;b=window.innerWidth;c=window.innerHeight;this.header.style.width=this.tabsBar.style.width=this.findBar.style.width=b+"px";this.files.style.width=this.editor.style.left=this.filesW+"px";this.optionsFile.style.width=this.optionsEdit.style.width=this.optionsSource.style.width=this.optionsHelp.style.width=this.filesW-60+"px";this.filesFrame.style.height=c-25-35+"px";this.nestValid.style.left=
|
||||
this.filesW+10+"px";this.splitPaneControls.style.left=parseInt((b-this.filesW)/2,10)-25-4+this.filesW+"px";top.ICEcoder.setTabWidths();a||(this.editor.style.width=ICEcoder.content.style.width=b-this.filesW+"px",ICEcoder.content.style.height=c-25-21-28-26+"px",setTimeout(function(){for(var a=0;a<top.ICEcoder.openFiles.length;a++)top.ICEcoder.splitPane?(top.ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[a]+"diff"].setSize("50%",top.ICEcoder.content.style.height),top.ICEcoder.content.contentWindow["cM"+
|
||||
ICEcoder.cMInstances[a]].setSize("50%",top.ICEcoder.content.style.height)):(top.ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[a]].setSize("100%",top.ICEcoder.content.style.height),top.ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[a]+"diff"].setSize("0",top.ICEcoder.content.style.height));top.ICEcoder.splitPane?top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").style.right=top.ICEcoder.scrollBarVisible?parseInt(parseInt(ICEcoder.content.style.width,10)/2,
|
||||
10)+17+"px":parseInt(parseInt(ICEcoder.content.style.width,10)/2,10)+"px":top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").style.right=top.ICEcoder.scrollBarVisible?"17px":"0"},4))},setSplitPane:function(a){var b;top.ICEcoder.splitPane="on"==a?!0:!1;top.get("splitPaneControlsOff").style.opacity=top.ICEcoder.splitPane?.5:1;top.get("splitPaneControlsOn").style.opacity=top.ICEcoder.splitPane?1:.5;top.ICEcoder.setLayout();if(top.ICEcoder.splitPane)top.ICEcoder.updateDiffs();else{b=
|
||||
top.ICEcoder.getcMInstance();a=top.ICEcoder.getcMdiffInstance();cMmarks=b.getAllMarks();for(b=0;b<cMmarks.length;b++)cMmarks[b].clear();cMdiffMarks=a.getAllMarks();for(b=0;b<cMdiffMarks.length;b++)cMdiffMarks[b].clear()}},changeFilesW:function(a){ICEcoder.lockedNav&&ICEcoder.filesW!=ICEcoder.minFilesW||("undefined"!=typeof ICEcoder.changeFilesInt&&clearInterval(ICEcoder.changeFilesInt),ICEcoder.changeFilesInt=setInterval(function(){ICEcoder.changeFilesWStep(a)},10))},changeFilesWStep:function(a){"expand"==
|
||||
a?ICEcoder.filesW<ICEcoder.maxFilesW-1?ICEcoder.filesW+=Math.ceil((ICEcoder.maxFilesW-ICEcoder.filesW)/2):ICEcoder.filesW=ICEcoder.maxFilesW:ICEcoder.filesW>ICEcoder.minFilesW+1?ICEcoder.filesW-=Math.ceil((ICEcoder.filesW-ICEcoder.minFilesW)/2):ICEcoder.filesW=ICEcoder.minFilesW;("expand"==a&&ICEcoder.filesW==ICEcoder.maxFilesW||"contract"==a&&ICEcoder.filesW==ICEcoder.minFilesW)&&clearInterval(ICEcoder.changeFilesInt);ICEcoder.setLayout()},canResizeFilesW:function(){top.ICEcoder.ready&&"w-resize"==
|
||||
top.document.body.style.cursor?top.ICEcoder.mouseDown&&(top.ICEcoder.filesW=top.ICEcoder.maxFilesW=250<=top.ICEcoder.mouseX&&400>=top.ICEcoder.mouseX?top.ICEcoder.mouseX:250>top.ICEcoder.mouseX?250:400,top.ICEcoder.files.style.width=top.ICEcoder.filesFrame.style.width=top.ICEcoder.filesW+"px",top.ICEcoder.setLayout(),top.ICEcoder.draggingFilesW=!0):top.ICEcoder.draggingFilesW=!1},lockUnlockNav:function(){var a;a=top.ICEcoder.filesFrame.contentWindow.document.getElementById("fmLock");ICEcoder.lockedNav=
|
||||
!ICEcoder.lockedNav;a.style.backgroundPosition=ICEcoder.lockedNav?"0 0":"-16px 0"},showHidePlugins:function(a){get("plugins").style.width="show"==a?"55px":"3px";get("plugins").style.background="show"==a?"#333":"transparent";"show"==a&&ICEcoder.changeFilesW("expand")},cMonFocus:function(a,b){top.ICEcoder.getCaretPosition();top.ICEcoder.updateCharDisplay();top.ICEcoder.updateByteDisplay();top.ICEcoder.editorFocusInstance=b;top.ICEcoder.getCaretPosition()},cMonBlur:function(a,b){},cMonKeyUp:function(a,
|
||||
b){"undefined"!=typeof top.doFind&&clearInterval(top.doFind);top.doFind=setTimeout(function(){top.ICEcoder.findReplace(top.get("find").value,!0,!1)},500);top.ICEcoder.getCaretPosition();top.ICEcoder.updateCharDisplay();top.ICEcoder.updateByteDisplay()},cMonCursorActivity:function(a,b){var c;top.ICEcoder.getCaretPosition();top.ICEcoder.updateCharDisplay();top.ICEcoder.updateByteDisplay();a.removeLineClass(top.ICEcoder["cMActiveLine"+b],"background");a.getCursor("start").line==a.getCursor().line&&(top.ICEcoder["cMActiveLine"+
|
||||
b]=a.addLineClass(a.getCursor().line,"background","cm-s-activeLine"));"CSS"==top.ICEcoder.caretLocType&&top.ICEcoder.cssColorPreview();c=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?top.ICEcoder.prevLineDiff:top.ICEcoder.prevLine;c!=a.getCursor().line&&a.getLine(c)&&0<a.getLine(c).length&&0==a.getLine(c).replace(/\s/g,"").length&&a.replaceRange("",{line:c,ch:0},{line:c,ch:1E6});setTimeout(function(){for(var c,e=0;e<top.ICEcoder.renderLineStyle.length;e++){c=!1;if("diff"!=top.ICEcoder.renderLineStyle[e][0]&&
|
||||
-1==b.indexOf("diff")||"diff"==top.ICEcoder.renderLineStyle[e][0]&&-1<b.indexOf("diff"))c=!0;c&&a.getCursor().line+1==top.ICEcoder.renderLineStyle[e][1]?a.setOption("cursorHeight",a.defaultTextHeight()/a.lineInfo(a.getCursor().line).handle.height):a.setOption("cursorHeight",1)}},0)},cMonChange:function(a,b,c){var d,e;top.ICEcoder.loadingFile||top.ICEcoder.redoTabHighlight(top.ICEcoder.selectedTab);setTimeout(function(){top.ICEcoder.scrollBarVisible=a.getScrollInfo().height>a.getScrollInfo().clientHeight;
|
||||
top.ICEcoder.setLayout()},0);top.ICEcoder.getCaretPosition();top.ICEcoder.updateCharDisplay();top.ICEcoder.updateByteDisplay();top.ICEcoder.updateNestingIndicator();top.ICEcoder.findMode&&(top.ICEcoder.results.splice(top.ICEcoder.findResult,1),top.get("results").innerHTML=top.ICEcoder.results.length+" "+top.t.results,top.ICEcoder.findMode=!1);if(b=top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1]){d=b.substr(b.lastIndexOf("/")+1);e=d.substr(d.lastIndexOf(".")+1);for(var f=c.from.line;f<c.from.line+
|
||||
c.text.length;f++)top.ICEcoder.content.contentWindow.CodeMirror.doFold(-1<a.getLine(f).indexOf("{")?"brace":"xml",null,"+","-",!0)(a,f);if("}"==c.text[0]||c.removed&&"}"==c.removed[0])for(cursor=a.getSearchCursor("{",a.getCursor(),!1),cursor.findPrevious(),f=cursor.from().line;f<a.getCursor().line;f++)top.ICEcoder.content.contentWindow.CodeMirror.doFold(-1<a.getLine(f).indexOf("{")?"brace":"xml",null,"+","-",!0)(a,f)}top.ICEcoder.splitPane&&setTimeout(function(){top.ICEcoder.updateDiffs()},0);b&&
|
||||
top.ICEcoder.previewWindow.location&&top.ICEcoder.updatePreviewWindow(a,b,d,e);top.ICEcoder.indicateChanges()},cMonScroll:function(a,b){var c,d;c=top.ICEcoder.getcMInstance();d=top.ICEcoder.getcMdiffInstance();c=-1<b.indexOf("diff")?c:d;top.ICEcoder.mouseDown=!1;c.scrollTo(a.getScrollInfo().left,a.getScrollInfo().top)},cMonInputRead:function(a,b){"keypress"==top.ICEcoder.autoComplete&&top.ICEcoder.codeAssist&&(a.state.completionActive||top.ICEcoder.autocomplete())},cMonRenderLine:function(a,b,c,d){for(var e,
|
||||
f=0;f<top.ICEcoder.renderLineStyle.length;f++){e=!1;if("diff"!=top.ICEcoder.renderLineStyle[f][0]&&-1==b.indexOf("diff")||"diff"==top.ICEcoder.renderLineStyle[f][0]&&-1<b.indexOf("diff"))e=!0;e&&a.lineInfo(c).line+1==top.ICEcoder.renderLineStyle[f][1]&&(d.style[top.ICEcoder.renderLineStyle[f][2]]=top.ICEcoder.renderLineStyle[f][3])}},updateDiffs:function(){var a,b,c,d,e,f;top.ICEcoder.renderLineStyle=[];top.ICEcoder.renderPaneShiftAmount=0;a=top.ICEcoder.getcMInstance();b=top.ICEcoder.getcMdiffInstance();
|
||||
c=a?difflib.stringAsLines(a.getValue()):"";d=b?difflib.stringAsLines(b.getValue()):"";c=(new difflib.SequenceMatcher(c,d)).get_opcodes();if(a){e=a.getAllMarks();for(d=0;d<e.length;d++)e[d].clear();e=b.getAllMarks();for(d=0;d<e.length;d++)e[d].clear()}if(a&&""!=b.getValue())for(d=0;d<c.length;d++)if("equal"!==c[d][0]){if("replace"==c[d][0]){f=(c[d][4]-c[d][2]+1+top.ICEcoder.renderPaneShiftAmount)*a.defaultTextHeight();for(e=c[d][4]-1;e<=c[d][2]-1;e++)b.getLineHandle(e).height>a.defaultTextHeight()&&
|
||||
(f+=b.getLineHandle(e).height-a.defaultTextHeight());f>a.defaultTextHeight()&&top.ICEcoder.renderLineStyle.push(["main",c[d][2],"height",f+"px"]);for(e=0;e<c[d][2]-c[d][1];e++)f=top.ICEcoder.findStringDiffs(a.getLine(c[d][1]+e),b.getLine(c[d][3]+e)),a.markText({line:c[d][1]+e,ch:0},{line:c[d][3]+e+top.ICEcoder.renderPaneShiftAmount,ch:f[0]},{className:"diffGreyLighter"}),a.markText({line:c[d][1]+e,ch:f[0]},{line:c[d][3]+e+top.ICEcoder.renderPaneShiftAmount,ch:f[0]+f[1]},{className:"diffGrey"}),a.markText({line:c[d][1]+
|
||||
e,ch:f[0]+f[1]},{line:c[d][3]+e+top.ICEcoder.renderPaneShiftAmount,ch:1E6},{className:"diffGreyLighter"})}else a.markText({line:c[d][1],ch:0},{line:c[d][2]-1,ch:1E6},{className:"diffGreen"});"replace"!=c[d][0]&&c[d][1]==c[d][2]&&(top.ICEcoder.renderLineStyle.push(["main",c[d][2],"height",(c[d][4]-c[d][3]+1)*a.defaultTextHeight()+"px"]),a.markText({line:c[d][2]-1,ch:0},{line:c[d][2]-1,ch:1E6},{className:"diffNone"}));if("replace"==c[d][0]){f=(c[d][2]-c[d][4]+1-top.ICEcoder.renderPaneShiftAmount)*a.defaultTextHeight();
|
||||
for(e=c[d][4]-1;e<=c[d][2]-1;e++)a.getLineHandle(e).height>a.defaultTextHeight()&&(f+=a.getLineHandle(e).height-a.defaultTextHeight());f>a.defaultTextHeight()&&top.ICEcoder.renderLineStyle.push(["diff",c[d][4],"height",f+"px"]);for(e=0;e<c[d][4]-c[d][3];e++)f=top.ICEcoder.findStringDiffs(a.getLine(c[d][1]+e),b.getLine(c[d][3]+e)),b.markText({line:c[d][1]+e-top.ICEcoder.renderPaneShiftAmount,ch:0},{line:c[d][3]+e,ch:f[0]},{className:"diffGreyLighter"}),b.markText({line:c[d][1]+e-top.ICEcoder.renderPaneShiftAmount,
|
||||
ch:f[0]},{line:c[d][3]+e,ch:f[0]+f[2]},{className:"diffGrey"}),b.markText({line:c[d][1]+e-top.ICEcoder.renderPaneShiftAmount,ch:f[0]+f[2]},{line:c[d][3]+e,ch:1E6},{className:"diffGreyLighter"})}else b.markText({line:c[d][3],ch:0},{line:c[d][4]-1,ch:1E6},{className:"diffRed"});"replace"!=c[d][0]&&c[d][3]==c[d][4]&&(top.ICEcoder.renderLineStyle.push(["diff",c[d][4],"height",(c[d][2]-c[d][1]+1)*a.defaultTextHeight()+"px"]),b.markText({line:c[d][4]-1,ch:0},{line:c[d][4]-1,ch:1E6},{className:"diffNone"}));
|
||||
top.ICEcoder.renderPaneShiftAmount=c[d][2]-c[d][4]}},findStringDiffs:function(a,b){"undefined"==typeof a&&(a="");"undefined"==typeof b&&(b="");for(var c=0,d=a.length,e=b.length;a[c]&&a[c]==b[c];c++);for(;d>c&e>c&a[d-1]==b[e-1];d--)e--;return[c,d-c,e-c]},updatePreviewWindow:function(a,b,c,d){top.ICEcoder.previewWindow.location.pathname==b?-1<["htm","html","txt"].indexOf(d)?top.ICEcoder.previewWindow.document.documentElement.innerHTML=a.getValue():-1<["md"].indexOf(d)&&(top.ICEcoder.previewWindow.document.documentElement.innerHTML=
|
||||
mmd(a.getValue())):-1<["css"].indexOf(d)&&-1<top.ICEcoder.previewWindow.document.documentElement.innerHTML.indexOf(c)&&(a=a.getValue(),c=document.createElement("style"),c.type="text/css",c.id="ICEcoder"+b.replace(/\//g,"_"),c.styleSheet?c.styleSheet.cssText=a:c.appendChild(document.createTextNode(a)),top.ICEcoder.previewWindow.document.getElementById(c.id)&&top.ICEcoder.previewWindow.document.documentElement.removeChild(top.ICEcoder.previewWindow.document.getElementById(c.id)),top.ICEcoder.previewWindow.document.documentElement.appendChild(c));
|
||||
try{top.ICEcoder.doPesticide()}catch(e){}try{top.ICEcoder.doStatsJS("update")}catch(f){}},contentCleanUp:function(){var a,b;a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;b=a.getValue();b=b.replace(/<ICEcoder:\/:textarea>/g,"</textarea>");a.setValue(b);a.clearHistory();top.ICEcoder.savedPoints[top.ICEcoder.selectedTab-1]=a.changeGeneration()},undo:function(){var a,b;a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();(-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?
|
||||
b:a).undo()},redo:function(){var a,b;a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();(-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a).redo()},indent:function(a){var b,c;b=ICEcoder.getcMInstance();c=ICEcoder.getcMdiffInstance();b=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;"more"==a?top.ICEcoder.content.contentWindow.CodeMirror.commands.indentMore(b):top.ICEcoder.content.contentWindow.CodeMirror.commands.indentLess(b)},moveLines:function(a){var b,c,d,e,f,g,h;b=top.ICEcoder.getcMInstance();
|
||||
c=top.ICEcoder.getcMdiffInstance();d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;e=d.getCursor("start");f=d.getCursor("end");"up"==a&&0<e.line&&(g=e.line-1);"down"==a&&f.line<d.lineCount()-1&&(g=f.line+1);isNaN(g)||(h=d.getLine(g),d.operation(function(){if("up"==a)for(var b=e.line;b<=f.line;b++)d.replaceRange(d.getLine(b),{line:b-1,ch:0},{line:b-1,ch:1E6});else for(b=f.line;b>=e.line;b--)d.replaceRange(d.getLine(b),{line:b+1,ch:0},{line:b+1,ch:1E6});d.replaceRange(h,{line:"up"==a?f.line:
|
||||
var get=function(a){return top.document.getElementById(a)},ICEcoder={filesW:250,minFilesW:14,maxFilesW:250,selectedTab:0,savedPoints:[],savedContents:[],canSwitchTabs:!0,openFiles:[],openFileMDTs:[],openFileVersions:[],cMInstances:[],nextcMInstance:1,selectedFiles:[],findMode:!1,scrollbarVisible:!1,mouseDown:!1,mouseDownInCM:!1,mouseDownMinimap:!1,draggingFilesW:!1,draggingTab:!1,draggingWithKey:!1,tabLeftPos:[],tabBGcurrent:"#1d1d1b",tabBGselected:"#49d",tabBGopen:"#c3c3c3",tabBGnormal:"transparent",
|
||||
tabFGcurrent:"#fff",tabFGselected:"#fff",tabFGopenFile:"#000",tabFGnormalFile:"#eee",tabFGnormalTab:"#888",serverQueueItems:[],miniMapBoxTop:0,miniMapBoxHeight:0,previewWindow:!1,previewWindowLoading:!1,pluginIntervalRefs:[],overPopup:!1,cmdKey:!1,oppTagReplaceData:[],fmReady:!1,bugReportStatus:"off",bugReportPath:"",bugFilesSizesSeen:[],bugFilesSizesActual:[],githubDiff:!1,githubAuthTokenSet:!1,splitPane:!1,splitPaneLeftPerc:100,renderLineStyle:[],renderPaneShiftAmount:0,debounce:"",editorFocusInstance:"",
|
||||
openSeconds:0,ready:!1,initAliases:function(){for(var a="header files fileOptions optionsFile optionsEdit optionsSource optionsHelp filesFrame editor tabsBar findBar content terminal footer nestValid versionsDisplay splitPaneControls splitPaneNamesMain splitPaneNamesDiff charDisplay byteDisplay docExplorer miniMap miniMapContainer miniMapContent functionClassList".split(" "),b=0;b<a.length;b++)ICEcoder[a[b]]=top.get(a[b])},init:function(){top.ICEcoder.lockedNav||(top.ICEcoder.filesW=ICEcoder.minFilesW);
|
||||
ICEcoder.setLayout();top.ICEcoder.overFileFolder("folder","|");top.ICEcoder.selectFileFolder("init");top.ICEcoder.filesFrame.contentWindow.focus();top.ICEcoder.showHide("hide",top.get("loadingMask"));top.ICEcoder.autoOpenInt=setInterval(function(){top.ICEcoder.fmReady&&(top.ICEcoder.openLastFiles&&setTimeout(function(){top.ICEcoder.autoOpenFiles()},200),clearInterval(top.ICEcoder.autoOpenInt))},4);setInterval(ICEcoder.updateNestingIndicator,30);top.ICEcoder.startBugChecking();top.ICEcoder.autoLogoutTimer=
|
||||
0;top.ICEcoder.oneSecondInt=setInterval(function(){top.ICEcoder.autoLogoutTimer++;for(var a=!1,b=1;b<=ICEcoder.savedPoints.length;b++)ICEcoder.savedPoints[b-1]!=top.ICEcoder.getcMInstance(b).changeGeneration()&&(a=!0);!a&&1<top.ICEcoder.autoLogoutMins&&top.ICEcoder.autoLogoutTimer==60*top.ICEcoder.autoLogoutMins-60&&top.ICEcoder.autoLogoutWarningScreen();get("autoLogoutIFrame")&&get("autoLogoutIFrame").contentWindow.document.getElementById("timeRemaning")&&(get("autoLogoutIFrame").contentWindow.document.getElementById("timeRemaning").innerHTML=
|
||||
0<top.ICEcoder.autoLogoutTimer?60*top.ICEcoder.autoLogoutMins-top.ICEcoder.autoLogoutTimer:0);!a&&0<ICEcoder.autoLogoutMins&&top.ICEcoder.autoLogoutTimer>=60*top.ICEcoder.autoLogoutMins&&top.ICEcoder.logout("autoLogout");top.ICEcoder.openSeconds++;0==top.ICEcoder.openSeconds%300&&(top.ICEcoder.filesFrame.contentWindow.frames.pingActive.location.href="lib/session-active-ping.php")},1E3);top.ICEcoder.ready=!0},setLayout:function(a){var b,c;b=window.innerWidth;c=window.innerHeight;this.header.style.width=
|
||||
this.tabsBar.style.width=this.findBar.style.width=b+"px";this.files.style.width=this.editor.style.left=this.filesW+"px";this.optionsFile.style.width=this.optionsEdit.style.width=this.optionsSource.style.width=this.optionsHelp.style.width=this.filesW-60+"px";this.filesFrame.style.height=c-25-35+"px";this.nestValid.style.left=this.filesW+10+"px";this.versionsDisplay.style.left=this.filesW+25+"px";this.splitPaneControls.style.left=parseInt((b-this.filesW)/2,10)-25-4+this.filesW-100+"px";this.splitPaneNamesMain.style.left=
|
||||
parseInt(.25*(b-this.filesW),10)-50+this.filesW-60+"px";this.splitPaneNamesDiff.style.left=parseInt(.75*(b-this.filesW),10)-50+this.filesW-135+"px";top.ICEcoder.setTabWidths();a||(this.editor.style.width=ICEcoder.content.style.width=b-this.filesW-200+"px",ICEcoder.terminal.style.width=b-this.filesW+"px",ICEcoder.content.style.height=c-25-21-28-26+"px",ICEcoder.terminal.style.height=c+"px",setTimeout(function(){for(var a=0;a<top.ICEcoder.openFiles.length;a++)top.ICEcoder.splitPane||top.ICEcoder.content.contentWindow["cM"+
|
||||
ICEcoder.cMInstances[a]].setSize(top.ICEcoder.splitPaneLeftPerc+"%",top.ICEcoder.content.style.height),top.ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[a]+"diff"].setSize(100-top.ICEcoder.splitPaneLeftPerc+"%",top.ICEcoder.content.style.height),top.ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[a]+"diff"].getWrapperElement().style.left=top.ICEcoder.splitPaneLeftPerc+"%",top.ICEcoder.splitPane&&top.ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[a]].setSize(top.ICEcoder.splitPaneLeftPerc+
|
||||
"%",top.ICEcoder.content.style.height);this.docExplorer.style.height=top.ICEcoder.content.style.height;top.ICEcoder.splitPane?top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").style.right=top.ICEcoder.scrollBarVisible?parseInt(parseInt(ICEcoder.content.style.width,10)/2,10)+17+"px":parseInt(parseInt(ICEcoder.content.style.width,10)/2,10)+"px":top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").style.right=top.ICEcoder.scrollBarVisible?"17px":"0"},4))},setSplitPane:function(a){var b;
|
||||
top.ICEcoder.splitPane="on"==a?!0:!1;top.get("splitPaneControlsOff").style.opacity=top.ICEcoder.splitPane?.5:1;top.get("splitPaneControlsOn").style.opacity=top.ICEcoder.splitPane?1:.5;top.get("splitPaneNamesMain").style.opacity=top.get("splitPaneNamesDiff").style.opacity=top.ICEcoder.splitPane?1:0;top.ICEcoder.setLayout();if(top.ICEcoder.splitPane)top.ICEcoder.updateDiffs(),b=top.ICEcoder.getcMInstance(),top.ICEcoder.cMonScroll(b,"cM"+ICEcoder.cMInstances[ICEcoder.selectedTab-1]);else if(b=top.ICEcoder.getcMInstance(),
|
||||
a=top.ICEcoder.getcMdiffInstance(),b){cMmarks=b.getAllMarks();for(b=0;b<cMmarks.length;b++)cMmarks[b].clear();cMdiffMarks=a.getAllMarks();for(b=0;b<cMdiffMarks.length;b++)cMdiffMarks[b].clear()}"undefined"!=typeof top.ICEcoder.animSplitPaneInt&&clearInterval(top.ICEcoder.animSplitPaneInt);top.ICEcoder.animSplitPaneInt=setInterval(function(){top.ICEcoder.splitPane&&50.1<top.ICEcoder.splitPaneLeftPerc?top.ICEcoder.splitPaneLeftPerc=(top.ICEcoder.splitPaneLeftPerc-50)/1.8+50:!top.ICEcoder.splitPane&&
|
||||
99.9>top.ICEcoder.splitPaneLeftPerc?top.ICEcoder.splitPaneLeftPerc=50-(100-top.ICEcoder.splitPaneLeftPerc)/1.8+50:(top.ICEcoder.splitPaneLeftPerc=top.ICEcoder.splitPane?50:100,clearInterval(top.ICEcoder.animSplitPaneInt));top.ICEcoder.setLayout()},4)},docExplorerShow:function(a){var b;"terminal"==a?(get("terminal").style.display="block",setTimeout(function(){top.ICEcoder.terminal.contentWindow.document.getElementById("command").focus()},0)):(get("terminal").style.display="none",get("miniMap").style.display=
|
||||
"miniMap"==a?"block":"none",get("functionClassList").style.display="functionClassList"==a?"block":"none","miniMap"==a&&(top.miniMapInt=setInterval(function(){0!=get("miniMapContent").getBoundingClientRect().height&&(b=top.ICEcoder.getcMInstance(),top.ICEcoder.setMinimapLayout(b),clearInterval(top.miniMapInt))},10)))},changeFilesW:function(a){ICEcoder.lockedNav&&ICEcoder.filesW!=ICEcoder.minFilesW||("undefined"!=typeof ICEcoder.changeFilesInt&&clearInterval(ICEcoder.changeFilesInt),ICEcoder.changeFilesInt=
|
||||
setInterval(function(){ICEcoder.changeFilesWStep(a)},10))},changeFilesWStep:function(a){"expand"==a?ICEcoder.filesW<ICEcoder.maxFilesW-1?ICEcoder.filesW+=Math.ceil((ICEcoder.maxFilesW-ICEcoder.filesW)/2):ICEcoder.filesW=ICEcoder.maxFilesW:ICEcoder.filesW>ICEcoder.minFilesW+1?ICEcoder.filesW-=Math.ceil((ICEcoder.filesW-ICEcoder.minFilesW)/2):ICEcoder.filesW=ICEcoder.minFilesW;("expand"==a&&ICEcoder.filesW==ICEcoder.maxFilesW||"contract"==a&&ICEcoder.filesW==ICEcoder.minFilesW)&&clearInterval(ICEcoder.changeFilesInt);
|
||||
ICEcoder.setLayout()},canResizeFilesW:function(){top.ICEcoder.ready&&"w-resize"==top.document.body.style.cursor?top.ICEcoder.mouseDown&&"gutter"==top.ICEcoder.mouseDownInCM&&(top.ICEcoder.filesW=top.ICEcoder.maxFilesW=250<=top.ICEcoder.mouseX&&400>=top.ICEcoder.mouseX?top.ICEcoder.mouseX:250>top.ICEcoder.mouseX?250:400,top.ICEcoder.files.style.width=top.ICEcoder.filesFrame.style.width=top.ICEcoder.filesW+"px",top.ICEcoder.setLayout(),top.ICEcoder.draggingFilesW=!0):top.ICEcoder.draggingFilesW=!1},
|
||||
lockUnlockNav:function(){var a;a=top.ICEcoder.filesFrame.contentWindow.document.getElementById("fmLock");ICEcoder.lockedNav=!ICEcoder.lockedNav;a.style.backgroundPosition=ICEcoder.lockedNav?"0 0":"-16px 0"},showHidePlugins:function(a){get("plugins").style.width="show"==a?"55px":"3px";get("plugins").style.background="show"==a?"#333":"transparent";"show"==a&&ICEcoder.changeFilesW("expand")},cMonFocus:function(a,b){top.ICEcoder.getCaretPosition();top.ICEcoder.updateCharDisplay();top.ICEcoder.updateByteDisplay();
|
||||
top.ICEcoder.editorFocusInstance=b;top.ICEcoder.getCaretPosition()},cMonBlur:function(a,b){},cMonKeyUp:function(a,b){"undefined"!=typeof top.doFind&&clearInterval(top.doFind);top.doFind=setTimeout(function(){top.ICEcoder.findReplace(top.get("find").value,!0,!1)},500);top.ICEcoder.getCaretPosition();top.ICEcoder.updateCharDisplay();top.ICEcoder.updateByteDisplay()},cMonCursorActivity:function(a,b){var c;top.ICEcoder.getCaretPosition();top.ICEcoder.updateCharDisplay();top.ICEcoder.updateByteDisplay();
|
||||
a.removeLineClass(top.ICEcoder["cMActiveLine"+b],"background");a.getCursor("start").line==a.getCursor().line&&(top.ICEcoder["cMActiveLine"+b]=a.addLineClass(a.getCursor().line,"background","cm-s-activeLine"));"CSS"==top.ICEcoder.caretLocType&&top.ICEcoder.cssColorPreview();c=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?top.ICEcoder.prevLineDiff:top.ICEcoder.prevLine;c!=a.getCursor().line&&a.getLine(c)&&0<a.getLine(c).length&&0==a.getLine(c).replace(/\s/g,"").length&&a.replaceRange("",{line:c,
|
||||
ch:0},{line:c,ch:1E6});setTimeout(function(){for(var c,e=0;e<top.ICEcoder.renderLineStyle.length;e++){c=!1;if("diff"!=top.ICEcoder.renderLineStyle[e][0]&&-1==b.indexOf("diff")||"diff"==top.ICEcoder.renderLineStyle[e][0]&&-1<b.indexOf("diff"))c=!0;c&&a.getCursor().line+1==top.ICEcoder.renderLineStyle[e][1]?a.setOption("cursorHeight",a.defaultTextHeight()/a.lineInfo(a.getCursor().line).handle.height):a.setOption("cursorHeight",1)}},0)},cMonBeforeChange:function(a,b,c,d){var e,f;b=a.listSelections();
|
||||
for(var g=0;g<b.length;g++)e=d.findMatchingTag(a,b[g].anchor),0!==c.text[0].indexOf(">")&&"undefined"!=typeof e&&"undo"!=c.origin&&"redo"!=c.origin&&"undefined"!=typeof e.open&&"undefined"!=typeof e.close&&(f="open"==e.at?"close":"open",null!==e[f]&&(e=e[f].tag+";"+e[f].from.line+":"+e[f].from.ch,-1==top.ICEcoder.oppTagReplaceData.indexOf(e)&&top.ICEcoder.oppTagReplaceData.push(e)))},cMonChange:function(a,b,c,d){var e,f,g,k,h,l,p,n,m,r;b=a.listSelections();top.ICEcoder.loadingFile?setTimeout(function(){a.replaceRange("X",
|
||||
{line:1,ch:1},{line:1,ch:1});a.undo();a.clearHistory();top.ICEcoder.savedPoints[top.ICEcoder.selectedTab-1]=a.changeGeneration();top.ICEcoder.savedContents[top.ICEcoder.selectedTab-1]=a.getValue()},0):top.ICEcoder.redoTabHighlight(top.ICEcoder.selectedTab);setTimeout(function(){top.ICEcoder.scrollBarVisible=a.getScrollInfo().height>a.getScrollInfo().clientHeight;top.ICEcoder.setLayout()},0);if("undefined"!=typeof top.ICEcoder.oppTagReplaceData[0])for(var t=0;t<top.ICEcoder.oppTagReplaceData.length;t++)e=
|
||||
top.ICEcoder.oppTagReplaceData[t].split(";"),f=e[0],g=1*e[1].split(":")[0],k=1*e[1].split(":")[1],b[t]&&(h=d.findMatchingTag(a,b[t].anchor)),"undefined"!=typeof h&&(f="open"==h.at?h.open.tag:h.close.tag,"undefined"!=typeof c.from&&(l=g==c.from.line?c.text[0].length-c.removed[0].length:0,p="close"==h.at&&g==c.from.line?c.removed[0].length-c.text[0].length+1:1,n={line:g,ch:k+l+("open"==h.at?2:p)},l={line:g,ch:k+l+("open"==h.at?2:p)+e[0].length})),""!=f.trim()&&"undefined"!=typeof n&&"undefined"!=typeof l&&
|
||||
a.getRange(n,l)==e[0]&&(a.replaceRange(f,n,l),"close"==h.at&&(top.ICEcoder.autocompleteSkip=!0));top.ICEcoder.oppTagReplaceData=[];top.ICEcoder.getCaretPosition();top.ICEcoder.updateCharDisplay();top.ICEcoder.updateByteDisplay();top.ICEcoder.updateNestingIndicator();top.ICEcoder.findMode&&(top.ICEcoder.results.splice(top.ICEcoder.findResult,1),top.get("results").innerHTML=top.ICEcoder.results.length+" "+top.t.results,top.ICEcoder.findMode=!1);top.ICEcoder.updateFunctionClassList();"undefined"!=typeof top.doMiniNav&&
|
||||
clearTimeout(top.doMiniNav);top.doMiniNav=setTimeout(function(){top.ICEcoder.setMinimap()},top.ICEcoder.loadingFile?0:1E3);if(c=top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1])m=c.substr(c.lastIndexOf("/")+1),r=m.substr(m.lastIndexOf(".")+1);top.ICEcoder.splitPane&&setTimeout(function(){top.ICEcoder.updateDiffs()},0);c&&top.ICEcoder.previewWindow.location&&"/[NEW]"!=c&&top.ICEcoder.updatePreviewWindow(a,c,m,r);top.ICEcoder.indicateChanges()},cMonUpdate:function(a,b){setTimeout(function(){get("docExplorer").style.background=
|
||||
window.getComputedStyle(a.getWrapperElement(),null).getPropertyValue("background")},0);top.ICEcoder.setMinimapLayout(a,b)},cMonScroll:function(a,b){var c,d,e;top.ICEcoder.mouseDown=!1;top.ICEcoder.mouseDownInCM=!1;top.ICEcoder.splitPane&&(c=top.ICEcoder.getcMInstance(),d=top.ICEcoder.getcMdiffInstance(),e=-1<b.indexOf("diff")?c:d,c&&setTimeout(function(){e.scrollTo(a.getScrollInfo().left,a.getScrollInfo().top)},0));top.ICEcoder.setMinimapLayout(a,b)},cMonInputRead:function(a,b){"keypress"==top.ICEcoder.autoComplete&&
|
||||
top.ICEcoder.codeAssist&&!a.state.completionActive&&(top.ICEcoder.autocompleteSkip?top.ICEcoder.autocompleteSkip=!1:top.ICEcoder.autocomplete())},cMonGutterClick:function(a,b,c,d,e){top.ICEcoder.mouseDownInCM="gutter"},cMonMouseDown:function(a,b){top.ICEcoder.mouseDownInCM="editor"},cMonDragOver:function(a,b,c){top.ICEcoder.setDragCursor(b,"editor")},cMonRenderLine:function(a,b,c,d){for(var e,f=0;f<top.ICEcoder.renderLineStyle.length;f++){e=!1;if("diff"!=top.ICEcoder.renderLineStyle[f][0]&&-1==b.indexOf("diff")||
|
||||
"diff"==top.ICEcoder.renderLineStyle[f][0]&&-1<b.indexOf("diff"))e=!0;e&&a.lineInfo(c).line+1==top.ICEcoder.renderLineStyle[f][1]&&(d.style[top.ICEcoder.renderLineStyle[f][2]]=top.ICEcoder.renderLineStyle[f][3])}},updateDiffs:function(){var a,b,c,d,e,f;top.ICEcoder.renderLineStyle=[];top.ICEcoder.renderPaneShiftAmount=0;a=top.ICEcoder.getcMInstance();b=top.ICEcoder.getcMdiffInstance();c=a?difflib.stringAsLines(a.getValue()):"";d=b?difflib.stringAsLines(b.getValue()):"";c=(new difflib.SequenceMatcher(c,
|
||||
d)).get_opcodes();if(a){e=a.getAllMarks();for(d=0;d<e.length;d++)e[d].clear();e=b.getAllMarks();for(d=0;d<e.length;d++)e[d].clear()}if(a&&""!=b.getValue())for(d=0;d<c.length;d++)if("equal"!==c[d][0]){if("replace"==c[d][0]){f=(c[d][4]-c[d][2]+1+top.ICEcoder.renderPaneShiftAmount)*a.defaultTextHeight();for(e=c[d][4]-1;e<=c[d][2]-1;e++)b.getLineHandle(e).height>a.defaultTextHeight()&&(f+=b.getLineHandle(e).height-a.defaultTextHeight());f>a.defaultTextHeight()&&top.ICEcoder.renderLineStyle.push(["main",
|
||||
c[d][2],"height",f+"px"]);for(e=0;e<c[d][2]-c[d][1];e++)f=top.ICEcoder.findStringDiffs(a.getLine(c[d][1]+e),b.getLine(c[d][3]+e)),a.markText({line:c[d][1]+e,ch:0},{line:c[d][3]+e+top.ICEcoder.renderPaneShiftAmount,ch:f[0]},{className:"diffGreyLighter"}),a.markText({line:c[d][1]+e,ch:f[0]},{line:c[d][3]+e+top.ICEcoder.renderPaneShiftAmount,ch:f[0]+f[1]},{className:"diffGrey"}),a.markText({line:c[d][1]+e,ch:f[0]+f[1]},{line:c[d][3]+e+top.ICEcoder.renderPaneShiftAmount,ch:1E6},{className:"diffGreyLighter"})}else a.markText({line:c[d][1],
|
||||
ch:0},{line:c[d][2]-1,ch:1E6},{className:"diffGreen"});"replace"!=c[d][0]&&c[d][1]==c[d][2]&&(top.ICEcoder.renderLineStyle.push(["main",c[d][2],"height",(c[d][4]-c[d][3]+1)*a.defaultTextHeight()+"px"]),a.markText({line:c[d][2]-1,ch:0},{line:c[d][2]-1,ch:1E6},{className:"diffNone"}));if("replace"==c[d][0]){f=(c[d][2]-c[d][4]+1-top.ICEcoder.renderPaneShiftAmount)*a.defaultTextHeight();for(e=c[d][4]-1;e<=c[d][2]-1;e++)a.getLineHandle(e).height>a.defaultTextHeight()&&(f+=a.getLineHandle(e).height-a.defaultTextHeight());
|
||||
f>a.defaultTextHeight()&&top.ICEcoder.renderLineStyle.push(["diff",c[d][4],"height",f+"px"]);for(e=0;e<c[d][4]-c[d][3];e++)f=top.ICEcoder.findStringDiffs(a.getLine(c[d][1]+e),b.getLine(c[d][3]+e)),b.markText({line:c[d][1]+e-top.ICEcoder.renderPaneShiftAmount,ch:0},{line:c[d][3]+e,ch:f[0]},{className:"diffGreyLighter"}),b.markText({line:c[d][1]+e-top.ICEcoder.renderPaneShiftAmount,ch:f[0]},{line:c[d][3]+e,ch:f[0]+f[2]},{className:"diffGrey"}),b.markText({line:c[d][1]+e-top.ICEcoder.renderPaneShiftAmount,
|
||||
ch:f[0]+f[2]},{line:c[d][3]+e,ch:1E6},{className:"diffGreyLighter"})}else b.markText({line:c[d][3],ch:0},{line:c[d][4]-1,ch:1E6},{className:"diffRed"});"replace"!=c[d][0]&&c[d][3]==c[d][4]&&(top.ICEcoder.renderLineStyle.push(["diff",c[d][4],"height",(c[d][2]-c[d][1]+1)*a.defaultTextHeight()+"px"]),b.markText({line:c[d][4]-1,ch:0},{line:c[d][4]-1,ch:1E6},{className:"diffNone"}));top.ICEcoder.renderPaneShiftAmount=c[d][2]-c[d][4]}},findStringDiffs:function(a,b){"undefined"==typeof a&&(a="");"undefined"==
|
||||
typeof b&&(b="");for(var c=0,d=a.length,e=b.length;a[c]&&a[c]==b[c];c++);for(;d>c&e>c&a[d-1]==b[e-1];d--)e--;return[c,d-c,e-c]},updatePreviewWindow:function(a,b,c,d){top.ICEcoder.previewWindow.location.pathname==b?-1<["htm","html","txt"].indexOf(d)?top.ICEcoder.previewWindow.document.documentElement.innerHTML=a.getValue():-1<["md"].indexOf(d)&&(top.ICEcoder.previewWindow.document.documentElement.innerHTML=mmd(a.getValue())):-1<["css"].indexOf(d)&&-1<top.ICEcoder.previewWindow.document.documentElement.innerHTML.indexOf(c)&&
|
||||
(a=a.getValue(),c=document.createElement("style"),c.type="text/css",c.id="ICEcoder"+b.replace(/\//g,"_"),c.styleSheet?c.styleSheet.cssText=a:c.appendChild(document.createTextNode(a)),top.ICEcoder.previewWindow.document.getElementById(c.id)&&top.ICEcoder.previewWindow.document.documentElement.removeChild(top.ICEcoder.previewWindow.document.getElementById(c.id)),top.ICEcoder.previewWindow.document.documentElement.appendChild(c));try{top.ICEcoder.doPesticide()}catch(e){}try{top.ICEcoder.doStatsJS("update")}catch(e){}try{top.ICEcoder.doResponsive()}catch(e){}},
|
||||
contentCleanUp:function(){var a,b;a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;b=a.getValue();b=b.replace(/<ICEcoder:\/:textarea>/g,"</textarea>");a.setValue(b);a.clearHistory();top.ICEcoder.savedPoints[top.ICEcoder.selectedTab-1]=a.changeGeneration();top.ICEcoder.savedContents[top.ICEcoder.selectedTab-1]=a.getValue()},undo:function(){var a,b;a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();(-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?
|
||||
b:a).undo()},redo:function(){var a,b;a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();(-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a).redo()},indent:function(a){var b,c;b=ICEcoder.getcMInstance();c=ICEcoder.getcMdiffInstance();b=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;"more"==a?top.ICEcoder.content.contentWindow.CodeMirror.commands.indentMore(b):top.ICEcoder.content.contentWindow.CodeMirror.commands.indentLess(b)},moveLines:function(a){var b,c,d,e,f,g,k;b=top.ICEcoder.getcMInstance();
|
||||
c=top.ICEcoder.getcMdiffInstance();d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;e=d.getCursor("start");f=d.getCursor("end");"up"==a&&0<e.line&&(g=e.line-1);"down"==a&&f.line<d.lineCount()-1&&(g=f.line+1);isNaN(g)||(k=d.getLine(g),d.operation(function(){if("up"==a)for(var b=e.line;b<=f.line;b++)d.replaceRange(d.getLine(b),{line:b-1,ch:0},{line:b-1,ch:1E6});else for(b=f.line;b>=e.line;b--)d.replaceRange(d.getLine(b),{line:b+1,ch:0},{line:b+1,ch:1E6});d.replaceRange(k,{line:"up"==a?f.line:
|
||||
e.line,ch:0},{line:"up"==a?f.line:e.line,ch:1E6});d.setSelection({line:e.line+("up"==a?-1:1),ch:e.ch},{line:f.line+("up"==a?-1:1),ch:f.ch})}))},highlightLine:function(a){var b,c;b=top.ICEcoder.getcMInstance();c=top.ICEcoder.getcMdiffInstance();b=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;b.setSelection({line:a,ch:0},{line:a,ch:b.lineInfo(a).text.length})},focus:function(a){var b,c;/iPhone|iPad|iPod/i.test(navigator.userAgent)||(b=top.ICEcoder.getcMInstance(),c=top.ICEcoder.getcMdiffInstance(),
|
||||
(a=a?c:b)&&a.focus())},goToLine:function(a){var b,c;b=ICEcoder.getcMInstance();c=ICEcoder.getcMdiffInstance();(-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b).setCursor(a?a-1:top.get("goToLineNo").value-1);top.ICEcoder.focus();setTimeout(function(){top.ICEcoder.focus()},0);return!1},lineCommentToggle:function(){var a,b,c,d;a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;b=a.getCursor().ch;c=a.getCursor().line;d=a.getLine(c);
|
||||
ICEcoder.lineCommentToggleSub(a,b,c,d,d.length)},tagWrapper:function(a){var b,c,d,e,f;b=ICEcoder.getcMInstance();c=ICEcoder.getcMdiffInstance();d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;b=a;"div"==a?(e=d.getCursor("start").line,f=d.getCursor().line,d.operation(function(){d.replaceSelection("<div>\n"+d.getSelection()+"\n</div>","around");for(var a=e+1;a<=f+1;a++)d.indentLine(a);d.indentLine(f+2,"prev");d.indentLine(f+2,"subtract")})):-1<["p","a","h1","h2","h3"].indexOf(a)&&d.getSelection().substr(0,
|
||||
a.length+1)=="<"+b&&d.getSelection().substr(-(a.length+3))=="</"+a+">"?d.replaceSelection(d.getSelection().substr(d.getSelection().indexOf(">")+1,d.getSelection().length-d.getSelection().indexOf(">")-1-a.length-3),"around"):("a"==a&&(b='a href=""'),d.replaceSelection("<"+b+">"+d.getSelection()+"</"+a+">","around"),"a"==a&&d.setCursor({line:d.getCursor("start").line,ch:d.getCursor("start").ch+9}))},addLineBreakAtEnd:function(a){var b,c;b=ICEcoder.getcMInstance();c=ICEcoder.getcMdiffInstance();b=-1<
|
||||
top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;a||(a=b.getCursor().line);b.replaceRange(b.getLine(a)+"<br>",{line:a,ch:0},{line:a,ch:1E6})},insertLineBefore:function(a){var b,c,d;b=ICEcoder.getcMInstance();c=ICEcoder.getcMdiffInstance();d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;a||(a=d.getCursor().line);d.operation(function(){d.replaceRange("\n"+d.getLine(a),{line:a,ch:0},{line:a,ch:1E6});d.setCursor({line:d.getCursor().line-1,ch:0});d.execCommand("indentAuto")})},insertLineAfter:function(a){var b,
|
||||
c,d;b=ICEcoder.getcMInstance();c=ICEcoder.getcMdiffInstance();d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;a||(a=d.getCursor().line);d.operation(function(){d.replaceRange(d.getLine(a)+"\n",{line:a,ch:0},{line:a,ch:1E6});d.execCommand("indentAuto")})},duplicateLines:function(a){var b,c,d;b=ICEcoder.getcMInstance();c=ICEcoder.getcMdiffInstance();b=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;!a&&b.somethingSelected()?(c=b.getCursor("start"),d=b.getCursor("end"),a=c.line!=d.line&&
|
||||
d.ch==b.getLine(d.line).length?"\n":"",b.replaceSelection(b.getSelection()+a+b.getSelection(),"end"),b.setSelection(c,d)):(a||(a=b.getCursor().line),c=b.getCursor().ch,b.replaceRange(b.getLine(a)+"\n"+b.getLine(a),{line:a,ch:0},{line:a,ch:1E6}),b.setCursor(a+1,c))},removeLines:function(a){var b,c;b=ICEcoder.getcMInstance();c=ICEcoder.getcMdiffInstance();b=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;!a&&b.somethingSelected()?b.replaceSelection("","end"):(a||(a=b.getCursor().line),c=b.getCursor().ch,
|
||||
b.execCommand("deleteLine"),b.setCursor(a-1,c))},jumpToDefinition:function(){var a,b;a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;b=a.getTokenAt(a.getCursor()).string;if(a.somethingSelected()&&top.ICEcoder.origCurorPos)a.setCursor(top.ICEcoder.origCurorPos);else for(top.ICEcoder.origCurorPos=a.getCursor(),a=["var "+b,"function "+b,b+"=function",b+"= function",b+" =function",b+" = function",b+"=new function",b+"= new function",
|
||||
b+" =new function",b+" = new function","window['"+b+"']",'window["'+b+'"]',"this['"+b+"']",'this["'+b+'"]',b+":",b+" :","def "+b,"class "+b],b=0;b<a.length&&!top.ICEcoder.findReplace(a[b],!1,!1);b++);},autocomplete:function(){var a,b;a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;top.ICEcoder.content.contentWindow.CodeMirror.commands.autocomplete(a)},pasteURL:function(a){var b,c;b=top.ICEcoder.getcMInstance();c=top.ICEcoder.getcMdiffInstance();
|
||||
b=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;"CTRL"==top.ICEcoder.draggingWithKey&&(a=window.location.protocol+"//"+window.location.hostname+a);b.replaceSelection(a,"around")},searchForSelected:function(){var a,b;a=top.ICEcoder.getcMInstance();b=top.ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;top.ICEcoder.caretLocType&&(""!=a.getSelection()?(b=top.ICEcoder.caretLocType.toLowerCase()+" ","Content"==top.ICEcoder.caretLocType&&(b=""),window.open("http://www.google.com/#output=search&q="+
|
||||
b+a.getSelection())):top.ICEcoder.message(top.t["No text selected..."]))},fmAction:function(a,b){var c,d,e,f;c=top.get("filesFrame").contentWindow.document.getElementById(top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-1]+"_perms").parentNode;d=c.parentNode;e=-1<c.onmouseover.toString().indexOf("'folder'")?"folder":"file";f=!1;"up"==b&&(d.previousSibling&&d.previousSibling.previousSibling?(f=d.previousSibling.previousSibling,"UL"==f.tagName&&(f=f.childNodes[f.childNodes.length-1])):d.parentNode.previousSibling&&
|
||||
(f=d.parentNode.previousSibling),f&&(f=f.childNodes[0]));"down"==b&&(d.nextSibling&&d.nextSibling.childNodes[0]?f=d.nextSibling.childNodes[0]:d.nextSibling&&d.nextSibling.nextSibling?f=d.nextSibling.nextSibling:d.parentNode.nextSibling&&(f=d.parentNode.nextSibling.nextSibling),f&&(f=f.childNodes[0]));"left"==b&&"folder"==e&&d.parentNode.previousSibling&&top.ICEcoder.openCloseDir(c,!1);if("right"==b||"enter"==b)"folder"==e?top.ICEcoder.openCloseDir(c,!0):top.ICEcoder.openFile(c.childNodes[1].id.replace(/\|/g,
|
||||
"/"));f&&f.childNodes[1]&&(top.ICEcoder.overFileFolder(e,f.childNodes[1].id),top.ICEcoder.selectFileFolder(a))},openCloseDir:function(a,b){var c,d;a.onclick=function(a){a.ctrlKey||top.ICEcoder.cmdKey||top.ICEcoder.openCloseDir(this,!b)};c=a.parentNode;c.nextSibling&&(c=c.nextSibling);c&&"UL"==c.tagName&&((d="none"==c.style.display)?b=!0:c.style.display="none",a.parentNode.className=a.className=d?"pft-directory dirOpen":"pft-directory");b?top.ICEcoder.filesFrame.contentWindow.frames.fileControl.location.href=
|
||||
"lib/get-branch.php?location="+a.childNodes[1].id+"&csrf="+top.ICEcoder.csrf:"UL"==c.tagName&&c.parentNode.removeChild(c);return!1},overFileFolder:function(a,b){ICEcoder.thisFileFolderType=a;ICEcoder.thisFileFolderLink=b},selectFileFolder:function(a,b,c){var d,e,f;if(""==top.ICEcoder.thisFileFolderLink)b||a.ctrlKey||top.ICEcoder.cmdKey||top.ICEcoder.deselectAllFiles();else if(top.ICEcoder.thisFileFolderLink)if(e=top.ICEcoder.thisFileFolderLink.replace(/\//g,"|"),d=top.ICEcoder.filesFrame.contentWindow.document.getElementById(e),
|
||||
b||a.ctrlKey||top.ICEcoder.cmdKey)-1<top.ICEcoder.selectedFiles.indexOf(e)?(ICEcoder.selectDeselectFile("deselect",d),top.ICEcoder.selectedFiles.splice(top.ICEcoder.selectedFiles.indexOf(e),1)):(ICEcoder.selectDeselectFile("select",d),top.ICEcoder.selectedFiles.push(e));else if(c||a.shiftKey){var g=function(a,b,c,d){return("00000000000000000000"+a).substr(-20)};a=!1;b=d.parentNode.parentNode.parentNode;f=top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-1];c=e.replace(/\d+/g,g)<f.replace(/\d+/g,
|
||||
g)?e:f;f=e.replace(/\d+/g,g)>f.replace(/\d+/g,g)?e:f;if(0<top.ICEcoder.selectedFiles.length&&c.substr(0,c.lastIndexOf("|"))==f.substr(0,f.lastIndexOf("|")))for(e=0;1E6>e&&("LI"!=b.childNodes[e].nodeName&&e++,d=b.childNodes[e].childNodes[0].childNodes[1],d.id==c&&(a=!0),1==a&&-1==top.ICEcoder.selectedFiles.indexOf(d.id)&&(ICEcoder.selectDeselectFile("select",d),top.ICEcoder.selectedFiles.push(d.id)),d.id!=f);e+=2);else ICEcoder.selectDeselectFile("select",d),top.ICEcoder.selectedFiles.push(e)}else top.ICEcoder.deselectAllFiles(),
|
||||
ICEcoder.selectDeselectFile("select",d),top.ICEcoder.selectedFiles.push(e);top.ICEcoder.githubDiff&&(top.get("githubNavSelectedCount").innerHTML="Selected: "+top.ICEcoder.selectedFiles.length,top.get("githubNavCommit").style.color=0<top.ICEcoder.selectedFiles.length?"#fff":"#333",top.get("githubNavCommit").style.background=0<top.ICEcoder.selectedFiles.length?"#2187e7":"#555",top.get("githubNavSelectedCount").style.color=0<top.ICEcoder.selectedFiles.length?"#fff":"#333",top.get("githubNavPull").style.color=
|
||||
0<top.ICEcoder.selectedFiles.length?"#fff":"#333",top.get("githubNavPull").style.background=0<top.ICEcoder.selectedFiles.length?"#2187e7":"#555");document.findAndReplace.target[2].innerHTML=top.ICEcoder.selectedFiles[0]?top.t["selected files"]:top.t["all files"];document.findAndReplace.target[3].innerHTML=top.ICEcoder.selectedFiles[0]?top.t["selected filenames"]:top.t["all filenames"];top.ICEcoder.hideFileMenu()},deselectAllFiles:function(){for(var a,b=0;b<top.ICEcoder.selectedFiles.length;b++)a=
|
||||
top.ICEcoder.filesFrame.contentWindow.document.getElementById(top.ICEcoder.selectedFiles[b]),ICEcoder.selectDeselectFile("deselect",a);top.ICEcoder.selectedFiles.length=0},selectDeselectFile:function(a,b){var c;b&&(c=-1<top.ICEcoder.openFiles.indexOf(b.id.replace(/\|/g,"/"))?!0:!1,top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1]==b.id.replace(/\|/g,"/")?b.style.backgroundColor="select"==a?top.ICEcoder.tabBGselected:top.ICEcoder.tabBGcurrent:b.style.backgroundColor="select"==a?top.ICEcoder.tabBGselected:
|
||||
b.style.backgroundColor=c?top.ICEcoder.tabBGopen:top.ICEcoder.tabBGnormal,b.style.color="select"==a?top.ICEcoder.tabFGselected:top.ICEcoder.tabFGnormalFile)},boxSelect:function(a,b){var c,d;c=top.ICEcoder.filesFrame.contentWindow.document.getElementById("fmDragBox");"down"==b&&(top.ICEcoder.fmDragBoxStartX=top.ICEcoder.mouseX,top.ICEcoder.fmDragBoxStartY=top.ICEcoder.mouseY,top.ICEcoder.fmDragSelectFirst="",top.ICEcoder.fmDragSelectLast="");top.ICEcoder.mouseDown&&"drag"==b&&(top.ICEcoder.fmDraggedBox=
|
||||
!0,d=0<top.ICEcoder.mouseX-top.ICEcoder.fmDragBoxStartX,c.style.left=(d?top.ICEcoder.fmDragBoxStartX:top.ICEcoder.mouseX)+"px",c.style.width=Math.abs(top.ICEcoder.mouseX-top.ICEcoder.fmDragBoxStartX)+"px",d=0<top.ICEcoder.mouseY-top.ICEcoder.fmDragBoxStartY,c.style.top=(d?top.ICEcoder.fmDragBoxStartY-70:top.ICEcoder.mouseY-70)+"px",c.style.height=Math.abs(top.ICEcoder.mouseY-top.ICEcoder.fmDragBoxStartY)+"px",""!=top.ICEcoder.thisFileFolderLink&&(""==top.ICEcoder.fmDragSelectFirst?(top.ICEcoder.fmDragSelectFirst=
|
||||
top.ICEcoder.thisFileFolderLink,top.ICEcoder.overFileFolder(0<top.ICEcoder.thisFileFolderLink.indexOf(".")?"file":"folder",top.ICEcoder.fmDragSelectFirst),top.ICEcoder.selectFileFolder(a)):(top.ICEcoder.fmDragSelectLast=top.ICEcoder.thisFileFolderLink,top.ICEcoder.overFileFolder(0<top.ICEcoder.thisFileFolderLink.indexOf(".")?"file":"folder",top.ICEcoder.fmDragSelectLast),top.ICEcoder.selectFileFolder(a,!1,"shiftSim"))));"up"==b&&(c.style.width=0,c.style.height=0)},newFile:function(){top.ICEcoder.newTab("alsoSave")},
|
||||
newFolder:function(){var a,b;a=top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-1].replace(/\|/g,"/");if(b=top.ICEcoder.getInput("Enter new folder name at "+a,""))b=(a+"/"+b).replace(/\/\//,"/"),top.ICEcoder.serverQueue("add","lib/file-control-xhr.php?action=newFolder&csrf="+top.ICEcoder.csrf,b.replace(/\//g,"|")),top.ICEcoder.serverMessage("<b>"+top.t["Creating Folder"]+"</b><br>"+b)},returnFileAndLine:function(a){var b=1,c=/^([^ ]*)\s+(on\s+)?(line\s+)?(\d+)/.exec(a);null!==c?(b=c[4],
|
||||
a=c[1]):0<a.indexOf("://")?a.lastIndexOf(":")!==a.indexOf("://")&&(b=a.split(":")[2],a=a.substr(0,a.lastIndexOf(":"))):0<a.indexOf(":")&&(b=a.split(":")[1],a=a.split(":")[0]);0<a.indexOf("(")&&0<a.indexOf(")")&&(b=a.split("(")[1].split(")")[0],a=a.split("(")[0]);return[a,b]},openFile:function(a){var b,c;"undefined"!=typeof a&&(b=top.ICEcoder.returnFileAndLine(a),a=b[0],b=b[1]);a&&(top.ICEcoder.thisFileFolderLink=a,top.ICEcoder.thisFileFolderType="file");"/[NEW]"!=top.ICEcoder.thisFileFolderLink&&
|
||||
!1!==top.ICEcoder.isOpen(top.ICEcoder.thisFileFolderLink)?(top.ICEcoder.switchTab(top.ICEcoder.isOpen(top.ICEcoder.thisFileFolderLink)+1),1<b&&top.ICEcoder.goToLine(b)):""!=top.ICEcoder.thisFileFolderLink&&"file"==top.ICEcoder.thisFileFolderType&&(a=top.ICEcoder.thisFileFolderLink.replace(/\|/g,"/"),c=!0,100<=top.ICEcoder.openFiles.length&&(top.ICEcoder.message(top.t["Sorry you can..."]),c=!1),c&&(top.ICEcoder.shortURL=a,"/[NEW]"!=a?(top.ICEcoder.thisFileFolderLink=top.ICEcoder.thisFileFolderLink.replace(/\//g,
|
||||
"|"),top.ICEcoder.serverQueue("add","lib/file-control.php?action=load&file="+top.ICEcoder.thisFileFolderLink+"&csrf="+top.ICEcoder.csrf+"&lineNumber="+b),top.ICEcoder.serverMessage("<b>"+top.t["Opening File"]+"</b><br>"+top.ICEcoder.shortURL)):top.ICEcoder.createNewTab("new"),top.ICEcoder.fMIconVis("fMView",1)))},openFilesFromList:function(a){for(var b=0;b<a.length;b++)top.ICEcoder.thisFileFolderLink=a[b].replace("|","/"),top.ICEcoder.thisFileFolderType="file",top.ICEcoder.openFile()},openPrompt:function(){var a;
|
||||
if(a=top.ICEcoder.getInput(top.t["Enter relative file..."],""))-1<a.indexOf("://")?top.ICEcoder.getRemoteFile(a):top.ICEcoder.openFile(a)},getRemoteFile:function(a){var b;"undefined"!=typeof a&&(b=top.ICEcoder.returnFileAndLine(a),a=b[0],b=b[1]);top.ICEcoder.serverQueue("add","lib/file-control-xhr.php?action=getRemoteFile&csrf="+top.ICEcoder.csrf+"&lineNumber="+b,a);top.ICEcoder.serverMessage("<b>"+top.t.Getting+"</b><br>"+a)},saveFile:function(a){var b,c;a=a?"saveAs":"save";b=ICEcoder.openFiles[ICEcoder.selectedTab-
|
||||
1].replace(top.iceRoot,"").replace(/\//g,"|");"|[NEW]"==b&&0<top.ICEcoder.selectedFiles.length&&(c=top.ICEcoder.selectedFiles[0],b=-1==c.lastIndexOf(".")||c.lastIndexOf(".")<c.lastIndexOf("|")?c+b:"|[NEW]");b=b.replace("||","|");top.ICEcoder.serverQueue("add","lib/file-control-xhr.php?action=save&fileMDT="+ICEcoder.openFileMDTs[ICEcoder.selectedTab-1]+"&saveType="+a+"&csrf="+top.ICEcoder.csrf,b);top.ICEcoder.serverMessage("<b>"+top.t.Saving+"</b><br>"+ICEcoder.openFiles[ICEcoder.selectedTab-1].replace(top.iceRoot,
|
||||
""))},renameFile:function(a,b){var c,d;a?c=a.replace(/\|/g,"/"):(c=top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-1].replace(/\|/g,"/"),a=top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-1].replace(/\|/g,"/"));b||(b=top.ICEcoder.getInput(top.t["Please enter the..."],c));b&&(d=top.ICEcoder.openFiles.indexOf(c.replace(/\|/g,"/")),-1<d&&(top.ICEcoder.openFiles[d]=b,closeTabLink='<a nohref onClick="top.ICEcoder.closeTab(parseInt(this.parentNode.id.slice(3),10))"><img src="images/nav-close.gif" class="closeTab" onMouseOver="prevBG=this.style.backgroundColor;this.style.backgroundColor=\'#333\'; top.ICEcoder.overCloseLink=true" onMouseOut="this.style.backgroundColor=prevBG; top.ICEcoder.overCloseLink=false"></a>',
|
||||
c=top.ICEcoder.openFiles[d],top.get("tab"+(d+1)).innerHTML=closeTabLink+" "+c.slice(c.lastIndexOf("/")).replace(/\//,""),top.get("tab"+(d+1)).title=b),top.ICEcoder.serverQueue("add","lib/file-control-xhr.php?action=rename&oldFileName="+a.replace(/\|/g,"/")+"&csrf="+top.ICEcoder.csrf,b),top.ICEcoder.serverMessage("<b>"+top.t["Renaming to"]+"</b><br>"+b),top.ICEcoder.setPreviousFiles())},moveFile:function(a,b){var c,d;b&&(d=top.ICEcoder.openFiles.indexOf(a.replace(/\|/g,"/")),-1<d&&(top.ICEcoder.openFiles[d]=
|
||||
b,closeTabLink='<a nohref onClick="top.ICEcoder.closeTab(parseInt(this.parentNode.id.slice(3),10))"><img src="images/nav-close.gif" class="closeTab" onMouseOver="prevBG=this.style.backgroundColor;this.style.backgroundColor=\'#333\'; top.ICEcoder.overCloseLink=true" onMouseOut="this.style.backgroundColor=prevBG; top.ICEcoder.overCloseLink=false"></a>',c=top.ICEcoder.openFiles[d],top.get("tab"+(d+1)).innerHTML=closeTabLink+" "+c.slice(c.lastIndexOf("/")).replace(/\//,""),top.get("tab"+(d+1)).title=
|
||||
b),top.ICEcoder.ask("Are you sure you want to move file "+a+" to "+b+" ?")&&(top.ICEcoder.serverQueue("add","lib/file-control-xhr.php?action=move&oldFileName="+a.replace(/\//g,"|")+"&csrf="+top.ICEcoder.csrf,b.replace(/\//g,"|")),top.ICEcoder.serverMessage("<b>"+top.t["Moving to"]+"</b><br>"+b)),top.ICEcoder.setPreviousFiles())},deleteFiles:function(a){var b;a=a?a:top.ICEcoder.selectedFiles;b=a.toString().replace(/\|/g,"/").replace(/,/g,"\n");0<a.length&&top.ICEcoder.ask("Delete:\n\n"+b+"?")&&(top.ICEcoder.serverQueue("add",
|
||||
"lib/file-control-xhr.php?action=delete&&csrf="+top.ICEcoder.csrf,a.join(";")),top.ICEcoder.serverMessage("<b>"+top.t["Deleting File"]+"</b><br>"+b))},copyFiles:function(a,b,c){top.ICEcoder.copiedFiles=[];for(var d=0;d<a.length;d++)top.ICEcoder.copiedFiles[d]=a[d];b||(top.get("fmMenuPasteOption").style.display="block");c||top.ICEcoder.hideFileMenu()},pasteFiles:function(a){if(top.ICEcoder.copiedFiles)for(var b=0;b<top.ICEcoder.copiedFiles.length;b++)"|"!=top.ICEcoder.copiedFiles[b]?(top.ICEcoder.serverQueue("add",
|
||||
"lib/file-control-xhr.php?action=paste&location="+a+"&csrf="+top.ICEcoder.csrf,top.ICEcoder.copiedFiles[b]),top.ICEcoder.serverMessage("<b>"+top.t["Pasting File"]+"</b><br>"+top.ICEcoder.copiedFiles[b].toString().replace(/\|/g,"/").replace(/,/g,"\n"))):top.ICEcoder.message(top.t["Sorry cannot paste..."]);else top.ICEcoder.message(top.t["Nothing to paste..."])},duplicateFiles:function(a){var b;top.ICEcoder.copiedFiles&&(b=top.ICEcoder.copiedFiles);top.ICEcoder.copyFiles(a,"dontShowPaste","dontHide");
|
||||
a=a[0].substr(0,a[0].lastIndexOf("|"));top.ICEcoder.pasteFiles(a);"undefined"!=typeof b&&(top.ICEcoder.copiedFiles=b)},uploadFilesSelect:function(a){top.get("uploadDir").value=a;top.get("fileInput").click()},uploadFilesSubmit:function(a){""!=top.get("fileInput").value&&(top.ICEcoder.showHide("show",top.get("loadingMask")),top.get("uploadFilesForm").submit(),event.preventDefault())},showHideFileNav:function(a,b){var c=["optionsFile","optionsEdit","optionsSource","optionsHelp"];if("hide"==a)fileNavInt=
|
||||
setTimeout(function(){for(var a=0;a<c.length;a++)top.ICEcoder.showHide("hide",top.get(c[a])),top.get(c[a]+"Nav").style.color=""},150);else for(var d=0;d<c.length;d++)top.ICEcoder.showHide("hide",top.get(c[d])),top.get(c[d]+"Nav").style.color="";get("fileOptions").style.opacity=0;"show"==a&&("undefined"!=typeof fileNavInt&&clearTimeout(fileNavInt),top.ICEcoder.showHide(a,top.get(b)),top.get(b+"Nav").style.color="#fff",get("fileOptions").style.opacity=1)},isPathFolder:function(a){a=top.ICEcoder.filesFrame.contentDocument.getElementsByClassName("pft-directory");
|
||||
for(var b=top.ICEcoder.selectedFiles[0],c,d=0;d<a.length;d++)if(c=a[d],"underfined"!=typeof c&&(c=c.childNodes[0],"undefined"!=typeof c&&(c=c.childNodes[1],"undefined"!=typeof c&&b===c.getAttribute("id"))))return!0;return!1},showMenu:function(a){var b,c;0!=top.ICEcoder.selectedFiles.length&&-1!=top.ICEcoder.selectedFiles.indexOf(top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-1].replace(/\//g,"|"))||top.ICEcoder.selectFileFolder(a);a=129;c=window.innerHeight;"undefined"!=typeof top.ICEcoder.thisFileFolderLink&&
|
||||
""!=top.ICEcoder.thisFileFolderLink&&(b=this.isPathFolder(top.ICEcoder.selectedFiles[0])?"folder":"file",top.get("folderMenuItems").style.display="folder"==b&&1==top.ICEcoder.selectedFiles.length?"block":"none","folder"==b&&1==top.ICEcoder.selectedFiles.length&&(a+=67,"block"==top.get("fmMenuPasteOption").style.display&&(a+=19)),top.get("singleFileMenuItems").style.display=1<top.ICEcoder.selectedFiles.length?"none":"block",1==top.ICEcoder.selectedFiles.length&&(a+=43),top.get("fileMenu").style.display=
|
||||
"inline-block",setTimeout(function(){top.get("fileMenu").style.opacity="1"},4),top.get("fileMenu").style.left=top.ICEcoder.mouseX+20+"px",b=top.ICEcoder.mouseY-top.ICEcoder.filesFrame.contentWindow.document.body.scrollTop-10,b+a>c&&(b-=b+a-c),top.get("fileMenu").style.top=b+"px");return!1},showFileMenu:function(){top.get("fileMenu").style.display="inline-block";setTimeout(function(){top.get("fileMenu").style.opacity="1"},4)},hideFileMenu:function(){top.get("fileMenu").style.display="none";top.get("fileMenu").style.opacity=
|
||||
"0"},updateFileManagerList:function(a,b,c,d,e,f,g){var h,k,l,p,n,m,q;if("add"==a&&!top.get("filesFrame").contentWindow.document.getElementById(b.replace(top.iceRoot,"").replace(/\/$/,"").replace(/\//g,"|")+"|"+c)){h="file"==g?"pft-file ext-"+c.substr(c.indexOf(".")+1):"pft-directory";d="file"==g?top.ICEcoder.newFilePerms:top.ICEcoder.newDirPerms;b||(b="/");b=b.replace(top.iceRoot,"/");b=b.replace("//","/");k=top.get("filesFrame").contentWindow.document.getElementById(b.replace(/\//g,"|"));l=k.parentNode.parentNode.nextSibling;
|
||||
p=document.createTextNode("\n");n=777==d?"background: #800; color: #eee":"color: #888";n='<a nohref title="'+b.replace(/\/$/,"")+"/"+c+'" onMouseOver="parentNode.draggable=true;top.ICEcoder.overFileFolder(\''+g+"',this.childNodes[1].id)\" onMouseOut=\"parentNode.draggable=false;top.ICEcoder.overFileFolder('"+g+"','')\" "+("folder"==g?"ondragover=\"if(parentNode.nextSibling && parentNode.nextSibling.tagName != 'UL' && top.ICEcoder.thisFileFolderLink != this.childNodes[1].id) {top.ICEcoder.openCloseDir(this,true);}\"":
|
||||
"")+' onClick="if(!event.ctrlKey && !top.ICEcoder.cmdKey) {'+("folder"==g?"top.ICEcoder.openCloseDir(this,"+("folder"==g?"true":"false")+");":"")+' if (/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)) {top.ICEcoder.openFile()}}" style="position: relative; left:-22px"> <span id="'+b.replace(/\/$/,"").replace(/\//g,"|")+"|"+c+'">'+c+'</span> <span style="'+n+'; font-size: 8px" id="'+b.replace(/\/$/,"").replace(/\//g,"|")+"|"+c+'_perms">'+
|
||||
d+"</span></a>";if(3>l.childNodes.length)m=document.createElement("ul"),l=k.parentNode.parentNode,l.parentNode.insertBefore(m,l.nextSibling),m=document.createElement("li"),m.className=h,m.draggable=!1,m.ondrag=function(a){top.ICEcoder.draggingWithKeyTest(a);top.ICEcoder.getcMInstance()&&(-1==top.ICEcoder.editorFocusInstance.indexOf("diff")?top.ICEcoder.getcMInstance().focus():top.ICEcoder.getcMdiffInstance().focus())},m.ondragend=function(){top.ICEcoder.dropFile(this)},m.innerHTML=n,l.nextSibling.appendChild(m),
|
||||
l.nextSibling.appendChild(p);else for(k=0;k<l.childNodes.length;k++)if(l.childNodes[k].className&&(m=0<l.childNodes[k].className.indexOf("directory")?"folder":"file",q=l.childNodes[k].getElementsByTagName("span")[0].innerHTML,m==g&&q>c||"folder"==g&&"file"==m||k==l.childNodes.length-1)){m=document.createElement("li");m.className=h;m.draggable=!1;m.ondrag=function(a){top.ICEcoder.draggingWithKeyTest(a);top.ICEcoder.getcMInstance()&&(-1==top.ICEcoder.editorFocusInstance.indexOf("diff")?top.ICEcoder.getcMInstance().focus():
|
||||
top.ICEcoder.getcMdiffInstance().focus())};m.ondragend=function(){top.ICEcoder.dropFile(this)};m.innerHTML=n;k==l.childNodes.length-1?(l.appendChild(m),l.appendChild(p)):(l.insertBefore(m,l.childNodes[k]),l.insertBefore(p,l.childNodes[k+1]));break}"file"!=g||f||(top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1]=b+c)}"rename"==a&&(f=e.replace(/\//g,"|"),k=top.get("filesFrame").contentWindow.document.getElementById(f),k.innerHTML=c,k.id=b.replace(/\//g,"|")+"|"+c,k.parentNode.title=k.id.replace(/\|/g,
|
||||
"/"),targetElemPerms=top.get("filesFrame").contentWindow.document.getElementById(f+"_perms"),targetElemPerms.id=b.replace(/\//g,"|")+"|"+c+"_perms",top.ICEcoder.renameInChildren(k,e,b,c));"move"==a&&(top.ICEcoder.updateFileManagerList("add",b,c,!1,!1,!1,g),top.ICEcoder.updateFileManagerList("delete",e.substr(0,e.lastIndexOf("/")),c));"chmod"==a&&(f=top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-1].replace(/\|/g,"/"),k=top.get("filesFrame").contentWindow.document.getElementById(f.replace(/\//g,
|
||||
"|")+"_perms"),k.style.background=777==d?"#800":"none",k.style.color=777==d?"#eee":"#888",k.innerHTML=d);"delete"==a&&(b||(b=""),b=b.replace(top.iceRoot,"/"),b=b.replace("//","/"),b=b.replace(/\/$/,"").replace(/\//g,"|"),k=(b+"|"+c).replace("||","|"),k=top.get("filesFrame").contentWindow.document.getElementById(k).parentNode.parentNode,top.ICEcoder.openCloseDir(k.childNodes[0],!1),k.parentNode.removeChild(k))},renameInChildren:function(a,b,c,d){var e,f;if(a.parentNode.parentNode.nextSibling&&"UL"==
|
||||
a.parentNode.parentNode.nextSibling.nodeName){a=a.parentNode.parentNode.nextSibling;for(var g=0;g<a.childNodes.length;g++)"LI"==a.childNodes[g].nodeName&&(e=a.childNodes[g].childNodes[0].childNodes[1],e.id=e.id.replace(b.replace(/\//g,"|"),c.replace(/\//g,"|")+"|"+d),e.parentNode.title=e.id.replace(/\|/g,"/"),f=top.get("filesFrame").contentWindow.document.getElementById(e.id).nextSibling.nextSibling,f.id=e.id+"_perms",top.ICEcoder.renameInChildren(e,b,c,d))}},refreshFileManager:function(){top.ICEcoder.showHide("show",
|
||||
top.get("loadingMask"));top.ICEcoder.filesFrame.contentWindow.location.reload(!0);top.ICEcoder.filesFrame.style.opacity="0";top.ICEcoder.filesFrame.onload=function(){top.ICEcoder.filesFrame.style.opacity="1";top.ICEcoder.showHide("hide",top.get("loadingMask"))}},draggingWithKeyTest:function(a){var b;b=a.keyCode?a.keyCode:a.which?a.which:a.charCode;if(224==b||91==b||93==b)top.ICEcoder.cmdKey=!0;top.ICEcoder.draggingWithKey=a.ctrlKey||top.ICEcoder.cmdKey?"CTRL":!1},dropFile:function(a){var b,c;b=a.childNodes[0].childNodes[1].id.replace(/\|/g,
|
||||
"/");fileName=b.substr(b.lastIndexOf("/")+1);"editor"==top.ICEcoder.area&&top.ICEcoder.pasteURL(b);"files"==top.ICEcoder.area&&setTimeout(function(){c="folder"==ICEcoder.thisFileFolderType?ICEcoder.thisFileFolderLink:ICEcoder.thisFileFolderLink.substr(0,ICEcoder.thisFileFolderLink.lastIndexOf("|"));"CTRL"==top.ICEcoder.draggingWithKey?(top.ICEcoder.copyFiles(top.ICEcoder.selectedFiles),top.ICEcoder.pasteFiles(c)):top.ICEcoder.moveFile(b,c.replace(/\|/g,"/")+"/"+fileName)},4);top.ICEcoder.mouseDown=
|
||||
!1},findReplaceOptions:function(){top.get("rText").style.display=top.get("replace").style.display=top.get("rTarget").style.display=document.findAndReplace.connector.value==top.t.and?"inline-block":"none"},findReplace:function(a,b,c,d,e){var f,g,h;if(d)top.get("find").value=top.get("find").value,top.ICEcoder.focus();else{"undefined"==typeof e&&(e=!1);a=a.toLowerCase();f=top.get("replace").value;g=top.get("results");d=ICEcoder.getcMInstance();h=ICEcoder.getcMdiffInstance();if((d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?
|
||||
h:d)&&0<a.length&&document.findAndReplace.target.value==top.t["this document"]){d.getValue().toLowerCase();document.findAndReplace.connector.value==top.t.and&&c&&(document.findAndReplace.replaceAction.value==top.t.replace&&d.getSelection().toLowerCase()==a?d.replaceSelection(f,"around"):document.findAndReplace.replaceAction.value==top.t["replace all"]&&(c=new RegExp(a,"gi"),d.setValue(d.getValue().replace(c,f))));c=d.getValue().toLowerCase();if(!top.ICEcoder.findMode||a!=top.ICEcoder.lastsearch){ICEcoder.results=
|
||||
[];ICEcoder.resultsLines=[];for(f=0;f<c.length;f++)c.substr(f,a.length)==a&&-1==ICEcoder.results.indexOf(f)&&(ICEcoder.results.push(f),-1==ICEcoder.resultsLines.indexOf(d.posFromIndex(f).line+1)&&ICEcoder.resultsLines.push(d.posFromIndex(f).line+1));ICEcoder.lastsearch=a}if(0<ICEcoder.results.length){if(b)g.innerHTML=ICEcoder.results.length+" results";else{if(e)for(ICEcoder.findResult="undefined"==typeof ICEcoder.findResult?ICEcoder.results.length+1:ICEcoder.results.length,f=ICEcoder.results.length-
|
||||
1;0<=f;f--)ICEcoder.results[f]>d.indexFromPos({ch:d.getCursor().ch-1,line:d.getCursor().line})&&ICEcoder.findResult--;else for(f=ICEcoder.findResult=0;f<ICEcoder.results.length;f++)ICEcoder.results[f]<d.indexFromPos({ch:d.getCursor().ch+1,line:d.getCursor().line})&&ICEcoder.findResult++;!e&&ICEcoder.findResult>ICEcoder.results.length-1&&(ICEcoder.findResult=0);e&&1==ICEcoder.findResult&&(ICEcoder.findResult=ICEcoder.results.length+1);g.innerHTML="Highlighted result "+(ICEcoder.findResult+(e?-1:1))+
|
||||
" of "+ICEcoder.results.length+" results";e?(b=d.getSearchCursor(a,{ch:d.getCursor().ch-1,line:d.getCursor().line},!0),b.findPrevious(),b.from()||(b=d.getSearchCursor(a,{line:1E6,ch:1E6},!0),b.findPrevious())):(b=d.getSearchCursor(a,{ch:d.getCursor().ch+1,line:d.getCursor().line},!0),b.findNext(),b.from()||(b=d.getSearchCursor(a,{line:0,ch:0},!0),b.findNext()));d.setSelection(b.from(),b.to());top.ICEcoder.focus();top.ICEcoder.findMode=!0}a=top.ICEcoder.scrollBarVisible?parseInt(top.ICEcoder.content.style.height,
|
||||
10)/d.lineCount():d.defaultTextHeight();b=top.ICEcoder.scrollBarVisible?0:d.heightAtLine(0);e="";for(f=1;f<=d.lineCount();f++)g=-1<ICEcoder.resultsLines.indexOf(f)?d.getCursor().line+1==f?"#b00":"#888":"transparent",e+='<div style="position: absolute; display: block; width: 5px; height:'+a+"px; background: "+g+"; top: "+parseInt(a*(f-1)+b,10)+'px"></div>';top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").innerHTML=e;top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").style.display=
|
||||
"inline-block";return!0}g.innerHTML="No results";top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").innerHTML="";top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").style.display="none";return!1}""!=a&&c?(e=b=d="",document.findAndReplace.connector.value==top.t.and&&(d="&replace="+f),0<=document.findAndReplace.target.value.indexOf(top.t.file)&&(b="&target="+document.findAndReplace.target.value.replace(/ /g,"-")),document.findAndReplace.target.value==top.t["selected files"]&&
|
||||
(e="&selectedFiles="+top.ICEcoder.selectedFiles.join(":")),a=a.replace(/\'/g,"'"),a!=encodeURIComponent(a)?a="ICEcoder:"+encodeURIComponent(a):a,top.ICEcoder.showHide("show",top.get("loadingMask")),top.get("mediaContainer").innerHTML='<iframe src="lib/multiple-results.php?find='+a+d+b+e+"&csrf="+top.ICEcoder.csrf+'" class="whiteGlow" style="width: 700px; height: 500px"></iframe>'):(g.innerHTML="No results",top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").innerHTML="",top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").style.display=
|
||||
"none")}},replaceInFile:function(a,b,c){top.ICEcoder.serverQueue("add","lib/file-control-xhr.php?action=replaceText&find="+b+"&replace="+c+"&csrf="+top.ICEcoder.csrf,a.replace(/\//g,"|"));top.ICEcoder.serverMessage("<b>"+top.t["Replacing text in"]+"</b><br>"+a)},getCaretPosition:function(){var a,b,c,d;a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;b=a.getCursor().line;c=a.getCursor().ch;for(var e=d=0;e<b;e++)d+=a.getLine(e).length+
|
||||
1;ICEcoder.caretPos=d+c-1},updateCharDisplay:function(){var a,b;a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;ICEcoder.caretLocationType();ICEcoder.charDisplay.innerHTML=ICEcoder.caretLocType+", Line: "+(a.getCursor().line+1)+", Char: "+a.getCursor().ch},updateByteDisplay:function(){var a,b;a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;ICEcoder.byteDisplay.innerHTML=
|
||||
a.getValue().length.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")+" bytes"},showDisplay:function(a){top.ICEcoder.byteDisplay.style.display="byte"==a?"inline-block":"none";top.ICEcoder.charDisplay.style.display="char"==a?"inline-block":"none"},showHide:function(a,b){b.style.visibility="show"==a?"visible":"hidden"},getcMInstance:function(a){return top.ICEcoder.content.contentWindow[isNaN(a)?"new"==a||"new"!=a&&0<ICEcoder.openFiles.length?"cM"+ICEcoder.cMInstances[ICEcoder.selectedTab-1]:"cM1":"cM"+
|
||||
ICEcoder.cMInstances[a-1]]},getcMdiffInstance:function(a){return top.ICEcoder.content.contentWindow[(isNaN(a)?"new"==a||"new"!=a&&0<ICEcoder.openFiles.length?"cM"+ICEcoder.cMInstances[ICEcoder.selectedTab-1]:"cM1":"cM"+ICEcoder.cMInstances[a-1])+"diff"]},getMouseXY:function(a,b){top.ICEcoder.mouseX=a.pageX?a.pageX:a.clientX+document.body.scrollLeft;top.ICEcoder.mouseY=a.pageY?a.pageY:a.clientY+document.body.scrollTop;top.ICEcoder.area=b;"top"!=b&&(top.ICEcoder.mouseY+=70);"editor"==b&&(top.ICEcoder.mouseX+=
|
||||
top.ICEcoder.filesW);top.ICEcoder.dragCursorTest();62<top.ICEcoder.mouseY&&top.ICEcoder.setTabWidths()},dragCursorTest:function(){var a,b;a=top.ICEcoder.mouseX-top.ICEcoder.diffStartX;!1!==top.ICEcoder.draggingTab&&top.ICEcoder.diffStartX&&(-10>=a||10<=a)&&top.ICEcoder.mouseX>parseInt(top.ICEcoder.files.style.width,10)&&(top.ICEcoder.tabDragMouseX=top.ICEcoder.mouseX-parseInt(top.ICEcoder.files.style.width,10)-top.ICEcoder.tabDragMouseXStart,top.ICEcoder.tabDragMove());if(top.ICEcoder.ready&&(top.ICEcoder.mouseDown||
|
||||
(top.ICEcoder.draggingFilesW=!1),a=!ICEcoder.draggingTab&&(top.ICEcoder.mouseX>top.ICEcoder.filesW-7&&top.ICEcoder.mouseX<top.ICEcoder.filesW+7||top.ICEcoder.draggingFilesW)?"w-resize":"auto",top.ICEcoder.content.contentWindow.document&&top.ICEcoder.filesFrame.contentWindow)){top.document.body.style.cursor=a;if(b=top.ICEcoder.content.contentWindow.document.body)b.style.cursor=a;if(b=top.ICEcoder.filesFrame.contentWindow.document.body)b.style.cursor=a}},serverMessage:function(a){var b;b=top.get("serverMessage");
|
||||
a?(b.innerHTML=top.ICEcoder.xssClean(a).replace(/\<b\>/g,"<b>").replace(/\<\/b\>/g,"</b>").replace(/\<br\>/g,"<br>"),b.style.left="0"):setTimeout(function(){b.style.left="2000px"},200);b.style.opacity=a?1:0},cssColorPreview:function(){var a,b,c,d;a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();if(a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a){b=a.getLine(a.getCursor().line);for(c=/(#[\da-f]{3}(?:[\da-f]{3})?\b|\b(?:rgb|hsl)a?\([\s\d%,.-]+\)|\b[a-z]+\b)/gi;(d=
|
||||
(a=a?c:b)&&a.focus())},goToLine:function(a){var b,c,d;a=a?a-1:top.get("goToLineNo").value-1;b=ICEcoder.getcMInstance();c=ICEcoder.getcMdiffInstance();d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;top.ICEcoder.scrollingOnLine=d.getCursor().line;"undefined"!=typeof top.ICEcoder.scrollInt&&clearInterval(top.ICEcoder.scrollInt);top.ICEcoder.scrollInt=setInterval(function(){top.ICEcoder.scrollingOnLine+=(a-top.ICEcoder.scrollingOnLine)/5;d.scrollTo(0,d.defaultTextHeight()*top.ICEcoder.scrollingOnLine-
|
||||
d.getScrollInfo().clientHeight/10);top.ICEcoder.setMinimapLayout(d);Math.round(top.ICEcoder.scrollingOnLine)==a&&clearInterval(top.ICEcoder.scrollInt)},10);d.setCursor(a);top.ICEcoder.focus();setTimeout(function(){top.ICEcoder.focus()},0);return!1},lineCommentToggle:function(){var a,b,c,d;a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;b=a.getCursor().ch;c=a.getCursor().line;d=a.getLine(c);ICEcoder.lineCommentToggleSub(a,b,c,d,d.length)},
|
||||
tagWrapper:function(a){var b,c,d,e,f;b=ICEcoder.getcMInstance();c=ICEcoder.getcMdiffInstance();d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;b=a;"div"==a?(e=d.getCursor("start").line,f=d.getCursor().line,d.operation(function(){d.replaceSelection("<div>\n"+d.getSelection()+"\n</div>","around");for(var a=e+1;a<=f+1;a++)d.indentLine(a);d.indentLine(f+2,"prev");d.indentLine(f+2,"subtract")})):-1<["p","a","h1","h2","h3"].indexOf(a)&&d.getSelection().substr(0,a.length+1)=="<"+b&&d.getSelection().substr(-(a.length+
|
||||
3))=="</"+a+">"?d.replaceSelection(d.getSelection().substr(d.getSelection().indexOf(">")+1,d.getSelection().length-d.getSelection().indexOf(">")-1-a.length-3),"around"):("a"==a&&(b='a href=""'),d.replaceSelection("<"+b+">"+d.getSelection()+"</"+a+">","around"),"a"==a&&d.setCursor({line:d.getCursor("start").line,ch:d.getCursor("start").ch+9}))},addLineBreakAtEnd:function(a){var b,c;b=ICEcoder.getcMInstance();c=ICEcoder.getcMdiffInstance();b=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;a||
|
||||
(a=b.getCursor().line);b.replaceRange(b.getLine(a)+"<br>",{line:a,ch:0},{line:a,ch:1E6})},insertLineBefore:function(a){var b,c,d;b=ICEcoder.getcMInstance();c=ICEcoder.getcMdiffInstance();d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;a||(a=d.getCursor().line);d.operation(function(){d.replaceRange("\n"+d.getLine(a),{line:a,ch:0},{line:a,ch:1E6});d.setCursor({line:d.getCursor().line-1,ch:0});d.execCommand("indentAuto")})},insertLineAfter:function(a){var b,c,d;b=ICEcoder.getcMInstance();c=
|
||||
ICEcoder.getcMdiffInstance();d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;a||(a=d.getCursor().line);d.operation(function(){d.replaceRange(d.getLine(a)+"\n",{line:a,ch:0},{line:a,ch:1E6});d.execCommand("indentAuto")})},duplicateLines:function(a){var b,c,d;b=ICEcoder.getcMInstance();c=ICEcoder.getcMdiffInstance();b=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;!a&&b.somethingSelected()?(c=b.getCursor("start"),d=b.getCursor("end"),a=c.line!=d.line&&d.ch==b.getLine(d.line).length?
|
||||
"\n":"",b.replaceSelection(b.getSelection()+a+b.getSelection(),"end"),b.setSelection(c,d)):(a||(a=b.getCursor().line),c=b.getCursor().ch,b.replaceRange(b.getLine(a)+"\n"+b.getLine(a),{line:a,ch:0},{line:a,ch:1E6}),b.setCursor(a+1,c))},removeLines:function(a){var b,c;b=ICEcoder.getcMInstance();c=ICEcoder.getcMdiffInstance();b=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;!a&&b.somethingSelected()?b.replaceSelection("","end"):(a||(a=b.getCursor().line),c=b.getCursor().ch,b.execCommand("deleteLine"),
|
||||
b.setCursor(a-1,c))},jumpToDefinition:function(){var a,b;a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;b=a.getTokenAt(a.getCursor()).string;if(a.somethingSelected()&&top.ICEcoder.origCurorPos)a.setCursor(top.ICEcoder.origCurorPos);else for(top.ICEcoder.origCurorPos=a.getCursor(),a=["var "+b,"function "+b,b+"=function",b+"= function",b+" =function",b+" = function",b+"=new function",b+"= new function",b+" =new function",b+" = new function",
|
||||
"window['"+b+"']",'window["'+b+'"]',"this['"+b+"']",'this["'+b+'"]',b+":",b+" :","def "+b,"class "+b],b=0;b<a.length&&!top.ICEcoder.findReplace(a[b],!1,!1);b++);},updateFunctionClassList:function(){var a,b;a=ICEcoder.getcMInstance();top.ICEcoder.functionClassList=[];a&&(a.doc.eachLine(function(a){top.ICEcoder.updateFunctionClassListItems(a)}),setTimeout(function(){b="";for(var a=0;a<top.ICEcoder.functionClassList.length;a++)top.ICEcoder.functionClassList[a].verified&&(b+='<div onclick="top.ICEcoder.goToLine('+
|
||||
(top.ICEcoder.functionClassList[a].line+1)+')" class="functionClassListItem"><span class="name">'+top.ICEcoder.functionClassList[a].name+'</span><br><span class="params">'+top.ICEcoder.functionClassList[a].params+"</span></div>");get("functionClassList").innerHTML=b},0))},updateFunctionClassListItems:function(a){var b,c;b=ICEcoder.getcMInstance();c="";-1<a.text.indexOf("function ")&&-1<a.text.replace(/\$function/g,"").indexOf("function ")&&(c=a.text.substring(a.text.indexOf("function ")+9));-1<a.text.indexOf("class ")&&
|
||||
-1<a.text.replace(/\$class/g,"").indexOf("class ")&&(c=a.text.substring(a.text.indexOf("class ")+6));c=c.trim().split("{")[0].split("(");""!=c[0]&&(top.ICEcoder.functionClassList.push({line:b.getLineNumber(a),name:c[0],params:"("+(c[1]?c[1].replace(/[,]/g,", "):""),verified:!1}),setTimeout(function(){if(!a.styles||a.styles&&-1<a.styles.indexOf("def")&&b.getLineNumber(a))for(var c=0;c<top.ICEcoder.functionClassList.length;c++)top.ICEcoder.functionClassList[c].line==b.getLineNumber(a)&&(top.ICEcoder.functionClassList[c].verified=
|
||||
!0)},0))},setMinimap:function(){var a;if(a=ICEcoder.getcMInstance()){top.ICEcoder.content.contentWindow.CodeMirror.runMode(a.getValue(),a.getOption("mode"),get("miniMapContent"));get("miniMapContent").innerHTML='<div class="cm-s-'+top.ICEcoder.theme+'" style="font-family: monospace; white-space: '+(1==top.ICEcoder.lineWrapping?"pre-wrap":"pre")+'; font-size: 2px; line-height: 2px">'+get("miniMapContent").innerHTML+"</div>";get("miniMapContent").innerHTML=get("miniMapContent").innerHTML.replace(/\<span /g,
|
||||
'<span style="font-size: 2px; font-family: monospace" ');get("miniMapContainer").innerHTML='<div style="position: absolute; display: inline-block; top: '+top.ICEcoder.miniMapBoxTop+"px; left: 0; width: 200px; height: "+top.ICEcoder.miniMapBoxHeight+'px; background: rgba(0,198,255,0.1); z-index: 1; cursor: pointer" id="miniMapBox"></div>';var b=get("miniMapBox"),b=new Draggabilly(b,{axis:"y",containment:!0});b.on("dragMove",function(b,d,e){yPos=this.position.y;maxHeight=parseInt(get("docExplorer").style.height,
|
||||
10)<=parseInt(get("miniMapContent").getBoundingClientRect().height,10)?parseInt(get("docExplorer").style.height,10):parseInt(get("miniMapContent").getBoundingClientRect().height,10);newPerc=this.position.y/(maxHeight-top.ICEcoder.miniMapBoxHeight);yPos=(a.getScrollInfo().height-a.getScrollInfo().clientHeight)*newPerc;a.scrollTo(0,yPos)});b.on("pointerDown",function(a,b){top.ICEcoder.mouseDownMinimap=!0});b.on("pointerUp",function(a,b){top.ICEcoder.mouseDownMinimap=!1});top.ICEcoder.setMinimapLayout(a);
|
||||
get("docExplorer").style.right="-220px"}},setMinimapLayout:function(a,b){var c,d;get("miniMapBox")&&a&&(c=top.ICEcoder.getcMInstance(),d=a.getScrollInfo().top/(a.getScrollInfo().height-a.getScrollInfo().clientHeight),parseInt(get("miniMapContent").getBoundingClientRect().height,10)>parseInt(get("docExplorer").style.height,10)?(get("miniMapContainer").style.height=parseInt(get("docExplorer").style.height,10)+"px",top.ICEcoder.miniMapBoxHeight=parseInt(get("docExplorer").style.height,10)/c.defaultTextHeight()*
|
||||
2,get("miniMapBox").style.height=top.ICEcoder.miniMapBoxHeight+"px",top.ICEcoder.miniMapBoxTop=d*parseInt(get("docExplorer").style.height,10)-d*top.ICEcoder.miniMapBoxHeight,get("miniMapContent").style.marginTop=-(parseInt(get("miniMapContent").getBoundingClientRect().height,10)-parseInt(get("docExplorer").style.height,10))*d+"px"):(get("miniMapContainer").style.height=parseInt(get("miniMapContent").getBoundingClientRect().height,10)+"px",top.ICEcoder.miniMapBoxHeight=parseInt(get("docExplorer").style.height,
|
||||
10)/c.defaultTextHeight()*2,get("miniMapBox").style.height=top.ICEcoder.miniMapBoxHeight+"px",top.ICEcoder.miniMapBoxTop=d*parseInt(get("miniMapContainer").getBoundingClientRect().height,10)-d*top.ICEcoder.miniMapBoxHeight,get("miniMapContent").style.marginTop=0),top.ICEcoder.mouseDownMinimap||(get("miniMapBox").style.top=top.ICEcoder.miniMapBoxTop+"px"))},autocomplete:function(){var a,b;a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?
|
||||
b:a;top.ICEcoder.content.contentWindow.CodeMirror.commands.autocomplete(a)},pasteURL:function(a){var b,c;b=top.ICEcoder.getcMInstance();c=top.ICEcoder.getcMdiffInstance();b=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;"CTRL"==top.ICEcoder.draggingWithKey&&(a=window.location.protocol+"//"+window.location.hostname+a);b.replaceSelection(a,"around")},searchForSelected:function(){var a,b;a=top.ICEcoder.getcMInstance();b=top.ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?
|
||||
b:a;top.ICEcoder.caretLocType&&(""!=a.getSelection()?(b=top.ICEcoder.caretLocType.toLowerCase()+" ","Content"==top.ICEcoder.caretLocType&&(b=""),window.open("http://www.google.com/#output=search&q="+b+a.getSelection())):top.ICEcoder.message(top.t["No text selected..."]))},fmAction:function(a,b){var c,d,e,f;c=top.get("filesFrame").contentWindow.document.getElementById(top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-1]+"_perms").parentNode;d=c.parentNode;e=-1<c.onmouseover.toString().indexOf("'folder'")?
|
||||
"folder":"file";f=!1;"up"==b&&(d.previousSibling&&d.previousSibling.previousSibling?(f=d.previousSibling.previousSibling,"UL"==f.tagName&&(f=f.childNodes[f.childNodes.length-1])):d.parentNode.previousSibling&&(f=d.parentNode.previousSibling),f&&(f=f.childNodes[0]));"down"==b&&(d.nextSibling&&d.nextSibling.childNodes[0]?f=d.nextSibling.childNodes[0]:d.nextSibling&&d.nextSibling.nextSibling?f=d.nextSibling.nextSibling:d.parentNode.nextSibling&&(f=d.parentNode.nextSibling.nextSibling),f&&(f=f.childNodes[0]));
|
||||
"left"==b&&"folder"==e&&d.parentNode.previousSibling&&top.ICEcoder.openCloseDir(c,!1);if("right"==b||"enter"==b)"folder"==e?top.ICEcoder.openCloseDir(c,!0):top.ICEcoder.openFile(c.childNodes[1].id.replace(/\|/g,"/"));f&&f.childNodes[1]&&(top.ICEcoder.overFileFolder(e,f.childNodes[1].id),top.ICEcoder.selectFileFolder(a))},openCloseDir:function(a,b){var c,d;a.onclick=function(a){a.ctrlKey||top.ICEcoder.cmdKey||top.ICEcoder.openCloseDir(this,!b)};c=a.parentNode;c.nextSibling&&(c=c.nextSibling);c&&"UL"==
|
||||
c.tagName&&((d="none"==c.style.display)?b=!0:c.style.display="none",a.parentNode.className=a.className=d?"pft-directory dirOpen":"pft-directory");b?top.ICEcoder.filesFrame.contentWindow.frames.fileControl.location.href="lib/get-branch.php?location="+a.childNodes[1].id+"&csrf="+top.ICEcoder.csrf:"UL"==c.tagName&&c.parentNode.removeChild(c);return!1},overFileFolder:function(a,b){ICEcoder.thisFileFolderType=a;ICEcoder.thisFileFolderLink=b},isFileFolder:function(a){return(a=top.get("filesFrame").contentWindow.document.getElementById(a.replace(top.iceRoot,
|
||||
"").replace(/\/$/,"").replace(/\//g,"|")))?-1<a.parentNode.parentNode.className.indexOf("directory")?"folder":"file":!1},selectFileFolder:function(a,b,c){var d,e,f;if(""==top.ICEcoder.thisFileFolderLink)b||a.ctrlKey||top.ICEcoder.cmdKey||top.ICEcoder.deselectAllFiles();else if(top.ICEcoder.thisFileFolderLink)if(e=top.ICEcoder.thisFileFolderLink.replace(/\//g,"|"),d=top.ICEcoder.filesFrame.contentWindow.document.getElementById(e),b||a.ctrlKey||top.ICEcoder.cmdKey)-1<top.ICEcoder.selectedFiles.indexOf(e)?
|
||||
(ICEcoder.selectDeselectFile("deselect",d),top.ICEcoder.selectedFiles.splice(top.ICEcoder.selectedFiles.indexOf(e),1)):(ICEcoder.selectDeselectFile("select",d),top.ICEcoder.selectedFiles.push(e));else if(c||a.shiftKey){var g=function(a,b,c,d){return("00000000000000000000"+a).substr(-20)};a=!1;b=d.parentNode.parentNode.parentNode;f=top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-1];c=e.replace(/\d+/g,g)<f.replace(/\d+/g,g)?e:f;f=e.replace(/\d+/g,g)>f.replace(/\d+/g,g)?e:f;if(0<top.ICEcoder.selectedFiles.length&&
|
||||
c.substr(0,c.lastIndexOf("|"))==f.substr(0,f.lastIndexOf("|")))for(e=0;1E6>e&&("LI"!=b.childNodes[e].nodeName&&e++,d=b.childNodes[e].childNodes[0].childNodes[1],d.id==c&&(a=!0),1==a&&-1==top.ICEcoder.selectedFiles.indexOf(d.id)&&(ICEcoder.selectDeselectFile("select",d),top.ICEcoder.selectedFiles.push(d.id)),d.id!=f);e+=2);else ICEcoder.selectDeselectFile("select",d),top.ICEcoder.selectedFiles.push(e)}else top.ICEcoder.deselectAllFiles(),ICEcoder.selectDeselectFile("select",d),top.ICEcoder.selectedFiles.push(e);
|
||||
top.ICEcoder.githubDiff&&(top.get("githubNavSelectedCount").innerHTML="Selected: "+top.ICEcoder.selectedFiles.length,top.get("githubNavCommit").style.color=0<top.ICEcoder.selectedFiles.length?"#fff":"#333",top.get("githubNavCommit").style.background=0<top.ICEcoder.selectedFiles.length?"#2187e7":"#555",top.get("githubNavSelectedCount").style.color=0<top.ICEcoder.selectedFiles.length?"#fff":"#333",top.get("githubNavPull").style.color=0<top.ICEcoder.selectedFiles.length?"#fff":"#333",top.get("githubNavPull").style.background=
|
||||
0<top.ICEcoder.selectedFiles.length?"#2187e7":"#555");document.findAndReplace.target[2].innerHTML=top.ICEcoder.selectedFiles[0]?top.t["selected files"]:top.t["all files"];document.findAndReplace.target[3].innerHTML=top.ICEcoder.selectedFiles[0]?top.t["selected filenames"]:top.t["all filenames"];top.ICEcoder.hideFileMenu()},deselectAllFiles:function(){for(var a,b=0;b<top.ICEcoder.selectedFiles.length;b++)a=top.ICEcoder.filesFrame.contentWindow.document.getElementById(top.ICEcoder.selectedFiles[b]),
|
||||
ICEcoder.selectDeselectFile("deselect",a);top.ICEcoder.selectedFiles.length=0},selectDeselectFile:function(a,b){var c;b&&(c=-1<top.ICEcoder.openFiles.indexOf(b.id.replace(/\|/g,"/"))?!0:!1,top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1]==b.id.replace(/\|/g,"/")?b.style.backgroundColor="select"==a?top.ICEcoder.tabBGselected:top.ICEcoder.tabBGcurrent:b.style.backgroundColor="select"==a?top.ICEcoder.tabBGselected:b.style.backgroundColor=c?top.ICEcoder.tabBGopen:top.ICEcoder.tabBGnormal,b.style.color=
|
||||
"select"==a?top.ICEcoder.tabFGselected:top.ICEcoder.tabFGnormalFile)},boxSelect:function(a,b){var c,d;c=top.ICEcoder.filesFrame.contentWindow.document.getElementById("fmDragBox");"down"==b&&(top.ICEcoder.fmDragBoxStartX=top.ICEcoder.mouseX,top.ICEcoder.fmDragBoxStartY=top.ICEcoder.mouseY,top.ICEcoder.fmDragSelectFirst="",top.ICEcoder.fmDragSelectLast="");top.ICEcoder.mouseDown&&!top.ICEcoder.mouseDownInCM&&"drag"==b&&(top.ICEcoder.fmDraggedBox=!0,d=0<top.ICEcoder.mouseX-top.ICEcoder.fmDragBoxStartX,
|
||||
c.style.left=(d?top.ICEcoder.fmDragBoxStartX:top.ICEcoder.mouseX)+"px",c.style.width=Math.abs(top.ICEcoder.mouseX-top.ICEcoder.fmDragBoxStartX)+"px",d=0<top.ICEcoder.mouseY-top.ICEcoder.fmDragBoxStartY,c.style.top=(d?top.ICEcoder.fmDragBoxStartY-70:top.ICEcoder.mouseY-70)+"px",c.style.height=Math.abs(top.ICEcoder.mouseY-top.ICEcoder.fmDragBoxStartY)+"px",""!=top.ICEcoder.thisFileFolderLink&&(""==top.ICEcoder.fmDragSelectFirst?(top.ICEcoder.fmDragSelectFirst=top.ICEcoder.thisFileFolderLink,top.ICEcoder.overFileFolder(0<
|
||||
top.ICEcoder.thisFileFolderLink.indexOf(".")?"file":"folder",top.ICEcoder.fmDragSelectFirst),top.ICEcoder.selectFileFolder(a)):(top.ICEcoder.fmDragSelectLast=top.ICEcoder.thisFileFolderLink,top.ICEcoder.overFileFolder(0<top.ICEcoder.thisFileFolderLink.indexOf(".")?"file":"folder",top.ICEcoder.fmDragSelectLast),top.ICEcoder.selectFileFolder(a,!1,"shiftSim"))));"up"==b&&(c.style.width=0,c.style.height=0)},newFile:function(){top.ICEcoder.newTab("alsoSave")},newFolder:function(){var a,b;a=top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-
|
||||
1].replace(/\|/g,"/");if(b=top.ICEcoder.getInput("Enter new folder name at "+a,""))b=(a+"/"+b).replace(/\/\//,"/"),top.ICEcoder.serverQueue("add","lib/file-control-xhr.php?action=newFolder&csrf="+top.ICEcoder.csrf,b.replace(/\//g,"|").replace(/\+/g,"%2B")),top.ICEcoder.serverMessage("<b>"+top.t["Creating Folder"]+"</b><br>"+b)},returnFileAndLine:function(a){var b=1,c=/^([^ ]*)\s+(on\s+)?(line\s+)?(\d+)/.exec(a);null!==c?(b=c[4],a=c[1]):0<a.indexOf("://")?a.lastIndexOf(":")!==a.indexOf("://")&&(b=
|
||||
a.split(":")[2],a=a.substr(0,a.lastIndexOf(":"))):0<a.indexOf(":")&&(b=a.split(":")[1],a=a.split(":")[0]);0<a.indexOf("(")&&0<a.indexOf(")")&&(b=a.split("(")[1].split(")")[0],a=a.split("(")[0]);return[a,b]},openFile:function(a){var b,c;"undefined"!=typeof a&&(b=top.ICEcoder.returnFileAndLine(a),a=b[0],b=b[1]);a&&(top.ICEcoder.thisFileFolderLink=a,top.ICEcoder.thisFileFolderType="file");"/[NEW]"!=top.ICEcoder.thisFileFolderLink&&!1!==top.ICEcoder.isOpen(top.ICEcoder.thisFileFolderLink)?(top.ICEcoder.switchTab(top.ICEcoder.isOpen(top.ICEcoder.thisFileFolderLink)+
|
||||
1),1<b&&top.ICEcoder.goToLine(b)):""!=top.ICEcoder.thisFileFolderLink&&"file"==top.ICEcoder.thisFileFolderType&&(a=top.ICEcoder.thisFileFolderLink.replace(/\|/g,"/"),c=!0,100<=top.ICEcoder.openFiles.length&&(top.ICEcoder.message(top.t["Sorry you can..."]),c=!1),c&&(top.ICEcoder.shortURL=a,"/[NEW]"!=a?(top.ICEcoder.thisFileFolderLink=top.ICEcoder.thisFileFolderLink.replace(/\//g,"|"),top.ICEcoder.serverQueue("add","lib/file-control.php?action=load&file="+top.ICEcoder.thisFileFolderLink.replace(/\+/g,
|
||||
"%2B")+"&csrf="+top.ICEcoder.csrf+"&lineNumber="+b),top.ICEcoder.serverMessage("<b>"+top.t["Opening File"]+"</b><br>"+top.ICEcoder.shortURL)):top.ICEcoder.createNewTab("new"),top.ICEcoder.fMIconVis("fMView",1)))},openFilesFromList:function(a){for(var b=0;b<a.length;b++)top.ICEcoder.thisFileFolderLink=a[b].replace("|","/"),top.ICEcoder.thisFileFolderType="file",top.ICEcoder.openFile()},openPrompt:function(){var a;if(a=top.ICEcoder.getInput(top.t["Enter relative file..."],""))-1<a.indexOf("://")?top.ICEcoder.getRemoteFile(a):
|
||||
top.ICEcoder.openFile(a)},getRemoteFile:function(a){var b;"undefined"!=typeof a&&(b=top.ICEcoder.returnFileAndLine(a),a=b[0],b=b[1]);top.ICEcoder.serverQueue("add","lib/file-control-xhr.php?action=getRemoteFile&csrf="+top.ICEcoder.csrf+"&lineNumber="+b,a.replace(/\+/g,"%2B"));top.ICEcoder.serverMessage("<b>"+top.t.Getting+"</b><br>"+a)},getChangesToSave:function(){var a,b;a=top.ICEcoder.getcMInstance();b=top.ICEcoder.savedContents[top.ICEcoder.selectedTab-1];a=difflib.stringAsLines(a.getValue());
|
||||
b=difflib.stringAsLines(b);b=(new difflib.SequenceMatcher(b,a)).get_opcodes();for(var c=0;c<b.length;c++)for(j=b[c][3];j<b[c][4];j++)"equal"!=b[c][0]&&("undefined"==typeof b[c][5]&&(b[c][5]=""),b[c][5]+=a[j]+"\n");return JSON.stringify(b)},saveFile:function(a){var b,c,d;a||(b=top.ICEcoder.getChangesToSave());a=a?"saveAs":"save";c=ICEcoder.openFiles[ICEcoder.selectedTab-1].replace(top.iceRoot,"").replace(/\//g,"|");"|[NEW]"==c&&0<top.ICEcoder.selectedFiles.length&&(d=top.ICEcoder.selectedFiles[0],
|
||||
c=-1==d.lastIndexOf(".")||d.lastIndexOf(".")<d.lastIndexOf("|")?d+c:"|[NEW]");c=c.replace("||","|");top.ICEcoder.serverQueue("add","lib/file-control-xhr.php?action=save&fileMDT="+ICEcoder.openFileMDTs[ICEcoder.selectedTab-1]+"&fileVersion="+ICEcoder.openFileVersions[ICEcoder.selectedTab-1]+"&saveType="+a+"&csrf="+top.ICEcoder.csrf,c.replace(/\+/g,"%2B"),b);top.ICEcoder.serverMessage("<b>"+top.t.Saving+"</b><br>"+ICEcoder.openFiles[ICEcoder.selectedTab-1].replace(top.iceRoot,""))},renameFile:function(a,
|
||||
b){var c,d;a?c=a.replace(/\|/g,"/"):(c=top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-1].replace(/\|/g,"/"),a=top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-1].replace(/\|/g,"/"));b||(b=top.ICEcoder.getInput(top.t["Please enter the..."],c));b&&(d=top.ICEcoder.openFiles.indexOf(c.replace(/\|/g,"/")),-1<d&&(top.ICEcoder.openFiles[d]=b,closeTabLink='<a nohref onClick="top.ICEcoder.closeTab(parseInt(this.parentNode.id.slice(3),10))"><img src="images/nav-close.gif" class="closeTab" onMouseOver="prevBG=this.style.backgroundColor;this.style.backgroundColor=\'#333\'; top.ICEcoder.overCloseLink=true" onMouseOut="this.style.backgroundColor=prevBG; top.ICEcoder.overCloseLink=false"></a>',
|
||||
c=top.ICEcoder.openFiles[d],top.get("tab"+(d+1)).innerHTML=closeTabLink+" "+c.slice(c.lastIndexOf("/")).replace(/\//,""),top.get("tab"+(d+1)).title=b),top.ICEcoder.serverQueue("add","lib/file-control-xhr.php?action=rename&oldFileName="+a.replace(/\|/g,"/").replace(/\+/g,"%2B")+"&csrf="+top.ICEcoder.csrf,b.replace(/\+/g,"%2B")),top.ICEcoder.serverMessage("<b>"+top.t["Renaming to"]+"</b><br>"+b),top.ICEcoder.setPreviousFiles())},moveFile:function(a,b){var c,d;b&&b!=a&&(d=top.ICEcoder.openFiles.indexOf(a.replace(/\|/g,
|
||||
"/")),-1<d&&(top.ICEcoder.openFiles[d]=b,closeTabLink='<a nohref onClick="top.ICEcoder.closeTab(parseInt(this.parentNode.id.slice(3),10))"><img src="images/nav-close.gif" class="closeTab" onMouseOver="prevBG=this.style.backgroundColor;this.style.backgroundColor=\'#333\'; top.ICEcoder.overCloseLink=true" onMouseOut="this.style.backgroundColor=prevBG; top.ICEcoder.overCloseLink=false"></a>',c=top.ICEcoder.openFiles[d],top.get("tab"+(d+1)).innerHTML=closeTabLink+" "+c.slice(c.lastIndexOf("/")).replace(/\//,
|
||||
""),top.get("tab"+(d+1)).title=b),top.ICEcoder.ask("Are you sure you want to move file "+a+" to "+b+" ?")&&(top.ICEcoder.serverQueue("add","lib/file-control-xhr.php?action=move&oldFileName="+a.replace(/\//g,"|").replace(/\+/g,"%2B")+"&csrf="+top.ICEcoder.csrf,b.replace(/\//g,"|").replace(/\+/g,"%2B")),top.ICEcoder.serverMessage("<b>"+top.t["Moving to"]+"</b><br>"+b)),top.ICEcoder.setPreviousFiles())},deleteFiles:function(a){var b;a=a?a:top.ICEcoder.selectedFiles;b=a.toString().replace(/\|/g,"/").replace(/,/g,
|
||||
"\n");0<a.length&&top.ICEcoder.ask("Delete:\n\n"+b+"?")&&(top.ICEcoder.serverQueue("add","lib/file-control-xhr.php?action=delete&&csrf="+top.ICEcoder.csrf,a.join(";").replace(/\+/g,"%2B")),top.ICEcoder.serverMessage("<b>"+top.t["Deleting File"]+"</b><br>"+b))},copyFiles:function(a,b,c){top.ICEcoder.copiedFiles=[];for(var d=0;d<a.length;d++)top.ICEcoder.copiedFiles[d]=a[d];b||(top.get("fmMenuPasteOption").style.display="block");c||top.ICEcoder.hideFileMenu()},pasteFiles:function(a){if(top.ICEcoder.copiedFiles)for(var b=
|
||||
0;b<top.ICEcoder.copiedFiles.length;b++)"|"!=top.ICEcoder.copiedFiles[b]?(top.ICEcoder.serverQueue("add","lib/file-control-xhr.php?action=paste&location="+a+"&csrf="+top.ICEcoder.csrf,top.ICEcoder.copiedFiles[b].replace(/\+/g,"%2B")),top.ICEcoder.serverMessage("<b>"+top.t["Pasting File"]+"</b><br>"+top.ICEcoder.copiedFiles[b].toString().replace(/\|/g,"/").replace(/,/g,"\n"))):top.ICEcoder.message(top.t["Sorry cannot paste..."]);else top.ICEcoder.message(top.t["Nothing to paste..."])},duplicateFiles:function(a){var b;
|
||||
top.ICEcoder.copiedFiles&&(b=top.ICEcoder.copiedFiles);top.ICEcoder.copyFiles(a,"dontShowPaste","dontHide");a=a[0].substr(0,a[0].lastIndexOf("|"));top.ICEcoder.pasteFiles(a);"undefined"!=typeof b&&(top.ICEcoder.copiedFiles=b)},uploadFilesSelect:function(a){top.get("uploadDir").value=a;top.get("fileInput").click()},uploadFilesSubmit:function(a){""!=top.get("fileInput").value&&(top.ICEcoder.showHide("show",top.get("loadingMask")),top.get("uploadFilesForm").submit(),event.preventDefault())},showHideFileNav:function(a,
|
||||
b){var c=["optionsFile","optionsEdit","optionsSource","optionsHelp"];if("hide"==a)fileNavInt=setTimeout(function(){for(var a=0;a<c.length;a++)top.ICEcoder.showHide("hide",top.get(c[a])),top.get(c[a]+"Nav").style.color=""},150);else for(var d=0;d<c.length;d++)top.ICEcoder.showHide("hide",top.get(c[d])),top.get(c[d]+"Nav").style.color="";get("fileOptions").style.opacity=0;"show"==a&&("undefined"!=typeof fileNavInt&&clearTimeout(fileNavInt),top.ICEcoder.showHide(a,top.get(b)),top.get(b+"Nav").style.color=
|
||||
"#fff",get("fileOptions").style.opacity=1)},isPathFolder:function(a){a=top.ICEcoder.filesFrame.contentDocument.getElementsByClassName("pft-directory");for(var b=top.ICEcoder.selectedFiles[0],c,d=0;d<a.length;d++)if(c=a[d],"underfined"!=typeof c&&(c=c.childNodes[0],"undefined"!=typeof c&&(c=c.childNodes[1],"undefined"!=typeof c&&b===c.getAttribute("id"))))return!0;return!1},checkExists:function(a){var b,c,d;a=a.replace(/\|/g,"/");0===a.indexOf(top.iceRoot)&&(a=a.replace(top.iceRoot,""));b=top.ICEcoder.xhrObj();
|
||||
b.onreadystatechange=function(){4==b.readyState&&(200==b.status?(c=JSON.parse(b.responseText),c.action.timeEnd=(new Date).getTime(),c.action.timeTaken=c.action.timeEnd-c.action.timeStart,0<=["raw","both"].indexOf(top.ICEcoder.fileDirResOutput)&&console.log(b.responseText),0<=["object","both"].indexOf(top.ICEcoder.fileDirResOutput)&&console.log(c),top.ICEcoder.lastFileDirCheckStatusObj=c,c.status.error?(top.ICEcoder.message(c.status.errorMsg),console.log("ICEcoder error info for your request..."),
|
||||
console.log(c),top.ICEcoder.serverMessage(),top.ICEcoder.serverQueue("del",0)):eval(c.action.doNext)):(top.ICEcoder.message(top.t["Sorry there was..."]),console.log("ICEcoder error info for your request..."),console.log(c),top.ICEcoder.serverMessage(),top.ICEcoder.serverQueue("del",0)))};b.open("POST","lib/file-control-xhr.php?action=checkExists&csrf="+top.ICEcoder.csrf,!0);b.setRequestHeader("Content-type","application/x-www-form-urlencoded");d=(new Date).getTime();b.send("timeStart="+d+"&file="+
|
||||
a.replace(/\+/g,"%2B"))},showMenu:function(a){var b,c;0!=top.ICEcoder.selectedFiles.length&&-1!=top.ICEcoder.selectedFiles.indexOf(top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-1].replace(/\//g,"|"))||top.ICEcoder.selectFileFolder(a);a=129;c=window.innerHeight;"undefined"!=typeof top.ICEcoder.thisFileFolderLink&&""!=top.ICEcoder.thisFileFolderLink&&(b=this.isPathFolder(top.ICEcoder.selectedFiles[0])?"folder":"file",top.get("folderMenuItems").style.display="folder"==b&&1==top.ICEcoder.selectedFiles.length?
|
||||
"block":"none","folder"==b&&1==top.ICEcoder.selectedFiles.length&&(a+=67,"block"==top.get("fmMenuPasteOption").style.display&&(a+=19)),top.get("singleFileMenuItems").style.display=1<top.ICEcoder.selectedFiles.length?"none":"block",1==top.ICEcoder.selectedFiles.length&&(a+=43),top.get("fileMenu").style.display="inline-block",setTimeout(function(){top.get("fileMenu").style.opacity="1"},4),top.get("fileMenu").style.left=top.ICEcoder.mouseX+20+"px",b=top.ICEcoder.mouseY-top.ICEcoder.filesFrame.contentWindow.document.body.scrollTop-
|
||||
10,b+a>c&&(b-=b+a-c),top.get("fileMenu").style.top=b+"px");return!1},showFileMenu:function(){top.get("fileMenu").style.display="inline-block";setTimeout(function(){top.get("fileMenu").style.opacity="1"},4)},hideFileMenu:function(){top.get("fileMenu").style.display="none";top.get("fileMenu").style.opacity="0"},updateFileManagerList:function(a,b,c,d,e,f,g){var k,h,l,p,n,m,r;if("add"==a&&!top.get("filesFrame").contentWindow.document.getElementById(b.replace(top.iceRoot,"").replace(/\/$/,"").replace(/\//g,
|
||||
"|")+"|"+c)){k="file"==g?"pft-file ext-"+c.substr(c.indexOf(".")+1):"pft-directory";d="file"==g?top.ICEcoder.newFilePerms:top.ICEcoder.newDirPerms;b||(b="/");b=b.replace(top.iceRoot,"/");b=b.replace("//","/");h=top.get("filesFrame").contentWindow.document.getElementById(b.replace(/\//g,"|"));l=h.parentNode.parentNode.nextSibling;p=document.createTextNode("\n");n=777==d?"background: #800; color: #eee":"color: #888";n='<a nohref title="'+b.replace(/\/$/,"")+"/"+c+'" onMouseOver="parentNode.draggable=true;top.ICEcoder.overFileFolder(\''+
|
||||
g+"',this.childNodes[1].id)\" onMouseOut=\"parentNode.draggable=false;top.ICEcoder.overFileFolder('"+g+"','')\" "+("folder"==g?"ondragover=\"if(parentNode.nextSibling && parentNode.nextSibling.tagName != 'UL' && top.ICEcoder.thisFileFolderLink != this.childNodes[1].id) {top.ICEcoder.openCloseDir(this,true);}\"":"")+' onClick="if(!event.ctrlKey && !top.ICEcoder.cmdKey) {'+("folder"==g?"top.ICEcoder.openCloseDir(this,"+("folder"==g?"true":"false")+");":"")+' if (/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)) {top.ICEcoder.openFile()}}" style="position: relative; left:-22px"> <span id="'+
|
||||
b.replace(/\/$/,"").replace(/\//g,"|")+"|"+c+'">'+c+'</span> <span style="'+n+'; font-size: 8px" id="'+b.replace(/\/$/,"").replace(/\//g,"|")+"|"+c+'_perms">'+d+"</span></a>";if(!l||3>l.childNodes.length)m=document.createElement("ul"),l=h.parentNode.parentNode,l.parentNode.insertBefore(m,l.nextSibling),m=document.createElement("li"),m.className=k,m.draggable=!1,m.ondragstart=function(a){top.ICEcoder.addDefaultDragData(this,a)},m.ondrag=function(a){top.ICEcoder.draggingWithKeyTest(a);top.ICEcoder.getcMInstance()&&
|
||||
(-1==top.ICEcoder.editorFocusInstance.indexOf("diff")?top.ICEcoder.getcMInstance().focus():top.ICEcoder.getcMdiffInstance().focus())},m.ondragover=function(a){top.ICEcoder.setDragCursor(a,"folder"==g?"folder":"file")},m.ondragend=function(){top.ICEcoder.dropFile(this)},m.innerHTML=n,l.nextSibling.appendChild(m),l.nextSibling.appendChild(p);else for(h=0;h<l.childNodes.length;h++)if(l.childNodes[h].className&&(m=0<l.childNodes[h].className.indexOf("directory")?"folder":"file",r=l.childNodes[h].getElementsByTagName("span")[0].innerHTML,
|
||||
m==g&&r>c||"folder"==g&&"file"==m||h==l.childNodes.length-1)){m=document.createElement("li");m.className=k;m.draggable=!1;m.ondragstart=function(a){top.ICEcoder.addDefaultDragData(this,a)};m.ondrag=function(a){top.ICEcoder.draggingWithKeyTest(a);top.ICEcoder.getcMInstance()&&(-1==top.ICEcoder.editorFocusInstance.indexOf("diff")?top.ICEcoder.getcMInstance().focus():top.ICEcoder.getcMdiffInstance().focus())};m.ondragover=function(a){top.ICEcoder.setDragCursor(a,"folder"==g?"folder":"file")};m.ondragend=
|
||||
function(){top.ICEcoder.dropFile(this)};m.innerHTML=n;h==l.childNodes.length-1?(l.appendChild(m),l.appendChild(p)):(l.insertBefore(m,l.childNodes[h]),l.insertBefore(p,l.childNodes[h+1]));break}"file"!=g||f||(top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1]=b+c)}"rename"==a&&(f=e.replace(/\//g,"|"),h=top.get("filesFrame").contentWindow.document.getElementById(f),h.innerHTML=c,h.id=b.replace(/\//g,"|")+"|"+c,h.parentNode.title=h.id.replace(/\|/g,"/"),targetElemPerms=top.get("filesFrame").contentWindow.document.getElementById(f+
|
||||
"_perms"),targetElemPerms.id=b.replace(/\//g,"|")+"|"+c+"_perms",top.ICEcoder.renameInChildren(h,e,b,c));"move"==a&&(top.ICEcoder.updateFileManagerList("add",b,c,!1,!1,!1,g),top.ICEcoder.updateFileManagerList("delete",e.substr(0,e.lastIndexOf("/")),c));"chmod"==a&&(f=top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-1].replace(/\|/g,"/"),h=top.get("filesFrame").contentWindow.document.getElementById(f.replace(/\//g,"|")+"_perms"),h.style.background=777==d?"#800":"none",h.style.color=777==
|
||||
d?"#eee":"#888",h.innerHTML=d);"delete"==a&&(b||(b=""),b=b.replace(top.iceRoot,"/"),b=b.replace("//","/"),b=b.replace(/\/$/,"").replace(/\//g,"|"),h=(b+"|"+c).replace("||","|"),h=top.get("filesFrame").contentWindow.document.getElementById(h).parentNode.parentNode,top.ICEcoder.openCloseDir(h.childNodes[0],!1),h.parentNode.removeChild(h))},renameInChildren:function(a,b,c,d){var e,f;if(a.parentNode.parentNode.nextSibling&&"UL"==a.parentNode.parentNode.nextSibling.nodeName){a=a.parentNode.parentNode.nextSibling;
|
||||
for(var g=0;g<a.childNodes.length;g++)"LI"==a.childNodes[g].nodeName&&(e=a.childNodes[g].childNodes[0].childNodes[1],e.id=e.id.replace(b.replace(/\//g,"|"),c.replace(/\//g,"|")+"|"+d),e.parentNode.title=e.id.replace(/\|/g,"/"),f=top.get("filesFrame").contentWindow.document.getElementById(e.id).nextSibling.nextSibling,f.id=e.id+"_perms",top.ICEcoder.renameInChildren(e,b,c,d))}},refreshFileManager:function(){top.ICEcoder.showHide("show",top.get("loadingMask"));top.ICEcoder.filesFrame.contentWindow.location.reload(!0);
|
||||
top.ICEcoder.filesFrame.style.opacity="0";top.ICEcoder.filesFrame.onload=function(){top.ICEcoder.filesFrame.style.opacity="1";top.ICEcoder.showHide("hide",top.get("loadingMask"))}},draggingWithKeyTest:function(a){var b;b=a.keyCode?a.keyCode:a.which?a.which:a.charCode;if(224==b||91==b||93==b)top.ICEcoder.cmdKey=!0;top.ICEcoder.draggingWithKey=a.ctrlKey||top.ICEcoder.cmdKey?"CTRL":!1},addDefaultDragData:function(a,b){b.dataTransfer.setData("Text",a.id)},setDragCursor:function(a,b){a.preventDefault();
|
||||
top.ICEcoder.draggingWithKeyTest(a);a.dataTransfer.dropEffect="editor"==b?"CTRL"==top.ICEcoder.draggingWithKey?"copy":"link":"folder"==b?"CTRL"==top.ICEcoder.draggingWithKey?"copy":"move":"none"},dropFile:function(a){var b,c;b=a.childNodes[0].childNodes[1].id.replace(/\|/g,"/");fileName=b.substr(b.lastIndexOf("/")+1);"editor"==top.ICEcoder.area&&top.ICEcoder.pasteURL(b);"files"==top.ICEcoder.area&&setTimeout(function(){c="folder"==ICEcoder.thisFileFolderType?ICEcoder.thisFileFolderLink:ICEcoder.thisFileFolderLink.substr(0,
|
||||
ICEcoder.thisFileFolderLink.lastIndexOf("|"));"CTRL"==top.ICEcoder.draggingWithKey?(top.ICEcoder.copyFiles(top.ICEcoder.selectedFiles),top.ICEcoder.pasteFiles(c)):top.ICEcoder.moveFile(b,c.replace(/\|/g,"/")+"/"+fileName)},4);top.ICEcoder.mouseDown=!1;top.ICEcoder.mouseDownInCM=!1},findReplaceOptions:function(){top.get("rText").style.display=top.get("replace").style.display=top.get("rTarget").style.display=document.findAndReplace.connector.value==top.t.and?"inline-block":"none"},findReplace:function(a,
|
||||
b,c,d,e){var f,g,k;if(d)top.get("find").value=top.get("find").value,top.ICEcoder.focus();else{"undefined"==typeof e&&(e=!1);a=a.toLowerCase();f=top.get("replace").value;g=top.get("results");d=ICEcoder.getcMInstance();k=ICEcoder.getcMdiffInstance();if((d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?k:d)&&0<a.length&&document.findAndReplace.target.value==top.t["this document"]){d.getValue().toLowerCase();document.findAndReplace.connector.value==top.t.and&&c&&(document.findAndReplace.replaceAction.value==
|
||||
top.t.replace&&d.getSelection().toLowerCase()==a?d.replaceSelection(f,"around"):document.findAndReplace.replaceAction.value==top.t["replace all"]&&(c=new RegExp(a,"gi"),d.setValue(d.getValue().replace(c,f))));c=d.getValue().toLowerCase();if(!top.ICEcoder.findMode||a!=top.ICEcoder.lastsearch){ICEcoder.results=[];ICEcoder.resultsLines=[];for(f=0;f<c.length;f++)c.substr(f,a.length)==a&&-1==ICEcoder.results.indexOf(f)&&(ICEcoder.results.push(f),-1==ICEcoder.resultsLines.indexOf(d.posFromIndex(f).line+
|
||||
1)&&ICEcoder.resultsLines.push(d.posFromIndex(f).line+1));ICEcoder.lastsearch=a}if(0<ICEcoder.results.length){if(b)g.innerHTML=ICEcoder.results.length+" results";else{if(e)for(ICEcoder.findResult="undefined"==typeof ICEcoder.findResult?ICEcoder.results.length+1:ICEcoder.results.length,f=ICEcoder.results.length-1;0<=f;f--)ICEcoder.results[f]>d.indexFromPos({ch:d.getCursor().ch-1,line:d.getCursor().line})&&ICEcoder.findResult--;else for(f=ICEcoder.findResult=0;f<ICEcoder.results.length;f++)ICEcoder.results[f]<
|
||||
d.indexFromPos({ch:d.getCursor().ch+1,line:d.getCursor().line})&&ICEcoder.findResult++;!e&&ICEcoder.findResult>ICEcoder.results.length-1&&(ICEcoder.findResult=0);e&&1==ICEcoder.findResult&&(ICEcoder.findResult=ICEcoder.results.length+1);g.innerHTML="Highlighted result "+(ICEcoder.findResult+(e?-1:1))+" of "+ICEcoder.results.length+" results";e?(b=d.getSearchCursor(a,{ch:d.getCursor().ch-1,line:d.getCursor().line},!0),b.findPrevious(),b.from()||(b=d.getSearchCursor(a,{line:1E6,ch:1E6},!0),b.findPrevious())):
|
||||
(b=d.getSearchCursor(a,{ch:d.getCursor().ch+1,line:d.getCursor().line},!0),b.findNext(),b.from()||(b=d.getSearchCursor(a,{line:0,ch:0},!0),b.findNext()));d.setSelection(b.from(),b.to());top.ICEcoder.focus();top.ICEcoder.findMode=!0}a=top.ICEcoder.scrollBarVisible?parseInt(top.ICEcoder.content.style.height,10)/d.lineCount():d.defaultTextHeight();b=top.ICEcoder.scrollBarVisible?0:d.heightAtLine(0);e="";for(f=1;f<=d.lineCount();f++)g=-1<ICEcoder.resultsLines.indexOf(f)?d.getCursor().line+1==f?"#b00":
|
||||
"#888":"transparent",e+='<div style="position: absolute; display: block; width: 5px; height:'+a+"px; background: "+g+"; top: "+parseInt(a*(f-1)+b,10)+'px"></div>';top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").innerHTML=e;top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").style.display="inline-block";return!0}g.innerHTML="No results";top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").innerHTML="";top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").style.display=
|
||||
"none";return!1}""!=a&&c?(e=b=d="",document.findAndReplace.connector.value==top.t.and&&(d="&replace="+f),0<=document.findAndReplace.target.value.indexOf(top.t.file)&&(b="&target="+document.findAndReplace.target.value.replace(/ /g,"-")),document.findAndReplace.target.value==top.t["selected files"]&&(e="&selectedFiles="+top.ICEcoder.selectedFiles.join(":")),a=a.replace(/\'/g,"'"),a!=encodeURIComponent(a)?a="ICEcoder:"+encodeURIComponent(a):a,top.ICEcoder.showHide("show",top.get("loadingMask")),
|
||||
top.get("mediaContainer").innerHTML='<iframe src="lib/multiple-results.php?find='+a+d+b+e+"&csrf="+top.ICEcoder.csrf+'" class="whiteGlow" style="width: 700px; height: 500px"></iframe>'):(g.innerHTML="No results",top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").innerHTML="",top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").style.display="none")}},replaceInFile:function(a,b,c){top.ICEcoder.serverQueue("add","lib/file-control-xhr.php?action=replaceText&find="+
|
||||
b+"&replace="+c+"&csrf="+top.ICEcoder.csrf,a.replace(/\//g,"|").replace(/\+/g,"%2B"));top.ICEcoder.serverMessage("<b>"+top.t["Replacing text in"]+"</b><br>"+a)},getCaretPosition:function(){var a,b,c,d;a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;b=a.getCursor().line;c=a.getCursor().ch;for(var e=d=0;e<b;e++)d+=a.getLine(e).length+1;ICEcoder.caretPos=d+c-1},updateCharDisplay:function(){var a,b;a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();
|
||||
a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;ICEcoder.caretLocationType();ICEcoder.charDisplay.innerHTML=ICEcoder.caretLocType+", Line: "+(a.getCursor().line+1)+", Char: "+a.getCursor().ch},updateVersionsDisplay:function(){var a=top.ICEcoder.openFileVersions[ICEcoder.selectedTab-1];get("versionsDisplay").innerHTML="undefined"!=typeof a?top.ICEcoder.openFileVersions[ICEcoder.selectedTab-1]+" backup"+(1!=a?"s":""):""},updateByteDisplay:function(){var a,b;a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();
|
||||
a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;ICEcoder.byteDisplay.innerHTML=a.getValue().length.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")+" bytes"},showDisplay:function(a){top.ICEcoder.byteDisplay.style.display="byte"==a?"inline-block":"none";top.ICEcoder.charDisplay.style.display="char"==a?"inline-block":"none"},showHide:function(a,b){b.style.visibility="show"==a?"visible":"hidden"},getcMInstance:function(a){return top.ICEcoder.content.contentWindow[isNaN(a)?"new"==a||"new"!=a&&
|
||||
0<ICEcoder.openFiles.length?"cM"+ICEcoder.cMInstances[ICEcoder.selectedTab-1]:"cM1":"cM"+ICEcoder.cMInstances[a-1]]},getcMdiffInstance:function(a){return top.ICEcoder.content.contentWindow[(isNaN(a)?"new"==a||"new"!=a&&0<ICEcoder.openFiles.length?"cM"+ICEcoder.cMInstances[ICEcoder.selectedTab-1]:"cM1":"cM"+ICEcoder.cMInstances[a-1])+"diff"]},getMouseXY:function(a,b){top.ICEcoder.mouseX=a.pageX?a.pageX:a.clientX+document.body.scrollLeft;top.ICEcoder.mouseY=a.pageY?a.pageY:a.clientY+document.body.scrollTop;
|
||||
top.ICEcoder.area=b;"top"!=b&&(top.ICEcoder.mouseY+=70);"editor"==b&&(top.ICEcoder.mouseX+=top.ICEcoder.filesW);top.ICEcoder.dragCursorTest();62<top.ICEcoder.mouseY&&top.ICEcoder.setTabWidths()},dragCursorTest:function(){var a,b;a=top.ICEcoder.mouseX-top.ICEcoder.diffStartX;!1!==top.ICEcoder.draggingTab&&top.ICEcoder.diffStartX&&(-10>=a||10<=a)&&top.ICEcoder.mouseX>parseInt(top.ICEcoder.files.style.width,10)&&(top.ICEcoder.tabDragMouseX=top.ICEcoder.mouseX-parseInt(top.ICEcoder.files.style.width,
|
||||
10)-top.ICEcoder.tabDragMouseXStart,top.ICEcoder.tabDragMove());if(top.ICEcoder.ready&&(top.ICEcoder.mouseDown||(top.ICEcoder.draggingFilesW=!1),a=!ICEcoder.draggingTab&&(top.ICEcoder.mouseX>top.ICEcoder.filesW-7&&top.ICEcoder.mouseX<top.ICEcoder.filesW+7||top.ICEcoder.draggingFilesW)?"w-resize":"auto",top.ICEcoder.content.contentWindow.document&&top.ICEcoder.filesFrame.contentWindow)){top.document.body.style.cursor=a;if(b=top.ICEcoder.content.contentWindow.document.body)b.style.cursor=a;if(b=top.ICEcoder.filesFrame.contentWindow.document.body)b.style.cursor=
|
||||
a}},serverMessage:function(a){var b;b=top.get("serverMessage");a?(b.innerHTML=top.ICEcoder.xssClean(a).replace(/\<b\>/g,"<b>").replace(/\<\/b\>/g,"</b>").replace(/\<br\>/g,"<br>"),b.style.left="0"):setTimeout(function(){b.style.left="2000px"},200);b.style.opacity=a?1:0},cssColorPreview:function(){var a,b,c,d;a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();if(a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a){b=a.getLine(a.getCursor().line);for(c=/(#[\da-f]{3}(?:[\da-f]{3})?\b|\b(?:rgb|hsl)a?\([\s\d%,.-]+\)|\b[a-z]+\b)/gi;(d=
|
||||
c.exec(b))&&a.getCursor().ch>d.index+d[0].length;);(b=top.get("content").contentWindow.document.getElementById("cssColor"))&&b.parentNode.removeChild(b);top.ICEcoder.codeAssist&&"CSS"==top.ICEcoder.caretLocType&&(b=top.document.createElement("div"),b.id="cssColor",b.style.position="absolute",b.style.display="block",b.style.width=b.style.height="20px",b.style.zIndex="1000",b.style.background=d?d[0]:"",b.style.cursor="pointer",b.onclick=function(){top.ICEcoder.showColorPicker(d[0])},""==b.style.backgroundColor&&
|
||||
(b.style.display="none"),top.get("header").appendChild(b),a.addWidget(a.getCursor(),top.get("cssColor"),!0))}},showColorPicker:function(a){top.get("blackMask").style.visibility="visible";top.get("mediaContainer").innerHTML='<div id="picker" class="picker"></div><br><br><input type="text" id="color" name="color" value="#000" class="colorValue"><input type="button" onClick="top.ICEcoder.insertColorValue(top.get(\'color\').value)" value="insert >" class="insertColorValue"><br><input type="text" id="colorRGB" name="colorRGB" value="rgb(0,0,0)" class="colorValue"><input type="button" onClick="top.ICEcoder.insertColorValue(top.get(\'colorRGB\').value)" value="insert >" class="insertColorValue">';
|
||||
farbtastic("picker","color");a&&top.get("picker").farbtastic.setColor(a)},initCanvasImage:function(a){var b,c;b=top.get("canvasPicker").getContext("2d");c=new Image;c.src=a.src;c.onload=function(){top.get("canvasPicker").width=a.width;top.get("canvasPicker").height=a.height;b.drawImage(c,0,0,a.width,a.height)};top.document.getElementById("floatingContainer").style.backgroundSize=5*a.naturalWidth+"px "+5*a.naturalHeight+"px"},interactCanvasImage:function(a){var b,c,d,e,f,g,h,k,l,p,n,m,q;b=top.get("canvasPicker").getContext("2d");
|
||||
top.get("canvasPicker").onmousemove=function(u){c=u.pageX-this.offsetLeft;d=u.pageY-this.offsetTop;e=b.getImageData(c,d,1,1).data;f=e[0];g=e[1];h=e[2];k=f+","+g+","+h;l=top.ICEcoder.rgbToHex(f,g,h);top.get("rgbMouseXY").value=k;top.get("hexMouseXY").value="#"+l;top.get("hexMouseXY").style.backgroundColor=top.get("rgbMouseXY").style.backgroundColor="#"+l;p=128>f||128>g||128>h&&200>f&&200>g&&50<h?"#fff":"#000";top.get("hexMouseXY").style.color=top.get("rgbMouseXY").style.color=p;n=get("floatingContainer");
|
||||
n.style.left=top.ICEcoder.mouseX+20+"px";n.style.top=top.ICEcoder.mouseY+"px";m=-(a.naturalWidth/a.width*c*5)+25;q=-(a.naturalHeight/a.height*d*5)+25;n.style.backgroundPosition=m+"px "+q+"px"};top.get("canvasPicker").onmouseover=function(a){get("floatingContainer").style.visibility="visible"};top.get("canvasPicker").onmouseout=function(a){get("floatingContainer").style.visibility="hidden"};top.get("canvasPicker").onclick=function(){top.get("rgb").value=top.get("rgbMouseXY").value;top.get("hex").value=
|
||||
top.get("hexMouseXY").value;top.get("hex").style.backgroundColor=top.get("rgb").style.backgroundColor=top.get("hex").value;top.get("hex").style.color=top.get("rgb").style.color=p}},rgbToHex:function(a,b,c){return top.ICEcoder.toHex(a)+top.ICEcoder.toHex(b)+top.ICEcoder.toHex(c)},toHex:function(a){a=parseInt(a,10);if(isNaN(a))return"00";a=Math.max(0,Math.min(a,255));return"0123456789abcdef".charAt((a-a%16)/16)+"0123456789abcdef".charAt(a%16)},insertColorValue:function(a){var b,c;b=ICEcoder.getcMInstance();
|
||||
c=ICEcoder.getcMdiffInstance();b=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;c=b.getTokenAt(b.getCursor());b.replaceRange(a,{line:b.getCursor().line,ch:c.start},{line:b.getCursor().line,ch:1E6})},fMIconVis:function(a,b){var c;if(c=top.get(a))c.style.opacity=b},isOpen:function(a){a=a.replace(/\|/g,"/").replace(top.docRoot+top.iceRoot,"");a=top.ICEcoder.openFiles.indexOf(a);return-1!=a?a:!1},startPluginIntervals:function(a,b,c,d){-1<b.indexOf("?")&&(b=b+"&csrf="+top.ICEcoder.csrf);top.ICEcoder["plugTimer"+
|
||||
a]=-1<["_parent","_top","_self",""].indexOf(c)?top.ICEcoder["plugTimer"+a]=setInterval("window.location='"+b+"'",6E4*d):0==c.indexOf("fileControl")?top.ICEcoder["plugTimer"+a]=setInterval(function(){top.ICEcoder.serverQueue("add",b);top.ICEcoder.serverMessage(c.split(":")[1])},6E4*d):top.ICEcoder["plugTimer"+a]=setInterval("window.open('"+b+"','"+c+"')",6E4*d);top.ICEcoder.pluginIntervalRefs.push(a)},codeAssistToggle:function(){var a,b;top.ICEcoder.codeAssist=!top.ICEcoder.codeAssist;top.get("codeAssistDisplay").style.backgroundPosition=
|
||||
top.ICEcoder.codeAssist?"0 0":"-16px 0";top.ICEcoder.cssColorPreview();top.ICEcoder.focus(-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?"diff":!1);for(i=0;i<top.ICEcoder.cMInstances.length;i++)if(a=top.ICEcoder.openFiles[i],a=a.split("."),a=a[a.length-1],"js"==a||"json"==a)a=top.ICEcoder.content.contentWindow["cM"+top.ICEcoder.cMInstances[i]],b=top.ICEcoder.content.contentWindow["cM"+top.ICEcoder.cMInstances[i]+"diff"],top.ICEcoder.codeAssist?(a.setOption("lint",!0),b.setOption("lint",!0)):
|
||||
(a.clearGutter("CodeMirror-lint-markers"),a.setOption("lint",!1),b.clearGutter("CodeMirror-lint-markers"),b.setOption("lint",!1))},serverQueue:function(a,b,c){var d,e,f,g,h;d=ICEcoder.getcMInstance();for(f=e=0;f<ICEcoder.serverQueueItems.length;f++)0<ICEcoder.serverQueueItems[f].indexOf("action=save")&&e++;e++;if("add"==a)ICEcoder.serverQueueItems.push(b),0<b.indexOf("action=save")&&(f=document.createElement("textarea"),f.setAttribute("id","saveTemp"+e),document.body.appendChild(f),top.get("saveTemp"+
|
||||
e).value=d.getValue());else if("del"==a){if(ICEcoder.serverQueueItems[0]&&0<ICEcoder.serverQueueItems[0].indexOf("action=save")){d=e-1;for(f=1;f<d;f++)top.get("saveTemp"+f).value=top.get("saveTemp"+(f+1)).value;d=top.get("saveTemp"+d);d.parentNode.removeChild(d)}ICEcoder.serverQueueItems.splice(0,1)}if("del"==a&&1<=ICEcoder.serverQueueItems.length||1==ICEcoder.serverQueueItems.length)b&&-1==b.indexOf("saveFiles=")&&-1==b.indexOf("action=load")?(g=top.ICEcoder.xhrObj(),g.onreadystatechange=function(){4==
|
||||
g.readyState&&(h=JSON.parse(g.responseText),h.action.timeEnd=(new Date).getTime(),h.action.timeTaken=h.action.timeEnd-h.action.timeStart,0<=["raw","both"].indexOf(top.ICEcoder.fileDirResOutput)&&console.log(g.responseText),0<=["object","both"].indexOf(top.ICEcoder.fileDirResOutput)&&console.log(h),200==g.status?h.status.error?(top.ICEcoder.message(h.status.errorMsg),console.log("ICEcoder error info for your request..."),console.log(h),top.ICEcoder.serverMessage(),top.ICEcoder.serverQueue("del",0)):
|
||||
eval(h.action.doNext):(top.ICEcoder.message(top.t["Sorry there was..."]),console.log("ICEcoder error info for your request..."),console.log(h),top.ICEcoder.serverMessage(),top.ICEcoder.serverQueue("del",0)))},g.open("POST",ICEcoder.serverQueueItems[0],!0),g.setRequestHeader("Content-type","application/x-www-form-urlencoded"),a=(new Date).getTime(),0<b.indexOf("action=save")?g.send("timeStart="+a+"&file="+c+"&contents="+encodeURIComponent(top.document.getElementById("saveTemp1").value)):g.send("timeStart="+
|
||||
a+"&file="+c)):setTimeout(function(){top.ICEcoder.filesFrame.contentWindow.frames.fileControl.location.href=ICEcoder.serverQueueItems[0]},1)},cancelAllActions:function(){window.stop();0<ICEcoder.serverQueueItems.length&&ICEcoder.serverQueueItems.splice(1,ICEcoder.serverQueueItems.length);top.ICEcoder.showHide("hide",top.get("loadingMask"));top.ICEcoder.serverMessage('<b style="color: #d00">'+top.t["Cancelled tasks"]+"</b>");setTimeout(function(){top.ICEcoder.serverMessage()},2E3)},setPreviousFiles:function(){var a;
|
||||
a=top.ICEcoder.openFiles.join(",").replace(/\//g,"|").replace(/(\|\[NEW\])|(,\|\[NEW\])/g,"").replace(/(^,)|(,$)/g,"");""==a&&(a="CLEAR");top.ICEcoder.serverQueue("add","lib/settings.php?saveFiles="+a+"&csrf="+top.ICEcoder.csrf);top.ICEcoder.updateLast10List(a)},updateLast10List:function(a){var b,c,d;a=a.split(",");for(var e=0;e<a.length;e++)"CLEAR"!=a[e]&&(b='<li class="pft-file ext-'+a[e].substring(a[e].lastIndexOf(".")+1)+'" style="margin-left: -21px"><a style="cursor:pointer" onclick="top.ICEcoder.openFile(\''+
|
||||
a[e].replace(/\|/g,"/")+"')\">"+a[e].replace(/\|/g,"/")+"</a></li>\n",c=top.ICEcoder.content.contentWindow.document.getElementById("last10Files"),-1==c.innerHTML.indexOf(b)&&(d=c.innerHTML.split("\n"),(10<=d.length||'<div style="display: inline-block; margin-left: -39px; margin-top: -4px">[none]</div><br><br>'==d[0]||""==d[d.length-1])&&d.pop(),c.innerHTML=b+d.join("\n")))},autoOpenFiles:function(){if(0<top.ICEcoder.previousFiles.length&&top.ICEcoder.ask(top.t["Open previous files"]+"\n\n"+top.ICEcoder.previousFiles.length+
|
||||
" files:\n"+top.ICEcoder.previousFiles.join("\n").replace(/\|/g,"/").replace(new RegExp(top.docRoot+top.iceRoot,"gi"),"")))for(var a=0;a<top.ICEcoder.previousFiles.length;a++)top.ICEcoder.thisFileFolderLink=top.ICEcoder.previousFiles[a].replace("|","/"),top.ICEcoder.thisFileFolderType="file",top.ICEcoder.openFile()},settingsScreen:function(a){a||(top.get("mediaContainer").innerHTML='<iframe src="lib/settings-screen.php" class="whiteGlow" style="width: 970px; height: 610px"></iframe>');top.ICEcoder.showHide(a?
|
||||
"hide":"show",top.get("blackMask"))},helpScreen:function(){top.get("mediaContainer").innerHTML='<iframe src="lib/help.php" class="whiteGlow" style="width: 840px; height: 465px"></iframe>';top.ICEcoder.showHide("show",top.get("blackMask"))},showManual:function(a,b){var c;c=b?"#"+b:"";top.get("mediaContainer").innerHTML='<iframe src="https://icecoder.net/manual?version='+a+c+'" class="whiteGlow" style="width: 800px; height: 470px"></iframe>';top.ICEcoder.showHide("show",top.get("blackMask"))},propertiesScreen:function(a){top.get("mediaContainer").innerHTML=
|
||||
'<iframe src="lib/properties.php?fileName='+a.replace(/\//g,"|")+"&csrf="+top.ICEcoder.csrf+'" class="whiteGlow" style="width: 660px; height: 330px"></iframe>';top.ICEcoder.showHide("show",top.get("blackMask"))},pluginsManager:function(){top.get("mediaContainer").innerHTML='<iframe src="lib/plugins-manager.php" class="whiteGlow" style="width: 800px; height: 450px"></iframe>';top.ICEcoder.showHide("show",top.get("blackMask"))},githubAction:function(a){top.get("mediaContainer").innerHTML='<iframe src="lib/github.php?action='+
|
||||
a+"&selectedFiles="+top.ICEcoder.selectedFiles.join(";")+"&csrf="+top.ICEcoder.csrf+'" class="whiteGlow" style="width: 340px; height: 340px"></iframe>';top.ICEcoder.showHide("show",top.get("blackMask"))},githubTokenAsk:function(a){if(githubAuthToken=top.ICEcoder.getInput(top.t["Please enter your..."],""))top.ICEcoder.filesFrame.contentWindow.frames.fileControl.location.href="lib/github.php?action=auth&token="+githubAuthToken+"&goNext="+a+"&csrf="+top.ICEcoder.csrf,githubAuthToken=""},showHideGithubNav:function(a){top.get("githubNav").style.display=
|
||||
"show"==a?"block":"none";top.get("fileNav").style.display="show"==a?"none":"block"},githubManager:function(){top.ICEcoder.githubAuthTokenSet?(top.get("mediaContainer").innerHTML='<iframe src="lib/github-manager.php" class="whiteGlow" style="width: 660px; height: 450px"></iframe>',top.ICEcoder.showHide("show",top.get("blackMask"))):top.ICEcoder.githubTokenAsk("showManager")},githubDiffToggle:function(){var a;if(!top.ICEcoder.githubAuthTokenSet)top.ICEcoder.githubTokenAsk("loadFiles");else if(top.ICEcoder.githubDiff||
|
||||
top.ICEcoder.ask(top.t["This will compare..."]))top.ICEcoder.githubDiff=!top.ICEcoder.githubDiff,a=top.ICEcoder.githubDiff?"true":"false",top.ICEcoder.filesFrame.src="files.php?githubDiff="+a+"&csrf="+top.ICEcoder.csrf},useNewSettings:function(a,b,c,d,e,f,g,h,k,l,p,n,m,q,u,v,w,x){var r,t=a.slice(0,a.lastIndexOf("?")),t=t.slice(t.lastIndexOf("/")+1,t.lastIndexOf("."));top.ICEcoder.theme!==t&&(top.ICEcoder.theme=t,"editor"==top.ICEcoder.theme&&(top.ICEcoder.theme="icecoder"),r=document.createElement("link"),
|
||||
r.setAttribute("rel","stylesheet"),r.setAttribute("type","text/css"),r.setAttribute("href",a),top.ICEcoder.content.contentWindow.document.getElementsByTagName("head")[0].appendChild(r),r=-1<"3024-day base16-light eclipse elegant mdn-like neat neo paraiso-light solarized the-matrix xq-light".split(" ").indexOf(top.ICEcoder.theme)?"#ccc":-1<"3024-night blackboard colorforth liquibyte night tomorrow-night-bright tomorrow-night-eighties vibrant-ink".split(" ").indexOf(top.ICEcoder.theme)?"#888":"#000",
|
||||
top.ICEcoder.switchTab(top.ICEcoder.selectedTab));b!=top.ICEcoder.codeAssist&&(top.get("codeAssist").checked=b,top.ICEcoder.codeAssistToggle());c!=top.ICEcoder.lockedNav&&(top.ICEcoder.lockUnlockNav(),ICEcoder.changeFilesW(c?"expand":"contract"),top.ICEcoder.hideFileMenu());b=ICEcoder.content.contentWindow.document.styleSheets[4];a=b.rules?"rules":"cssRules";b[a][0].style.fontSize=g;b[a][4].style["border-left-width"]=f?"1px":"0";b[a][4].style["margin-left"]=f?"-1px":"0";b[a][2].style.cssText="background-color: "+
|
||||
r+" !important";top.ICEcoder.lineWrapping=h;top.ICEcoder.indentWithTabs=k;top.ICEcoder.indentSize=p;top.ICEcoder.indentAuto=l;for(f=0;f<ICEcoder.cMInstances.length;f++)ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]].setOption("lineWrapping",top.ICEcoder.lineWrapping),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]].setOption("indentWithTabs",top.ICEcoder.indentWithTabs),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]].setOption("indentUnit",top.ICEcoder.indentSize),
|
||||
ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]].setOption("tabSize",top.ICEcoder.indentSize),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]].refresh(),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]+"diff"].setOption("lineWrapping",top.ICEcoder.lineWrapping),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]+"diff"].setOption("indentWithTabs",top.ICEcoder.indentWithTabs),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]+"diff"].setOption("indentUnit",
|
||||
top.ICEcoder.indentSize),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]+"diff"].setOption("tabSize",top.ICEcoder.indentSize),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]+"diff"].refresh();d!=top.ICEcoder.tagWrapperCommand&&(top.ICEcoder.tagWrapperCommand=d);e!=top.ICEcoder.autoComplete&&(top.ICEcoder.autoComplete=e);top.get("plugins").style.left="left"==n?"0":"auto";top.get("plugins").style.right="right"==n?"0":"auto";top.ICEcoder.bugFilePaths=m;top.ICEcoder.bugFileCheckTimer=
|
||||
q;top.ICEcoder.bugFileMaxLines=u;""!=top.ICEcoder.bugFilePaths[0]?top.ICEcoder.startBugChecking():"undefined"!=typeof top.ICEcoder.bugFileCheckInt&&clearInterval(top.ICEcoder.bugFileCheckInt);top.ICEcoder.splitPane&&top.ICEcoder.updateDiffs();top.ICEcoder.githubAuthTokenSet=v;top.ICEcoder.updateDiffOnSave=w;x&&top.ICEcoder.refreshFileManager()},updateResultsDisplay:function(a){ICEcoder.findReplace(top.get("find").value,!0,!1);top.get("results").style.display="show"==a?"inline-block":"none"},fullScreenSwitcher:function(){"undefined"!=
|
||||
farbtastic("picker","color");a&&top.get("picker").farbtastic.setColor(a)},initCanvasImage:function(a){var b,c;b=top.get("canvasPicker").getContext("2d");c=new Image;c.crossOrigin="Anonymous";c.src=a.src;c.onerror=function(){get("floatingContainer").style.visibility="hidden";get("canvasPickerColorInfo").style.display="none";get("canvasPickerCORSInfo").style.display="block"};c.onload=function(){top.get("canvasPicker").width=a.width;top.get("canvasPicker").height=a.height;b.drawImage(c,0,0,a.width,a.height);
|
||||
get("canvasPickerColorInfo").style.display="block";get("canvasPickerCORSInfo").style.display="none";top.get("canvasPicker").onmouseover=function(a){get("floatingContainer").style.visibility="visible"};top.get("canvasPicker").onmouseout=function(a){get("floatingContainer").style.visibility="hidden"}};top.document.getElementById("floatingContainer").style.backgroundSize=5*a.naturalWidth+"px "+5*a.naturalHeight+"px"},interactCanvasImage:function(a){var b,c,d,e,f,g,k,h,l,p,n,m,r;b=top.get("canvasPicker").getContext("2d");
|
||||
top.get("canvasPicker").onmousemove=function(t){c=t.pageX-this.offsetLeft;d=t.pageY-this.offsetTop;e=b.getImageData(c,d,1,1).data;f=e[0];g=e[1];k=e[2];h=f+","+g+","+k;l=top.ICEcoder.rgbToHex(f,g,k);top.get("rgbMouseXY").value=h;top.get("hexMouseXY").value="#"+l;top.get("hexMouseXY").style.backgroundColor=top.get("rgbMouseXY").style.backgroundColor="#"+l;p=128>f||128>g||128>k&&200>f&&200>g&&50<k?"#fff":"#000";top.get("hexMouseXY").style.color=top.get("rgbMouseXY").style.color=p;n=get("floatingContainer");
|
||||
n.style.left=top.ICEcoder.mouseX+20+"px";n.style.top=top.ICEcoder.mouseY+"px";m=-(a.naturalWidth/a.width*c*5)+25;r=-(a.naturalHeight/a.height*d*5)+25;n.style.backgroundPosition=m+"px "+r+"px"};top.get("canvasPicker").onclick=function(){top.get("rgb").value=top.get("rgbMouseXY").value;top.get("hex").value=top.get("hexMouseXY").value;top.get("hex").style.backgroundColor=top.get("rgb").style.backgroundColor=top.get("hex").value;top.get("hex").style.color=top.get("rgb").style.color=p}},rgbToHex:function(a,
|
||||
b,c){return top.ICEcoder.toHex(a)+top.ICEcoder.toHex(b)+top.ICEcoder.toHex(c)},toHex:function(a){a=parseInt(a,10);if(isNaN(a))return"00";a=Math.max(0,Math.min(a,255));return"0123456789abcdef".charAt((a-a%16)/16)+"0123456789abcdef".charAt(a%16)},insertColorValue:function(a){var b,c;b=ICEcoder.getcMInstance();c=ICEcoder.getcMdiffInstance();b=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;c=b.getTokenAt(b.getCursor());b.replaceRange(a,{line:b.getCursor().line,ch:c.start},{line:b.getCursor().line,
|
||||
ch:1E6})},fMIconVis:function(a,b){var c;if(c=top.get(a))c.style.opacity=b},isOpen:function(a){a=a.replace(/\|/g,"/").replace(top.docRoot+top.iceRoot,"");a=top.ICEcoder.openFiles.indexOf(a);return-1!=a?a:!1},startPluginIntervals:function(a,b,c,d){-1<b.indexOf("?")&&(b=b+"&csrf="+top.ICEcoder.csrf);top.ICEcoder["plugTimer"+a]=-1<["_parent","_top","_self",""].indexOf(c)?top.ICEcoder["plugTimer"+a]=setInterval("window.location='"+b+"'",6E4*d):0==c.indexOf("fileControl")?top.ICEcoder["plugTimer"+a]=setInterval(function(){top.ICEcoder.serverQueue("add",
|
||||
b);top.ICEcoder.serverMessage(c.split(":")[1])},6E4*d):top.ICEcoder["plugTimer"+a]=setInterval("window.open('"+b+"','"+c+"')",6E4*d);top.ICEcoder.pluginIntervalRefs.push(a)},codeAssistToggle:function(){var a,b;top.ICEcoder.codeAssist=!top.ICEcoder.codeAssist;top.get("codeAssistDisplay").style.backgroundPosition=top.ICEcoder.codeAssist?"0 0":"-16px 0";top.ICEcoder.cssColorPreview();top.ICEcoder.focus(-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?"diff":!1);for(i=0;i<top.ICEcoder.cMInstances.length;i++)if(a=
|
||||
top.ICEcoder.openFiles[i],a=a.split("."),a=a[a.length-1],"js"==a||"json"==a)a=top.ICEcoder.content.contentWindow["cM"+top.ICEcoder.cMInstances[i]],b=top.ICEcoder.content.contentWindow["cM"+top.ICEcoder.cMInstances[i]+"diff"],top.ICEcoder.codeAssist?(a.setOption("lint",!0),b.setOption("lint",!0)):(a.clearGutter("CodeMirror-lint-markers"),a.setOption("lint",!1),b.clearGutter("CodeMirror-lint-markers"),b.setOption("lint",!1))},serverQueue:function(a,b,c,d){var e,f,g,k,h;if(-1!==ICEcoder.serverQueueItems.indexOf(b))top.ICEcoder.serverMessage(),
|
||||
top.ICEcoder.serverQueue("del",0);else{e=ICEcoder.getcMInstance();for(g=f=0;g<ICEcoder.serverQueueItems.length;g++)0<ICEcoder.serverQueueItems[g].indexOf("action=save")&&f++;f++;if("add"==a)ICEcoder.serverQueueItems.push(b),0<b.indexOf("action=save")&&(g=document.createElement("textarea"),g.setAttribute("id","saveTemp"+f),document.body.appendChild(g),0<b.indexOf("saveType=saveAs")||0<b.indexOf("fileVersion=undefined")?top.get("saveTemp"+f).value=e.getValue():top.get("saveTemp"+f).value=d);else if("del"==
|
||||
a){if(ICEcoder.serverQueueItems[0]&&0<ICEcoder.serverQueueItems[0].indexOf("action=save")){d=f-1;for(g=1;g<d;g++)top.get("saveTemp"+g).value=top.get("saveTemp"+(g+1)).value;d=top.get("saveTemp"+d);d.parentNode.removeChild(d)}ICEcoder.serverQueueItems.splice(0,1)}if("del"==a&&1<=ICEcoder.serverQueueItems.length||1==ICEcoder.serverQueueItems.length)b&&-1==b.indexOf("saveFiles=")&&-1==b.indexOf("action=load")?(k=top.ICEcoder.xhrObj(),k.onreadystatechange=function(){4==k.readyState&&(200==k.status?(h=
|
||||
JSON.parse(k.responseText),h.action.timeEnd=(new Date).getTime(),h.action.timeTaken=h.action.timeEnd-h.action.timeStart,0<=["raw","both"].indexOf(top.ICEcoder.fileDirResOutput)&&console.log(k.responseText),0<=["object","both"].indexOf(top.ICEcoder.fileDirResOutput)&&console.log(h),h.status.error?(top.ICEcoder.message(h.status.errorMsg),console.log("ICEcoder error info for your request..."),console.log(h),top.ICEcoder.serverMessage(),top.ICEcoder.serverQueue("del",0)):eval(h.action.doNext)):(top.ICEcoder.message(top.t["Sorry there was..."]),
|
||||
console.log("ICEcoder error info for your request..."),console.log(h),top.ICEcoder.serverMessage(),top.ICEcoder.serverQueue("del",0)))},k.open("POST",ICEcoder.serverQueueItems[0],!0),k.setRequestHeader("Content-type","application/x-www-form-urlencoded"),a=(new Date).getTime(),0<b.indexOf("action=saveAs")?k.send("timeStart="+a+"&file="+c+"&contents="+encodeURIComponent(top.document.getElementById("saveTemp1").value)):0<b.indexOf("action=save")?k.send("timeStart="+a+"&file="+c+"&changes="+encodeURIComponent(top.document.getElementById("saveTemp1").value)):
|
||||
k.send("timeStart="+a+"&file="+c)):setTimeout(function(){"undefined"!=typeof ICEcoder.serverQueueItems[0]&&(top.ICEcoder.filesFrame.contentWindow.frames.fileControl.location.href=ICEcoder.serverQueueItems[0])},1)}},cancelAllActions:function(){window.stop();0<ICEcoder.serverQueueItems.length&&ICEcoder.serverQueueItems.splice(1,ICEcoder.serverQueueItems.length);top.ICEcoder.showHide("hide",top.get("loadingMask"));top.ICEcoder.serverMessage('<b style="color: #d00">'+top.t["Cancelled tasks"]+"</b>");
|
||||
setTimeout(function(){top.ICEcoder.serverMessage()},2E3)},setPreviousFiles:function(){var a;a=top.ICEcoder.openFiles.join(",").replace(/\//g,"|").replace(/(\|\[NEW\])|(,\|\[NEW\])/g,"").replace(/(^,)|(,$)/g,"");""==a&&(a="CLEAR");top.ICEcoder.serverQueue("add","lib/settings.php?saveFiles="+a+"&csrf="+top.ICEcoder.csrf);top.ICEcoder.updateLast10List(a)},updateLast10List:function(a){var b,c,d;a=a.split(",");for(var e=0;e<a.length;e++)"CLEAR"!=a[e]&&(b='<li class="pft-file ext-'+a[e].substring(a[e].lastIndexOf(".")+
|
||||
1)+'" style="margin-left: -21px"><a style="cursor:pointer" onclick="top.ICEcoder.openFile(\''+a[e].replace(/\|/g,"/")+"')\">"+a[e].replace(/\|/g,"/")+"</a></li>\n",c=top.ICEcoder.content.contentWindow.document.getElementById("last10Files"),-1==c.innerHTML.indexOf(b)&&(d=c.innerHTML.split("\n"),(10<=d.length||'<div style="display: inline-block; margin-left: -39px; margin-top: -4px">[none]</div><br><br>'==d[0]||""==d[d.length-1])&&d.pop(),c.innerHTML=b+d.join("\n")))},autoOpenFiles:function(){if(0<
|
||||
top.ICEcoder.previousFiles.length&&top.ICEcoder.ask(top.t["Open previous files"]+"\n\n"+top.ICEcoder.previousFiles.length+" files:\n"+top.ICEcoder.previousFiles.join("\n").replace(/\|/g,"/").replace(new RegExp(top.docRoot+top.iceRoot,"gi"),"")))for(var a=0;a<top.ICEcoder.previousFiles.length;a++)top.ICEcoder.thisFileFolderLink=top.ICEcoder.previousFiles[a].replace("|","/"),top.ICEcoder.thisFileFolderType="file",top.ICEcoder.openFile()},settingsScreen:function(a){a||(top.get("mediaContainer").innerHTML=
|
||||
'<iframe src="lib/settings-screen.php" class="whiteGlow" style="width: 970px; height: 610px"></iframe>');top.ICEcoder.showHide(a?"hide":"show",top.get("blackMask"))},helpScreen:function(){top.get("mediaContainer").innerHTML='<iframe src="lib/help.php" class="whiteGlow" style="width: 840px; height: 465px"></iframe>';top.ICEcoder.showHide("show",top.get("blackMask"))},versionsScreen:function(a,b){top.get("mediaContainer").innerHTML='<iframe src="lib/backup-versions.php?file='+a+"&csrf="+top.ICEcoder.csrf+
|
||||
'" class="whiteGlow" style="width: 970px; height: 640px"></iframe>';top.ICEcoder.showHide("show",top.get("blackMask"))},showManual:function(a,b){var c;c=b?"#"+b:"";top.get("mediaContainer").innerHTML='<iframe src="https://icecoder.net/manual?version='+a+c+'" class="whiteGlow" style="width: 800px; height: 470px"></iframe>';top.ICEcoder.showHide("show",top.get("blackMask"))},propertiesScreen:function(a){top.get("mediaContainer").innerHTML='<iframe src="lib/properties.php?fileName='+a.replace(/\//g,
|
||||
"|")+"&csrf="+top.ICEcoder.csrf+'" class="whiteGlow" style="width: 660px; height: 330px"></iframe>';top.ICEcoder.showHide("show",top.get("blackMask"))},autoLogoutWarningScreen:function(){top.get("mediaContainer").innerHTML='<iframe src="lib/auto-logout-warning.php" id="autoLogoutIFrame" class="whiteGlow" style="width: 400px; height: 160px"></iframe>';top.ICEcoder.showHide("show",top.get("blackMask"))},pluginsManager:function(){top.get("mediaContainer").innerHTML='<iframe src="lib/plugins-manager.php" class="whiteGlow" style="width: 800px; height: 450px"></iframe>';
|
||||
top.ICEcoder.showHide("show",top.get("blackMask"))},goLocalhostRoot:function(){top.ICEcoder.filesFrame.contentWindow.frames.fileControl.location.href="lib/go-localhost-root.php"},githubAction:function(a){top.get("mediaContainer").innerHTML='<iframe src="lib/github.php?action='+a+"&selectedFiles="+top.ICEcoder.selectedFiles.join(";")+"&csrf="+top.ICEcoder.csrf+'" class="whiteGlow" style="width: 340px; height: 340px"></iframe>';top.ICEcoder.showHide("show",top.get("blackMask"))},githubTokenAsk:function(a){if(githubAuthToken=
|
||||
top.ICEcoder.getInput(top.t["Please enter your..."],""))top.ICEcoder.filesFrame.contentWindow.frames.fileControl.location.href="lib/github.php?action=auth&token="+githubAuthToken+"&goNext="+a+"&csrf="+top.ICEcoder.csrf,githubAuthToken=""},showHideGithubNav:function(a){top.get("githubNav").style.display="show"==a?"block":"none";top.get("fileNav").style.display="show"==a?"none":"block"},githubManager:function(){top.ICEcoder.githubAuthTokenSet?(top.get("mediaContainer").innerHTML='<iframe src="lib/github-manager.php" class="whiteGlow" style="width: 660px; height: 450px"></iframe>',
|
||||
top.ICEcoder.showHide("show",top.get("blackMask"))):top.ICEcoder.githubTokenAsk("showManager")},githubDiffToggle:function(){var a;if(!top.ICEcoder.githubAuthTokenSet)top.ICEcoder.githubTokenAsk("loadFiles");else if(top.ICEcoder.githubDiff||top.ICEcoder.ask(top.t["This will compare..."]))top.ICEcoder.githubDiff=!top.ICEcoder.githubDiff,a=top.ICEcoder.githubDiff?"true":"false",top.ICEcoder.filesFrame.src="files.php?githubDiff="+a+"&csrf="+top.ICEcoder.csrf},ftpManager:function(){top.get("mediaContainer").innerHTML=
|
||||
'<iframe src="lib/ftp-manager.php" class="whiteGlow" style="width: 660px; height: 550px"></iframe>';top.ICEcoder.showHide("show",top.get("blackMask"))},useNewSettings:function(a,b,c,d,e,f,g,k,h,l,p,n,m,r,t,w,v,x,y,z,A,B,C,D){var q,u=a.slice(0,a.lastIndexOf("?")),u=u.slice(u.lastIndexOf("/")+1,u.lastIndexOf("."));top.ICEcoder.theme!==u&&(top.ICEcoder.theme=u,"editor"==top.ICEcoder.theme&&(top.ICEcoder.theme="icecoder"),q=document.createElement("link"),q.setAttribute("rel","stylesheet"),q.setAttribute("type",
|
||||
"text/css"),q.setAttribute("href",a),top.ICEcoder.content.contentWindow.document.getElementsByTagName("head")[0].appendChild(q),q=document.createElement("link"),q.setAttribute("rel","stylesheet"),q.setAttribute("type","text/css"),q.setAttribute("href",a),top.document.getElementsByTagName("head")[0].appendChild(q),q=-1<"3024-day base16-light eclipse elegant mdn-like neat neo paraiso-light solarized the-matrix xq-light".split(" ").indexOf(top.ICEcoder.theme)?"#ccc":-1<"3024-night blackboard colorforth liquibyte night tomorrow-night-bright tomorrow-night-eighties vibrant-ink".split(" ").indexOf(top.ICEcoder.theme)?
|
||||
"#888":"#000",top.ICEcoder.switchTab(top.ICEcoder.selectedTab));b!=top.ICEcoder.codeAssist&&(top.get("codeAssist").checked=b,top.ICEcoder.codeAssistToggle());c!=top.ICEcoder.lockedNav&&(top.ICEcoder.lockUnlockNav(),ICEcoder.changeFilesW(c?"expand":"contract"),top.ICEcoder.hideFileMenu());a=top.document.styleSheets[0];b=a.rules?"rules":"cssRules";a[b][0].style.fontSize=g;a=ICEcoder.filesFrame.contentWindow.document.styleSheets[3];b=a.rules?"rules":"cssRules";a[b][0].style.fontSize=g;a=ICEcoder.content.contentWindow.document.styleSheets[4];
|
||||
b=a.rules?"rules":"cssRules";a[b][0].style.fontSize=g;a[b][4].style["border-left-width"]=f?"1px":"0";a[b][4].style["margin-left"]=f?"-1px":"0";a[b][2].style.cssText="background-color: "+q+" !important";top.ICEcoder.lineWrapping=k;top.ICEcoder.lineNumbers=h;top.ICEcoder.showTrailingSpace=l;top.ICEcoder.matchBrackets=p;top.ICEcoder.autoCloseTags=n;top.ICEcoder.autoCloseBrackets=m;top.ICEcoder.indentWithTabs=r;top.ICEcoder.indentSize=w;top.ICEcoder.indentAuto=t;for(f=0;f<ICEcoder.cMInstances.length;f++)ICEcoder.content.contentWindow["cM"+
|
||||
ICEcoder.cMInstances[f]].setOption("lineWrapping",top.ICEcoder.lineWrapping),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]].setOption("lineNumbers",top.ICEcoder.lineNumbers),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]].setOption("showTrailingSpace",top.ICEcoder.showTrailingSpace),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]].setOption("matchBrackets",top.ICEcoder.matchBrackets),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]].setOption("autoCloseTags",
|
||||
top.ICEcoder.autoCloseTags),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]].setOption("autoCloseBrackets",top.ICEcoder.autoCloseBrackets),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]].setOption("indentWithTabs",top.ICEcoder.indentWithTabs),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]].setOption("indentUnit",top.ICEcoder.indentSize),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]].setOption("tabSize",top.ICEcoder.indentSize),ICEcoder.content.contentWindow["cM"+
|
||||
ICEcoder.cMInstances[f]].refresh(),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]+"diff"].setOption("lineWrapping",top.ICEcoder.lineWrapping),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]+"diff"].setOption("lineNumbers",top.ICEcoder.lineNumbers),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]+"diff"].setOption("showTrailingSpace",top.ICEcoder.showTrailingSpace),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]+"diff"].setOption("matchBrackets",top.ICEcoder.matchBrackets),
|
||||
ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]+"diff"].setOption("autoCloseTags",top.ICEcoder.autoCloseTags),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]+"diff"].setOption("autoCloseBrackets",top.ICEcoder.autoCloseBrackets),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]+"diff"].setOption("indentWithTabs",top.ICEcoder.indentWithTabs),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]+"diff"].setOption("indentUnit",top.ICEcoder.indentSize),ICEcoder.content.contentWindow["cM"+
|
||||
ICEcoder.cMInstances[f]+"diff"].setOption("tabSize",top.ICEcoder.indentSize),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]+"diff"].refresh();d!=top.ICEcoder.tagWrapperCommand&&(top.ICEcoder.tagWrapperCommand=d);e!=top.ICEcoder.autoComplete&&(top.ICEcoder.autoComplete=e);top.get("plugins").style.left="left"==v?"0":"auto";top.get("plugins").style.right="right"==v?"0":"auto";top.ICEcoder.bugFilePaths=x;top.ICEcoder.bugFileCheckTimer=y;top.ICEcoder.bugFileMaxLines=z;""!=top.ICEcoder.bugFilePaths[0]?
|
||||
top.ICEcoder.startBugChecking():"undefined"!=typeof top.ICEcoder.bugFileCheckInt&&clearInterval(top.ICEcoder.bugFileCheckInt);top.ICEcoder.splitPane&&top.ICEcoder.updateDiffs();top.ICEcoder.githubAuthTokenSet=A;top.ICEcoder.updateDiffOnSave=B;top.ICEcoder.autoLogoutMins=C;D&&top.ICEcoder.refreshFileManager()},updateResultsDisplay:function(a){ICEcoder.findReplace(top.get("find").value,!0,!1);top.get("results").style.display="show"==a?"inline-block":"none"},fullScreenSwitcher:function(){"undefined"!=
|
||||
typeof document.cancelFullScreen?document.fullScreen?document.cancelFullScreen():document.body.requestFullScreen():"undefined"!=typeof document.mozCancelFullScreen?document.mozFullScreen?document.mozCancelFullScreen():document.body.mozRequestFullScreen():"undefined"!=typeof document.webkitCancelFullScreen&&(document.webkitIsFullScreen?document.webkitCancelFullScreen():document.body.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT))},zipIt:function(a){a=a.replace(/\//g,"|");top.ICEcoder.filesFrame.contentWindow.frames.fileControl.location.href=
|
||||
"plugins/zip-it/index.php?zip="+a+"&csrf="+top.ICEcoder.csrf},downloadFile:function(a){a=a.replace(/\//g,"|");top.ICEcoder.filesFrame.contentWindow.frames.fileControl.location.href="lib/download.php?file="+a+"&csrf="+top.ICEcoder.csrf},chmod:function(a,b){a=a.replace(top.iceRoot,"");top.ICEcoder.showHide("hide",top.get("blackMask"));top.ICEcoder.serverQueue("add","lib/file-control-xhr.php?action=perms&perms="+b+"&csrf="+top.ICEcoder.csrf,a);top.ICEcoder.serverMessage("<b>chMod "+b+" on </b><br>"+
|
||||
a.replace(/\|/g,"/"))},openPreviewWindow:function(){if(0<top.ICEcoder.openFiles.length){var a,b,c,d,e;d=top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1];a=d.substr(d.lastIndexOf("/")+1);e=a.substr(a.lastIndexOf(".")+1);a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();c=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;top.ICEcoder.previewWindowLoading=!0;top.ICEcoder.previewWindow=window.open(d,"previewWindow");-1<["md"].indexOf(e)?top.ICEcoder.previewWindow.onload=function(){top.ICEcoder.previewWindowLoading=
|
||||
!1;top.ICEcoder.previewWindow.document.documentElement.innerHTML=mmd(c.getValue())}:top.ICEcoder.previewWindow.onload=function(){top.ICEcoder.previewWindowLoading=!1;try{top.ICEcoder.doPesticide()}catch(a){}try{top.ICEcoder.doStatsJS("open")}catch(b){}}}},logout:function(){window.location=window.location+"?logout&csrf="+top.ICEcoder.csrf},message:function(a){alert(a)},ask:function(a){return confirm(a)},getInput:function(a,b){return prompt(a,b)},dataMessage:function(a){var b;b=top.ICEcoder.content.contentWindow.document.getElementById("dataMessage");
|
||||
b.style.display="block";b.innerHTML=a},update:function(){confirm(top.t["Please note for..."])?(top.ICEcoder.showHide("show",top.get("loadingMask")),window.location="lib/updater.php"):window.open("https://icecoder.net")},updated:function(){top.get("blackMask").style.visibility="visible";top.get("mediaContainer").innerHTML='<h1 style="color: #fff; cursor: default">Thanks for updating to v'+top.ICEcoder.versionNo+'!</h1><h2 style="color: #888; cursor: default">Click anywhere to continue using ICEcoder...</h2>'},
|
||||
xhrObj:function(){try{return new XMLHttpRequest}catch(a){}try{return new ActiveXObject("Msxml3.XMLHTTP")}catch(b){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(c){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(d){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(f){}return null},openBugReport:function(){var a;"off"==top.ICEcoder.bugReportStatus&&top.ICEcoder.message(top.t["You can start..."]);"error"==top.ICEcoder.bugReportStatus&&
|
||||
top.ICEcoder.message(top.t["Error cannot find..."]);"ok"==top.ICEcoder.bugReportStatus&&top.ICEcoder.message(top.t["No new errors..."]);"bugs"==top.ICEcoder.bugReportStatus&&(a=top.ICEcoder.openFiles.indexOf(top.ICEcoder.bugReportPath.replace(/\|/g,"/")),-1<a&&top.ICEcoder.closeTab(a+1,"dontSetPV","dontAsk"),top.ICEcoder.openFile(top.ICEcoder.bugReportPath),top.ICEcoder.bugFilesSizesSeen=top.ICEcoder.bugFilesSizesActual)},startBugChecking:function(){var a;0!==top.ICEcoder.bugFileCheckTimer?("undefined"!=
|
||||
typeof top.ICEcoder.bugFileCheckInt&&clearInterval(top.ICEcoder.bugFileCheckInt),top.ICEcoder.bugFilesSizesSeen=[],top.ICEcoder.bugFileCheckInt=setInterval(function(){a="lib/bug-files-check.php?";a+="files="+(""!==top.ICEcoder.bugFilePaths[0]?top.ICEcoder.bugFilePaths.join():"null").replace(/\//g,"|");a+="&filesSizesSeen=";if(top.ICEcoder.bugFilesSizesSeen.length!=top.ICEcoder.bugFilePaths.length)for(var b=0;b<top.ICEcoder.bugFilePaths.length;b++)top.ICEcoder.bugFilesSizesSeen[b]="null";a+=top.ICEcoder.bugFilesSizesSeen.join();
|
||||
a+="&maxLines="+top.ICEcoder.bugFileMaxLines;a+="&csrf="+top.ICEcoder.csrf;var c=top.ICEcoder.xhrObj();c.onreadystatechange=function(){if(4==c.readyState&&200==c.status){var a=JSON.parse(c.responseText);top.get("bugIcon").style.backgroundPosition="off"==a.result?"0 0":"ok"==a.result?"-32px 0":"bugs"==a.result?"-48px 0":"-16px 0";top.ICEcoder.bugReportStatus=a.result;"null"==top.ICEcoder.bugFilesSizesSeen[0]&&(top.ICEcoder.bugFilesSizesSeen=a.filesSizesSeen);top.ICEcoder.bugFilesSizesActual=a.filesSizesSeen;
|
||||
top.ICEcoder.bugReportPath=a.bugReportPath}};c.open("GET",a,!0);c.send()},parseInt(1E3*top.ICEcoder.bugFileCheckTimer,10)),top.ICEcoder.bugReportStatus="ok"):"undefined"!=typeof top.ICEcoder.bugFileCheckInt&&clearInterval(top.ICEcoder.bugFileCheckInt)},xssClean:function(a){return a.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},printCode:function(){var a,b;a=top.ICEcoder.getcMInstance();b=top.ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?
|
||||
b:a;b=top.ICEcoder.filesFrame.contentWindow.frames.fileControl;b.window.document.body.innerHTML='<!DOCTYPE html><head><title>ICEcoder code output</title></head><body><pre style="white-space: pre-wrap">'+top.ICEcoder.xssClean(a.getValue())+"</pre></body></html>";b.focus();b.print();a.focus()},indicateChanges:function(){var a;if(!top.ICEcoder.loadingFile){a="ICEcoder v "+top.ICEcoder.versionNo;for(var b=1;b<=top.ICEcoder.savedPoints.length;b++)if(top.ICEcoder.savedPoints[b-1]!=top.ICEcoder.getcMInstance(b).changeGeneration()){a+=
|
||||
" \u2744";break}top.document.title=a}},switchTab:function(a,b){var c,d;ICEcoder.selectedTab=a;c=ICEcoder.getcMInstance();d=ICEcoder.getcMdiffInstance();if(-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?d:c){ICEcoder.switchMode();for(var e=0;e<ICEcoder.cMInstances.length;e++)ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[e]].getWrapperElement().style.display="none",ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[e]+"diff"].getWrapperElement().style.display="none";c.setOption("theme",
|
||||
top.ICEcoder.theme);d.setOption("theme",top.ICEcoder.theme+" diff");c.getWrapperElement().style.display="block";d.getWrapperElement().style.display="block";top.ICEcoder.splitPane&&top.ICEcoder.updateDiffs();b||setTimeout(function(){top.ICEcoder.focus()},4);c.refresh();d.refresh();ICEcoder.redoTabHighlight(ICEcoder.selectedTab);top.ICEcoder.findMode=!1;ICEcoder.findReplace(top.get("find").value,!0,!1);top.ICEcoder.getCaretPosition();top.ICEcoder.updateCharDisplay();top.ICEcoder.updateByteDisplay()}},
|
||||
newTab:function(a){var b;ICEcoder.cMInstances.push(ICEcoder.nextcMInstance);ICEcoder.selectedTab=ICEcoder.cMInstances.length;ICEcoder.showHide("show",ICEcoder.content);ICEcoder.content.contentWindow.createNewCMInstance(ICEcoder.nextcMInstance);ICEcoder.setLayout();ICEcoder.thisFileFolderType="file";ICEcoder.thisFileFolderLink="/[NEW]";ICEcoder.openFile();b=ICEcoder.getcMInstance("new");ICEcoder.switchTab(ICEcoder.openFiles.length);b.removeLineClass(ICEcoder["cMActiveLinecM"+ICEcoder.cMInstances[top.ICEcoder.selectedTab-
|
||||
1]],"background");ICEcoder["cMActiveLinecM"+ICEcoder.selectedTab]=b.addLineClass(0,"background","cm-s-activeLine");ICEcoder.nextcMInstance++;a&&top.ICEcoder.saveFile()},createNewTab:function(a){var b;top.ICEcoder.openFiles.push(top.ICEcoder.shortURL);top.get("tab"+top.ICEcoder.openFiles.length).style.display="inline-block";b=top.ICEcoder.openFiles[top.ICEcoder.openFiles.length-1];top.get("tab"+top.ICEcoder.openFiles.length).innerHTML='<a nohref onClick="top.ICEcoder.closeTab(parseInt(this.parentNode.id.slice(3),10))"><img src="images/nav-close.gif" class="closeTab" onMouseOver="prevBG=this.style.backgroundColor;this.style.backgroundColor=\'#333\'; top.ICEcoder.overCloseLink=true" onMouseOut="this.style.backgroundColor=prevBG; top.ICEcoder.overCloseLink=false"></a> '+
|
||||
b.slice(b.lastIndexOf("/")).replace(/\//,"");top.get("tab"+top.ICEcoder.openFiles.length).title="/"+top.ICEcoder.openFiles[top.ICEcoder.openFiles.length-1].replace(/\//,"");top.ICEcoder.setTabWidths();top.ICEcoder.redoTabHighlight(top.ICEcoder.openFiles.length);top.ICEcoder.selectedTab=top.ICEcoder.openFiles.length;top.ICEcoder.savedPoints.push(0);a||top.ICEcoder.setPreviousFiles()},nextTab:function(){top.ICEcoder.switchTab(top.ICEcoder.selectedTab+1<=top.ICEcoder.openFiles.length?top.ICEcoder.selectedTab+
|
||||
1:1,"noFocus")},previousTab:function(){top.ICEcoder.switchTab(1<=top.ICEcoder.selectedTab-1?top.ICEcoder.selectedTab-1:top.ICEcoder.openFiles.length,"noFocus")},renameTab:function(a,b){var c;top.ICEcoder.openFiles[a-1]=b;c=top.ICEcoder.openFiles[a-1];top.get("tab"+a).innerHTML='<a nohref onClick="top.ICEcoder.closeTab(parseInt(this.parentNode.id.slice(3),10))"><img src="images/nav-close.gif" class="closeTab" onMouseOver="prevBG=this.style.backgroundColor;this.style.backgroundColor=\'#333\'; top.ICEcoder.overCloseLink=true" onMouseOut="this.style.backgroundColor=prevBG; top.ICEcoder.overCloseLink=false"></a> '+
|
||||
"plugins/zip-it/index.php?zip="+a+"&csrf="+top.ICEcoder.csrf},downloadFile:function(a){a=a.replace(/\//g,"|");top.ICEcoder.filesFrame.contentWindow.frames.fileControl.location.href="lib/download.php?file="+a+"&csrf="+top.ICEcoder.csrf},chmod:function(a,b){a=a.replace(top.iceRoot,"");top.ICEcoder.showHide("hide",top.get("blackMask"));top.ICEcoder.serverQueue("add","lib/file-control-xhr.php?action=perms&perms="+b+"&csrf="+top.ICEcoder.csrf,a.replace(/\+/g,"%2B"));top.ICEcoder.serverMessage("<b>chMod "+
|
||||
b+" on </b><br>"+a.replace(/\|/g,"/"))},openPreviewWindow:function(){if(0<top.ICEcoder.openFiles.length){var a,b,c,d,e;d=top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1];a=d.substr(d.lastIndexOf("/")+1);e=a.substr(a.lastIndexOf(".")+1);a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();c=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;top.ICEcoder.previewWindowLoading=!0;top.ICEcoder.previewWindow=window.open(d,"previewWindow",500,500);-1<["md"].indexOf(e)?top.ICEcoder.previewWindow.onload=
|
||||
function(){top.ICEcoder.previewWindowLoading=!1;top.ICEcoder.previewWindow.document.documentElement.innerHTML=mmd(c.getValue())}:top.ICEcoder.previewWindow.onload=function(){top.ICEcoder.previewWindowLoading=!1;try{top.ICEcoder.doPesticide()}catch(f){}try{top.ICEcoder.doStatsJS("open")}catch(f){}try{top.ICEcoder.doResponsive()}catch(f){}}}},resetAutoLogoutTimer:function(){1<top.ICEcoder.autoLogoutMins&&top.ICEcoder.autoLogoutTimer>60*top.ICEcoder.autoLogoutMins-60&&ICEcoder.showHide("hide",get("blackMask"));
|
||||
top.ICEcoder.autoLogoutTimer=0},logout:function(a){window.location=window.location+"?logout&"+(a?"type="+a+"&":"")+"csrf="+top.ICEcoder.csrf},message:function(a){alert(a)},ask:function(a){return confirm(a)},getInput:function(a,b){return prompt(a,b)},dataMessage:function(a){var b;b=top.ICEcoder.content.contentWindow.document.getElementById("dataMessage");b.style.display="block";b.innerHTML=a},update:function(){confirm(top.t["Please note for..."])?(top.ICEcoder.showHide("show",top.get("loadingMask")),
|
||||
window.location="lib/updater.php"):window.open("https://icecoder.net")},updated:function(){top.get("blackMask").style.visibility="visible";top.get("mediaContainer").innerHTML='<h1 style="color: #fff; cursor: default">Thanks for updating to v'+top.ICEcoder.versionNo+'!</h1><h2 style="color: #888; cursor: default">Click anywhere to continue using ICEcoder...</h2>'},xhrObj:function(){try{return new XMLHttpRequest}catch(a){}try{return new ActiveXObject("Msxml3.XMLHTTP")}catch(a){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(a){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(a){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(a){}try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(a){}return null},
|
||||
openBugReport:function(){var a;"off"==top.ICEcoder.bugReportStatus&&top.ICEcoder.message(top.t["You can start..."]);"error"==top.ICEcoder.bugReportStatus&&top.ICEcoder.message(top.t["Error cannot find..."]);"ok"==top.ICEcoder.bugReportStatus&&top.ICEcoder.message(top.t["No new errors..."]);"bugs"==top.ICEcoder.bugReportStatus&&(a=top.ICEcoder.openFiles.indexOf(top.ICEcoder.bugReportPath.replace(/\|/g,"/")),-1<a&&top.ICEcoder.closeTab(a+1,"dontSetPV","dontAsk"),top.ICEcoder.openFile(top.ICEcoder.bugReportPath),
|
||||
top.ICEcoder.bugFilesSizesSeen=top.ICEcoder.bugFilesSizesActual)},startBugChecking:function(){var a;0!==top.ICEcoder.bugFileCheckTimer?("undefined"!=typeof top.ICEcoder.bugFileCheckInt&&clearInterval(top.ICEcoder.bugFileCheckInt),top.ICEcoder.bugFilesSizesSeen=[],top.ICEcoder.bugFileCheckInt=setInterval(function(){a="lib/bug-files-check.php?";a+="files="+(""!==top.ICEcoder.bugFilePaths[0]?top.ICEcoder.bugFilePaths.join():"null").replace(/\//g,"|");a+="&filesSizesSeen=";if(top.ICEcoder.bugFilesSizesSeen.length!=
|
||||
top.ICEcoder.bugFilePaths.length)for(var b=0;b<top.ICEcoder.bugFilePaths.length;b++)top.ICEcoder.bugFilesSizesSeen[b]="null";a+=top.ICEcoder.bugFilesSizesSeen.join();a+="&maxLines="+top.ICEcoder.bugFileMaxLines;a+="&csrf="+top.ICEcoder.csrf;var c=top.ICEcoder.xhrObj();c.onreadystatechange=function(){if(4==c.readyState&&200==c.status){var a=JSON.parse(c.responseText);top.get("bugIcon").style.backgroundPosition="off"==a.result?"0 0":"ok"==a.result?"-32px 0":"bugs"==a.result?"-48px 0":"-16px 0";top.ICEcoder.bugReportStatus=
|
||||
a.result;"null"==top.ICEcoder.bugFilesSizesSeen[0]&&(top.ICEcoder.bugFilesSizesSeen=a.filesSizesSeen);top.ICEcoder.bugFilesSizesActual=a.filesSizesSeen;top.ICEcoder.bugReportPath=a.bugReportPath}};c.open("GET",a,!0);c.send()},parseInt(1E3*top.ICEcoder.bugFileCheckTimer,10)),top.ICEcoder.bugReportStatus="ok"):"undefined"!=typeof top.ICEcoder.bugFileCheckInt&&clearInterval(top.ICEcoder.bugFileCheckInt)},xssClean:function(a){return a.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,
|
||||
""").replace(/'/g,"'")},printCode:function(){var a,b;a=top.ICEcoder.getcMInstance();b=top.ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;b=top.ICEcoder.filesFrame.contentWindow.frames.fileControl;b.window.document.body.innerHTML='<!DOCTYPE html><head><title>ICEcoder code output</title></head><body><pre style="white-space: pre-wrap">'+top.ICEcoder.xssClean(a.getValue())+"</pre></body></html>";b.focus();b.print();a.focus()},indicateChanges:function(){var a;
|
||||
if(!top.ICEcoder.loadingFile){a="ICEcoder v "+top.ICEcoder.versionNo;for(var b=1;b<=top.ICEcoder.savedPoints.length;b++)if(top.ICEcoder.savedPoints[b-1]!=top.ICEcoder.getcMInstance(b).changeGeneration()){a+=" \u2744";break}top.document.title=a}},switchTab:function(a,b){var c,d;ICEcoder.selectedTab=a;c=ICEcoder.getcMInstance();d=ICEcoder.getcMdiffInstance();if(-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?d:c){ICEcoder.switchMode();for(var e=0;e<ICEcoder.cMInstances.length;e++)ICEcoder.content.contentWindow["cM"+
|
||||
ICEcoder.cMInstances[e]].getWrapperElement().style.display="none",ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[e]+"diff"].getWrapperElement().style.display="none";c.setOption("theme",top.ICEcoder.theme);d.setOption("theme",top.ICEcoder.theme+" diff");c.getWrapperElement().style.display="block";d.getWrapperElement().style.display="block";top.ICEcoder.splitPane&&top.ICEcoder.updateDiffs();b||setTimeout(function(){top.ICEcoder.focus()},4);c.refresh();d.refresh();top.ICEcoder.updateFunctionClassList();
|
||||
"undefined"!=typeof top.doMiniNav&&clearTimeout(top.doMiniNav);top.doMiniNav=setTimeout(function(){top.ICEcoder.setMinimap()},top.ICEcoder.loadingFile?0:100);get("docExplorer").style.display="block";get("docExplorer").style.right="-400px";ICEcoder.redoTabHighlight(ICEcoder.selectedTab);top.ICEcoder.findMode=!1;ICEcoder.findReplace(top.get("find").value,!0,!1);top.ICEcoder.updateVersionsDisplay();top.ICEcoder.getCaretPosition();top.ICEcoder.updateCharDisplay();top.ICEcoder.updateByteDisplay()}},newTab:function(a){var b;
|
||||
ICEcoder.cMInstances.push(ICEcoder.nextcMInstance);ICEcoder.selectedTab=ICEcoder.cMInstances.length;ICEcoder.showHide("show",ICEcoder.content);ICEcoder.content.contentWindow.createNewCMInstance(ICEcoder.nextcMInstance);ICEcoder.setLayout();ICEcoder.thisFileFolderType="file";ICEcoder.thisFileFolderLink="/[NEW]";ICEcoder.openFile();b=ICEcoder.getcMInstance("new");ICEcoder.switchTab(ICEcoder.openFiles.length);b.removeLineClass(ICEcoder["cMActiveLinecM"+ICEcoder.cMInstances[top.ICEcoder.selectedTab-1]],
|
||||
"background");ICEcoder["cMActiveLinecM"+ICEcoder.selectedTab]=b.addLineClass(0,"background","cm-s-activeLine");ICEcoder.nextcMInstance++;a&&top.ICEcoder.saveFile()},createNewTab:function(a){var b;top.ICEcoder.openFiles.push(top.ICEcoder.shortURL);top.get("tab"+top.ICEcoder.openFiles.length).style.display="inline-block";b=top.ICEcoder.openFiles[top.ICEcoder.openFiles.length-1];top.get("tab"+top.ICEcoder.openFiles.length).innerHTML='<a nohref onClick="top.ICEcoder.closeTab(parseInt(this.parentNode.id.slice(3),10))"><img src="images/nav-close.gif" class="closeTab" onMouseOver="prevBG=this.style.backgroundColor;this.style.backgroundColor=\'#333\'; top.ICEcoder.overCloseLink=true" onMouseOut="this.style.backgroundColor=prevBG; top.ICEcoder.overCloseLink=false"></a> '+
|
||||
b.slice(b.lastIndexOf("/")).replace(/\//,"");top.get("tab"+top.ICEcoder.openFiles.length).title="/"+top.ICEcoder.openFiles[top.ICEcoder.openFiles.length-1].replace(/\//,"");top.ICEcoder.setTabWidths();top.ICEcoder.redoTabHighlight(top.ICEcoder.openFiles.length);top.ICEcoder.selectedTab=top.ICEcoder.openFiles.length;top.ICEcoder.savedPoints.push(0);top.ICEcoder.savedContents.push("");a||top.ICEcoder.setPreviousFiles()},nextTab:function(){top.ICEcoder.switchTab(top.ICEcoder.selectedTab+1<=top.ICEcoder.openFiles.length?
|
||||
top.ICEcoder.selectedTab+1:1,"noFocus")},previousTab:function(){top.ICEcoder.switchTab(1<=top.ICEcoder.selectedTab-1?top.ICEcoder.selectedTab-1:top.ICEcoder.openFiles.length,"noFocus")},renameTab:function(a,b){var c;top.ICEcoder.openFiles[a-1]=b;c=top.ICEcoder.openFiles[a-1];top.get("tab"+a).innerHTML='<a nohref onClick="top.ICEcoder.closeTab(parseInt(this.parentNode.id.slice(3),10))"><img src="images/nav-close.gif" class="closeTab" onMouseOver="prevBG=this.style.backgroundColor;this.style.backgroundColor=\'#333\'; top.ICEcoder.overCloseLink=true" onMouseOut="this.style.backgroundColor=prevBG; top.ICEcoder.overCloseLink=false"></a> '+
|
||||
c.slice(c.lastIndexOf("/")).replace(/\//,"");top.get("tab"+a).title="/"+top.ICEcoder.openFiles[a-1].replace(/\//,"")},redoTabHighlight:function(a){for(var b,c,d=1;d<=ICEcoder.savedPoints.length;d++)top.get("tab"+d).childNodes[0]&&(top.get("tab"+d).childNodes[0].childNodes[0].style.backgroundColor=ICEcoder.savedPoints[d-1]!=top.ICEcoder.getcMInstance(d).changeGeneration()?"#b00":"transparent"),b=d==a?top.ICEcoder.tabFGselected:top.ICEcoder.tabFGnormalTab,"undefined"!=typeof top.ICEcoder.openFiles[d-
|
||||
1]&&"/[NEW]"!=top.ICEcoder.openFiles[d-1]&&(c=top.ICEcoder.filesFrame.contentWindow.document.getElementById(top.ICEcoder.openFiles[d-1].replace(/\//g,"|")))&&(c.style.backgroundColor=d==a?top.ICEcoder.tabBGcurrent:top.ICEcoder.tabBGopen,c.style.color=d==a?top.ICEcoder.tabFGcurrent:top.ICEcoder.tabFGopenFile),top.get("tab"+d).style.color=b,top.get("tab"+d).style.background=d==a?top.ICEcoder.tabBGcurrent:top.ICEcoder.tabBGopen},closeTab:function(a,b,c){var d;a||(a=top.ICEcoder.selectedTab);ICEcoder.getcMInstance();
|
||||
ICEcoder.getcMdiffInstance();d=!0;c||ICEcoder.savedPoints[a-1]==top.ICEcoder.getcMInstance(a).changeGeneration()||(d=top.ICEcoder.ask(top.t["You have made..."]));if(d){c=top.ICEcoder.openFiles[a-1];for(d=a;d<ICEcoder.openFiles.length;d++)top.get("tab"+d).innerHTML=top.get("tab"+(d+1)).innerHTML,top.get("tab"+d).title=top.get("tab"+(d+1)).title,ICEcoder.openFiles[d-1]=ICEcoder.openFiles[d],ICEcoder.openFileMDTs[d-1]=ICEcoder.openFileMDTs[d];ICEcoder.content.contentWindow["cM"+top.ICEcoder.cMInstances[a-
|
||||
1]].getWrapperElement().style.display="none";ICEcoder.content.contentWindow["cM"+top.ICEcoder.cMInstances[a-1]+"diff"].getWrapperElement().style.display="none";top.ICEcoder.cMInstances.splice(a-1,1);top.get("tab"+ICEcoder.openFiles.length).style.display="none";top.get("tab"+ICEcoder.openFiles.length).innerHTML="";top.get("tab"+ICEcoder.openFiles.length).title="";ICEcoder.openFiles.pop();ICEcoder.openFileMDTs.pop();ICEcoder.selectedTab==a&&(0<ICEcoder.openFiles.length?--ICEcoder.selectedTab:ICEcoder.selectedTab=
|
||||
0);0<ICEcoder.openFiles.length&&0==ICEcoder.selectedTab&&(ICEcoder.selectedTab=1);0==ICEcoder.openFiles.length?top.ICEcoder.fMIconVis("fMView",.3):(ICEcoder.switchMode(),ICEcoder.switchTab(ICEcoder.selectedTab));top.ICEcoder.savedPoints.splice(a-1,1);top.ICEcoder.redoTabHighlight(ICEcoder.selectedTab);top.ICEcoder.selectDeselectFile("deselect",top.ICEcoder.filesFrame.contentWindow.document.getElementById(c.replace(/\//g,"|")));b||top.ICEcoder.setPreviousFiles();top.ICEcoder.indicateChanges()}top.ICEcoder.canSwitchTabs=
|
||||
!1;top.ICEcoder.setTabWidths("posOnlyNewTab");setTimeout(function(){top.ICEcoder.canSwitchTabs=!0},100)},closeAllTabs:function(){if(0<top.ICEcoder.cMInstances.length&&ICEcoder.ask(top.t["Close all tabs"]))for(var a=top.ICEcoder.cMInstances.length;0<a;a--)top.ICEcoder.closeTab(a,1<a?!0:!1);top.ICEcoder.indicateChanges()},setTabWidths:function(a){var b,c,d,e,f;if(top.ICEcoder.ready){b=parseInt(top.ICEcoder.content.style.width,10)-53-22-10;c=b/top.ICEcoder.openFiles.length-18;d=-18;e=53;f=0;top.ICEcoder.tabLeftPos=
|
||||
[];for(var g=0;g<top.ICEcoder.openFiles.length;g++)a&&(g=top.ICEcoder.openFiles.length),d=168*top.ICEcoder.openFiles.length>b?parseInt(c*g,10)-parseInt(c*(g-1),10):150,e=0==g?53:parseInt(top.get("tab"+g).style.left,10),f=0==g?0:parseInt(top.get("tab"+g).style.width,10)+18,a?d=-18:(top.get("tab"+(g+1)).style.left=e+f+"px",top.get("tab"+(g+1)).style.width=d+"px"),top.ICEcoder.tabLeftPos.push(e+f);top.get("newTab").style.left=e+f+d+18+"px"}},tabDragStart:function(a){top.ICEcoder.draggingTab=a;top.ICEcoder.diffStartX=
|
||||
top.ICEcoder.mouseX;top.ICEcoder.tabDragMouseXStart=(top.ICEcoder.mouseX-(parseInt(top.ICEcoder.files.style.width,10)+53+18))%150;top.get("tab"+a).style.zIndex=2;for(var b=1;b<=top.ICEcoder.openFiles.length;b++)top.get("tab"+b).className=b!==a?"tab tabSlide":"tab tabDrag"},tabDragMove:function(){var a,b;a=parseInt(top.get("tab"+top.ICEcoder.openFiles.length).style.width,10)+18;top.ICEcoder.thisLeft=a=53<=top.ICEcoder.tabDragMouseX?top.ICEcoder.tabDragMouseX<=parseInt(top.get("newTab").style.left,
|
||||
10)-a?top.ICEcoder.tabDragMouseX:parseInt(top.get("newTab").style.left,10)-a:53;top.get("tab"+top.ICEcoder.draggingTab).style.left=a+"px";top.ICEcoder.dragTabNo=top.ICEcoder.draggingTab;for(var c=1;c<=top.ICEcoder.openFiles.length;c++)top.get("tab"+c).style.opacity=c==top.ICEcoder.draggingTab?1:.5,b=top.ICEcoder.tabLeftPos[c]?top.ICEcoder.tabLeftPos[c]-top.ICEcoder.tabLeftPos[c-1]:b,c!=top.ICEcoder.draggingTab&&(c<top.ICEcoder.draggingTab?top.get("tab"+c).style.left=a<=top.ICEcoder.tabLeftPos[c-1]?
|
||||
top.ICEcoder.tabLeftPos[c-1]+b:top.ICEcoder.tabLeftPos[c-1]:top.get("tab"+c).style.left=a>=top.ICEcoder.tabLeftPos[c-1]?top.ICEcoder.tabLeftPos[c-1]-b:top.ICEcoder.tabLeftPos[c-1])},tabDragEnd:function(){var a,b;top.ICEcoder.setTabWidths();for(var c=1;c<=top.ICEcoder.openFiles.length;c++)top.ICEcoder.thisLeft>=top.ICEcoder.tabLeftPos[c-1]&&(a=top.ICEcoder.thisLeft==top.ICEcoder.tabLeftPos[0]?1:top.ICEcoder.dragTabNo>c?c+1:c),top.get("tab"+c).className="tab",top.get("tab"+c).style.opacity=1,c!=top.ICEcoder.dragTabNo?
|
||||
top.get("tab"+c).style.zIndex=1:setTimeout(function(){top.get("tab"+c).style.zIndex=1},150);if(top.ICEcoder.thisLeft&&!1!==top.ICEcoder.thisLeft){b=[];for(c=1;c<=top.ICEcoder.openFiles.length;c++)b.push(c);b.splice(top.ICEcoder.dragTabNo-1,1);b.splice(a-1,0,top.ICEcoder.dragTabNo);ICEcoder.sortTabs(b)}top.ICEcoder.setTabWidths();top.ICEcoder.draggingTab=!1;top.ICEcoder.thisLeft=!1},sortTabs:function(a){var b,c,d;b=[ICEcoder.savedPoints,ICEcoder.openFiles,ICEcoder.openFileMDTs,ICEcoder.cMInstances];
|
||||
c=[[],[],[],[]];for(var e=0;e<b.length;e++){for(var f=0;f<b[e].length;f++)c[e].push(b[e][a[f]-1]);b[e]=c[e]}for(e=0;e<a.length;e++)top.get("tab"+a[e]).id="tab"+(e+1)+".temp",top.ICEcoder.selectedTab==a[e]&&(d=e+1);for(e=0;e<a.length;e++)top.get("tab"+(e+1)+".temp").id="tab"+(e+1);top.get("tab"+d)&&(top.get("tab"+d).className="tab tabSlide");ICEcoder.savedPoints=b[0];ICEcoder.openFiles=b[1];ICEcoder.openFileMDTs=b[2];ICEcoder.cMInstances=b[3];top.ICEcoder.setTabWidths();top.ICEcoder.switchTab(d)},
|
||||
alphaTabs:function(){if(0<top.ICEcoder.openFiles.length){var a,b,c,d,e;a=[];b=[];c=[];for(var f=0;f<top.ICEcoder.openFiles.length;f++)a.push(top.ICEcoder.openFiles[f].slice(top.ICEcoder.openFiles[f].lastIndexOf("/")+1)),b.push(top.ICEcoder.openFiles[f]),top.get("tab"+(f+1)).className="tab tabSlide";for(;0<a.length;){d=a[0];nextValueFull=b[0];for(f=e=0;f<a.length;f++)a[f]<d&&(d=a[f],nextValueFull=top.ICEcoder.openFiles[top.ICEcoder.openFiles.indexOf(b[f])],e=f);c.push(top.ICEcoder.openFiles.indexOf(nextValueFull)+
|
||||
1);a.splice(e,1);b.splice(e,1)}top.ICEcoder.sortTabs(c)}},interceptKeys:function(a,b){var c,d,e;c=b.keyCode?b.keyCode:b.which?b.which:b.charCode;if(224==c||91==c||93==c)top.ICEcoder.cmdKey=!0;if(46==c&&"files"==a)return top.ICEcoder.deleteFiles(),!1;if(b.altKey){var f=b.ctrlKey||top.ICEcoder.cmdKey?!0:!1;return"ctrl+alt"==top.ICEcoder.tagWrapperCommand&&f||"alt-left"==top.ICEcoder.tagWrapperCommand&&!f?"content"==a?68==c?(top.ICEcoder.tagWrapper("div"),!1):83==c?(top.ICEcoder.tagWrapper("span"),!1):
|
||||
80==c?(top.ICEcoder.tagWrapper("p"),!1):65==c?(top.ICEcoder.tagWrapper("a"),!1):49==c?(top.ICEcoder.tagWrapper("h1"),!1):50==c?(top.ICEcoder.tagWrapper("h2"),!1):51==c?(top.ICEcoder.tagWrapper("h3"),!1):13==c?(top.ICEcoder.addLineBreakAtEnd(),!1):37==c?(top.ICEcoder.filesFrame.contentWindow.focus(),!1):c:37==c?(top.ICEcoder.filesFrame.contentWindow.focus(),!1):39==c?(top.ICEcoder.focus(-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?!0:!1),!1):c:13==c?(top.ICEcoder.insertLineAfter(),!1):c}if(13==
|
||||
c&&b.shiftKey)return top.ICEcoder.insertLineBefore(),!1;if(70!=c&&71!=c||!b.ctrlKey&&!top.ICEcoder.cmdKey){if(76==c&&(b.ctrlKey||top.ICEcoder.cmdKey))return c=top.get("goToLineNo"),c.select(),top.get("find").focus(),c.focus(),!1;if(73==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a)return top.ICEcoder.searchForSelected(),!1;if(39==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"!=a)return top.ICEcoder.nextTab(),!1;if(37==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"!=a)return top.ICEcoder.previousTab(),
|
||||
!1;if(38==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a)return top.ICEcoder.moveLines("up"),!1;if(40==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a)return top.ICEcoder.moveLines("down"),!1;if(107==c&&(b.ctrlKey||top.ICEcoder.cmdKey))return"content"==a?top.ICEcoder.duplicateLines():top.ICEcoder.newTab(),!1;if(109==c&&(b.ctrlKey||top.ICEcoder.cmdKey))return"content"==a?top.ICEcoder.removeLines():top.ICEcoder.closeTab(top.ICEcoder.selectedTab),!1;if(83==c&&(b.ctrlKey||top.ICEcoder.cmdKey))return b.shiftKey?
|
||||
top.ICEcoder.saveFile("saveAs"):top.ICEcoder.saveFile(),!1;if(13==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"/[NEW]"!=top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1])return top.ICEcoder.resetKeys(b),window.open(top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1]),!1;if(13==c&&"files"==a)return b.ctrlKey||top.ICEcoder.cmdKey||(0==top.ICEcoder.selectedFiles.length&&(top.ICEcoder.overFileFolder("folder","|"),top.ICEcoder.selectFileFolder("init")),top.ICEcoder.fmAction(b,"enter")),!1;if(38!=c&&40!=c&&37!=
|
||||
c&&39!=c||"files"!=a)return 79==c&&(b.ctrlKey||top.ICEcoder.cmdKey)?(top.ICEcoder.openPrompt(),!1):32==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a?(top.ICEcoder.addSnippet(),!1):74==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a?(top.ICEcoder.jumpToDefinition(),!1):223==c&&(b.ctrlKey||top.ICEcoder.cmdKey)?(top.ICEcoder.lockUnlockNav(),ICEcoder.changeFilesW(top.ICEcoder.lockedNav?"expand":"contract"),!1):190==c&&(b.ctrlKey||top.ICEcoder.cmdKey)?(d=ICEcoder.getcMInstance(),e=ICEcoder.getcMdiffInstance(),
|
||||
d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?e:d,c=d.getCursor().line,top.contentFrame.CodeMirror.doFold(-1<d.getLine(c).indexOf("{")?"brace":"xml",null,"+","-",!1)(d,c),!1):27==c&&"content"==a?(d=ICEcoder.getcMInstance(),e=ICEcoder.getcMdiffInstance(),d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?e:d,1<d.getSelections().length?d.execCommand("singleSelection"):top.ICEcoder.lineCommentToggle(),!1):27==c&&"content"!=a?(top.ICEcoder.cancelAllActions(),!1):c;b.ctrlKey||top.ICEcoder.cmdKey||
|
||||
(0==top.ICEcoder.selectedFiles.length&&(top.ICEcoder.overFileFolder("folder","|"),top.ICEcoder.selectFileFolder("init")),top.ICEcoder.fmAction(b,38==c?"up":40==c?"down":37==c?"left":"right"));return!1}f=top.get("find");d=ICEcoder.getcMInstance();e=ICEcoder.getcMdiffInstance();d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?e:d;d=d.getSelections();0<d.length&&0<d[0].length&&(f.value=d[0]);f.select();top.get("goToLineNo").focus();f.focus();70==c?top.get("findReplaceSubmit").click():ICEcoder.findReplace(top.document.getElementById("find").value,
|
||||
!1,!0,!1,"findPrevious");return!1},resetKeys:function(a){top.ICEcoder.cmdKey=!1},addSnippet:function(){var a,b,c;a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;b=a.getCursor().line;c=a.getLine(b).length-a.getLine(b).replace(/^\s\s*/,"").length;a=a.getLine(b).slice(c);"function"==a.slice(0,8)?top.ICEcoder.doSnippet("function","function VAR() {\nINDENT\tCURSOR\nINDENT}"):"if"==a.slice(0,2)?top.ICEcoder.doSnippet("if","if (CURSOR) {\nINDENT\t\nINDENT}"):
|
||||
"for"==a.slice(0,3)&&top.ICEcoder.doSnippet("for","for (var i=0; i<CURSOR; i++) {\nINDENT\t\nINDENT}")},doSnippet:function(a,b){var c,d,e,f,g,h;c=ICEcoder.getcMInstance();d=ICEcoder.getcMdiffInstance();c=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?d:c;d=c.getCursor().line;if(-1<c.getLine(d).indexOf(a)){e=c.getLine(d);f=e.indexOf(a);e=e.slice(e.indexOf(a)+a.length+1);b=b.replace(/VAR/g,e);e=c.getLine(d).slice(0,f);f=c.getLine(d).length-c.getLine(d).replace(/^\s\s*/,"").length;f=c.getLine(d).slice(0,
|
||||
f);b=b.replace(/INDENT/g,f);e+=b;f=e.indexOf("CURSOR");g=0;h=d;for(i=0;i<e.length;i++)e.indexOf("\n",g)<e.indexOf("CURSOR")&&(g=e.indexOf("\n",g)+1,h+=1);c.replaceRange(e.replace("CURSOR",""),{line:d,ch:0},{line:d,ch:1E6});c.setCursor(h,f);top.ICEcoder.focus(-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?!0:!1)}}};
|
||||
ICEcoder.getcMdiffInstance();d=!0;c||ICEcoder.savedPoints[a-1]==top.ICEcoder.getcMInstance(a).changeGeneration()||(d=top.ICEcoder.ask(top.t["You have made..."]));if(d){c=top.ICEcoder.openFiles[a-1];for(d=a;d<ICEcoder.openFiles.length;d++)top.get("tab"+d).innerHTML=top.get("tab"+(d+1)).innerHTML,top.get("tab"+d).title=top.get("tab"+(d+1)).title,ICEcoder.openFiles[d-1]=ICEcoder.openFiles[d],ICEcoder.openFileMDTs[d-1]=ICEcoder.openFileMDTs[d],ICEcoder.openFileVersions[d-1]=ICEcoder.openFileVersions[d];
|
||||
ICEcoder.content.contentWindow["cM"+top.ICEcoder.cMInstances[a-1]].getWrapperElement().style.display="none";ICEcoder.content.contentWindow["cM"+top.ICEcoder.cMInstances[a-1]+"diff"].getWrapperElement().style.display="none";top.ICEcoder.cMInstances.splice(a-1,1);top.get("tab"+ICEcoder.openFiles.length).style.display="none";top.get("tab"+ICEcoder.openFiles.length).innerHTML="";top.get("tab"+ICEcoder.openFiles.length).title="";ICEcoder.openFiles.pop();ICEcoder.openFileMDTs.pop();ICEcoder.openFileVersions.pop();
|
||||
ICEcoder.selectedTab==a&&(0<ICEcoder.openFiles.length?--ICEcoder.selectedTab:ICEcoder.selectedTab=0);0<ICEcoder.openFiles.length&&0==ICEcoder.selectedTab&&(ICEcoder.selectedTab=1);0==ICEcoder.openFiles.length?(top.ICEcoder.fMIconVis("fMView",.3),get("docExplorer").style.display="none"):(ICEcoder.switchMode(),ICEcoder.switchTab(ICEcoder.selectedTab));top.ICEcoder.savedPoints.splice(a-1,1);top.ICEcoder.savedContents.splice(a-1,1);top.ICEcoder.redoTabHighlight(ICEcoder.selectedTab);top.ICEcoder.selectDeselectFile("deselect",
|
||||
top.ICEcoder.filesFrame.contentWindow.document.getElementById(c.replace(/\//g,"|")));b||top.ICEcoder.setPreviousFiles();top.ICEcoder.updateVersionsDisplay();top.ICEcoder.indicateChanges()}top.ICEcoder.canSwitchTabs=!1;top.ICEcoder.setTabWidths("posOnlyNewTab");setTimeout(function(){top.ICEcoder.canSwitchTabs=!0},100)},closeAllTabs:function(){if(0<top.ICEcoder.cMInstances.length&&ICEcoder.ask(top.t["Close all tabs"]))for(var a=top.ICEcoder.cMInstances.length;0<a;a--)top.ICEcoder.closeTab(a,1<a?!0:
|
||||
!1);top.ICEcoder.indicateChanges()},setTabWidths:function(a){var b,c,d,e,f;if(top.ICEcoder.ready){b=parseInt(top.ICEcoder.content.style.width,10)-53-22-10;c=b/top.ICEcoder.openFiles.length-18;d=-18;e=53;f=0;top.ICEcoder.tabLeftPos=[];for(var g=0;g<top.ICEcoder.openFiles.length;g++)a&&(g=top.ICEcoder.openFiles.length),d=168*top.ICEcoder.openFiles.length>b?parseInt(c*g,10)-parseInt(c*(g-1),10):150,e=0==g?53:parseInt(top.get("tab"+g).style.left,10),f=0==g?0:parseInt(top.get("tab"+g).style.width,10)+
|
||||
18,a?d=-18:(top.get("tab"+(g+1)).style.left=e+f+"px",top.get("tab"+(g+1)).style.width=d+"px"),top.ICEcoder.tabLeftPos.push(e+f);top.get("newTab").style.left=e+f+d+18+"px"}},tabDragStart:function(a){top.ICEcoder.draggingTab=a;top.ICEcoder.diffStartX=top.ICEcoder.mouseX;top.ICEcoder.tabDragMouseXStart=(top.ICEcoder.mouseX-(parseInt(top.ICEcoder.files.style.width,10)+53+18))%150;top.get("tab"+a).style.zIndex=2;for(var b=1;b<=top.ICEcoder.openFiles.length;b++)top.get("tab"+b).className=b!==a?"tab tabSlide":
|
||||
"tab tabDrag"},tabDragMove:function(){var a,b;a=parseInt(top.get("tab"+top.ICEcoder.openFiles.length).style.width,10)+18;top.ICEcoder.thisLeft=a=53<=top.ICEcoder.tabDragMouseX?top.ICEcoder.tabDragMouseX<=parseInt(top.get("newTab").style.left,10)-a?top.ICEcoder.tabDragMouseX:parseInt(top.get("newTab").style.left,10)-a:53;top.get("tab"+top.ICEcoder.draggingTab).style.left=a+"px";top.ICEcoder.dragTabNo=top.ICEcoder.draggingTab;for(var c=1;c<=top.ICEcoder.openFiles.length;c++)top.get("tab"+c).style.opacity=
|
||||
c==top.ICEcoder.draggingTab?1:.5,b=top.ICEcoder.tabLeftPos[c]?top.ICEcoder.tabLeftPos[c]-top.ICEcoder.tabLeftPos[c-1]:b,c!=top.ICEcoder.draggingTab&&(c<top.ICEcoder.draggingTab?top.get("tab"+c).style.left=a<=top.ICEcoder.tabLeftPos[c-1]?top.ICEcoder.tabLeftPos[c-1]+b:top.ICEcoder.tabLeftPos[c-1]:top.get("tab"+c).style.left=a>=top.ICEcoder.tabLeftPos[c-1]?top.ICEcoder.tabLeftPos[c-1]-b:top.ICEcoder.tabLeftPos[c-1])},tabDragEnd:function(){var a,b;top.ICEcoder.setTabWidths();for(var c=1;c<=top.ICEcoder.openFiles.length;c++)top.ICEcoder.thisLeft>=
|
||||
top.ICEcoder.tabLeftPos[c-1]&&(a=top.ICEcoder.thisLeft==top.ICEcoder.tabLeftPos[0]?1:top.ICEcoder.dragTabNo>c?c+1:c),top.get("tab"+c).className="tab",top.get("tab"+c).style.opacity=1,c!=top.ICEcoder.dragTabNo?top.get("tab"+c).style.zIndex=1:setTimeout(function(){top.get("tab"+c).style.zIndex=1},150);if(top.ICEcoder.thisLeft&&!1!==top.ICEcoder.thisLeft){b=[];for(c=1;c<=top.ICEcoder.openFiles.length;c++)b.push(c);b.splice(top.ICEcoder.dragTabNo-1,1);b.splice(a-1,0,top.ICEcoder.dragTabNo);ICEcoder.sortTabs(b)}top.ICEcoder.setTabWidths();
|
||||
top.ICEcoder.draggingTab=!1;top.ICEcoder.thisLeft=!1},sortTabs:function(a){var b,c,d;b=[ICEcoder.savedPoints,ICEcoder.savedContents,ICEcoder.openFiles,ICEcoder.openFileMDTs,ICEcoder.openFileVersions,ICEcoder.cMInstances];c=[[],[],[],[],[],[]];for(var e=0;e<b.length;e++){for(var f=0;f<b[e].length;f++)c[e].push(b[e][a[f]-1]);b[e]=c[e]}for(e=0;e<a.length;e++)top.get("tab"+a[e]).id="tab"+(e+1)+".temp",top.ICEcoder.selectedTab==a[e]&&(d=e+1);for(e=0;e<a.length;e++)top.get("tab"+(e+1)+".temp").id="tab"+
|
||||
(e+1);top.get("tab"+d)&&(top.get("tab"+d).className="tab tabSlide");ICEcoder.savedPoints=b[0];ICEcoder.savedContents=b[1];ICEcoder.openFiles=b[2];ICEcoder.openFileMDTs=b[3];ICEcoder.openFileVersions=b[4];ICEcoder.cMInstances=b[5];top.ICEcoder.setTabWidths();top.ICEcoder.switchTab(d)},alphaTabs:function(){if(0<top.ICEcoder.openFiles.length){var a,b,c,d,e;a=[];b=[];c=[];for(var f=0;f<top.ICEcoder.openFiles.length;f++)a.push(top.ICEcoder.openFiles[f].slice(top.ICEcoder.openFiles[f].lastIndexOf("/")+
|
||||
1)),b.push(top.ICEcoder.openFiles[f]),top.get("tab"+(f+1)).className="tab tabSlide";for(;0<a.length;){d=a[0];nextValueFull=b[0];for(f=e=0;f<a.length;f++)a[f]<d&&(d=a[f],nextValueFull=top.ICEcoder.openFiles[top.ICEcoder.openFiles.indexOf(b[f])],e=f);c.push(top.ICEcoder.openFiles.indexOf(nextValueFull)+1);a.splice(e,1);b.splice(e,1)}top.ICEcoder.sortTabs(c)}},interceptKeys:function(a,b){var c,d,e;c=b.keyCode?b.keyCode:b.which?b.which:b.charCode;top.ICEcoder.resetAutoLogoutTimer();if(224==c||91==c||
|
||||
93==c)top.ICEcoder.cmdKey=!0;if(46==c&&"files"==a)return top.ICEcoder.deleteFiles(),!1;if(b.altKey){var f=b.ctrlKey||top.ICEcoder.cmdKey?!0:!1;return"ctrl+alt"==top.ICEcoder.tagWrapperCommand&&f||"alt-left"==top.ICEcoder.tagWrapperCommand&&!f?"content"==a?68==c?(top.ICEcoder.tagWrapper("div"),!1):83==c?(top.ICEcoder.tagWrapper("span"),!1):80==c?(top.ICEcoder.tagWrapper("p"),!1):65==c?(top.ICEcoder.tagWrapper("a"),!1):49==c?(top.ICEcoder.tagWrapper("h1"),!1):50==c?(top.ICEcoder.tagWrapper("h2"),!1):
|
||||
51==c?(top.ICEcoder.tagWrapper("h3"),!1):13==c?(top.ICEcoder.addLineBreakAtEnd(),!1):37==c?(top.ICEcoder.filesFrame.contentWindow.focus(),!1):c:37==c?(top.ICEcoder.filesFrame.contentWindow.focus(),!1):39==c?(top.ICEcoder.focus(-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?!0:!1),!1):c:13==c?(top.ICEcoder.insertLineAfter(),!1):c}if(13==c&&b.shiftKey)return top.ICEcoder.insertLineBefore(),!1;if(70!=c&&71!=c||!b.ctrlKey&&!top.ICEcoder.cmdKey){if(76==c&&(b.ctrlKey||top.ICEcoder.cmdKey))return c=
|
||||
top.get("goToLineNo"),c.select(),top.get("find").focus(),c.focus(),!1;if(73==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a)return top.ICEcoder.searchForSelected(),!1;if(39==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"!=a)return top.ICEcoder.nextTab(),!1;if(37==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"!=a)return top.ICEcoder.previousTab(),!1;if(38==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a)return top.ICEcoder.moveLines("up"),!1;if(40==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==
|
||||
a)return top.ICEcoder.moveLines("down"),!1;if(107!=c&&187!=c||!b.ctrlKey&&!top.ICEcoder.cmdKey){if(109!=c&&189!=c||!b.ctrlKey&&!top.ICEcoder.cmdKey){if(83==c&&(b.ctrlKey||top.ICEcoder.cmdKey))return b.shiftKey?top.ICEcoder.saveFile("saveAs"):top.ICEcoder.saveFile(),!1;if(13==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"/[NEW]"!=top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1])return top.ICEcoder.resetKeys(b),window.open(top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1]),!1;if(13==c&&"files"==a)return b.ctrlKey||
|
||||
top.ICEcoder.cmdKey||(0==top.ICEcoder.selectedFiles.length&&(top.ICEcoder.overFileFolder("folder","|"),top.ICEcoder.selectFileFolder("init")),top.ICEcoder.fmAction(b,"enter")),!1;if(38!=c&&40!=c&&37!=c&&39!=c||"files"!=a)return 79==c&&(b.ctrlKey||top.ICEcoder.cmdKey)?(top.ICEcoder.openPrompt(),!1):32==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a?(top.ICEcoder.addSnippet(),!1):74==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a?(top.ICEcoder.jumpToDefinition(),!1):223==c&&(b.ctrlKey||top.ICEcoder.cmdKey)?
|
||||
(top.ICEcoder.lockUnlockNav(),ICEcoder.changeFilesW(top.ICEcoder.lockedNav?"expand":"contract"),!1):190==c&&(b.ctrlKey||top.ICEcoder.cmdKey)?(d=ICEcoder.getcMInstance(),e=ICEcoder.getcMdiffInstance(),d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?e:d,d.getCursor(),!1):27==c&&"content"==a?(d=ICEcoder.getcMInstance(),e=ICEcoder.getcMdiffInstance(),d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?e:d,1<d.getSelections().length?d.execCommand("singleSelection"):top.ICEcoder.lineCommentToggle(),
|
||||
!1):27==c&&"content"!=a?(top.ICEcoder.cancelAllActions(),!1):c;b.ctrlKey||top.ICEcoder.cmdKey||(0==top.ICEcoder.selectedFiles.length&&(top.ICEcoder.overFileFolder("folder","|"),top.ICEcoder.selectFileFolder("init")),top.ICEcoder.fmAction(b,38==c?"up":40==c?"down":37==c?"left":"right"));return!1}"content"==a?top.ICEcoder.removeLines():top.ICEcoder.closeTab(top.ICEcoder.selectedTab);return!1}"content"==a?top.ICEcoder.duplicateLines():top.ICEcoder.newTab();return!1}f=top.get("find");d=ICEcoder.getcMInstance();
|
||||
e=ICEcoder.getcMdiffInstance();d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?e:d;d=d.getSelections();0<d.length&&0<d[0].length&&(f.value=d[0]);f.select();top.get("goToLineNo").focus();f.focus();70==c?top.get("findReplaceSubmit").click():ICEcoder.findReplace(top.document.getElementById("find").value,!1,!0,!1,"findPrevious");return!1},resetKeys:function(a){top.ICEcoder.cmdKey=!1},addSnippet:function(){var a,b,c;a=ICEcoder.getcMInstance();b=ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?
|
||||
b:a;b=a.getCursor().line;c=a.getLine(b).length-a.getLine(b).replace(/^\s\s*/,"").length;a=a.getLine(b).slice(c);"function"==a.slice(0,8)?top.ICEcoder.doSnippet("function","function VAR() {\nINDENT\tCURSOR\nINDENT}"):"if"==a.slice(0,2)?top.ICEcoder.doSnippet("if","if (CURSOR) {\nINDENT\t\nINDENT}"):"for"==a.slice(0,3)&&top.ICEcoder.doSnippet("for","for (var i=0; i<CURSOR; i++) {\nINDENT\t\nINDENT}")},doSnippet:function(a,b){var c,d,e,f,g,k;c=ICEcoder.getcMInstance();d=ICEcoder.getcMdiffInstance();
|
||||
c=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?d:c;d=c.getCursor().line;if(-1<c.getLine(d).indexOf(a)){e=c.getLine(d);f=e.indexOf(a);e=e.slice(e.indexOf(a)+a.length+1);b=b.replace(/VAR/g,e);e=c.getLine(d).slice(0,f);f=c.getLine(d).length-c.getLine(d).replace(/^\s\s*/,"").length;f=c.getLine(d).slice(0,f);b=b.replace(/INDENT/g,f);e+=b;f=e.indexOf("CURSOR");g=0;k=d;for(i=0;i<e.length;i++)e.indexOf("\n",g)<e.indexOf("CURSOR")&&(g=e.indexOf("\n",g)+1,k+=1);c.replaceRange(e.replace("CURSOR",""),
|
||||
{line:d,ch:0},{line:d,ch:1E6});c.setCursor(k,f);top.ICEcoder.focus(-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?!0:!1)}}};
|
||||
27
lib/language-modes-partial.js
Normal file
27
lib/language-modes-partial.js
Normal file
@@ -0,0 +1,27 @@
|
||||
// Provide a fileName and get fileExt and mode set based on supported languages
|
||||
|
||||
fileExt = fileName.split(".");
|
||||
fileExt = fileExt[fileExt.length-1];
|
||||
var mode =
|
||||
fileExt == "js" || fileExt == "json" ? "text/javascript"
|
||||
: fileExt == "coffee" ? "text/x-coffeescript"
|
||||
: fileExt == "rb" ? "text/x-ruby"
|
||||
: fileExt == "py" ? "text/x-python"
|
||||
: fileExt == "css" ? "text/css"
|
||||
: fileExt == "less" ? "text/x-less"
|
||||
: fileExt == "md" ? "text/x-markdown"
|
||||
: fileExt == "xml" ? "application/xml"
|
||||
: fileExt == "sql" ? "text/x-mysql" // also text/x-sql, text/x-mariadb, text/x-cassandra or text/x-plsql
|
||||
: fileExt == "erl" ? "text/x-erlang"
|
||||
: fileExt == "yaml" ? "text/x-yaml"
|
||||
: fileExt == "java" ? "text/x-java"
|
||||
: fileExt == "jl" ? "text/x-julia"
|
||||
: fileExt == "c" ? "text/x-csrc"
|
||||
: fileExt == "cpp" ? "text/x-c++src"
|
||||
: fileExt == "ino" ? "text/x-c++src"
|
||||
: fileExt == "cs" ? "text/x-csharp"
|
||||
: fileExt == "go" ? "text/x-go"
|
||||
: fileExt == "lua" ? "text/x-lua"
|
||||
: fileExt == "pl" ? "text/x-perl"
|
||||
: fileExt == "scss" ? "text/x-sass"
|
||||
: "application/x-httpd-php";
|
||||
@@ -18,9 +18,9 @@ echo $ICEcoder["password"] == "" && !$ICEcoder["multiUser"] ? "Setup" : "Login";
|
||||
<link rel="icon" type="image/png" href="../favicon.png">
|
||||
</head>
|
||||
|
||||
<body style="background-color: #141414" onLoad="<?php if (!isset($_GET["get"])) {$inputFocus = $ICEcoder["multiUser"] ? "username" : "password"; echo "document.settingsUpdate.".$inputFocus.".focus(); ";}; ?>setTimeout(function(){document.getElementById('screenContainer').style.opacity=1},50)">
|
||||
<body style="background-color: #181817" onLoad="<?php if (!isset($_GET["get"])) {$inputFocus = $ICEcoder["multiUser"] ? "username" : "password"; echo "document.settingsUpdate.".$inputFocus.".focus(); ";}; ?>setTimeout(function(){document.getElementById('screenContainer').style.opacity=1},50)">
|
||||
|
||||
<div class="screenContainer" id="screenContainer" style="background-color: #141414; opacity: 0; transition: opacity 0.1s ease-out">
|
||||
<div class="screenContainer" id="screenContainer" style="background-color: #181817; opacity: 0; transition: opacity 0.1s ease-out">
|
||||
<div class="screenVCenter">
|
||||
<div class="screenCenter">
|
||||
<img src="../images/ice-coder.png" alt="ICEcoder">
|
||||
@@ -37,7 +37,7 @@ echo $ICEcoder["password"] == "" && !$ICEcoder["multiUser"] ? "Setup" : "Login";
|
||||
<?php if (isset($_GET["success"]) && $_GET["success"]=="no") {echo "Sorry, that doesn't seem to be correct.<br>Please check your emailed details and try again.<br><br>";};?>
|
||||
<?php if ($ICEcoder["multiUser"]) {echo ' <input type="text" name="username" value="Username" onfocus="origValue=\'Username\';if(this.value==origValue){this.value=\'\';};" onblur="if(this.value==\'\'){this.value=origValue;};" class="password"><br><br>'.PHP_EOL;};?>
|
||||
<input type="email" name="email" value="Email" onfocus="origValue='Email';if(this.value==origValue){this.value='';};" onblur="if(this.value==''){this.value=origValue;};" class="password"><br><br>
|
||||
<input type="text" name="code" value="Code" onfocus="origValue='Code';if(this.value==origValue){this.value='';};" onblur="if(this.value==''){this.value=origValue;};" class="password"><br><br>
|
||||
<input type="text" name="code" value="Code" onfocus="origValue='Code';if(this.value==origValue){this.value='';};" onblur="if(this.value==''){this.value=origValue;};" class="password" autocomplete="off"><br><br>
|
||||
<input type="submit" name="submit" value="Unlock ICEcoder" style="background: #097695; color: #fff; border: 0; padding: 10px; text-decoration: none; font-size: 17px; font-weight: bold; border-radius: 4px; cursor: pointer"><br><br><br>
|
||||
Future development relies on your donation, to keep making awesome new features.<br><br>
|
||||
Many thanks.</span>
|
||||
@@ -47,7 +47,14 @@ echo $ICEcoder["password"] == "" && !$ICEcoder["multiUser"] ? "Setup" : "Login";
|
||||
if ($ICEcoder["multiUser"]) {echo ' <input type="text" name="username" class="password"><br><br>'.PHP_EOL;};
|
||||
?>
|
||||
<input type="password" name="password" class="password"><br><br>
|
||||
<input type="submit" name="submit" value="<?php if ($ICEcoder["multiUser"] && $ICEcoderSettings["enableRegistration"]) {echo $t['set password']." / ".$t['login'];} else {echo $ICEcoder["password"] == "" ? $t['set password'] : $t['login'];}; ?>" class="button">
|
||||
<input type="submit" name="submit" value="<?php
|
||||
// Multi-user
|
||||
if ($ICEcoder["multiUser"]) {
|
||||
echo $ICEcoderSettings["enableRegistration"] ? $t['set password']." / ".$t['login'] : $t['login'];
|
||||
// Single-user
|
||||
} else {
|
||||
echo $ICEcoderSettings["enableRegistration"] && $ICEcoder["password"] == "" ? $t['set password'] : $t['login'];
|
||||
}; ?>" class="button">
|
||||
<?php
|
||||
if(empty($_SERVER['HTTPS'])) {
|
||||
echo '<div class="text">Using over non-https connection.<br>SSL is recommended!</div>';
|
||||
@@ -57,8 +64,11 @@ echo $ICEcoder["password"] == "" && !$ICEcoder["multiUser"] ? "Setup" : "Login";
|
||||
}
|
||||
?>
|
||||
<?php
|
||||
if ($ICEcoder["password"] == "" && !$ICEcoder["multiUser"]) {
|
||||
echo '<div class="text" style="position: relative"><input type="checkbox" name="disableFurtherRegistration" value="true" style="position: absolute; margin: -1px 0 0 -20px" checked> '.$t['disable further registrations'].'</div>';
|
||||
}
|
||||
if ($ICEcoder["password"] == "" || $ICEcoder["multiUser"]) {
|
||||
echo '<div class="text"><input type="checkbox" name="checkUpdates" value="true" checked> '.$t['auto-check for updates'].'</div>';
|
||||
echo '<div class="text" style="position: relative"><input type="checkbox" name="checkUpdates" value="true" style="position: absolute; margin: -1px 0 0 -20px" checked> '.$t['auto-check for updates'].'</div>';
|
||||
}
|
||||
if (!$ICEcoder["multiUser"]) { echo '<div class="text"><a href="javascript:alert(\''.$t['To put into...'].'\')">'.$t['multi-user'].'?</a></div>';};
|
||||
}
|
||||
|
||||
@@ -125,12 +125,12 @@ if (startTab!=top.ICEcoder.selectedTab) {
|
||||
$fullPath = $path.$slash.$f;
|
||||
if(is_dir($fullPath)) {
|
||||
$ret .= phpGrep($q, $fullPath, $base);
|
||||
} else if(stristr(toUTF8noBOM(file_get_contents($fullPath,false,$context),false), $q)) {
|
||||
} else if(stristr(toUTF8noBOM(getData($fullPath),false), $q)) {
|
||||
$bFile = false;
|
||||
$foundInSelFile = false;
|
||||
// Exclude banned files
|
||||
for ($i=0;$i<count($ICEcoder['bannedFiles']);$i++) {
|
||||
if (strpos($f,$ICEcoder['bannedFiles'][$i])!==false) {$bFile = true;};
|
||||
if (strpos($f,str_replace("*","",$ICEcoder['bannedFiles'][$i]))!==false) {$bFile = true;};
|
||||
}
|
||||
// Exclude the folder ICEcoder is running from
|
||||
$rootPrefix = '/'.str_replace("/","\/",preg_quote(str_replace("\\","/",$docRoot))).'/';
|
||||
@@ -147,7 +147,7 @@ if (startTab!=top.ICEcoder.selectedTab) {
|
||||
}
|
||||
if (!$bFile && (count($selectedFiles)==0 || count($selectedFiles)>0 && $foundInSelFile)) {
|
||||
$ret .= "<a href=\\\"javascript:top.ICEcoder.openFile('".$fullPath."');top.ICEcoder.goFindAfterOpenInt = setInterval(function(){goFindAfterOpen('".$fullPath."')},20);top.ICEcoder.showHide('hide',top.get('blackMask'))\\\">";
|
||||
$ret .= str_replace($base,"",$fullPath)."</a><div id=\\\"foundCount".$r."\\\">".$t['Found']." ".substr_count(strtolower(toUTF8noBOM(file_get_contents($fullPath,false,$context),false)),$q)." ".$t['times']."</div>";
|
||||
$ret .= str_replace($base,"",$fullPath)."</a><div id=\\\"foundCount".$r."\\\">".$t['Found']." ".substr_count(strtolower(toUTF8noBOM(getData($fullPath),false)),$q)." ".$t['times']."</div>";
|
||||
if (isset($_GET['replace'])) {
|
||||
$ret .= "<div class=\\\"replace\\\" id=\\\"replace\\\" onClick=\\\"replaceInFileSingle('".$fullPath."');this.style.display=\'none\'\\\">".$t['replace']."</div>";
|
||||
};
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
magic_quotes_gpc = Off
|
||||
@@ -7,17 +7,7 @@ $t = $text['plugins-manager'];
|
||||
$pluginsDataSrc = "https://icecoder.net/plugin-data?format=JSON";
|
||||
|
||||
// Now get our plugin data and put into a PHP array
|
||||
if (ini_get('allow_url_fopen')) {
|
||||
$pluginsDataJS = @file_get_contents($pluginsDataSrc, false, $context);
|
||||
if (!$pluginsDataJS) {
|
||||
$pluginsDataJS = file_get_contents(str_replace("https:","http:",$pluginsDataSrc), false, $context);
|
||||
}
|
||||
} elseif (function_exists('curl_init')) {
|
||||
$pDSrc = curl_init($pluginsDataSrc);
|
||||
curl_setopt($pDSrc, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($pDSrc, CURLOPT_RETURNTRANSFER, true);
|
||||
$pluginsDataJS = curl_exec($pDSrc);
|
||||
}
|
||||
$pluginsDataJS = getData($pluginsDataSrc,'curl');
|
||||
$pluginsData = json_decode($pluginsDataJS, true);
|
||||
|
||||
// If we have an action to perform
|
||||
@@ -25,7 +15,7 @@ if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset
|
||||
|
||||
// Get our old plugin & user settings
|
||||
$oldPlugins = $ICEcoder["plugins"];
|
||||
$settingsContents = file_get_contents($settingsFile,false,$context);
|
||||
$settingsContents = getData($settingsFile);
|
||||
|
||||
// ==========
|
||||
// INSTALLING
|
||||
@@ -37,13 +27,7 @@ if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset
|
||||
$target = '../plugins/';
|
||||
$zipURL = $pluginsData[strClean($_GET['plugin'])]['zipURL'];
|
||||
$zipFile = "../tmp/".basename($zipURL);
|
||||
if (ini_get('allow_url_fopen')) {
|
||||
$fileData = file_get_contents($zipURL, false, $context);
|
||||
} elseif (function_exists('curl_init')) {
|
||||
$client = curl_init($zipURL);
|
||||
curl_setopt($client, CURLOPT_RETURNTRANSFER, 1); //fixed this line
|
||||
$fileData = curl_exec($client);
|
||||
}
|
||||
$fileData = getData($zipURL,'curl');
|
||||
file_put_contents($zipFile, $fileData);
|
||||
|
||||
// Now unpack the zip
|
||||
@@ -142,7 +126,7 @@ if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset
|
||||
|
||||
// Identify the bit to replace
|
||||
$repPosStart = strpos($settingsContents,'"plugins"');
|
||||
$repPosEnd = strpos($settingsContents,'"githubLocalPaths"');
|
||||
$repPosEnd = strpos($settingsContents,'"ftpSites"');
|
||||
|
||||
// Compile our new settings
|
||||
$settingsContents = substr($settingsContents,0,$repPosStart).$settingsNew.substr($settingsContents,$repPosEnd,strlen($settingsContents));
|
||||
@@ -243,32 +227,43 @@ function deletePlugin($dir) {
|
||||
<div style="display: inline-block; width: 740px">
|
||||
<h2><?php echo $t['Install'].' / '.$t['Uninstall'];?></h2><br>
|
||||
|
||||
<table>
|
||||
<?php
|
||||
for ($i=0; $i<count($pluginsData); $i++) {
|
||||
if ($i % 2 == 0) {
|
||||
echo '<tr>'.PHP_EOL;
|
||||
}
|
||||
// Show list of plugins
|
||||
if (count($pluginsData) > 0) {
|
||||
?>
|
||||
<table>
|
||||
<?php
|
||||
for ($i=0; $i<count($pluginsData); $i++) {
|
||||
if ($i % 2 == 0) {
|
||||
echo '<tr>'.PHP_EOL;
|
||||
}
|
||||
|
||||
$installUninstallButton = '<div style="display: inline-block; padding: 5px; background: #2187e7; color: #fff; font-size: 12px; cursor: pointer" onclick="window.location=\'plugins-manager.php?action=install&plugin='.$i.'&csrf='.$_SESSION["csrf"].'\'">'.$t['Install'].'</div>';
|
||||
for ($j=0; $j<count($plugins); $j++) {
|
||||
if ($pluginsData[$i]['name'] == $plugins[$j][0]) {
|
||||
$installUninstallButton = '<div style="display: inline-block; padding: 5px; background: #333; color: #fff; font-size: 12px; cursor: pointer" onclick="window.location=\'plugins-manager.php?action=uninstall&plugin='.$i.'&csrf='.$_SESSION["csrf"].'\'">'.$t['Uninstall'].'</div>';
|
||||
$installUninstallButton = '<div style="display: inline-block; padding: 5px; background: #2187e7; color: #fff; font-size: 12px; cursor: pointer" onclick="window.location=\'plugins-manager.php?action=install&plugin='.$i.'&csrf='.$_SESSION["csrf"].'\'">'.$t['Install'].'</div>';
|
||||
for ($j=0; $j<count($plugins); $j++) {
|
||||
if ($pluginsData[$i]['name'] == $plugins[$j][0]) {
|
||||
$installUninstallButton = '<div style="display: inline-block; padding: 5px; background: #333; color: #fff; font-size: 12px; cursor: pointer" onclick="window.location=\'plugins-manager.php?action=uninstall&plugin='.$i.'&csrf='.$_SESSION["csrf"].'\'">'.$t['Uninstall'].'</div>';
|
||||
}
|
||||
}
|
||||
|
||||
$reloadExtra = $pluginsData[$i]['reload'] == 'true' ? '<br><span style="color: #888">'.$t['Reload after install...'].'</span>' : '';
|
||||
echo '<td style="padding: 0 10px 18px 0; width: 28px; text-align: center"><img src="https://icecoder.net/'.$pluginsData[$i]['icon'].'" alt="'.$pluginsData[$i]['name'].'"></td>';
|
||||
echo '<td style="padding: 8px 10px 8px 0; width: 250px; white-space: nowrap">'.$pluginsData[$i]['name'].$reloadExtra.'</td>';
|
||||
$styleExtra = ($i % 2 == 1 || $i == count($pluginsData)-1) ? "0" : "30px";
|
||||
echo '<td style="padding: 3px '.$styleExtra.' 8px 0">'.$installUninstallButton.'</td>';
|
||||
|
||||
if ($i % 2 == 1 || $i == count($pluginsData)-1) {
|
||||
echo PHP_EOL.'</tr>'.PHP_EOL;
|
||||
}
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
|
||||
$reloadExtra = $pluginsData[$i]['reload'] == 'true' ? '<br><span style="color: #888">'.$t['Reload after install...'].'</span>' : '';
|
||||
echo '<td style="padding: 0 10px 18px 0; width: 28px; text-align: center"><img src="https://icecoder.net/'.$pluginsData[$i]['icon'].'" alt="'.$pluginsData[$i]['name'].'"></td>';
|
||||
echo '<td style="padding: 8px 10px 8px 0; width: 250px; white-space: nowrap">'.$pluginsData[$i]['name'].$reloadExtra.'</td>';
|
||||
$styleExtra = ($i % 2 == 1 || $i == count($pluginsData)-1) ? "0" : "30px";
|
||||
echo '<td style="padding: 3px '.$styleExtra.' 8px 0">'.$installUninstallButton.'</td>';
|
||||
|
||||
if ($i % 2 == 1 || $i == count($pluginsData)-1) {
|
||||
echo PHP_EOL.'</tr>'.PHP_EOL;
|
||||
}
|
||||
<?php
|
||||
// Cannot get data? Show error info
|
||||
} else {
|
||||
die("Sorry, unable to get plugin data. Please make sure you have either curl or fopen available on your server.");
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
6
lib/session-active-ping.php
Normal file
6
lib/session-active-ping.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
// Load headings and settings
|
||||
// Do this every 5 mins to keep session alive
|
||||
include("headers.php");
|
||||
include("settings.php");
|
||||
?>
|
||||
@@ -45,6 +45,47 @@ if (isset($_SESSION['text'])) {
|
||||
$t = $text['settings-common'];
|
||||
}
|
||||
|
||||
// Get data from a fopen or CURL connection
|
||||
function getData($url,$type='fopen',$dieMessage=false,$timeout=60) {
|
||||
global $context;
|
||||
|
||||
// Request is to connect via CURL
|
||||
if ($type == "curl" && function_exists('curl_init')) {
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
|
||||
curl_setopt($ch, CURLOPT_USERAGENT, 'ICEcoder');
|
||||
curl_setopt($ch, CURLOPT_FAILONERROR, true);
|
||||
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
|
||||
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
|
||||
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
|
||||
$data = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
// Otherwise, use an fopen connection
|
||||
} elseif (ini_get('allow_url_fopen')) {
|
||||
$context = stream_context_create(array('http'=>
|
||||
array(
|
||||
'timeout' => $timeout // secs
|
||||
)
|
||||
));
|
||||
$data = @file_get_contents($url,false,$context);
|
||||
if (!$data) {
|
||||
$data = @file_get_contents(str_replace("https:","http:",$url), false, $context);
|
||||
}
|
||||
}
|
||||
// Return data or die with message
|
||||
if ($data) {
|
||||
return $data;
|
||||
} elseif ($dieMessage) {
|
||||
die($dieMessage);
|
||||
exit;
|
||||
} else {
|
||||
return 'no data';
|
||||
}
|
||||
}
|
||||
|
||||
// Logout if that's the action we're taking
|
||||
if (isset($_GET['logout'])) {
|
||||
include(dirname(__FILE__)."/../processes/on-user-logout.php");
|
||||
@@ -55,7 +96,7 @@ if (isset($_GET['logout'])) {
|
||||
die("Logging you out...");
|
||||
}
|
||||
|
||||
// If magic quotes are still on (attempted to switch off in php.ini)
|
||||
// If magic quotes are still on
|
||||
if (get_magic_quotes_gpc ()) {
|
||||
function stripslashes_deep($value) {
|
||||
$value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value);
|
||||
@@ -128,19 +169,43 @@ function xssClean($data,$type) {
|
||||
return $output;
|
||||
}
|
||||
|
||||
|
||||
// Clean PHP code injection attempts
|
||||
function injClean($data) {
|
||||
$output = str_replace("(", "", str_replace(")", "", str_replace(";", "", $data)));
|
||||
return $output;
|
||||
}
|
||||
|
||||
// returns a UTF8 based string with any UFT8 BOM removed
|
||||
function toUTF8noBOM($string,$message) {
|
||||
global $text;
|
||||
$t = $text['settings-common'];
|
||||
|
||||
// Attempt to detect encoding
|
||||
if (function_exists('mb_detect_encoding')) {
|
||||
$encType = mb_detect_encoding($string);
|
||||
// Get rid of any UTF-8 BOM
|
||||
$string = preg_replace('/\x{EF}\x{BB}\x{BF}/','',$string);
|
||||
$strictUTF8 = mb_detect_encoding($string, 'UTF-8', true);
|
||||
// Establish a BOM
|
||||
$bom = pack("CCC", 0xef, 0xbb, 0xbf);
|
||||
// If there's a BOM in the first few chars
|
||||
if (0 === strncmp($string, $bom, 3)) {
|
||||
// If there's a BOM followed by a Windows based (2 char) line ending
|
||||
// chop BOM off and prefix returned string with a PHP_EOL
|
||||
if (0 === strncmp($string, $bom."\r\n", 3)) {
|
||||
$string = PHP_EOL.substr($string, 3);
|
||||
// Else, simply chop off the BOM
|
||||
} else {
|
||||
$string = substr($string, 3);
|
||||
}
|
||||
}
|
||||
// Remove any other BOMs from view
|
||||
$string = preg_replace('/'.$bom.'/','',$string);
|
||||
|
||||
// Test for any bad characters
|
||||
$teststring = $string;
|
||||
$teststringBroken = utf8_decode($teststring);
|
||||
$teststringConverted = iconv("UTF-8", "UTF-8//IGNORE", $teststringBroken);
|
||||
// If we have a matching length, UTF8 encode it
|
||||
if ($encType != "ASCII" && $encType != "UTF-8" && strlen($teststringConverted) == strlen($teststringBroken)) {
|
||||
if (!$strictUTF8 && strlen($teststringConverted) == strlen($teststringBroken)) {
|
||||
$string = utf8_encode($string);
|
||||
if ($message) {
|
||||
echo "top.ICEcoder.message('".$t['Your document does...'].".');";
|
||||
@@ -179,4 +244,58 @@ if (!function_exists('array_replace_recursive')) {
|
||||
return $base;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
// Get number of versions total for a file
|
||||
function getVersionsCount($fileLoc,$fileName) {
|
||||
global $context;
|
||||
$count = 0;
|
||||
$dateCounts = array();
|
||||
$backupDateDirs = array();
|
||||
// Establish the base, host and date dirs within...
|
||||
$backupDirBase = str_replace("\\","/",dirname(__FILE__))."/../backups/";
|
||||
$backupDirHost = isset($ftpSite) ? parse_url($ftpSite,PHP_URL_HOST) : "localhost";
|
||||
// check if folder exists if local before enumerating contents
|
||||
if(!isset($ftpSite)) {
|
||||
if(is_dir($backupDirBase.$backupDirHost)) {
|
||||
$backupDateDirs = scandir($backupDirBase.$backupDirHost,1);
|
||||
}
|
||||
} else {
|
||||
$backupDateDirs = scandir($backupDirBase.$backupDirHost,1);
|
||||
}
|
||||
// Get rid of . and .. from date dirs array
|
||||
for ($i=0; $i<count($backupDateDirs); $i++) {
|
||||
if ($backupDateDirs[$i] == "." || $backupDateDirs[$i] == "..") {
|
||||
array_splice($backupDateDirs,$i,1);
|
||||
$i--;
|
||||
}
|
||||
}
|
||||
// Check the backup index in each dir and add up the counts from matching lines
|
||||
for ($i=0; $i<count($backupDateDirs); $i++) {
|
||||
$backupIndex = $backupDirBase.$backupDirHost."/".$backupDateDirs[$i]."/.versions-index";
|
||||
// Have a .versions-index file? Get contents
|
||||
if (file_exists($backupIndex) && is_readable($backupIndex)) {
|
||||
$versionsInfo = getData($backupIndex);
|
||||
$versionsInfo = explode("\n",$versionsInfo);
|
||||
// For each line, check if it's our file and if so, add the count to our $count value and $dateCount array
|
||||
for ($j=0; $j<count($versionsInfo); $j++) {
|
||||
// Replace any backslashes in $fileLoc
|
||||
$fileLoc = str_replace("\\","/",$fileLoc);
|
||||
// Join $fileLock and $fileName into a path and replace double slashes
|
||||
$fileRef = str_replace("//","/",$fileLoc."/".$fileName." = ");
|
||||
// Check if we have a match
|
||||
if (strpos($versionsInfo[$j],$fileRef) === 0) {
|
||||
// We have a match, so split on the " = " and we can grab number as 2nd part
|
||||
$lineInfo = explode(" = ",$versionsInfo[$j]);
|
||||
$count += intval($lineInfo[1]);
|
||||
$dateCounts[$backupDateDirs[$i]] = intval($lineInfo[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return array(
|
||||
"count" => $count,
|
||||
"dateCounts" => $dateCounts
|
||||
);
|
||||
}
|
||||
?>
|
||||
@@ -5,7 +5,7 @@ $t = $text['settings-save-current-files'];
|
||||
|
||||
// Save the currently opened files for next time
|
||||
if ($_SESSION['loggedIn'] && isset($_GET["saveFiles"]) && $_GET['saveFiles']) {
|
||||
$settingsContents = file_get_contents($settingsFile,false,$context);
|
||||
$settingsContents = getData($settingsFile);
|
||||
|
||||
// Replace our previousFiles var with the the current
|
||||
$repPosStart = strpos($settingsContents,'previousFiles" => "')+20;
|
||||
|
||||
@@ -33,8 +33,10 @@ h2 {font-size: 18px; font-weight: normal; color: #fff}
|
||||
.settings .infoPane a:hover {text-decoration: underline}
|
||||
.settings .logo {position: relative; margin-top: 2px; width: 100px}
|
||||
.settings .version {position: relative; display: block; margin-top: 5px; margin-bottom: 10px; font-size: 10px; color: #bbb}
|
||||
.settings .settingsColumn1 {width: 220px; height: 560px; padding: 20px; float: left}
|
||||
.settings .settingsColumn2 {width: 420px; height: 560px; padding: 20px 20px 20px 0; float: left}
|
||||
.settings .tabContainer {background: #fff; height: 38px; padding-top: 20px}
|
||||
.settings .tabContainer .tab {padding: 12px; background: #444; margin-right: 1px; float: left; cursor: pointer}
|
||||
.settings .tabContainer .tabActive {background: #1c1c19}
|
||||
.settings .section {width: 640px; height: 450px; padding: 20px; margin-top: 10px; float: left}
|
||||
.settings input, .settings textarea {border: 1px solid #555; background-color: #444; color: #fff}
|
||||
.settings input:focus, .settings textarea:focus {
|
||||
outline: none;
|
||||
@@ -42,5 +44,6 @@ h2 {font-size: 18px; font-weight: normal; color: #fff}
|
||||
-moz-box-shadow: 0 0 10px 1px rgba(0,198,255,0.7);
|
||||
box-shadow: 0 0 10px 1px rgba(0,198,255,0.7);
|
||||
}
|
||||
.settings input[type="text"]:disabled {opacity: 0.5}
|
||||
.settings .info {font-size: 10px; color: rgba(0,198,255,0.7); cursor: help}
|
||||
.settings .update {position: absolute; bottom: 0; right: 20px; padding: 5px 10px; font-size: 18px; background-color: rgba(0,198,255,0.7); opacity: 0.1; cursor: pointer}
|
||||
@@ -84,112 +84,117 @@ for ($i=0;$i<count($themeArray);$i++) {
|
||||
</div>
|
||||
|
||||
<form name="settings" action="settings.php" method="POST">
|
||||
<div class="settingsColumn1">
|
||||
<h2><?php echo $t['functionality'];?></h2>
|
||||
<input type="checkbox" onclick="showButton()" name="checkUpdates" value="true"<?php if($ICEcoder["checkUpdates"]) {echo ' checked';};?>> <?php echo $t['check for updates...'];?><br>
|
||||
<input type="checkbox" onclick="showButton()" name="openLastFiles" value="true"<?php if($ICEcoder["openLastFiles"]) {echo ' checked';};?>> <?php echo $t['auto open last...'];?><br>
|
||||
<input type="checkbox" onclick="showButton()" name="updateDiffOnSave" value="true"<?php if($ICEcoder["updateDiffOnSave"]) {echo ' checked';};?>> update diff pane on save<br>
|
||||
language <span class="info" title="Reload required after changing">[?]</span><br>
|
||||
<select onchange="showButton()" name="languageUser">
|
||||
<?php
|
||||
$langFiles = array("chinese-simplified.php","chinese-traditional.php","dutch.php","english.php","french.php","german.php","italian.php","norwegian.php","persian.php","portuguese-brazilian.php","spanish.php");
|
||||
$langText = array("中国(简体)","中國(繁體)","Nederlands","English","Français","Deutsch","Italiano","Norsk","فارسی","Portugues(br)","Español");
|
||||
for ($i=0; $i<count($langFiles); $i++) {
|
||||
echo '<option value="'.$langFiles[$i].'"'.($ICEcoder["languageUser"]==$langFiles[$i] ? ' selected' : '').'>'.$langText[$i].'</option>'.PHP_EOL;
|
||||
}
|
||||
?>
|
||||
</select><br>
|
||||
<br>
|
||||
<?php echo $t['when finding in...'];?>:<br>
|
||||
<input type="text" onkeydown="showButton()" name="findFilesExclude" value="<?php echo implode(", ",$ICEcoder["findFilesExclude"]); ?>"><br>
|
||||
<br>
|
||||
|
||||
<h2><?php echo $t['assisting'];?></h2>
|
||||
<input type="checkbox" onclick="showButton()" name="codeAssist" value="true"<?php if($ICEcoder["codeAssist"]) {echo ' checked';};?>> <?php echo $t['code assist'];?><br>
|
||||
<input type="checkbox" onclick="showButton();showHideTabs()" name="visibleTabs" value="true"<?php if($ICEcoder["visibleTabs"]) {echo ' checked';};?>> <?php echo $t['visible tabs'];?><br>
|
||||
<input type="checkbox" onclick="showButton()" name="lockedNav" value="true"<?php if($ICEcoder["lockedNav"]) {echo ' checked';};?>> <?php echo $t['locked nav'];?><br><br>
|
||||
<?php echo $t['tag wrapper command'];?><br>
|
||||
<select onchange="showButton()" name="tagWrapperCommand">
|
||||
<option value="ctrl+alt"<?php if($ICEcoder["tagWrapperCommand"]=='ctrl+alt') {echo " selected";};?>>ctrl/cmd + alt</option>
|
||||
<option value="alt-left"<?php if($ICEcoder["tagWrapperCommand"]=='alt-left') {echo " selected";};?>>alt left</option>
|
||||
</select><br>
|
||||
<br>
|
||||
<?php echo $t['auto-complete on'];?><br>
|
||||
<select onchange="showButton()" name="autoComplete">
|
||||
<option value="ctrl+space"<?php if($ICEcoder["autoComplete"]=='ctrl+space') {echo " selected";};?>>ctrl/cmd + space</option>
|
||||
<option value="keypress"<?php if($ICEcoder["autoComplete"]=='keypress') {echo " selected";};?>>keypress</option>
|
||||
</select><br>
|
||||
<br>
|
||||
|
||||
<h2><?php echo $t['security'];?></h2>
|
||||
<?php echo $t['new password'];?> <span class="info" title="<?php echo $t['8 chars min'];?>">[?]</span><br>
|
||||
<input type="password" name="password" onkeydown="showButton()"><br>
|
||||
<?php echo $t['confirm password'];?><br>
|
||||
<input type="password" name="passwordConfirm" onkeydown="showButton()"><br>
|
||||
<br>
|
||||
<?php echo $t['banned files/folders'];?><br>
|
||||
<input type="text" onkeydown="document.settings.changedFileSettings.value='true';showButton()" name="bannedFiles" value="<?php echo implode(", ",$ICEcoder["bannedFiles"]); ?>"><br>
|
||||
<?php echo $t['banned paths'];?> <span class="info" title="<?php echo $t['Slash prefixed comma...'];?>">[?]</span><br>
|
||||
<input type="text" onkeydown="document.settings.changedFileSettings.value='true';showButton()" name="bannedPaths" value="<?php echo implode(", ",$ICEcoder["bannedPaths"]); ?>"><br>
|
||||
<input type="hidden" name="changedFileSettings" value="false">
|
||||
<?php echo $t['ip addresses'];?> <span class="info" title="<?php echo $t['Comma delimited'];?>">[?]</span><br>
|
||||
<input type="text" onkeydown="showButton()" name="allowedIPs" value="<?php echo implode(", ",$ICEcoder["allowedIPs"]); ?>"><br>
|
||||
<div class="tabContainer">
|
||||
<div id="generalTab" class="tab tabActive" onclick="switchTab('general')">General</div>
|
||||
<div id="styleTab" class="tab" onclick="switchTab('style')">Style</div>
|
||||
<div id="accountsTab" class="tab" onclick="switchTab('accounts')">Accounts</div>
|
||||
<div id="securityTab" class="tab" onclick="switchTab('security')">Security</div>
|
||||
</div>
|
||||
|
||||
<div class="settingsColumn2">
|
||||
<h2><?php echo $t['style'];?></h2>
|
||||
<?php echo $t['theme'];?><br>
|
||||
<select onchange="selectTheme();showButton()" id="select" name="theme" style="width: 95px">
|
||||
<option<?php if ($ICEcoder["theme"]=="default") {echo ' selected';}; ?>>default</option>
|
||||
<?php
|
||||
for ($i=0;$i<count($themeArray);$i++) {
|
||||
$optionSelected = $ICEcoder["theme"]==$themeArray[$i] ? ' selected' : '';
|
||||
echo '<option'.$optionSelected.'>'.$themeArray[$i].'</option>'.PHP_EOL;
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
<div id="generalSection" class="section" style="display: block">
|
||||
|
||||
<span style="position: absolute; margin: -15px 0 0 15px">
|
||||
<?php echo $t['indent type'];?><br>
|
||||
<select onchange="showButton()" name="indentWithTabs">
|
||||
<option value="true"<?php if($ICEcoder["indentWithTabs"]) {echo " selected";};?>>tabs</option>
|
||||
<option value="false"<?php if(!$ICEcoder["indentWithTabs"]) {echo " selected";};?>>spaces</option>
|
||||
</select>
|
||||
</span>
|
||||
<div style="display: inline-block; margin-right: 40px">
|
||||
|
||||
<span style="position: absolute; margin: -15px 0 0 100px">
|
||||
<?php echo $t['indent size'];?><br>
|
||||
<input type="text" name="indentSize" id="indentSize" style="width: 30px" onkeydown="showButton()" onkeyup="changeIndentSize()" value="<?php echo $ICEcoder["indentSize"];?>">
|
||||
</span>
|
||||
<h2>language</h2><br>
|
||||
<select onchange="showButton()" name="languageUser">
|
||||
<?php
|
||||
$langFiles = array("chinese-simplified.php","chinese-traditional.php","dutch.php","english.php","french.php","german.php","italian.php","norwegian.php","persian.php","portuguese-brazilian.php","spanish.php");
|
||||
$langText = array("中国(简体)","中國(繁體)","Nederlands","English","Français","Deutsch","Italiano","Norsk","فارسی","Portugues(br)","Español");
|
||||
for ($i=0; $i<count($langFiles); $i++) {
|
||||
echo '<option value="'.$langFiles[$i].'"'.($ICEcoder["languageUser"]==$langFiles[$i] ? ' selected' : '').'>'.$langText[$i].'</option>'.PHP_EOL;
|
||||
}
|
||||
?>
|
||||
</select> <span class="info" style="display: inline-block; padding-top: 2px" title="Reload required after changing">[?]</span>
|
||||
<br><br>
|
||||
|
||||
<span style="position: absolute; margin: -15px 0 15px 175px">
|
||||
<?php echo $t['auto indent'];?><br>
|
||||
<select onchange="showButton()" name="indentAuto">
|
||||
<option value="true"<?php if($ICEcoder["indentAuto"]) {echo " selected";};?>>yes</option>
|
||||
<option value="false"<?php if(!$ICEcoder["indentAuto"]) {echo " selected";};?>>no</option>
|
||||
</select>
|
||||
</span>
|
||||
<br>
|
||||
<span style="position: absolute; margin: 5px 0 0 0">
|
||||
<?php echo $t['line wrapping'];?><br>
|
||||
<select onchange="showButton()" name="lineWrapping">
|
||||
<option value="true"<?php if($ICEcoder["lineWrapping"]) {echo " selected";};?>>yes</option>
|
||||
<option value="false"<?php if(!$ICEcoder["lineWrapping"]) {echo " selected";};?>>no</option>
|
||||
</select>
|
||||
</span>
|
||||
<h2><?php echo $t['functionality'];?></h2><br>
|
||||
<input type="checkbox" onclick="showButton()" name="checkUpdates" value="true"<?php if($ICEcoder["checkUpdates"]) {echo ' checked';};?>> <?php echo $t['check for updates...'];?><br>
|
||||
<input type="checkbox" onclick="showButton()" name="openLastFiles" value="true"<?php if($ICEcoder["openLastFiles"]) {echo ' checked';};?>> <?php echo $t['auto open last...'];?><br>
|
||||
<input type="checkbox" onclick="showButton()" name="updateDiffOnSave" value="true"<?php if($ICEcoder["updateDiffOnSave"]) {echo ' checked';};?>> update diff pane on save
|
||||
<br><br>
|
||||
|
||||
<span style="position: absolute; margin: 5px 0 0 95px">
|
||||
<?php echo $t['font size'];?><br>
|
||||
<input type="text" name="fontSize" id="fontSize" style="width: 44px" onkeydown="showButton()" onkeyup="changeFontSize()" value="<?php echo $ICEcoder["fontSize"];?>">
|
||||
</span>
|
||||
<h2><?php echo $t['assisting'];?></h2><br>
|
||||
<input type="checkbox" onclick="showButton()" name="codeAssist" value="true"<?php if($ICEcoder["codeAssist"]) {echo ' checked';};?>> <?php echo $t['code assist'];?><br>
|
||||
<br>
|
||||
<?php echo $t['tag wrapper command'];?><br>
|
||||
<select onchange="showButton()" name="tagWrapperCommand">
|
||||
<option value="ctrl+alt"<?php if($ICEcoder["tagWrapperCommand"]=='ctrl+alt') {echo " selected";};?>>ctrl/cmd + alt</option>
|
||||
<option value="alt-left"<?php if($ICEcoder["tagWrapperCommand"]=='alt-left') {echo " selected";};?>>alt left</option>
|
||||
</select>
|
||||
<br><br>
|
||||
|
||||
<br><br><br><br>
|
||||
<?php echo $t['auto-complete on'];?><br>
|
||||
<select onchange="showButton()" name="autoComplete">
|
||||
<option value="ctrl+space"<?php if($ICEcoder["autoComplete"]=='ctrl+space') {echo " selected";};?>>ctrl/cmd + space</option>
|
||||
<option value="keypress"<?php if($ICEcoder["autoComplete"]=='keypress') {echo " selected";};?>>keypress</option>
|
||||
</select>
|
||||
<br><br>
|
||||
|
||||
<textarea id="code" name="code">
|
||||
</div>
|
||||
|
||||
<div style="display: inline-block">
|
||||
|
||||
<h2>find & replace</h2><br>
|
||||
<?php echo $t['when finding in...'];?>:<br>
|
||||
<input type="text" onkeydown="showButton()" name="findFilesExclude" style="width: 300px" value="<?php echo implode(", ",$ICEcoder["findFilesExclude"]); ?>">
|
||||
<br><br>
|
||||
|
||||
<h2><?php echo $t['bug reporting'];?></h2><br>
|
||||
<?php echo $t['check in files'];?> <span class="info" title="<?php echo $t['Slash prefixed comma...'];?>">[?]</span><br>
|
||||
<input type="text" name="bugFilePaths" style="width: 300px" onkeydown="showButton()" value="<?php echo implode(", ",$ICEcoder["bugFilePaths"]);?>"><br>
|
||||
<span style="display: inline-block; padding: 6px 5px 0 0">...<?php echo $t['every'];?></span>
|
||||
<input type="text" name="bugFileCheckTimer" style="width: 50px; margin-top: 3px" onkeydown="showButton()" value="<?php echo $ICEcoder["bugFileCheckTimer"];?>">
|
||||
<span style="display: inline-block; padding: 6px 5px 0 5px"><?php echo $t['secs getting last'];?></span>
|
||||
<input type="text" name="bugFileMaxLines" style="width: 50px; margin-top: 3px" onkeydown="showButton()" value="<?php echo $ICEcoder["bugFileMaxLines"];?>">
|
||||
<span style="display: inline-block; padding: 6px 5px 0 5px"><?php echo $t['lines'];?></span>
|
||||
<br><br>
|
||||
|
||||
<h2><?php echo $t['file manager'];?></h2><br>
|
||||
<?php echo $t['root'];?> <span class="info" title="<?php echo $t['Slash prefixed'];?>">[?]</span><br>
|
||||
<input type="text" name="root" style="width: 300px" onkeydown="document.settings.changedFileSettings.value='true';showButton()" value="<?php echo $ICEcoder["root"];?>">
|
||||
<br><br>
|
||||
|
||||
<h2><?php echo $t['backups'];?></h2><br>
|
||||
<input type="checkbox" onclick="showButton();changeBackupsDaysStatus();" name="backupsKept" value="true"<?php if($ICEcoder["backupsKept"]) {echo ' checked';};?>> <?php echo $t['keep version control...'];?> <input type="text" name="backupsDays" id="backupsDays" style="width: 50px; margin: 3px 5px 0 5px" onkeydown="document.settings.changedFileSettings.value='true';showButton()" value="<?php echo $ICEcoder["backupsDays"];?>" <?php
|
||||
if(!$ICEcoder["backupsKept"]){
|
||||
echo ' disabled=""';
|
||||
}?>> <?php echo $t['days'];?><br>
|
||||
<div style="padding: 5px 5px 5px 5px; color: #888">
|
||||
<?php
|
||||
// Display number of days backups available
|
||||
$backupDirBase = str_replace("\\","/",dirname(__FILE__))."/../backups/";
|
||||
$backupDirHost = isset($ftpSite) ? parse_url($ftpSite,PHP_URL_HOST) : "localhost";
|
||||
$backupDirsList = scandir($backupDirBase.$backupDirHost);
|
||||
// Remove . and .. from array
|
||||
for ($i=0; $i<count($backupDirsList); $i++) {
|
||||
if ($backupDirsList[$i] == "." || $backupDirsList[$i] == "..") {
|
||||
array_splice($backupDirsList,$i,1);
|
||||
$i--;
|
||||
}
|
||||
}
|
||||
// Display text re the number of days backups have taken place
|
||||
$backupNumDays = $backupDirsList[0] != "" && count($backupDirsList) > 0 ? count($backupDirsList) : 0;
|
||||
echo $backupNumDays." ".($backupNumDays != 1 ? $t['days'] : $t['day'])." ".$t['of backups stored...'];
|
||||
?>
|
||||
</div><br>
|
||||
|
||||
<input type="checkbox" onclick="showButton();" name="deleteToTmp" value="true"<?php if($ICEcoder["deleteToTmp"]) {echo ' checked';};?>> <?php echo $t['deleting actually moves...'];?> <span class="info" title="<?php echo $t['local/server items...'];?>" style="position: absolute; margin-top: 6px">[?]</span>
|
||||
<br><br>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="styleSection" class="section" style="display: none">
|
||||
|
||||
<div style="display: inline-block; width: 400px; margin-right: 35px">
|
||||
<div style="height: 220px">
|
||||
<h2>preview</h2><br>
|
||||
<textarea id="code" name="code">
|
||||
function findSequence(goal) {
|
||||
function find(start,history) {
|
||||
if (start==goal)
|
||||
return history;
|
||||
return history;
|
||||
else if (start>goal)
|
||||
return null;
|
||||
else
|
||||
@@ -198,38 +203,121 @@ function findSequence(goal) {
|
||||
}
|
||||
return find(1,"1");
|
||||
}</textarea>
|
||||
<br>
|
||||
</div>
|
||||
<br><br>
|
||||
|
||||
<span style="position: absolute; top: 325px">
|
||||
|
||||
<div style="position: relative; display: inline-block; margin-right: 20px">
|
||||
<h2><?php echo $t['layout'];?></h2>
|
||||
<h2><?php echo $t['layout'];?></h2><br>
|
||||
<input type="checkbox" onclick="showButton()" name="lockedNav" value="true"<?php if($ICEcoder["lockedNav"]) {echo ' checked';};?>> <?php echo $t['locked nav'];?><br><br>
|
||||
<?php echo $t['plugin panel aligned'];?><br>
|
||||
<select onchange="showButton()" name="pluginPanelAligned">
|
||||
<option value="left"<?php if($ICEcoder["pluginPanelAligned"] == "left") {echo " selected";};?>>left</option>
|
||||
<option value="right"<?php if($ICEcoder["pluginPanelAligned"] == "right") {echo " selected";};?>>right</option>
|
||||
</select>
|
||||
<br><br>
|
||||
|
||||
</div><div style="display: inline-block">
|
||||
<h2><?php echo $t['style'];?></h2><br>
|
||||
<?php echo $t['theme'];?><br>
|
||||
<select onchange="selectTheme();showButton()" id="select" name="theme" style="width: 95px">
|
||||
<option<?php if ($ICEcoder["theme"]=="default") {echo ' selected';}; ?>>default</option>
|
||||
<?php
|
||||
for ($i=0;$i<count($themeArray);$i++) {
|
||||
$optionSelected = $ICEcoder["theme"]==$themeArray[$i] ? ' selected' : '';
|
||||
echo '<option'.$optionSelected.'>'.$themeArray[$i].'</option>'.PHP_EOL;
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
<br><br>
|
||||
|
||||
<div style="display: inline-block; width: 95px">
|
||||
<?php echo $t['font size'];?><br>
|
||||
<input type="text" name="fontSize" id="fontSize" style="width: 44px" onkeydown="showButton()" onkeyup="changeFontSize()" value="<?php echo $ICEcoder["fontSize"];?>">
|
||||
</div><div style="display: inline-block">
|
||||
<?php echo $t['indent size'];?><br>
|
||||
<input type="text" name="indentSize" id="indentSize" style="width: 44px" onkeydown="showButton()" onkeyup="changeIndentSize()" value="<?php echo $ICEcoder["indentSize"];?>">
|
||||
</div>
|
||||
<br><br>
|
||||
|
||||
<div style="display: inline-block; width: 95px">
|
||||
<?php echo $t['match brackets'];?><br>
|
||||
<select onchange="showButton()" name="matchBrackets">
|
||||
<option value="true"<?php if($ICEcoder["matchBrackets"]) {echo " selected";};?>>yes</option>
|
||||
<option value="false"<?php if(!$ICEcoder["matchBrackets"]) {echo " selected";};?>>no</option>
|
||||
</select>
|
||||
</div><div style="display: inline-block">
|
||||
<?php echo $t['show trailing space'];?><br>
|
||||
<select onchange="showButton()" name="showTrailingSpace">
|
||||
<option value="true"<?php if($ICEcoder["showTrailingSpace"]) {echo " selected";};?>>yes</option>
|
||||
<option value="false"<?php if(!$ICEcoder["showTrailingSpace"]) {echo " selected";};?>>no</option>
|
||||
</select>
|
||||
</div>
|
||||
<br><br>
|
||||
|
||||
<input type="checkbox" onclick="showButton();showHideTabs()" name="visibleTabs" value="true"<?php if($ICEcoder["visibleTabs"]) {echo ' checked';};?>> <?php echo $t['visible tabs'];?>
|
||||
<br><br>
|
||||
|
||||
<div style="display: inline-block; width: 95px">
|
||||
<?php echo $t['line wrapping'];?><br>
|
||||
<select onchange="showButton()" name="lineWrapping">
|
||||
<option value="true"<?php if($ICEcoder["lineWrapping"]) {echo " selected";};?>>yes</option>
|
||||
<option value="false"<?php if(!$ICEcoder["lineWrapping"]) {echo " selected";};?>>no</option>
|
||||
</select>
|
||||
</div><div style="display: inline-block">
|
||||
<?php echo $t['line numbers'];?><br>
|
||||
<select onchange="changeLineNumbersToggle();showButton()" name="lineNumbers" id="lineNumbers">
|
||||
<option value="true"<?php if($ICEcoder["lineNumbers"]) {echo " selected";};?>>yes</option>
|
||||
<option value="false"<?php if(!$ICEcoder["lineNumbers"]) {echo " selected";};?>>no</option>
|
||||
</select>
|
||||
</div>
|
||||
<br><br>
|
||||
|
||||
<h2><?php echo $t['functionality'];?></h2><br>
|
||||
|
||||
<div style="display: inline-block; width: 95px">
|
||||
<?php echo $t['indent type'];?><br>
|
||||
<select onchange="showButton()" name="indentWithTabs">
|
||||
<option value="true"<?php if($ICEcoder["indentWithTabs"]) {echo " selected";};?>>tabs</option>
|
||||
<option value="false"<?php if(!$ICEcoder["indentWithTabs"]) {echo " selected";};?>>spaces</option>
|
||||
</select>
|
||||
<br><br>
|
||||
|
||||
<?php echo $t['auto indent'];?><br>
|
||||
<select onchange="showButton()" name="indentAuto">
|
||||
<option value="true"<?php if($ICEcoder["indentAuto"]) {echo " selected";};?>>yes</option>
|
||||
<option value="false"<?php if(!$ICEcoder["indentAuto"]) {echo " selected";};?>>no</option>
|
||||
</select>
|
||||
</div><div style="display: inline-block">
|
||||
<?php echo $t['auto close tags'];?><br>
|
||||
<select onchange="showButton()" name="autoCloseTags">
|
||||
<option value="true"<?php if($ICEcoder["autoCloseTags"]) {echo " selected";};?>>yes</option>
|
||||
<option value="false"<?php if(!$ICEcoder["autoCloseTags"]) {echo " selected";};?>>no</option>
|
||||
</select>
|
||||
<br><br>
|
||||
|
||||
<?php echo $t['auto close brackets'];?><br>
|
||||
<select onchange="showButton()" name="autoCloseBrackets">
|
||||
<option value="true"<?php if($ICEcoder["autoCloseBrackets"]) {echo " selected";};?>>yes</option>
|
||||
<option value="false"<?php if(!$ICEcoder["autoCloseBrackets"]) {echo " selected";};?>>no</option>
|
||||
</select>
|
||||
</div>
|
||||
<br><br>
|
||||
|
||||
</div>
|
||||
|
||||
<div style="position: relative; display: inline-block">
|
||||
<h2><?php echo $t['file manager'];?></h2>
|
||||
<?php echo $t['root'];?> <span class="info" title="<?php echo $t['Slash prefixed'];?>">[?]</span><br>
|
||||
<input type="text" name="root" style="width: 200px" onkeydown="document.settings.changedFileSettings.value='true';showButton()" value="<?php echo $ICEcoder["root"];?>">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="accountsSection" class="section" style="display: none">
|
||||
|
||||
<h2>password</h2><br>
|
||||
<?php echo $t['new password'];?> <span class="info" title="<?php echo $t['8 chars min'];?>">[?]</span><br>
|
||||
<input type="password" name="password" style="width: 320px" onkeydown="showButton()">
|
||||
<br><br>
|
||||
|
||||
<h2><?php echo $t['bug reporting'];?></h2>
|
||||
<?php echo $t['check in files'];?> <span class="info" title="<?php echo $t['Slash prefixed comma...'];?>">[?]</span><br>
|
||||
<input type="text" name="bugFilePaths" style="width: 120px" onkeydown="showButton()" value="<?php echo implode(", ",$ICEcoder["bugFilePaths"]);?>">
|
||||
<span style="display: inline-block; padding: 4px 5px 0 5px"><?php echo $t['every'];?></span>
|
||||
<input type="text" name="bugFileCheckTimer" style="width: 50px" onkeydown="showButton()" value="<?php echo $ICEcoder["bugFileCheckTimer"];?>">
|
||||
<span style="display: inline-block; padding: 4px 5px 0 5px"><?php echo $t['secs getting last'];?></span>
|
||||
<input type="text" name="bugFileMaxLines" style="width: 50px" onkeydown="showButton()" value="<?php echo $ICEcoder["bugFileMaxLines"];?>">
|
||||
<span style="display: inline-block; padding: 4px 5px 0 5px"><?php echo $t['lines'];?></span>
|
||||
<?php echo $t['confirm password'];?><br>
|
||||
<input type="password" name="passwordConfirm" style="width: 320px" onkeydown="showButton()">
|
||||
<br><br>
|
||||
|
||||
<div>
|
||||
<h2><?php echo $t['multi-user'];?> <span class="info" title="<?php echo $t['Make sure you...'];?>">[?]</span></h2>
|
||||
<h2><?php echo $t['multi-user'];?> <span class="info" title="<?php echo $t['Make sure you...'];?>">[?]</span></h2><br>
|
||||
<input type="checkbox" name="multiUser" value="true" onclick="showButton();changeEnableRegistrationStatus();"<?php if($ICEcoder["multiUser"]){echo ' checked';} ?>>Multi-User
|
||||
<?php
|
||||
echo '<input type="checkbox" name="enableRegistration" value="true"';
|
||||
@@ -239,19 +327,36 @@ function findSequence(goal) {
|
||||
}
|
||||
echo ' onclick="showButton()" id="enableRegistration"> '.$t['Registration'].' </input>';
|
||||
?>
|
||||
</div>
|
||||
<br>
|
||||
<br><br>
|
||||
|
||||
<div>
|
||||
<h2>github</h2>
|
||||
<h2>github</h2><br>
|
||||
<?php echo $t['auth token'];?> <span class="info" title="<?php echo $t['Required to get...'];?>">[?]</span> <a href="https://help.github.com/articles/creating-an-access-token-for-command-line-use" target="_blank" class="info">Personal Access Token</a> <a href="(http://developer.github.com/v3/oauth" target="_blank" class="info">Client/Secret Pair Token</a><br>
|
||||
<input type="text" name="githubAuthToken" style="width: 320px" onkeydown="showButton()" value="<?php echo $ICEcoder["githubAuthToken"];?>" autocomplete="off">
|
||||
</div>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div id="securitySection" class="section" style="display: none">
|
||||
<h2><?php echo $t['security'];?></h2><br>
|
||||
<?php echo $t['banned files/folders'];?> <span class="info" title="<?php echo $t['Comma delimited'];?>">[?]</span><br>
|
||||
<input type="text" onkeydown="document.settings.changedFileSettings.value='true';showButton()" name="bannedFiles" style="width: 660px" value="<?php echo implode(", ",$ICEcoder["bannedFiles"]); ?>">
|
||||
<br><br>
|
||||
|
||||
<?php echo $t['banned paths'];?> <span class="info" title="<?php echo $t['Slash prefixed comma...'];?>">[?]</span><br>
|
||||
<input type="text" onkeydown="document.settings.changedFileSettings.value='true';showButton()" name="bannedPaths" style="width: 660px" value="<?php echo implode(", ",$ICEcoder["bannedPaths"]); ?>">
|
||||
<br><br>
|
||||
|
||||
<input type="hidden" name="changedFileSettings" value="false">
|
||||
<?php echo $t['ip addresses'];?> <span class="info" title="<?php echo $t['Comma delimited'];?>">[?]</span><br>
|
||||
<input type="text" onkeydown="showButton()" name="allowedIPs" style="width: 660px" value="<?php echo implode(", ",$ICEcoder["allowedIPs"]); ?>">
|
||||
<br><br>
|
||||
|
||||
<?php echo $t['auto-logout after'];?> <span class="info" title="<?php echo $t['Set 0 to...'];?>">[?]</span><br>
|
||||
<input type="text" onkeydown="showButton()" name="autoLogoutMins" style="width: 100px" value="<?php echo $ICEcoder["autoLogoutMins"]; ?>"> <span style="display: inline-block; padding: 2px 5px"><?php echo $t['mins of inactivity...'];?></span>
|
||||
<br><br>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
|
||||
lineNumbers: true,
|
||||
lineNumbers: top.ICEcoder.lineNumbers,
|
||||
readOnly: "nocursor",
|
||||
indentUnit: top.ICEcoder.indentSize,
|
||||
tabSize: top.ICEcoder.indentSize,
|
||||
@@ -270,17 +375,30 @@ function changeIndentSize() {
|
||||
var indentSize = document.getElementById("indentSize").value;
|
||||
editor.setOption("indentUnit", indentSize);
|
||||
editor.setOption("tabSize", indentSize);
|
||||
editor.refresh();
|
||||
}
|
||||
|
||||
|
||||
function changeLineNumbersToggle() {
|
||||
var lineNumbersSelect = document.getElementById("lineNumbers");
|
||||
var lineNumbers = lineNumbersSelect.options[lineNumbersSelect.selectedIndex].innerHTML == "yes" ? true : false;
|
||||
editor.setOption("lineNumbers", lineNumbers);
|
||||
editor.refresh();
|
||||
}
|
||||
|
||||
function changeFontSize() {
|
||||
cMCSS = document.styleSheets[2];
|
||||
cMCSS.rules ? strCSS = 'rules' : strCSS = 'cssRules';
|
||||
cMCSS[strCSS][0].style['fontSize'] = document.getElementById("fontSize").value;
|
||||
editor.refresh();
|
||||
}
|
||||
|
||||
var changeEnableRegistrationStatus = function(){
|
||||
document.getElementById('enableRegistration').disabled=!document.getElementById('enableRegistration').disabled;
|
||||
}
|
||||
var changeBackupsDaysStatus = function(){
|
||||
document.getElementById('backupsDays').disabled=!document.getElementById('backupsDays').disabled;
|
||||
}
|
||||
var showButton = function() {
|
||||
document.getElementById('updateButton').style.opacity = 1;
|
||||
}
|
||||
@@ -303,12 +421,18 @@ var validatePasswords = function() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tabNames = ['general','style','accounts','security'];
|
||||
var switchTab = function(tab) {
|
||||
for (var i=0; i<tabNames.length; i++) {
|
||||
document.getElementById(tabNames[i]+'Tab').className = tabNames[i] == tab ? "tab tabActive" : "tab";
|
||||
document.getElementById(tabNames[i]+'Section').style.display = tabNames[i] == tab ? "block" : "none";
|
||||
}
|
||||
editor.refresh();
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class="update" id="updateButton" onClick="<?php echo $ICEcoder['demoMode'] ? "top.ICEcoder.message('Sorry, can\'t commit settings in demo mode')" : "validatePasswords()"; ?>">update</div>
|
||||
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="csrf" value="<?php echo $_SESSION["csrf"]; ?>">
|
||||
</form>
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
$newConfigSettingsFile = '<?php
|
||||
// ICEcoder system settings
|
||||
$ICEcoderSettings = array(
|
||||
"versionNo" => "5.1",
|
||||
"versionNo" => "6.0 beta",
|
||||
"codeMirrorDir" => "CodeMirror",
|
||||
"docRoot" => $_SERVER[\'DOCUMENT_ROOT\'], // Set absolute path of another location if needed
|
||||
"demoMode" => false,
|
||||
|
||||
@@ -5,7 +5,7 @@ $t = $text['settings-update'];
|
||||
|
||||
// Update this config file?
|
||||
if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset($_POST["theme"]) && $_POST["theme"]) {
|
||||
$settingsContents = file_get_contents($settingsFile,false,$context);
|
||||
$settingsContents = getData($settingsFile);
|
||||
// Replace our settings vars
|
||||
$repPosStart = strpos($settingsContents,'"root"');
|
||||
$repPosEnd = strpos($settingsContents,'"plugins"');
|
||||
@@ -19,6 +19,9 @@ if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset
|
||||
$ICEcoder["openLastFiles"] = isset($_POST['openLastFiles']) && $_POST['openLastFiles'] ? "true" : "false";
|
||||
$ICEcoder["updateDiffOnSave"] = isset($_POST['updateDiffOnSave']) && $_POST['updateDiffOnSave'] ? "true" : "false";
|
||||
$ICEcoder["languageUser"] = strClean($_POST['languageUser']);
|
||||
$ICEcoder["backupsKept"] = isset($_POST['backupsKept']) && $_POST['backupsKept'] ? "true" : "false";
|
||||
$ICEcoder["backupsDays"] = intval($_POST['backupsDays']);
|
||||
$ICEcoder["deleteToTmp"] = isset($_POST['deleteToTmp']) && $_POST['deleteToTmp'] ? "true" : "false";
|
||||
$ICEcoder["findFilesExclude"] = 'array("'.str_replace(',','","',str_replace(" ","",strClean($_POST['findFilesExclude']))).'")';
|
||||
$ICEcoder["codeAssist"] = isset($_POST['codeAssist']) && $_POST['codeAssist'] ? "true" : "false";
|
||||
$ICEcoder["visibleTabs"] = isset($_POST['visibleTabs']) && $_POST['visibleTabs'] ? "true" : "false";
|
||||
@@ -29,19 +32,25 @@ if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset
|
||||
$ICEcoder["bannedFiles"] = 'array("'.str_replace(',','","',str_replace(" ","",strClean($_POST['bannedFiles']))).'")';
|
||||
$ICEcoder["bannedPaths"] = 'array("'.str_replace(',','","',str_replace(" ","",strClean($_POST['bannedPaths']))).'")';
|
||||
$ICEcoder["allowedIPs"] = 'array("'.str_replace(',','","',str_replace(" ","",strClean($_POST['allowedIPs']))).'")';
|
||||
$ICEcoder["autoLogoutMins"] = intval($_POST['autoLogoutMins']);
|
||||
$ICEcoder["theme"] = strClean($_POST['theme']);
|
||||
$ICEcoder["fontSize"] = strClean($_POST['fontSize']);
|
||||
$ICEcoder["lineWrapping"] = strClean($_POST['lineWrapping']);
|
||||
$ICEcoder["lineNumbers"] = strClean($_POST['lineNumbers']);
|
||||
$ICEcoder["showTrailingSpace"] = strClean($_POST['showTrailingSpace']);
|
||||
$ICEcoder["matchBrackets"] = strClean($_POST['matchBrackets']);
|
||||
$ICEcoder["autoCloseTags"] = strClean($_POST['autoCloseTags']);
|
||||
$ICEcoder["autoCloseBrackets"] = strClean($_POST['autoCloseBrackets']);
|
||||
$ICEcoder["indentWithTabs"] = strClean($_POST['indentWithTabs']);
|
||||
$ICEcoder["indentAuto"] = strClean($_POST['indentAuto']);
|
||||
$ICEcoder["indentSize"] = intval($_POST['indentSize']);
|
||||
$ICEcoder["pluginPanelAligned"] = strClean($_POST['pluginPanelAligned']);
|
||||
$ICEcoder["bugFilePaths"] = 'array("'.str_replace(',','","',str_replace(" ","",strClean($_POST['bugFilePaths']))).'")';
|
||||
$ICEcoder["bugFileCheckTimer"] = intval($_POST['bugFileCheckTimer']);
|
||||
$ICEcoder["bugFileCheckTimer"] = intval($_POST['bugFileCheckTimer']) >= 0 ? intval($_POST['bugFileCheckTimer']) : 0;
|
||||
$ICEcoder["bugFileMaxLines"] = intval($_POST['bugFileMaxLines']);
|
||||
$ICEcoder["githubAuthToken"] = strClean($_POST['githubAuthToken']);
|
||||
|
||||
$settingsArray = array("root","checkUpdates","openLastFiles","updateDiffOnSave","languageUser","findFilesExclude","codeAssist","visibleTabs","lockedNav","tagWrapperCommand","autoComplete","password","bannedFiles","bannedPaths","allowedIPs","theme","fontSize","lineWrapping","indentWithTabs","indentAuto","indentSize","pluginPanelAligned","bugFilePaths","bugFileCheckTimer","bugFileMaxLines","githubAuthToken");
|
||||
$settingsArray = array("root","checkUpdates","openLastFiles","updateDiffOnSave","languageUser","backupsKept","backupsDays","deleteToTmp","findFilesExclude","codeAssist","visibleTabs","lockedNav","tagWrapperCommand","autoComplete","password","bannedFiles","bannedPaths","allowedIPs","autoLogoutMins","theme","fontSize","lineWrapping","lineNumbers","showTrailingSpace","matchBrackets","autoCloseTags","autoCloseBrackets","indentWithTabs","indentAuto","indentSize","pluginPanelAligned","bugFilePaths","bugFileCheckTimer","bugFileMaxLines","githubAuthToken");
|
||||
$settingsNew = "";
|
||||
for ($i=0;$i<count($settingsArray);$i++) {
|
||||
$settingsNew .= '"'.$settingsArray[$i].'" => ';
|
||||
@@ -76,7 +85,7 @@ if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset
|
||||
$refreshFM = $_POST['changedFileSettings']=="true" ? "true" : "false";
|
||||
|
||||
// Change multiUser and enableRegistration in config___settings.php
|
||||
$generalSettingsContents = file_get_contents($configSettings,false,$context);
|
||||
$generalSettingsContents = getData($configSettings);
|
||||
$isMultiUser = isset($_POST['multiUser']) && $_POST['multiUser'] ? "true" : "false";
|
||||
$generalSettingsContents = str_replace('"multiUser" => true,','"multiUser" => '.$isMultiUser.',',$generalSettingsContents);
|
||||
$generalSettingsContents = str_replace('"multiUser" => false,','"multiUser" => '.$isMultiUser.',',$generalSettingsContents);
|
||||
@@ -103,6 +112,6 @@ if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset
|
||||
|
||||
// With all that worked out, we can now hide the settings screen and apply the new settings
|
||||
$jsBugFilePaths = "['".str_replace(",","','",str_replace(" ","",strClean($_POST['bugFilePaths'])))."']";
|
||||
echo "<script>top.ICEcoder.settingsScreen('hide');top.ICEcoder.useNewSettings('".$themeURL."',".$ICEcoder["codeAssist"].",".$ICEcoder["lockedNav"].",'".$ICEcoder["tagWrapperCommand"]."','".$ICEcoder["autoComplete"]."',".$ICEcoder["visibleTabs"].",'".$ICEcoder["fontSize"]."',".$ICEcoder["lineWrapping"].",".$ICEcoder["indentWithTabs"].",".$ICEcoder["indentAuto"].",".$ICEcoder["indentSize"].",'".$ICEcoder["pluginPanelAligned"]."',".$jsBugFilePaths.",".$ICEcoder["bugFileCheckTimer"].",".$ICEcoder["bugFileMaxLines"].",'".$githubAuthTokenSet."',".$ICEcoder["updateDiffOnSave"].",".$refreshFM.");top.iceRoot = '".$ICEcoder["root"]."';</script>";
|
||||
echo "<script>top.ICEcoder.settingsScreen('hide');top.ICEcoder.useNewSettings('".$themeURL."',".$ICEcoder["codeAssist"].",".$ICEcoder["lockedNav"].",'".$ICEcoder["tagWrapperCommand"]."','".$ICEcoder["autoComplete"]."',".$ICEcoder["visibleTabs"].",'".$ICEcoder["fontSize"]."',".$ICEcoder["lineWrapping"].",".$ICEcoder["lineNumbers"].",".$ICEcoder["showTrailingSpace"].",".$ICEcoder["matchBrackets"].",".$ICEcoder["autoCloseTags"].",".$ICEcoder["autoCloseBrackets"].",".$ICEcoder["indentWithTabs"].",".$ICEcoder["indentAuto"].",".$ICEcoder["indentSize"].",'".$ICEcoder["pluginPanelAligned"]."',".$jsBugFilePaths.",".$ICEcoder["bugFileCheckTimer"].",".$ICEcoder["bugFileMaxLines"].",'".$githubAuthTokenSet."',".$ICEcoder["updateDiffOnSave"].",".$ICEcoder["autoLogoutMins"].",".$refreshFM.");top.iceRoot = '".$ICEcoder["root"]."';</script>";
|
||||
}
|
||||
?>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user