Compare commits
102 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
62c28202a0 | ||
|
|
33b47df99b | ||
|
|
58075d175d | ||
|
|
581cef9550 | ||
|
|
d393018cd3 | ||
|
|
67a2c86173 | ||
|
|
8918abde7e | ||
|
|
b1277ab4a8 | ||
|
|
b692360fb0 | ||
|
|
bbd96d39ab | ||
|
|
6fcb600fd9 | ||
|
|
0da9371c4d | ||
|
|
209fb3be48 | ||
|
|
2817e9c34b | ||
|
|
ffed16ef15 | ||
|
|
43cc344b8b | ||
|
|
0a4c4f14eb | ||
|
|
61a22c060e | ||
|
|
1e322fedcd | ||
|
|
0da7ca2e4d | ||
|
|
f134eca08b | ||
|
|
6c717e995a | ||
|
|
07f5a9b548 | ||
|
|
951637127b | ||
|
|
6aa2d0e533 | ||
|
|
82b6af34ca | ||
|
|
d91ea35dfe | ||
|
|
1e0ff0dfd6 | ||
|
|
7147373d86 | ||
|
|
d86326aca8 | ||
|
|
b37a723296 | ||
|
|
7af428572d | ||
|
|
0c2962ca15 | ||
|
|
fcc1af71ec | ||
|
|
77b7a88651 | ||
|
|
f6e508fbff | ||
|
|
1ef5f94953 | ||
|
|
9fbf1e7504 | ||
|
|
c67d93e869 | ||
|
|
57d96b0bf9 | ||
|
|
50d2dadea2 | ||
|
|
bf755abbf4 | ||
|
|
ebc2764aab | ||
|
|
2912e351f5 | ||
|
|
f0e47e07bc | ||
|
|
ee917776f0 | ||
|
|
fe2719a6e3 | ||
|
|
0765ab378b | ||
|
|
0c9db2c573 | ||
|
|
12a8f2e81c | ||
|
|
ace40e0c29 | ||
|
|
c9e163a2df | ||
|
|
93d717c1aa | ||
|
|
b3510dfb67 | ||
|
|
5c347829a2 | ||
|
|
89e34fb24e | ||
|
|
9160b5cc8f | ||
|
|
00b02af6e6 | ||
|
|
6701c18929 | ||
|
|
659befd66a | ||
|
|
424992a783 | ||
|
|
0ab6745704 | ||
|
|
927471e165 | ||
|
|
72cd067341 | ||
|
|
0128499d73 | ||
|
|
9c4a74c406 | ||
|
|
8e139c481c | ||
|
|
45ad87c2eb | ||
|
|
cee91cc2d3 | ||
|
|
f4e2f24f65 | ||
|
|
f0da80b886 | ||
|
|
cf11fb5c3d | ||
|
|
729b48566e | ||
|
|
4f97378655 | ||
|
|
1a848823c5 | ||
|
|
526edbaca7 | ||
|
|
fa98c842d0 | ||
|
|
c7a0a4a493 | ||
|
|
cfa3fd69e0 | ||
|
|
e3bc4db204 | ||
|
|
6589e819f4 | ||
|
|
eefaebace8 | ||
|
|
35887450ce | ||
|
|
0f74645173 | ||
|
|
3388e090bb | ||
|
|
1d50425de1 | ||
|
|
4b69c44559 | ||
|
|
c673beab9d | ||
|
|
ce5b63a91c | ||
|
|
660d44cd76 | ||
|
|
3922ffcafb | ||
|
|
6d84279d46 | ||
|
|
bfbac046db | ||
|
|
3d071d8687 | ||
|
|
330d668d07 | ||
|
|
d07b5c550c | ||
|
|
3fbbeb0c5d | ||
|
|
637a853141 | ||
|
|
28387df059 | ||
|
|
6765770dea | ||
|
|
43d22c40a8 | ||
|
|
438aa25cc1 |
4
.gitignore
vendored
@@ -1,4 +1,6 @@
|
|||||||
error-log.txt
|
error-log.txt
|
||||||
backups/*.zip
|
backups/*.zip
|
||||||
lib/config-*
|
lib/config-*
|
||||||
test/test-file1.txt
|
test/test-file1.txt
|
||||||
|
tmp/oldVersion
|
||||||
|
tmp/new-version*
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
Copyright (C) 2013 by Marijn Haverbeke <marijnh@gmail.com>
|
Copyright (C) 2013 by Marijn Haverbeke <marijnh@gmail.com> and others
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
@@ -17,7 +17,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
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
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
THE SOFTWARE.
|
THE SOFTWARE.
|
||||||
|
|
||||||
Please note that some subdirectories of the CodeMirror distribution
|
|
||||||
include their own LICENSE files, and are released under different
|
|
||||||
licences.
|
|
||||||
@@ -14,6 +14,7 @@
|
|||||||
padding: 2px 5px;
|
padding: 2px 5px;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
white-space: pre;
|
white-space: pre;
|
||||||
|
white-space: pre-wrap;
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
max-width: 600px;
|
max-width: 600px;
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
@@ -57,40 +58,16 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.CodeMirror-lint-marker-error, .CodeMirror-lint-message-error {
|
.CodeMirror-lint-marker-error, .CodeMirror-lint-message-error {
|
||||||
background-image: url("../../../images/error.png");
|
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAHlBMVEW7AAC7AACxAAC7AAC7AAAAAAC4AAC5AAD///+7AAAUdclpAAAABnRSTlMXnORSiwCK0ZKSAAAATUlEQVR42mWPOQ7AQAgDuQLx/z8csYRmPRIFIwRGnosRrpamvkKi0FTIiMASR3hhKW+hAN6/tIWhu9PDWiTGNEkTtIOucA5Oyr9ckPgAWm0GPBog6v4AAAAASUVORK5CYII=");
|
||||||
}
|
}
|
||||||
|
|
||||||
.CodeMirror-lint-marker-warning, .CodeMirror-lint-message-warning {
|
.CodeMirror-lint-marker-warning, .CodeMirror-lint-message-warning {
|
||||||
background-image: url("../../../images/warning.png");
|
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAANlBMVEX/uwDvrwD/uwD/uwD/uwD/uwD/uwD/uwD/uwD6twD/uwAAAADurwD2tQD7uAD+ugAAAAD/uwDhmeTRAAAADHRSTlMJ8mN1EYcbmiixgACm7WbuAAAAVklEQVR42n3PUQqAIBBFUU1LLc3u/jdbOJoW1P08DA9Gba8+YWJ6gNJoNYIBzAA2chBth5kLmG9YUoG0NHAUwFXwO9LuBQL1giCQb8gC9Oro2vp5rncCIY8L8uEx5ZkAAAAASUVORK5CYII=");
|
||||||
}
|
}
|
||||||
|
|
||||||
.CodeMirror-lint-marker-multiple {
|
.CodeMirror-lint-marker-multiple {
|
||||||
background-image: url("../../../images/multiple.png");
|
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAACVBMVEUAAAAAAAC/v7914kyHAAAAAXRSTlMAQObYZgAAACNJREFUeNo1ioEJAAAIwmz/H90iFFSGJgFMe3gaLZ0od+9/AQZ0ADosbYraAAAAAElFTkSuQmCC");
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-position: right bottom;
|
background-position: right bottom;
|
||||||
width: 100%; height: 100%;
|
width: 100%; height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Styles for the overview ruler
|
|
||||||
.annotationOverview {
|
|
||||||
cursor: pointer;
|
|
||||||
border-radius: 2px;
|
|
||||||
left: 2px;
|
|
||||||
width: 8px;
|
|
||||||
}
|
|
||||||
.annotationOverview.error {
|
|
||||||
background-color: lightcoral;
|
|
||||||
border: 1px solid darkred;
|
|
||||||
}
|
|
||||||
.annotationOverview.warning {
|
|
||||||
background-color: Gold;
|
|
||||||
border: 1px solid black;
|
|
||||||
}
|
|
||||||
|
|
||||||
.annotationHTML.overlay {
|
|
||||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAAXNSR0IArs4c6QAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJEAQvB2JVdrAAAAAdaVRYdENvbW1lbnQAAAAAAENyZWF0ZWQgd2l0aCBHSU1QZC5lBwAAAD1JREFUCNdtjkESADAEAzemf69f66HMqGlOIhYiFRFRtSQBWAY7mzx+EDTL6sSgb1jTk7Q87rxyqe37fXsAa78gLyZnRgEAAAAASUVORK5CYII=");
|
|
||||||
background-position: right bottom;
|
|
||||||
position: relative;
|
|
||||||
top: -16px;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
8
CodeMirror-3.20/lib/codemirror-compressed.js
Normal file
@@ -74,7 +74,6 @@
|
|||||||
.cm-s-default .cm-string {color: #a11;}
|
.cm-s-default .cm-string {color: #a11;}
|
||||||
.cm-s-default .cm-string-2 {color: #f50;}
|
.cm-s-default .cm-string-2 {color: #f50;}
|
||||||
.cm-s-default .cm-meta {color: #555;}
|
.cm-s-default .cm-meta {color: #555;}
|
||||||
.cm-s-default .cm-error {color: #f00;}
|
|
||||||
.cm-s-default .cm-qualifier {color: #555;}
|
.cm-s-default .cm-qualifier {color: #555;}
|
||||||
.cm-s-default .cm-builtin {color: #30a;}
|
.cm-s-default .cm-builtin {color: #30a;}
|
||||||
.cm-s-default .cm-bracket {color: #997;}
|
.cm-s-default .cm-bracket {color: #997;}
|
||||||
@@ -91,10 +90,12 @@
|
|||||||
.cm-em {font-style: italic;}
|
.cm-em {font-style: italic;}
|
||||||
.cm-link {text-decoration: underline;}
|
.cm-link {text-decoration: underline;}
|
||||||
|
|
||||||
|
.cm-s-default .cm-error {color: #f00;}
|
||||||
.cm-invalidchar {color: #f00;}
|
.cm-invalidchar {color: #f00;}
|
||||||
|
|
||||||
div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;}
|
div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;}
|
||||||
div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
|
div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
|
||||||
|
.CodeMirror-activeline-background {background: #e8f2ff;}
|
||||||
|
|
||||||
/* STOP */
|
/* STOP */
|
||||||
|
|
||||||
@@ -117,6 +118,8 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
outline: none; /* Prevent dragging from highlighting the element */
|
outline: none; /* Prevent dragging from highlighting the element */
|
||||||
position: relative;
|
position: relative;
|
||||||
|
-moz-box-sizing: content-box;
|
||||||
|
box-sizing: content-box;
|
||||||
}
|
}
|
||||||
.CodeMirror-sizer {
|
.CodeMirror-sizer {
|
||||||
position: relative;
|
position: relative;
|
||||||
@@ -155,6 +158,8 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
|
|||||||
.CodeMirror-gutter {
|
.CodeMirror-gutter {
|
||||||
white-space: normal;
|
white-space: normal;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
-moz-box-sizing: content-box;
|
||||||
|
box-sizing: content-box;
|
||||||
padding-bottom: 30px;
|
padding-bottom: 30px;
|
||||||
margin-bottom: -32px;
|
margin-bottom: -32px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@@ -214,8 +219,7 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
|
|||||||
overflow: auto;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.CodeMirror-widget {
|
.CodeMirror-widget {}
|
||||||
}
|
|
||||||
|
|
||||||
.CodeMirror-wrap .CodeMirror-scroll {
|
.CodeMirror-wrap .CodeMirror-scroll {
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
@@ -223,7 +227,8 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
|
|||||||
|
|
||||||
.CodeMirror-measure {
|
.CodeMirror-measure {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 100%; height: 0px;
|
width: 100%;
|
||||||
|
height: 0;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
}
|
}
|
||||||
@@ -25,9 +25,10 @@
|
|||||||
.cm-s-3024-day span.cm-variable {color: #01a252;}
|
.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-variable-2 {color: #01a0e4;}
|
||||||
.cm-s-3024-day span.cm-def {color: #e8bbd0;}
|
.cm-s-3024-day span.cm-def {color: #e8bbd0;}
|
||||||
.cm-s-3024-day span.cm-error {background: #db2d20; color: #5c5855;}
|
|
||||||
.cm-s-3024-day span.cm-bracket {color: #3a3432;}
|
.cm-s-3024-day span.cm-bracket {color: #3a3432;}
|
||||||
.cm-s-3024-day span.cm-tag {color: #db2d20;}
|
.cm-s-3024-day span.cm-tag {color: #db2d20;}
|
||||||
.cm-s-3024-day span.cm-link {color: #a16a94;}
|
.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: white !important;}
|
.cm-s-3024-day .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
|
||||||
@@ -25,9 +25,10 @@
|
|||||||
.cm-s-3024-night span.cm-variable {color: #01a252;}
|
.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-variable-2 {color: #01a0e4;}
|
||||||
.cm-s-3024-night span.cm-def {color: #e8bbd0;}
|
.cm-s-3024-night span.cm-def {color: #e8bbd0;}
|
||||||
.cm-s-3024-night span.cm-error {background: #db2d20; color: #807d7c;}
|
|
||||||
.cm-s-3024-night span.cm-bracket {color: #d6d5d4;}
|
.cm-s-3024-night span.cm-bracket {color: #d6d5d4;}
|
||||||
.cm-s-3024-night span.cm-tag {color: #db2d20;}
|
.cm-s-3024-night span.cm-tag {color: #db2d20;}
|
||||||
.cm-s-3024-night span.cm-link {color: #a16a94;}
|
.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-matchingbracket { text-decoration: underline; color: white !important;}
|
||||||
@@ -15,7 +15,6 @@
|
|||||||
.cm-s-ambiance .cm-string { color: #8f9d6a; }
|
.cm-s-ambiance .cm-string { color: #8f9d6a; }
|
||||||
.cm-s-ambiance .cm-string-2 { color: #9d937c; }
|
.cm-s-ambiance .cm-string-2 { color: #9d937c; }
|
||||||
.cm-s-ambiance .cm-meta { color: #D2A8A1; }
|
.cm-s-ambiance .cm-meta { color: #D2A8A1; }
|
||||||
.cm-s-ambiance .cm-error { color: #AF2018; }
|
|
||||||
.cm-s-ambiance .cm-qualifier { color: yellow; }
|
.cm-s-ambiance .cm-qualifier { color: yellow; }
|
||||||
.cm-s-ambiance .cm-builtin { color: #9999cc; }
|
.cm-s-ambiance .cm-builtin { color: #9999cc; }
|
||||||
.cm-s-ambiance .cm-bracket { color: #24C2C7; }
|
.cm-s-ambiance .cm-bracket { color: #24C2C7; }
|
||||||
@@ -26,6 +25,7 @@
|
|||||||
.cm-s-ambiance .cm-hr { color: pink; }
|
.cm-s-ambiance .cm-hr { color: pink; }
|
||||||
.cm-s-ambiance .cm-link { color: #F4C20B; }
|
.cm-s-ambiance .cm-link { color: #F4C20B; }
|
||||||
.cm-s-ambiance .cm-special { color: #FF9D00; }
|
.cm-s-ambiance .cm-special { color: #FF9D00; }
|
||||||
|
.cm-s-ambiance .cm-error { color: #AF2018; }
|
||||||
|
|
||||||
.cm-s-ambiance .CodeMirror-matchingbracket { color: #0f0; }
|
.cm-s-ambiance .CodeMirror-matchingbracket { color: #0f0; }
|
||||||
.cm-s-ambiance .CodeMirror-nonmatchingbracket { color: #f22; }
|
.cm-s-ambiance .CodeMirror-nonmatchingbracket { color: #f22; }
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
.cm-s-ambiance .CodeMirror-selected {
|
.cm-s-ambiance .CodeMirror-selected {
|
||||||
background: rgba(255, 255, 255, 0.15);
|
background: rgba(255, 255, 255, 0.15);
|
||||||
}
|
}
|
||||||
.cm-s-ambiance .CodeMirror-focused .CodeMirror-selected {
|
.cm-s-ambiance.CodeMirror-focused .CodeMirror-selected {
|
||||||
background: rgba(255, 255, 255, 0.10);
|
background: rgba(255, 255, 255, 0.10);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -65,7 +65,7 @@
|
|||||||
border-left: 1px solid #7991E8;
|
border-left: 1px solid #7991E8;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cm-s-ambiance .activeline {
|
.cm-s-ambiance .CodeMirror-activeline-background {
|
||||||
background: none repeat scroll 0% 0% rgba(255, 255, 255, 0.031);
|
background: none repeat scroll 0% 0% rgba(255, 255, 255, 0.031);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -25,9 +25,10 @@
|
|||||||
.cm-s-base16-dark span.cm-variable {color: #90a959;}
|
.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-variable-2 {color: #6a9fb5;}
|
||||||
.cm-s-base16-dark span.cm-def {color: #d28445;}
|
.cm-s-base16-dark span.cm-def {color: #d28445;}
|
||||||
.cm-s-base16-dark span.cm-error {background: #ac4142; color: #b0b0b0;}
|
|
||||||
.cm-s-base16-dark span.cm-bracket {color: #e0e0e0;}
|
.cm-s-base16-dark span.cm-bracket {color: #e0e0e0;}
|
||||||
.cm-s-base16-dark span.cm-tag {color: #ac4142;}
|
.cm-s-base16-dark span.cm-tag {color: #ac4142;}
|
||||||
.cm-s-base16-dark span.cm-link {color: #aa759f;}
|
.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: #2F2F2F !important;}
|
||||||
.cm-s-base16-dark .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
|
.cm-s-base16-dark .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
|
||||||
@@ -25,9 +25,10 @@
|
|||||||
.cm-s-base16-light span.cm-variable {color: #90a959;}
|
.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-variable-2 {color: #6a9fb5;}
|
||||||
.cm-s-base16-light span.cm-def {color: #d28445;}
|
.cm-s-base16-light span.cm-def {color: #d28445;}
|
||||||
.cm-s-base16-light span.cm-error {background: #ac4142; color: #505050;}
|
|
||||||
.cm-s-base16-light span.cm-bracket {color: #202020;}
|
.cm-s-base16-light span.cm-bracket {color: #202020;}
|
||||||
.cm-s-base16-light span.cm-tag {color: #ac4142;}
|
.cm-s-base16-light span.cm-tag {color: #ac4142;}
|
||||||
.cm-s-base16-light span.cm-link {color: #aa759f;}
|
.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-matchingbracket { text-decoration: underline; color: white !important;}
|
||||||
@@ -16,10 +16,13 @@
|
|||||||
.cm-s-blackboard .cm-string { color: #61CE3C; }
|
.cm-s-blackboard .cm-string { color: #61CE3C; }
|
||||||
.cm-s-blackboard .cm-string-2 { color: #61CE3C; }
|
.cm-s-blackboard .cm-string-2 { color: #61CE3C; }
|
||||||
.cm-s-blackboard .cm-meta { color: #D8FA3C; }
|
.cm-s-blackboard .cm-meta { color: #D8FA3C; }
|
||||||
.cm-s-blackboard .cm-error { background: #9D1E15; color: #F8F8F8; }
|
|
||||||
.cm-s-blackboard .cm-builtin { color: #8DA6CE; }
|
.cm-s-blackboard .cm-builtin { color: #8DA6CE; }
|
||||||
.cm-s-blackboard .cm-tag { color: #8DA6CE; }
|
.cm-s-blackboard .cm-tag { color: #8DA6CE; }
|
||||||
.cm-s-blackboard .cm-attribute { color: #8DA6CE; }
|
.cm-s-blackboard .cm-attribute { color: #8DA6CE; }
|
||||||
.cm-s-blackboard .cm-header { color: #FF6400; }
|
.cm-s-blackboard .cm-header { color: #FF6400; }
|
||||||
.cm-s-blackboard .cm-hr { color: #AEAEAE; }
|
.cm-s-blackboard .cm-hr { color: #AEAEAE; }
|
||||||
.cm-s-blackboard .cm-link { color: #8DA6CE; }
|
.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}
|
||||||
@@ -12,7 +12,10 @@
|
|||||||
.cm-s-cobalt span.cm-meta { color: #ff9d00; }
|
.cm-s-cobalt span.cm-meta { color: #ff9d00; }
|
||||||
.cm-s-cobalt span.cm-variable-2, .cm-s-cobalt span.cm-tag { color: #9effff; }
|
.cm-s-cobalt span.cm-variable-2, .cm-s-cobalt span.cm-tag { color: #9effff; }
|
||||||
.cm-s-cobalt span.cm-variable-3, .cm-s-cobalt span.cm-def { color: white; }
|
.cm-s-cobalt span.cm-variable-3, .cm-s-cobalt span.cm-def { color: white; }
|
||||||
.cm-s-cobalt span.cm-error { color: #9d1e15; }
|
|
||||||
.cm-s-cobalt span.cm-bracket { color: #d8d8d8; }
|
.cm-s-cobalt span.cm-bracket { color: #d8d8d8; }
|
||||||
.cm-s-cobalt span.cm-builtin, .cm-s-cobalt span.cm-special { color: #ff9e59; }
|
.cm-s-cobalt span.cm-builtin, .cm-s-cobalt span.cm-special { color: #ff9e59; }
|
||||||
.cm-s-cobalt span.cm-link { color: #845dc4; }
|
.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}
|
||||||
@@ -11,15 +11,13 @@
|
|||||||
.cm-s-eclipse span.cm-comment {color: #3F7F5F;}
|
.cm-s-eclipse span.cm-comment {color: #3F7F5F;}
|
||||||
.cm-s-eclipse span.cm-string {color: #2A00FF;}
|
.cm-s-eclipse span.cm-string {color: #2A00FF;}
|
||||||
.cm-s-eclipse span.cm-string-2 {color: #f50;}
|
.cm-s-eclipse span.cm-string-2 {color: #f50;}
|
||||||
.cm-s-eclipse span.cm-error {color: #f00;}
|
|
||||||
.cm-s-eclipse span.cm-qualifier {color: #555;}
|
.cm-s-eclipse span.cm-qualifier {color: #555;}
|
||||||
.cm-s-eclipse span.cm-builtin {color: #30a;}
|
.cm-s-eclipse span.cm-builtin {color: #30a;}
|
||||||
.cm-s-eclipse span.cm-bracket {color: #cc7;}
|
.cm-s-eclipse span.cm-bracket {color: #cc7;}
|
||||||
.cm-s-eclipse span.cm-tag {color: #170;}
|
.cm-s-eclipse span.cm-tag {color: #170;}
|
||||||
.cm-s-eclipse span.cm-attribute {color: #00c;}
|
.cm-s-eclipse span.cm-attribute {color: #00c;}
|
||||||
.cm-s-eclipse span.cm-link {color: #219;}
|
.cm-s-eclipse span.cm-link {color: #219;}
|
||||||
|
.cm-s-eclipse span.cm-error {color: #f00;}
|
||||||
|
|
||||||
.cm-s-eclipse .CodeMirror-matchingbracket {
|
.cm-s-eclipse .CodeMirror-activeline-background {background: #e8f2ff !important;}
|
||||||
outline:1px solid grey;
|
.cm-s-eclipse .CodeMirror-matchingbracket {outline:1px solid grey; color:black !important;}
|
||||||
color:black !important;
|
|
||||||
}
|
|
||||||
@@ -6,5 +6,8 @@
|
|||||||
.cm-s-elegant span.cm-qualifier {color: #555;}
|
.cm-s-elegant span.cm-qualifier {color: #555;}
|
||||||
.cm-s-elegant span.cm-keyword {color: #730;}
|
.cm-s-elegant span.cm-keyword {color: #730;}
|
||||||
.cm-s-elegant span.cm-builtin {color: #30a;}
|
.cm-s-elegant span.cm-builtin {color: #30a;}
|
||||||
.cm-s-elegant span.cm-error {background-color: #fdd;}
|
|
||||||
.cm-s-elegant span.cm-link {color: #762;}
|
.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;}
|
||||||
@@ -4,18 +4,27 @@
|
|||||||
.cm-s-erlang-dark .CodeMirror-linenumber { 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 !important; }
|
||||||
|
|
||||||
.cm-s-erlang-dark span.cm-atom { color: #845dc4; }
|
.cm-s-erlang-dark span.cm-atom { color: #f133f1; }
|
||||||
.cm-s-erlang-dark span.cm-attribute { color: #ff80e1; }
|
.cm-s-erlang-dark span.cm-attribute { color: #ff80e1; }
|
||||||
.cm-s-erlang-dark span.cm-bracket { color: #ff9d00; }
|
.cm-s-erlang-dark span.cm-bracket { color: #ff9d00; }
|
||||||
.cm-s-erlang-dark span.cm-builtin { color: #eaa; }
|
.cm-s-erlang-dark span.cm-builtin { color: #eaa; }
|
||||||
.cm-s-erlang-dark span.cm-comment { color: #77f; }
|
.cm-s-erlang-dark span.cm-comment { color: #77f; }
|
||||||
.cm-s-erlang-dark span.cm-def { color: #e7a; }
|
.cm-s-erlang-dark span.cm-def { color: #e7a; }
|
||||||
.cm-s-erlang-dark span.cm-error { color: #9d1e15; }
|
|
||||||
.cm-s-erlang-dark span.cm-keyword { color: #ffee80; }
|
.cm-s-erlang-dark span.cm-keyword { color: #ffee80; }
|
||||||
.cm-s-erlang-dark span.cm-meta { color: #50fefe; }
|
.cm-s-erlang-dark span.cm-meta { color: #50fefe; }
|
||||||
.cm-s-erlang-dark span.cm-number { color: #ffd0d0; }
|
.cm-s-erlang-dark span.cm-number { color: #ffd0d0; }
|
||||||
.cm-s-erlang-dark span.cm-operator { color: #d11; }
|
.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 { color: #3ad900; }
|
||||||
|
.cm-s-erlang-dark span.cm-string-2 { color: #ccc; }
|
||||||
.cm-s-erlang-dark span.cm-tag { color: #9effff; }
|
.cm-s-erlang-dark span.cm-tag { color: #9effff; }
|
||||||
.cm-s-erlang-dark span.cm-variable { color: #50fe50; }
|
.cm-s-erlang-dark span.cm-variable { color: #50fe50; }
|
||||||
.cm-s-erlang-dark span.cm-variable-2 { color: #e0e; }
|
.cm-s-erlang-dark span.cm-variable-2 { color: #e0e; }
|
||||||
|
.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;}
|
||||||
@@ -32,7 +32,6 @@ Ported to CodeMirror by Peter Kroon
|
|||||||
.cm-s-lesser-dark span.cm-string { color: #BCD279; }
|
.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-meta { color: #738C73; }
|
||||||
.cm-s-lesser-dark span.cm-error { color: #9d1e15; }
|
|
||||||
.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-builtin { color: #ff9e59; }
|
||||||
.cm-s-lesser-dark span.cm-bracket { color: #EBEFE7; }
|
.cm-s-lesser-dark span.cm-bracket { color: #EBEFE7; }
|
||||||
@@ -42,3 +41,7 @@ Ported to CodeMirror by Peter Kroon
|
|||||||
.cm-s-lesser-dark span.cm-quote {color: #090;}
|
.cm-s-lesser-dark span.cm-quote {color: #090;}
|
||||||
.cm-s-lesser-dark span.cm-hr {color: #999;}
|
.cm-s-lesser-dark span.cm-hr {color: #999;}
|
||||||
.cm-s-lesser-dark span.cm-link {color: #00c;}
|
.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;}
|
||||||
37
CodeMirror-3.20/theme/mbo.css
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
/* Based on mbonaci's Brackets mbo theme */
|
||||||
|
|
||||||
|
.cm-s-mbo.CodeMirror {background: #2c2c2c; color: #ffffe9;}
|
||||||
|
.cm-s-mbo div.CodeMirror-selected {background: #716C62 !important;}
|
||||||
|
.cm-s-mbo .CodeMirror-gutters {background: #4e4e4e; border-right: 0px;}
|
||||||
|
.cm-s-mbo .CodeMirror-linenumber {color: #dadada;}
|
||||||
|
.cm-s-mbo .CodeMirror-cursor {border-left: 1px solid #ffffec !important;}
|
||||||
|
|
||||||
|
.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-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 {background: #636363; color: #ffffec;}
|
||||||
|
|
||||||
|
.cm-s-mbo .CodeMirror-activeline-background {background: #494b41 !important;}
|
||||||
|
.cm-s-mbo .CodeMirror-matchingbracket {
|
||||||
|
text-decoration: underline;
|
||||||
|
color: #f5e107 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cm-s-mbo .CodeMirror-matchingtag {background: #4e4e4e;}
|
||||||
|
|
||||||
|
div.CodeMirror span.CodeMirror-searching {
|
||||||
|
background-color: none;
|
||||||
|
background: none;
|
||||||
|
box-shadow: 0 0 0 1px #ffffec;
|
||||||
|
}
|
||||||
@@ -5,7 +5,7 @@
|
|||||||
.cm-s-midnight.CodeMirror-focused span.CodeMirror-matchhighlight { background: #314D67 !important; }
|
.cm-s-midnight.CodeMirror-focused span.CodeMirror-matchhighlight { background: #314D67 !important; }
|
||||||
|
|
||||||
/*<!--activeline-->*/
|
/*<!--activeline-->*/
|
||||||
.cm-s-midnight .activeline {background: #253540 !important;}
|
.cm-s-midnight .CodeMirror-activeline-background {background: #253540 !important;}
|
||||||
|
|
||||||
.cm-s-midnight.CodeMirror {
|
.cm-s-midnight.CodeMirror {
|
||||||
background: #0F192A;
|
background: #0F192A;
|
||||||
@@ -32,10 +32,10 @@
|
|||||||
.cm-s-midnight span.cm-variable {color: #FFAA3E;}
|
.cm-s-midnight span.cm-variable {color: #FFAA3E;}
|
||||||
.cm-s-midnight span.cm-variable-2 {color: #FFAA3E;}
|
.cm-s-midnight span.cm-variable-2 {color: #FFAA3E;}
|
||||||
.cm-s-midnight span.cm-def {color: #4DD;}
|
.cm-s-midnight span.cm-def {color: #4DD;}
|
||||||
.cm-s-midnight span.cm-error {background: #F92672; color: #F8F8F0;}
|
|
||||||
.cm-s-midnight span.cm-bracket {color: #D1EDFF;}
|
.cm-s-midnight span.cm-bracket {color: #D1EDFF;}
|
||||||
.cm-s-midnight span.cm-tag {color: #008;}
|
.cm-s-midnight span.cm-tag {color: #449;}
|
||||||
.cm-s-midnight span.cm-link {color: #AE81FF;}
|
.cm-s-midnight span.cm-link {color: #AE81FF;}
|
||||||
|
.cm-s-midnight span.cm-error {background: #F92672; color: #F8F8F0;}
|
||||||
|
|
||||||
.cm-s-midnight .CodeMirror-matchingbracket {
|
.cm-s-midnight .CodeMirror-matchingbracket {
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
@@ -17,11 +17,12 @@
|
|||||||
.cm-s-monokai span.cm-variable {color: #a6e22e;}
|
.cm-s-monokai span.cm-variable {color: #a6e22e;}
|
||||||
.cm-s-monokai span.cm-variable-2 {color: #9effff;}
|
.cm-s-monokai span.cm-variable-2 {color: #9effff;}
|
||||||
.cm-s-monokai span.cm-def {color: #fd971f;}
|
.cm-s-monokai span.cm-def {color: #fd971f;}
|
||||||
.cm-s-monokai span.cm-error {background: #f92672; color: #f8f8f0;}
|
|
||||||
.cm-s-monokai span.cm-bracket {color: #f8f8f2;}
|
.cm-s-monokai span.cm-bracket {color: #f8f8f2;}
|
||||||
.cm-s-monokai span.cm-tag {color: #f92672;}
|
.cm-s-monokai span.cm-tag {color: #f92672;}
|
||||||
.cm-s-monokai span.cm-link {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-matchingbracket {
|
.cm-s-monokai .CodeMirror-matchingbracket {
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
color: white !important;
|
color: white !important;
|
||||||
@@ -7,3 +7,6 @@
|
|||||||
.cm-s-neat span.cm-number, .cm-s-neat span.cm-atom { color: #3a3; }
|
.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 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;}
|
||||||
@@ -14,8 +14,11 @@
|
|||||||
.cm-s-night span.cm-meta { color: #7678e2; }
|
.cm-s-night span.cm-meta { color: #7678e2; }
|
||||||
.cm-s-night span.cm-variable-2, .cm-s-night span.cm-tag { color: #99b2ff; }
|
.cm-s-night span.cm-variable-2, .cm-s-night span.cm-tag { color: #99b2ff; }
|
||||||
.cm-s-night span.cm-variable-3, .cm-s-night span.cm-def { color: white; }
|
.cm-s-night span.cm-variable-3, .cm-s-night span.cm-def { color: white; }
|
||||||
.cm-s-night span.cm-error { color: #9d1e15; }
|
|
||||||
.cm-s-night span.cm-bracket { color: #8da6ce; }
|
.cm-s-night span.cm-bracket { color: #8da6ce; }
|
||||||
.cm-s-night span.cm-comment { color: #6900a1; }
|
.cm-s-night span.cm-comment { color: #6900a1; }
|
||||||
.cm-s-night span.cm-builtin, .cm-s-night span.cm-special { color: #ff9e59; }
|
.cm-s-night span.cm-builtin, .cm-s-night span.cm-special { color: #ff9e59; }
|
||||||
.cm-s-night span.cm-link { color: #845dc4; }
|
.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;}
|
||||||
34
CodeMirror-3.20/theme/paraiso-dark.css
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
Name: Paraíso (Dark)
|
||||||
|
Author: Jan T. Sott
|
||||||
|
|
||||||
|
Color scheme by Jan T. Sott (https://github.com/idleberg/Paraiso-CodeMirror)
|
||||||
|
Inspired by the art of Rubens LP (http://www.rubenslp.com.br)
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
.cm-s-paraiso-dark.CodeMirror {background: #2f1e2e; color: #b9b6b0;}
|
||||||
|
.cm-s-paraiso-dark div.CodeMirror-selected {background: #41323f !important;}
|
||||||
|
.cm-s-paraiso-dark .CodeMirror-gutters {background: #2f1e2e; border-right: 0px;}
|
||||||
|
.cm-s-paraiso-dark .CodeMirror-linenumber {color: #776e71;}
|
||||||
|
.cm-s-paraiso-dark .CodeMirror-cursor {border-left: 1px solid #8d8687 !important;}
|
||||||
|
|
||||||
|
.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-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;}
|
||||||
34
CodeMirror-3.20/theme/paraiso-light.css
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
/*
|
||||||
|
|
||||||
|
Name: Paraíso (Light)
|
||||||
|
Author: Jan T. Sott
|
||||||
|
|
||||||
|
Color scheme by Jan T. Sott (https://github.com/idleberg/Paraiso-CodeMirror)
|
||||||
|
Inspired by the art of Rubens LP (http://www.rubenslp.com.br)
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
.cm-s-paraiso-light.CodeMirror {background: #e7e9db; color: #41323f;}
|
||||||
|
.cm-s-paraiso-light div.CodeMirror-selected {background: #b9b6b0 !important;}
|
||||||
|
.cm-s-paraiso-light .CodeMirror-gutters {background: #e7e9db; border-right: 0px;}
|
||||||
|
.cm-s-paraiso-light .CodeMirror-linenumber {color: #8d8687;}
|
||||||
|
.cm-s-paraiso-light .CodeMirror-cursor {border-left: 1px solid #776e71 !important;}
|
||||||
|
|
||||||
|
.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-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;}
|
||||||
@@ -14,8 +14,10 @@
|
|||||||
.cm-s-rubyblue span.cm-meta { color: #F0F; }
|
.cm-s-rubyblue span.cm-meta { color: #F0F; }
|
||||||
.cm-s-rubyblue span.cm-variable-2, .cm-s-rubyblue span.cm-tag { color: #7BD827; }
|
.cm-s-rubyblue span.cm-variable-2, .cm-s-rubyblue span.cm-tag { color: #7BD827; }
|
||||||
.cm-s-rubyblue span.cm-variable-3, .cm-s-rubyblue span.cm-def { color: white; }
|
.cm-s-rubyblue span.cm-variable-3, .cm-s-rubyblue span.cm-def { color: white; }
|
||||||
.cm-s-rubyblue span.cm-error { color: #AF2018; }
|
|
||||||
.cm-s-rubyblue span.cm-bracket { color: #F0F; }
|
.cm-s-rubyblue span.cm-bracket { color: #F0F; }
|
||||||
.cm-s-rubyblue span.cm-link { color: #F4C20B; }
|
.cm-s-rubyblue span.cm-link { color: #F4C20B; }
|
||||||
.cm-s-rubyblue span.CodeMirror-matchingbracket { color:#F0F !important; }
|
.cm-s-rubyblue span.CodeMirror-matchingbracket { color:#F0F !important; }
|
||||||
.cm-s-rubyblue span.cm-builtin, .cm-s-rubyblue span.cm-special { color: #FF9D00; }
|
.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;}
|
||||||
@@ -67,11 +67,6 @@ http://ethanschoonover.com/solarized/img/solarized-palette.png
|
|||||||
.cm-s-solarized .cm-string-2 { color: #b58900; }
|
.cm-s-solarized .cm-string-2 { color: #b58900; }
|
||||||
|
|
||||||
.cm-s-solarized .cm-meta { color: #859900; }
|
.cm-s-solarized .cm-meta { color: #859900; }
|
||||||
.cm-s-solarized .cm-error,
|
|
||||||
.cm-s-solarized .cm-invalidchar {
|
|
||||||
color: #586e75;
|
|
||||||
border-bottom: 1px dotted #dc322f;
|
|
||||||
}
|
|
||||||
.cm-s-solarized .cm-qualifier { color: #b58900; }
|
.cm-s-solarized .cm-qualifier { color: #b58900; }
|
||||||
.cm-s-solarized .cm-builtin { color: #d33682; }
|
.cm-s-solarized .cm-builtin { color: #d33682; }
|
||||||
.cm-s-solarized .cm-bracket { color: #cb4b16; }
|
.cm-s-solarized .cm-bracket { color: #cb4b16; }
|
||||||
@@ -98,37 +93,20 @@ http://ethanschoonover.com/solarized/img/solarized-palette.png
|
|||||||
content: "➤"; /*visualize tab character*/
|
content: "➤"; /*visualize tab character*/
|
||||||
color: #586e75;
|
color: #586e75;
|
||||||
}
|
}
|
||||||
|
.cm-s-solarized .cm-error,
|
||||||
.cm-s-solarized.cm-s-dark .CodeMirror-focused .CodeMirror-selected {
|
.cm-s-solarized .cm-invalidchar {
|
||||||
background: #386774;
|
color: #586e75;
|
||||||
color: inherit;
|
border-bottom: 1px dotted #dc322f;
|
||||||
}
|
|
||||||
|
|
||||||
.cm-s-solarized.cm-s-dark ::selection {
|
|
||||||
background: #386774;
|
|
||||||
color: inherit;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.cm-s-solarized.cm-s-dark .CodeMirror-selected {
|
.cm-s-solarized.cm-s-dark .CodeMirror-selected {
|
||||||
background: #586e75;
|
background: #073642;
|
||||||
}
|
|
||||||
|
|
||||||
.cm-s-solarized.cm-s-light .CodeMirror-focused .CodeMirror-selected {
|
|
||||||
background: #eee8d5;
|
|
||||||
color: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cm-s-solarized.cm-s-light ::selection {
|
|
||||||
background: #eee8d5;
|
|
||||||
color: inherit;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.cm-s-solarized.cm-s-light .CodeMirror-selected {
|
.cm-s-solarized.cm-s-light .CodeMirror-selected {
|
||||||
background: #93a1a1;
|
background: #eee8d5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Editor styling */
|
/* Editor styling */
|
||||||
|
|
||||||
|
|
||||||
@@ -186,16 +164,11 @@ http://ethanschoonover.com/solarized/img/solarized-palette.png
|
|||||||
Active line. Negative margin compensates left padding of the text in the
|
Active line. Negative margin compensates left padding of the text in the
|
||||||
view-port
|
view-port
|
||||||
*/
|
*/
|
||||||
.cm-s-solarized .activeline {
|
.cm-s-solarized.cm-s-dark .CodeMirror-activeline-background {
|
||||||
margin-left: -20px;
|
background: rgba(255, 255, 255, 0.10);
|
||||||
}
|
}
|
||||||
|
.cm-s-solarized.cm-s-light .CodeMirror-activeline-background {
|
||||||
.cm-s-solarized.cm-s-dark .activeline {
|
background: rgba(0, 0, 0, 0.10);
|
||||||
background: rgba(255, 255, 255, 0.05);
|
|
||||||
|
|
||||||
}
|
|
||||||
.cm-s-solarized.cm-s-light .activeline {
|
|
||||||
background: rgba(0, 0, 0, 0.05);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
26
CodeMirror-3.20/theme/the-matrix.css
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
.cm-s-the-matrix.CodeMirror { background: #000000; color: #00FF00; }
|
||||||
|
.cm-s-the-matrix span.CodeMirror-selected { background: #a8f !important; }
|
||||||
|
.cm-s-the-matrix .CodeMirror-gutters { background: #060; border-right: 2px solid #00FF00; }
|
||||||
|
.cm-s-the-matrix .CodeMirror-linenumber { color: #FFFFFF; }
|
||||||
|
.cm-s-the-matrix .CodeMirror-cursor { border-left: 1px solid #00FF00 !important; }
|
||||||
|
|
||||||
|
.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;}
|
||||||
@@ -25,9 +25,10 @@
|
|||||||
.cm-s-tomorrow-night-eighties span.cm-variable {color: #99cc99;}
|
.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-variable-2 {color: #6699cc;}
|
||||||
.cm-s-tomorrow-night-eighties span.cm-def {color: #f99157;}
|
.cm-s-tomorrow-night-eighties span.cm-def {color: #f99157;}
|
||||||
.cm-s-tomorrow-night-eighties span.cm-error {background: #f2777a; color: #6A6A6A;}
|
|
||||||
.cm-s-tomorrow-night-eighties span.cm-bracket {color: #CCCCCC;}
|
.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-tag {color: #f2777a;}
|
||||||
.cm-s-tomorrow-night-eighties span.cm-link {color: #a16a94;}
|
.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-matchingbracket { text-decoration: underline; color: white !important;}
|
||||||
@@ -16,11 +16,13 @@
|
|||||||
.cm-s-twilight .cm-string { color:#8f9d6a; font-style:italic; } /**/
|
.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-meta { background-color:#141414; color:#f7f7f7; } /*?*/
|
||||||
.cm-s-twilight .cm-error { border-bottom: 1px solid red; }
|
|
||||||
.cm-s-twilight .cm-builtin { color: #cda869; } /*?*/
|
.cm-s-twilight .cm-builtin { color: #cda869; } /*?*/
|
||||||
.cm-s-twilight .cm-tag { color: #997643; } /**/
|
.cm-s-twilight .cm-tag { color: #997643; } /**/
|
||||||
.cm-s-twilight .cm-attribute { color: #d6bb6d; } /*?*/
|
.cm-s-twilight .cm-attribute { color: #d6bb6d; } /*?*/
|
||||||
.cm-s-twilight .cm-header { color: #FF6400; }
|
.cm-s-twilight .cm-header { color: #FF6400; }
|
||||||
.cm-s-twilight .cm-hr { color: #AEAEAE; }
|
.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;}
|
||||||
@@ -18,10 +18,13 @@
|
|||||||
.cm-s-vibrant-ink .cm-string { color: #A5C25C }
|
.cm-s-vibrant-ink .cm-string { color: #A5C25C }
|
||||||
.cm-s-vibrant-ink .cm-string-2 { color: red }
|
.cm-s-vibrant-ink .cm-string-2 { color: red }
|
||||||
.cm-s-vibrant-ink .cm-meta { color: #D8FA3C; }
|
.cm-s-vibrant-ink .cm-meta { color: #D8FA3C; }
|
||||||
.cm-s-vibrant-ink .cm-error { border-bottom: 1px solid red; }
|
|
||||||
.cm-s-vibrant-ink .cm-builtin { color: #8DA6CE; }
|
.cm-s-vibrant-ink .cm-builtin { color: #8DA6CE; }
|
||||||
.cm-s-vibrant-ink .cm-tag { color: #8DA6CE; }
|
.cm-s-vibrant-ink .cm-tag { color: #8DA6CE; }
|
||||||
.cm-s-vibrant-ink .cm-attribute { color: #8DA6CE; }
|
.cm-s-vibrant-ink .cm-attribute { color: #8DA6CE; }
|
||||||
.cm-s-vibrant-ink .cm-header { color: #FF6400; }
|
.cm-s-vibrant-ink .cm-header { color: #FF6400; }
|
||||||
.cm-s-vibrant-ink .cm-hr { color: #AEAEAE; }
|
.cm-s-vibrant-ink .cm-hr { color: #AEAEAE; }
|
||||||
.cm-s-vibrant-ink .cm-link { color: blue; }
|
.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;}
|
||||||
@@ -21,7 +21,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|||||||
THE SOFTWARE.
|
THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
.cm-s-xq-dark.CodeMirror { background: #0a001f; color: #f8f8f8; }
|
.cm-s-xq-dark.CodeMirror { background: #0a001f; color: #f8f8f8; }
|
||||||
.cm-s-xq-dark span.CodeMirror-selected { background: #a8f !important; }
|
.cm-s-xq-dark .CodeMirror-selected { background: #27007A !important; }
|
||||||
.cm-s-xq-dark .CodeMirror-gutters { background: #0a001f; border-right: 1px solid #aaa; }
|
.cm-s-xq-dark .CodeMirror-gutters { background: #0a001f; border-right: 1px solid #aaa; }
|
||||||
.cm-s-xq-dark .CodeMirror-linenumber { 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 !important; }
|
||||||
@@ -38,9 +38,12 @@ THE SOFTWARE.
|
|||||||
.cm-s-xq-dark span.cm-comment {color: gray;}
|
.cm-s-xq-dark span.cm-comment {color: gray;}
|
||||||
.cm-s-xq-dark span.cm-string {color: #9FEE00;}
|
.cm-s-xq-dark span.cm-string {color: #9FEE00;}
|
||||||
.cm-s-xq-dark span.cm-meta {color: yellow;}
|
.cm-s-xq-dark span.cm-meta {color: yellow;}
|
||||||
.cm-s-xq-dark span.cm-error {color: #f00;}
|
|
||||||
.cm-s-xq-dark span.cm-qualifier {color: #FFF700;}
|
.cm-s-xq-dark span.cm-qualifier {color: #FFF700;}
|
||||||
.cm-s-xq-dark span.cm-builtin {color: #30a;}
|
.cm-s-xq-dark span.cm-builtin {color: #30a;}
|
||||||
.cm-s-xq-dark span.cm-bracket {color: #cc7;}
|
.cm-s-xq-dark span.cm-bracket {color: #cc7;}
|
||||||
.cm-s-xq-dark span.cm-tag {color: #FFBD40;}
|
.cm-s-xq-dark span.cm-tag {color: #FFBD40;}
|
||||||
.cm-s-xq-dark span.cm-attribute {color: #FFF700;}
|
.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;}
|
||||||
@@ -32,12 +32,12 @@ THE SOFTWARE.
|
|||||||
.cm-s-xq-light span.cm-comment {color: #0080FF; font-style: italic;}
|
.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-string {color: red;}
|
||||||
.cm-s-xq-light span.cm-meta {color: yellow;}
|
.cm-s-xq-light span.cm-meta {color: yellow;}
|
||||||
.cm-s-xq-light span.cm-error {color: #f00;}
|
|
||||||
.cm-s-xq-light span.cm-qualifier {color: grey}
|
.cm-s-xq-light span.cm-qualifier {color: grey}
|
||||||
.cm-s-xq-light span.cm-builtin {color: #7EA656;}
|
.cm-s-xq-light span.cm-builtin {color: #7EA656;}
|
||||||
.cm-s-xq-light span.cm-bracket {color: #cc7;}
|
.cm-s-xq-light span.cm-bracket {color: #cc7;}
|
||||||
.cm-s-xq-light span.cm-tag {color: #3F7F7F;}
|
.cm-s-xq-light span.cm-tag {color: #3F7F7F;}
|
||||||
.cm-s-xq-light span.cm-attribute {color: #7F007F;}
|
.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-activeline-background {background: #e8f2ff !important;}
|
||||||
.cm-s-xq-light .CodeMirror-matchingbracket {border:1px solid grey;color:black !important;background:yellow;}
|
.cm-s-xq-light .CodeMirror-matchingbracket {outline:1px solid grey;color:black !important;background:yellow;}
|
||||||
@@ -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.
|
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="http://icecoder.net/images/icecoder-v3-1-browser-code-editor.png" alt="ICEcoder web IDE">
|
<img src="http://icecoder.net/images/icecoder-v3-4-browser-code-editor.png" alt="ICEcoder web IDE">
|
||||||
|
|
||||||
###Requirements
|
###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).
|
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).
|
||||||
@@ -13,13 +13,14 @@ You can run ICEcoder either online or locally, on Linux, Windows or Mac based pl
|
|||||||
####Step 1: Clone the repo
|
####Step 1: Clone the repo
|
||||||
|
|
||||||
```
|
```
|
||||||
$ git clone git@github:mattpass/ICEcoder
|
$ git clone git://github.com/mattpass/ICEcoder.git
|
||||||
```
|
```
|
||||||
|
|
||||||
####Step 2: Place in your document root (online or local)
|
####Step 2: Place in your document root (online or local)
|
||||||
```
|
```
|
||||||
Put in a new sub-dir URL such as yourdomain.com/_coder or localhost/_coder
|
Put in a new sub-dir URL such as yourdomain.com/_coder or localhost/_coder
|
||||||
Set write permissions (757 or 775 depending on your system) on the 'backups', 'lib', 'test' and 'tmp' folders
|
Set write permissions (757 or 775 depending on your system) on the 'backups', 'lib', 'test' and 'tmp' folders
|
||||||
|
(Note: A small number of hosts give internal server error here, if you get this, try 755 instead)
|
||||||
```
|
```
|
||||||
|
|
||||||
####Step 3: Start coding
|
####Step 3: Start coding
|
||||||
@@ -34,4 +35,4 @@ It's fully open source and MIT licensed. I'm happy for you to take it, make it y
|
|||||||
|
|
||||||
Plenty of comments included in the code to assist with understanding, customising etc.
|
Plenty of comments included in the code to assist with understanding, customising etc.
|
||||||
|
|
||||||
Comments, improvements & feedback welcomed!
|
Comments, improvements & feedback welcomed!
|
||||||
|
|||||||
87
editor.php
@@ -1,7 +1,7 @@
|
|||||||
<?php include("lib/settings.php");?>
|
<?php include("lib/settings.php");?>
|
||||||
<!DOCTYPE html>
|
<!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()}">
|
<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')}">
|
||||||
<head>
|
<head>
|
||||||
<title>ICEcoder v <?php echo $ICEcoder["versionNo"];?> editor</title>
|
<title>ICEcoder v <?php echo $ICEcoder["versionNo"];?> editor</title>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
codemirror-compressed.js
|
codemirror-compressed.js
|
||||||
incls: codemirror
|
incls: codemirror
|
||||||
modes: clike, coffeescript, css, htmlmixed, javascript, less, markdown, php, python, ruby, sql & xml
|
modes: clike, coffeescript, css, htmlmixed, javascript, less, markdown, php, python, ruby, sql & xml
|
||||||
addon: brace-fold, closetag, html-hint, javascript-hint, javascript-lint, lint, match-highlighter, searchcursor, show-hint, trailingspace, xml-fold
|
addon: brace-fold, closetag, css-hint, html-hint, javascript-hint, javascript-lint, lint, match-highlighter, searchcursor, show-hint, sql-hint, trailingspace, xml-fold, xml-hint
|
||||||
//-->
|
//-->
|
||||||
<script src="<?php echo $ICEcoder["codeMirrorDir"]; ?>/lib/codemirror-compressed.js"></script>
|
<script src="<?php echo $ICEcoder["codeMirrorDir"]; ?>/lib/codemirror-compressed.js"></script>
|
||||||
<script src="jshint/jshint-2.1.4.min.js"></script>
|
<script src="jshint/jshint-2.1.4.min.js"></script>
|
||||||
@@ -36,7 +36,7 @@ $activeLineBG = array_search($ICEcoder["theme"],array("3024-day","base16-light",
|
|||||||
.cm-s-activeLine {background: <?php echo $activeLineBG;?> !important}
|
.cm-s-activeLine {background: <?php echo $activeLineBG;?> !important}
|
||||||
.cm-matchhighlight, .CodeMirror-focused .cm-matchhighlight {color: #fff !important; background: #06c !important}
|
.cm-matchhighlight, .CodeMirror-focused .cm-matchhighlight {color: #fff !important; background: #06c !important}
|
||||||
/* Make sure this next one remains the 5th item, updated with JS */
|
/* Make sure this next one remains the 5th item, updated with JS */
|
||||||
.cm-tab:after {position: relative; display: inline-block; width: 0; left: -1.4em; overflow: visible; color: #aaa; content: "<?php if($ICEcoder["visibleTabs"]) {echo '\\21e5';};?>";}
|
.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.2)}
|
||||||
.cm-trailingspace {
|
.cm-trailingspace {
|
||||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAACCAYAAAB/qH1jAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QUXCToH00Y1UgAAACFJREFUCNdjPMDBUc/AwNDAAAFMTAwMDA0OP34wQgX/AQBYgwYEx4f9lQAAAABJRU5ErkJggg==);
|
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAACCAYAAAB/qH1jAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QUXCToH00Y1UgAAACFJREFUCNdjPMDBUc/AwNDAAAFMTAwMDA0OP34wQgX/AQBYgwYEx4f9lQAAAABJRU5ErkJggg==);
|
||||||
background-position: bottom left;
|
background-position: bottom left;
|
||||||
@@ -65,7 +65,7 @@ h2 {color: rgba(0,198,255,0.7)}
|
|||||||
<div style="display: none; margin: 32px 43px 0 43px; padding: 10px; width: 500px; font-family: arial; font-size: 10px; color: #ddd; background: #333" id="dataMessage"></div>
|
<div style="display: none; margin: 32px 43px 0 43px; padding: 10px; width: 500px; font-family: arial; font-size: 10px; color: #ddd; background: #333" id="dataMessage"></div>
|
||||||
|
|
||||||
<div style="margin: 20px 43px 32px 43px; font-family: arial; font-size: 10px; color: #ddd">
|
<div style="margin: 20px 43px 32px 43px; font-family: arial; font-size: 10px; color: #ddd">
|
||||||
<div style="float: left; margin-right: 50px">
|
<div style="float: left; width: 300px; margin-right: 50px">
|
||||||
<h2>server</h2>
|
<h2>server</h2>
|
||||||
<span class="heading">Server name, OS & IP:</span><br>
|
<span class="heading">Server name, OS & IP:</span><br>
|
||||||
<?php echo $_SERVER['SERVER_NAME']."   ".$_SERVER['SERVER_SOFTWARE']."   ".$_SERVER['SERVER_ADDR'];?><br><br>
|
<?php echo $_SERVER['SERVER_NAME']."   ".$_SERVER['SERVER_SOFTWARE']."   ".$_SERVER['SERVER_ADDR'];?><br><br>
|
||||||
@@ -76,7 +76,12 @@ h2 {color: rgba(0,198,255,0.7)}
|
|||||||
<span class="heading">PHP version:</span><br>
|
<span class="heading">PHP version:</span><br>
|
||||||
<?php echo phpversion();?><br><br>
|
<?php echo phpversion();?><br><br>
|
||||||
<span class="heading">Date & time:</span><br>
|
<span class="heading">Date & time:</span><br>
|
||||||
<span id="serverDT"></span><br><br><br>
|
<span id="serverDT"></span><br><br>
|
||||||
|
<h2>your device</h2>
|
||||||
|
<span class="heading">Browser:</span><br>
|
||||||
|
<?php echo $_SERVER['HTTP_USER_AGENT'];?><br><br>
|
||||||
|
<span class="heading">Your IP:</span><br>
|
||||||
|
<?php echo $_SERVER['REMOTE_ADDR'];?><br><br>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div style="float: left">
|
<div style="float: left">
|
||||||
@@ -103,13 +108,7 @@ h2 {color: rgba(0,198,255,0.7)}
|
|||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div style="clear: both">
|
<div style="clear: both"></div>
|
||||||
<h2>your device</h2>
|
|
||||||
<span class="heading">Browser:</span><br>
|
|
||||||
<?php echo $_SERVER['HTTP_USER_AGENT'];?><br><br>
|
|
||||||
<span class="heading">Your IP:</span><br>
|
|
||||||
<?php echo $_SERVER['REMOTE_ADDR'];?>
|
|
||||||
</div>
|
|
||||||
<script>
|
<script>
|
||||||
var nDT=<?php echo time()*1000;?>;
|
var nDT=<?php echo time()*1000;?>;
|
||||||
setInterval(function(){
|
setInterval(function(){
|
||||||
@@ -126,21 +125,19 @@ h2 {color: rgba(0,198,255,0.7)}
|
|||||||
</script>
|
</script>
|
||||||
<?php if(is_dir('test') && !$ICEcoder['demoMode']) {?>
|
<?php if(is_dir('test') && !$ICEcoder['demoMode']) {?>
|
||||||
<div style="float: left; margin-right: 50px">
|
<div style="float: left; margin-right: 50px">
|
||||||
<br><br>
|
|
||||||
<h2>test suite</h2>
|
<h2>test suite</h2>
|
||||||
<span class="heading">Run unit tests:</span><br>
|
<span class="heading">Run unit tests:</span><br>
|
||||||
<a href="javascript:top.ICEcoder.filesFrame.contentWindow.frames['testControl'].location.href = 'test'" style="color: #fff">Run unit tests</a><div id="unitTestResults"></div>
|
<a nohref onclick="top.ICEcoder.filesFrame.contentWindow.frames['testControl'].location.href = 'test'" style="color: #fff; cursor: pointer">Run unit tests</a><div id="unitTestResults"></div>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
;};
|
;};
|
||||||
if($ICEcoder['devMode']) {?>
|
?>
|
||||||
<div style="float: left">
|
<div style="float: left">
|
||||||
<br><br>
|
<h2>dev mode <?php echo $ICEcoder['devMode'] ? "on" : "off";?></h2>
|
||||||
<h2>dev mode on</h2>
|
|
||||||
<span class="heading">Status:</span><br>
|
<span class="heading">Status:</span><br>
|
||||||
Using ice-coder.js
|
Using <?php echo $ICEcoder['devMode'] ? "ice-coder.js" : "ice-coder.min.js";?> <a title="You can switch dev mode on/off
|
||||||
|
in lib/config__settings.php" style="cursor: pointer">[?]</a>
|
||||||
</div>
|
</div>
|
||||||
<?php ;};?>
|
|
||||||
<div style="clear: both"></div>
|
<div style="clear: both"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -152,10 +149,11 @@ CodeMirror.keyMap.ICEcoder = {
|
|||||||
fallthrough: ["default"]
|
fallthrough: ["default"]
|
||||||
};
|
};
|
||||||
CodeMirror.commands.autocomplete = function(cm) {
|
CodeMirror.commands.autocomplete = function(cm) {
|
||||||
CodeMirror.showHint(cm, top.ICEcoder.caretLocType=="JavaScript"
|
var langType = top.ICEcoder.caretLocType;
|
||||||
? CodeMirror.hint.javascript
|
if (["JavaScript","CoffeeScript","SQL","CSS","HTML","XML","Content"].indexOf(langType)>-1) {
|
||||||
: CodeMirror.hint.html
|
if (langType=="XML"||langType=="Content") {langType="HTML"};
|
||||||
);
|
CodeMirror.showHint(cm,CodeMirror.hint[langType.toLowerCase()]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function createNewCMInstance(num) {
|
function createNewCMInstance(num) {
|
||||||
@@ -176,12 +174,18 @@ function createNewCMInstance(num) {
|
|||||||
lintWith: <?php if ($ICEcoder['codeAssist']) {echo 'fileName && fileName.indexOf(".js")>-1 ? CodeMirror.javascriptValidator : ';};?>false,
|
lintWith: <?php if ($ICEcoder['codeAssist']) {echo 'fileName && fileName.indexOf(".js")>-1 ? CodeMirror.javascriptValidator : ';};?>false,
|
||||||
keyMap: "ICEcoder",
|
keyMap: "ICEcoder",
|
||||||
onKeyEvent: function(thisCM, e) {
|
onKeyEvent: function(thisCM, e) {
|
||||||
top.ICEcoder.redoChangedContent(e);
|
if (e.type=="keyup") {
|
||||||
top.ICEcoder.findReplace(top.document.getElementById('find').value,true,false);
|
if ("undefined" != typeof top.doFind) {
|
||||||
top.ICEcoder.getCaretPosition();
|
clearInterval(top.doFind);
|
||||||
top.ICEcoder.updateCharDisplay();
|
}
|
||||||
top.ICEcoder.updateByteDisplay();
|
top.doFind = setTimeout(function() {
|
||||||
tok = thisCM.getTokenAt(thisCM.getCursor());
|
top.ICEcoder.findReplace(top.document.getElementById('find').value,true,false);
|
||||||
|
},500);
|
||||||
|
top.ICEcoder.getCaretPosition();
|
||||||
|
top.ICEcoder.updateCharDisplay();
|
||||||
|
top.ICEcoder.updateByteDisplay();
|
||||||
|
tok = thisCM.getTokenAt(thisCM.getCursor());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -196,13 +200,23 @@ function createNewCMInstance(num) {
|
|||||||
if (top.ICEcoder.caretLocType=="CSS") {
|
if (top.ICEcoder.caretLocType=="CSS") {
|
||||||
top.ICEcoder.cssColorPreview();
|
top.ICEcoder.cssColorPreview();
|
||||||
}
|
}
|
||||||
|
if (top.ICEcoder.prevLine != window['cM'+num].getCursor().line &&
|
||||||
|
window['cM'+num].getLine(top.ICEcoder.prevLine) &&
|
||||||
|
window['cM'+num].getLine(top.ICEcoder.prevLine).length > 0 &&
|
||||||
|
window['cM'+num].getLine(top.ICEcoder.prevLine).replace(/\s/g, '').length == 0) {
|
||||||
|
window['cM'+num].setLine(top.ICEcoder.prevLine,"");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
window['cM'+num].on("beforeSelectionChange", function(thisCM, changeObj) {
|
||||||
|
top.ICEcoder.prevLine = window['cM'+num].getCursor().line;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
window['cM'+num].on("change", function(thisCM, changeObj) {
|
window['cM'+num].on("change", function(thisCM, changeObj) {
|
||||||
// If we're not loading the file, it's a change, so update tab
|
// If we're not loading the file, it's a change, so update tab
|
||||||
if (!top.ICEcoder.loadingFile) {
|
if (!top.ICEcoder.loadingFile) {
|
||||||
top.ICEcoder.changedContent[top.ICEcoder.selectedTab-1] = thisCM.historySize().undo > 0 ? 1 : 0;
|
|
||||||
top.ICEcoder.redoTabHighlight(top.ICEcoder.selectedTab);
|
top.ICEcoder.redoTabHighlight(top.ICEcoder.selectedTab);
|
||||||
}
|
}
|
||||||
top.ICEcoder.getCaretPosition();
|
top.ICEcoder.getCaretPosition();
|
||||||
@@ -280,12 +294,25 @@ function createNewCMInstance(num) {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
window['cM'+num].on("inputRead", function(thisCM) {
|
||||||
|
if (top.ICEcoder.autoComplete == "keypress" && top.ICEcoder.codeAssist) {
|
||||||
|
clearTimeout(debounce);
|
||||||
|
if (!thisCM.state.completionActive) {
|
||||||
|
debounce = setTimeout(function() {
|
||||||
|
CodeMirror.commands.autocomplete(window['cM'+num]);
|
||||||
|
},200);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
// Now create the active line for this CodeMirror object
|
// Now create the active line for this CodeMirror object
|
||||||
top.ICEcoder['cMActiveLine'+num] = window['cM'+num].addLineClass(0, "background", "cm-s-activeLine");
|
top.ICEcoder['cMActiveLine'+num] = window['cM'+num].addLineClass(0, "background", "cm-s-activeLine");
|
||||||
};
|
};
|
||||||
|
|
||||||
var codeFoldTag = CodeMirror.newFoldFunction(CodeMirror.tagRangeFinder,null,"+","-",false);
|
var codeFoldTag = CodeMirror.newFoldFunction(CodeMirror.tagRangeFinder,null,"+","-",false);
|
||||||
var codeFoldBrace = CodeMirror.newFoldFunction(CodeMirror.braceRangeFinder,null,"+","-",false);
|
var codeFoldBrace = CodeMirror.newFoldFunction(CodeMirror.braceRangeFinder,null,"+","-",false);
|
||||||
|
var debounce;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div style="position: absolute; display: none; width: 5px; height: 100%; top: 0; right: 0; background: rgba(255,255,255,0.1); overflow: hidden; z-index: 2" id="resultsBar"></div>
|
<div style="position: absolute; display: none; width: 5px; height: 100%; top: 0; right: 0; background: rgba(255,255,255,0.1); overflow: hidden; z-index: 2" id="resultsBar"></div>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?php include("lib/settings.php");?>
|
<?php include("lib/settings.php");?>
|
||||||
<!DOCTYPE html>
|
<!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,'files');top.ICEcoder.canResizeFilesW()}" onContextMenu="top.ICEcoder.rightClickedFile=top.ICEcoder.thisFileFolderLink; return top.ICEcoder.showMenu(event)" onClick="top.ICEcoder.selectFileFolder(event)">
|
<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,'files');top.ICEcoder.canResizeFilesW()}" onDrop="if(top.ICEcoder) {top.ICEcoder.getMouseXY(event,'files')}" onContextMenu="top.ICEcoder.rightClickedFile=top.ICEcoder.thisFileFolderLink; return top.ICEcoder.showMenu(event)" onClick="top.ICEcoder.selectFileFolder(event)" onDragStart="top.ICEcoder.selectFileFolder(event);" onDragOver="event.preventDefault();event.stopPropagation()">
|
||||||
<head>
|
<head>
|
||||||
<title>ICEcoder v <?php echo $ICEcoder["versionNo"];?> file manager</title>
|
<title>ICEcoder v <?php echo $ICEcoder["versionNo"];?> file manager</title>
|
||||||
<meta name="robots" content="noindex, nofollow">
|
<meta name="robots" content="noindex, nofollow">
|
||||||
@@ -12,6 +12,7 @@
|
|||||||
|
|
||||||
<body onDblClick="top.ICEcoder.openFile()" onKeyDown="return top.ICEcoder.interceptKeys('files', event);" onKeyUp="top.ICEcoder.resetKeys(event);">
|
<body onDblClick="top.ICEcoder.openFile()" onKeyDown="return top.ICEcoder.interceptKeys('files', event);" onKeyUp="top.ICEcoder.resetKeys(event);">
|
||||||
|
|
||||||
|
<div title="Lock" onClick="top.ICEcoder.lockUnlockNav()" id="fmLock" class="lock"></div>
|
||||||
<div title="Refresh" onClick="top.ICEcoder.refreshFileManager()" class="refresh"></div>
|
<div title="Refresh" onClick="top.ICEcoder.refreshFileManager()" class="refresh"></div>
|
||||||
|
|
||||||
<ul class="fileManager">
|
<ul class="fileManager">
|
||||||
@@ -26,7 +27,7 @@ include("lib/get-branch.php");
|
|||||||
<iframe name="testControl" style="display: none"></iframe>
|
<iframe name="testControl" style="display: none"></iframe>
|
||||||
|
|
||||||
<iframe name="processControl" style="display: none"></iframe>
|
<iframe name="processControl" style="display: none"></iframe>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
BIN
images/checkbox.gif
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 2.5 KiB |
BIN
images/error.png
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 6.4 KiB |
BIN
images/file-manager-iconsFLAT.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 972 B |
|
Before Width: | Height: | Size: 990 B After Width: | Height: | Size: 999 B |
BIN
images/nav-close-all.gif
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
images/select-arrow.gif
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
images/terminal.png
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
91
index.php
@@ -26,7 +26,7 @@ if ($ICEcoder["checkUpdates"]) {
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!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="event.wheelDelta > 0 ? top.ICEcoder.nextTab() : top.ICEcoder.previousTab()">
|
<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()) {event.wheelDelta > 0 ? top.ICEcoder.nextTab() : top.ICEcoder.previousTab();}">
|
||||||
<head>
|
<head>
|
||||||
<title>ICEcoder v <?php echo $ICEcoder["versionNo"];?></title>
|
<title>ICEcoder v <?php echo $ICEcoder["versionNo"];?></title>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
@@ -37,8 +37,10 @@ if ($ICEcoder["checkUpdates"]) {
|
|||||||
iceRoot = "<?php echo $ICEcoder['root']; ?>";
|
iceRoot = "<?php echo $ICEcoder['root']; ?>";
|
||||||
|
|
||||||
window.onbeforeunload = function() {
|
window.onbeforeunload = function() {
|
||||||
if (top.ICEcoder.changedContent.indexOf(1)>-1) {
|
for(var i=1;i<=ICEcoder.savedPoints.length;i++) {
|
||||||
return "You have some unsaved changes.";
|
if (ICEcoder.savedPoints[i-1]!=top.ICEcoder.getcMInstance(ICEcoder.cMInstances[i-1]).changeGeneration()) {
|
||||||
|
return "You have some unsaved changes.";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -74,6 +76,8 @@ window.onbeforeunload = function() {
|
|||||||
echo $ICEcoder["demoMode"] ? 'true' : 'false';
|
echo $ICEcoder["demoMode"] ? 'true' : 'false';
|
||||||
echo ';top.ICEcoder.tagWrapperCommand = ';
|
echo ';top.ICEcoder.tagWrapperCommand = ';
|
||||||
echo "'".$ICEcoder["tagWrapperCommand"]."'";
|
echo "'".$ICEcoder["tagWrapperCommand"]."'";
|
||||||
|
echo ';top.ICEcoder.autoComplete = ';
|
||||||
|
echo "'".$ICEcoder["autoComplete"]."'";
|
||||||
?>;ICEcoder.init()<?php echo $updateMsg.$onLoadExtras;?>;top.ICEcoder.filesFrame.contentWindow.frames['processControl'].location.href = 'processes/on-load.php';" onResize="ICEcoder.setLayout()" onKeyDown="return ICEcoder.interceptKeys('coder',event);" onKeyUp="parent.ICEcoder.resetKeys(event);">
|
?>;ICEcoder.init()<?php echo $updateMsg.$onLoadExtras;?>;top.ICEcoder.filesFrame.contentWindow.frames['processControl'].location.href = 'processes/on-load.php';" onResize="ICEcoder.setLayout()" onKeyDown="return ICEcoder.interceptKeys('coder',event);" onKeyUp="parent.ICEcoder.resetKeys(event);">
|
||||||
|
|
||||||
<div id="blackMask" class="blackMask" onClick="if (!ICEcoder.overPopup) {ICEcoder.showHide('hide',this)}" onContextMenu="return false">
|
<div id="blackMask" class="blackMask" onClick="if (!ICEcoder.overPopup) {ICEcoder.showHide('hide',this)}" onContextMenu="return false">
|
||||||
@@ -85,13 +89,21 @@ window.onbeforeunload = function() {
|
|||||||
<div id="loadingMask" class="blackMask" style="visibility: visible" onContextMenu="return false">
|
<div id="loadingMask" class="blackMask" style="visibility: visible" onContextMenu="return false">
|
||||||
<div class="popupVCenter">
|
<div class="popupVCenter">
|
||||||
<div class="popup">
|
<div class="popup">
|
||||||
<div class="circleOutside"></div>
|
<div class="spinner"></div>
|
||||||
<div class="circleInside"></div>
|
working...
|
||||||
working...
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div id="plugins" class="plugins" onMouseOver="top.ICEcoder.showHidePlugins('show')" onMouseOut="top.ICEcoder.showHidePlugins('hide')" onClick="top.ICEcoder.showHidePlugins('hide')">
|
||||||
|
<div style="padding: 15px">
|
||||||
|
<a nohref onClick="top.ICEcoder.showColorPicker(top.document.getElementById('color') ? top.document.getElementById('color').value : '#123456')" title="Farbtastic
|
||||||
|
Color picker"><img src="images/color-picker.png" style="cursor: pointer" alt="Color Picker"></a><br><br>
|
||||||
|
<a nohref onClick="top.ICEcoder.openTerminal()" title="Terminal"><img src="images/terminal.png" style="cursor: pointer" alt="Terminal"></a><br><br>
|
||||||
|
<?php echo $pluginsDisplay; ?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div id="fileMenu" class="fileMenu" onMouseOver="ICEcoder.changeFilesW('expand')" onMouseOut="ICEcoder.changeFilesW('contract');top.ICEcoder.hideFileMenu()" style="opacity: 0" onContextMenu="return false">
|
<div id="fileMenu" class="fileMenu" onMouseOver="ICEcoder.changeFilesW('expand')" onMouseOut="ICEcoder.changeFilesW('contract');top.ICEcoder.hideFileMenu()" style="opacity: 0" onContextMenu="return false">
|
||||||
<span id="folderMenuItems">
|
<span id="folderMenuItems">
|
||||||
<a href="javascript:top.ICEcoder.newFile()" onMouseOver="ICEcoder.showFileMenu()">New File</a>
|
<a href="javascript:top.ICEcoder.newFile()" onMouseOver="ICEcoder.showFileMenu()">New File</a>
|
||||||
@@ -115,23 +127,17 @@ window.onbeforeunload = function() {
|
|||||||
<span id="singleFileMenuItems">
|
<span id="singleFileMenuItems">
|
||||||
<a href="javascript:top.ICEcoder.renameFile(top.ICEcoder.rightClickedFile)" onMouseOver="ICEcoder.showFileMenu()">Rename</a>
|
<a href="javascript:top.ICEcoder.renameFile(top.ICEcoder.rightClickedFile)" onMouseOver="ICEcoder.showFileMenu()">Rename</a>
|
||||||
<div onMouseOver="ICEcoder.showFileMenu()" style="padding: 2px 0"><hr></div>
|
<div onMouseOver="ICEcoder.showFileMenu()" style="padding: 2px 0"><hr></div>
|
||||||
<a href="javascript:window.open(top.ICEcoder.rightClickedFile.replace(/\|/g,'/'))" onMouseOver="ICEcoder.showFileMenu()">View Webpage</a>
|
<a nohref onClick="window.open(iceRoot + top.ICEcoder.rightClickedFile.replace(/\|/g,'/'))" onMouseOver="ICEcoder.showFileMenu()" style="cursor: pointer">View Webpage</a>
|
||||||
</span>
|
</span>
|
||||||
<div onMouseOver="ICEcoder.showFileMenu()" style="padding: 2px 0"><hr></div>
|
<div onMouseOver="ICEcoder.showFileMenu()" style="padding: 2px 0"><hr></div>
|
||||||
<a href="javascript:top.ICEcoder.zipIt(top.ICEcoder.rightClickedFile)" onMouseOver="ICEcoder.showFileMenu()">Zip It!</a>
|
<a href="javascript:top.ICEcoder.zipIt(top.ICEcoder.rightClickedFile)" onMouseOver="ICEcoder.showFileMenu()">Zip It!</a>
|
||||||
|
<a href="javascript:top.ICEcoder.downloadFile(top.ICEcoder.rightClickedFile)" onMouseOver="ICEcoder.showFileMenu()">Download</a>
|
||||||
<div onMouseOver="ICEcoder.showFileMenu()" style="padding: 2px 0"><hr></div>
|
<div onMouseOver="ICEcoder.showFileMenu()" style="padding: 2px 0"><hr></div>
|
||||||
<a href="javascript:top.ICEcoder.propertiesScreen(top.ICEcoder.rightClickedFile)" onMouseOver="ICEcoder.showFileMenu()">Properties</a>
|
<a href="javascript:top.ICEcoder.propertiesScreen(top.ICEcoder.rightClickedFile)" onMouseOver="ICEcoder.showFileMenu()">Properties</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="header" class="header" onContextMenu="return false">
|
<div id="header" class="header" onContextMenu="return false">
|
||||||
<div class="tools">
|
<div class="logout"><a href="javascript:top:ICEcoder.logout()">logout</a> :</div>
|
||||||
<a nohref onClick="top.ICEcoder.showColorPicker(top.document.getElementById('color') ? top.document.getElementById('color').value : '#123456')" title="Farbtastic
|
|
||||||
Color picker"><img src="images/color-picker.png" style="margin-top: 3px; cursor: pointer" alt="Color Picker"></a>
|
|
||||||
</div>
|
|
||||||
<div class="plugins" id="pluginsContainer">
|
|
||||||
<?php echo $pluginsDisplay; ?>
|
|
||||||
</div>
|
|
||||||
<div class="version"><a href="javascript:top:ICEcoder.logout()">logout</a> : v <?php echo $ICEcoder["versionNo"];?></div>
|
|
||||||
<img src="images/help.gif" class="helpIcon" alt="Help" title="Help" onClick="ICEcoder.helpScreen()">
|
<img src="images/help.gif" class="helpIcon" alt="Help" title="Help" onClick="ICEcoder.helpScreen()">
|
||||||
<img src="images/settings.gif" class="settingsIcon" alt="Settings" title="Settings" onClick="ICEcoder.settingsScreen()">
|
<img src="images/settings.gif" class="settingsIcon" alt="Settings" title="Settings" onClick="ICEcoder.settingsScreen()">
|
||||||
<img src="images/full-screen.gif" id="screenMode" class="screenModeIcon" alt="Toggle Fullscreen" title="Toggle Fullscreen" onClick="top.ICEcoder.fullScreenSwitcher()">
|
<img src="images/full-screen.gif" id="screenMode" class="screenModeIcon" alt="Toggle Fullscreen" title="Toggle Fullscreen" onClick="top.ICEcoder.fullScreenSwitcher()">
|
||||||
@@ -146,11 +152,8 @@ Color picker"><img src="images/color-picker.png" style="margin-top: 3px; cursor:
|
|||||||
<div title="Open (<?php echo $isMac ? "Cmd" : "Ctrl";?> + o)" onClick="ICEcoder.fMIcon('open')" id="fMOpen" class="open"></div>
|
<div title="Open (<?php echo $isMac ? "Cmd" : "Ctrl";?> + o)" onClick="ICEcoder.fMIcon('open')" id="fMOpen" class="open"></div>
|
||||||
<div title="New File" onClick="if(this.style.opacity==1) {ICEcoder.fMIcon('newFile')}" id="fMNewFile" class="newFile"></div>
|
<div title="New File" onClick="if(this.style.opacity==1) {ICEcoder.fMIcon('newFile')}" id="fMNewFile" class="newFile"></div>
|
||||||
<div title="New Folder" onClick="if(this.style.opacity==1) {ICEcoder.fMIcon('newFolder')}" id="fMNewFolder" class="newFolder"></div>
|
<div title="New Folder" onClick="if(this.style.opacity==1) {ICEcoder.fMIcon('newFolder')}" id="fMNewFolder" class="newFolder"></div>
|
||||||
<div title="Delete" onClick="ICEcoder.fMIcon('delete')" id="fMDelete" class="delete"></div>
|
|
||||||
<div title="Rename" onClick="ICEcoder.fMIcon('rename')" id="fMRename" class="rename"></div>
|
<div title="Rename" onClick="ICEcoder.fMIcon('rename')" id="fMRename" class="rename"></div>
|
||||||
<div title="View" onClick="ICEcoder.fMIcon('view')" id="fMView" class="view"></div>
|
<div title="Delete" onClick="ICEcoder.fMIcon('delete')" id="fMDelete" class="delete"></div>
|
||||||
|
|
||||||
<div title="Lock" onClick="ICEcoder.lockUnlockNav()" id="fmLock" class="lock"></div>
|
|
||||||
</div>
|
</div>
|
||||||
</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}"></iframe>
|
||||||
@@ -159,7 +162,7 @@ Color picker"><img src="images/color-picker.png" style="margin-top: 3px; cursor:
|
|||||||
|
|
||||||
<div id="editor" class="editor">
|
<div id="editor" class="editor">
|
||||||
<div id="tabsBar" class="tabsBar" onContextMenu="return false">
|
<div id="tabsBar" class="tabsBar" onContextMenu="return false">
|
||||||
<a nohref onClick="top.ICEcoder.closeAllTabs()"><img src="images/nav-close.gif" class="closeAllTabs" title="Close all tabs"></a>
|
<a nohref onClick="top.ICEcoder.closeAllTabs()"><img src="images/nav-close-all.gif" class="closeAllTabs" title="Close all tabs"></a>
|
||||||
<a nohref onClick="top.ICEcoder.alphaTabs()"><img src="images/nav-alpha.png" class="alphaTabs" title="Alphabetize tabs"></a>
|
<a nohref onClick="top.ICEcoder.alphaTabs()"><img src="images/nav-alpha.png" class="alphaTabs" title="Alphabetize tabs"></a>
|
||||||
<?php
|
<?php
|
||||||
for ($i=1;$i<=100;$i++) {
|
for ($i=1;$i<=100;$i++) {
|
||||||
@@ -173,42 +176,48 @@ Color picker"><img src="images/color-picker.png" style="margin-top: 3px; cursor:
|
|||||||
<div class="findText">Find</div>
|
<div class="findText">Find</div>
|
||||||
<input type="text" name="find" value="" id="find" class="textbox find" onKeyUp="ICEcoder.findReplace(top.document.getElementById('find').value,true,false)">
|
<input type="text" name="find" value="" id="find" class="textbox find" onKeyUp="ICEcoder.findReplace(top.document.getElementById('find').value,true,false)">
|
||||||
|
|
||||||
<select name="connector" onChange="ICEcoder.findReplaceOptions()">
|
<div class="selectWrapper" style="width: 41px">
|
||||||
<option>in</option>
|
<select name="connector" onChange="ICEcoder.findReplaceOptions()" style="width: 40px; margin-top: 4px">
|
||||||
<option>and</option>
|
<option>in</option>
|
||||||
</select>
|
<option>and</option>
|
||||||
<div class="replaceText" id="rText" style="display: none">
|
|
||||||
<select name="replaceAction" class="replaceAction">
|
|
||||||
<option>replace</option>
|
|
||||||
<option>replace all</option>
|
|
||||||
</select>
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="replaceText" id="rText" style="display: none">
|
||||||
|
<div class="selectWrapper" style="width: 75px; overflow: visible">
|
||||||
|
<select name="replaceAction" style="width: 72px; margin-top: -2px">
|
||||||
|
<option>replace</option>
|
||||||
|
<option>replace all</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
with
|
with
|
||||||
</div>
|
</div>
|
||||||
<input type="text" name="replace" value="" id="replace" class="textbox replace" style="display: none">
|
<input type="text" name="replace" value="" id="replace" class="textbox replace" style="display: none">
|
||||||
<div class="targetText" id="rTarget" style="display: none">in</div>
|
<div class="targetText" id="rTarget" style="display: none">in</div>
|
||||||
<select name="target" onChange="ICEcoder.updateResultsDisplay(this.value=='this document' ? 'show' : 'hide')">
|
<div class="selectWrapper" style="width: 104px">
|
||||||
<option>this document</option>
|
<select name="target" onChange="ICEcoder.updateResultsDisplay(this.value=='this document' ? 'show' : 'hide')" style="width: 101px; margin-top: 4px; margin-left: 2px">
|
||||||
<option>open documents</option>
|
<option>this document</option>
|
||||||
<option>all files</option>
|
<option>open documents</option>
|
||||||
<option>all filenames</option>
|
<option>all files</option>
|
||||||
</select>
|
<option>all filenames</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
<input type="submit" name="submit" value=">>" class="submit">
|
<input type="submit" name="submit" value=">>" class="submit">
|
||||||
<div class="results" id="results"></div>
|
<div class="results" id="results"></div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
<form action="#" onSubmit="return ICEcoder.goToLine()">
|
<form onSubmit="return ICEcoder.goToLine()">
|
||||||
<div class="codeAssist" title="Turn on/off JS Hint & CSS color previews"><input type="checkbox" name="codeAssist" id="codeAssist" <?php if ($ICEcoder['codeAssist']) {echo 'checked ';};?>onClick="top.ICEcoder.codeAssistToggle()">Code Assist</div>
|
<div class="codeAssist" title="Turn on/off JS Hint & CSS color previews">
|
||||||
<div class="goLine">Go to Line<input type="text" name="goToLine" value="" id="goToLineNo" class="textbox goToLine">
|
<input type="checkbox" name="codeAssist" id="codeAssist" class="codeAssistCheckbox" <?php if ($ICEcoder['codeAssist']) {echo 'checked ';};?>>
|
||||||
|
<span class="codeAssistDisplay" id="codeAssistDisplay" style="background-position: <?php echo $ICEcoder['codeAssist'] ? "0" : "-16";?> 0" onClick="top.ICEcoder.codeAssistToggle()"></span> Code Assist
|
||||||
|
</div>
|
||||||
|
<div class="goLine">Go to Line <input type="text" name="goToLine" value="" id="goToLineNo" class="textbox goToLine">
|
||||||
|
<div class="view" title="View" onClick="top.ICEcoder.openPreviewWindow()" id="fMView"></div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<iframe name="contentFrame" id="content" src="editor.php" class="code"></iframe>
|
<iframe name="contentFrame" id="content" src="editor.php" class="code"></iframe>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="footer" id="footer" onContextMenu="return false">
|
<div class="footer" id="footer" onContextMenu="return false">
|
||||||
<div class="system" id="system">
|
|
||||||
<div onClick="top.ICEcoder.openPreviewWindow()" class="preview" title="Preview Window"></div>
|
|
||||||
<div onClick="top.ICEcoder.openTerminal()" class="terminal" title="Terminal"></div>
|
|
||||||
</div>
|
|
||||||
<div class="nesting" id="nestValid"></div>
|
<div class="nesting" id="nestValid"></div>
|
||||||
<div class="nestDisplay" id="nestDisplay"></div>
|
<div class="nestDisplay" id="nestDisplay"></div>
|
||||||
<div class="byteDisplay" id="byteDisplay" style="display: none" onClick="top.ICEcoder.showDisplay('char')"></div>
|
<div class="byteDisplay" id="byteDisplay" style="display: none" onClick="top.ICEcoder.showDisplay('char')"></div>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
// ICEcoder system settings
|
// ICEcoder system settings
|
||||||
$ICEcoderSettings = array(
|
$ICEcoderSettings = array(
|
||||||
"versionNo" => "3.1",
|
"versionNo" => "3.4",
|
||||||
"codeMirrorDir" => "CodeMirror-3.15",
|
"codeMirrorDir" => "CodeMirror-3.20",
|
||||||
"docRoot" => $_SERVER['DOCUMENT_ROOT'],
|
"docRoot" => $_SERVER['DOCUMENT_ROOT'],
|
||||||
"demoMode" => false,
|
"demoMode" => false,
|
||||||
"devMode" => false,
|
"devMode" => false,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
$ICEcoderUserSettings = array(
|
$ICEcoderUserSettings = array(
|
||||||
"versionNo" => "3.1",
|
"versionNo" => "3.4",
|
||||||
"root" => "",
|
"root" => "",
|
||||||
"checkUpdates" => true,
|
"checkUpdates" => true,
|
||||||
"openLastFiles" => true,
|
"openLastFiles" => true,
|
||||||
@@ -9,20 +9,17 @@ $ICEcoderUserSettings = array(
|
|||||||
"visibleTabs" => false,
|
"visibleTabs" => false,
|
||||||
"lockedNav" => true,
|
"lockedNav" => true,
|
||||||
"tagWrapperCommand" => "ctrl+alt",
|
"tagWrapperCommand" => "ctrl+alt",
|
||||||
|
"autoComplete" => "ctrl+space",
|
||||||
"password" => "",
|
"password" => "",
|
||||||
"bannedFiles" => array("_coder","ICEcoder"),
|
"bannedFiles" => array("_coder","ICEcoder"),
|
||||||
"bannedPaths" => array("/var/www/.git","/var/www/sites/all/modules","/var/www/sites/default/files"),
|
"bannedPaths" => array("/var/www/.git","/var/www/sites/all/modules","/var/www/sites/default/files"),
|
||||||
"allowedIPs" => array("*"),
|
"allowedIPs" => array("*"),
|
||||||
"plugins" => array(
|
"plugins" => array(
|
||||||
array("Adminer\\nMySQL database manager","plugins/adminer/icon.png","margin-top: 3px","plugins/adminer/adminer-3.7.1-mysql-en.php","_blank",""),
|
array("Adminer MySQL database manager","plugins/adminer/icon.png","margin-left: 2px","plugins/adminer/adminer-3.7.1-mysql-en.php","_blank",""),
|
||||||
array("Emmet\\nSnippet type booster","plugins/emmet/icon.png","margin-top: 3px","http://docs.emmet.io","_blank",""),
|
array("Emmet Snippet type booster","plugins/emmet/icon.png","","http://docs.emmet.io","_blank",""),
|
||||||
array("ICErepo\\nGithub repo manager","plugins/ice-repo/icon.png","margin-top: 3px","plugins/ice-repo","_blank",""),
|
array("CSS Beautify Tidy up your CSS","plugins/cssbeautify/icon.png","","plugins/cssbeautify","fileControl:<b>Tidying your CSS</b>",""),
|
||||||
array("Dochub\\nCoding syntax info","plugins/dochub/icon.png","margin-top: 3px","http://dochub.io","_blank",""),
|
array("ICErepo Github repo manager","plugins/ice-repo/icon.png","","plugins/ice-repo","_blank",""),
|
||||||
array("Voke\\nCoding syntax info","plugins/voke/icon.png","margin-top: 3px","http://voke.fm","_blank",""),
|
array("Zip It! File/folder zip utility","plugins/zip-it/icon.png","margin-left: 3px","plugins/zip-it/?zip=|&exclude=*.doc*.gif*.jpg*.jpeg*.pdf*.png*.swf*.xml*.zip","fileControl:<b>Zipping Files</b>","30")
|
||||||
array("Regexplained\\nRegex builder","plugins/regexplained/icon.png","margin-top: 3px","http://leaverou.github.io/regexplained","_blank",""),
|
|
||||||
array("wireframe|cc\\nWireframing tool","plugins/wireframecc/icon.png","margin-top: 3px","http://wireframe.cc","_blank",""),
|
|
||||||
array("TinyPNG\\nImage file compressor","plugins/tinypng/icon.png","margin-top: 7px","http://tinypng.org","_blank",""),
|
|
||||||
array("Zip It!\\nFile/folder zip utility","plugins/zip-it/icon.png","margin-top: 3px; margin-left: 3px","plugins/zip-it/?zip=|&exclude=*.doc*.gif*.jpg*.jpeg*.pdf*.png*.swf*.xml*.zip","fileControl:<b>Zipping Files</b>","30")
|
|
||||||
),
|
),
|
||||||
"theme" => "default",
|
"theme" => "default",
|
||||||
"fontSize" => "13px",
|
"fontSize" => "13px",
|
||||||
|
|||||||
14
lib/download.php
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<?php include("settings.php");?>
|
||||||
|
<?php
|
||||||
|
$file = $docRoot.$iceRoot.str_replace("|","/",$_GET['file']);
|
||||||
|
|
||||||
|
if (file_exists($file)) {
|
||||||
|
header('Content-Description: File Transfer');
|
||||||
|
header('Content-Disposition: attachment; filename='.basename($file));
|
||||||
|
header('Content-Length: '.filesize($file));
|
||||||
|
ob_clean();
|
||||||
|
flush();
|
||||||
|
readfile($file);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
?>
|
||||||
@@ -27,13 +27,13 @@ if ($_GET['action']=="load") {
|
|||||||
$finfo = "";
|
$finfo = "";
|
||||||
// Determine what to do based on mime type
|
// Determine what to do based on mime type
|
||||||
if (function_exists('finfo_open')) {
|
if (function_exists('finfo_open')) {
|
||||||
$finfoMIME = finfo_open(FILEINFO_MIME_TYPE);
|
$finfoMIME = finfo_open(FILEINFO_MIME);
|
||||||
$finfo = finfo_file($finfoMIME, $file);
|
$finfo = finfo_file($finfoMIME, $file);
|
||||||
finfo_close($finfoMIME);
|
finfo_close($finfoMIME);
|
||||||
} else {
|
} else {
|
||||||
$fileExt = explode(" ",pathinfo($file, PATHINFO_EXTENSION));
|
$fileExt = explode(" ",pathinfo($file, PATHINFO_EXTENSION));
|
||||||
$fileExt = $fileExt[0];
|
$fileExt = $fileExt[0];
|
||||||
if (array_search($fileExt,array("coffee","css","htm","html","js","less","md","php","py","rb","ruby","sql","txt","xml"))!==false) {$finfo = "text";};
|
if (array_search($fileExt,array("coffee","css","htm","html","js","json","less","md","php","py","rb","ruby","sql","txt","xml"))!==false) {$finfo = "text";};
|
||||||
if (array_search($fileExt,array("gif","jpg","jpeg","png"))!==false) {$finfo = "image";};
|
if (array_search($fileExt,array("gif","jpg","jpeg","png"))!==false) {$finfo = "image";};
|
||||||
}
|
}
|
||||||
if (strpos($finfo,"text")===0 || strpos($finfo,"empty")!==false) {
|
if (strpos($finfo,"text")===0 || strpos($finfo,"empty")!==false) {
|
||||||
@@ -191,6 +191,23 @@ if ($_GET['action']=="rename") {
|
|||||||
echo 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);';
|
echo 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If we're due to move a file/folder...
|
||||||
|
if ($_GET['action']=="move") {
|
||||||
|
$moved=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
|
||||||
|
echo 'top.ICEcoder.selectedFiles=[];top.ICEcoder.updateFileManagerList(\'move\',\''.$fileLoc.'\',\''.$fileName.'\',\'\',\''.str_replace($iceRoot,"",strClean($_GET['oldFileName'])).'\');';
|
||||||
|
echo 'action="move";';
|
||||||
|
$moved=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!$moved) {
|
||||||
|
echo "action='nothing'; top.ICEcoder.message('Sorry, cannot move\\n".strClean($_GET['oldFileName'])."\\n\\nMaybe public write permissions needed on this or parent folder?');";
|
||||||
|
}
|
||||||
|
echo 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);';
|
||||||
|
}
|
||||||
|
|
||||||
// If we're due to replace text in a file...
|
// If we're due to replace text in a file...
|
||||||
if ($_GET['action']=="replaceText") {
|
if ($_GET['action']=="replaceText") {
|
||||||
if (!$demoMode && is_writable(str_replace("|","/",strClean($_GET['fileRef'])))) {
|
if (!$demoMode && is_writable(str_replace("|","/",strClean($_GET['fileRef'])))) {
|
||||||
@@ -305,7 +322,7 @@ if ($_GET['action']=="save") {
|
|||||||
document.getElementById('userVersionFile').value = cM.getValue();
|
document.getElementById('userVersionFile').value = cM.getValue();
|
||||||
// Revert back to original
|
// Revert back to original
|
||||||
cM.setValue(document.getElementById('loadedFile').value);
|
cM.setValue(document.getElementById('loadedFile').value);
|
||||||
top.ICEcoder.changedContent[thisTab-1] = 0;
|
top.ICEcoder.savedPoints[thisTab-1] = cM.changeGeneration();
|
||||||
top.ICEcoder.openFileMDTs[top.ICEcoder.selectedTab-1] = "<?php echo $filemtime; ?>";
|
top.ICEcoder.openFileMDTs[top.ICEcoder.selectedTab-1] = "<?php echo $filemtime; ?>";
|
||||||
cM.clearHistory();
|
cM.clearHistory();
|
||||||
// Now for the new file
|
// Now for the new file
|
||||||
@@ -350,6 +367,7 @@ if (action=="load") {
|
|||||||
top.ICEcoder.switchMode();
|
top.ICEcoder.switchMode();
|
||||||
cM = top.ICEcoder.getcMInstance();
|
cM = top.ICEcoder.getcMInstance();
|
||||||
cM.setValue(document.getElementById('loadedFile').value);
|
cM.setValue(document.getElementById('loadedFile').value);
|
||||||
|
top.ICEcoder.savedPoints[top.ICEcoder.selectedTab-1] = cM.changeGeneration();
|
||||||
top.document.getElementById('content').style.visibility='visible';
|
top.document.getElementById('content').style.visibility='visible';
|
||||||
top.ICEcoder.switchTab(top.ICEcoder.selectedTab);
|
top.ICEcoder.switchTab(top.ICEcoder.selectedTab);
|
||||||
top.ICEcoder.focus();
|
top.ICEcoder.focus();
|
||||||
@@ -425,7 +443,8 @@ if (action=="save") {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (action=="doneSave") {
|
if (action=="doneSave") {
|
||||||
top.ICEcoder.changedContent[top.ICEcoder.selectedTab-1] = 0;
|
cM = top.ICEcoder.getcMInstance();
|
||||||
|
top.ICEcoder.savedPoints[top.ICEcoder.selectedTab-1] = cM.changeGeneration();
|
||||||
top.ICEcoder.redoTabHighlight(top.ICEcoder.selectedTab);
|
top.ICEcoder.redoTabHighlight(top.ICEcoder.selectedTab);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
.fileManager {
|
.fileManager {
|
||||||
margin: 15px 0 15px 20px;
|
margin: 0 0 15px 20px;
|
||||||
-webkit-user-select: none;
|
-webkit-user-select: none;
|
||||||
-moz-user-select: none;
|
-moz-user-select: none;
|
||||||
-ms-user-select: none;
|
-ms-user-select: none;
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
.fileManager LI.ext-gif:before {background-position: -80px 0}
|
.fileManager LI.ext-gif:before {background-position: -80px 0}
|
||||||
.fileManager LI.ext-htm:before, .fileManager LI.ext-html:before {background-position: -96px 0}
|
.fileManager LI.ext-htm:before, .fileManager LI.ext-html:before {background-position: -96px 0}
|
||||||
.fileManager LI.ext-jpg:before, .fileManager LI.ext-jpeg:before {background-position: -112px 0}
|
.fileManager LI.ext-jpg:before, .fileManager LI.ext-jpeg:before {background-position: -112px 0}
|
||||||
.fileManager LI.ext-js:before {background-position: -128px 0}
|
.fileManager LI.ext-js:before, .fileManager LI.ext-json:before {background-position: -128px 0}
|
||||||
.fileManager LI.ext-less:before {background-position: -144px 0}
|
.fileManager LI.ext-less:before {background-position: -144px 0}
|
||||||
.fileManager LI.ext-md:before {background-position: -160px 0}
|
.fileManager LI.ext-md:before {background-position: -160px 0}
|
||||||
.fileManager LI.ext-php:before {background-position: -176px 0}
|
.fileManager LI.ext-php:before {background-position: -176px 0}
|
||||||
|
|||||||
@@ -19,4 +19,5 @@ table, caption, tbody, tfoot, thead, tr, th, td {
|
|||||||
|
|
||||||
body {margin: 0; overflow: auto}
|
body {margin: 0; overflow: auto}
|
||||||
|
|
||||||
.refresh {position: fixed; display: inline-block; width: 14px; height: 14px; background: url('../images/file-manager-icons.png') -100px -16px no-repeat; right: 0; margin-right: 15px; top: 17px; cursor: pointer}
|
.lock {position: fixed; display: inline-block; width: 12px; height: 16px; background: url('../images/file-manager-icons.png') -64px -16px no-repeat; right: 0; margin-right: 16px; top: 0; cursor: pointer}
|
||||||
|
.refresh {position: fixed; display: inline-block; width: 14px; height: 14px; background: url('../images/file-manager-icons.png') -100px -16px no-repeat; right: 0; margin-right: 15px; top: 25px; cursor: pointer}
|
||||||
@@ -46,7 +46,7 @@ for ($i=0;$i<count($finalArray);$i++) {
|
|||||||
}
|
}
|
||||||
$type == "folder" ? $class = 'pft-directory' : $class = 'pft-file '.strtolower($ext);
|
$type == "folder" ? $class = 'pft-directory' : $class = 'pft-file '.strtolower($ext);
|
||||||
$loadParam = $type == "folder" ? "true" : "false";
|
$loadParam = $type == "folder" ? "true" : "false";
|
||||||
echo "<li class=\"".$class."\"><a nohref title=\"$fileFolderName\" onMouseOver=\"top.ICEcoder.overFileFolder('$type',this.childNodes[1].id)\" onMouseOut=\"top.ICEcoder.overFileFolder('$type','')\" onClick=\"if(!event.ctrlKey && !top.ICEcoder.cmdKey) {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))."\">".basename($fileFolderName)."</span> ";
|
echo "<li class=\"".$class."\" draggable=\"true\" ondrag=\"top.ICEcoder.draggingWithKeyTest(event);if(top.ICEcoder.getcMInstance()){top.ICEcoder.getcMInstance().focus()}\" ondragend=\"top.ICEcoder.dropFile(this)\"><a nohref title=\"$fileFolderName\" onMouseOver=\"top.ICEcoder.overFileFolder('$type',this.childNodes[1].id)\" onMouseOut=\"top.ICEcoder.overFileFolder('$type','')\" onClick=\"if(!event.ctrlKey && !top.ICEcoder.cmdKey) {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))."\">".basename($fileFolderName)."</span> ";
|
||||||
echo '<span style="color: #888; font-size: 8px" id="'.str_replace($docRoot,"",str_replace("/","|",$fileFolderName)).'_perms">';
|
echo '<span style="color: #888; font-size: 8px" id="'.str_replace($docRoot,"",str_replace("/","|",$fileFolderName)).'_perms">';
|
||||||
echo $serverType=="Linux" ? substr(sprintf('%o', fileperms($docRoot.$iceRoot.$fileFolderName)), -3) : '';
|
echo $serverType=="Linux" ? substr(sprintf('%o', fileperms($docRoot.$iceRoot.$fileFolderName)), -3) : '';
|
||||||
echo "</span></a></li>\n";
|
echo "</span></a></li>\n";
|
||||||
|
|||||||
@@ -33,66 +33,57 @@ h2 {font-size: 18px; font-weight: normal; color: #fff}
|
|||||||
.popupVCenter .popup {#position: relative; #top: -50%; text-align: center; color: #fff; font-size: 10px}
|
.popupVCenter .popup {#position: relative; #top: -50%; text-align: center; color: #fff; font-size: 10px}
|
||||||
.whiteGlow {box-shadow: 0 0 8px 2px rgba(255,255,255,0.6)}
|
.whiteGlow {box-shadow: 0 0 8px 2px rgba(255,255,255,0.6)}
|
||||||
|
|
||||||
.circleOutside {background-color: rgba(0,0,0,0); border:5px solid rgba(0,183,229,0.9); opacity:.9; border-top:5px solid rgba(0,0,0,0); border-left:5px solid rgba(0,0,0,0); border-radius:50px; box-shadow: 0 0 35px #2187e7;
|
.spinner {width: 50px; height: 50px; margin: 20px auto; background: #fff;
|
||||||
width:50px; height:50px; margin:0 auto; animation:spin .5s infinite linear; -webkit-animation:spin .5s infinite linear;
|
-webkit-animation: rotateplane 1.2s infinite ease-in-out;
|
||||||
}
|
animation: rotateplane 1.2s infinite ease-in-out;
|
||||||
.circleInside {background-color: rgba(0,0,0,0); border:5px solid rgba(0,183,229,0.9); opacity:.9; border-top:5px solid rgba(0,0,0,0); border-left:5px solid rgba(0,0,0,0); border-radius:50px; box-shadow: 0 0 15px #2187e7;
|
|
||||||
width:30px; height:30px; margin:0 auto; position:relative; top:-50px; animation:spinoff .5s infinite linear; -webkit-animation:spinoff .5s infinite linear;
|
|
||||||
}
|
|
||||||
@keyframes spin {
|
|
||||||
0% {transform:rotate(0deg)}
|
|
||||||
100% {transform:rotate(360deg)}
|
|
||||||
}
|
|
||||||
@keyframes spinoff {
|
|
||||||
0% {transform:rotate(0deg)}
|
|
||||||
100% {transform:rotate(-360deg)}
|
|
||||||
}
|
|
||||||
@-webkit-keyframes spin {
|
|
||||||
0% {-webkit-transform:rotate(0deg)}
|
|
||||||
100% {-webkit-transform:rotate(360deg)}
|
|
||||||
}
|
|
||||||
@-webkit-keyframes spinoff {
|
|
||||||
0% {-webkit-transform:rotate(0deg)}
|
|
||||||
100% {-webkit-transform:rotate(-360deg)}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.header {position: absolute; display: inline-block; top: 0; left: 0; width: 100%; height: 40px; background-color: #fff; text-align: right; z-index: 2}
|
@-webkit-keyframes rotateplane {
|
||||||
.header .tools {position: absolute; display: inline-block; left: 15px; top: 3px}
|
0% {-webkit-transform: perspective(120px)}
|
||||||
.header .plugins {position: absolute; display: inline-block; left: 55px; top: 3px}
|
50% {-webkit-transform: perspective(120px) rotateY(180deg)}
|
||||||
.header .plugins img {position: relative; display: inline-block; margin-right: 15px}
|
100% {-webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg)}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes rotateplane {
|
||||||
|
0% {transform: perspective(120px) rotateX(0deg) rotateY(0deg)}
|
||||||
|
50% {transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg)}
|
||||||
|
100% {transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg)}
|
||||||
|
}
|
||||||
|
|
||||||
|
.plugins {position: absolute; display: inline-block; width: 3px; height: 100%; top: 0; left: 0; background: transparent; overflow: hidden; z-index: 3;
|
||||||
|
transition: all 0.07s ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {position: absolute; display: inline-block; top: 0; left: 0; width: 100%; height: 20px; background-color: #fff; text-align: right; z-index: 1}
|
||||||
.header .helpIcon {position: absolute; top: 5px; right: 90px; cursor: pointer}
|
.header .helpIcon {position: absolute; top: 5px; right: 90px; cursor: pointer}
|
||||||
.header .settingsIcon {position: absolute; top: 5px; right: 70px; cursor: pointer}
|
.header .settingsIcon {position: absolute; top: 5px; right: 70px; cursor: pointer}
|
||||||
.header .screenModeIcon {position: absolute; top: 5px; right: 46px; cursor: pointer}
|
.header .screenModeIcon {position: absolute; top: 5px; right: 46px; cursor: pointer}
|
||||||
.header .version {position: relative; display: inline-block; margin-top: 25px; font-size: 10px; color: #bbb}
|
.header .logout {position: absolute; top: 5px; right: 105px; font-size: 10px; color: #bbb}
|
||||||
.header .version a {font-size: 10px; color: #bbb; text-decoration: none}
|
.header .logout a {font-size: 10px; color: #bbb; text-decoration: none}
|
||||||
.header .logo {position: relative; margin: 5px 10px 0 5px; cursor: pointer}
|
.header .logo {position: relative; margin: 5px 10px 0 5px; cursor: pointer}
|
||||||
|
|
||||||
.files {position: absolute; display: inline-block; top: 0; left: 0; height: 100%; width: 250px; background-color: #444; background-image: url('../images/files-arrow.png'); background-repeat: no-repeat; background-position: 100% 50%; overflow: hidden; z-index: 1;
|
.files {position: absolute; display: inline-block; top: 0; left: 0; height: 100%; width: 250px; background-color: #444; background-image: url('../images/files-arrow.png'); background-repeat: no-repeat; background-position: 100% 50%; overflow: hidden; z-index: 2}
|
||||||
box-shadow: 0 50px 10px 4px rgba(0,0,0,0.4);
|
.files .account {display: inline-block; height: 63px; width: 250px; margin-top: 7px; background-color: #444}
|
||||||
}
|
|
||||||
.files .account {display: inline-block; height: 50px; width: 250px; margin-top: 40px; background-color: #888}
|
|
||||||
.files .accountOptions {position: relative; height: 32px; width: 100%; margin-left: 15px; margin-top: 8px}
|
.files .accountOptions {position: relative; height: 32px; width: 100%; margin-left: 15px; margin-top: 8px}
|
||||||
.files .accountOptions div {display: inline-block; background: url('../images/file-manager-icons.png') 0 0 no-repeat; cursor: pointer}
|
.files .accountOptions div {display: inline-block; background: url('../images/file-manager-icons.png') 0 0 no-repeat; cursor: pointer}
|
||||||
.files .accountOptions .save {width: 30px; height: 32px; opacity: 0.3}
|
.files .accountOptions .save {width: 30px; height: 32px; opacity: 0.3}
|
||||||
.files .accountOptions .open {width: 25px; height: 32px; background-position: -32px -3px; margin: 3px 0 0 7px; opacity: 0.3}
|
.files .accountOptions .open {width: 25px; height: 32px; background-position: -32px -3px; margin: 3px 0 0 7px; opacity: 0.3}
|
||||||
.files .accountOptions .newFile {width: 15px; height: 16px; background-position: -64px 0; margin: 8px 0 0 10px; opacity: 0.3}
|
.files .accountOptions .newFile {width: 15px; height: 16px; background-position: -64px 0; margin: 8px 0 0 7px; opacity: 0.3}
|
||||||
.files .accountOptions .newFolder {width: 20px; height: 16px; background-position: -80px 0; margin: 8px 0 0 5px; opacity: 0.3}
|
.files .accountOptions .newFolder {width: 20px; height: 16px; background-position: -80px 0; margin: 8px 0 0 5px; opacity: 0.3}
|
||||||
.files .accountOptions .delete {width: 16px; height: 16px; background-position: -100px 0; margin: 8px 0 0 5px; opacity: 0.3}
|
|
||||||
.files .accountOptions .rename {width: 16px; height: 16px; background-position: -116px 0; margin: 8px 0 0 5px; opacity: 0.3}
|
.files .accountOptions .rename {width: 16px; height: 16px; background-position: -116px 0; margin: 8px 0 0 5px; opacity: 0.3}
|
||||||
.files .accountOptions .view {width: 16px; height: 16px; background-position: -132px 0; margin: 8px 0 0 5px; opacity: 0.3}
|
.files .accountOptions .delete {width: 16px; height: 16px; background-position: -100px 0; margin: 8px 0 0 5px; opacity: 0.3}
|
||||||
.files .accountOptions .lock {position: relative; margin-left: 208px; margin-top: -27px; width: 12px; height: 16px; background-position: -64px -16px; z-index: 1}
|
.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 input:focus, .findReplace input:focus, .findReplace select:focus, .password:focus {outline: none; box-shadow: 0 0 10px 1px rgba(0,198,255,1)}
|
|
||||||
.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 {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: #222; color: #eee}
|
||||||
.files .frame {display: inline-block; width: 250px}
|
.files .frame {display: inline-block; width: 250px}
|
||||||
.files .serverMessage {position: absolute; display: inline-block; width: 450px; bottom: 0; margin-bottom: 30px; background-color: rgba(255,255,255,0.8); font-size: 10px; padding: 7px 12px; opacity: 0;
|
.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;
|
transition: opacity 0.2s;
|
||||||
}
|
}
|
||||||
.files .serverMessage b {font-size: 10px}
|
.files .serverMessage b {font-size: 10px}
|
||||||
|
|
||||||
.editor {position: absolute; display: inline-block; top: 0; left: 15px; width: 2400px}
|
.editor {position: absolute; display: inline-block; top: 0; left: 15px; width: 2400px}
|
||||||
.editor .tabsBar {display: inline-block; height: 22px; width: 2400px; margin-top: 40px; padding-left: 53px; background: #ddd}
|
.editor .tabsBar {display: inline-block; height: 22px; width: 2400px; margin-top: 20px; padding-left: 53px; background: #fff}
|
||||||
.tabsBar .tab {position: absolute; display: none; height: 15px; padding: 5px 8px 2px 8px; font-size: 10px; border-left: solid 1px #eee; border-right: solid 1px #777; border-radius: 5px 5px 0 0; color: #fff; white-space: nowrap; overflow: hidden; cursor: pointer; z-index: 1;
|
.tabsBar .tab {position: absolute; display: none; height: 15px; padding: 5px 8px 2px 9px; border-right: 1px solid #ddd; font-size: 10px; color: #fff; white-space: nowrap; overflow: hidden; cursor: pointer; z-index: 1;
|
||||||
transition: width 0.15s ease-in-out;
|
transition: width 0.15s ease-in-out;
|
||||||
transition: left 0.15s ease-in-out;
|
transition: left 0.15s ease-in-out;
|
||||||
}
|
}
|
||||||
@@ -104,43 +95,43 @@ h2 {font-size: 18px; font-weight: normal; color: #fff}
|
|||||||
}
|
}
|
||||||
.tabsBar .tab .closeTab, .tabsBar .closeAllTabs {margin: 1px 0 0 5px; border-radius: 6px; cursor: pointer}
|
.tabsBar .tab .closeTab, .tabsBar .closeAllTabs {margin: 1px 0 0 5px; border-radius: 6px; cursor: pointer}
|
||||||
.tabsBar .tab .closeTab {position: absolute; right: 7px}
|
.tabsBar .tab .closeTab {position: absolute; right: 7px}
|
||||||
.tabsBar .alphaTabs {position: absolute; margin: 6px 0 0 -20px; background: #bbb; border-radius: 6px; cursor: pointer}
|
.tabsBar .alphaTabs {position: absolute; margin: 6px 0 0 -20px; border-radius: 6px; cursor: pointer}
|
||||||
.tabsBar .alphaTabs:hover {background: #000}
|
.tabsBar .alphaTabs:hover {background: #ccc}
|
||||||
.tabsBar .closeAllTabs {position: absolute; margin: 6px 0 0 -36px; background: #bbb}
|
.tabsBar .closeAllTabs {position: absolute; margin: 6px 0 0 -36px}
|
||||||
.tabsBar .closeAllTabs:hover {background: #000}
|
.tabsBar .closeAllTabs:hover {background: #ccc}
|
||||||
.tabsBar .newTab {position: absolute; display: inline-block; height: 15px; padding: 4px 7px 3px 7px; border-left: solid 1px #eee; border-right: solid 1px #777; background: #aaa; border-radius: 4px 4px 0 0; cursor: pointer; z-index: 0;
|
.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;
|
transition: left 0.15s ease-in-out;
|
||||||
}
|
}
|
||||||
.editor .findBar {display: inline-block; height: 28px; width: 2400px; color: #fff; background-color: #161612}
|
.editor .findBar {display: inline-block; height: 28px; width: 2400px; color: #fff; background-color: #161612}
|
||||||
.findBar .findReplace {position: absolute; z-index: 1}
|
.findBar .findReplace {position: absolute; padding-top: 2px; z-index: 1}
|
||||||
.findReplace select {position: relative; font-size: 10px; margin: 8px 2px 0 2px; top: -2px;}
|
.findReplace .selectWrapper {position: relative; display: inline-block}
|
||||||
.findReplace .findText {display: inline-block; height: 21px; font-size: 10px; margin: 8px 2px 0 2px; margin-left: 43px}
|
.findReplace .selectWrapper select {position: relative; padding: 1px; border: 0; background: url('../images/select-arrow.gif') no-repeat right #666; color: #fff; font-size: 10px; height: 16px;
|
||||||
.findReplace .find {position: relative; width: 120px; height: 16px; border: 0; top: -3px; font-size: 10px; padding-left: 5px; margin-right: 3px}
|
-webkit-appearance: none;
|
||||||
.findReplace .replaceAction {margin: 0 2px 0 0; top: -2px}
|
-moz-appearance: none;
|
||||||
.findReplace .replaceText {height: 21px; font-size: 10px; margin: 8px 2px 0 2px}
|
appearance: none;
|
||||||
.findReplace .replace {position: relative; width: 120px; height: 16px; border: 0; top: -3px; font-size: 10px; padding-left: 5px}
|
}
|
||||||
.findReplace .targetText {height: 21px; font-size: 10px; margin: 8px 2px 0 2px}
|
.findReplace .findText {display: inline-block; height: 21px; font-size: 10px; margin: 6px 3px 0 43px}
|
||||||
.findReplace .submit {position: relative; top: -2px; height: 17px; border: 0; background-color: #444; color: #eee; font-size: 10px; margin-left: 2px; cursor: pointer}
|
.findReplace .find {position: relative; width: 120px; height: 16px; border: 0; top: 3px; font-size: 10px; padding-left: 5px; margin-right: 3px; background: #666; color: #eee}
|
||||||
|
.findReplace .replaceText {height: 21px; font-size: 10px; margin: 6px 2px 0 2px}
|
||||||
|
.findReplace .replace {position: relative; width: 120px; height: 16px; border: 0; top: 3px; font-size: 10px; padding-left: 5px; background: #666; color: #eee}
|
||||||
|
.findReplace .targetText {height: 21px; font-size: 10px; margin: 6px 2px 0 2px}
|
||||||
|
.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 .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}
|
.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: 74px; top: 70px; height: 21px; font-size: 10px; cursor: default; z-index: 1}
|
.findBar .codeAssist {position: fixed; display: inline-block; width: 100px; right: 120px; top: 49px; height: 21px; font-size: 10px; color: #eee; cursor: default; z-index: 1}
|
||||||
.findBar .codeAssist input {margin-top: -1px}
|
.findBar .codeAssist .codeAssistCheckbox {display: none}
|
||||||
.findBar .goLine {position: fixed; display: inline-block; width: 100px; right: -10px; top: 70px; height: 21px; font-size: 10px; cursor: default; z-index: 1}
|
.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}
|
||||||
.goLine .goToLine {width: 25px; height: 16px; border: 0; font-size: 10px; margin: -3px 0 0 3px}
|
.findBar .goLine {position: fixed; display: inline-block; width: 100px; right: 30px; 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: #666; color: #eee}
|
||||||
.goLine .goToLine:focus {outline: none; box-shadow: 0 0 10px 1px rgba(0,198,255,1)}
|
.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: 16px; top: 49px; background: url('../images/file-manager-icons.png') 0 0 no-repeat; cursor: pointer; background-position: -132px 0; opacity: 0.3}
|
||||||
.editor .code {position: relative; display: inline-block; top: 28px; width: 600px; height: 600px; visibility: hidden}
|
.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: 2}
|
.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 .system {position: absolute; display: inline-block; padding: 10px 0 0 15px}
|
|
||||||
.footer .system div {position: relative; display: inline-block; margin-right: 10px; width: 11px; height: 11px; cursor: pointer}
|
|
||||||
.footer .system .preview {background: url('../images/file-manager-icons.png') no-repeat -116px -16px}
|
|
||||||
.footer .system .terminal {background: url('../images/file-manager-icons.png') no-repeat -132px -16px}
|
|
||||||
.footer .nesting {position: absolute; display: inline-block; padding: 5px; margin-top: 10px; left: 260px; border-radius: 5px; background-color: #0b0; cursor: default}
|
.footer .nesting {position: absolute; display: inline-block; padding: 5px; margin-top: 10px; left: 260px; border-radius: 5px; background-color: #0b0; cursor: default}
|
||||||
.footer .nestDisplay {position: absolute; display: inline-block; padding: 5px 0 0 8px; margin-top: 0px; left: 267px; font-size: 12px; color: #fff; text-align: right}
|
.footer .nestDisplay {position: absolute; display: inline-block; padding: 5px 0 0 8px; margin-top: 0px; left: 267px; font-size: 12px; color: #fff; text-align: right}
|
||||||
.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}
|
.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}
|
||||||
|
|
||||||
.textbox {box-shadow: inset 1px 1px 2px 0 rgba(0,0,0,0.4)}
|
|
||||||
|
|
||||||
.fileMenu {position: absolute; display: none; left: 0; top: 0; background-color: #333; z-index: 10;
|
.fileMenu {position: absolute; display: none; left: 0; top: 0; background-color: #333; z-index: 10;
|
||||||
transition: opacity 0.15s;
|
transition: opacity 0.15s;
|
||||||
}
|
}
|
||||||
|
|||||||
252
lib/ice-coder.js
@@ -15,7 +15,7 @@ var ICEcoder = {
|
|||||||
minFilesW: 14, // Min width of files pane
|
minFilesW: 14, // Min width of files pane
|
||||||
maxFilesW: 250, // Max width of files pane
|
maxFilesW: 250, // Max width of files pane
|
||||||
selectedTab: 0, // The tab that's currently selected
|
selectedTab: 0, // The tab that's currently selected
|
||||||
changedContent: [], // Binary array to indicate which tabs have changed
|
savedPoints: [], // Ints array to indicate save points for docs
|
||||||
canSwitchTabs: true, // Stops switching of tabs when trying to close
|
canSwitchTabs: true, // Stops switching of tabs when trying to close
|
||||||
openFiles: [], // Array of open file URLs
|
openFiles: [], // Array of open file URLs
|
||||||
openFileMDTs: [], // Array of open file modification datetimes
|
openFileMDTs: [], // Array of open file modification datetimes
|
||||||
@@ -28,16 +28,17 @@ var ICEcoder = {
|
|||||||
mouseDown: false, // If the mouse is down
|
mouseDown: false, // If the mouse is down
|
||||||
draggingFilesW: false, // If we're dragging the file manager width
|
draggingFilesW: false, // If we're dragging the file manager width
|
||||||
draggingTab: false, // If we're dragging a tab
|
draggingTab: false, // If we're dragging a tab
|
||||||
|
draggingWithKey: false, // The key that's down while dragging, false if no key
|
||||||
tabLeftPos: [], // Array of left positions of tabs inside content area
|
tabLeftPos: [], // Array of left positions of tabs inside content area
|
||||||
tabBGcurrent: '#141414', // BG of current tab
|
tabBGcurrent: '#141414', // BG of current tab
|
||||||
tabBGselected: '#49d', // BG of selected tab
|
tabBGselected: '#49d', // BG of selected tab
|
||||||
tabBGopen: '#aaa', // BG of open tab
|
tabBGopen: '#c3c3c3', // BG of open tab
|
||||||
tabBGnormal: 'transparent', // BG of normal tab
|
tabBGnormal: 'transparent', // BG of normal tab
|
||||||
tabFGcurrent: '#fff', // FG of selected tab
|
tabFGcurrent: '#fff', // FG of selected tab
|
||||||
tabFGselected: '#fff', // FG of selected tab
|
tabFGselected: '#fff', // FG of selected tab
|
||||||
tabFGopenFile: '#000', // FG of open file
|
tabFGopenFile: '#000', // FG of open file
|
||||||
tabFGnormalFile: '#eee', // FG of normal file
|
tabFGnormalFile: '#eee', // FG of normal file
|
||||||
tabFGnormalTab: '#000', // FG of normal tab
|
tabFGnormalTab: '#888', // FG of normal tab
|
||||||
serverQueueItems: [], // Array of URLs to call in order
|
serverQueueItems: [], // Array of URLs to call in order
|
||||||
previewWindow: false, // Target variable for the preview window
|
previewWindow: false, // Target variable for the preview window
|
||||||
pluginIntervalRefs: [], // Array of plugin interval refs
|
pluginIntervalRefs: [], // Array of plugin interval refs
|
||||||
@@ -48,7 +49,7 @@ var ICEcoder = {
|
|||||||
|
|
||||||
// Set our aliases
|
// Set our aliases
|
||||||
initAliases: function() {
|
initAliases: function() {
|
||||||
var aliasArray = ["header","files","account","fmLock","filesFrame","editor","tabsBar","findBar","content","footer","system","nestValid","nestDisplay","charDisplay","byteDisplay"];
|
var aliasArray = ["header","files","account","filesFrame","editor","tabsBar","findBar","content","footer","nestValid","nestDisplay","charDisplay","byteDisplay"];
|
||||||
|
|
||||||
// Create our ID aliases
|
// Create our ID aliases
|
||||||
for (var i=0;i<aliasArray.length;i++) {
|
for (var i=0;i<aliasArray.length;i++) {
|
||||||
@@ -92,19 +93,18 @@ var ICEcoder = {
|
|||||||
|
|
||||||
// Set our layout according to the browser size
|
// Set our layout according to the browser size
|
||||||
setLayout: function(dontSetEditor) {
|
setLayout: function(dontSetEditor) {
|
||||||
var winW, winH, headerH, footerH, accountH, tabsBarH, findBarH;
|
var winW, winH, headerH, accountH, tabsBarH, findBarH;
|
||||||
|
|
||||||
// Determin width & height available
|
// Determin width & height available
|
||||||
winW = window.innerWidth;
|
winW = window.innerWidth;
|
||||||
winH = window.innerHeight;
|
winH = window.innerHeight;
|
||||||
|
|
||||||
// Apply sizes to various elements of the page
|
// Apply sizes to various elements of the page
|
||||||
headerH = 40, footerH = 30, accountH = 50, tabsBarH = 21, findBarH = 28;
|
headerH = 25, accountH = 45, tabsBarH = 21, findBarH = 28;
|
||||||
this.header.style.width = this.tabsBar.style.width = this.findBar.style.width = winW + "px";
|
this.header.style.width = this.tabsBar.style.width = this.findBar.style.width = winW + "px";
|
||||||
this.files.style.width = this.editor.style.left = this.filesW + "px";
|
this.files.style.width = this.editor.style.left = this.filesW + "px";
|
||||||
this.account.style.height = this.accountH + "px";
|
this.account.style.height = this.accountH + "px";
|
||||||
this.fmLock.style.marginLeft = (this.filesW-42) + "px";
|
this.filesFrame.style.height = (winH-headerH-accountH) + "px";
|
||||||
this.filesFrame.style.height = (winH-headerH-accountH-footerH) + "px";
|
|
||||||
this.nestValid.style.left = (this.filesW+10) + "px";
|
this.nestValid.style.left = (this.filesW+10) + "px";
|
||||||
this.nestDisplay.style.left = (this.filesW+17) + "px";
|
this.nestDisplay.style.left = (this.filesW+17) + "px";
|
||||||
top.ICEcoder.setTabWidths();
|
top.ICEcoder.setTabWidths();
|
||||||
@@ -112,7 +112,7 @@ var ICEcoder = {
|
|||||||
// If we need to set the editor sizes
|
// If we need to set the editor sizes
|
||||||
if (!dontSetEditor) {
|
if (!dontSetEditor) {
|
||||||
this.editor.style.width = ICEcoder.content.style.width = (winW-this.filesW) + "px";
|
this.editor.style.width = ICEcoder.content.style.width = (winW-this.filesW) + "px";
|
||||||
ICEcoder.content.style.height = (winH-headerH-footerH-tabsBarH-findBarH) + "px";
|
ICEcoder.content.style.height = (winH-headerH-tabsBarH-findBarH-26) + "px";
|
||||||
|
|
||||||
// Resize the CodeMirror instances to match the window size
|
// Resize the CodeMirror instances to match the window size
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
@@ -167,11 +167,20 @@ var ICEcoder = {
|
|||||||
lockUnlockNav: function() {
|
lockUnlockNav: function() {
|
||||||
var lockIcon;
|
var lockIcon;
|
||||||
|
|
||||||
lockIcon = top.get('fmLock');
|
lockIcon = top.filesFrame.contentWindow.document.getElementById('fmLock');
|
||||||
ICEcoder.lockedNav = !ICEcoder.lockedNav;
|
ICEcoder.lockedNav = !ICEcoder.lockedNav;
|
||||||
lockIcon.style.backgroundPosition = ICEcoder.lockedNav ? "-64px -16px" : "-80px -16px";
|
lockIcon.style.backgroundPosition = ICEcoder.lockedNav ? "-64px -16px" : "-80px -16px";
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Show/hide the plugins on demand
|
||||||
|
showHidePlugins: function(showHide) {
|
||||||
|
get('plugins').style.width = showHide=="show" ? '55px' : '3px';
|
||||||
|
get('plugins').style.background = showHide=="show" ? '#333' : 'transparent';
|
||||||
|
if (showHide=="show") {
|
||||||
|
ICEcoder.changeFilesW('expand');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
// ==============
|
// ==============
|
||||||
// EDITOR
|
// EDITOR
|
||||||
// ==============
|
// ==============
|
||||||
@@ -188,6 +197,7 @@ var ICEcoder = {
|
|||||||
// Then set the content in the editor & clear the history
|
// Then set the content in the editor & clear the history
|
||||||
cM.setValue(content);
|
cM.setValue(content);
|
||||||
cM.clearHistory();
|
cM.clearHistory();
|
||||||
|
top.ICEcoder.savedPoints[top.ICEcoder.selectedTab-1] = cM.changeGeneration();
|
||||||
},
|
},
|
||||||
|
|
||||||
// Move current line up/down
|
// Move current line up/down
|
||||||
@@ -243,7 +253,9 @@ var ICEcoder = {
|
|||||||
|
|
||||||
if (!(/iPhone|iPad|iPod/i.test(navigator.userAgent))) {
|
if (!(/iPhone|iPad|iPod/i.test(navigator.userAgent))) {
|
||||||
cM = top.ICEcoder.getcMInstance();
|
cM = top.ICEcoder.getcMInstance();
|
||||||
cM.focus();
|
if (cM) {
|
||||||
|
cM.focus();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -263,9 +275,9 @@ var ICEcoder = {
|
|||||||
|
|
||||||
cM = ICEcoder.getcMInstance();
|
cM = ICEcoder.getcMInstance();
|
||||||
fileName = ICEcoder.openFiles[ICEcoder.selectedTab-1];
|
fileName = ICEcoder.openFiles[ICEcoder.selectedTab-1];
|
||||||
if (mode) {
|
if (cM && mode) {
|
||||||
cM.setOption("mode",mode);
|
cM.setOption("mode",mode);
|
||||||
} else if (fileName) {
|
} else if (cM && fileName) {
|
||||||
fileName.indexOf('.js')>0 ? cM.setOption("mode","javascript")
|
fileName.indexOf('.js')>0 ? cM.setOption("mode","javascript")
|
||||||
: fileName.indexOf('.coffee')>0 ? cM.setOption("mode","coffeescript")
|
: fileName.indexOf('.coffee')>0 ? cM.setOption("mode","coffeescript")
|
||||||
: fileName.indexOf('.rb')>0 ? cM.setOption("mode","ruby")
|
: fileName.indexOf('.rb')>0 ? cM.setOption("mode","ruby")
|
||||||
@@ -516,6 +528,17 @@ var ICEcoder = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Paste a URL, locally or absolutely if CTRL/Cmd key down
|
||||||
|
pasteURL: function(url) {
|
||||||
|
var cM;
|
||||||
|
|
||||||
|
cM = ICEcoder.getcMInstance();
|
||||||
|
if(top.ICEcoder.draggingWithKey == "CTRL") {
|
||||||
|
url = window.location.protocol + "//" + window.location.hostname + url;
|
||||||
|
}
|
||||||
|
cM.replaceSelection(url);
|
||||||
|
},
|
||||||
|
|
||||||
// ==============
|
// ==============
|
||||||
// FILES
|
// FILES
|
||||||
// ==============
|
// ==============
|
||||||
@@ -789,15 +812,36 @@ var ICEcoder = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Move a file from old location to new
|
||||||
|
moveFile: function(oldName,newName) {
|
||||||
|
var fileName, i;
|
||||||
|
|
||||||
|
if (newName) {
|
||||||
|
i = top.ICEcoder.openFiles.indexOf(oldName.replace(/\|/g,"/"));
|
||||||
|
if(i>-1) {
|
||||||
|
// rename array item and the tab
|
||||||
|
top.ICEcoder.openFiles[i] = newName;
|
||||||
|
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>';
|
||||||
|
fileName = top.ICEcoder.openFiles[i];
|
||||||
|
top.get('tab'+(i+1)).innerHTML = closeTabLink + " " + fileName.slice(fileName.lastIndexOf("/")).replace(/\//,"");
|
||||||
|
top.get('tab'+(i+1)).title = newName;
|
||||||
|
}
|
||||||
|
top.ICEcoder.serverQueue("add","lib/file-control.php?action=move&file="+newName+"&oldFileName="+oldName.replace(/\|/g,"/"));
|
||||||
|
top.ICEcoder.serverMessage('<b>Moving to</b><br>'+newName);
|
||||||
|
|
||||||
|
top.ICEcoder.setPreviousFiles();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
// Delete a file
|
// Delete a file
|
||||||
deleteFiles: function() {
|
deleteFiles: function(fileList) {
|
||||||
var selectedFilesList;
|
var tgtFiles, tgtListDisplay;
|
||||||
|
|
||||||
selectedFilesList = top.ICEcoder.selectedFiles.toString().replace(/\|/g,"/").replace(/,/g,"\n");
|
tgtFiles = fileList ? fileList : top.ICEcoder.selectedFiles;
|
||||||
|
tgtListDisplay = tgtFiles.toString().replace(/\|/g,"/").replace(/,/g,"\n");
|
||||||
if (top.ICEcoder.selectedFiles.length>0 && top.ICEcoder.ask('Delete:\n\n'+selectedFilesList+'?')) {
|
if (tgtFiles.length>0 && top.ICEcoder.ask('Delete:\n\n'+tgtListDisplay+'?')) {
|
||||||
top.ICEcoder.serverQueue("add","lib/file-control.php?action=delete&file="+top.ICEcoder.selectedFiles.join(";"));
|
top.ICEcoder.serverQueue("add","lib/file-control.php?action=delete&file="+tgtFiles.join(";"));
|
||||||
top.ICEcoder.serverMessage('<b>Deleting File</b><br>'+selectedFilesList);
|
top.ICEcoder.serverMessage('<b>Deleting File</b><br>'+tgtListDisplay);
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -940,6 +984,9 @@ var ICEcoder = {
|
|||||||
// Now we can add the first LI for this file/folder we're adding
|
// Now we can add the first LI for this file/folder we're adding
|
||||||
newLI = document.createElement("li");
|
newLI = document.createElement("li");
|
||||||
newLI.className = cssStyle;
|
newLI.className = cssStyle;
|
||||||
|
newLI.draggable = true;
|
||||||
|
newLI.ondrag = function(event) {top.ICEcoder.draggingWithKeyTest(event);if(top.ICEcoder.getcMInstance()){top.ICEcoder.getcMInstance().focus()}};
|
||||||
|
newLI.ondragend = function() {top.ICEcoder.dropFile(this)};
|
||||||
newLI.innerHTML = innerLI
|
newLI.innerHTML = innerLI
|
||||||
locNest.nextSibling.appendChild(newLI);
|
locNest.nextSibling.appendChild(newLI);
|
||||||
locNest.nextSibling.appendChild(newText);
|
locNest.nextSibling.appendChild(newText);
|
||||||
@@ -958,6 +1005,9 @@ var ICEcoder = {
|
|||||||
if ((elemType==actionElemType && nameLI > file) || (actionElemType=="folder" && elemType=="file") || i==locNest.childNodes.length-1) {
|
if ((elemType==actionElemType && nameLI > file) || (actionElemType=="folder" && elemType=="file") || i==locNest.childNodes.length-1) {
|
||||||
newLI = document.createElement("li");
|
newLI = document.createElement("li");
|
||||||
newLI.className = cssStyle;
|
newLI.className = cssStyle;
|
||||||
|
newLI.draggable = true;
|
||||||
|
newLI.ondrag = function(event) {top.ICEcoder.draggingWithKeyTest(event);if(top.ICEcoder.getcMInstance()){top.ICEcoder.getcMInstance().focus()}};
|
||||||
|
newLI.ondragend = function() {top.ICEcoder.dropFile(this)};
|
||||||
newLI.innerHTML = innerLI;
|
newLI.innerHTML = innerLI;
|
||||||
// Append or insert depending on which of the above if statements is true
|
// Append or insert depending on which of the above if statements is true
|
||||||
if (i==locNest.childNodes.length-1) {
|
if (i==locNest.childNodes.length-1) {
|
||||||
@@ -992,6 +1042,12 @@ var ICEcoder = {
|
|||||||
targetElemPerms.id = location.replace(/\//g,"|") + "|" + file + "_perms";
|
targetElemPerms.id = location.replace(/\//g,"|") + "|" + file + "_perms";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Moving files
|
||||||
|
if (action=="move") {
|
||||||
|
top.ICEcoder.updateFileManagerList("add",location,file);
|
||||||
|
top.ICEcoder.updateFileManagerList("delete",oldName.substr(0,oldName.lastIndexOf("/")),file);
|
||||||
|
}
|
||||||
|
|
||||||
// Chmod on files
|
// Chmod on files
|
||||||
if (action=="chmod") {
|
if (action=="chmod") {
|
||||||
// Get short URL for our file and get our target elem based on this
|
// Get short URL for our file and get our target elem based on this
|
||||||
@@ -1032,10 +1088,6 @@ var ICEcoder = {
|
|||||||
if (action=="delete" && ICEcoder.selectedFiles.length>0) {
|
if (action=="delete" && ICEcoder.selectedFiles.length>0) {
|
||||||
top.ICEcoder.deleteFiles();
|
top.ICEcoder.deleteFiles();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (action=="view" && ICEcoder.openFiles.length>0) {
|
|
||||||
window.open(top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1]);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// Refresh file manager
|
// Refresh file manager
|
||||||
@@ -1049,6 +1101,43 @@ var ICEcoder = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Detect CTRL/Cmd key whilst dragging files
|
||||||
|
draggingWithKeyTest: function(evt) {
|
||||||
|
var key;
|
||||||
|
|
||||||
|
key = evt.keyCode ? evt.keyCode : evt.which ? evt.which : evt.charCode;
|
||||||
|
|
||||||
|
// Mac command key handling (224 = Moz, 91/93 = Webkit Left/Right Apple)
|
||||||
|
if (key==224 || key==91 || key==93) {
|
||||||
|
top.ICEcoder.cmdKey = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
top.ICEcoder.draggingWithKey = evt.ctrlKey||top.ICEcoder.cmdKey ? "CTRL" : false;
|
||||||
|
},
|
||||||
|
|
||||||
|
// On dropping a file, do something
|
||||||
|
dropFile: function(elem) {
|
||||||
|
var filePath, tgtPath;
|
||||||
|
|
||||||
|
filePath = elem.childNodes[0].childNodes[1].id.replace(/\|/g,"/");
|
||||||
|
fileName = filePath.substr(filePath.lastIndexOf("/")+1);
|
||||||
|
if (top.ICEcoder.area=='editor') {
|
||||||
|
top.ICEcoder.pasteURL(filePath);
|
||||||
|
};
|
||||||
|
if (top.ICEcoder.area=='files') {
|
||||||
|
setTimeout(function() {
|
||||||
|
tgtPath = ICEcoder.thisFileFolderType == "folder" ? ICEcoder.thisFileFolderLink : ICEcoder.thisFileFolderLink.substr(0,ICEcoder.thisFileFolderLink.lastIndexOf("|"));
|
||||||
|
if(top.ICEcoder.draggingWithKey == "CTRL") {
|
||||||
|
top.ICEcoder.copyFiles(top.ICEcoder.selectedFiles);
|
||||||
|
top.ICEcoder.pasteFiles(tgtPath);
|
||||||
|
} else {
|
||||||
|
top.ICEcoder.moveFile(filePath,tgtPath.replace(/\|/g,"/") + "/" + fileName);
|
||||||
|
}
|
||||||
|
},4);
|
||||||
|
};
|
||||||
|
top.ICEcoder.mouseDown=false;
|
||||||
|
},
|
||||||
|
|
||||||
// ==============
|
// ==============
|
||||||
// FIND & REPLACE
|
// FIND & REPLACE
|
||||||
// ==============
|
// ==============
|
||||||
@@ -1338,32 +1427,21 @@ var ICEcoder = {
|
|||||||
ICEcoder.caretLocType = caretLocType;
|
ICEcoder.caretLocType = caretLocType;
|
||||||
},
|
},
|
||||||
|
|
||||||
// Alter array indicating which files have changed
|
|
||||||
redoChangedContent: function(evt) {
|
|
||||||
var cM, key;
|
|
||||||
|
|
||||||
cM = ICEcoder.getcMInstance();
|
|
||||||
key = evt.keyCode ? evt.keyCode : evt.which ? evt.which : evt.charCode;
|
|
||||||
// Exclude a few keys...
|
|
||||||
// Escape (27), Caps Lock (20), Shift, CTRL, Alt, Pause/Break (16-19), Left, Up, Right, Down (37-40), Num Lock, Scroll Lock (144-145),
|
|
||||||
// Insert, Delete (45,46), Page Up, Page Down, End, Home (33-36), Left Win Key, Right Win Key (91-92), F1-F12 (112-123)
|
|
||||||
if (!evt.ctrlKey && !top.ICEcoder.cmdKey && key!=27 && key!=20 && (key<16||key>19) && (key<37||key>40) && (key!=144||key!=145) && (key!=45||key!=46) && (key<33||key>36) && (key!=91||key!=92) && (key<112||key>123)) {
|
|
||||||
ICEcoder.changedContent[ICEcoder.selectedTab-1] = cM.historySize().undo > 0 ? 1 : 0;
|
|
||||||
ICEcoder.redoTabHighlight(ICEcoder.selectedTab);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
// Show & hide target element
|
// Show & hide target element
|
||||||
showHide: function(doVis,elem) {
|
showHide: function(doVis,elem) {
|
||||||
elem.style.visibility = doVis=="show" ? 'visible' : 'hidden';
|
elem.style.visibility = doVis=="show" ? 'visible' : 'hidden';
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
// Determine the CodeMirror instance we're using
|
// Determine the CodeMirror instance we're using
|
||||||
getcMInstance: function(newTab) {
|
getcMInstance: function(tab) {
|
||||||
return top.ICEcoder.content.contentWindow[
|
return top.ICEcoder.content.contentWindow[
|
||||||
newTab=="new"||(newTab!="new" && ICEcoder.openFiles.length>0)
|
// target specific tab
|
||||||
|
!isNaN(tab)
|
||||||
|
? 'cM'+ICEcoder.cMInstances[tab-1]
|
||||||
|
// new tab or selected tab
|
||||||
|
: tab=="new"||(tab!="new" && ICEcoder.openFiles.length>0)
|
||||||
? 'cM'+ICEcoder.cMInstances[ICEcoder.selectedTab-1]
|
? 'cM'+ICEcoder.cMInstances[ICEcoder.selectedTab-1]
|
||||||
|
// fallback to first tab
|
||||||
: 'cM1'
|
: 'cM1'
|
||||||
];
|
];
|
||||||
},
|
},
|
||||||
@@ -1374,9 +1452,10 @@ var ICEcoder = {
|
|||||||
|
|
||||||
top.ICEcoder.mouseX = e.pageX ? e.pageX : e.clientX + document.body.scrollLeft;
|
top.ICEcoder.mouseX = e.pageX ? e.pageX : e.clientX + document.body.scrollLeft;
|
||||||
top.ICEcoder.mouseY = e.pageY ? e.pageY : e.clientY + document.body.scrollTop;
|
top.ICEcoder.mouseY = e.pageY ? e.pageY : e.clientY + document.body.scrollTop;
|
||||||
|
|
||||||
|
top.ICEcoder.area = area;
|
||||||
if (area!="top") {
|
if (area!="top") {
|
||||||
top.ICEcoder.mouseY += 40 + 50;
|
top.ICEcoder.mouseY += 25 + 45;
|
||||||
}
|
}
|
||||||
if (area=="editor") {
|
if (area=="editor") {
|
||||||
top.ICEcoder.mouseX += top.ICEcoder.filesW;
|
top.ICEcoder.mouseX += top.ICEcoder.filesW;
|
||||||
@@ -1403,7 +1482,7 @@ var ICEcoder = {
|
|||||||
winH = window.innerHeight;
|
winH = window.innerHeight;
|
||||||
if (!top.ICEcoder.mouseDown) {top.ICEcoder.draggingFilesW = false};
|
if (!top.ICEcoder.mouseDown) {top.ICEcoder.draggingFilesW = false};
|
||||||
|
|
||||||
cursorName = (!ICEcoder.draggingTab && ((top.ICEcoder.mouseX > top.ICEcoder.filesW-7 && top.ICEcoder.mouseX < top.ICEcoder.filesW+7 && top.ICEcoder.mouseY > 40 && top.ICEcoder.mouseY < (winH-30)) || top.ICEcoder.draggingFilesW))
|
cursorName = (!ICEcoder.draggingTab && ((top.ICEcoder.mouseX > top.ICEcoder.filesW-7 && top.ICEcoder.mouseX < top.ICEcoder.filesW+7) || top.ICEcoder.draggingFilesW))
|
||||||
? "w-resize"
|
? "w-resize"
|
||||||
: "auto";
|
: "auto";
|
||||||
if (top.ICEcoder.content.contentWindow.document && top.ICEcoder.filesFrame.contentWindow) {
|
if (top.ICEcoder.content.contentWindow.document && top.ICEcoder.filesFrame.contentWindow) {
|
||||||
@@ -1433,26 +1512,28 @@ var ICEcoder = {
|
|||||||
var cM, string, rx, match, oldBlock, newBlock;
|
var cM, string, rx, match, oldBlock, newBlock;
|
||||||
|
|
||||||
cM = ICEcoder.getcMInstance();
|
cM = ICEcoder.getcMInstance();
|
||||||
string = cM.getLine(cM.getCursor().line);
|
if (cM) {
|
||||||
rx = /(#[\da-f]{3}(?:[\da-f]{3})?\b|\b(?:rgb|hsl)a?\([\s\d%,.-]+\)|\b[a-z]+\b)/gi;
|
string = cM.getLine(cM.getCursor().line);
|
||||||
|
rx = /(#[\da-f]{3}(?:[\da-f]{3})?\b|\b(?:rgb|hsl)a?\([\s\d%,.-]+\)|\b[a-z]+\b)/gi;
|
||||||
|
|
||||||
while((match = rx.exec(string)) && cM.getCursor().ch > match.index+match[0].length);
|
while((match = rx.exec(string)) && cM.getCursor().ch > match.index+match[0].length);
|
||||||
|
|
||||||
oldBlock = top.get('content').contentWindow.document.getElementById('cssColor');
|
oldBlock = top.get('content').contentWindow.document.getElementById('cssColor');
|
||||||
if (oldBlock) {oldBlock.parentNode.removeChild(oldBlock)};
|
if (oldBlock) {oldBlock.parentNode.removeChild(oldBlock)};
|
||||||
if (top.ICEcoder.codeAssist && top.ICEcoder.caretLocType=="CSS") {
|
if (top.ICEcoder.codeAssist && top.ICEcoder.caretLocType=="CSS") {
|
||||||
newBlock = top.document.createElement("div");
|
newBlock = top.document.createElement("div");
|
||||||
newBlock.id = "cssColor";
|
newBlock.id = "cssColor";
|
||||||
newBlock.style.position = "absolute";
|
newBlock.style.position = "absolute";
|
||||||
newBlock.style.display = "block";
|
newBlock.style.display = "block";
|
||||||
newBlock.style.width = newBlock.style.height = "20px";
|
newBlock.style.width = newBlock.style.height = "20px";
|
||||||
newBlock.style.zIndex = "1000";
|
newBlock.style.zIndex = "1000";
|
||||||
newBlock.style.background = match ? match[0] : '';
|
newBlock.style.background = match ? match[0] : '';
|
||||||
newBlock.style.cursor = "pointer";
|
newBlock.style.cursor = "pointer";
|
||||||
newBlock.onclick = function() {top.ICEcoder.showColorPicker(match[0])};
|
newBlock.onclick = function() {top.ICEcoder.showColorPicker(match[0])};
|
||||||
if (newBlock.style.backgroundColor=="") {newBlock.style.display = "none"};
|
if (newBlock.style.backgroundColor=="") {newBlock.style.display = "none"};
|
||||||
top.get('header').appendChild(newBlock);
|
top.get('header').appendChild(newBlock);
|
||||||
cM.addWidget(cM.getCursor(), top.get('cssColor'), true);
|
cM.addWidget(cM.getCursor(), top.get('cssColor'), true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -1581,6 +1662,7 @@ var ICEcoder = {
|
|||||||
|
|
||||||
cM = ICEcoder.getcMInstance();
|
cM = ICEcoder.getcMInstance();
|
||||||
top.ICEcoder.codeAssist = !top.ICEcoder.codeAssist;
|
top.ICEcoder.codeAssist = !top.ICEcoder.codeAssist;
|
||||||
|
top.get('codeAssistDisplay').style.backgroundPosition = top.ICEcoder.codeAssist ? "0 0" : "-16px 0";
|
||||||
top.ICEcoder.cssColorPreview();
|
top.ICEcoder.cssColorPreview();
|
||||||
top.ICEcoder.focus();
|
top.ICEcoder.focus();
|
||||||
|
|
||||||
@@ -1675,7 +1757,7 @@ var ICEcoder = {
|
|||||||
// Show the settings screen
|
// Show the settings screen
|
||||||
settingsScreen: function(hide) {
|
settingsScreen: function(hide) {
|
||||||
if (!hide) {
|
if (!hide) {
|
||||||
top.get('mediaContainer').innerHTML = '<iframe src="lib/settings-screen.php" class="whiteGlow" style="width: 970px; height: 600px"></iframe>';
|
top.get('mediaContainer').innerHTML = '<iframe src="lib/settings-screen.php" class="whiteGlow" style="width: 970px; height: 610px"></iframe>';
|
||||||
}
|
}
|
||||||
top.ICEcoder.showHide(hide?'hide':'show',top.get('blackMask'));
|
top.ICEcoder.showHide(hide?'hide':'show',top.get('blackMask'));
|
||||||
},
|
},
|
||||||
@@ -1699,7 +1781,7 @@ var ICEcoder = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
// Update the settings used when we make a change to them
|
// Update the settings used when we make a change to them
|
||||||
useNewSettings: function(themeURL,codeAssist,lockedNav,tagWrapperCommand,visibleTabs,fontSize,lineWrapping,indentWithTabs,indentSize,refreshFM) {
|
useNewSettings: function(themeURL,codeAssist,lockedNav,tagWrapperCommand,autoComplete,visibleTabs,fontSize,lineWrapping,indentWithTabs,indentSize,refreshFM) {
|
||||||
var styleNode, strCSS, cMCSS, activeLineBG;
|
var styleNode, strCSS, cMCSS, activeLineBG;
|
||||||
|
|
||||||
// Add new stylesheet for selected theme
|
// Add new stylesheet for selected theme
|
||||||
@@ -1710,7 +1792,7 @@ var ICEcoder = {
|
|||||||
styleNode.setAttribute('type', 'text/css');
|
styleNode.setAttribute('type', 'text/css');
|
||||||
styleNode.setAttribute('href', themeURL);
|
styleNode.setAttribute('href', themeURL);
|
||||||
top.ICEcoder.content.contentWindow.document.getElementsByTagName('head')[0].appendChild(styleNode);
|
top.ICEcoder.content.contentWindow.document.getElementsByTagName('head')[0].appendChild(styleNode);
|
||||||
activeLineBG = ["3024-day","base16-light","eclipse","elegant","neat","solarized","xq-light"].indexOf(top.ICEcoder.theme)>-1 ? "#ccc": "#000";
|
activeLineBG = ["3024-day","base16-light","eclipse","elegant","neat","paraiso-light","solarized","xq-light"].indexOf(top.ICEcoder.theme)>-1 ? "#ccc": "#000";
|
||||||
top.ICEcoder.switchTab(top.ICEcoder.selectedTab);
|
top.ICEcoder.switchTab(top.ICEcoder.selectedTab);
|
||||||
|
|
||||||
// Check/uncheck Code Assist setting
|
// Check/uncheck Code Assist setting
|
||||||
@@ -1729,7 +1811,8 @@ var ICEcoder = {
|
|||||||
cMCSS = ICEcoder.content.contentWindow.document.styleSheets[4];
|
cMCSS = ICEcoder.content.contentWindow.document.styleSheets[4];
|
||||||
strCSS = cMCSS.rules ? 'rules' : 'cssRules';
|
strCSS = cMCSS.rules ? 'rules' : 'cssRules';
|
||||||
cMCSS[strCSS][0].style['fontSize'] = fontSize;
|
cMCSS[strCSS][0].style['fontSize'] = fontSize;
|
||||||
cMCSS[strCSS][4].style['content'] = visibleTabs ? '"\\21e5"' : '" "';
|
cMCSS[strCSS][4].style['border-left-width'] = visibleTabs ? '1px' : '0';
|
||||||
|
cMCSS[strCSS][4].style['margin-left'] = visibleTabs ? '-1px' : '0';
|
||||||
cMCSS[strCSS][2].style.cssText = "background-color: " + activeLineBG + " !important";
|
cMCSS[strCSS][2].style.cssText = "background-color: " + activeLineBG + " !important";
|
||||||
|
|
||||||
top.ICEcoder.lineWrapping = lineWrapping;
|
top.ICEcoder.lineWrapping = lineWrapping;
|
||||||
@@ -1746,6 +1829,10 @@ var ICEcoder = {
|
|||||||
top.ICEcoder.tagWrapperCommand = tagWrapperCommand;
|
top.ICEcoder.tagWrapperCommand = tagWrapperCommand;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (autoComplete != top.ICEcoder.autoComplete) {
|
||||||
|
top.ICEcoder.autoComplete = autoComplete;
|
||||||
|
}
|
||||||
|
|
||||||
// Finally, refresh the file manager if we need to
|
// Finally, refresh the file manager if we need to
|
||||||
if (refreshFM) {top.ICEcoder.refreshFileManager()};
|
if (refreshFM) {top.ICEcoder.refreshFileManager()};
|
||||||
},
|
},
|
||||||
@@ -1776,6 +1863,12 @@ var ICEcoder = {
|
|||||||
top.ICEcoder.filesFrame.contentWindow.frames['fileControl'].location.href="plugins/zip-it/index.php?zip="+tgt;
|
top.ICEcoder.filesFrame.contentWindow.frames['fileControl'].location.href="plugins/zip-it/index.php?zip="+tgt;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Prompt to download our file
|
||||||
|
downloadFile: function(file) {
|
||||||
|
file=file.replace(/\//g,"|");
|
||||||
|
top.ICEcoder.filesFrame.contentWindow.frames['fileControl'].location.href="lib/download.php?file="+file;
|
||||||
|
},
|
||||||
|
|
||||||
// Change permissions on a file/folder
|
// Change permissions on a file/folder
|
||||||
chmod: function(file,perms) {
|
chmod: function(file,perms) {
|
||||||
file = file.replace(top.iceRoot,"");
|
file = file.replace(top.iceRoot,"");
|
||||||
@@ -1937,7 +2030,7 @@ var ICEcoder = {
|
|||||||
top.ICEcoder.selectedTab=top.ICEcoder.openFiles.length;
|
top.ICEcoder.selectedTab=top.ICEcoder.openFiles.length;
|
||||||
|
|
||||||
// Add a new value ready to indicate if this content has been changed
|
// Add a new value ready to indicate if this content has been changed
|
||||||
top.ICEcoder.changedContent.push(0);
|
top.ICEcoder.savedPoints.push(0);
|
||||||
|
|
||||||
top.ICEcoder.setPreviousFiles();
|
top.ICEcoder.setPreviousFiles();
|
||||||
},
|
},
|
||||||
@@ -1976,11 +2069,12 @@ var ICEcoder = {
|
|||||||
redoTabHighlight: function(selectedTab) {
|
redoTabHighlight: function(selectedTab) {
|
||||||
var tColor, fileLink;
|
var tColor, fileLink;
|
||||||
|
|
||||||
for(var i=1;i<=ICEcoder.changedContent.length;i++) {
|
for(var i=1;i<=ICEcoder.savedPoints.length;i++) {
|
||||||
if (top.get('tab'+i).childNodes[0]) {
|
if (top.get('tab'+i).childNodes[0]) {
|
||||||
top.get('tab'+i).childNodes[0].childNodes[0].style.backgroundColor = ICEcoder.changedContent[i-1]==1
|
top.get('tab'+i).childNodes[0].childNodes[0].style.backgroundColor = ICEcoder.savedPoints[i-1]!=top.ICEcoder.getcMInstance(i).changeGeneration()
|
||||||
? "#b00" : "transparent";
|
? "#b00" : "transparent";
|
||||||
}
|
}
|
||||||
|
|
||||||
tColor = i==selectedTab ? top.ICEcoder.tabFGselected : top.ICEcoder.tabFGnormalTab;
|
tColor = i==selectedTab ? top.ICEcoder.tabFGselected : top.ICEcoder.tabFGnormalTab;
|
||||||
if ("undefined" != typeof top.ICEcoder.openFiles[i-1] && top.ICEcoder.openFiles[i-1] != "/[NEW]") {
|
if ("undefined" != typeof top.ICEcoder.openFiles[i-1] && top.ICEcoder.openFiles[i-1] != "/[NEW]") {
|
||||||
fileLink = top.ICEcoder.filesFrame.contentWindow.document.getElementById(top.ICEcoder.openFiles[i-1].replace(/\//g,"|"));
|
fileLink = top.ICEcoder.filesFrame.contentWindow.document.getElementById(top.ICEcoder.openFiles[i-1].replace(/\//g,"|"));
|
||||||
@@ -1992,7 +2086,9 @@ var ICEcoder = {
|
|||||||
top.get('tab'+i).style.color = tColor;
|
top.get('tab'+i).style.color = tColor;
|
||||||
top.get('tab'+i).style.background = i==selectedTab ? top.ICEcoder.tabBGcurrent : top.ICEcoder.tabBGopen;
|
top.get('tab'+i).style.background = i==selectedTab ? top.ICEcoder.tabBGcurrent : top.ICEcoder.tabBGopen;
|
||||||
}
|
}
|
||||||
top.ICEcoder.fMIconVis('fMSave',ICEcoder.changedContent[selectedTab-1]==1 ? 1 : 0.3);
|
if (top.ICEcoder.getcMInstance(selectedTab)) {
|
||||||
|
top.ICEcoder.fMIconVis('fMSave',ICEcoder.savedPoints[selectedTab-1]!=top.ICEcoder.getcMInstance(selectedTab).changeGeneration() ? 1 : 0.3);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
// Close the tab upon request
|
// Close the tab upon request
|
||||||
@@ -2004,7 +2100,7 @@ var ICEcoder = {
|
|||||||
|
|
||||||
cM = ICEcoder.getcMInstance();
|
cM = ICEcoder.getcMInstance();
|
||||||
okToRemove = true;
|
okToRemove = true;
|
||||||
if (!dontAsk && ICEcoder.changedContent[closeTabNum-1]==1) {
|
if (!dontAsk && ICEcoder.savedPoints[closeTabNum-1]!=top.ICEcoder.getcMInstance(closeTabNum).changeGeneration()) {
|
||||||
okToRemove = top.ICEcoder.ask('You have made changes.\n\nAre you sure you want to close without saving?');
|
okToRemove = top.ICEcoder.ask('You have made changes.\n\nAre you sure you want to close without saving?');
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2043,7 +2139,7 @@ var ICEcoder = {
|
|||||||
ICEcoder.switchTab(ICEcoder.selectedTab);
|
ICEcoder.switchTab(ICEcoder.selectedTab);
|
||||||
}
|
}
|
||||||
// Highlight the selected tab after splicing the change state out of the array
|
// Highlight the selected tab after splicing the change state out of the array
|
||||||
top.ICEcoder.changedContent.splice(closeTabNum-1,1);
|
top.ICEcoder.savedPoints.splice(closeTabNum-1,1);
|
||||||
top.ICEcoder.redoTabHighlight(ICEcoder.selectedTab);
|
top.ICEcoder.redoTabHighlight(ICEcoder.selectedTab);
|
||||||
|
|
||||||
// Update the nesting indicator
|
// Update the nesting indicator
|
||||||
@@ -2077,7 +2173,7 @@ var ICEcoder = {
|
|||||||
var availWidth, avgWidth, tabWidth, lastLeft, lastWidth;
|
var availWidth, avgWidth, tabWidth, lastLeft, lastWidth;
|
||||||
|
|
||||||
if (top.ICEcoder.ready) {
|
if (top.ICEcoder.ready) {
|
||||||
availWidth = parseInt(top.ICEcoder.content.style.width,10)-53-24-10; // - left margin - new tab - right margin
|
availWidth = parseInt(top.ICEcoder.content.style.width,10)-53-22-10; // - left margin - new tab - right margin
|
||||||
avgWidth = (availWidth/top.ICEcoder.openFiles.length)-18;
|
avgWidth = (availWidth/top.ICEcoder.openFiles.length)-18;
|
||||||
tabWidth = -18; // Incl 18px offset
|
tabWidth = -18; // Incl 18px offset
|
||||||
lastLeft = 53;
|
lastLeft = 53;
|
||||||
@@ -2188,11 +2284,11 @@ var ICEcoder = {
|
|||||||
|
|
||||||
// Sort tabs into new order
|
// Sort tabs into new order
|
||||||
sortTabs: function(newOrder) {
|
sortTabs: function(newOrder) {
|
||||||
var a, b, changedContent = [], openFiles = [], openFileMDTs = [], cMInstances = [], selectedTabWillBe;
|
var a, b, savedPoints = [], openFiles = [], openFileMDTs = [], cMInstances = [], selectedTabWillBe;
|
||||||
|
|
||||||
// Setup an array of our actual arrays and the blank ones
|
// Setup an array of our actual arrays and the blank ones
|
||||||
a = [ICEcoder.changedContent, ICEcoder.openFiles, ICEcoder.openFileMDTs, ICEcoder.cMInstances];
|
a = [ICEcoder.savedPoints, ICEcoder.openFiles, ICEcoder.openFileMDTs, ICEcoder.cMInstances];
|
||||||
b = [changedContent, openFiles, openFileMDTs, cMInstances];
|
b = [savedPoints, openFiles, openFileMDTs, cMInstances];
|
||||||
// Push the new order values into array b then set into array a
|
// Push the new order values into array b then set into array a
|
||||||
for (var i=0;i<a.length;i++) {
|
for (var i=0;i<a.length;i++) {
|
||||||
for (var j=0;j<a[i].length;j++) {
|
for (var j=0;j<a[i].length;j++) {
|
||||||
@@ -2216,7 +2312,7 @@ var ICEcoder = {
|
|||||||
top.get('tab'+selectedTabWillBe).className = "tab tabSlide";
|
top.get('tab'+selectedTabWillBe).className = "tab tabSlide";
|
||||||
}
|
}
|
||||||
// Finally, set the array values, tab widths and switch tab
|
// Finally, set the array values, tab widths and switch tab
|
||||||
ICEcoder.changedContent = a[0];
|
ICEcoder.savedPoints = a[0];
|
||||||
ICEcoder.openFiles = a[1];
|
ICEcoder.openFiles = a[1];
|
||||||
ICEcoder.openFileMDTs = a[2];
|
ICEcoder.openFileMDTs = a[2];
|
||||||
ICEcoder.cMInstances = a[3];
|
ICEcoder.cMInstances = a[3];
|
||||||
|
|||||||
210
lib/ice-coder.min.js
vendored
@@ -1,112 +1,118 @@
|
|||||||
var get=function(a){return top.document.getElementById(a)},ICEcoder={filesW:250,minFilesW:14,maxFilesW:250,selectedTab:0,changedContent:[],canSwitchTabs:!0,openFiles:[],openFileMDTs:[],cMInstances:[],nextcMInstance:1,selectedFiles:[],findMode:!1,lockedNav:!0,htmlTagArray:[],mouseDown:!1,draggingFilesW:!1,draggingTab:!1,tabLeftPos:[],tabBGcurrent:"#141414",tabBGselected:"#49d",tabBGopen:"#aaa",tabBGnormal:"transparent",tabFGcurrent:"#fff",tabFGselected:"#fff",tabFGopenFile:"#000",tabFGnormalFile:"#eee",
|
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,lockedNav:!0,htmlTagArray:[],mouseDown:!1,draggingFilesW:!1,draggingTab:!1,draggingWithKey:!1,tabLeftPos:[],tabBGcurrent:"#141414",tabBGselected:"#49d",tabBGopen:"#c3c3c3",tabBGnormal:"transparent",tabFGcurrent:"#fff",tabFGselected:"#fff",tabFGopenFile:"#000",
|
||||||
tabFGnormalTab:"#000",serverQueueItems:[],previewWindow:!1,pluginIntervalRefs:[],overPopup:!1,cmdKey:!1,fmReady:!1,ready:!1,initAliases:function(){for(var a="header files account fmLock filesFrame editor tabsBar findBar content footer system nestValid nestDisplay charDisplay byteDisplay".split(" "),b=0;b<a.length;b++)ICEcoder[a[b]]=top.get(a[b])},init:function(){var a,b;ICEcoder.setLayout();top.ICEcoder.showHide("hide",top.get("loadingMask"));top.ICEcoder.autoOpenInt=setInterval(function(){top.ICEcoder.fmReady&&
|
tabFGnormalFile:"#eee",tabFGnormalTab:"#888",serverQueueItems:[],previewWindow:!1,pluginIntervalRefs:[],overPopup:!1,cmdKey:!1,fmReady:!1,ready:!1,initAliases:function(){for(var a="header files account filesFrame editor tabsBar findBar content footer nestValid nestDisplay charDisplay byteDisplay".split(" "),b=0;b<a.length;b++)ICEcoder[a[b]]=top.get(a[b])},init:function(){var a,b;ICEcoder.setLayout();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);a=top.get("screenMode");b=["images/restored-screen.gif","images/full-screen.gif"];document.addEventListener("fullscreenchange",function(){a.src=document.fullscreen?b[0]:b[1]},!1);document.addEventListener("mozfullscreenchange",function(){a.src=document.mozFullScreen?b[0]:b[1]},!1);document.addEventListener("webkitfullscreenchange",function(){a.src=
|
(top.ICEcoder.openLastFiles&&top.ICEcoder.autoOpenFiles(),clearInterval(top.ICEcoder.autoOpenInt))},4);setInterval(ICEcoder.updateNestingIndicator,30);a=top.get("screenMode");b=["images/restored-screen.gif","images/full-screen.gif"];document.addEventListener("fullscreenchange",function(){a.src=document.fullscreen?b[0]:b[1]},!1);document.addEventListener("mozfullscreenchange",function(){a.src=document.mozFullScreen?b[0]:b[1]},!1);document.addEventListener("webkitfullscreenchange",function(){a.src=
|
||||||
document.webkitIsFullScreen?b[0]:b[1]},!1);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.account.style.height=this.accountH+"px";this.fmLock.style.marginLeft=this.filesW-42+"px";this.filesFrame.style.height=c-40-50-30+"px";this.nestValid.style.left=this.filesW+10+"px";this.nestDisplay.style.left=this.filesW+
|
document.webkitIsFullScreen?b[0]:b[1]},!1);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.account.style.height=this.accountH+"px";this.filesFrame.style.height=c-25-45+"px";this.nestValid.style.left=this.filesW+10+"px";this.nestDisplay.style.left=this.filesW+17+"px";top.ICEcoder.setTabWidths();a||(this.editor.style.width=
|
||||||
17+"px";top.ICEcoder.setTabWidths();a||(this.editor.style.width=ICEcoder.content.style.width=b-this.filesW+"px",ICEcoder.content.style.height=c-40-30-21-28+"px",setTimeout(function(){for(var a=0;a<top.ICEcoder.openFiles.length;a++)top.ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[a]].setSize("100%",top.ICEcoder.content.style.height)},4))},changeFilesW:function(a){ICEcoder.lockedNav&&ICEcoder.filesW!=ICEcoder.minFilesW||("undefined"!=typeof ICEcoder.changeFilesInt&&clearInterval(ICEcoder.changeFilesInt),
|
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.content.contentWindow["cM"+ICEcoder.cMInstances[a]].setSize("100%",top.ICEcoder.content.style.height)},4))},changeFilesW:function(a){ICEcoder.lockedNav&&ICEcoder.filesW!=ICEcoder.minFilesW||("undefined"!=typeof ICEcoder.changeFilesInt&&clearInterval(ICEcoder.changeFilesInt),ICEcoder.changeFilesInt=setInterval(function(){ICEcoder.changeFilesWStep(a)},
|
||||||
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)&&
|
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&&
|
||||||
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.account.style.width=top.ICEcoder.filesFrame.style.width=top.ICEcoder.filesW+"px",top.ICEcoder.setLayout(),top.ICEcoder.draggingFilesW=!0):
|
"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.account.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.filesFrame.contentWindow.document.getElementById("fmLock");
|
||||||
top.ICEcoder.draggingFilesW=!1},lockUnlockNav:function(){var a;a=top.get("fmLock");ICEcoder.lockedNav=!ICEcoder.lockedNav;a.style.backgroundPosition=ICEcoder.lockedNav?"-64px -16px":"-80px -16px"},contentCleanUp:function(){var a,b;a=ICEcoder.getcMInstance();b=a.getValue();b=b.replace(/<ICEcoder:\/:textarea>/g,"</textarea>");a.setValue(b);a.clearHistory()},moveLines:function(a){var b,c,d,e,f;b=top.ICEcoder.getcMInstance();c=b.getCursor("start");d=b.getCursor("end");"up"==a&&0<c.line&&(e=c.line-1);
|
ICEcoder.lockedNav=!ICEcoder.lockedNav;a.style.backgroundPosition=ICEcoder.lockedNav?"-64px -16px":"-80px -16px"},showHidePlugins:function(a){get("plugins").style.width="show"==a?"55px":"3px";get("plugins").style.background="show"==a?"#333":"transparent";"show"==a&&ICEcoder.changeFilesW("expand")},contentCleanUp:function(){var a,b;a=ICEcoder.getcMInstance();b=a.getValue();b=b.replace(/<ICEcoder:\/:textarea>/g,"</textarea>");a.setValue(b);a.clearHistory();top.ICEcoder.savedPoints[top.ICEcoder.selectedTab-
|
||||||
"down"==a&&d.line<b.lineCount()-1&&(e=d.line+1);isNaN(e)||(f=b.getLine(e),b.operation(function(){if("up"==a)for(var e=c.line;e<=d.line;e++)b.setLine(e-1,b.getLine(e));else for(e=d.line;e>=c.line;e--)b.setLine(e+1,b.getLine(e));b.setLine("up"==a?d.line:c.line,f);b.setSelection({line:c.line+("up"==a?-1:1),ch:c.ch},{line:d.line+("up"==a?-1:1),ch:d.ch})}))},highlightLine:function(a){var b;b=top.ICEcoder.getcMInstance();b.setSelection({line:a,ch:0},{line:a,ch:b.lineInfo(a).text.length})},focus:function(){var a;
|
1]=a.changeGeneration()},moveLines:function(a){var b,c,d,e,f;b=top.ICEcoder.getcMInstance();c=b.getCursor("start");d=b.getCursor("end");"up"==a&&0<c.line&&(e=c.line-1);"down"==a&&d.line<b.lineCount()-1&&(e=d.line+1);isNaN(e)||(f=b.getLine(e),b.operation(function(){if("up"==a)for(var e=c.line;e<=d.line;e++)b.setLine(e-1,b.getLine(e));else for(e=d.line;e>=c.line;e--)b.setLine(e+1,b.getLine(e));b.setLine("up"==a?d.line:c.line,f);b.setSelection({line:c.line+("up"==a?-1:1),ch:c.ch},{line:d.line+("up"==
|
||||||
/iPhone|iPad|iPod/i.test(navigator.userAgent)||(a=top.ICEcoder.getcMInstance(),a.focus())},goToLine:function(a){ICEcoder.getcMInstance().setCursor(a?a-1:top.get("goToLineNo").value-1);top.ICEcoder.focus();return!1},switchMode:function(a){var b,c;b=ICEcoder.getcMInstance();c=ICEcoder.openFiles[ICEcoder.selectedTab-1];a?b.setOption("mode",a):c&&(0<c.indexOf(".js")?b.setOption("mode","javascript"):0<c.indexOf(".coffee")?b.setOption("mode","coffeescript"):0<c.indexOf(".rb")?b.setOption("mode","ruby"):
|
a?-1:1),ch:d.ch})}))},highlightLine:function(a){var b;b=top.ICEcoder.getcMInstance();b.setSelection({line:a,ch:0},{line:a,ch:b.lineInfo(a).text.length})},focus:function(){var a;/iPhone|iPad|iPod/i.test(navigator.userAgent)||(a=top.ICEcoder.getcMInstance())&&a.focus()},goToLine:function(a){ICEcoder.getcMInstance().setCursor(a?a-1:top.get("goToLineNo").value-1);top.ICEcoder.focus();return!1},switchMode:function(a){var b,c;b=ICEcoder.getcMInstance();c=ICEcoder.openFiles[ICEcoder.selectedTab-1];b&&a?
|
||||||
0<c.indexOf(".py")?b.setOption("mode","python"):0<c.indexOf(".css")?b.setOption("mode","css"):0<c.indexOf(".less")?b.setOption("mode","less"):0<c.indexOf(".md")?b.setOption("mode","markdown"):0<c.indexOf(".xml")?b.setOption("mode","xml"):0<c.indexOf(".sql")?b.setOption("mode","text/x-mysql"):b.setOption("mode","application/x-httpd-php"))},lineCommentToggle:function(){var a,b,c,d,e,f;a=ICEcoder.getcMInstance();b=a.getCursor().ch;c=a.getCursor().line;d=a.getLine(c);e=d.length;f=2;if(-1<"JavaScript CoffeeScript PHP Python Ruby CSS SQL".split(" ").indexOf(ICEcoder.caretLocType))if(a.somethingSelected())if("Ruby"==
|
b.setOption("mode",a):b&&c&&(0<c.indexOf(".js")?b.setOption("mode","javascript"):0<c.indexOf(".coffee")?b.setOption("mode","coffeescript"):0<c.indexOf(".rb")?b.setOption("mode","ruby"):0<c.indexOf(".py")?b.setOption("mode","python"):0<c.indexOf(".css")?b.setOption("mode","css"):0<c.indexOf(".less")?b.setOption("mode","less"):0<c.indexOf(".md")?b.setOption("mode","markdown"):0<c.indexOf(".xml")?b.setOption("mode","xml"):0<c.indexOf(".sql")?b.setOption("mode","text/x-mysql"):b.setOption("mode","application/x-httpd-php"))},
|
||||||
ICEcoder.caretLocType||"Python"==ICEcoder.caretLocType)for(e=a.getCursor(!0).line,d=a.getCursor().line;e<=d;e++)a.setLine(e,"#"!=a.getLine(e).slice(0,1)?"#"+a.getLine(e):a.getLine(e).slice(1,a.getLine(e).length));else a.replaceSelection("/*"!=a.getSelection().slice(0,2)?"/*"+a.getSelection()+"*/":a.getSelection().slice(2,a.getSelection().length-2));else-1<["CoffeeScript","CSS","SQL"].indexOf(ICEcoder.caretLocType)?(a.setLine(c,"/*"!=d.slice(0,2)?"/*"+d+"*/":d.slice(2,e).slice(0,e-4)),"/*"==d.slice(0,
|
lineCommentToggle:function(){var a,b,c,d,e,f;a=ICEcoder.getcMInstance();b=a.getCursor().ch;c=a.getCursor().line;d=a.getLine(c);e=d.length;f=2;if(-1<"JavaScript CoffeeScript PHP Python Ruby CSS SQL".split(" ").indexOf(ICEcoder.caretLocType))if(a.somethingSelected())if("Ruby"==ICEcoder.caretLocType||"Python"==ICEcoder.caretLocType)for(e=a.getCursor(!0).line,d=a.getCursor().line;e<=d;e++)a.setLine(e,"#"!=a.getLine(e).slice(0,1)?"#"+a.getLine(e):a.getLine(e).slice(1,a.getLine(e).length));else a.replaceSelection("/*"!=
|
||||||
2)&&(f=-f)):"Ruby"==ICEcoder.caretLocType?(a.setLine(c,"#"!=d.slice(0,1)?"#"+d:d.slice(1,e)),"#"==d.slice(0,1)&&(f=-f)):(a.setLine(c,"//"!=d.slice(0,2)?"//"+d:d.slice(2,e)),"//"==d.slice(0,2)&&(f=-f));else a.somethingSelected()?a.replaceSelection("\x3c!--"!=a.getSelection().slice(0,4)?"\x3c!--"+a.getSelection()+"//--\x3e":a.getSelection().slice(4,a.getSelection().length-5)):(a.setLine(c,"\x3c!--"!=d.slice(0,4)?"\x3c!--"+d+"//--\x3e":d.slice(4,e).slice(0,e-9)),f="\x3c!--"==d.slice(0,4)?-4:4);a.somethingSelected()||
|
a.getSelection().slice(0,2)?"/*"+a.getSelection()+"*/":a.getSelection().slice(2,a.getSelection().length-2));else-1<["CoffeeScript","CSS","SQL"].indexOf(ICEcoder.caretLocType)?(a.setLine(c,"/*"!=d.slice(0,2)?"/*"+d+"*/":d.slice(2,e).slice(0,e-4)),"/*"==d.slice(0,2)&&(f=-f)):"Ruby"==ICEcoder.caretLocType?(a.setLine(c,"#"!=d.slice(0,1)?"#"+d:d.slice(1,e)),"#"==d.slice(0,1)&&(f=-f)):(a.setLine(c,"//"!=d.slice(0,2)?"//"+d:d.slice(2,e)),"//"==d.slice(0,2)&&(f=-f));else a.somethingSelected()?a.replaceSelection("\x3c!--"!=
|
||||||
a.setCursor(c,b+f)},highlightBlock:function(a,b){var c,d,e,f;c=top.ICEcoder.getcMInstance();if(b)top.ICEcoder.dontUpdateNest?c.setCursor(top.ICEcoder.cursorOrigLine,top.ICEcoder.cursorOrigCh):top.ICEcoder.getNestLocation("updateNestDisplay"),top.ICEcoder.dontUpdateNest=!1;else{top.ICEcoder.cursorOrigCh=c.getCursor().ch;top.ICEcoder.cursorOrigLine=c.getCursor().line;top.ICEcoder.dontUpdateNest=!0;d={};d.ch=c.getCursor().ch;d.line=c.getCursor().line;for(var g=top.ICEcoder.htmlTagArray.length-1;g>=a;g--)e=
|
a.getSelection().slice(0,4)?"\x3c!--"+a.getSelection()+"//--\x3e":a.getSelection().slice(4,a.getSelection().length-5)):(a.setLine(c,"\x3c!--"!=d.slice(0,4)?"\x3c!--"+d+"//--\x3e":d.slice(4,e).slice(0,e-9)),f="\x3c!--"==d.slice(0,4)?-4:4);a.somethingSelected()||a.setCursor(c,b+f)},highlightBlock:function(a,b){var c,d,e,f;c=top.ICEcoder.getcMInstance();if(b)top.ICEcoder.dontUpdateNest?c.setCursor(top.ICEcoder.cursorOrigLine,top.ICEcoder.cursorOrigCh):top.ICEcoder.getNestLocation("updateNestDisplay"),
|
||||||
c.getSearchCursor("<"+top.ICEcoder.htmlTagArray[g],d),e.findPrevious(),d.ch=e.from().ch,d.line=e.from().line,g==a&&(f=c.getSearchCursor(">",d),f.findNext(),c.setCursor(f.from().line,f.from().ch+1),top.ICEcoder.getNestLocation(),ICEcoder.htmlTagArray.length-1!=a&&g++);e.from()&&(d={},top.ICEcoder.startPosLine=d.line=e.from().line,top.ICEcoder.startPosCh=d.ch=e.from().ch,e={},e.line=top.ICEcoder.content.contentWindow.CodeMirror.tagRangeFinder(c,d)||d.line,e.line=e.line.to?e.line.to.line:e.line,e.ch=
|
top.ICEcoder.dontUpdateNest=!1;else{top.ICEcoder.cursorOrigCh=c.getCursor().ch;top.ICEcoder.cursorOrigLine=c.getCursor().line;top.ICEcoder.dontUpdateNest=!0;d={};d.ch=c.getCursor().ch;d.line=c.getCursor().line;for(var g=top.ICEcoder.htmlTagArray.length-1;g>=a;g--)e=c.getSearchCursor("<"+top.ICEcoder.htmlTagArray[g],d),e.findPrevious(),d.ch=e.from().ch,d.line=e.from().line,g==a&&(f=c.getSearchCursor(">",d),f.findNext(),c.setCursor(f.from().line,f.from().ch+1),top.ICEcoder.getNestLocation(),ICEcoder.htmlTagArray.length-
|
||||||
c.getLine(e.line).indexOf("</"+top.ICEcoder.htmlTagArray[a]+">")+top.ICEcoder.htmlTagArray[a].length+3,top.ICEcoder.dontSelect?top.ICEcoder.dontSelect=!1:c.setSelection(d,e),c.scrollIntoView(d))}},setPosition:function(a,b,c){var d;d=ICEcoder.getcMInstance();c=d.getLine(b).indexOf(">",d.getLine(b).indexOf("<"+c))+1;d.setCursor(b,c);top.ICEcoder.focus();for(d=b=0;d<=a;d++)b=ICEcoder.nestDisplay.innerHTML.indexOf(">",b+1);ICEcoder.nestDisplay.innerHTML=ICEcoder.nestDisplay.innerHTML.substr(0,b).replace(/<(?:.|\n)*?>/gm,
|
1!=a&&g++);e.from()&&(d={},top.ICEcoder.startPosLine=d.line=e.from().line,top.ICEcoder.startPosCh=d.ch=e.from().ch,e={},e.line=top.ICEcoder.content.contentWindow.CodeMirror.tagRangeFinder(c,d)||d.line,e.line=e.line.to?e.line.to.line:e.line,e.ch=c.getLine(e.line).indexOf("</"+top.ICEcoder.htmlTagArray[a]+">")+top.ICEcoder.htmlTagArray[a].length+3,top.ICEcoder.dontSelect?top.ICEcoder.dontSelect=!1:c.setSelection(d,e),c.scrollIntoView(d))}},setPosition:function(a,b,c){var d;d=ICEcoder.getcMInstance();
|
||||||
"");top.ICEcoder.dontUpdateNest=!1;top.ICEcoder.dontSelect=!0},tagWrapper:function(a){var b,c,d,e;b=ICEcoder.getcMInstance();c=a;"div"==a?(d=b.getCursor("start").line,e=b.getCursor().line,b.operation(function(){b.replaceSelection("<div>\n"+b.getSelection()+"\n</div>");for(var a=d+1;a<=e+1;a++)b.indentLine(a);b.indentLine(e+2,"prev");b.indentLine(e+2,"subtract")})):-1<"p a b i strong em h1 h2 h3 h4 h5 h6".split(" ").indexOf(a)&&b.getSelection().substr(0,a.length+1)=="<"+c&&b.getSelection().substr(-(a.length+
|
c=d.getLine(b).indexOf(">",d.getLine(b).indexOf("<"+c))+1;d.setCursor(b,c);top.ICEcoder.focus();for(d=b=0;d<=a;d++)b=ICEcoder.nestDisplay.innerHTML.indexOf(">",b+1);ICEcoder.nestDisplay.innerHTML=ICEcoder.nestDisplay.innerHTML.substr(0,b).replace(/<(?:.|\n)*?>/gm,"");top.ICEcoder.dontUpdateNest=!1;top.ICEcoder.dontSelect=!0},tagWrapper:function(a){var b,c,d,e;b=ICEcoder.getcMInstance();c=a;"div"==a?(d=b.getCursor("start").line,e=b.getCursor().line,b.operation(function(){b.replaceSelection("<div>\n"+
|
||||||
3))=="</"+a+">"?b.replaceSelection(b.getSelection().substr(b.getSelection().indexOf(">")+1,b.getSelection().length-b.getSelection().indexOf(">")-1-a.length-3)):("a"==a&&(c='a href=""'),b.replaceSelection("<"+c+">"+b.getSelection()+"</"+a+">"),"a"==a&&b.setCursor({line:b.getCursor("start").line,ch:b.getCursor("start").ch+9}))},addLineBreakAtEnd:function(a){var b;b=ICEcoder.getcMInstance();a||(a=b.getCursor().line);b.setLine(a,b.getLine(a)+"<br>")},duplicateLines:function(a){var b,c,d;b=ICEcoder.getcMInstance();
|
b.getSelection()+"\n</div>");for(var a=d+1;a<=e+1;a++)b.indentLine(a);b.indentLine(e+2,"prev");b.indentLine(e+2,"subtract")})):-1<"p a b i strong em h1 h2 h3 h4 h5 h6".split(" ").indexOf(a)&&b.getSelection().substr(0,a.length+1)=="<"+c&&b.getSelection().substr(-(a.length+3))=="</"+a+">"?b.replaceSelection(b.getSelection().substr(b.getSelection().indexOf(">")+1,b.getSelection().length-b.getSelection().indexOf(">")-1-a.length-3)):("a"==a&&(c='a href=""'),b.replaceSelection("<"+c+">"+b.getSelection()+
|
||||||
!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(),"start"),b.setSelection(c,d)):(a||(a=b.getCursor().line),c=b.getCursor().ch,b.setLine(a,b.getLine(a)+"\n"+b.getLine(a)),b.setCursor(a+1,c))},removeLines:function(a){var b,c;b=ICEcoder.getcMInstance();!a&&b.somethingSelected()?b.replaceSelection(""):(a||(a=b.getCursor().line),c=b.getCursor().ch,b.removeLine(a),b.setCursor(a-
|
"</"+a+">"),"a"==a&&b.setCursor({line:b.getCursor("start").line,ch:b.getCursor("start").ch+9}))},addLineBreakAtEnd:function(a){var b;b=ICEcoder.getcMInstance();a||(a=b.getCursor().line);b.setLine(a,b.getLine(a)+"<br>")},duplicateLines:function(a){var b,c,d;b=ICEcoder.getcMInstance();!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(),"start"),b.setSelection(c,d)):(a||
|
||||||
1,c))},jumpToDefinition:function(){var a,b;a=ICEcoder.getcMInstance();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 "+
|
(a=b.getCursor().line),c=b.getCursor().ch,b.setLine(a,b.getLine(a)+"\n"+b.getLine(a)),b.setCursor(a+1,c))},removeLines:function(a){var b,c;b=ICEcoder.getcMInstance();!a&&b.somethingSelected()?b.replaceSelection(""):(a||(a=b.getCursor().line),c=b.getCursor().ch,b.removeLine(a),b.setCursor(a-1,c))},jumpToDefinition:function(){var a,b;a=ICEcoder.getcMInstance();b=a.getTokenAt(a.getCursor()).string;if(a.somethingSelected()&&top.ICEcoder.origCurorPos)a.setCursor(top.ICEcoder.origCurorPos);else for(top.ICEcoder.origCurorPos=
|
||||||
b],b=0;b<a.length&&!top.ICEcoder.findReplace(a[b],!1,!1);b++);},openCloseDir:function(a,b){var c,d;a.onclick=function(a){a.ctrlKey||top.ICEcoder.cmdKey||top.ICEcoder.openCloseDir(this,!1)};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);
|
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++);},pasteURL:function(a){var b;b=ICEcoder.getcMInstance();"CTRL"==top.ICEcoder.draggingWithKey&&(a=window.location.protocol+"//"+window.location.hostname+a);b.replaceSelection(a)},
|
||||||
return!1},overFileFolder:function(a,b){ICEcoder.thisFileFolderType=a;ICEcoder.thisFileFolderLink=b},selectFileFolder:function(a){var b,c,d,e,f;if(""==top.ICEcoder.thisFileFolderLink)a.ctrlKey||top.ICEcoder.cmdKey||top.ICEcoder.deselectAllFiles();else if(top.ICEcoder.thisFileFolderLink)if(c=top.ICEcoder.thisFileFolderLink.replace(/\//g,"|"),b=ICEcoder.filesFrame.contentWindow.document.getElementById(c),a.ctrlKey||top.ICEcoder.cmdKey)-1<top.ICEcoder.selectedFiles.indexOf(c)?(ICEcoder.selectDeselectFile("deselect",
|
openCloseDir:function(a,b){var c,d;a.onclick=function(a){a.ctrlKey||top.ICEcoder.cmdKey||top.ICEcoder.openCloseDir(this,!1)};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);return!1},overFileFolder:function(a,b){ICEcoder.thisFileFolderType=
|
||||||
b),top.ICEcoder.selectedFiles.splice(top.ICEcoder.selectedFiles.indexOf(c),1)):(ICEcoder.selectDeselectFile("select",b),top.ICEcoder.selectedFiles.push(c));else if(a.shiftKey){a=!1;d=b.parentNode.parentNode.parentNode;e=top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-1];var g=function(a,b,c,d){return("00000000000000000000"+a).substr(-20)};f=c.replace(/\d+/g,g)<e.replace(/\d+/g,g)?c:e;e=c.replace(/\d+/g,g)>e.replace(/\d+/g,g)?c:e;if(0<top.ICEcoder.selectedFiles.length&&f.substr(0,f.lastIndexOf("|"))==
|
a;ICEcoder.thisFileFolderLink=b},selectFileFolder:function(a){var b,c,d,e,f;if(""==top.ICEcoder.thisFileFolderLink)a.ctrlKey||top.ICEcoder.cmdKey||top.ICEcoder.deselectAllFiles();else if(top.ICEcoder.thisFileFolderLink)if(c=top.ICEcoder.thisFileFolderLink.replace(/\//g,"|"),b=ICEcoder.filesFrame.contentWindow.document.getElementById(c),a.ctrlKey||top.ICEcoder.cmdKey)-1<top.ICEcoder.selectedFiles.indexOf(c)?(ICEcoder.selectDeselectFile("deselect",b),top.ICEcoder.selectedFiles.splice(top.ICEcoder.selectedFiles.indexOf(c),
|
||||||
e.substr(0,e.lastIndexOf("|")))for(c=0;1E6>c&&("LI"!=d.childNodes[c].nodeName&&c++,b=d.childNodes[c].childNodes[0].childNodes[1],b.id==f&&(a=!0),!0==a&&-1==top.ICEcoder.selectedFiles.indexOf(b.id)&&(ICEcoder.selectDeselectFile("select",b),top.ICEcoder.selectedFiles.push(b.id)),b.id!=e);c+=2);else ICEcoder.selectDeselectFile("select",b),top.ICEcoder.selectedFiles.push(c)}else top.ICEcoder.deselectAllFiles(),ICEcoder.selectDeselectFile("select",b),top.ICEcoder.selectedFiles.push(c);document.findAndReplace.target[2].innerHTML=
|
1)):(ICEcoder.selectDeselectFile("select",b),top.ICEcoder.selectedFiles.push(c));else if(a.shiftKey){a=!1;d=b.parentNode.parentNode.parentNode;e=top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-1];var g=function(a,b,c,d){return("00000000000000000000"+a).substr(-20)};f=c.replace(/\d+/g,g)<e.replace(/\d+/g,g)?c:e;e=c.replace(/\d+/g,g)>e.replace(/\d+/g,g)?c:e;if(0<top.ICEcoder.selectedFiles.length&&f.substr(0,f.lastIndexOf("|"))==e.substr(0,e.lastIndexOf("|")))for(c=0;1E6>c&&("LI"!=d.childNodes[c].nodeName&&
|
||||||
top.ICEcoder.selectedFiles[0]?"selected files":"all files";document.findAndReplace.target[3].innerHTML=top.ICEcoder.selectedFiles[0]?"selected filenames":"all filenames";top.ICEcoder.fMIconVis("fMOpen",1==top.ICEcoder.selectedFiles.length?1:0.3);top.ICEcoder.fMIconVis("fMNewFile",1==top.ICEcoder.selectedFiles.length&&"folder"==top.ICEcoder.thisFileFolderType?1:0.3);top.ICEcoder.fMIconVis("fMNewFolder",1==top.ICEcoder.selectedFiles.length&&"folder"==top.ICEcoder.thisFileFolderType?1:0.3);top.ICEcoder.fMIconVis("fMDelete",
|
c++,b=d.childNodes[c].childNodes[0].childNodes[1],b.id==f&&(a=!0),!0==a&&-1==top.ICEcoder.selectedFiles.indexOf(b.id)&&(ICEcoder.selectDeselectFile("select",b),top.ICEcoder.selectedFiles.push(b.id)),b.id!=e);c+=2);else ICEcoder.selectDeselectFile("select",b),top.ICEcoder.selectedFiles.push(c)}else top.ICEcoder.deselectAllFiles(),ICEcoder.selectDeselectFile("select",b),top.ICEcoder.selectedFiles.push(c);document.findAndReplace.target[2].innerHTML=top.ICEcoder.selectedFiles[0]?"selected files":"all files";
|
||||||
0<top.ICEcoder.selectedFiles.length?1:0.3);top.ICEcoder.fMIconVis("fMRename",1==top.ICEcoder.selectedFiles.length?1:0.3);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,
|
document.findAndReplace.target[3].innerHTML=top.ICEcoder.selectedFiles[0]?"selected filenames":"all filenames";top.ICEcoder.fMIconVis("fMOpen",1==top.ICEcoder.selectedFiles.length?1:0.3);top.ICEcoder.fMIconVis("fMNewFile",1==top.ICEcoder.selectedFiles.length&&"folder"==top.ICEcoder.thisFileFolderType?1:0.3);top.ICEcoder.fMIconVis("fMNewFolder",1==top.ICEcoder.selectedFiles.length&&"folder"==top.ICEcoder.thisFileFolderType?1:0.3);top.ICEcoder.fMIconVis("fMDelete",0<top.ICEcoder.selectedFiles.length?
|
||||||
"/"))?!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)},newFile:function(){top.ICEcoder.newTab();top.ICEcoder.saveFile()},newFolder:function(){var a,b;a=top.ICEcoder.rightClickedFile.replace(/\|/g,
|
1:0.3);top.ICEcoder.fMIconVis("fMRename",1==top.ICEcoder.selectedFiles.length?1:0.3);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-
|
||||||
"/");if(b=top.ICEcoder.getInput("Enter new folder name at "+a,""))b=(a+"/"+b).replace(/\/\//,"/"),top.ICEcoder.serverQueue("add","lib/file-control.php?action=newFolder&file="+b.replace(/\//g,"|")),top.ICEcoder.serverMessage("<b>Creating Folder</b><br>"+b)},openFile:function(a){var b;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]==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)},newFile:function(){top.ICEcoder.newTab();top.ICEcoder.saveFile()},newFolder:function(){var a,b;a=top.ICEcoder.rightClickedFile.replace(/\|/g,"/");if(b=top.ICEcoder.getInput("Enter new folder name at "+
|
||||||
1):""!=top.ICEcoder.thisFileFolderLink&&"file"==top.ICEcoder.thisFileFolderType&&(a=top.ICEcoder.thisFileFolderLink.replace(/\|/g,"/"),b=!0,100<=top.ICEcoder.openFiles.length&&(top.ICEcoder.message("Sorry, you can only have 100 files open at a time!"),b=!1),b&&(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),top.ICEcoder.serverMessage("<b>Opening File</b><br>"+
|
a,""))b=(a+"/"+b).replace(/\/\//,"/"),top.ICEcoder.serverQueue("add","lib/file-control.php?action=newFolder&file="+b.replace(/\//g,"|")),top.ICEcoder.serverMessage("<b>Creating Folder</b><br>"+b)},openFile:function(a){var b;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):""!=top.ICEcoder.thisFileFolderLink&&
|
||||||
top.ICEcoder.shortURL)):top.ICEcoder.createNewTab(),top.ICEcoder.fMIconVis("fMView",1)))},openFilesFromList:function(a){for(var b=0;b<a.length;b++)top.ICEcoder.rightClickedFile=top.ICEcoder.thisFileFolderLink=a[b].replace("|","/"),top.ICEcoder.thisFileFolderType="file",top.ICEcoder.openFile()},openPrompt:function(){var a;if(a=top.ICEcoder.getInput("Enter relative file path (prefixed with /) or remote URL",""))-1<a.indexOf("://")?top.ICEcoder.getRemoteFile(a):top.ICEcoder.openFile(a)},getRemoteFile:function(a){top.ICEcoder.serverQueue("add",
|
"file"==top.ICEcoder.thisFileFolderType&&(a=top.ICEcoder.thisFileFolderLink.replace(/\|/g,"/"),b=!0,100<=top.ICEcoder.openFiles.length&&(top.ICEcoder.message("Sorry, you can only have 100 files open at a time!"),b=!1),b&&(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),top.ICEcoder.serverMessage("<b>Opening File</b><br>"+top.ICEcoder.shortURL)):
|
||||||
|
top.ICEcoder.createNewTab(),top.ICEcoder.fMIconVis("fMView",1)))},openFilesFromList:function(a){for(var b=0;b<a.length;b++)top.ICEcoder.rightClickedFile=top.ICEcoder.thisFileFolderLink=a[b].replace("|","/"),top.ICEcoder.thisFileFolderType="file",top.ICEcoder.openFile()},openPrompt:function(){var a;if(a=top.ICEcoder.getInput("Enter relative file path (prefixed with /) or remote URL",""))-1<a.indexOf("://")?top.ICEcoder.getRemoteFile(a):top.ICEcoder.openFile(a)},getRemoteFile:function(a){top.ICEcoder.serverQueue("add",
|
||||||
"lib/file-control.php?action=getRemoteFile&file="+a);top.ICEcoder.serverMessage("<b>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.php?action=save&file="+b+"&fileMDT="+
|
"lib/file-control.php?action=getRemoteFile&file="+a);top.ICEcoder.serverMessage("<b>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.php?action=save&file="+b+"&fileMDT="+
|
||||||
ICEcoder.openFileMDTs[ICEcoder.selectedTab-1]+"&saveType="+a);top.ICEcoder.serverMessage("<b>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.rightClickedFile.replace(/\|/g,"/"),a=top.ICEcoder.rightClickedFile.replace(/\|/g,"/"));b||(b=top.ICEcoder.getInput("Please enter the new name for",c));b&&(d=top.ICEcoder.openFiles.indexOf(c.replace(/\|/g,"/")),-1<d&&(top.ICEcoder.openFiles[d]=b,closeTabLink=
|
ICEcoder.openFileMDTs[ICEcoder.selectedTab-1]+"&saveType="+a);top.ICEcoder.serverMessage("<b>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.rightClickedFile.replace(/\|/g,"/"),a=top.ICEcoder.rightClickedFile.replace(/\|/g,"/"));b||(b=top.ICEcoder.getInput("Please enter the new name for",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",
|
'<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.php?action=rename&file="+b+"&oldFileName="+a.replace(/\|/g,"/")),top.ICEcoder.serverMessage("<b>Renaming to</b><br>"+b),top.ICEcoder.setPreviousFiles())},deleteFiles:function(){var a;a=top.ICEcoder.selectedFiles.toString().replace(/\|/g,"/").replace(/,/g,"\n");0<top.ICEcoder.selectedFiles.length&&top.ICEcoder.ask("Delete:\n\n"+a+"?")&&(top.ICEcoder.serverQueue("add","lib/file-control.php?action=delete&file="+top.ICEcoder.selectedFiles.join(";")),top.ICEcoder.serverMessage("<b>Deleting File</b><br>"+
|
"lib/file-control.php?action=rename&file="+b+"&oldFileName="+a.replace(/\|/g,"/")),top.ICEcoder.serverMessage("<b>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>',
|
||||||
a))},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.php?action=paste&file="+top.ICEcoder.copiedFiles[b]+"&location="+a),top.ICEcoder.serverMessage("<b>Pasting File</b><br>"+
|
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.php?action=move&file="+b+"&oldFileName="+a.replace(/\|/g,"/")),top.ICEcoder.serverMessage("<b>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"+
|
||||||
top.ICEcoder.copiedFiles[b].toString().replace(/\|/g,"/").replace(/,/g,"\n"))):top.ICEcoder.message("Sorry, cannot paste a whole root");else top.ICEcoder.message("Nothing to paste, copy a file/folder first!")},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=
|
b+"?")&&(top.ICEcoder.serverQueue("add","lib/file-control.php?action=delete&file="+a.join(";")),top.ICEcoder.serverMessage("<b>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",
|
||||||
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())},showMenu:function(a){var b,c;0!=top.ICEcoder.selectedFiles.length&&-1!=top.ICEcoder.selectedFiles.indexOf(top.ICEcoder.rightClickedFile.replace(/\//g,"|"))||top.ICEcoder.selectFileFolder(a);a=129;c=window.innerHeight;"undefined"!=typeof top.ICEcoder.thisFileFolderLink&&""!=top.ICEcoder.thisFileFolderLink&&
|
"lib/file-control.php?action=paste&file="+top.ICEcoder.copiedFiles[b]+"&location="+a),top.ICEcoder.serverMessage("<b>Pasting File</b><br>"+top.ICEcoder.copiedFiles[b].toString().replace(/\|/g,"/").replace(/,/g,"\n"))):top.ICEcoder.message("Sorry, cannot paste a whole root");else top.ICEcoder.message("Nothing to paste, copy a file/folder first!")},duplicateFiles:function(a){var b;top.ICEcoder.copiedFiles&&(b=top.ICEcoder.copiedFiles);top.ICEcoder.copyFiles(a,"dontShowPaste","dontHide");a=a[0].substr(0,
|
||||||
(b=-1<top.ICEcoder.selectedFiles[0].indexOf(".")?"file":"folder",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=
|
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())},showMenu:function(a){var b,c;0!=top.ICEcoder.selectedFiles.length&&-1!=top.ICEcoder.selectedFiles.indexOf(top.ICEcoder.rightClickedFile.replace(/\//g,
|
||||||
"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,
|
"|"))||top.ICEcoder.selectFileFolder(a);a=129;c=window.innerHeight;"undefined"!=typeof top.ICEcoder.thisFileFolderLink&&""!=top.ICEcoder.thisFileFolderLink&&(b=-1<top.ICEcoder.selectedFiles[0].indexOf(".")?"file":"folder",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?
|
||||||
e,f){var g,l,h,k,m,p,n,q;if("add"==a&&!top.get("filesFrame").contentWindow.document.getElementById(b.replace(/\/$/,"").replace(/\//g,"|")+"|"+c)){g=-1<c.indexOf(".")?"file":"folder";l="file"==g?"pft-file ext-"+c.substr(c.indexOf(".")+1):"pft-directory";d="file"==g?664:705;b||(b="/");b=b.replace(top.iceRoot,"");h=top.get("filesFrame").contentWindow.document.getElementById(b.replace(/\//g,"|"));k=h.parentNode.parentNode.nextSibling;m=document.createTextNode("\n");p='<a nohref title="'+b.replace(/\/$/,
|
"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=
|
||||||
"")+"/"+c+'" onMouseOver="top.ICEcoder.overFileFolder(\''+g+"','"+b.replace(/\/$/,"").replace(/\//g,"|")+"|"+c+"')\" onMouseOut=\"top.ICEcoder.overFileFolder('"+g+'\',\'\')" style="position: relative; left:-22px"> <span id="'+b.replace(/\/$/,"").replace(/\//g,"|")+"|"+c+'">'+c+'</span> <span style="color: #888; font-size: 8px" id="'+b.replace(/\/$/,"").replace(/\//g,"|")+"|"+c+'_perms">'+d+"</span></a>";if(3>k.childNodes.length)n=document.createElement("ul"),
|
"1"},4)},hideFileMenu:function(){top.get("fileMenu").style.display="none";top.get("fileMenu").style.opacity="0"},updateFileManagerList:function(a,b,c,d,e,f){var g,m,h,k,p,n,l,q;if("add"==a&&!top.get("filesFrame").contentWindow.document.getElementById(b.replace(/\/$/,"").replace(/\//g,"|")+"|"+c)){g=-1<c.indexOf(".")?"file":"folder";m="file"==g?"pft-file ext-"+c.substr(c.indexOf(".")+1):"pft-directory";d="file"==g?664:705;b||(b="/");b=b.replace(top.iceRoot,"");h=top.get("filesFrame").contentWindow.document.getElementById(b.replace(/\//g,
|
||||||
k=h.parentNode.parentNode,k.parentNode.insertBefore(n,k.nextSibling),n=document.createElement("li"),n.className=l,n.innerHTML=p,k.nextSibling.appendChild(n),k.nextSibling.appendChild(m);else for(h=0;h<k.childNodes.length;h++)if(k.childNodes[h].className&&(n=0<k.childNodes[h].className.indexOf("directory")?"folder":"file",q=k.childNodes[h].getElementsByTagName("span")[0].innerHTML,n==g&&q>c||"folder"==g&&"file"==n||h==k.childNodes.length-1)){n=document.createElement("li");n.className=l;n.innerHTML=
|
"|"));k=h.parentNode.parentNode.nextSibling;p=document.createTextNode("\n");n='<a nohref title="'+b.replace(/\/$/,"")+"/"+c+'" onMouseOver="top.ICEcoder.overFileFolder(\''+g+"','"+b.replace(/\/$/,"").replace(/\//g,"|")+"|"+c+"')\" onMouseOut=\"top.ICEcoder.overFileFolder('"+g+'\',\'\')" style="position: relative; left:-22px"> <span id="'+b.replace(/\/$/,"").replace(/\//g,"|")+"|"+c+'">'+c+'</span> <span style="color: #888; font-size: 8px" id="'+b.replace(/\/$/,
|
||||||
p;h==k.childNodes.length-1?(k.appendChild(n),k.appendChild(m)):(k.insertBefore(n,k.childNodes[h]),k.insertBefore(m,k.childNodes[h+1]));break}"file"!=g||f||(top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1]=b+c)}"rename"==a&&(e=e.replace(/\//g,"|"),h=top.get("filesFrame").contentWindow.document.getElementById(e),h.innerHTML=c,h.id=b.replace(/\//g,"|")+"|"+c,h.parentNode.title=h.id.replace(/\|/g,"/"),targetElemPerms=top.get("filesFrame").contentWindow.document.getElementById(e+"_perms"),targetElemPerms.id=
|
"").replace(/\//g,"|")+"|"+c+'_perms">'+d+"</span></a>";if(3>k.childNodes.length)l=document.createElement("ul"),k=h.parentNode.parentNode,k.parentNode.insertBefore(l,k.nextSibling),l=document.createElement("li"),l.className=m,l.draggable=!0,l.ondrag=function(a){top.ICEcoder.draggingWithKeyTest(a);top.ICEcoder.getcMInstance()&&top.ICEcoder.getcMInstance().focus()},l.ondragend=function(){top.ICEcoder.dropFile(this)},l.innerHTML=n,k.nextSibling.appendChild(l),k.nextSibling.appendChild(p);else for(h=
|
||||||
b.replace(/\//g,"|")+"|"+c+"_perms");"chmod"==a&&(e=top.ICEcoder.rightClickedFile.replace(/\|/g,"/"),h=top.get("filesFrame").contentWindow.document.getElementById(e.replace(/\//g,"|")+"_perms"),h.innerHTML=d);"delete"==a&&(h=top.get("filesFrame").contentWindow.document.getElementById(b.replace(/\/$/,"").replace(/\//g,"|")+"|"+c).parentNode.parentNode,top.ICEcoder.openCloseDir(h.childNodes[0],!1),h.parentNode.removeChild(h))},fMIcon:function(a){"save"==a&&0<ICEcoder.openFiles.length&&top.ICEcoder.saveFile();
|
0;h<k.childNodes.length;h++)if(k.childNodes[h].className&&(l=0<k.childNodes[h].className.indexOf("directory")?"folder":"file",q=k.childNodes[h].getElementsByTagName("span")[0].innerHTML,l==g&&q>c||"folder"==g&&"file"==l||h==k.childNodes.length-1)){l=document.createElement("li");l.className=m;l.draggable=!0;l.ondrag=function(a){top.ICEcoder.draggingWithKeyTest(a);top.ICEcoder.getcMInstance()&&top.ICEcoder.getcMInstance().focus()};l.ondragend=function(){top.ICEcoder.dropFile(this)};l.innerHTML=n;h==
|
||||||
1==ICEcoder.selectedFiles.length&&(top.ICEcoder.rightClickedFile=top.ICEcoder.thisFileFolderLink=top.ICEcoder.selectedFiles[0].replace("|","/"),"open"==a&&-1<ICEcoder.selectedFiles[0].indexOf(".")?(top.ICEcoder.thisFileFolderType="file",top.ICEcoder.openFile()):"newFile"==a?top.ICEcoder.newFile():"newFolder"==a?top.ICEcoder.newFolder():"rename"==a&&top.ICEcoder.renameFile(top.ICEcoder.rightClickedFile));"delete"==a&&0<ICEcoder.selectedFiles.length&&top.ICEcoder.deleteFiles();"view"==a&&0<ICEcoder.openFiles.length&&
|
k.childNodes.length-1?(k.appendChild(l),k.appendChild(p)):(k.insertBefore(l,k.childNodes[h]),k.insertBefore(p,k.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=
|
||||||
window.open(top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1])},refreshFileManager:function(){top.ICEcoder.showHide("show",top.get("loadingMask"));top.ICEcoder.filesFrame.src="files.php";top.ICEcoder.filesFrame.style.opacity="0";top.ICEcoder.filesFrame.onload=function(){top.ICEcoder.filesFrame.style.opacity="1";top.ICEcoder.showHide("hide",top.get("loadingMask"))}},findReplaceOptions:function(){top.get("rText").style.display=top.get("replace").style.display=top.get("rTarget").style.display="and"==
|
b.replace(/\//g,"|")+"|"+c+"_perms");"move"==a&&(top.ICEcoder.updateFileManagerList("add",b,c),top.ICEcoder.updateFileManagerList("delete",e.substr(0,e.lastIndexOf("/")),c));"chmod"==a&&(f=top.ICEcoder.rightClickedFile.replace(/\|/g,"/"),h=top.get("filesFrame").contentWindow.document.getElementById(f.replace(/\//g,"|")+"_perms"),h.innerHTML=d);"delete"==a&&(h=top.get("filesFrame").contentWindow.document.getElementById(b.replace(/\/$/,"").replace(/\//g,"|")+"|"+c).parentNode.parentNode,top.ICEcoder.openCloseDir(h.childNodes[0],
|
||||||
document.findAndReplace.connector.value?"inline-block":"none"},findReplace:function(a,b,c){var d,e,f;d=a.toLowerCase();e=top.get("replace").value;f=top.get("results");if((a=ICEcoder.getcMInstance())&&0<d.length&&"this document"==document.findAndReplace.target.value){a.getValue().toLowerCase();"and"==document.findAndReplace.connector.value&&c&&("replace"==document.findAndReplace.replaceAction.value&&a.getSelection().toLowerCase()==d?a.replaceSelection(e):"replace all"==document.findAndReplace.replaceAction.value&&
|
!1),h.parentNode.removeChild(h))},fMIcon:function(a){"save"==a&&0<ICEcoder.openFiles.length&&top.ICEcoder.saveFile();1==ICEcoder.selectedFiles.length&&(top.ICEcoder.rightClickedFile=top.ICEcoder.thisFileFolderLink=top.ICEcoder.selectedFiles[0].replace("|","/"),"open"==a&&-1<ICEcoder.selectedFiles[0].indexOf(".")?(top.ICEcoder.thisFileFolderType="file",top.ICEcoder.openFile()):"newFile"==a?top.ICEcoder.newFile():"newFolder"==a?top.ICEcoder.newFolder():"rename"==a&&top.ICEcoder.renameFile(top.ICEcoder.rightClickedFile));
|
||||||
(c=RegExp(d,"gi"),a.setValue(a.getValue().replace(c,e))));c=a.getValue().toLowerCase();if(!top.ICEcoder.findMode||d!=top.ICEcoder.lastsearch){ICEcoder.results=[];ICEcoder.resultsLines=[];for(e=0;e<c.length;e++)c.substr(e,d.length)==d&&-1==ICEcoder.results.indexOf(e)&&(ICEcoder.results.push(e),-1==ICEcoder.resultsLines.indexOf(a.posFromIndex(e).line+1)&&ICEcoder.resultsLines.push(a.posFromIndex(e).line+1));ICEcoder.lastsearch=d}if(0<ICEcoder.results.length){c=a.getScrollInfo().height>a.getScrollInfo().clientHeight;
|
"delete"==a&&0<ICEcoder.selectedFiles.length&&top.ICEcoder.deleteFiles()},refreshFileManager:function(){top.ICEcoder.showHide("show",top.get("loadingMask"));top.ICEcoder.filesFrame.src="files.php";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=
|
||||||
if(b)f.innerHTML=ICEcoder.results.length+" results";else{for(e=ICEcoder.findResult=0;e<ICEcoder.results.length;e++)ICEcoder.results[e]<a.indexFromPos(a.getCursor())&&ICEcoder.findResult++;ICEcoder.findResult>ICEcoder.results.length-1&&(ICEcoder.findResult=0);f.innerHTML="Highlighted result "+(ICEcoder.findResult+1)+" of "+ICEcoder.results.length+" results";b=a.getSearchCursor(d,a.getCursor(),!0);b.findNext();b.from()||(b=a.getSearchCursor(d,{line:0,ch:0},!0),b.findNext());a.setSelection(b.from(),
|
!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),
|
||||||
b.to());top.ICEcoder.focus();top.ICEcoder.findMode=!0}d=c?parseInt(top.ICEcoder.content.style.height,10)/a.lineCount():a.defaultTextHeight();b=c?0:a.heightAtLine(0);top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").style.right=c?"17px":"0";f="";for(e=1;e<=a.lineCount();e++)c=-1<ICEcoder.resultsLines.indexOf(e)?a.getCursor().line+1==e?"#b00":"#888":"transparent",f+='<div style="position: absolute; display: block; width: 5px; height:'+d+"px; background: "+c+"; top: "+parseInt(d*
|
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="and"==document.findAndReplace.connector.value?"inline-block":"none"},findReplace:function(a,b,c){var d,e,f;d=a.toLowerCase();e=top.get("replace").value;f=top.get("results");if((a=ICEcoder.getcMInstance())&&0<d.length&&"this document"==document.findAndReplace.target.value){a.getValue().toLowerCase();
|
||||||
(e-1)+b,10)+'px"></div>';top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").innerHTML=f;top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").style.display="inline-block";return!0}f.innerHTML="No results";top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").innerHTML="";top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").style.display="none";return!1}""!=d&&c?(f=b=a="","and"==document.findAndReplace.connector.value&&
|
"and"==document.findAndReplace.connector.value&&c&&("replace"==document.findAndReplace.replaceAction.value&&a.getSelection().toLowerCase()==d?a.replaceSelection(e):"replace all"==document.findAndReplace.replaceAction.value&&(c=RegExp(d,"gi"),a.setValue(a.getValue().replace(c,e))));c=a.getValue().toLowerCase();if(!top.ICEcoder.findMode||d!=top.ICEcoder.lastsearch){ICEcoder.results=[];ICEcoder.resultsLines=[];for(e=0;e<c.length;e++)c.substr(e,d.length)==d&&-1==ICEcoder.results.indexOf(e)&&(ICEcoder.results.push(e),
|
||||||
(a="&replace="+e),0<=document.findAndReplace.target.value.indexOf("file")&&(b="&target="+document.findAndReplace.target.value.replace(/ /g,"-")),"selected files"==document.findAndReplace.target.value&&(f="&selectedFiles="+top.ICEcoder.selectedFiles.join(":")),d=d.replace(/\'/g,"'"),d!=encodeURIComponent(d)?d="ICEcoder:"+encodeURIComponent(d):d,top.ICEcoder.showHide("show",top.get("loadingMask")),top.get("mediaContainer").innerHTML='<iframe src="lib/multiple-results.php?find='+d+a+b+f+'" class="whiteGlow" style="width: 700px; height: 500px"></iframe>'):
|
-1==ICEcoder.resultsLines.indexOf(a.posFromIndex(e).line+1)&&ICEcoder.resultsLines.push(a.posFromIndex(e).line+1));ICEcoder.lastsearch=d}if(0<ICEcoder.results.length){c=a.getScrollInfo().height>a.getScrollInfo().clientHeight;if(b)f.innerHTML=ICEcoder.results.length+" results";else{for(e=ICEcoder.findResult=0;e<ICEcoder.results.length;e++)ICEcoder.results[e]<a.indexFromPos(a.getCursor())&&ICEcoder.findResult++;ICEcoder.findResult>ICEcoder.results.length-1&&(ICEcoder.findResult=0);f.innerHTML="Highlighted result "+
|
||||||
(f.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.php?action=replaceText&fileRef="+a.replace(/\//g,"|")+"&find="+b+"&replace="+c);top.ICEcoder.serverMessage("<b>Replacing text in</b><br>"+a)},getNestLocation:function(a){var b,c,d;if(b=ICEcoder.getcMInstance()){c=b.getValue();
|
(ICEcoder.findResult+1)+" of "+ICEcoder.results.length+" results";b=a.getSearchCursor(d,a.getCursor(),!0);b.findNext();b.from()||(b=a.getSearchCursor(d,{line:0,ch:0},!0),b.findNext());a.setSelection(b.from(),b.to());top.ICEcoder.focus();top.ICEcoder.findMode=!0}d=c?parseInt(top.ICEcoder.content.style.height,10)/a.lineCount():a.defaultTextHeight();b=c?0:a.heightAtLine(0);top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").style.right=c?"17px":"0";f="";for(e=1;e<=a.lineCount();e++)c=
|
||||||
b=b.getTokenAt(b.getCursor()).state;d=!1;"undefined"!=typeof b&&(d=b.context);"undefined"!=typeof b.curState&&"undefined"!=typeof b.curState.htmlState&&(d=b.curState.htmlState.context);ICEcoder.htmlTagArray=[];if(d)for(;d;d=d.prev)"undefined"!=typeof d.tagName&&ICEcoder.htmlTagArray.unshift(d.tagName);ICEcoder.tagString=ICEcoder.htmlTagArray[ICEcoder.htmlTagArray.length-1];"JavaScript"==ICEcoder.caretLocType&&(ICEcoder.tagString="script");if(a&&!top.ICEcoder.dontUpdateNest&&(ICEcoder.nestDisplay.innerHTML=
|
-1<ICEcoder.resultsLines.indexOf(e)?a.getCursor().line+1==e?"#b00":"#888":"transparent",f+='<div style="position: absolute; display: block; width: 5px; height:'+d+"px; background: "+c+"; top: "+parseInt(d*(e-1)+b,10)+'px"></div>';top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").innerHTML=f;top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").style.display="inline-block";return!0}f.innerHTML="No results";top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").innerHTML=
|
||||||
"","undefined"!=typeof ICEcoder.openFiles[ICEcoder.selectedTab-1]&&(a=ICEcoder.openFiles[ICEcoder.selectedTab-1],0>["js","coffee","css","less","sql"].indexOf(a.split(".")[1])&&-1==c.indexOf("include(")&&-1==c.indexOf("include_once(")))){for(a=0;a<ICEcoder.htmlTagArray.length;a++)c='onMouseover="top.ICEcoder.highlightBlock('+a+')" onMouseout="top.ICEcoder.highlightBlock('+a+",'hide')\" onClick=\"top.ICEcoder.setPosition("+a+",top.ICEcoder.startPosLine,'"+ICEcoder.htmlTagArray[a]+"')\"",0==a&&(ICEcoder.nestDisplay.innerHTML+=
|
"";top.ICEcoder.content.contentWindow.document.getElementById("resultsBar").style.display="none";return!1}""!=d&&c?(f=b=a="","and"==document.findAndReplace.connector.value&&(a="&replace="+e),0<=document.findAndReplace.target.value.indexOf("file")&&(b="&target="+document.findAndReplace.target.value.replace(/ /g,"-")),"selected files"==document.findAndReplace.target.value&&(f="&selectedFiles="+top.ICEcoder.selectedFiles.join(":")),d=d.replace(/\'/g,"'"),d!=encodeURIComponent(d)?d="ICEcoder:"+encodeURIComponent(d):
|
||||||
"<div "+c+' style="display: inline-block; width: 7px; margin-top: -5px; height: 30px; background-image: url(images/nest-tag-bg.gif)"></div>'),ICEcoder.nestDisplay.innerHTML+="<a "+c+' style="display: inline-block; cursor: pointer; background: #333; padding: 7px 2px 7px 7px; margin-top: -5px; height: 30px">'+ICEcoder.htmlTagArray[a]+"</a>",ICEcoder.nestDisplay.innerHTML+=a<ICEcoder.htmlTagArray.length-1?"<div "+c+' style="display: inline-block; width: 8px; margin-top: -5px; height: 30px; background-image: url(images/nest-tag-bg.gif); background-position: -7px 0; cursor: pointer"></div>':
|
d,top.ICEcoder.showHide("show",top.get("loadingMask")),top.get("mediaContainer").innerHTML='<iframe src="lib/multiple-results.php?find='+d+a+b+f+'" class="whiteGlow" style="width: 700px; height: 500px"></iframe>'):(f.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.php?action=replaceText&fileRef="+
|
||||||
"<div "+c+' style="display: inline-block; width: 7px; margin-top: -5px; height: 30px; background-image: url(images/nest-tag-bg.gif); background-position: -15px 0; cursor: pointer"></div>';"script"!=ICEcoder.tagString&&(ICEcoder.nestDisplay.innerHTML+='<a style="display: inline-block; cursor: default; padding: 7px 2px 7px 7px; margin-top: -5px; height: 30px; color: #666">content</a>')}}},updateNestingIndicator:function(){var a,b,c;a=ICEcoder.getcMInstance();b=!0;c=ICEcoder.openFiles[ICEcoder.selectedTab-
|
a.replace(/\//g,"|")+"&find="+b+"&replace="+c);top.ICEcoder.serverMessage("<b>Replacing text in</b><br>"+a)},getNestLocation:function(a){var b,c,d;if(b=ICEcoder.getcMInstance()){c=b.getValue();b=b.getTokenAt(b.getCursor()).state;d=!1;"undefined"!=typeof b&&(d=b.context);"undefined"!=typeof b.curState&&"undefined"!=typeof b.curState.htmlState&&(d=b.curState.htmlState.context);ICEcoder.htmlTagArray=[];if(d)for(;d;d=d.prev)"undefined"!=typeof d.tagName&&ICEcoder.htmlTagArray.unshift(d.tagName);ICEcoder.tagString=
|
||||||
1];a&&(c&&-1==["js","coffee","css","less","sql"].indexOf(c.split(".")[1]))&&(b="error"!=a.getTokenAt({line:a.lineCount(),ch:a.lineInfo(a.lineCount()-1).text.length}).className?!0:!1);ICEcoder.nestValid.style.background=b?"#0b0":"#f00";ICEcoder.nestValid.title=b?"Nesting OK":"Nesting Broken"},getCaretPosition:function(){var a,b,c,d;a=ICEcoder.getcMInstance();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;ICEcoder.getNestLocation("yes")},
|
ICEcoder.htmlTagArray[ICEcoder.htmlTagArray.length-1];"JavaScript"==ICEcoder.caretLocType&&(ICEcoder.tagString="script");if(a&&!top.ICEcoder.dontUpdateNest&&(ICEcoder.nestDisplay.innerHTML="","undefined"!=typeof ICEcoder.openFiles[ICEcoder.selectedTab-1]&&(a=ICEcoder.openFiles[ICEcoder.selectedTab-1],0>["js","coffee","css","less","sql"].indexOf(a.split(".")[1])&&-1==c.indexOf("include(")&&-1==c.indexOf("include_once(")))){for(a=0;a<ICEcoder.htmlTagArray.length;a++)c='onMouseover="top.ICEcoder.highlightBlock('+
|
||||||
updateCharDisplay:function(){var a;a=ICEcoder.getcMInstance();ICEcoder.caretLocationType();ICEcoder.charDisplay.innerHTML=ICEcoder.caretLocType+", Line: "+(a.getCursor().line+1)+", Char: "+a.getCursor().ch},updateByteDisplay:function(){ICEcoder.byteDisplay.innerHTML=ICEcoder.getcMInstance().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=
|
a+')" onMouseout="top.ICEcoder.highlightBlock('+a+",'hide')\" onClick=\"top.ICEcoder.setPosition("+a+",top.ICEcoder.startPosLine,'"+ICEcoder.htmlTagArray[a]+"')\"",0==a&&(ICEcoder.nestDisplay.innerHTML+="<div "+c+' style="display: inline-block; width: 7px; margin-top: -5px; height: 30px; background-image: url(images/nest-tag-bg.gif)"></div>'),ICEcoder.nestDisplay.innerHTML+="<a "+c+' style="display: inline-block; cursor: pointer; background: #333; padding: 7px 2px 7px 7px; margin-top: -5px; height: 30px">'+
|
||||||
"char"==a?"inline-block":"none"},caretLocationType:function(){var a,b;a=ICEcoder.getcMInstance();b="Unknown";a=a.getValue().substr(0,ICEcoder.caretPos+1);a.lastIndexOf("<script")>a.lastIndexOf("\x3c/script>")&&"Unknown"==b?b="JavaScript":a.lastIndexOf("<?")>a.lastIndexOf("?>")&&"Unknown"==b?b="PHP":a.lastIndexOf("<%")>a.lastIndexOf("%>")&&"Unknown"==b?b="Ruby":a.lastIndexOf("<")>a.lastIndexOf(">")&&"Unknown"==b?b="HTML":"Unknown"==b&&(b="Content");(a=ICEcoder.openFiles[ICEcoder.selectedTab-1])&&(0<
|
ICEcoder.htmlTagArray[a]+"</a>",ICEcoder.nestDisplay.innerHTML+=a<ICEcoder.htmlTagArray.length-1?"<div "+c+' style="display: inline-block; width: 8px; margin-top: -5px; height: 30px; background-image: url(images/nest-tag-bg.gif); background-position: -7px 0; cursor: pointer"></div>':"<div "+c+' style="display: inline-block; width: 7px; margin-top: -5px; height: 30px; background-image: url(images/nest-tag-bg.gif); background-position: -15px 0; cursor: pointer"></div>';"script"!=ICEcoder.tagString&&
|
||||||
a.indexOf(".js")?b="JavaScript":0<a.indexOf(".coffee")?b="CoffeeScript":0<a.indexOf(".py")?b="Python":0<a.indexOf(".rb")?b="Ruby":0<a.indexOf(".css")?b="CSS":0<a.indexOf(".less")?b="LESS":0<a.indexOf(".md")?b="Markdown":0<a.indexOf(".xml")?b="XML":0<a.indexOf(".sql")&&(b="SQL"));ICEcoder.caretLocType=b},redoChangedContent:function(a){var b,c;b=ICEcoder.getcMInstance();c=a.keyCode?a.keyCode:a.which?a.which:a.charCode;a.ctrlKey||(top.ICEcoder.cmdKey||27==c||20==c||!(16>c||19<c)||!(37>c||40<c)||144==
|
(ICEcoder.nestDisplay.innerHTML+='<a style="display: inline-block; cursor: default; padding: 7px 2px 7px 7px; margin-top: -5px; height: 30px; color: #666">content</a>')}}},updateNestingIndicator:function(){var a,b,c;a=ICEcoder.getcMInstance();b=!0;c=ICEcoder.openFiles[ICEcoder.selectedTab-1];a&&c&&-1==["js","coffee","css","less","sql"].indexOf(c.split(".")[1])&&(b="error"!=a.getTokenAt({line:a.lineCount(),ch:a.lineInfo(a.lineCount()-1).text.length}).className?!0:!1);ICEcoder.nestValid.style.background=
|
||||||
c&&145==c||45==c&&46==c||!(33>c||36<c)||91==c&&92==c||!(112>c||123<c))||(ICEcoder.changedContent[ICEcoder.selectedTab-1]=0<b.historySize().undo?1:0,ICEcoder.redoTabHighlight(ICEcoder.selectedTab))},showHide:function(a,b){b.style.visibility="show"==a?"visible":"hidden"},getcMInstance:function(a){return top.ICEcoder.content.contentWindow["new"==a||"new"!=a&&0<ICEcoder.openFiles.length?"cM"+ICEcoder.cMInstances[ICEcoder.selectedTab-1]:"cM1"]},getMouseXY:function(a,b){top.ICEcoder.mouseX=a.pageX?a.pageX:
|
b?"#0b0":"#f00";ICEcoder.nestValid.title=b?"Nesting OK":"Nesting Broken"},getCaretPosition:function(){var a,b,c,d;a=ICEcoder.getcMInstance();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;ICEcoder.getNestLocation("yes")},updateCharDisplay:function(){var a;a=ICEcoder.getcMInstance();ICEcoder.caretLocationType();ICEcoder.charDisplay.innerHTML=ICEcoder.caretLocType+", Line: "+(a.getCursor().line+1)+", Char: "+a.getCursor().ch},updateByteDisplay:function(){ICEcoder.byteDisplay.innerHTML=
|
||||||
a.clientX+document.body.scrollLeft;top.ICEcoder.mouseY=a.pageY?a.pageY:a.clientY+document.body.scrollTop;"top"!=b&&(top.ICEcoder.mouseY+=90);"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=
|
ICEcoder.getcMInstance().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"},caretLocationType:function(){var a,b;a=ICEcoder.getcMInstance();b="Unknown";a=a.getValue().substr(0,ICEcoder.caretPos+1);a.lastIndexOf("<script")>a.lastIndexOf("\x3c/script>")&&"Unknown"==b?b="JavaScript":a.lastIndexOf("<?")>a.lastIndexOf("?>")&&
|
||||||
top.ICEcoder.mouseX-parseInt(top.ICEcoder.files.style.width,10)-top.ICEcoder.tabDragMouseXStart,top.ICEcoder.tabDragMove());if(top.ICEcoder.ready&&(a=window.innerHeight,top.ICEcoder.mouseDown||(top.ICEcoder.draggingFilesW=!1),a=!ICEcoder.draggingTab&&(top.ICEcoder.mouseX>top.ICEcoder.filesW-7&&top.ICEcoder.mouseX<top.ICEcoder.filesW+7&&40<top.ICEcoder.mouseY&&top.ICEcoder.mouseY<a-30||top.ICEcoder.draggingFilesW)?"w-resize":"auto",top.ICEcoder.content.contentWindow.document&&top.ICEcoder.filesFrame.contentWindow)){top.document.body.style.cursor=
|
"Unknown"==b?b="PHP":a.lastIndexOf("<%")>a.lastIndexOf("%>")&&"Unknown"==b?b="Ruby":a.lastIndexOf("<")>a.lastIndexOf(">")&&"Unknown"==b?b="HTML":"Unknown"==b&&(b="Content");(a=ICEcoder.openFiles[ICEcoder.selectedTab-1])&&(0<a.indexOf(".js")?b="JavaScript":0<a.indexOf(".coffee")?b="CoffeeScript":0<a.indexOf(".py")?b="Python":0<a.indexOf(".rb")?b="Ruby":0<a.indexOf(".css")?b="CSS":0<a.indexOf(".less")?b="LESS":0<a.indexOf(".md")?b="Markdown":0<a.indexOf(".xml")?b="XML":0<a.indexOf(".sql")&&(b="SQL"));
|
||||||
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=a,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=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))&&
|
ICEcoder.caretLocType=b},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]]},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"!=
|
||||||
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&&(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,
|
||||||
(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">';
|
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=
|
||||||
farbtastic("picker","color");a&&top.get("picker").farbtastic.setColor(a)},drawCanvasImage:function(a){var b,c,d,e,f,g,l,h,k,m,p;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.get("canvasPicker").onmousemove=function(a){d=a.pageX-this.offsetLeft;e=a.pageY-this.offsetTop;f=b.getImageData(d,e,1,1).data;g=f[0];l=f[1];h=f[2];k=g+","+l+","+h;m=top.ICEcoder.rgbToHex(g,
|
a}},serverMessage:function(a){var b;b=top.get("serverMessage");a?(b.innerHTML=a,b.style.left="0"):setTimeout(function(){b.style.left="2000px"},200);b.style.opacity=a?1:0},cssColorPreview:function(){var a,b,c,d;if(a=ICEcoder.getcMInstance()){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);
|
||||||
l,h);top.get("rgbMouseXY").value=k;top.get("hexMouseXY").value="#"+m;top.get("hexMouseXY").style.backgroundColor=top.get("rgbMouseXY").style.backgroundColor="#"+m;p=128>g||128>l||128>h&&200>g&&200>l&&50<h?"#fff":"#000";top.get("hexMouseXY").style.color=top.get("rgbMouseXY").style.color=p};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.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=
|
||||||
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=b.getTokenAt(b.getCursor());b.replaceRange(a,{line:b.getCursor().line,ch:c.start},{line:b.getCursor().line,
|
"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)},drawCanvasImage:function(a){var b,c,d,e,f,g,m,h,k,p,n;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.get("canvasPicker").onmousemove=function(a){d=a.pageX-this.offsetLeft;e=a.pageY-this.offsetTop;f=b.getImageData(d,e,1,1).data;g=f[0];m=f[1];h=f[2];k=g+","+m+","+h;p=top.ICEcoder.rgbToHex(g,
|
||||||
|
m,h);top.get("rgbMouseXY").value=k;top.get("hexMouseXY").value="#"+p;top.get("hexMouseXY").style.backgroundColor=top.get("rgbMouseXY").style.backgroundColor="#"+p;n=128>g||128>m||128>h&&200>g&&200>m&&50<h?"#fff":"#000";top.get("hexMouseXY").style.color=top.get("rgbMouseXY").style.color=n};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=n}},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=b.getTokenAt(b.getCursor());b.replaceRange(a,{line:b.getCursor().line,ch:c.start},{line:b.getCursor().line,
|
||||||
ch:c.end})},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){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",
|
ch:c.end})},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){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;ICEcoder.getcMInstance();top.ICEcoder.codeAssist=!top.ICEcoder.codeAssist;top.ICEcoder.cssColorPreview();top.ICEcoder.focus();for(i=0;i<top.ICEcoder.cMInstances.length;i++)-1<top.ICEcoder.openFiles[i].indexOf(".js")&&(a=top.ICEcoder.content.contentWindow["cM"+top.ICEcoder.cMInstances[i]],top.ICEcoder.codeAssist?
|
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;ICEcoder.getcMInstance();top.ICEcoder.codeAssist=!top.ICEcoder.codeAssist;top.get("codeAssistDisplay").style.backgroundPosition=top.ICEcoder.codeAssist?"0 0":"-16px 0";top.ICEcoder.cssColorPreview();top.ICEcoder.focus();for(i=0;i<top.ICEcoder.cMInstances.length;i++)-1<top.ICEcoder.openFiles[i].indexOf(".js")&&
|
||||||
a.setOption("lintWith",top.ICEcoder.content.contentWindow.CodeMirror.javascriptValidator):(a.clearGutter("CodeMirror-lint-markers"),a.setOption("lintWith",!1)))},serverQueue:function(a,b){var c,d,e;c=ICEcoder.getcMInstance();for(e=d=0;e<ICEcoder.serverQueueItems.length;e++)0<ICEcoder.serverQueueItems[e].indexOf("action=save")&&d++;d++;if("add"==a)ICEcoder.serverQueueItems.push(b),0<b.indexOf("action=save")&&(e=document.createElement("textarea"),e.setAttribute("id","saveTemp"+d),document.body.appendChild(e),
|
(a=top.ICEcoder.content.contentWindow["cM"+top.ICEcoder.cMInstances[i]],top.ICEcoder.codeAssist?a.setOption("lintWith",top.ICEcoder.content.contentWindow.CodeMirror.javascriptValidator):(a.clearGutter("CodeMirror-lint-markers"),a.setOption("lintWith",!1)))},serverQueue:function(a,b){var c,d,e;c=ICEcoder.getcMInstance();for(e=d=0;e<ICEcoder.serverQueueItems.length;e++)0<ICEcoder.serverQueueItems[e].indexOf("action=save")&&d++;d++;if("add"==a)ICEcoder.serverQueueItems.push(b),0<b.indexOf("action=save")&&
|
||||||
top.get("saveTemp"+d).value=c.getValue());else if("del"==a){if(ICEcoder.serverQueueItems[0]&&0<ICEcoder.serverQueueItems[0].indexOf("action=save")){c=d-1;for(e=1;e<c;e++)top.get("saveTemp"+e).value=top.get("saveTemp"+(e+1)).value;c=top.get("saveTemp"+c);c.parentNode.removeChild(c)}ICEcoder.serverQueueItems.splice(0,1)}("del"==a&&1<=ICEcoder.serverQueueItems.length||1==ICEcoder.serverQueueItems.length)&&setTimeout(function(){top.ICEcoder.filesFrame.contentWindow.frames.fileControl.location.href=ICEcoder.serverQueueItems[0]},
|
(e=document.createElement("textarea"),e.setAttribute("id","saveTemp"+d),document.body.appendChild(e),top.get("saveTemp"+d).value=c.getValue());else if("del"==a){if(ICEcoder.serverQueueItems[0]&&0<ICEcoder.serverQueueItems[0].indexOf("action=save")){c=d-1;for(e=1;e<c;e++)top.get("saveTemp"+e).value=top.get("saveTemp"+(e+1)).value;c=top.get("saveTemp"+c);c.parentNode.removeChild(c)}ICEcoder.serverQueueItems.splice(0,1)}("del"==a&&1<=ICEcoder.serverQueueItems.length||1==ICEcoder.serverQueueItems.length)&&
|
||||||
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">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");
|
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">Cancelled tasks</b>');setTimeout(function(){top.ICEcoder.serverMessage()},2E3)},setPreviousFiles:function(){var a;a=top.ICEcoder.openFiles.join(",").replace(/\//g,
|
||||||
top.ICEcoder.serverQueue("add","lib/settings.php?saveFiles="+a)},autoOpenFiles:function(){if(0<top.ICEcoder.previousFiles.length&&top.ICEcoder.ask("Open previous files?\n\n"+top.ICEcoder.previousFiles.length+" files:\n"+top.ICEcoder.previousFiles.join("\n").replace(/\|/g,"/").replace(RegExp(top.docRoot+top.iceRoot,"gi"),"")))for(var a=0;a<top.ICEcoder.previousFiles.length;a++)top.ICEcoder.rightClickedFile=top.ICEcoder.thisFileFolderLink=top.ICEcoder.previousFiles[a].replace("|","/"),top.ICEcoder.thisFileFolderType=
|
"|").replace(/(\|\[NEW\])|(,\|\[NEW\])/g,"").replace(/(^,)|(,$)/g,"");""==a&&(a="CLEAR");top.ICEcoder.serverQueue("add","lib/settings.php?saveFiles="+a)},autoOpenFiles:function(){if(0<top.ICEcoder.previousFiles.length&&top.ICEcoder.ask("Open previous files?\n\n"+top.ICEcoder.previousFiles.length+" files:\n"+top.ICEcoder.previousFiles.join("\n").replace(/\|/g,"/").replace(RegExp(top.docRoot+top.iceRoot,"gi"),"")))for(var a=0;a<top.ICEcoder.previousFiles.length;a++)top.ICEcoder.rightClickedFile=top.ICEcoder.thisFileFolderLink=
|
||||||
"file",top.ICEcoder.openFile()},settingsScreen:function(a){a||(top.get("mediaContainer").innerHTML='<iframe src="lib/settings-screen.php" class="whiteGlow" style="width: 970px; height: 600px"></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: 800px; height: 450px"></iframe>';top.ICEcoder.showHide("show",top.get("blackMask"))},showManual:function(a){top.get("mediaContainer").innerHTML=
|
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: 800px; height: 450px"></iframe>';top.ICEcoder.showHide("show",
|
||||||
'<iframe src="http://icecoder.net/manual?version='+a+'" class="whiteGlow" style="width: 500px; height: 500px"></iframe>';top.ICEcoder.showHide("show",top.get("blackMask"))},propertiesScreen:function(a){top.get("mediaContainer").innerHTML='<iframe src="lib/properties.php?fileName='+a.replace(/\//g,"|")+'" class="whiteGlow" style="width: 660px; height: 330px"></iframe>';top.ICEcoder.showHide("show",top.get("blackMask"))},useNewSettings:function(a,b,c,d,e,f,g,l,h,k){var m;top.ICEcoder.theme=a.slice(a.lastIndexOf("/")+
|
top.get("blackMask"))},showManual:function(a){top.get("mediaContainer").innerHTML='<iframe src="http://icecoder.net/manual?version='+a+'" class="whiteGlow" style="width: 500px; height: 500px"></iframe>';top.ICEcoder.showHide("show",top.get("blackMask"))},propertiesScreen:function(a){top.get("mediaContainer").innerHTML='<iframe src="lib/properties.php?fileName='+a.replace(/\//g,"|")+'" class="whiteGlow" style="width: 660px; height: 330px"></iframe>';top.ICEcoder.showHide("show",top.get("blackMask"))},
|
||||||
1,a.lastIndexOf("."));"editor"==top.ICEcoder.theme&&(top.ICEcoder.theme="icecoder");m=document.createElement("link");m.setAttribute("rel","stylesheet");m.setAttribute("type","text/css");m.setAttribute("href",a);top.ICEcoder.content.contentWindow.document.getElementsByTagName("head")[0].appendChild(m);a=-1<"3024-day base16-light eclipse elegant neat solarized xq-light".split(" ").indexOf(top.ICEcoder.theme)?"#ccc":"#000";top.ICEcoder.switchTab(top.ICEcoder.selectedTab);b!=top.ICEcoder.codeAssist&&
|
useNewSettings:function(a,b,c,d,e,f,g,m,h,k,p){var n;top.ICEcoder.theme=a.slice(a.lastIndexOf("/")+1,a.lastIndexOf("."));"editor"==top.ICEcoder.theme&&(top.ICEcoder.theme="icecoder");n=document.createElement("link");n.setAttribute("rel","stylesheet");n.setAttribute("type","text/css");n.setAttribute("href",a);top.ICEcoder.content.contentWindow.document.getElementsByTagName("head")[0].appendChild(n);a=-1<"3024-day base16-light eclipse elegant neat paraiso-light solarized xq-light".split(" ").indexOf(top.ICEcoder.theme)?
|
||||||
(top.get("codeAssist").checked=b,top.ICEcoder.codeAssistToggle());c!=top.ICEcoder.lockedNav&&top.ICEcoder.lockUnlockNav();c||(ICEcoder.changeFilesW("contract"),top.ICEcoder.hideFileMenu());c=ICEcoder.content.contentWindow.document.styleSheets[4];b=c.rules?"rules":"cssRules";c[b][0].style.fontSize=f;c[b][4].style.content=e?'"\\21e5"':'" "';c[b][2].style.cssText="background-color: "+a+" !important";top.ICEcoder.lineWrapping=g;top.ICEcoder.indentWithTabs=l;top.ICEcoder.indentSize=h;for(e=0;e<ICEcoder.cMInstances.length;e++)ICEcoder.content.contentWindow["cM"+
|
"#ccc":"#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();c||(ICEcoder.changeFilesW("contract"),top.ICEcoder.hideFileMenu());c=ICEcoder.content.contentWindow.document.styleSheets[4];b=c.rules?"rules":"cssRules";c[b][0].style.fontSize=g;c[b][4].style["border-left-width"]=f?"1px":"0";c[b][4].style["margin-left"]=f?"-1px":"0";c[b][2].style.cssText=
|
||||||
ICEcoder.cMInstances[e]].setOption("lineWrapping",top.ICEcoder.lineWrapping),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[e]].setOption("indentWithTabs",top.ICEcoder.indentWithTabs),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[e]].setOption("indentUnit",top.ICEcoder.indentSize),ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[e]].setOption("tabSize",top.ICEcoder.indentSize);d!=top.ICEcoder.tagWrapperCommand&&(top.ICEcoder.tagWrapperCommand=d);k&&top.ICEcoder.refreshFileManager()},
|
"background-color: "+a+" !important";top.ICEcoder.lineWrapping=m;top.ICEcoder.indentWithTabs=h;top.ICEcoder.indentSize=k;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),
|
||||||
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?
|
ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[f]].setOption("tabSize",top.ICEcoder.indentSize);d!=top.ICEcoder.tagWrapperCommand&&(top.ICEcoder.tagWrapperCommand=d);e!=top.ICEcoder.autoComplete&&(top.ICEcoder.autoComplete=e);p&&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.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},chmod:function(a,b){a=a.replace(top.iceRoot,"");top.ICEcoder.showHide("hide",top.get("blackMask"));top.ICEcoder.serverQueue("add","lib/file-control.php?action=perms&file="+a+"&perms="+b);top.ICEcoder.serverMessage("<b>chMod "+b+" on </b><br>"+a)},openPreviewWindow:function(){if(0<
|
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="+
|
||||||
top.ICEcoder.openFiles.length){var a,b,c;b=top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1];c=b.substr(b.lastIndexOf("/")+1);c=c.substr(c.lastIndexOf(".")+1);a=ICEcoder.getcMInstance();top.ICEcoder.previewWindow=window.open(b,"previewWindow");-1<["md"].indexOf(c)&&(top.ICEcoder.previewWindow.onload=function(){top.ICEcoder.previewWindow.document.documentElement.innerHTML=mmd(a.getValue())})}},openTerminal:function(){top.ICEcoder.demoMode?top.ICEcoder.message("Sorry, you need to be logged in to use the terminal"):
|
a},downloadFile:function(a){a=a.replace(/\//g,"|");top.ICEcoder.filesFrame.contentWindow.frames.fileControl.location.href="lib/download.php?file="+a},chmod:function(a,b){a=a.replace(top.iceRoot,"");top.ICEcoder.showHide("hide",top.get("blackMask"));top.ICEcoder.serverQueue("add","lib/file-control.php?action=perms&file="+a+"&perms="+b);top.ICEcoder.serverMessage("<b>chMod "+b+" on </b><br>"+a)},openPreviewWindow:function(){if(0<top.ICEcoder.openFiles.length){var a,b,c;b=top.ICEcoder.openFiles[top.ICEcoder.selectedTab-
|
||||||
window.open("terminal")},logout:function(){window.location+="?logout"},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("Updating is currently an experimental feature. While it should work fine, please note there may be issues here, plus the following isn't yet part of this:\n\n- Settings not ported to new version\n- Plugins not ported to new version\n- Any mods you've made not ported to new version\n\nIf you have write access on the whole of ICEcoder (ie, running locally) it should work fine. If tho you need to recover ICEcoder for any reason, you'll find this current version in its tmp dir.\n\nClick OK to proceed with an auto-update or cancel to visit the ICEcoder site so you can grab the zip and update manually")?
|
1];c=b.substr(b.lastIndexOf("/")+1);c=c.substr(c.lastIndexOf(".")+1);a=ICEcoder.getcMInstance();top.ICEcoder.previewWindow=window.open(b,"previewWindow");-1<["md"].indexOf(c)&&(top.ICEcoder.previewWindow.onload=function(){top.ICEcoder.previewWindow.document.documentElement.innerHTML=mmd(a.getValue())})}},openTerminal:function(){top.ICEcoder.demoMode?top.ICEcoder.message("Sorry, you need to be logged in to use the terminal"):window.open("terminal")},logout:function(){window.location+="?logout"},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("Updating is currently an experimental feature. While it should work fine, please note there may be issues here, plus the following isn't yet part of this:\n\n- Settings not ported to new version\n- Plugins not ported to new version\n- Any mods you've made not ported to new version\n\nIf you have write access on the whole of ICEcoder (ie, running locally) it should work fine. If tho you need to recover ICEcoder for any reason, you'll find this current version in its tmp dir.\n\nClick OK to proceed with an auto-update or cancel to visit the ICEcoder site so you can grab the zip and update manually")?
|
||||||
(top.ICEcoder.showHide("show",top.get("loadingMask")),window.location="lib/updater.php"):window.open("http://icecoder.net")},switchTab:function(a,b){var c;ICEcoder.selectedTab=a;if(c=ICEcoder.getcMInstance()){ICEcoder.switchMode();for(var d=0;d<ICEcoder.cMInstances.length;d++)ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[d]].getWrapperElement().style.display="none";c.setOption("theme",top.ICEcoder.theme);c.getWrapperElement().style.display="block";b||setTimeout(function(){top.ICEcoder.focus()},
|
(top.ICEcoder.showHide("show",top.get("loadingMask")),window.location="lib/updater.php"):window.open("http://icecoder.net")},switchTab:function(a,b){var c;ICEcoder.selectedTab=a;if(c=ICEcoder.getcMInstance()){ICEcoder.switchMode();for(var d=0;d<ICEcoder.cMInstances.length;d++)ICEcoder.content.contentWindow["cM"+ICEcoder.cMInstances[d]].getWrapperElement().style.display="none";c.setOption("theme",top.ICEcoder.theme);c.getWrapperElement().style.display="block";b||setTimeout(function(){top.ICEcoder.focus()},
|
||||||
4);c.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(){var a;ICEcoder.cMInstances.push(ICEcoder.nextcMInstance);ICEcoder.selectedTab=ICEcoder.cMInstances.length;ICEcoder.showHide("show",ICEcoder.content);ICEcoder.content.contentWindow.createNewCMInstance(ICEcoder.nextcMInstance);ICEcoder.setLayout();
|
4);c.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(){var a;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();a=ICEcoder.getcMInstance("new");ICEcoder.switchTab(ICEcoder.openFiles.length);a.removeLineClass(ICEcoder["cMActiveLine"+ICEcoder.cMInstances[top.ICEcoder.selectedTab-1]],"background");ICEcoder["cMActiveLine"+ICEcoder.selectedTab]=a.addLineClass(0,"background","cm-s-activeLine");ICEcoder.nextcMInstance++},createNewTab:function(){var a;top.ICEcoder.openFiles.push(top.ICEcoder.shortURL);top.get("tab"+top.ICEcoder.openFiles.length).style.display=
|
ICEcoder.thisFileFolderType="file";ICEcoder.thisFileFolderLink="/[NEW]";ICEcoder.openFile();a=ICEcoder.getcMInstance("new");ICEcoder.switchTab(ICEcoder.openFiles.length);a.removeLineClass(ICEcoder["cMActiveLine"+ICEcoder.cMInstances[top.ICEcoder.selectedTab-1]],"background");ICEcoder["cMActiveLine"+ICEcoder.selectedTab]=a.addLineClass(0,"background","cm-s-activeLine");ICEcoder.nextcMInstance++},createNewTab:function(){var a;top.ICEcoder.openFiles.push(top.ICEcoder.shortURL);top.get("tab"+top.ICEcoder.openFiles.length).style.display=
|
||||||
"inline-block";a=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> '+a.slice(a.lastIndexOf("/")).replace(/\//,
|
"inline-block";a=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> '+a.slice(a.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.changedContent.push(0);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.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.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> '+
|
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.changedContent.length;d++)top.get("tab"+d).childNodes[0]&&(top.get("tab"+d).childNodes[0].childNodes[0].style.backgroundColor=1==ICEcoder.changedContent[d-1]?"#b00":"transparent"),b=d==a?top.ICEcoder.tabFGselected:top.ICEcoder.tabFGnormalTab,"undefined"!=typeof top.ICEcoder.openFiles[d-1]&&"/[NEW]"!=top.ICEcoder.openFiles[d-
|
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]&&(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;top.ICEcoder.fMIconVis("fMSave",1==ICEcoder.changedContent[a-1]?1:0.3)},closeTab:function(a,b,c){var d;a||(a=top.ICEcoder.selectedTab);
|
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;top.ICEcoder.getcMInstance(a)&&top.ICEcoder.fMIconVis("fMSave",ICEcoder.savedPoints[a-
|
||||||
ICEcoder.getcMInstance();d=!0;c||1!=ICEcoder.changedContent[a-1]||(d=top.ICEcoder.ask("You have made changes.\n\nAre you sure you want to close without saving?"));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]!=top.ICEcoder.getcMInstance(a).changeGeneration()?1:0.3)},closeTab:function(a,b,c){var d;a||(a=top.ICEcoder.selectedTab);ICEcoder.getcMInstance();d=!0;c||ICEcoder.savedPoints[a-1]==top.ICEcoder.getcMInstance(a).changeGeneration()||(d=top.ICEcoder.ask("You have made changes.\n\nAre you sure you want to close without saving?"));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"+
|
||||||
1]].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-=1:ICEcoder.selectedTab=0);0<ICEcoder.openFiles.length&&0==ICEcoder.selectedTab&&(ICEcoder.selectedTab=1);0==ICEcoder.openFiles.length?
|
(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";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&&
|
||||||
top.ICEcoder.fMIconVis("fMView",0.3):(ICEcoder.switchMode(),ICEcoder.switchTab(ICEcoder.selectedTab));top.ICEcoder.changedContent.splice(a-1,1);top.ICEcoder.redoTabHighlight(ICEcoder.selectedTab);top.ICEcoder.getNestLocation("update");top.ICEcoder.selectDeselectFile("deselect",top.ICEcoder.filesFrame.contentWindow.document.getElementById(c.replace(/\//g,"|")));b||top.ICEcoder.setPreviousFiles()}top.ICEcoder.canSwitchTabs=!1;top.ICEcoder.setTabWidths("posOnlyNewTab");setTimeout(function(){top.ICEcoder.canSwitchTabs=
|
(0<ICEcoder.openFiles.length?ICEcoder.selectedTab-=1:ICEcoder.selectedTab=0);0<ICEcoder.openFiles.length&&0==ICEcoder.selectedTab&&(ICEcoder.selectedTab=1);0==ICEcoder.openFiles.length?top.ICEcoder.fMIconVis("fMView",0.3):(ICEcoder.switchMode(),ICEcoder.switchTab(ICEcoder.selectedTab));top.ICEcoder.savedPoints.splice(a-1,1);top.ICEcoder.redoTabHighlight(ICEcoder.selectedTab);top.ICEcoder.getNestLocation("update");top.ICEcoder.selectDeselectFile("deselect",top.ICEcoder.filesFrame.contentWindow.document.getElementById(c.replace(/\//g,
|
||||||
!0},100)},closeAllTabs:function(){if(0<top.ICEcoder.cMInstances.length&&ICEcoder.ask("Close all tabs?"))for(var a=top.ICEcoder.cMInstances.length;0<a;a--)top.ICEcoder.closeTab(a,1<a?!0:!1)},setTabWidths:function(a){var b,c,d,e,f;if(top.ICEcoder.ready){b=parseInt(top.ICEcoder.content.style.width,10)-53-24-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||top.ICEcoder.setPreviousFiles()}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("Close all tabs?"))for(var a=top.ICEcoder.cMInstances.length;0<a;a--)top.ICEcoder.closeTab(a,1<a?!0:!1)},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-
|
||||||
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,
|
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=
|
||||||
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;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,
|
||||||
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:0.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-
|
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:0.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]-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=
|
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!=
|
||||||
[];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.changedContent,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"+
|
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,
|
||||||
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.changedContent=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("/")+
|
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)},
|
||||||
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;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"==
|
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)+
|
||||||
a)return top.ICEcoder.deleteFiles(),!1;if(b.altKey){var d=b.ctrlKey||top.ICEcoder.cmdKey?!0:!1;if("content"==a&&("ctrl+alt"==top.ICEcoder.tagWrapperCommand&&d||"alt-left"==top.ICEcoder.tagWrapperCommand&&!d)){if(68==c)return top.ICEcoder.tagWrapper("div"),!1;if(83==c)return top.ICEcoder.tagWrapper("span"),!1;if(80==c)return top.ICEcoder.tagWrapper("p"),!1;if(65==c)return top.ICEcoder.tagWrapper("a"),!1;if(66==c)return top.ICEcoder.tagWrapper("b"),!1;if(73==c)return top.ICEcoder.tagWrapper("i"),!1;
|
1);a.splice(e,1);b.splice(e,1)}top.ICEcoder.sortTabs(c)}},interceptKeys:function(a,b){var c;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 d=b.ctrlKey||top.ICEcoder.cmdKey?!0:!1;if("content"==a&&("ctrl+alt"==top.ICEcoder.tagWrapperCommand&&d||"alt-left"==top.ICEcoder.tagWrapperCommand&&!d)){if(68==c)return top.ICEcoder.tagWrapper("div"),!1;if(83==c)return top.ICEcoder.tagWrapper("span"),
|
||||||
if(71==c)return top.ICEcoder.tagWrapper("strong"),!1;if(69==c)return top.ICEcoder.tagWrapper("em"),!1;if(49==c)return top.ICEcoder.tagWrapper("h1"),!1;if(50==c)return top.ICEcoder.tagWrapper("h2"),!1;if(51==c)return top.ICEcoder.tagWrapper("h3"),!1;if(13==c)return top.ICEcoder.addLineBreakAtEnd(),!1}return c}return 70==c&&(b.ctrlKey||top.ICEcoder.cmdKey)?(top.get("find").focus(),!1):71==c&&(b.ctrlKey||top.ICEcoder.cmdKey)?(top.get("goToLineNo").focus(),!1):73==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&
|
!1;if(80==c)return top.ICEcoder.tagWrapper("p"),!1;if(65==c)return top.ICEcoder.tagWrapper("a"),!1;if(66==c)return top.ICEcoder.tagWrapper("b"),!1;if(73==c)return top.ICEcoder.tagWrapper("i"),!1;if(71==c)return top.ICEcoder.tagWrapper("strong"),!1;if(69==c)return top.ICEcoder.tagWrapper("em"),!1;if(49==c)return top.ICEcoder.tagWrapper("h1"),!1;if(50==c)return top.ICEcoder.tagWrapper("h2"),!1;if(51==c)return top.ICEcoder.tagWrapper("h3"),!1;if(13==c)return top.ICEcoder.addLineBreakAtEnd(),!1}return c}return 70==
|
||||||
"content"==a?(top.ICEcoder.resetKeys(b),c=top.ICEcoder.caretLocType.toLowerCase()+" ","CSS"==top.ICEcoder.caretLocType||"PHP"==top.ICEcoder.caretLocType?window.open("http://voke.fm/"+c+top.ICEcoder.getcMInstance().getSelection()):("Content"==top.ICEcoder.caretLocType&&(c=""),window.open("http://www.google.com/#output=search&q="+c+top.ICEcoder.getcMInstance().getSelection())),!1):39==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"!=a?(top.ICEcoder.nextTab(),!1):37==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&
|
c&&(b.ctrlKey||top.ICEcoder.cmdKey)?(top.get("find").focus(),!1):71==c&&(b.ctrlKey||top.ICEcoder.cmdKey)?(top.get("goToLineNo").focus(),!1):73==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a?(top.ICEcoder.resetKeys(b),c=top.ICEcoder.caretLocType.toLowerCase()+" ","CSS"==top.ICEcoder.caretLocType||"PHP"==top.ICEcoder.caretLocType?window.open("http://voke.fm/"+c+top.ICEcoder.getcMInstance().getSelection()):("Content"==top.ICEcoder.caretLocType&&(c=""),window.open("http://www.google.com/#output=search&q="+
|
||||||
"content"!=a?(top.ICEcoder.previousTab(),!1):38==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a?(top.ICEcoder.moveLines("up"),!1):40==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a?(top.ICEcoder.moveLines("down"),!1):107==c&&(b.ctrlKey||top.ICEcoder.cmdKey)?("content"==a?top.ICEcoder.duplicateLines():top.ICEcoder.newTab(),!1):109==c&&(b.ctrlKey||top.ICEcoder.cmdKey)?("content"==a?top.ICEcoder.removeLines():top.ICEcoder.closeTab(top.ICEcoder.selectedTab),!1):83==c&&(b.ctrlKey||top.ICEcoder.cmdKey)?
|
c+top.ICEcoder.getcMInstance().getSelection())),!1):39==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"!=a?(top.ICEcoder.nextTab(),!1):37==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"!=a?(top.ICEcoder.previousTab(),!1):38==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a?(top.ICEcoder.moveLines("up"),!1):40==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a?(top.ICEcoder.moveLines("down"),!1):107==c&&(b.ctrlKey||top.ICEcoder.cmdKey)?("content"==a?top.ICEcoder.duplicateLines():top.ICEcoder.newTab(),
|
||||||
(b.shiftKey?top.ICEcoder.saveFile("saveAs"):top.ICEcoder.saveFile(),!1):13==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"/[NEW]"!=top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1]?(top.ICEcoder.resetKeys(b),window.open(top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1]),!1):79==c&&(b.ctrlKey||top.ICEcoder.cmdKey)?(top.ICEcoder.openPrompt(),!1):32==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a?(top.ICEcoder.addSnippet(),!1):32==c&&"content"!=a&&-1==["find","replace"].indexOf(document.activeElement.id)?
|
!1):109==c&&(b.ctrlKey||top.ICEcoder.cmdKey)?("content"==a?top.ICEcoder.removeLines():top.ICEcoder.closeTab(top.ICEcoder.selectedTab),!1):83==c&&(b.ctrlKey||top.ICEcoder.cmdKey)?(b.shiftKey?top.ICEcoder.saveFile("saveAs"):top.ICEcoder.saveFile(),!1):13==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"/[NEW]"!=top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1]?(top.ICEcoder.resetKeys(b),window.open(top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1]),!1):79==c&&(b.ctrlKey||top.ICEcoder.cmdKey)?(top.ICEcoder.openPrompt(),
|
||||||
(top.ICEcoder.getcMInstance()&&top.ICEcoder.focus(),!1):74==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a?(top.ICEcoder.jumpToDefinition(),!1):27==c&&"content"==a?(top.ICEcoder.lineCommentToggle(),!1):27==c&&"content"!=a?(top.ICEcoder.cancelAllActions(),!1):c},resetKeys:function(a){a=a.keyCode?a.keyCode:a.which?a.which:a.charCode;if(224==a||91==a||93==a)top.ICEcoder.cmdKey=!1},addSnippet:function(){var a,b,c;a=ICEcoder.getcMInstance();b=a.getCursor().line;c=a.getLine(b).length-a.getLine(b).replace(/^\s\s*/,
|
!1):32==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a?(top.ICEcoder.addSnippet(),!1):32==c&&"content"!=a&&-1==["find","replace"].indexOf(document.activeElement.id)?(top.ICEcoder.getcMInstance()&&top.ICEcoder.focus(),!1):74==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a?(top.ICEcoder.jumpToDefinition(),!1):27==c&&"content"==a?(top.ICEcoder.lineCommentToggle(),!1):27==c&&"content"!=a?(top.ICEcoder.cancelAllActions(),!1):c},resetKeys:function(a){a=a.keyCode?a.keyCode:a.which?a.which:a.charCode;
|
||||||
"").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,l;c=top.ICEcoder.getcMInstance();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)+
|
if(224==a||91==a||93==a)top.ICEcoder.cmdKey=!1},addSnippet:function(){var a,b,c;a=ICEcoder.getcMInstance();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}")},
|
||||||
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;l=d;for(i=0;i<e.length;i++)e.indexOf("\n",g)<e.indexOf("CURSOR")&&(g=e.indexOf("\n",g)+1,l+=1);c.setLine(d,e.replace("CURSOR",""));c.setCursor(l,f);top.ICEcoder.focus()}}};
|
doSnippet:function(a,b){var c,d,e,f,g,m;c=top.ICEcoder.getcMInstance();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;m=d;for(i=0;i<e.length;i++)e.indexOf("\n",g)<e.indexOf("CURSOR")&&(g=e.indexOf("\n",g)+1,m+=1);c.setLine(d,e.replace("CURSOR",
|
||||||
|
""));c.setCursor(m,f);top.ICEcoder.focus()}}};
|
||||||
@@ -28,7 +28,7 @@ h1 {font-size: 36px; font-weight: normal; color: #888; margin-bottom: 20px}
|
|||||||
h2 {font-size: 18px; font-weight: normal; color: #fff}
|
h2 {font-size: 18px; font-weight: normal; color: #fff}
|
||||||
|
|
||||||
.settings {font-family: arial, verdana, helvetica, sans-serif; background-color: #1c1c19; color: #fff}
|
.settings {font-family: arial, verdana, helvetica, sans-serif; background-color: #1c1c19; color: #fff}
|
||||||
.settings .infoPane {position: relative; width: 230px; height: 560px; font-size: 10px; color: #bbb; background-color: #fff; padding: 20px; float: left}
|
.settings .infoPane {position: relative; width: 230px; height: 570px; font-size: 10px; color: #bbb; background-color: #fff; padding: 20px; float: left}
|
||||||
.settings .infoPane a {color: #888; text-decoration: none}
|
.settings .infoPane a {color: #888; text-decoration: none}
|
||||||
.settings .infoPane a:hover {text-decoration: underline}
|
.settings .infoPane a:hover {text-decoration: underline}
|
||||||
.settings .logo {position: relative; margin-top: 2px}
|
.settings .logo {position: relative; margin-top: 2px}
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
.CodeMirror {position: absolute; width: 409px; height: 240px; font-size: <?php echo $ICEcoder["fontSize"];?>}
|
.CodeMirror {position: absolute; width: 409px; height: 240px; font-size: <?php echo $ICEcoder["fontSize"];?>}
|
||||||
.CodeMirror-scroll {overflow: hidden}
|
.CodeMirror-scroll {overflow: hidden}
|
||||||
/* Make sure this next one remains the 3rd item, updated with JS */
|
/* Make sure this next one remains the 3rd item, updated with JS */
|
||||||
.cm-tab:after {position: relative; display: inline-block; width: 0; left: -1.4em; overflow: visible; color: #aaa; content: "<?php if($ICEcoder["visibleTabs"]) {echo '\21e5';};?>";}
|
.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.2)}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<link rel="stylesheet" href="editor.css">
|
<link rel="stylesheet" href="editor.css">
|
||||||
@@ -38,8 +38,9 @@ for ($i=0;$i<count($themeArray);$i++) {
|
|||||||
<div class="infoPane">
|
<div class="infoPane">
|
||||||
<a href="http://icecoder.net" target="_blank"><img src="../images/ice-coder.png" alt="ICEcoder" class="logo"></a>
|
<a href="http://icecoder.net" target="_blank"><img src="../images/ice-coder.png" alt="ICEcoder" class="logo"></a>
|
||||||
|
|
||||||
|
<h1 style="margin: 10px 0">settings</h1>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<br><br>
|
|
||||||
version:<br>
|
version:<br>
|
||||||
v <?php echo $ICEcoder["versionNo"];?>
|
v <?php echo $ICEcoder["versionNo"];?>
|
||||||
<br><br>
|
<br><br>
|
||||||
@@ -64,7 +65,7 @@ for ($i=0;$i<count($themeArray);$i++) {
|
|||||||
|
|
||||||
file manager root:<br>
|
file manager root:<br>
|
||||||
<?php echo $ICEcoder['root'] == "" ? "/" : $ICEcoder['root'];?>
|
<?php echo $ICEcoder['root'] == "" ? "/" : $ICEcoder['root'];?>
|
||||||
<br><br><br><br>
|
<br><br>
|
||||||
|
|
||||||
<div style="font-size: 10px; line-height: 12px">ICE coder by Matt Pass (<a href="http://www.twitter.com/mattpass" style="font-size: 10px" target="_blank">@mattpass</a>)<br><br>
|
<div style="font-size: 10px; line-height: 12px">ICE coder by Matt Pass (<a href="http://www.twitter.com/mattpass" style="font-size: 10px" target="_blank">@mattpass</a>)<br><br>
|
||||||
Free to use it for your own purposes, commercial or not, just let me know of any cool uses or customisations. :)<br><br>
|
Free to use it for your own purposes, commercial or not, just let me know of any cool uses or customisations. :)<br><br>
|
||||||
@@ -87,7 +88,6 @@ for ($i=0;$i<count($themeArray);$i++) {
|
|||||||
|
|
||||||
<form name="settings" action="settings.php" method="POST">
|
<form name="settings" action="settings.php" method="POST">
|
||||||
<div class="settingsColumn1">
|
<div class="settingsColumn1">
|
||||||
<h1>settings</h1>
|
|
||||||
<h2>functionality</h2>
|
<h2>functionality</h2>
|
||||||
<input type="checkbox" onclick="showButton()" name="checkUpdates" value="true"<?php if($ICEcoder["checkUpdates"]) {echo ' checked';};?>> check for updates on load<br>
|
<input type="checkbox" onclick="showButton()" name="checkUpdates" value="true"<?php if($ICEcoder["checkUpdates"]) {echo ' checked';};?>> check for updates on load<br>
|
||||||
<input type="checkbox" onclick="showButton()" name="openLastFiles" value="true"<?php if($ICEcoder["openLastFiles"]) {echo ' checked';};?>> auto open last files on login<br>
|
<input type="checkbox" onclick="showButton()" name="openLastFiles" value="true"<?php if($ICEcoder["openLastFiles"]) {echo ' checked';};?>> auto open last files on login<br>
|
||||||
@@ -102,10 +102,16 @@ when finding in files, exclude:<br>
|
|||||||
<input type="checkbox" onclick="showButton()" name="lockedNav" value="true"<?php if($ICEcoder["lockedNav"]) {echo ' checked';};?>> locked nav<br><br>
|
<input type="checkbox" onclick="showButton()" name="lockedNav" value="true"<?php if($ICEcoder["lockedNav"]) {echo ' checked';};?>> locked nav<br><br>
|
||||||
tag wrapper command<br>
|
tag wrapper command<br>
|
||||||
<select onchange="showButton()" name="tagWrapperCommand">
|
<select onchange="showButton()" name="tagWrapperCommand">
|
||||||
<option value="ctrl+alt"<?php if($ICEcoder["tagWrapperCommand"]=='ctrl+alt') {echo " selected";};?>>ctrl + alt</option>
|
<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>
|
<option value="alt-left"<?php if($ICEcoder["tagWrapperCommand"]=='alt-left') {echo " selected";};?>>alt left</option>
|
||||||
</select><br>
|
</select><br>
|
||||||
<br>
|
<br>
|
||||||
|
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>security</h2>
|
<h2>security</h2>
|
||||||
new password <span style="font-size: 10px; color: #888">8 chars</span><br>
|
new password <span style="font-size: 10px; color: #888">8 chars</span><br>
|
||||||
@@ -231,7 +237,8 @@ var showButton = function() {
|
|||||||
var showHideTabs = function() {
|
var showHideTabs = function() {
|
||||||
cMCSS = document.styleSheets[2];
|
cMCSS = document.styleSheets[2];
|
||||||
cMCSS.rules ? strCSS = 'rules' : strCSS = 'cssRules';
|
cMCSS.rules ? strCSS = 'rules' : strCSS = 'cssRules';
|
||||||
document.settings.visibleTabs.checked ? cMCSS[strCSS][2].style['content'] = '"\\21e5"' : cMCSS[strCSS][2].style['content'] = '" "';
|
cMCSS[strCSS][2].style['border-left-width'] = document.settings.visibleTabs.checked ? '1px' : '0';
|
||||||
|
cMCSS[strCSS][2].style['margin-left'] = document.settings.visibleTabs.checked ? '-1px' : '0';
|
||||||
}
|
}
|
||||||
|
|
||||||
var validatePasswords = function() {
|
var validatePasswords = function() {
|
||||||
|
|||||||
@@ -15,6 +15,10 @@ $context = stream_context_create(array('http'=>
|
|||||||
)
|
)
|
||||||
));
|
));
|
||||||
|
|
||||||
|
// Set our security related headers, none activated
|
||||||
|
// header("frame-options: SAMEORIGIN");
|
||||||
|
// header("XSS-Protection: 1; mode=block");
|
||||||
|
|
||||||
// Start a session if we haven't already
|
// Start a session if we haven't already
|
||||||
if(!isset($_SESSION)) {@session_start();}
|
if(!isset($_SESSION)) {@session_start();}
|
||||||
|
|
||||||
@@ -132,6 +136,7 @@ if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset
|
|||||||
$ICEcoder["visibleTabs"] = isset($_POST['visibleTabs']) && $_POST['visibleTabs'] ? "true" : "false";
|
$ICEcoder["visibleTabs"] = isset($_POST['visibleTabs']) && $_POST['visibleTabs'] ? "true" : "false";
|
||||||
$ICEcoder["lockedNav"] = isset($_POST['lockedNav']) && $_POST['lockedNav'] ? "true" : "false";
|
$ICEcoder["lockedNav"] = isset($_POST['lockedNav']) && $_POST['lockedNav'] ? "true" : "false";
|
||||||
$ICEcoder["tagWrapperCommand"] = strClean($_POST['tagWrapperCommand']);
|
$ICEcoder["tagWrapperCommand"] = strClean($_POST['tagWrapperCommand']);
|
||||||
|
$ICEcoder["autoComplete"] = strClean($_POST['autoComplete']);
|
||||||
if ($_POST['password']!="") {$ICEcoder["password"] = generateHash(strClean($_POST['password']));};
|
if ($_POST['password']!="") {$ICEcoder["password"] = generateHash(strClean($_POST['password']));};
|
||||||
$ICEcoder["bannedFiles"] = 'array("'.str_replace(',','","',str_replace(" ","",strClean($_POST['bannedFiles']))).'")';
|
$ICEcoder["bannedFiles"] = 'array("'.str_replace(',','","',str_replace(" ","",strClean($_POST['bannedFiles']))).'")';
|
||||||
$ICEcoder["bannedPaths"] = 'array("'.str_replace(',','","',str_replace(" ","",strClean($_POST['bannedPaths']))).'")';
|
$ICEcoder["bannedPaths"] = 'array("'.str_replace(',','","',str_replace(" ","",strClean($_POST['bannedPaths']))).'")';
|
||||||
@@ -143,11 +148,11 @@ if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset
|
|||||||
$ICEcoder["indentWithTabs"] = strClean($_POST['indentWithTabs']);
|
$ICEcoder["indentWithTabs"] = strClean($_POST['indentWithTabs']);
|
||||||
$ICEcoder["indentSize"] = numClean($_POST['indentSize']);
|
$ICEcoder["indentSize"] = numClean($_POST['indentSize']);
|
||||||
|
|
||||||
$settingsArray = array("root","checkUpdates","openLastFiles","findFilesExclude","codeAssist","visibleTabs","lockedNav","tagWrapperCommand","password","bannedFiles","bannedPaths","allowedIPs","plugins","theme","fontSize","lineWrapping","indentWithTabs","indentSize");
|
$settingsArray = array("root","checkUpdates","openLastFiles","findFilesExclude","codeAssist","visibleTabs","lockedNav","tagWrapperCommand","autoComplete","password","bannedFiles","bannedPaths","allowedIPs","plugins","theme","fontSize","lineWrapping","indentWithTabs","indentSize");
|
||||||
$settingsNew = "";
|
$settingsNew = "";
|
||||||
for ($i=0;$i<count($settingsArray);$i++) {
|
for ($i=0;$i<count($settingsArray);$i++) {
|
||||||
$settingsNew .= '"'.$settingsArray[$i].'"'.PHP_EOL.' => ';
|
$settingsNew .= '"'.$settingsArray[$i].'"'.PHP_EOL.' => ';
|
||||||
$settingWrap = $settingsArray[$i]=="root"||$settingsArray[$i]=="password"||$settingsArray[$i]=="theme"||$settingsArray[$i]=="fontSize"||$settingsArray[$i]=="tagWrapperCommand" ? '"' : '';
|
$settingWrap = $settingsArray[$i]=="root"||$settingsArray[$i]=="password"||$settingsArray[$i]=="theme"||$settingsArray[$i]=="fontSize"||$settingsArray[$i]=="tagWrapperCommand"||$settingsArray[$i]=="autoComplete" ? '"' : '';
|
||||||
$settingsNew .= $settingWrap.$ICEcoder[$settingsArray[$i]].$settingWrap.','.PHP_EOL.PHP_EOL;
|
$settingsNew .= $settingWrap.$ICEcoder[$settingsArray[$i]].$settingWrap.','.PHP_EOL.PHP_EOL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -172,7 +177,7 @@ if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset
|
|||||||
// Do we need a file manager refresh?
|
// Do we need a file manager refresh?
|
||||||
$refreshFM = $_POST['changedFileSettings']=="true" ? "true" : "false";
|
$refreshFM = $_POST['changedFileSettings']=="true" ? "true" : "false";
|
||||||
// With all that worked out, we can now hide the settings screen and apply the new settings
|
// With all that worked out, we can now hide the settings screen and apply the new settings
|
||||||
echo "<script>top.ICEcoder.settingsScreen('hide');top.ICEcoder.useNewSettings('".$themeURL."',".$ICEcoder["codeAssist"].",".$ICEcoder["lockedNav"].",'".$ICEcoder["tagWrapperCommand"]."',".$ICEcoder["visibleTabs"].",'".$ICEcoder["fontSize"]."',".$ICEcoder["lineWrapping"].",".$ICEcoder["indentWithTabs"].",".$ICEcoder["indentSize"].",".$refreshFM.");</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["indentWithTabs"].",".$ICEcoder["indentSize"].",".$refreshFM.");</script>";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Establish our user level
|
// Establish our user level
|
||||||
@@ -289,7 +294,7 @@ if ($_SESSION['loggedIn']) {
|
|||||||
$pluginsDisplay = "";
|
$pluginsDisplay = "";
|
||||||
for ($i=0;$i<count($ICEcoder["plugins"]);$i++) {
|
for ($i=0;$i<count($ICEcoder["plugins"]);$i++) {
|
||||||
$target = explode(":",$ICEcoder["plugins"][$i][4]);
|
$target = explode(":",$ICEcoder["plugins"][$i][4]);
|
||||||
$pluginsDisplay .= '<a href="'.$ICEcoder["plugins"][$i][3].'" title="'.$ICEcoder["plugins"][$i][0].'" target="'.$target[0].'"><img src="'.$ICEcoder["plugins"][$i][1].'" style="'.$ICEcoder["plugins"][$i][2].'" alt="'.$ICEcoder["plugins"][$i][0].'"></a>';
|
$pluginsDisplay .= '<a href="'.$ICEcoder["plugins"][$i][3].'" title="'.$ICEcoder["plugins"][$i][0].'" target="'.$target[0].'"><img src="'.$ICEcoder["plugins"][$i][1].'" style="'.$ICEcoder["plugins"][$i][2].'" alt="'.$ICEcoder["plugins"][$i][0].'"></a><br><br>';
|
||||||
};
|
};
|
||||||
|
|
||||||
// If we're updating, replace the plugin display with our newly established one
|
// If we're updating, replace the plugin display with our newly established one
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
BIN
plugins/cssbeautify/icon.png
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
45
plugins/cssbeautify/index.php
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
<script>
|
||||||
|
/*
|
||||||
|
Copyright (C) 2013 Sencha Inc.
|
||||||
|
Copyright (C) 2012 Sencha Inc.
|
||||||
|
Copyright (C) 2011 Sencha Inc.
|
||||||
|
|
||||||
|
Author: Ariya Hidayat.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*jslint continue: true, indent: 4 */
|
||||||
|
/*global exports:true, module:true, window:true */
|
||||||
|
|
||||||
|
(function(){function p(m,p){function q(a){return" "===a||"\n"===a||"\t"===a||"\r"===a||"\f"===a}function t(a){return"a"<=b&&"z">=b||"A"<=b&&"Z">=b||"0"<=b&&"9">=b||0<="-_*.:#".indexOf(a)}function r(){var b;for(b=g;0<b;b-=1)a+=h.indent}function u(){a=f(a);v?a+=" {":(a+="\n",r(),a+="{");"\n"!==d&&(a+="\n");g+=1}function n(){var b;g-=1;a=f(a);w&&(b=a.charAt(a.length-1),";"!==b&&"{"!==b&&(a+=";"));a+="\n";r();a+="}";k.push(a);a=""}var h,e=0,x=m.length,k,a="",b,d,c,g,l,s,v=!0,w=!1,f;h=1<arguments.length?
|
||||||
|
p:{};"undefined"===typeof h.indent&&(h.indent=" ");"string"===typeof h.openbrace&&(v="end-of-line"===h.openbrace);"boolean"===typeof h.autosemicolon&&(w=h.autosemicolon);f=String.prototype.trimRight?function(a){return a.trimRight()}:function(a){return a.replace(/\s+$/,"")};c=g=0;s=!1;k=[];for(m=m.replace(/\r\n/g,"\n");e<x;)if(b=m.charAt(e),d=m.charAt(e+1),e+=1,"'"===l||'"'===l)a+=b,b===l&&(l=null),"\\"===b&&d===l&&(a+=d,e+=1);else if("'"===b||'"'===b)a+=b,l=b;else if(s)a+=b,"*"===b&&"/"===d&&(s=
|
||||||
|
!1,a+=d,e+=1);else if("/"===b&&"*"===d)s=!0,a+=b,a+=d,e+=1;else{if(0===c){if(0===k.length&&q(b)&&0===a.length)continue;if(" ">=b||128<=b.charCodeAt(0)){c=0;a+=b;continue}if(t(b)||"["===b||"@"===b){c=f(a);if(0===c.length)0<k.length&&(a="\n\n");else if("}"===c.charAt(c.length-1)||";"===c.charAt(c.length-1))a=c+"\n\n";else for(;;){d=a.charAt(a.length-1);if(" "!==d&&9!==d.charCodeAt(0))break;a=a.substr(0,a.length-1)}a+=b;c="@"===b?1:3;continue}}if(1===c)";"===b?(a+=b,c=0):"{"===b?(c=f(a),u(),c="@font-face"===
|
||||||
|
c?4:2):a+=b;else if(2===c)if(t(b)){c=f(a);if(0===c.length)0<k.length&&(a="\n\n");else if("}"===c.charAt(c.length-1))a=c+"\n\n";else for(;;){d=a.charAt(a.length-1);if(" "!==d&&9!==d.charCodeAt(0))break;a=a.substr(0,a.length-1)}r();a+=b;c=3}else"}"===b?(n(),c=0):a+=b;else if(3===c)"{"===b?(u(),c=4):"}"===b?(n(),c=0):a+=b;else if(4===c)"}"===b?(n(),c=0,0<g&&(c=2)):"\n"===b?(a=f(a),a+="\n"):q(b)?a+=b:(a=f(a),a+="\n",r(),a+=b,c=5);else if(5===c)":"===b?(a=f(a),a+=": ",c=7,q(d)&&(c=6)):"}"===b?(n(),c=0,
|
||||||
|
0<g&&(c=2)):a+=b;else if(6===c)if(!q(b))a+=b,c=7;else{if("'"===d||'"'===d)c=7}else 7===c?"}"===b?(n(),c=0,0<g&&(c=2)):";"===b?(a=f(a),a+=";\n",c=4):(a+=b,"("===b&&"l"===a.charAt(a.length-2)&&"r"===a.charAt(a.length-3)&&"u"===a.charAt(a.length-4)&&(c=8)):8===c&&")"===b&&a.charAt("\\"!==a.length-1)?(a+=b,c=7):a+=b}return a=k.join("")+a}"undefined"!==typeof exports?module.exports=exports=p:"object"===typeof window&&(window.cssbeautify=p)})();
|
||||||
|
|
||||||
|
cM = top.ICEcoder.getcMInstance();
|
||||||
|
if (cM && top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1].indexOf('.css') > -1) {
|
||||||
|
cM.setValue(cssbeautify(cM.getValue(), {
|
||||||
|
indent: ' ',
|
||||||
|
openbrace: 'end-of-line',
|
||||||
|
autosemicolon: false
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 1002 B |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 551 B After Width: | Height: | Size: 1.4 KiB |
@@ -74,19 +74,19 @@ test = {
|
|||||||
|
|
||||||
saveFile: function() {
|
saveFile: function() {
|
||||||
title = "Save file";
|
title = "Save file";
|
||||||
o.p = ICEcoder.changedContent[0];
|
o.p = ICEcoder.savedPoints[0];
|
||||||
t = 0;
|
t = 0;
|
||||||
x = setInterval(function() {
|
x = setInterval(function() {
|
||||||
wait();
|
wait();
|
||||||
cM = ICEcoder.getcMInstance();
|
cM = ICEcoder.getcMInstance();
|
||||||
if (cM && ICEcoder.changedContent[0]==0) {
|
if (cM && ICEcoder.savedPoints[0]==cM.changeGeneration()) {
|
||||||
testResult("+ GOOD",title+". Took "+t+"ms",x);
|
testResult("+ GOOD",title+". Took "+t+"ms",x);
|
||||||
test.tagWrapper();
|
test.tagWrapper();
|
||||||
} else if (t==1000) {
|
} else if (t==1000) {
|
||||||
testResult("- FAIL",title+". Took "+t+"ms",x);
|
testResult("- FAIL",title+". Took "+t+"ms",x);
|
||||||
testStopped();
|
testStopped();
|
||||||
}
|
}
|
||||||
o.p = ICEcoder.changedContent[0];
|
o.p = ICEcoder.savedPoints[0];
|
||||||
t++;
|
t++;
|
||||||
},1);
|
},1);
|
||||||
result = ICEcoder.saveFile();
|
result = ICEcoder.saveFile();
|
||||||
|
|||||||