Compare commits

..

435 Commits
v5.2 ... 7.0

Author SHA1 Message Date
Matt Pass
ca5ef0d664 Update README.md 2019-09-27 16:02:16 +01:00
Matt Pass
df8d2c3414 Version 7.0 - users template 2019-09-27 15:41:13 +01:00
Matt Pass
1300b02c77 Version 7.0 - system template 2019-09-27 15:40:45 +01:00
Matt Pass
b19835cafd GitHub URL tweaked 2019-09-27 15:00:41 +01:00
Matt Pass
9f0c83a62f Remove context, unused 2019-09-27 07:34:11 +01:00
Matt Pass
745d47c13c Check minimum requirements 2019-09-26 08:42:40 +01:00
Matt Pass
608aa0b8ff Add requirements.php 2019-09-26 08:40:27 +01:00
Matt Pass
c6f63c6b28 .htaccess added to reset any parent rules 2019-09-22 10:37:05 +01:00
Matt Pass
03a7155e64 Update to match main JS 2019-09-22 00:03:11 +01:00
Matt Pass
cce9948c1c CTRL+backspace now jumps to prev sel tab 2019-09-22 00:02:16 +01:00
Matt Pass
0d301aa001 CTRL+backspace now jumps to prev sel tab 2019-09-22 00:00:58 +01:00
Matt Pass
0519cde4df JS new user process example added 2019-09-21 23:42:50 +01:00
Matt Pass
f25b5f225e JS user logout process example added 2019-09-21 23:42:28 +01:00
Matt Pass
9a1ad5d369 JS user login fail process example added 2019-09-21 23:41:59 +01:00
Matt Pass
8b8d626f05 JS user login process example added 2019-09-21 23:41:36 +01:00
Matt Pass
542da8bc92 JS new dir process example added 2019-09-21 23:41:09 +01:00
Matt Pass
b8d145fd04 JS got remote file process example added 2019-09-21 23:40:41 +01:00
Matt Pass
7a2bcf1d25 JS uploaded process example added 2019-09-21 23:40:11 +01:00
Matt Pass
47d886d7b1 JS saved process example added 2019-09-21 23:39:43 +01:00
Matt Pass
e2ce0a0f14 JS replace text process example added 2019-09-21 23:39:14 +01:00
Matt Pass
fcc33197fd JS load process example added 2019-09-21 23:38:48 +01:00
Matt Pass
e656082ef3 JS renamed process example added 2019-09-21 23:38:21 +01:00
Matt Pass
efb454cb2d JS perms change process example added 2019-09-21 23:37:49 +01:00
Matt Pass
883d4d20ef JS paste process example added 2019-09-21 23:37:15 +01:00
Matt Pass
b01584d21f JS move process example added 2019-09-21 23:36:49 +01:00
Matt Pass
3ee07b979e JS delete process example added 2019-09-21 23:36:24 +01:00
Matt Pass
ce4babfd1a Removed close button from terminal 2019-09-21 23:11:16 +01:00
Matt Pass
e0ad9e8e85 Removed close button styles 2019-09-21 23:10:41 +01:00
Matt Pass
75b557d10d Initial version of styled DB UI 2019-09-21 23:08:01 +01:00
Matt Pass
cea206c5c7 Animated font size change 2019-09-21 22:24:13 +01:00
Matt Pass
7f63209404 Anim font size change, code-zoomed-out added 2019-09-21 22:23:40 +01:00
Matt Pass
032a62ca01 Update minified JS file to match 2019-09-21 22:17:29 +01:00
Matt Pass
fcd032d263 JS code tidy and put function back in 2019-09-21 22:16:17 +01:00
Matt Pass
a8932823b3 F1 key zooms non declaration code out 2019-09-21 22:10:21 +01:00
Matt Pass
7243a21c61 Can pass charNo (int) and noFocus (bool) 2019-09-21 21:33:55 +01:00
Matt Pass
5b529ee542 Go to line on typing line num, focus if submit 2019-09-21 21:30:07 +01:00
Matt Pass
56738ab792 Update ice-coder.min.js 2019-09-14 22:01:35 +01:00
Matt Pass
c94f3c532d Set top positions for tools on resize 2019-09-14 21:41:11 +01:00
Matt Pass
12777521e0 Reupload of database.php 2019-09-14 21:15:17 +01:00
Matt Pass
cfb00073c1 terminalLink removed from CSS now 2019-09-14 21:11:09 +01:00
Matt Pass
f06bbcb3ba Updated prompt in terminal XHR response 2019-09-14 21:08:14 +01:00
Matt Pass
0aa3ff6b9d Set cwd for terminal 2019-09-14 21:05:25 +01:00
Matt Pass
417edc710a Nicer terminal, fixed scrolling 2019-09-14 20:55:19 +01:00
Matt Pass
9ffac766fd Clearer scrollbar, nicer terminal 2019-09-14 20:52:50 +01:00
Matt Pass
df8b5d43a5 Adjust for tools nav options & panes, split icons 2019-09-14 20:28:09 +01:00
Matt Pass
e1b9788325 Fix to font size selector child, outputMsg added 2019-09-14 20:22:15 +01:00
Matt Pass
c193cf65a0 No term in doc explorer, white split pane controls 2019-09-14 20:17:05 +01:00
Matt Pass
11d9681632 Tools use new function, split pane opacity set 2019-09-14 20:16:08 +01:00
Matt Pass
809b064abd 4 x tools and tools DOM elems added 2019-09-14 20:07:35 +01:00
Matt Pass
e32a2498a3 Add initial styles for 4 x tools 2019-09-14 20:06:04 +01:00
Matt Pass
d2c5d1a33b Move styles to CSS, use database.php 2019-09-14 20:05:06 +01:00
Matt Pass
aa3df12e23 Adusting tools UI 2019-09-14 18:06:45 +01:00
Matt Pass
b6c4421dba Handle toggle display of tool 2019-09-14 18:01:52 +01:00
Matt Pass
60e3936d27 Remove X-Frame-Options: deny 2019-09-14 17:45:43 +01:00
Matt Pass
170bbafc12 Adminer 4.7.3 added as DB 2019-09-14 17:43:53 +01:00
Matt Pass
8d9910d8d2 Tools CSS added 2019-09-14 17:40:47 +01:00
Matt Pass
8e4d94418e Require a re-index next time after action 2019-09-14 17:22:22 +01:00
Matt Pass
841c68efb7 Set indexed ts to epoch on demand 2019-09-14 17:21:31 +01:00
Matt Pass
f8cfe1d2fc Only index if docRoot mtime changed or diff to ts 2019-09-14 17:20:11 +01:00
Matt Pass
393d0b5523 Enforce password rules on reg 2019-08-25 15:59:43 +01:00
Matt Pass
523dbd6825 false param fallback added 2019-08-25 14:46:04 +01:00
Matt Pass
81b7b21885 No messaging here 2019-08-25 14:44:43 +01:00
Matt Pass
4b5a2ff8ee No message for toUTF8noBOM in this case 2019-08-25 14:43:57 +01:00
Matt Pass
295f68566b Merge pull request #772 from macserv/fix/file-type-icon-alignment
Address Icon Alignment Issues in File Tree.
2019-08-25 14:18:10 +01:00
Matt Pass
38bdbe0b3b Dup comment 2019-08-25 14:03:22 +01:00
Matt Pass
e300f0c46e Dir and filename changes for updater 2019-08-25 13:59:22 +01:00
Matt Pass
eba7364f45 Test system using settings file in data dir 2019-08-25 13:50:51 +01:00
Matt Pass
ccd796e7f4 Settings file in data dir when updating 2019-08-25 13:50:09 +01:00
Matt Pass
0a7aea5570 Settings file stored in data dir when saving curr 2019-08-25 13:45:13 +01:00
Matt Pass
07055d97b6 New name & loc for log, serializer function added 2019-08-25 13:44:01 +01:00
Matt Pass
bfba1418fb Rename of config files, stored in data dir 2019-08-25 13:39:31 +01:00
Matt Pass
b6acd7f091 Settings file moved to data dir 2019-08-25 13:28:02 +01:00
Matt Pass
db30685723 Update min.js to match main JS 2019-08-25 13:24:59 +01:00
Matt Pass
f623303c0b Handle 0 files open for tooltip 2019-08-25 13:23:42 +01:00
Matt Pass
0f10702cf9 Settings file in data dir when going to root 2019-08-25 13:21:05 +01:00
Matt Pass
69c2e86d1b Settings file now in data dir for GitHub Manager 2019-08-25 13:20:29 +01:00
Matt Pass
37e7661729 Settings file is in data dir now 2019-08-25 13:18:53 +01:00
Matt Pass
2574a11203 Rename settings-system-params.php to template-system.php 2019-08-25 13:09:50 +01:00
Matt Pass
6ef86718e7 Create template-users.php 2019-08-25 13:09:13 +01:00
Matt Pass
697d6f1ef6 Delete config___users-template.php 2019-08-25 13:08:39 +01:00
Matt Pass
4dfe7e6711 Bug reports stored in data dir now 2019-08-25 13:07:39 +01:00
Matt Pass
2792b85036 Fold code and fold gutter are within CodeMirror JS 2019-08-25 13:01:36 +01:00
Matt Pass
a653be8e99 backups now in data dir, config stored there too 2019-08-25 13:00:37 +01:00
Matthew Judy
a3f78f78d9 Address icon alignment issues seen in the file tree. 2019-08-23 14:59:47 -04:00
Matt Pass
e051562dac /error-log.txt will now be /data/error.log 2019-08-18 18:32:42 +01:00
Matt Pass
dc7d8de0c2 data/backups used in updater.php now too 2019-08-18 18:30:53 +01:00
Matt Pass
9b37444286 data/backups is dir now 2019-08-18 18:29:51 +01:00
Matt Pass
85c9f6aed9 Create data/backups dir if not yet existing & use 2019-08-18 18:28:55 +01:00
Matt Pass
f0f679c1fb Data dir holds backup dir now 2019-08-18 18:25:41 +01:00
Matt Pass
a4591ce949 Spaces changed to tab 2019-08-18 18:22:51 +01:00
Matt Pass
e390d2ce95 data dir contains backups now 2019-08-18 18:20:53 +01:00
Matt Pass
be8a4ebbec Update .gitignore
data dir ignored
2019-08-18 18:19:54 +01:00
Matt Pass
af6d80687c Delete backups dir 2019-08-18 16:32:20 +01:00
Matt Pass
0c7d48d825 Create .gitkeep 2019-08-18 16:09:26 +01:00
Matt Pass
c46e6d60b3 Updated min.js file 2019-08-18 16:07:06 +01:00
Matt Pass
aab8550250 Index every 3 secs & improved, plus other tweaks 2019-08-18 16:06:09 +01:00
Matt Pass
5a7af34ca4 Indexer working more intelligently 2019-08-18 15:58:19 +01:00
Matt Pass
6c67116d53 Tooltip added 2019-08-14 21:28:12 +01:00
Matt Pass
45d58d90c3 Index every 1s, params: hover, jump: CTRL+r/click 2019-08-14 21:25:38 +01:00
Matt Pass
ca60a88a54 Mouse move tooltip, no context menu, event tweaks 2019-08-14 20:02:57 +01:00
Matt Pass
f49cfced93 Indexer added 2019-08-14 19:57:34 +01:00
Matt Pass
bc67286bb6 Migrate to Bcrypt hashing for new passwords
Fall back to legacy sha1 password hashing
2019-08-13 00:11:52 +01:00
Matt Pass
88b2108159 Remove trial redir/time period, verifyHash added 2019-08-13 00:06:19 +01:00
Matt Pass
fda69a6d8c Remove donation code system from login 2019-08-13 00:02:27 +01:00
Matt Pass
75fc4382b0 Update ice-coder.min.js 2019-08-12 23:56:59 +01:00
Matt Pass
2f62574f9b No need for 200ms delay now before auto-open 2019-08-12 23:56:13 +01:00
Matt Pass
9d8b695e35 Remove trial bar remaining from editor 2019-08-12 23:53:07 +01:00
Matt Pass
07211b6ac3 Italisn lang file - remove BOM, restore string 2019-08-12 23:49:08 +01:00
Matt Pass
8dac6feee6 4 x lang files no longer need trial strings 2019-08-12 23:45:01 +01:00
Matt Pass
b0f6705b4d Merge pull request #771 from atorresbr/Updating-the-Scheme-Colors-
🚀 Variables Colors - Update
2019-08-04 14:33:46 +01:00
Anderson Torres
0e463bf683 🚀 Variables Colors - Update
Updating the Variables Colors in the theme ..
2019-07-15 00:27:29 -03:00
Matt Pass
d61e263e0e Updated CSS hack for Chrome and Safari only
Avoids this CSS being applied to other browers such as Firefox and IE where it causes tree misalignment of dirs
2019-06-17 21:04:10 +01:00
Matt Pass
6cd5f6198f Merge pull request #766 from atorresbr/Updating-the-Scheme-Colors-
Updating the scheme colors
2019-06-17 19:44:31 +01:00
Anderson Torres
f071b484fe Merge branch 'Updating-the-Scheme-Colors-' of https://github.com/atorresbr/ICEcoder into Updating-the-Scheme-Colors- 2019-06-16 03:48:01 -03:00
Anderson Torres
281e0f5617 Updating the Scheme Colors
Updating the Scheme Colors of the theme. ;)
2019-06-16 03:47:47 -03:00
Anderson Torres
b2127dd88f Merge branch 'master' into Updating-the-Scheme-Colors- 2019-06-16 03:00:03 -03:00
Matt Pass
92733b84a6 Merge pull request #764 from mtpiercey/patch-1
Tweak LICENSE formatting
2019-06-15 19:02:05 +01:00
Matt Pass
d27bae869c Merge pull request #765 from atorresbr/patch-1
2019 Torres Digital ICECoder
2019-06-15 19:00:41 +01:00
Anderson Torres
bf1fdf80f3 2019 Torres Digital ICECoder
A New Theme for ICECOder by Torres Digital -Sites → Lojas Virtuais e e-Commerce
2019-06-15 07:30:55 -03:00
Anderson Torres
4e807b528c Merge pull request #1 from atorresbr/Torres-Digital-Theme-for-ICECoder
Torres Digital Theme for ICECoder
2019-06-15 07:24:02 -03:00
Anderson Torres
b488cabe71 Torres Digital Theme for ICECoder
A simple ICECoder theme created for Torres Digital -Sites → Lojas Virtuais e e-Commerce.
2019-06-15 02:36:16 -03:00
Matthew Piercey
ff5a7e7c9f Tweak LICENSE formatting
Fix Markdown headers
2019-05-29 15:46:28 -04:00
Matt Pass
36d7928834 Remove BOM in settings-screen.php, keep line space 2019-05-22 14:59:13 +01:00
Matt Pass
1a3537311e settings-screen.php update (no BOM) 2019-05-22 15:52:17 +02:00
Matt Pass
4d66149dc2 Merge pull request #743 from marclaporte/patch-1
Fix a typo
2018-12-14 15:49:18 +00:00
Marc Laporte
219f8ab1e2 Fix a typo 2018-10-07 16:36:25 -04:00
Matt Pass
84e8714255 Update French language Based on Kris's PR 2018-06-16 13:27:57 +01:00
Matt Pass
fd003c77f5 Merge pull request #739 from rotelok/Automated-Fixes
PSR-2 Fixes
2018-06-16 13:19:41 +01:00
Rafael Rotelok
b187d34868 Fixing wrong char conversions 2018-06-16 00:22:44 -03:00
Rafael Rotelok
51ab472142 PSR-2 Compliance, removing the closing tag ( ?> ) on php only files
inserting a blank line on the end of php only files
2018-06-16 00:19:49 -03:00
Rafael Rotelok
684277a3cc Fixing Encoding issues 2018-06-16 00:17:54 -03:00
Matt Pass
f689908848 Extra fallback to open file 2018-05-04 17:47:51 +01:00
Matt Pass
d3df8621b8 Version 6.0 2017-09-28 23:30:28 +01:00
Matt Pass
00680d0869 v6 is free! 2017-09-28 21:46:06 +01:00
Matt Pass
153aa1f0d5 Typo fix 2017-09-28 21:39:21 +01:00
Matt Pass
e4570d4530 Remove old console.log 2017-09-28 21:23:35 +01:00
Matt Pass
a5432a6854 Merge pull request #706 from aharris88/patch-1
Fix markdown in readme
2017-06-09 18:58:52 +02:00
Adam Harris
46dee99bba Fix markdown in readme 2017-06-09 10:50:11 -06:00
Matt Pass
d703d9b31f Merge branch 'master' of https://github.com/mattpass/ICEcoder 2017-05-13 16:20:18 +01:00
Matt Pass
e0101a3837 TypeScript added, CoffeeScript commenting fixed 2017-05-13 16:20:01 +01:00
Matt Pass
faa6950727 TypeScript icon added 2017-05-13 16:18:53 +01:00
Matt Pass
c6dc329ab6 Merge pull request #696 from Dj-jom2x/master
check if proc open is enabled .. ( dos vulnerability )
2017-04-20 23:50:34 +04:00
Dj-jom2x
1b19a77978 check if proc open is enabled ..
we need to check proc_open if disabled .. because line 93 expect something to return ... and it will lead you to self dos infinite while loop.. and your server will going down .. and the message you will receive is "fork: retry: no child processes" , if you try to login on ssh using your cpanel account :)
2017-04-18 08:28:27 +08:00
Matt Pass
a9732eea7e Merge pull request #690 from Servius/master
New Themes from CodeMirror
2017-03-21 09:22:53 +00:00
Servius
63bde7b9da New Themes from CodeMirror 2017-03-15 15:06:50 -07:00
Matt Pass
85e441390c Minified version to match full 2017-03-10 13:29:11 +00:00
Matt Pass
c1cd34951c Tweaks to way game starts and resets 2017-03-10 13:28:59 +00:00
Matt Pass
b38fee4bd0 ggE retsaE 2017-02-28 10:27:02 +00:00
Matt Pass
4bf04b1c08 Improved code to handle LR throughout 2017-02-21 18:34:07 +00:00
Matt Pass
0f971b547e Strip \r and replace \n ith CR for browser pickup 2017-02-21 16:49:27 +00:00
Matt Pass
3292439a61 Disable terminal usage in demo mode 2017-02-09 12:15:08 +00:00
Matt Pass
15b49865d2 v6.0 beta 2017-01-26 12:11:26 +00:00
Matt Pass
17e209fef5 v6..0 beta 2017-01-26 12:11:14 +00:00
Matt Pass
4b53196c2c Linewrap off and indent with spaces now defaults 2017-01-26 08:47:02 +00:00
Matt Pass
38b4ab79c0 No conv other than base64 to handle binary also 2016-11-13 22:42:43 +00:00
Matt Pass
95b7d0decf Immediate invoking or on interval instead 2016-11-13 22:40:34 +00:00
Matt Pass
abcedf9dc5 Use base64 encoding on all commits 2016-11-13 22:39:38 +00:00
Matt Pass
32841341cd Don't show .git dir, show diffs in non anim mode 2016-11-13 19:39:12 +00:00
Matt Pass
3e31879ec3 Only update minimap after 1 sec of inactivity 2016-11-13 13:55:02 +00:00
Matt Pass
15428a2ba8 Put hardcoded values back in 2016-11-11 17:41:44 +00:00
Matt Pass
9f1d8e7cd4 Remove hardcoded fixed values or move to % 2016-11-08 22:18:15 +00:00
Matt Pass
47ca5193b3 Set name and email in github.js 2016-11-05 22:20:54 +00:00
Matt Pass
5dfca2e9ff 4 x CM addon files removed, use CM v5.20.0 & inc 2016-11-05 11:36:08 +00:00
Matt Pass
7a87b5ed16 Error catching inability to get zip file data 2016-11-02 18:34:38 +00:00
Matt Pass
2349fdffb9 Error catch no plugin data and display message 2016-11-02 18:33:48 +00:00
Matt Pass
766adfab65 Revised logic re text on set password/login button 2016-11-02 17:29:23 +00:00
Matt Pass
e4724e8f1e Separate terminal display & fix minimap layout call 2016-10-23 14:25:55 +01:00
Matt Pass
f2b0227692 pre vs pre-wrap depending on line wrapping 2016-10-23 13:39:03 +01:00
Matt Pass
e228d2a59d Minor code tweaks and fix minimap box position 2016-10-23 13:23:02 +01:00
Matt Pass
ce1919ba64 Terminal items added and don't move if same name 2016-10-22 17:52:38 +01:00
Matt Pass
418d9f2384 Minor tweaks to styles and added terminalLink class 2016-10-22 17:32:21 +01:00
Matt Pass
caf80ea971 XHR file added - handles terminal work & return info 2016-10-22 17:30:22 +01:00
Matt Pass
132d78b128 No text on links, added terrminal link and iframe 2016-10-22 17:08:11 +01:00
Matt Pass
24ebeea3a8 Terminal stylings added 2016-10-22 17:03:08 +01:00
Matt Pass
db617e8569 Terminal input UI added 2016-10-22 17:03:00 +01:00
Matt Pass
a03c25b276 No need for text pieces now, have icons 2016-10-22 17:01:56 +01:00
Matt Pass
750bd37987 3 x docExplorer icons added 2016-10-22 17:01:13 +01:00
Matt Pass
7fa26924e4 Fix blank timeStart cases 2016-10-20 08:51:06 +01:00
Matt Pass
3a10a84c48 Can pass timeout, set def of 60, else text return 2016-10-18 08:58:38 +01:00
Matt Pass
cd74e280c5 Try to get version for 5 secs, set placeholder 2016-10-18 08:55:36 +01:00
Matt Pass
54f293a823 Microtimes added to image URL to avoid cache 2016-10-18 08:29:06 +01:00
Matt Pass
cd3f0a9068 Move styles only 2016-10-13 08:14:47 +01:00
Matt Pass
c35d47be65 Preserve whitespace in dir/file names 2016-09-20 09:08:43 +01:00
Matt Pass
04b1bd4150 Don't try to get tag info if no opposite 2016-09-20 08:45:09 +01:00
Matt Pass
8c59d5d617 Minimap tweaks, goToLine now vert centred & anim 2016-09-07 00:12:00 +01:00
Matt Pass
aa06486b2c Simple scrollbar addon files added 2016-09-07 00:06:19 +01:00
Matt Pass
8288bd19b4 docExplorer param & anim tweaks & custom scroller 2016-09-07 00:05:56 +01:00
Matt Pass
5f88464804 Scrollbar within files frame is customised 2016-09-07 00:02:42 +01:00
Matt Pass
069282ac0d Disable scrolling on editor iframe 2016-09-07 00:02:15 +01:00
Matt Pass
74f048e812 Simple scrollbars addon added and overlay used 2016-09-07 00:01:34 +01:00
Matt Pass
2799d57dcc setMinimapLayout now own function
Triggered on CM update and CM scroll
2016-09-05 12:50:40 +01:00
Matt Pass
4457cec405 Get Minimap and function/class listr working 2016-09-05 12:22:36 +01:00
Matt Pass
b16e8dd03d Minimap and function/class list now working 2016-09-05 12:20:46 +01:00
Matt Pass
b6faf3b412 Function/Class List items added as CSS classes 2016-09-05 11:51:04 +01:00
Matt Pass
752c1a72ae Can drop 855px now, set dynamically 2016-09-05 11:50:35 +01:00
Matt Pass
a119e42b86 Set overflow hidden on docExplorer 2016-09-05 10:17:13 +01:00
Matt Pass
907f4ad587 Minimap, func/class & docExplorer items added 2016-09-05 10:08:57 +01:00
Matt Pass
fde97e3b76 Add editor CSS, draggabilly, links & docExplorer 2016-09-05 10:08:19 +01:00
Matt Pass
eae8fde591 Wording added for minimap & func class list 2016-09-05 10:06:03 +01:00
Matt Pass
b50ac52aea Move 4 x items right to make room for docExplorer 2016-09-05 09:42:26 +01:00
Matt Pass
9f69ae1ef5 Include runmode, hide scrollbar, use update now 2016-09-05 09:37:49 +01:00
Matt Pass
71bc1994f9 runmode.js CM file added 2016-09-05 09:35:14 +01:00
Matt Pass
792125529d Draggabilly JS min file added 2016-09-05 09:34:55 +01:00
Matt Pass
707d3a9b03 Removing php.ini
Caused blank page issue for a few people - turning magic quotes off in
code is OK
2016-09-05 08:56:12 +01:00
Matt Pass
e9d7c7817f xssClean uploaded file name 2016-08-31 14:34:00 +01:00
Matt Pass
94ca7bbe32 Remove autocomplete from code field 2016-08-29 23:31:09 +01:00
Matt Pass
b351b86414 Move to tmp dir in breaking tmp structure
By having own naming scheme, items more likely to be unrunnable from
here. Also prefixed with a dot so not typically available anyway
2016-08-27 15:11:31 +01:00
Matt Pass
f6769b5933 Saves delete to tmp selection on save 2016-08-27 15:08:34 +01:00
Matt Pass
d9e5737dc4 Delete to tmp option added 2016-08-27 15:08:14 +01:00
Matt Pass
0027259e67 Version 5.7 2016-08-26 09:40:45 +01:00
Matt Pass
5337ff5fe9 Don't get this via CURL 2016-08-26 09:24:17 +01:00
Matt Pass
749dc212d9 Need to replace \ with / in fileLoc 2016-08-25 21:28:51 +01:00
Matt Pass
9d7565c317 Close tag on same line needs extra adjustment + 1 2016-08-25 19:46:56 +01:00
Matt Pass
9efbe9a9bf Make 0 smallest number, to avoid negative numbers 2016-08-25 17:03:35 +01:00
Matt Pass
67e929dc75 injClean function added 2016-08-25 17:02:56 +01:00
Matt Pass
a0e48b5088 injClean inputs 2016-08-25 17:02:39 +01:00
Matt Pass
667417262c injClean and numClean inputs 2016-08-25 17:02:16 +01:00
Matt Pass
83e7c62b9b numClean and xssClean inputs 2016-08-25 17:01:23 +01:00
Matt Pass
8797e8f5e0 Simpler code moved to settings.php 2016-08-25 16:59:28 +01:00
Matt Pass
ee90c48a1c Pane names pos & opac added & diff on/off fixes 2016-08-25 15:04:45 +01:00
Matt Pass
93c33162a1 CSS added for 2 x pane names as labels 2016-08-25 14:57:44 +01:00
Matt Pass
068ec67c9d getData used and 2 x split pane names added 2016-08-25 14:57:11 +01:00
Matt Pass
761f39407a Use getData now, first couple as curl & die message 2016-08-25 14:55:48 +01:00
Matt Pass
227eefa332 Can pass text as 3rd param now for die message 2016-08-25 14:54:38 +01:00
Matt Pass
1d6c60c19a Get data now via getData 2016-08-25 14:50:10 +01:00
Matt Pass
a9402eb4ae getData used 2 x via curl and 1 x via default 2016-08-25 14:48:21 +01:00
Matt Pass
d449623153 Use getData with curl param 2016-08-25 14:46:42 +01:00
Matt Pass
31d96eca3b Using getData now and fix to issue #652 2016-08-25 14:45:33 +01:00
Matt Pass
3d8644ae4c Using getData function now 2016-08-25 14:44:18 +01:00
Matt Pass
893894f97b Get data via new function 2016-08-25 14:39:19 +01:00
Matt Pass
d992173967 Function to get data via fopen or curl & used 2016-08-25 14:37:18 +01:00
Matt Pass
483ac6cd6c Fix to backup files in root - // to / in path 2016-08-19 12:47:39 +01:00
Matt Pass
e3868fb285 Editor consistant, restore button added & mode set
CSS and JS files added plus settings added to make consistant with main
editor
Restore as new version button added
Load in new partial JS file to set the correct mode
2016-08-19 12:46:48 +01:00
Matt Pass
410ef385d5 Load partial JS file in now 2016-08-19 12:44:09 +01:00
Matt Pass
d5c019d05a Define laanguage modes in new partial JS file 2016-08-19 12:43:53 +01:00
Matt Pass
76b782535c Tag syncing now implemented & working
Replaced previous system which had some issues with a much more reliable
system and in less code too
2016-08-19 11:10:45 +01:00
Matt Pass
2a998016eb CodeMirror instance passed as 4th param 2016-08-19 11:04:54 +01:00
Matt Pass
f1a4710aea Tag replacement syncing improved & available again 2016-08-12 18:56:57 +01:00
Matt Pass
f8bbe45de7 Clearer wording on popup re changed file 2016-08-12 11:03:37 +01:00
Matt Pass
f5d8384469 Prefix URL with HTTP_HOST 2016-08-12 11:03:07 +01:00
Matt Pass
1266f73f64 Unescape short PHP and ASP tags
They are interpreted otherwise and JS modified to produce false
positive.
2016-08-09 09:55:31 +01:00
Matt Pass
cfee2c0182 Handle CORS errors & display info plus rejig events 2016-08-02 12:04:21 +01:00
Matt Pass
afe4222eb6 Colors wrapped in DIV and CORS wrapper added 2016-08-02 11:33:55 +01:00
Matt Pass
f2017c17b3 Change to site base & adjust help info also 2016-08-02 11:30:12 +01:00
Matt Pass
f15a1b1d8e Replacing alerts with ICEcoder.message 2016-08-01 08:39:48 +01:00
Matt Pass
41f52cc3be Animate diff pane in/out 2016-07-31 12:59:12 +01:00
Matt Pass
3bfbc918f0 Version 5.6 2016-07-29 09:34:21 +01:00
Matt Pass
2c7a338dfb Merge pull request #645 from JpaKaagman/master
Updated the dutch language file
2016-07-24 20:46:48 +01:00
Matt Pass
db518cf2c6 ftpManager is a taller modal now 2016-07-22 10:41:29 +01:00
Matt Pass
8e790bec60 Clear any FTP session selection we may have 2016-07-22 10:40:04 +01:00
Matt Pass
f3edf9e2ae No longer hardcoded and now selection driven 2016-07-22 10:38:08 +01:00
Matt Pass
95a3d09672 ftpManager() now a working option 2016-07-22 10:34:47 +01:00
Matt Pass
1a654ec172 English language pieces added for FTP 2016-07-22 10:34:23 +01:00
Matt Pass
78117d52d0 repPosEnd is now ftpSites as it's next array item 2016-07-22 10:33:57 +01:00
Matt Pass
157d9a40fa New FTP sites manager modal added 2016-07-22 10:33:11 +01:00
Matt Pass
b5e78fb04c ftpSites now part of config settings 2016-07-22 10:32:48 +01:00
Julian Kaagman
a2dea59b24 Update dutch language file 2016-07-17 11:24:10 +02:00
Julian Kaagman
cc300f7edd Merge remote-tracking branch 'mattpass/master' 2016-07-17 09:56:38 +02:00
Matt Pass
1f0acdfe5f go-localhost-root.php added, resets and refreshes 2016-07-11 09:42:39 +01:00
Matt Pass
76c03cffff Remove dev logging, goLocalhostRoot and ftpManager added 2016-07-11 09:40:03 +01:00
Matt Pass
ae1188f81d Selecting localhosts goes there, rejig/hide others 2016-07-11 09:39:03 +01:00
Matt Pass
313002e4a0 Need to globalise text and set the array chunk 2016-07-11 08:46:15 +01:00
Matt Pass
63364001ea Update logout counter if available 2016-07-11 08:37:17 +01:00
Matt Pass
1af9d60dd3 60 now in own span 2016-07-11 08:35:01 +01:00
Matt Pass
76fce1c2b8 Split lang pieces up so 60 is updateable 2016-07-11 08:34:41 +01:00
Matt Pass
67e28106f9 Use premade var rather than spec in another way 2016-05-05 16:01:53 +01:00
Matt Pass
191990ffdb Change param and remove all other BOMs 2016-05-05 15:55:55 +01:00
Matt Pass
af318dd703 Don't set $origContent 2016-05-05 15:55:05 +01:00
Matt Pass
f83929584f Revert "No need to set $origContent"
This reverts commit c967325b7d.
2016-05-05 15:54:17 +01:00
Matt Pass
c967325b7d No need to set $origContent 2016-05-05 15:53:29 +01:00
Matt Pass
11fe0ad17a Update to match main JS file 2016-05-05 15:37:06 +01:00
Matt Pass
8da4352ee4 Don't send char count size anymore 2016-05-05 15:36:22 +01:00
Matt Pass
8a1fec4e18 Tweak to comment 2016-05-05 15:35:53 +01:00
Matt Pass
d686faf8a7 Replace only first BOM, include ending if needed 2016-05-05 15:35:43 +01:00
Matt Pass
e8ef9e5195 Don't log info anymore 2016-05-05 15:32:04 +01:00
Matt Pass
6735caae36 UTF8 BOM should be replaced with a PHP_EOL 2016-04-26 09:15:55 +01:00
Matt Pass
eabae9bed4 Supress saving error log info and showing message
Temp measure till we know UTF8 BOM issue is fixed
2016-04-26 09:15:38 +01:00
Matt Pass
5d23115c95 +1 not +2 2016-04-25 09:50:25 +01:00
Matt Pass
55692d3c49 Error handling improvements
Replace \r in content, only do extra JS if could FTP write OK
Get original content and check charCount and if finding different sizes,
log into to file
2016-04-25 09:50:09 +01:00
Matt Pass
3391b60836 Pass charCount along with save request as a check 2016-04-25 09:48:02 +01:00
Matt Pass
2727bcb3e8 Replace * when analysing bannedFiles list 2016-04-24 11:14:18 +01:00
Matt Pass
f6d19d2650 Don't move backups dir when updating 2016-04-24 10:56:22 +01:00
Matt Pass
22bca280f5 5 x new settings added, lineNumbers updates preview 2016-04-23 15:19:03 +01:00
Matt Pass
20614885de Pass in and update 5 x vars & CM options 2016-04-23 15:17:03 +01:00
Matt Pass
6831cea155 5 x new settings available to JS 2016-04-23 15:15:25 +01:00
Matt Pass
9a4e93fc43 5 new settings added, updating in config file & JS 2016-04-23 15:15:10 +01:00
Matt Pass
d44bc40c85 5 x new settings added 2016-04-23 15:14:19 +01:00
Matt Pass
f8c1fbfbec lineNumbers controlled from JS var 2016-04-23 15:13:55 +01:00
Matt Pass
94fe55cc14 5 x setting text pieces added 2016-04-23 15:13:26 +01:00
Matt Pass
e2f63a1d3b 5 x settings controlled from JS vars 2016-04-23 15:13:07 +01:00
Matt Pass
f8565d87b7 Version 5.5 2016-04-21 09:38:10 +01:00
Matt Pass
5a9cd5e85c Change true to false if checkbox is set 2016-04-14 09:28:05 +01:00
Matt Pass
09d34da6c3 disable further reg checkbox added & style tweaks 2016-04-14 09:26:17 +01:00
Matt Pass
d31db1de4e disable further registrations text piece added 2016-04-14 09:23:52 +01:00
Matt Pass
f388545412 Check if file/dir requested is on banned list first 2016-04-14 08:28:47 +01:00
Matt Pass
f5705393ee Check if requested file is on banned list first 2016-04-14 08:25:42 +01:00
Matt Pass
1e7b735b7f Add note re comma delimited 2016-04-14 08:24:31 +01:00
Matt Pass
6c12f36805 Italian language needs some apos unescaping 2016-04-13 22:17:19 +01:00
Matt Pass
838612932c Create duplicate IP based config file also 2016-04-08 10:22:10 +01:00
Matt Pass
b9f08b160b Margin to left & slightly slimmer, plus help cursor 2016-04-06 23:06:44 +01:00
Matt Pass
fcf72f0d12 Missed the dot 2016-04-06 22:56:09 +01:00
Matt Pass
d1a2f6ab8f activeline-background added back in 2016-04-06 22:54:03 +01:00
Matt Pass
38693781a0 Change of background and matchingbracket, drop activeline-background 2016-04-06 22:50:51 +01:00
Matt Pass
1fdb6c0086 Redo style for matchingbracket 2016-04-06 22:49:57 +01:00
Matt Pass
1fce9834db matchBrackets now included and enabled 2016-04-06 22:49:32 +01:00
Matt Pass
095d626883 Auto logout and interaction timers
openSecs to store a total number of secs ICEcoder has been open for, a 1
sec interval to check for auto-logout and session ping events. Function
added to show warning 60 secs before a logout, useNewSettings function
updates auto-logout period on settings change. Also function added to
reset the auto logout timer if it's showing. logout function now accepts
a type and maybe passes that through plus interceptKeys will reset timer
also
2016-04-06 21:48:40 +01:00
Matt Pass
4b12f4f365 Reset timer added to mouse events 2016-04-06 21:36:11 +01:00
Matt Pass
5d3ffae30c Mouse events added to reset and pingActive iframe 2016-04-06 21:34:09 +01:00
Matt Pass
9b6a701ffc reset timer on mouse events & auto-logout added 2016-04-06 21:31:13 +01:00
Matt Pass
d909d5ce1c Add file to keep session alive 2016-04-06 21:23:37 +01:00
Matt Pass
3d866fa2f2 Auto logout warning content added 2016-04-05 19:27:47 +01:00
Matt Pass
6ed0861f5b autoLogoutMins param added with 0 as default
0 being disabled setting
2016-04-05 19:25:43 +01:00
Matt Pass
4154b2bf3b Text pieces added re auto-logout 2016-04-05 19:08:27 +01:00
Matt Pass
59a18645c6 autoLogoutMins now updated in file 2016-04-05 17:13:38 +01:00
Matt Pass
aa92f86aa9 Setting added for auto-logout mins 2016-04-05 17:13:08 +01:00
Matt Pass
444e7ef6b4 Dropped support for Rust
CodeMirror doesn't seem to work with this mode after minification and so
has been dropped.
2016-04-02 14:23:41 +01:00
Matt Pass
d9393bf059 Only set mode if it's different to what is set
Avoids recoloring code
2016-04-02 13:18:29 +01:00
Matt Pass
904dee8f80 Check & clear server queue & return if we have this
If we have the exact same item URL, there is a save jamming situation,
so clear the server message and item from the queue then return
2016-04-02 12:55:19 +01:00
Matt Pass
cca5836698 No longer LZ compressing data before sending 2016-04-02 11:48:00 +01:00
Matt Pass
a406abd610 No longer using PHP LZ Compressor
Was too problematic one some characters so dropping use of this idea.
Too little benefit and many issues arising.
2016-04-02 11:46:15 +01:00
Matt Pass
5cde633847 Not using JS LZ Compressor anymore 2016-04-02 11:42:58 +01:00
Matt Pass
de5460b43f Removed PHP and JS versions of LZ Compressor
Becoming too problematic to use and for such little benefit so dropping
2016-04-02 11:42:36 +01:00
Matt Pass
a66661b194 Old style syntax re arrays also 2016-03-29 21:35:12 +01:00
Matt Pass
587132d81b LZCompress now including UTF16 2016-03-28 22:26:40 +01:00
Matt Pass
3c6b6ff81d Version 5.4 2016-03-19 12:28:47 +00:00
Matt Pass
c811b8585a Remove commented line re folding
Using CodeMirror foldcode addon now
2016-03-19 11:46:04 +00:00
Matt Pass
344bd2dd50 Handle dragging files setting drag cursor
On drag over CM instance, call setDragCursor with event and 'editor'
string
Set ondragover function call upon this function too with folder/file
string, same as when init'ing via get branch
setDragCursor function added, handles cursor for dropping files editior,
folder and file including if we have the CTRL key down or not
2016-03-19 11:10:30 +00:00
Matt Pass
875d8a75ca On drag over file/folder, start setDragCursor() 2016-03-19 11:06:14 +00:00
Matt Pass
077163650b On drag over CM instances begin function 2016-03-19 11:05:06 +00:00
JpaKaagman
ed7bde9d14 Merge remote-tracking branch 'mattpass/master' 2016-03-19 10:29:36 +01:00
Matt Pass
891a4c2b8c Set drag data using new func on dragstart (FF need) 2016-03-18 22:10:18 +00:00
Matt Pass
2bbc2f5628 Set default data on drag start (so it works in FF) 2016-03-18 22:07:44 +00:00
Matt Pass
2cd2aaa916 String escaping needed 2016-03-18 22:06:22 +00:00
Matt Pass
fd73e42df3 Improvements and fixes, esp to FTP saving
No need to replace \r\n also in stitchChanges (\n and then \r will do
that).

If FTP based file, get from fixed filepath, explode on new lines and add
lineEnding to end of each but last, to match what the local file($file)
process will do.

Establish number of Unix and Windows lines in 'changes' update process
only (no need to do on new file) and also str_replace based on their
counts under FTP usage also (to match what local file processes are
doing).
2016-03-18 19:42:18 +00:00
Matt Pass
e127a9eee1 strClean 2 x input points 2016-03-18 15:46:38 +00:00
Matt Pass
0617f294cd No newlines at EOF and remove file_exists
Existence of a dir is done on is_dir
2016-03-18 14:00:18 +00:00
Matt Pass
31428cdaf0 Merge pull request #614 from microvb/patch-1
Error control for missing local folder
2016-03-18 13:57:16 +00:00
Matt Pass
ff9db44537 Merge pull request #615 from microvb/master
Corrects some issues that caused the interface to hang
2016-03-18 13:50:54 +00:00
MicroVB INC
4307dc1ae6 Added check tor stat results
When `$file` is a folder, the commands `filesize` and `filemtime` would result in the following warnings :

PHP Warning:  filemtime(): stat failed for /var/www/html/css in /var/www/html/ice/lib/file-control-xhr.php on line 921
PHP Warning:  filesize(): stat failed for /var/www/html/css in /var/www/html/ice/lib/file-control-xhr.php on line 940

This patch corrects this.
2016-03-18 08:28:40 -04:00
MicroVB INC
76010bb5cf Corrected php notice in XHR file manager
Wrapped `$ftpSite` in `isset()` where $ftpSite was a part of a condition for existence testing and was using the simplified mode for the check.  The simplified mode resulted in the following notice being produced when no data was present in the `$ftpSite` variable.

> PHP Notice:  Undefined variable: ftpSite in /var/www/html/ice/lib/file-control-xhr.php on line 518

While the error pertains specifically to line 518, this adjustment was applied to all condition checks on this variable.
2016-03-18 07:57:22 -04:00
Matt Pass
6a432f2f5c New flag and only perform actions if relevant value 2016-03-18 11:32:01 +00:00
Matt Pass
9dc9246c84 New new flag to false in 2 x places also 2016-03-18 11:30:42 +00:00
Matt Pass
0e9e66fee7 New flag false on up also here 2016-03-18 11:29:50 +00:00
Matt Pass
2f0bdefdeb Set new flag as false on up & 2 new events started 2016-03-18 11:27:28 +00:00
Matt Pass
5ff340ccc4 Only attempt to detect hasFocus if CM instance 2016-03-17 18:58:58 +00:00
Matt Pass
9a516ecd27 XSS clean 3 areas 2016-03-17 17:36:13 +00:00
MicroVB INC
7017ab1c33 Update settings-common.php 2016-03-16 18:20:22 -04:00
MicroVB INC
5d6299e3c8 Fix enumeration warning when localhost missing
Corrects the following error :

scandir(/var/www/html/ice/lib/../backups/localhost): failed to open dir: No such file or directory in /var/www/html/ice/lib/settings-common.php on line 190

(possible review required for if this is something that should be created before this method is called, or if a simple check as this patch does is all that is required.)
2016-03-16 18:16:02 -04:00
Matt Pass
be842742de JS LZ compress changes/content before sending 2016-03-16 19:54:05 +00:00
Matt Pass
cba7f06b4e Load LZ PHP lib, compress and decompress contents 2016-03-16 19:51:59 +00:00
Matt Pass
d8eb2b72db Load LZ PHP lib, convert posted content, set on XHR 2016-03-16 19:51:17 +00:00
Matt Pass
8d082120f6 Load JS LZ String lib 2016-03-16 18:57:00 +00:00
Matt Pass
4581d32551 LZ String JS lib added
Compress and decompress strings with LZ compression in JS
2016-03-16 18:32:03 +00:00
Matt Pass
c6e72fd894 LS String PHP lib added
To compress and decompress strings with LZ compression
2016-03-16 18:30:21 +00:00
Matt Pass
9bac1d7fcc Merge pull request #613 from microvb/patch-1
Context is now accessible inside GetVersionCount()
2016-03-16 18:25:26 +00:00
MicroVB INC
7d8b229153 Context is now accessible inside GetVersionCount()
globalized $context inside `GetVersionCount()` to eliminate `Notice:  Undefined variable: context in /var/www/html/ice/lib/settings-common.php on line 203`

Added check if file is readable for `.version-index`'s inside the loop within `GetVersionCount()`
2016-03-16 12:59:59 -04:00
Matt Pass
09fde0c3e5 Only get statusObj if we have status 200
A non 200 event means there may not be a statusObj, which in turn causes
an error which causes a JS jam
2016-03-16 13:27:48 +00:00
JpaKaagman
a10eb21d70 Merge remote-tracking branch 'mattpass/master' 2016-03-15 06:22:58 +01:00
Matt Pass
f5dc08e9b7 Set own couple of lint stylings 2016-03-12 16:45:39 +00:00
Matt Pass
3296434473 Load CM addons re folding and use that
Drop own foldcode.js lib and load 3 x addon files from CodeMirror
instead
Set new CSS classes to override those in addon lib files
Set default gutter name, and a min fold size of 1
Remove calls to own code folding function
2016-03-12 16:44:34 +00:00
Matt Pass
e82d93108d Don't recursively set fold markers now onload 2016-03-12 16:41:16 +00:00
Matt Pass
c72fd7f49a Don't recursively fold, let CM addon do this
Also comment out shortcut for now, to reimplement using new lib
2016-03-12 16:39:54 +00:00
Matt Pass
65b36d9e23 Own foldcode.js dropped in favor of CM version
It's more efficient and creates the markers without blocking the display
of the editor.
2016-03-12 16:21:57 +00:00
Matt Pass
f432b7dc32 CodeMirror 5.12 plus extras
foldcode and foldgutter added and letting CodeMirror handle code folding
now as more efficient
lint.css styles changed back to what they were before
New themes added - Liquibyte, Dracula, Seti, Yeti, Material, Abcdef,
Bespin, Hopscotch, Isotope, Railscasts
2016-03-12 16:18:24 +00:00
Matt Pass
5e04e79354 New function and system to handle saving via update
stitchContents added to stitch content changes together into version the
user is seeing in the browser.
Can action save on having changes or full content now
2016-03-11 18:36:51 +00:00
Matt Pass
c896ebb087 Set savedContents also when loading 2016-03-11 18:35:05 +00:00
Matt Pass
55ab3d63dd Saving will now send only changes
savedContents added to maintain last known version of saved file
changesToSave function added to output array of differences between
current and last known saved version stored in array
Establish any changes using this function in save events, pass changes
or content via XHR
2016-03-11 18:34:50 +00:00
Matt Pass
c93c3b3785 xssClean on 4 x $_GET instances 2016-03-09 19:23:35 +00:00
Matt Pass
e5dcd02b62 xssClean unsanitised user input 2016-03-08 15:41:58 +00:00
JpaKaagman
df78d5bb61 Merge remote-tracking branch 'mattpass/master' 2016-02-11 20:43:15 +01:00
Matt Pass
0bcf7a1d72 Replace + in filename with %2B to avoid converts 2016-02-05 09:32:47 +00:00
Matt Pass
ae5f96caad Merge pull request #607 from JpaKaagman/master
Updated Dutch language file
2016-01-25 15:28:33 +00:00
JpaKaagman
94c6d5899a Updated updated Dutch language file
Updated all lines in the Dutch language file, grabbed the inexistent
Dutch lines from the English file and translated those.
2016-01-24 21:11:21 +01:00
Matt Pass
afb3f99681 Merge pull request #605 from concept-core/patch-1
lang/dutch.php
2015-12-05 10:28:13 +00:00
Wouter van Marrum
a45e7c604d lang/dutch.php
Changed some more lines for the dutch language file.
2015-12-02 15:13:37 +01:00
Matt Pass
9e49b9558c Switched order of details 2015-11-17 09:18:43 +00:00
Matt Pass
811c12d4ec Sort code and display bytes and datetime also 2015-11-17 09:15:42 +00:00
Matt Pass
131392d5fd Lots of version control screen improvements
Takes up more of the larger space now, scrollable list, fixed bad
version ref in URL, onclick highlight this elem and ID added as hook
plus added missing end anchor tag. Info container added, versions
available to JS and function added to highlight link.
2015-11-17 09:14:06 +00:00
Matt Pass
1a54bc6664 Larger version control screen, same as settings 2015-11-17 09:09:52 +00:00
Matt Pass
d98c24cc04 Don't wrap items in the file manager 2015-11-17 08:14:03 +00:00
Matt Pass
68eb4a0393 Version 5.3 2015-11-13 12:30:43 +00:00
Matt Pass
5fc4ae596a Disabled closing tag completion till fixed 2015-11-13 10:26:09 +00:00
Matt Pass
e31f435640 Show editor and add functions to 2 x buttons
Include settings instead, plus CodeMirror lib and CSS
Set some CSS classes, and CodeMirror CSS files
Display clickable list of backups
DIV container added for editor display and buttons
Display CodeMirror instance and setup 2 x functions to open backup in
new tab or diff pane
2015-10-25 11:46:29 +00:00
Matt Pass
80acab0bf0 .button class added 2015-10-25 11:42:41 +00:00
Matt Pass
a95484d044 Load chosen backup, show buttons and set preview 2015-10-25 11:42:18 +00:00
Matt Pass
d979d76866 PT BR translation tweaks by Adir Prawutzki 2015-10-15 18:52:05 +01:00
Matt Pass
5f6c6838a0 Use singular term if 1 2015-10-09 08:47:55 +01:00
Matt Pass
cb6d339183 Display list of backups per date 2015-10-08 09:27:34 +01:00
Matt Pass
815578eb34 Now getting count info & as 2nd part use arrray val 2015-10-08 09:26:09 +01:00
Matt Pass
c5996f7b23 Returns count and array now, rev scandir order 2015-10-08 09:25:11 +01:00
Matt Pass
e89d449805 onclick open versions screen and pass sel filepath 2015-10-08 09:24:01 +01:00
Matt Pass
5b549c5102 Text pieces added for backup-versions 2015-10-08 09:22:49 +01:00
Matt Pass
fa793564d9 Display backups instead & can show versions screen 2015-10-08 09:21:50 +01:00
Matt Pass
395fdf0727 Merge pull request #592 from unix4you2/master
Spanish upgrade for multiple strings
2015-10-07 18:28:45 +01:00
Matt Pass
7f8e052a26 Handle newly saved files to avoid NaN 2015-10-03 18:31:53 +01:00
Matt Pass
b349891321 html, 3 x meta tags and favicon added
Missing html tag, set UTF-8, no index or follow for robots, a mobile
viewport that's scalable and use a favicon
2015-10-03 17:47:25 +01:00
Matt Pass
592c8ccda4 Clear iceRoot from checked path and check locNest
These couple of bug fixes ensure paths aren't compounded and also handle
empty dirs correctly
2015-10-03 17:40:19 +01:00
unix4you2
a366a84d00 Spanish upgrade for multiple strings 2015-09-28 14:00:42 -05:00
Matt Pass
f4762fbaf3 Working with file version counter now 2015-09-18 11:09:30 +01:00
Matt Pass
b00ce2f7c9 Get number of versions for this file 2015-09-18 11:06:53 +01:00
Matt Pass
6ccf0fb135 Working with file versions now
Establish and use version URL part
Add 1 to count on saving local or FTP and update version display after
doing this
All backed up files now have incremental numbers in parens postfixed on
filename
.versions-index file written to with new file line or if line exists
update count on it
On re-getting file due to save conflict, get the count and set in JS
array
2015-09-18 11:04:42 +01:00
Matt Pass
3c6a60f96d Class added for versions display container 2015-09-18 10:50:45 +01:00
Matt Pass
84fefcbad0 On opening file, push in version count and display 2015-09-18 10:49:48 +01:00
Matt Pass
139ca019bb Versions display container added 2015-09-18 10:48:59 +01:00
Matt Pass
0245ae418a Wording change and now shows 'X days of backups' 2015-09-09 08:43:36 +01:00
Matt Pass
a78d847f4e More text added re backups 2015-09-09 08:38:06 +01:00
Matt Pass
0592459666 Backup system working with params now
Only run backup process if user has this turned on. Some code
simplification added. Removes old backups past X days as per user
setting.
2015-09-08 08:03:53 +01:00
Matt Pass
6492068717 Update 2 new backup settings on updating 2015-09-08 08:00:38 +01:00
Matt Pass
36ea3eabc4 Backup settings added to turn on/off and for X days 2015-09-08 07:59:52 +01:00
Matt Pass
5c19367b87 disabled pseudo added for text input fields 2015-09-08 07:59:15 +01:00
Matt Pass
3a08ccf350 backupsKept and backupsDays settings added
Decided to go with it being turned on and kept for 14 days as default
2015-09-08 07:58:15 +01:00
Matt Pass
f5897cd036 Language pieces added for backups 2015-09-08 07:57:28 +01:00
Matt Pass
4f7ea84754 Use yyyy-mm-dd structure instead 2015-09-07 10:27:41 +01:00
Matt Pass
b46e2f324a Redone backup dir struc for subdirs & efficiency
Now establishes path from base and if full path doesn't exist, it fills
in the blanks, including sub-dir structure to file from base.
2015-09-07 09:49:18 +01:00
Matt Pass
0c3390929b Store a backup of our file each time we save
Saves into a host > year > month-day dir, with in incremental backup
names, number in parens
2015-09-05 19:02:45 +01:00
Matt Pass
857fa2580c Pane scroll position tweaks for soother scrolling
Match scroll pos on going split pane.
Only sync both panes if we're in split pane mode
Action the scrollTo after a 0ms tickover to give priority to browser
controls over syncing. This means on manic scrolling there may be very
slight judder, but it avoids 99% and appears smooth for reasonable
scrolling
2015-09-05 17:17:51 +01:00
Matt Pass
40e699828b FTP check file/dir & use string, FTP delete added 2015-09-05 16:28:17 +01:00
Matt Pass
60b527d5a4 Function added to delete file/dir over FTP 2015-09-05 16:25:57 +01:00
Matt Pass
1c99f127be Replace alert with message 2015-09-05 16:24:29 +01:00
Matt Pass
3221bea7a7 Message added re deleting >1 item under FTP 2015-09-05 16:22:55 +01:00
Matt Pass
96bba6972a Can now use regular +/- chars also 2015-09-05 13:42:13 +01:00
Matt Pass
b9546dfaa4 Small tweak to Portuguese BR char 2015-09-05 13:32:32 +01:00
Matt Pass
340e3b3d4d Chars replaced with HTML entites
Thanks for Reinaldo César Guedes for this!
2015-09-05 13:18:17 +01:00
Matt Pass
e1a2a8da71 FTP enhancements
FTP items: ongoing connection, save finished, improved/multiple doNext
messages, check dir/file, JSON details output
2015-09-01 20:05:47 +01:00
Matt Pass
38a5bea898 Merge pull request #581 from bhz6344/patch-1
To fix Chinese character display abnormal
2015-08-21 06:06:54 +01:00
Matt Pass
fa5b549081 Tweaks to save and move
Only use docRoot if not FTP (ie, local)
srcDir and tgtDir need prefixed slashes removed
Use JS isFileFolder function to establish dir/file type as short term
measure, to be replaced with FTP call to establish type so can all be
handled server side
2015-08-20 10:30:33 +01:00
Matt Pass
379f6ac1c3 Return info on a file over FTP 2015-08-20 09:26:29 +01:00
Matt Pass
87be112d9f isFileFolder function added to return DOM elem type
Detects by classname and returns folder/file or false if not found
2015-08-20 09:25:47 +01:00
Matt Pass
491edf256e Can now move a file/dir over FTP 2015-08-20 09:21:00 +01:00
Matt Pass
f38e984b31 Rename now working for FTP 2015-08-19 07:07:31 +01:00
Matt Pass
b1df1e8403 Use ftpStart and ftpEnd functions 2015-08-19 06:36:04 +01:00
Matt Pass
41592007b9 ftpStart and ftpEnd functions added 2015-08-19 06:34:51 +01:00
Matt Pass
78ddfe61ba FTP processes added to handle mkdir and chmod 2015-08-18 07:06:04 +01:00
Matt Pass
2bfef30c03 New FTP functions added to mkdir and change perms 2015-08-18 07:03:45 +01:00
bhz6344
ac65cd89c1 To fix Chinese character display abnormal
When "default_charset" was not set in php.ini,and the file contents chinese char,it may show incorrectly.
Because the function htmlentities() takes "ISO-8859-1" as default value of "default_charset"  if PHP version is lower than 5.4.
So I think it's better to check the "default_charset" before function htmlentities().
What's your opinion?
2015-08-17 14:23:45 +08:00
150 changed files with 8528 additions and 2791 deletions

8
.gitignore vendored
View File

@@ -1,9 +1,7 @@
error-log.txt data/*
backups/* !data/.gitkeep
!backups/index.php
lib/config-*
plugins/* plugins/*
!plugins/index.php !plugins/index.php
test/test-file1.txt test/test-file1.txt
tmp/* tmp/*
!tmp/index.php !tmp/index.php

2
.htaccess Normal file
View File

@@ -0,0 +1,2 @@
RewriteEngine Off
RewriteEngine On

BIN
CodeMirror/.DS_Store vendored Normal file

Binary file not shown.

View File

@@ -1,4 +1,4 @@
Copyright (C) 2014 by Marijn Haverbeke <marijnh@gmail.com> and others Copyright (C) 2016 by Marijn Haverbeke <marijnh@gmail.com> and others
Permission is hereby granted, free of charge, to any person obtaining a copy 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

20
CodeMirror/addon/fold/foldgutter.css vendored Normal file
View File

@@ -0,0 +1,20 @@
.CodeMirror-foldmarker {
color: blue;
text-shadow: #b9f 1px 1px 2px, #b9f -1px -1px 2px, #b9f 1px -1px 2px, #b9f -1px 1px 2px;
font-family: arial;
line-height: .3;
cursor: pointer;
}
.CodeMirror-foldgutter {
width: .7em;
}
.CodeMirror-foldgutter-open,
.CodeMirror-foldgutter-folded {
cursor: pointer;
}
.CodeMirror-foldgutter-open:after {
content: "\25BE";
}
.CodeMirror-foldgutter-folded:after {
content: "\25B8";
}

View File

@@ -1,6 +1,6 @@
/* The lint marker gutter */ /* The lint marker gutter */
.CodeMirror-lint-markers { .CodeMirror-lint-markers {
width: 16px; width: 12px; margin-left: 2px;
} }
.CodeMirror-lint-tooltip { .CodeMirror-lint-tooltip {
@@ -43,7 +43,7 @@
.CodeMirror-lint-marker-error, .CodeMirror-lint-marker-warning { .CodeMirror-lint-marker-error, .CodeMirror-lint-marker-warning {
background-position: center center; background-position: center center;
background-repeat: no-repeat; background-repeat: no-repeat;
cursor: pointer; cursor: help;
display: inline-block; display: inline-block;
height: 16px; height: 16px;
width: 16px; width: 16px;

View File

@@ -0,0 +1,68 @@
.CodeMirror-simplescroll-horizontal div, .CodeMirror-simplescroll-vertical div {
position: absolute;
background: #ccc;
-moz-box-sizing: border-box;
box-sizing: border-box;
border: 1px solid #bbb;
border-radius: 2px;
}
.CodeMirror-simplescroll-horizontal, .CodeMirror-simplescroll-vertical {
position: absolute;
z-index: 6;
background: #eee;
}
.CodeMirror-simplescroll-horizontal {
bottom: 0; left: 0;
height: 8px;
}
.CodeMirror-simplescroll-horizontal div {
bottom: 0;
height: 100%;
}
.CodeMirror-simplescroll-vertical {
right: 0; top: 0;
width: 8px;
}
.CodeMirror-simplescroll-vertical div {
right: 0;
width: 100%;
}
.CodeMirror-overlayscroll .CodeMirror-scrollbar-filler, .CodeMirror-overlayscroll .CodeMirror-gutter-filler {
display: none;
background: transparent;
}
.CodeMirror-overlayscroll-horizontal div, .CodeMirror-overlayscroll-vertical div {
position: absolute;
background: rgba(0,198,255,0.1);
border-radius: 0;
}
.CodeMirror-overlayscroll-horizontal, .CodeMirror-overlayscroll-vertical {
position: absolute;
z-index: 6;
}
.CodeMirror-overlayscroll-horizontal {
bottom: 0; left: 0;
height: 12px;
}
.CodeMirror-overlayscroll-horizontal div {
bottom: 0;
height: 100%;
}
.CodeMirror-overlayscroll-vertical {
right: 0; top: 0;
width: 6px;
}
.CodeMirror-overlayscroll-vertical div {
display: none;
right: 0;
width: 100%;
}

File diff suppressed because one or more lines are too long

View File

@@ -41,19 +41,21 @@
/* CURSOR */ /* CURSOR */
.CodeMirror div.CodeMirror-cursor { .CodeMirror-cursor {
border-left: 1px solid black; border-left: 1px solid black;
border-right: none;
width: 0;
} }
/* Shown when moving in bi-directional text */ /* Shown when moving in bi-directional text */
.CodeMirror div.CodeMirror-secondarycursor { .CodeMirror div.CodeMirror-secondarycursor {
border-left: 1px solid silver; border-left: 1px solid silver;
} }
.CodeMirror.cm-fat-cursor div.CodeMirror-cursor { .cm-fat-cursor .CodeMirror-cursor {
width: auto; width: auto;
border: 0; border: 0;
background: #7e7; background: #7e7;
} }
.CodeMirror.cm-fat-cursor div.CodeMirror-cursors { .cm-fat-cursor div.CodeMirror-cursors {
z-index: 1; z-index: 1;
} }
@@ -63,25 +65,26 @@
-webkit-animation: blink 1.06s steps(1) infinite; -webkit-animation: blink 1.06s steps(1) infinite;
-moz-animation: blink 1.06s steps(1) infinite; -moz-animation: blink 1.06s steps(1) infinite;
animation: blink 1.06s steps(1) infinite; animation: blink 1.06s steps(1) infinite;
background-color: #7e7;
} }
@-moz-keyframes blink { @-moz-keyframes blink {
0% { background: #7e7; } 0% {}
50% { background: none; } 50% { background-color: transparent; }
100% { background: #7e7; } 100% {}
} }
@-webkit-keyframes blink { @-webkit-keyframes blink {
0% { background: #7e7; } 0% {}
50% { background: none; } 50% { background-color: transparent; }
100% { background: #7e7; } 100% {}
} }
@keyframes blink { @keyframes blink {
0% { background: #7e7; } 0% {}
50% { background: none; } 50% { background-color: transparent; }
100% { background: #7e7; } 100% {}
} }
/* Can style cursor different in overwrite (non-insert) mode */ /* Can style cursor different in overwrite (non-insert) mode */
div.CodeMirror-overwrite div.CodeMirror-cursor {} .CodeMirror-overwrite .CodeMirror-cursor {}
.cm-tab { display: inline-block; text-decoration: inherit; } .cm-tab { display: inline-block; text-decoration: inherit; }
@@ -92,6 +95,15 @@ div.CodeMirror-overwrite div.CodeMirror-cursor {}
/* DEFAULT THEME */ /* DEFAULT THEME */
.cm-s-default .cm-header {color: blue;}
.cm-s-default .cm-quote {color: #090;}
.cm-negative {color: #d44;}
.cm-positive {color: #292;}
.cm-header, .cm-strong {font-weight: bold;}
.cm-em {font-style: italic;}
.cm-link {text-decoration: underline;}
.cm-strikethrough {text-decoration: line-through;}
.cm-s-default .cm-keyword {color: #708;} .cm-s-default .cm-keyword {color: #708;}
.cm-s-default .cm-atom {color: #219;} .cm-s-default .cm-atom {color: #219;}
.cm-s-default .cm-number {color: #164;} .cm-s-default .cm-number {color: #164;}
@@ -111,18 +123,9 @@ div.CodeMirror-overwrite div.CodeMirror-cursor {}
.cm-s-default .cm-bracket {color: #997;} .cm-s-default .cm-bracket {color: #997;}
.cm-s-default .cm-tag {color: #170;} .cm-s-default .cm-tag {color: #170;}
.cm-s-default .cm-attribute {color: #00c;} .cm-s-default .cm-attribute {color: #00c;}
.cm-s-default .cm-header {color: blue;}
.cm-s-default .cm-quote {color: #090;}
.cm-s-default .cm-hr {color: #999;} .cm-s-default .cm-hr {color: #999;}
.cm-s-default .cm-link {color: #00c;} .cm-s-default .cm-link {color: #00c;}
.cm-negative {color: #d44;}
.cm-positive {color: #292;}
.cm-header, .cm-strong {font-weight: bold;}
.cm-em {font-style: italic;}
.cm-link {text-decoration: underline;}
.cm-strikethrough {text-decoration: line-through;}
.cm-s-default .cm-error {color: #f00;} .cm-s-default .cm-error {color: #f00;}
.cm-invalidchar {color: #f00;} .cm-invalidchar {color: #f00;}
@@ -162,7 +165,7 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
} }
/* The fake, visible scrollbars. Used to force redraw during scrolling /* The fake, visible scrollbars. Used to force redraw during scrolling
before actuall scrolling happens, thus preventing shaking and before actual scrolling happens, thus preventing shaking and
flickering artifacts. */ flickering artifacts. */
.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { .CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
position: absolute; position: absolute;
@@ -194,6 +197,7 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
white-space: normal; white-space: normal;
height: 100%; height: 100%;
display: inline-block; display: inline-block;
vertical-align: top;
margin-bottom: -30px; margin-bottom: -30px;
/* Hack to make IE7 behave */ /* Hack to make IE7 behave */
*zoom:1; *zoom:1;
@@ -202,7 +206,13 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
.CodeMirror-gutter-wrapper { .CodeMirror-gutter-wrapper {
position: absolute; position: absolute;
z-index: 4; z-index: 4;
height: 100%; background: none !important;
border: none !important;
}
.CodeMirror-gutter-background {
position: absolute;
top: 0; bottom: 0;
z-index: 4;
} }
.CodeMirror-gutter-elt { .CodeMirror-gutter-elt {
position: absolute; position: absolute;
@@ -277,19 +287,19 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;}
overflow: hidden; overflow: hidden;
visibility: hidden; visibility: hidden;
} }
.CodeMirror-measure pre { position: static; }
.CodeMirror div.CodeMirror-cursor { .CodeMirror-cursor { position: absolute; }
position: absolute; .CodeMirror-measure pre { position: static; }
border-right: none;
width: 0;
}
div.CodeMirror-cursors { div.CodeMirror-cursors {
visibility: hidden; visibility: hidden;
position: relative; position: relative;
z-index: 3; z-index: 3;
} }
div.CodeMirror-dragcursors {
visibility: visible;
}
.CodeMirror-focused div.CodeMirror-cursors { .CodeMirror-focused div.CodeMirror-cursors {
visibility: visible; visibility: visible;
} }
@@ -297,8 +307,8 @@ div.CodeMirror-cursors {
.CodeMirror-selected { background: #d9d9d9; } .CodeMirror-selected { background: #d9d9d9; }
.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; } .CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }
.CodeMirror-crosshair { cursor: crosshair; } .CodeMirror-crosshair { cursor: crosshair; }
.CodeMirror ::selection { background: #d7d4f0; } .CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }
.CodeMirror ::-moz-selection { background: #d7d4f0; } .CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }
.cm-searching { .cm-searching {
background: #ffa; background: #ffa;

View File

@@ -0,0 +1,47 @@
/* Theme Name: 2019 Torres Digital® 🇧🇷
Author: Torres Digital® | Sites → Lojas Virtuais e e-Commerce
Author URI: https://www.facebook.com/torresdigital/
Description: omos uma Agência Gaúcha que trabalha com Desenvolvimento Web voltado para todos os Nichos do Mercado tais como os de insumos, commodities, pequenos, médios e grandes Lojistas que desejam alcançar mais Clientes através do e-Commerce: Sites, Aplicativos, Lojas Virtuais, Marketplaces, WordPress e Woocommerce, integrados com os Principais Cartões e Soluções de Pagamentos do Brasil e do Mundo; tais como Cielo, CyberSource, PagSeguro, Stripe, Vindi, MasterCard, Visa, American Express, outros.
www.torresdigital.tk * Menos é mais.
Version: 2.0 *//* 15 de Junho de 2019 - 00h:04m:41s
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
This theme is licensed under the GPL. Use it to make something cool, have fun, and share what youve learned with others. */
/*All Begin*/
.cm-s-2019-torres-digital-theme.CodeMirror { background:/* #2D223F*/ #251C36; color:#fff; }
.cm-s-2019-torres-digital-theme div.CodeMirror-selected { background: #2D2D2D; }
.cm-s-2019-torres-digital-theme .CodeMirror-line::selection, .cm-s-2019-torres-digital-theme .CodeMirror-line > span::selection, .cm-s-2019-torres-digital-theme .CodeMirror-line > span > span::selection { background: rgba(45, 45, 45, 0.99); }
.cm-s-2019-torres-digital-theme .CodeMirror-line::-moz-selection, .cm-s-2019-torres-digital-theme .CodeMirror-line > span::-moz-selection, .cm-s-2019-torres-digital-theme .CodeMirror-line > span > span::-moz-selection { background: rgba(45, 45, 45, 0.99); }
.cm-s-2019-torres-digital-theme .CodeMirror-gutters { background: #090412; border-right: 3px solid #442E46; }
.cm-s-2019-torres-digital-theme .CodeMirror-guttermarker { color: #0f0; }
.cm-s-2019-torres-digital-theme .CodeMirror-guttermarker-subtle { color: white; }
.cm-s-2019-torres-digital-theme .CodeMirror-linenumber { color: #FFFFFF; }
.cm-s-2019-torres-digital-theme .CodeMirror-cursor { border-left: 1px solid #00FF00; }
.cm-s-2019-torres-digital-theme span.cm-keyword { color: #ADFF2F; font-weight: bold; }
.cm-s-2019-torres-digital-theme span.cm-atom { color: #49E6FF; }
.cm-s-2019-torres-digital-theme span.cm-number { color: /*#FFB94F*/ /*#E7FB40*/ #FDE231; }
.cm-s-2019-torres-digital-theme span.cm-def { color: #15E4D7;font-weight: bold; }
.cm-s-2019-torres-digital-theme span.cm-variable { color: #FFF700; }
.cm-s-2019-torres-digital-theme span.cm-variable-2 {color: #220060;background-color: #ffab00;padding: 0 8px;border-radius: 30px;margin: 0 2px;font-weight: 600;}
.cm-s-2019-torres-digital-theme span.cm-variable-3 { color: #96F; }
.cm-s-2019-torres-digital-theme span.cm-property { color: #F8019E; }
.cm-s-2019-torres-digital-theme span.cm-operator { color: #999; }
.cm-s-2019-torres-digital-theme span.cm-comment { color: #616163; }
.cm-s-2019-torres-digital-theme span.cm-string { color: #F8019E; }
.cm-s-2019-torres-digital-theme span.cm-meta { color: #F1FD31; font-weight: bold; }
.cm-s-2019-torres-digital-theme span.cm-qualifier { color: #FFF700; }
.cm-s-2019-torres-digital-theme span.cm-builtin { color: #F8A901; }
.cm-s-2019-torres-digital-theme span.cm-bracket { color: #cc7; }
.cm-s-2019-torres-digital-theme span.cm-tag { color: #FFBD40; }
.cm-s-2019-torres-digital-theme span.cm-attribute { color: #FFF700; }
.cm-s-2019-torres-digital-theme span.cm-error { color: #FF0000; }
.cm-s-2019-torres-digital-theme .CodeMirror-activeline-background { background: #040; }

View File

@@ -8,33 +8,34 @@
*/ */
.cm-s-3024-day.CodeMirror {background: #f7f7f7; color: #3a3432;} .cm-s-3024-day.CodeMirror { background: #f7f7f7; color: #3a3432; }
.cm-s-3024-day div.CodeMirror-selected {background: #d6d5d4 !important;} .cm-s-3024-day div.CodeMirror-selected { background: #d6d5d4; }
.cm-s-3024-day.CodeMirror ::selection { background: #d6d5d4; }
.cm-s-3024-day.CodeMirror ::-moz-selection { background: #d9d9d9; }
.cm-s-3024-day .CodeMirror-gutters {background: #f7f7f7; border-right: 0px;} .cm-s-3024-day .CodeMirror-line::selection, .cm-s-3024-day .CodeMirror-line > span::selection, .cm-s-3024-day .CodeMirror-line > span > span::selection { background: #d6d5d4; }
.cm-s-3024-day .CodeMirror-line::-moz-selection, .cm-s-3024-day .CodeMirror-line > span::-moz-selection, .cm-s-3024-day .CodeMirror-line > span > span::selection { background: #d9d9d9; }
.cm-s-3024-day .CodeMirror-gutters { background: #f7f7f7; border-right: 0px; }
.cm-s-3024-day .CodeMirror-guttermarker { color: #db2d20; } .cm-s-3024-day .CodeMirror-guttermarker { color: #db2d20; }
.cm-s-3024-day .CodeMirror-guttermarker-subtle { color: #807d7c; } .cm-s-3024-day .CodeMirror-guttermarker-subtle { color: #807d7c; }
.cm-s-3024-day .CodeMirror-linenumber {color: #807d7c;} .cm-s-3024-day .CodeMirror-linenumber { color: #807d7c; }
.cm-s-3024-day .CodeMirror-cursor {border-left: 1px solid #5c5855 !important;} .cm-s-3024-day .CodeMirror-cursor { border-left: 1px solid #5c5855; }
.cm-s-3024-day span.cm-comment {color: #cdab53;} .cm-s-3024-day span.cm-comment { color: #cdab53; }
.cm-s-3024-day span.cm-atom {color: #a16a94;} .cm-s-3024-day span.cm-atom { color: #a16a94; }
.cm-s-3024-day span.cm-number {color: #a16a94;} .cm-s-3024-day span.cm-number { color: #a16a94; }
.cm-s-3024-day span.cm-property, .cm-s-3024-day span.cm-attribute {color: #01a252;} .cm-s-3024-day span.cm-property, .cm-s-3024-day span.cm-attribute { color: #01a252; }
.cm-s-3024-day span.cm-keyword {color: #db2d20;} .cm-s-3024-day span.cm-keyword { color: #db2d20; }
.cm-s-3024-day span.cm-string {color: #fded02;} .cm-s-3024-day span.cm-string { color: #fded02; }
.cm-s-3024-day span.cm-variable {color: #01a252;} .cm-s-3024-day span.cm-variable { 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-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 span.cm-error { background: #db2d20; color: #5c5855; }
.cm-s-3024-day .CodeMirror-activeline-background {background: #e8f2ff !important;} .cm-s-3024-day .CodeMirror-activeline-background { background: #e8f2ff; }
.cm-s-3024-day .CodeMirror-matchingbracket { text-decoration: underline; color: #a16a94 !important;} .cm-s-3024-day .CodeMirror-matchingbracket { text-decoration: underline; color: #a16a94 !important; }

View File

@@ -8,32 +8,32 @@
*/ */
.cm-s-3024-night.CodeMirror {background: #090300; color: #d6d5d4;} .cm-s-3024-night.CodeMirror { background: #090300; color: #d6d5d4; }
.cm-s-3024-night div.CodeMirror-selected {background: #3a3432 !important;} .cm-s-3024-night div.CodeMirror-selected { background: #3a3432; }
.cm-s-3024-night.CodeMirror ::selection { background: rgba(58, 52, 50, .99); } .cm-s-3024-night .CodeMirror-line::selection, .cm-s-3024-night .CodeMirror-line > span::selection, .cm-s-3024-night .CodeMirror-line > span > span::selection { background: rgba(58, 52, 50, .99); }
.cm-s-3024-night.CodeMirror ::-moz-selection { background: rgba(58, 52, 50, .99); } .cm-s-3024-night .CodeMirror-line::-moz-selection, .cm-s-3024-night .CodeMirror-line > span::-moz-selection, .cm-s-3024-night .CodeMirror-line > span > span::-moz-selection { background: rgba(58, 52, 50, .99); }
.cm-s-3024-night .CodeMirror-gutters {background: #090300; border-right: 0px;} .cm-s-3024-night .CodeMirror-gutters { background: #090300; border-right: 0px; }
.cm-s-3024-night .CodeMirror-guttermarker { color: #db2d20; } .cm-s-3024-night .CodeMirror-guttermarker { color: #db2d20; }
.cm-s-3024-night .CodeMirror-guttermarker-subtle { color: #5c5855; } .cm-s-3024-night .CodeMirror-guttermarker-subtle { color: #5c5855; }
.cm-s-3024-night .CodeMirror-linenumber {color: #5c5855;} .cm-s-3024-night .CodeMirror-linenumber { color: #5c5855; }
.cm-s-3024-night .CodeMirror-cursor {border-left: 1px solid #807d7c !important;} .cm-s-3024-night .CodeMirror-cursor { border-left: 1px solid #807d7c; }
.cm-s-3024-night span.cm-comment {color: #cdab53;} .cm-s-3024-night span.cm-comment { color: #cdab53; }
.cm-s-3024-night span.cm-atom {color: #a16a94;} .cm-s-3024-night span.cm-atom { color: #a16a94; }
.cm-s-3024-night span.cm-number {color: #a16a94;} .cm-s-3024-night span.cm-number { color: #a16a94; }
.cm-s-3024-night span.cm-property, .cm-s-3024-night span.cm-attribute {color: #01a252;} .cm-s-3024-night span.cm-property, .cm-s-3024-night span.cm-attribute { color: #01a252; }
.cm-s-3024-night span.cm-keyword {color: #db2d20;} .cm-s-3024-night span.cm-keyword { color: #db2d20; }
.cm-s-3024-night span.cm-string {color: #fded02;} .cm-s-3024-night span.cm-string { color: #fded02; }
.cm-s-3024-night span.cm-variable {color: #01a252;} .cm-s-3024-night span.cm-variable { 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-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 span.cm-error { background: #db2d20; color: #807d7c; }
.cm-s-3024-night .CodeMirror-activeline-background {background: #2F2F2F !important;} .cm-s-3024-night .CodeMirror-activeline-background { background: #2F2F2F; }
.cm-s-3024-night .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;} .cm-s-3024-night .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }

32
CodeMirror/theme/abcdef.css vendored Normal file
View File

@@ -0,0 +1,32 @@
.cm-s-abcdef.CodeMirror { background: #0f0f0f; color: #defdef; }
.cm-s-abcdef div.CodeMirror-selected { background: #515151; }
.cm-s-abcdef .CodeMirror-line::selection, .cm-s-abcdef .CodeMirror-line > span::selection, .cm-s-abcdef .CodeMirror-line > span > span::selection { background: rgba(56, 56, 56, 0.99); }
.cm-s-abcdef .CodeMirror-line::-moz-selection, .cm-s-abcdef .CodeMirror-line > span::-moz-selection, .cm-s-abcdef .CodeMirror-line > span > span::-moz-selection { background: rgba(56, 56, 56, 0.99); }
.cm-s-abcdef .CodeMirror-gutters { background: #555; border-right: 2px solid #314151; }
.cm-s-abcdef .CodeMirror-guttermarker { color: #222; }
.cm-s-abcdef .CodeMirror-guttermarker-subtle { color: azure; }
.cm-s-abcdef .CodeMirror-linenumber { color: #FFFFFF; }
.cm-s-abcdef .CodeMirror-cursor { border-left: 1px solid #00FF00; }
.cm-s-abcdef span.cm-keyword { color: darkgoldenrod; font-weight: bold; }
.cm-s-abcdef span.cm-atom { color: #77F; }
.cm-s-abcdef span.cm-number { color: violet; }
.cm-s-abcdef span.cm-def { color: #fffabc; }
.cm-s-abcdef span.cm-variable { color: #abcdef; }
.cm-s-abcdef span.cm-variable-2 { color: #cacbcc; }
.cm-s-abcdef span.cm-variable-3 { color: #def; }
.cm-s-abcdef span.cm-property { color: #fedcba; }
.cm-s-abcdef span.cm-operator { color: #ff0; }
.cm-s-abcdef span.cm-comment { color: #7a7b7c; font-style: italic;}
.cm-s-abcdef span.cm-string { color: #2b4; }
.cm-s-abcdef span.cm-meta { color: #C9F; }
.cm-s-abcdef span.cm-qualifier { color: #FFF700; }
.cm-s-abcdef span.cm-builtin { color: #30aabc; }
.cm-s-abcdef span.cm-bracket { color: #8a8a8a; }
.cm-s-abcdef span.cm-tag { color: #FFDD44; }
.cm-s-abcdef span.cm-attribute { color: #DDFF00; }
.cm-s-abcdef span.cm-error { color: #FF0000; }
.cm-s-abcdef span.cm-header { color: aquamarine; font-weight: bold; }
.cm-s-abcdef span.cm-link { color: blueviolet; }
.cm-s-abcdef .CodeMirror-activeline-background { background: #314151; }

5
CodeMirror/theme/ambiance-mobile.css vendored Normal file
View File

@@ -0,0 +1,5 @@
.cm-s-ambiance.CodeMirror {
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}

View File

@@ -2,6 +2,9 @@
/* Color scheme */ /* Color scheme */
.cm-s-ambiance .cm-header { color: blue; }
.cm-s-ambiance .cm-quote { color: #24C2C7; }
.cm-s-ambiance .cm-keyword { color: #cda869; } .cm-s-ambiance .cm-keyword { color: #cda869; }
.cm-s-ambiance .cm-atom { color: #CF7EA9; } .cm-s-ambiance .cm-atom { color: #CF7EA9; }
.cm-s-ambiance .cm-number { color: #78CF8A; } .cm-s-ambiance .cm-number { color: #78CF8A; }
@@ -10,7 +13,7 @@
.cm-s-ambiance .cm-variable-2 { color: #eed1b3; } .cm-s-ambiance .cm-variable-2 { color: #eed1b3; }
.cm-s-ambiance .cm-variable-3 { color: #faded3; } .cm-s-ambiance .cm-variable-3 { color: #faded3; }
.cm-s-ambiance .cm-property { color: #eed1b3; } .cm-s-ambiance .cm-property { color: #eed1b3; }
.cm-s-ambiance .cm-operator {color: #fa8d6a;} .cm-s-ambiance .cm-operator { color: #fa8d6a; }
.cm-s-ambiance .cm-comment { color: #555; font-style:italic; } .cm-s-ambiance .cm-comment { color: #555; font-style:italic; }
.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; }
@@ -18,10 +21,8 @@
.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; }
.cm-s-ambiance .cm-tag { color: #fee4ff } .cm-s-ambiance .cm-tag { color: #fee4ff; }
.cm-s-ambiance .cm-attribute { color: #9B859D; } .cm-s-ambiance .cm-attribute { color: #9B859D; }
.cm-s-ambiance .cm-header {color: blue;}
.cm-s-ambiance .cm-quote { color: #24C2C7; }
.cm-s-ambiance .cm-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; }
@@ -30,10 +31,10 @@
.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; }
.cm-s-ambiance .CodeMirror-selected { background: rgba(255, 255, 255, 0.15); } .cm-s-ambiance div.CodeMirror-selected { background: rgba(255, 255, 255, 0.15); }
.cm-s-ambiance.CodeMirror-focused .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); } .cm-s-ambiance.CodeMirror-focused div.CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }
.cm-s-ambiance.CodeMirror ::selection { background: rgba(255, 255, 255, 0.10); } .cm-s-ambiance .CodeMirror-line::selection, .cm-s-ambiance .CodeMirror-line > span::selection, .cm-s-ambiance .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }
.cm-s-ambiance.CodeMirror ::-moz-selection { background: rgba(255, 255, 255, 0.10); } .cm-s-ambiance .CodeMirror-line::-moz-selection, .cm-s-ambiance .CodeMirror-line > span::-moz-selection, .cm-s-ambiance .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }
/* Editor styling */ /* Editor styling */
@@ -61,9 +62,7 @@
.cm-s-ambiance .CodeMirror-guttermarker { color: #aaa; } .cm-s-ambiance .CodeMirror-guttermarker { color: #aaa; }
.cm-s-ambiance .CodeMirror-guttermarker-subtle { color: #111; } .cm-s-ambiance .CodeMirror-guttermarker-subtle { color: #111; }
.cm-s-ambiance .CodeMirror-lines .CodeMirror-cursor { .cm-s-ambiance .CodeMirror-cursor { border-left: 1px solid #7991E8; }
border-left: 1px solid #7991E8;
}
.cm-s-ambiance .CodeMirror-activeline-background { .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);

View File

@@ -3,36 +3,36 @@
Name: Base16 Default Dark Name: Base16 Default Dark
Author: Chris Kempson (http://chriskempson.com) Author: Chris Kempson (http://chriskempson.com)
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-chrome-devtools) CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
*/ */
.cm-s-base16-dark.CodeMirror {background: #151515; color: #e0e0e0;} .cm-s-base16-dark.CodeMirror { background: #151515; color: #e0e0e0; }
.cm-s-base16-dark div.CodeMirror-selected {background: #303030 !important;} .cm-s-base16-dark div.CodeMirror-selected { background: #303030; }
.cm-s-base16-dark.CodeMirror ::selection { background: rgba(48, 48, 48, .99); } .cm-s-base16-dark .CodeMirror-line::selection, .cm-s-base16-dark .CodeMirror-line > span::selection, .cm-s-base16-dark .CodeMirror-line > span > span::selection { background: rgba(48, 48, 48, .99); }
.cm-s-base16-dark.CodeMirror ::-moz-selection { background: rgba(48, 48, 48, .99); } .cm-s-base16-dark .CodeMirror-line::-moz-selection, .cm-s-base16-dark .CodeMirror-line > span::-moz-selection, .cm-s-base16-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(48, 48, 48, .99); }
.cm-s-base16-dark .CodeMirror-gutters {background: #151515; border-right: 0px;} .cm-s-base16-dark .CodeMirror-gutters { background: #151515; border-right: 0px; }
.cm-s-base16-dark .CodeMirror-guttermarker { color: #ac4142; } .cm-s-base16-dark .CodeMirror-guttermarker { color: #ac4142; }
.cm-s-base16-dark .CodeMirror-guttermarker-subtle { color: #505050; } .cm-s-base16-dark .CodeMirror-guttermarker-subtle { color: #505050; }
.cm-s-base16-dark .CodeMirror-linenumber {color: #505050;} .cm-s-base16-dark .CodeMirror-linenumber { color: #505050; }
.cm-s-base16-dark .CodeMirror-cursor {border-left: 1px solid #b0b0b0 !important;} .cm-s-base16-dark .CodeMirror-cursor { border-left: 1px solid #b0b0b0; }
.cm-s-base16-dark span.cm-comment {color: #8f5536;} .cm-s-base16-dark span.cm-comment { color: #8f5536; }
.cm-s-base16-dark span.cm-atom {color: #aa759f;} .cm-s-base16-dark span.cm-atom { color: #aa759f; }
.cm-s-base16-dark span.cm-number {color: #aa759f;} .cm-s-base16-dark span.cm-number { color: #aa759f; }
.cm-s-base16-dark span.cm-property, .cm-s-base16-dark span.cm-attribute {color: #90a959;} .cm-s-base16-dark span.cm-property, .cm-s-base16-dark span.cm-attribute { color: #90a959; }
.cm-s-base16-dark span.cm-keyword {color: #ac4142;} .cm-s-base16-dark span.cm-keyword { color: #ac4142; }
.cm-s-base16-dark span.cm-string {color: #f4bf75;} .cm-s-base16-dark span.cm-string { color: #f4bf75; }
.cm-s-base16-dark span.cm-variable {color: #90a959;} .cm-s-base16-dark span.cm-variable { 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-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 span.cm-error { background: #ac4142; color: #b0b0b0; }
.cm-s-base16-dark .CodeMirror-activeline-background {background: #202020 !important;} .cm-s-base16-dark .CodeMirror-activeline-background { background: #202020; }
.cm-s-base16-dark .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;} .cm-s-base16-dark .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }

View File

@@ -3,36 +3,36 @@
Name: Base16 Default Light Name: Base16 Default Light
Author: Chris Kempson (http://chriskempson.com) Author: Chris Kempson (http://chriskempson.com)
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-chrome-devtools) CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
*/ */
.cm-s-base16-light.CodeMirror {background: #f5f5f5; color: #202020;} .cm-s-base16-light.CodeMirror { background: #f5f5f5; color: #202020; }
.cm-s-base16-light div.CodeMirror-selected {background: #e0e0e0 !important;} .cm-s-base16-light div.CodeMirror-selected { background: #e0e0e0; }
.cm-s-base16-light.CodeMirror ::selection { background: #e0e0e0; } .cm-s-base16-light .CodeMirror-line::selection, .cm-s-base16-light .CodeMirror-line > span::selection, .cm-s-base16-light .CodeMirror-line > span > span::selection { background: #e0e0e0; }
.cm-s-base16-light.CodeMirror ::-moz-selection { background: #e0e0e0; } .cm-s-base16-light .CodeMirror-line::-moz-selection, .cm-s-base16-light .CodeMirror-line > span::-moz-selection, .cm-s-base16-light .CodeMirror-line > span > span::-moz-selection { background: #e0e0e0; }
.cm-s-base16-light .CodeMirror-gutters {background: #f5f5f5; border-right: 0px;} .cm-s-base16-light .CodeMirror-gutters { background: #f5f5f5; border-right: 0px; }
.cm-s-base16-light .CodeMirror-guttermarker { color: #ac4142; } .cm-s-base16-light .CodeMirror-guttermarker { color: #ac4142; }
.cm-s-base16-light .CodeMirror-guttermarker-subtle { color: #b0b0b0; } .cm-s-base16-light .CodeMirror-guttermarker-subtle { color: #b0b0b0; }
.cm-s-base16-light .CodeMirror-linenumber {color: #b0b0b0;} .cm-s-base16-light .CodeMirror-linenumber { color: #b0b0b0; }
.cm-s-base16-light .CodeMirror-cursor {border-left: 1px solid #505050 !important;} .cm-s-base16-light .CodeMirror-cursor { border-left: 1px solid #505050; }
.cm-s-base16-light span.cm-comment {color: #8f5536;} .cm-s-base16-light span.cm-comment { color: #8f5536; }
.cm-s-base16-light span.cm-atom {color: #aa759f;} .cm-s-base16-light span.cm-atom { color: #aa759f; }
.cm-s-base16-light span.cm-number {color: #aa759f;} .cm-s-base16-light span.cm-number { color: #aa759f; }
.cm-s-base16-light span.cm-property, .cm-s-base16-light span.cm-attribute {color: #90a959;} .cm-s-base16-light span.cm-property, .cm-s-base16-light span.cm-attribute { color: #90a959; }
.cm-s-base16-light span.cm-keyword {color: #ac4142;} .cm-s-base16-light span.cm-keyword { color: #ac4142; }
.cm-s-base16-light span.cm-string {color: #f4bf75;} .cm-s-base16-light span.cm-string { color: #f4bf75; }
.cm-s-base16-light span.cm-variable {color: #90a959;} .cm-s-base16-light span.cm-variable { 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-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 span.cm-error { background: #ac4142; color: #505050; }
.cm-s-base16-light .CodeMirror-activeline-background {background: #DDDCDC !important;} .cm-s-base16-light .CodeMirror-activeline-background { background: #DDDCDC; }
.cm-s-base16-light .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;} .cm-s-base16-light .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }

34
CodeMirror/theme/bespin.css vendored Normal file
View File

@@ -0,0 +1,34 @@
/*
Name: Bespin
Author: Mozilla / Jan T. Sott
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
*/
.cm-s-bespin.CodeMirror {background: #28211c; color: #9d9b97;}
.cm-s-bespin div.CodeMirror-selected {background: #36312e !important;}
.cm-s-bespin .CodeMirror-gutters {background: #28211c; border-right: 0px;}
.cm-s-bespin .CodeMirror-linenumber {color: #666666;}
.cm-s-bespin .CodeMirror-cursor {border-left: 1px solid #797977 !important;}
.cm-s-bespin span.cm-comment {color: #937121;}
.cm-s-bespin span.cm-atom {color: #9b859d;}
.cm-s-bespin span.cm-number {color: #9b859d;}
.cm-s-bespin span.cm-property, .cm-s-bespin span.cm-attribute {color: #54be0d;}
.cm-s-bespin span.cm-keyword {color: #cf6a4c;}
.cm-s-bespin span.cm-string {color: #f9ee98;}
.cm-s-bespin span.cm-variable {color: #54be0d;}
.cm-s-bespin span.cm-variable-2 {color: #5ea6ea;}
.cm-s-bespin span.cm-def {color: #cf7d34;}
.cm-s-bespin span.cm-error {background: #cf6a4c; color: #797977;}
.cm-s-bespin span.cm-bracket {color: #9d9b97;}
.cm-s-bespin span.cm-tag {color: #cf6a4c;}
.cm-s-bespin span.cm-link {color: #9b859d;}
.cm-s-bespin .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
.cm-s-bespin .CodeMirror-activeline-background { background: #404040; }

View File

@@ -1,21 +1,21 @@
/* Port of TextMate's Blackboard theme */ /* Port of TextMate's Blackboard theme */
.cm-s-blackboard.CodeMirror { background: #0C1021; color: #F8F8F8; } .cm-s-blackboard.CodeMirror { background: #0C1021; color: #F8F8F8; }
.cm-s-blackboard .CodeMirror-selected { background: #253B76 !important; } .cm-s-blackboard div.CodeMirror-selected { background: #253B76; }
.cm-s-blackboard.CodeMirror ::selection { background: rgba(37, 59, 118, .99); } .cm-s-blackboard .CodeMirror-line::selection, .cm-s-blackboard .CodeMirror-line > span::selection, .cm-s-blackboard .CodeMirror-line > span > span::selection { background: rgba(37, 59, 118, .99); }
.cm-s-blackboard.CodeMirror ::-moz-selection { background: rgba(37, 59, 118, .99); } .cm-s-blackboard .CodeMirror-line::-moz-selection, .cm-s-blackboard .CodeMirror-line > span::-moz-selection, .cm-s-blackboard .CodeMirror-line > span > span::-moz-selection { background: rgba(37, 59, 118, .99); }
.cm-s-blackboard .CodeMirror-gutters { background: #0C1021; border-right: 0; } .cm-s-blackboard .CodeMirror-gutters { background: #0C1021; border-right: 0; }
.cm-s-blackboard .CodeMirror-guttermarker { color: #FBDE2D; } .cm-s-blackboard .CodeMirror-guttermarker { color: #FBDE2D; }
.cm-s-blackboard .CodeMirror-guttermarker-subtle { color: #888; } .cm-s-blackboard .CodeMirror-guttermarker-subtle { color: #888; }
.cm-s-blackboard .CodeMirror-linenumber { color: #888; } .cm-s-blackboard .CodeMirror-linenumber { color: #888; }
.cm-s-blackboard .CodeMirror-cursor { border-left: 1px solid #A7A7A7 !important; } .cm-s-blackboard .CodeMirror-cursor { border-left: 1px solid #A7A7A7; }
.cm-s-blackboard .cm-keyword { color: #FBDE2D; } .cm-s-blackboard .cm-keyword { color: #FBDE2D; }
.cm-s-blackboard .cm-atom { color: #D8FA3C; } .cm-s-blackboard .cm-atom { color: #D8FA3C; }
.cm-s-blackboard .cm-number { color: #D8FA3C; } .cm-s-blackboard .cm-number { color: #D8FA3C; }
.cm-s-blackboard .cm-def { color: #8DA6CE; } .cm-s-blackboard .cm-def { color: #8DA6CE; }
.cm-s-blackboard .cm-variable { color: #FF6400; } .cm-s-blackboard .cm-variable { color: #FF6400; }
.cm-s-blackboard .cm-operator { color: #FBDE2D;} .cm-s-blackboard .cm-operator { color: #FBDE2D; }
.cm-s-blackboard .cm-comment { color: #AEAEAE; } .cm-s-blackboard .cm-comment { color: #AEAEAE; }
.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; }
@@ -28,5 +28,5 @@
.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 .cm-error { background: #9D1E15; color: #F8F8F8; }
.cm-s-blackboard .CodeMirror-activeline-background {background: #3C3636 !important;} .cm-s-blackboard .CodeMirror-activeline-background { background: #3C3636; }
.cm-s-blackboard .CodeMirror-matchingbracket {outline:1px solid grey;color:white !important} .cm-s-blackboard .CodeMirror-matchingbracket { outline:1px solid grey;color:white !important; }

View File

@@ -1,12 +1,12 @@
.cm-s-cobalt.CodeMirror { background: #002240; color: white; } .cm-s-cobalt.CodeMirror { background: #002240; color: white; }
.cm-s-cobalt div.CodeMirror-selected { background: #b36539 !important; } .cm-s-cobalt div.CodeMirror-selected { background: #b36539; }
.cm-s-cobalt.CodeMirror ::selection { background: rgba(179, 101, 57, .99); } .cm-s-cobalt .CodeMirror-line::selection, .cm-s-cobalt .CodeMirror-line > span::selection, .cm-s-cobalt .CodeMirror-line > span > span::selection { background: rgba(179, 101, 57, .99); }
.cm-s-cobalt.CodeMirror ::-moz-selection { background: rgba(179, 101, 57, .99); } .cm-s-cobalt .CodeMirror-line::-moz-selection, .cm-s-cobalt .CodeMirror-line > span::-moz-selection, .cm-s-cobalt .CodeMirror-line > span > span::-moz-selection { background: rgba(179, 101, 57, .99); }
.cm-s-cobalt .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; } .cm-s-cobalt .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; }
.cm-s-cobalt .CodeMirror-guttermarker { color: #ffee80; } .cm-s-cobalt .CodeMirror-guttermarker { color: #ffee80; }
.cm-s-cobalt .CodeMirror-guttermarker-subtle { color: #d0d0d0; } .cm-s-cobalt .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
.cm-s-cobalt .CodeMirror-linenumber { color: #d0d0d0; } .cm-s-cobalt .CodeMirror-linenumber { color: #d0d0d0; }
.cm-s-cobalt .CodeMirror-cursor { border-left: 1px solid white !important; } .cm-s-cobalt .CodeMirror-cursor { border-left: 1px solid white; }
.cm-s-cobalt span.cm-comment { color: #08f; } .cm-s-cobalt span.cm-comment { color: #08f; }
.cm-s-cobalt span.cm-atom { color: #845dc4; } .cm-s-cobalt span.cm-atom { color: #845dc4; }
@@ -21,5 +21,5 @@
.cm-s-cobalt span.cm-link { color: #845dc4; } .cm-s-cobalt span.cm-link { color: #845dc4; }
.cm-s-cobalt span.cm-error { color: #9d1e15; } .cm-s-cobalt span.cm-error { color: #9d1e15; }
.cm-s-cobalt .CodeMirror-activeline-background {background: #002D57 !important;} .cm-s-cobalt .CodeMirror-activeline-background { background: #002D57; }
.cm-s-cobalt .CodeMirror-matchingbracket {outline:1px solid grey;color:white !important} .cm-s-cobalt .CodeMirror-matchingbracket { outline:1px solid grey;color:white !important; }

View File

@@ -3,7 +3,7 @@
.cm-s-colorforth .CodeMirror-guttermarker { color: #FFBD40; } .cm-s-colorforth .CodeMirror-guttermarker { color: #FFBD40; }
.cm-s-colorforth .CodeMirror-guttermarker-subtle { color: #78846f; } .cm-s-colorforth .CodeMirror-guttermarker-subtle { color: #78846f; }
.cm-s-colorforth .CodeMirror-linenumber { color: #bababa; } .cm-s-colorforth .CodeMirror-linenumber { color: #bababa; }
.cm-s-colorforth .CodeMirror-cursor { border-left: 1px solid white !important; } .cm-s-colorforth .CodeMirror-cursor { border-left: 1px solid white; }
.cm-s-colorforth span.cm-comment { color: #ededed; } .cm-s-colorforth span.cm-comment { color: #ededed; }
.cm-s-colorforth span.cm-def { color: #ff1c1c; font-weight:bold; } .cm-s-colorforth span.cm-def { color: #ff1c1c; font-weight:bold; }
@@ -26,8 +26,8 @@
.cm-s-colorforth span.cm-attribute { color: #FFF700; } .cm-s-colorforth span.cm-attribute { color: #FFF700; }
.cm-s-colorforth span.cm-error { color: #f00; } .cm-s-colorforth span.cm-error { color: #f00; }
.cm-s-colorforth .CodeMirror-selected { background: #333d53 !important; } .cm-s-colorforth div.CodeMirror-selected { background: #333d53; }
.cm-s-colorforth span.cm-compilation { background: rgba(255, 255, 255, 0.12); } .cm-s-colorforth span.cm-compilation { background: rgba(255, 255, 255, 0.12); }
.cm-s-colorforth .CodeMirror-activeline-background {background: #253540 !important;} .cm-s-colorforth .CodeMirror-activeline-background { background: #253540; }

40
CodeMirror/theme/dracula.css vendored Normal file
View File

@@ -0,0 +1,40 @@
/*
Name: dracula
Author: Michael Kaminsky (http://github.com/mkaminsky11)
Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme)
*/
.cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters {
background-color: #282a36 !important;
color: #f8f8f2 !important;
border: none;
}
.cm-s-dracula .CodeMirror-gutters { color: #282a36; }
.cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; }
.cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; }
.cm-s-dracula .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }
.cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }
.cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }
.cm-s-dracula span.cm-comment { color: #6272a4; }
.cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; }
.cm-s-dracula span.cm-number { color: #bd93f9; }
.cm-s-dracula span.cm-variable { color: #50fa7b; }
.cm-s-dracula span.cm-variable-2 { color: white; }
.cm-s-dracula span.cm-def { color: #50fa7b; }
.cm-s-dracula span.cm-operator { color: #ff79c6; }
.cm-s-dracula span.cm-keyword { color: #ff79c6; }
.cm-s-dracula span.cm-atom { color: #bd93f9; }
.cm-s-dracula span.cm-meta { color: #f8f8f2; }
.cm-s-dracula span.cm-tag { color: #ff79c6; }
.cm-s-dracula span.cm-attribute { color: #50fa7b; }
.cm-s-dracula span.cm-qualifier { color: #50fa7b; }
.cm-s-dracula span.cm-property { color: #66d9ef; }
.cm-s-dracula span.cm-builtin { color: #50fa7b; }
.cm-s-dracula span.cm-variable-3 { color: #ffb86c; }
.cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); }
.cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }

35
CodeMirror/theme/duotone-dark.css vendored Normal file
View File

@@ -0,0 +1,35 @@
/*
Name: DuoTone-Dark
Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes)
CodeMirror template by Jan T. Sott (https://github.com/idleberg), adapted by Bram de Haan (https://github.com/atelierbram/)
*/
.cm-s-duotone-dark.CodeMirror { background: #2a2734; color: #6c6783; }
.cm-s-duotone-dark div.CodeMirror-selected { background: #545167!important; }
.cm-s-duotone-dark .CodeMirror-gutters { background: #2a2734; border-right: 0px; }
.cm-s-duotone-dark .CodeMirror-linenumber { color: #545167; }
/* begin cursor */
.cm-s-duotone-dark .CodeMirror-cursor { border-left: 1px solid #ffad5c; /* border-left: 1px solid #ffad5c80; */ border-right: .5em solid #ffad5c; /* border-right: .5em solid #ffad5c80; */ opacity: .5; }
.cm-s-duotone-dark .CodeMirror-activeline-background { background: #363342; /* background: #36334280; */ opacity: .5;}
.cm-s-duotone-dark .cm-fat-cursor .CodeMirror-cursor { background: #ffad5c; /* background: #ffad5c80; */ opacity: .5;}
/* end cursor */
.cm-s-duotone-dark span.cm-atom, .cm-s-duotone-dark span.cm-number, .cm-s-duotone-dark span.cm-keyword, .cm-s-duotone-dark span.cm-variable, .cm-s-duotone-dark span.cm-attribute, .cm-s-duotone-dark span.cm-quote, .cm-s-duotone-dark span.cm-hr, .cm-s-duotone-dark span.cm-link { color: #ffcc99; }
.cm-s-duotone-dark span.cm-property { color: #9a86fd; }
.cm-s-duotone-dark span.cm-punctuation, .cm-s-duotone-dark span.cm-unit, .cm-s-duotone-dark span.cm-negative { color: #e09142; }
.cm-s-duotone-dark span.cm-string { color: #ffb870; }
.cm-s-duotone-dark span.cm-operator { color: #ffad5c; }
.cm-s-duotone-dark span.cm-positive { color: #6a51e6; }
.cm-s-duotone-dark span.cm-variable-2, .cm-s-duotone-dark span.cm-variable-3, .cm-s-duotone-dark span.cm-string-2, .cm-s-duotone-dark span.cm-url { color: #7a63ee; }
.cm-s-duotone-dark span.cm-def, .cm-s-duotone-dark span.cm-tag, .cm-s-duotone-dark span.cm-builtin, .cm-s-duotone-dark span.cm-qualifier, .cm-s-duotone-dark span.cm-header, .cm-s-duotone-dark span.cm-em { color: #eeebff; }
.cm-s-duotone-dark span.cm-bracket, .cm-s-duotone-dark span.cm-comment { color: #6c6783; }
/* using #f00 red for errors, don't think any of the colorscheme variables will stand out enough, ... maybe by giving it a background-color ... */
.cm-s-duotone-dark span.cm-error, .cm-s-duotone-dark span.cm-invalidchar { color: #f00; }
.cm-s-duotone-dark span.cm-header { font-weight: normal; }
.cm-s-duotone-dark .CodeMirror-matchingbracket { text-decoration: underline; color: #eeebff !important; }

36
CodeMirror/theme/duotone-light.css vendored Normal file
View File

@@ -0,0 +1,36 @@
/*
Name: DuoTone-Light
Author: by Bram de Haan, adapted from DuoTone themes by Simurai (http://simurai.com/projects/2016/01/01/duotone-themes)
CodeMirror template by Jan T. Sott (https://github.com/idleberg), adapted by Bram de Haan (https://github.com/atelierbram/)
*/
.cm-s-duotone-light.CodeMirror { background: #faf8f5; color: #b29762; }
.cm-s-duotone-light div.CodeMirror-selected { background: #e3dcce !important; }
.cm-s-duotone-light .CodeMirror-gutters { background: #faf8f5; border-right: 0px; }
.cm-s-duotone-light .CodeMirror-linenumber { color: #cdc4b1; }
/* begin cursor */
.cm-s-duotone-light .CodeMirror-cursor { border-left: 1px solid #93abdc; /* border-left: 1px solid #93abdc80; */ border-right: .5em solid #93abdc; /* border-right: .5em solid #93abdc80; */ opacity: .5; }
.cm-s-duotone-light .CodeMirror-activeline-background { background: #e3dcce; /* background: #e3dcce80; */ opacity: .5; }
.cm-s-duotone-light .cm-fat-cursor .CodeMirror-cursor { background: #93abdc; /* #93abdc80; */ opacity: .5; }
/* end cursor */
.cm-s-duotone-light span.cm-atom, .cm-s-duotone-light span.cm-number, .cm-s-duotone-light span.cm-keyword, .cm-s-duotone-light span.cm-variable, .cm-s-duotone-light span.cm-attribute, .cm-s-duotone-light span.cm-quote, .cm-s-duotone-light-light span.cm-hr, .cm-s-duotone-light-light span.cm-link { color: #063289; }
.cm-s-duotone-light span.cm-property { color: #b29762; }
.cm-s-duotone-light span.cm-punctuation, .cm-s-duotone-light span.cm-unit, .cm-s-duotone-light span.cm-negative { color: #063289; }
.cm-s-duotone-light span.cm-string, .cm-s-duotone-light span.cm-operator { color: #1659df; }
.cm-s-duotone-light span.cm-positive { color: #896724; }
.cm-s-duotone-light span.cm-variable-2, .cm-s-duotone-light span.cm-variable-3, .cm-s-duotone-light span.cm-string-2, .cm-s-duotone-light span.cm-url { color: #896724; }
.cm-s-duotone-light span.cm-def, .cm-s-duotone-light span.cm-tag, .cm-s-duotone-light span.cm-builtin, .cm-s-duotone-light span.cm-qualifier, .cm-s-duotone-light span.cm-header, .cm-s-duotone-light span.cm-em { color: #2d2006; }
.cm-s-duotone-light span.cm-bracket, .cm-s-duotone-light span.cm-comment { color: #b6ad9a; }
/* using #f00 red for errors, don't think any of the colorscheme variables will stand out enough, ... maybe by giving it a background-color ... */
/* .cm-s-duotone-light span.cm-error { background: #896724; color: #728fcb; } */
.cm-s-duotone-light span.cm-error, .cm-s-duotone-light span.cm-invalidchar { color: #f00; }
.cm-s-duotone-light span.cm-header { font-weight: normal; }
.cm-s-duotone-light .CodeMirror-matchingbracket { text-decoration: underline; color: #faf8f5 !important; }

View File

@@ -1,23 +1,23 @@
.cm-s-eclipse span.cm-meta {color: #FF1717;} .cm-s-eclipse span.cm-meta { color: #FF1717; }
.cm-s-eclipse span.cm-keyword { line-height: 1em; font-weight: bold; color: #7F0055; } .cm-s-eclipse span.cm-keyword { line-height: 1em; font-weight: bold; color: #7F0055; }
.cm-s-eclipse span.cm-atom {color: #219;} .cm-s-eclipse span.cm-atom { color: #219; }
.cm-s-eclipse span.cm-number {color: #164;} .cm-s-eclipse span.cm-number { color: #164; }
.cm-s-eclipse span.cm-def {color: #00f;} .cm-s-eclipse span.cm-def { color: #00f; }
.cm-s-eclipse span.cm-variable {color: black;} .cm-s-eclipse span.cm-variable { color: black; }
.cm-s-eclipse span.cm-variable-2 {color: #0000C0;} .cm-s-eclipse span.cm-variable-2 { color: #0000C0; }
.cm-s-eclipse span.cm-variable-3 {color: #0000C0;} .cm-s-eclipse span.cm-variable-3 { color: #0000C0; }
.cm-s-eclipse span.cm-property {color: black;} .cm-s-eclipse span.cm-property { color: black; }
.cm-s-eclipse span.cm-operator {color: black;} .cm-s-eclipse span.cm-operator { color: black; }
.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-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 span.cm-error { color: #f00; }
.cm-s-eclipse .CodeMirror-activeline-background {background: #e8f2ff !important;} .cm-s-eclipse .CodeMirror-activeline-background { background: #e8f2ff; }
.cm-s-eclipse .CodeMirror-matchingbracket {outline:1px solid grey; color:black !important;} .cm-s-eclipse .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; }

View File

@@ -1,13 +1,13 @@
.cm-s-elegant span.cm-number, .cm-s-elegant span.cm-string, .cm-s-elegant span.cm-atom {color: #762;} .cm-s-elegant span.cm-number, .cm-s-elegant span.cm-string, .cm-s-elegant span.cm-atom { color: #762; }
.cm-s-elegant span.cm-comment {color: #262; font-style: italic; line-height: 1em;} .cm-s-elegant span.cm-comment { color: #262; font-style: italic; line-height: 1em; }
.cm-s-elegant span.cm-meta {color: #555; font-style: italic; line-height: 1em;} .cm-s-elegant span.cm-meta { color: #555; font-style: italic; line-height: 1em; }
.cm-s-elegant span.cm-variable {color: black;} .cm-s-elegant span.cm-variable { color: black; }
.cm-s-elegant span.cm-variable-2 {color: #b11;} .cm-s-elegant span.cm-variable-2 { color: #b11; }
.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-link {color: #762;} .cm-s-elegant span.cm-link { color: #762; }
.cm-s-elegant span.cm-error {background-color: #fdd;} .cm-s-elegant span.cm-error { background-color: #fdd; }
.cm-s-elegant .CodeMirror-activeline-background {background: #e8f2ff !important;} .cm-s-elegant .CodeMirror-activeline-background { background: #e8f2ff; }
.cm-s-elegant .CodeMirror-matchingbracket {outline:1px solid grey; color:black !important;} .cm-s-elegant .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; }

View File

@@ -1,13 +1,14 @@
.cm-s-erlang-dark.CodeMirror { background: #002240; color: white; } .cm-s-erlang-dark.CodeMirror { background: #002240; color: white; }
.cm-s-erlang-dark div.CodeMirror-selected { background: #b36539 !important; } .cm-s-erlang-dark div.CodeMirror-selected { background: #b36539; }
.cm-s-erlang-dark.CodeMirror ::selection { background: rgba(179, 101, 57, .99); } .cm-s-erlang-dark .CodeMirror-line::selection, .cm-s-erlang-dark .CodeMirror-line > span::selection, .cm-s-erlang-dark .CodeMirror-line > span > span::selection { background: rgba(179, 101, 57, .99); }
.cm-s-erlang-dark.CodeMirror ::-moz-selection { background: rgba(179, 101, 57, .99); } .cm-s-erlang-dark .CodeMirror-line::-moz-selection, .cm-s-erlang-dark .CodeMirror-line > span::-moz-selection, .cm-s-erlang-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(179, 101, 57, .99); }
.cm-s-erlang-dark .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; } .cm-s-erlang-dark .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; }
.cm-s-erlang-dark .CodeMirror-guttermarker { color: white; } .cm-s-erlang-dark .CodeMirror-guttermarker { color: white; }
.cm-s-erlang-dark .CodeMirror-guttermarker-subtle { color: #d0d0d0; } .cm-s-erlang-dark .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
.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; }
.cm-s-erlang-dark span.cm-quote { color: #ccc; }
.cm-s-erlang-dark span.cm-atom { color: #f133f1; } .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; }
@@ -20,7 +21,6 @@
.cm-s-erlang-dark span.cm-operator { color: #d55; } .cm-s-erlang-dark span.cm-operator { color: #d55; }
.cm-s-erlang-dark span.cm-property { color: #ccc; } .cm-s-erlang-dark span.cm-property { color: #ccc; }
.cm-s-erlang-dark span.cm-qualifier { 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-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-string-2 { color: #ccc; }
@@ -30,5 +30,5 @@
.cm-s-erlang-dark span.cm-variable-3 { color: #ccc; } .cm-s-erlang-dark span.cm-variable-3 { color: #ccc; }
.cm-s-erlang-dark span.cm-error { color: #9d1e15; } .cm-s-erlang-dark span.cm-error { color: #9d1e15; }
.cm-s-erlang-dark .CodeMirror-activeline-background {background: #013461 !important;} .cm-s-erlang-dark .CodeMirror-activeline-background { background: #013461; }
.cm-s-erlang-dark .CodeMirror-matchingbracket {outline:1px solid grey; color:white !important;} .cm-s-erlang-dark .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; }

34
CodeMirror/theme/hopscotch.css vendored Normal file
View File

@@ -0,0 +1,34 @@
/*
Name: Hopscotch
Author: Jan T. Sott
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
*/
.cm-s-hopscotch.CodeMirror {background: #322931; color: #d5d3d5;}
.cm-s-hopscotch div.CodeMirror-selected {background: #433b42 !important;}
.cm-s-hopscotch .CodeMirror-gutters {background: #322931; border-right: 0px;}
.cm-s-hopscotch .CodeMirror-linenumber {color: #797379;}
.cm-s-hopscotch .CodeMirror-cursor {border-left: 1px solid #989498 !important;}
.cm-s-hopscotch span.cm-comment {color: #b33508;}
.cm-s-hopscotch span.cm-atom {color: #c85e7c;}
.cm-s-hopscotch span.cm-number {color: #c85e7c;}
.cm-s-hopscotch span.cm-property, .cm-s-hopscotch span.cm-attribute {color: #8fc13e;}
.cm-s-hopscotch span.cm-keyword {color: #dd464c;}
.cm-s-hopscotch span.cm-string {color: #fdcc59;}
.cm-s-hopscotch span.cm-variable {color: #8fc13e;}
.cm-s-hopscotch span.cm-variable-2 {color: #1290bf;}
.cm-s-hopscotch span.cm-def {color: #fd8b19;}
.cm-s-hopscotch span.cm-error {background: #dd464c; color: #989498;}
.cm-s-hopscotch span.cm-bracket {color: #d5d3d5;}
.cm-s-hopscotch span.cm-tag {color: #dd464c;}
.cm-s-hopscotch span.cm-link {color: #c85e7c;}
.cm-s-hopscotch .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
.cm-s-hopscotch .CodeMirror-activeline-background { background: #302020; }

43
CodeMirror/theme/icecoder.css vendored Normal file
View File

@@ -0,0 +1,43 @@
/*
ICEcoder default theme by Matt Pass, used in code editor available at https://icecoder.net
*/
.cm-s-icecoder { color: #666; background: #1d1d1b; }
.cm-s-icecoder span.cm-keyword { color: #eee; font-weight:bold; } /* off-white 1 */
.cm-s-icecoder span.cm-atom { color: #e1c76e; } /* yellow */
.cm-s-icecoder span.cm-number { color: #6cb5d9; } /* blue */
.cm-s-icecoder span.cm-def { color: #b9ca4a; } /* green */
.cm-s-icecoder span.cm-variable { color: #6cb5d9; } /* blue */
.cm-s-icecoder span.cm-variable-2 { color: #cc1e5c; } /* pink */
.cm-s-icecoder span.cm-variable-3 { color: #f9602c; } /* orange */
.cm-s-icecoder span.cm-property { color: #eee; } /* off-white 1 */
.cm-s-icecoder span.cm-operator { color: #9179bb; } /* purple */
.cm-s-icecoder span.cm-comment { color: #97a3aa; } /* grey-blue */
.cm-s-icecoder span.cm-string { color: #b9ca4a; } /* green */
.cm-s-icecoder span.cm-string-2 { color: #6cb5d9; } /* blue */
.cm-s-icecoder span.cm-meta { color: #555; } /* grey */
.cm-s-icecoder span.cm-qualifier { color: #555; } /* grey */
.cm-s-icecoder span.cm-builtin { color: #214e7b; } /* bright blue */
.cm-s-icecoder span.cm-bracket { color: #cc7; } /* grey-yellow */
.cm-s-icecoder span.cm-tag { color: #e8e8e8; } /* off-white 2 */
.cm-s-icecoder span.cm-attribute { color: #099; } /* teal */
.cm-s-icecoder span.cm-header { color: #6a0d6a; } /* purple-pink */
.cm-s-icecoder span.cm-quote { color: #186718; } /* dark green */
.cm-s-icecoder span.cm-hr { color: #888; } /* mid-grey */
.cm-s-icecoder span.cm-link { color: #e1c76e; } /* yellow */
.cm-s-icecoder span.cm-error { color: #d00; } /* red */
.cm-s-icecoder .CodeMirror-cursor { border-left: 1px solid white; }
.cm-s-icecoder div.CodeMirror-selected { color: #fff; background: #037; }
.cm-s-icecoder .CodeMirror-gutters { background: #1d1d1b; min-width: 41px; border-right: 0; }
.cm-s-icecoder .CodeMirror-linenumber { color: #555; cursor: default; }
.cm-s-icecoder .CodeMirror-matchingbracket { color: #fff !important; background: #555 !important; }
.cm-s-icecoder .CodeMirror-activeline-background { background: #000; }

34
CodeMirror/theme/isotope.css vendored Normal file
View File

@@ -0,0 +1,34 @@
/*
Name: Isotope
Author: David Desandro / Jan T. Sott
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
*/
.cm-s-isotope.CodeMirror {background: #000000; color: #e0e0e0;}
.cm-s-isotope div.CodeMirror-selected {background: #404040 !important;}
.cm-s-isotope .CodeMirror-gutters {background: #000000; border-right: 0px;}
.cm-s-isotope .CodeMirror-linenumber {color: #808080;}
.cm-s-isotope .CodeMirror-cursor {border-left: 1px solid #c0c0c0 !important;}
.cm-s-isotope span.cm-comment {color: #3300ff;}
.cm-s-isotope span.cm-atom {color: #cc00ff;}
.cm-s-isotope span.cm-number {color: #cc00ff;}
.cm-s-isotope span.cm-property, .cm-s-isotope span.cm-attribute {color: #33ff00;}
.cm-s-isotope span.cm-keyword {color: #ff0000;}
.cm-s-isotope span.cm-string {color: #ff0099;}
.cm-s-isotope span.cm-variable {color: #33ff00;}
.cm-s-isotope span.cm-variable-2 {color: #0066ff;}
.cm-s-isotope span.cm-def {color: #ff9900;}
.cm-s-isotope span.cm-error {background: #ff0000; color: #c0c0c0;}
.cm-s-isotope span.cm-bracket {color: #e0e0e0;}
.cm-s-isotope span.cm-tag {color: #ff0000;}
.cm-s-isotope span.cm-link {color: #cc00ff;}
.cm-s-isotope .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
.cm-s-isotope .CodeMirror-activeline-background { background: #202020; }

View File

@@ -6,10 +6,10 @@ Ported to CodeMirror by Peter Kroon
line-height: 1.3em; line-height: 1.3em;
} }
.cm-s-lesser-dark.CodeMirror { background: #262626; color: #EBEFE7; text-shadow: 0 -1px 1px #262626; } .cm-s-lesser-dark.CodeMirror { background: #262626; color: #EBEFE7; text-shadow: 0 -1px 1px #262626; }
.cm-s-lesser-dark div.CodeMirror-selected {background: #45443B !important;} /* 33322B*/ .cm-s-lesser-dark div.CodeMirror-selected { background: #45443B; } /* 33322B*/
.cm-s-lesser-dark.CodeMirror ::selection { background: rgba(69, 68, 59, .99); } .cm-s-lesser-dark .CodeMirror-line::selection, .cm-s-lesser-dark .CodeMirror-line > span::selection, .cm-s-lesser-dark .CodeMirror-line > span > span::selection { background: rgba(69, 68, 59, .99); }
.cm-s-lesser-dark.CodeMirror ::-moz-selection { background: rgba(69, 68, 59, .99); } .cm-s-lesser-dark .CodeMirror-line::-moz-selection, .cm-s-lesser-dark .CodeMirror-line > span::-moz-selection, .cm-s-lesser-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(69, 68, 59, .99); }
.cm-s-lesser-dark .CodeMirror-cursor { border-left: 1px solid white !important; } .cm-s-lesser-dark .CodeMirror-cursor { border-left: 1px solid white; }
.cm-s-lesser-dark pre { padding: 0 8px; }/*editable code holder*/ .cm-s-lesser-dark pre { padding: 0 8px; }/*editable code holder*/
.cm-s-lesser-dark.CodeMirror span.CodeMirror-matchingbracket { color: #7EFC7E; }/*65FC65*/ .cm-s-lesser-dark.CodeMirror span.CodeMirror-matchingbracket { color: #7EFC7E; }/*65FC65*/
@@ -19,29 +19,29 @@ Ported to CodeMirror by Peter Kroon
.cm-s-lesser-dark .CodeMirror-guttermarker-subtle { color: #777; } .cm-s-lesser-dark .CodeMirror-guttermarker-subtle { color: #777; }
.cm-s-lesser-dark .CodeMirror-linenumber { color: #777; } .cm-s-lesser-dark .CodeMirror-linenumber { color: #777; }
.cm-s-lesser-dark span.cm-header { color: #a0a; }
.cm-s-lesser-dark span.cm-quote { color: #090; }
.cm-s-lesser-dark span.cm-keyword { color: #599eff; } .cm-s-lesser-dark span.cm-keyword { color: #599eff; }
.cm-s-lesser-dark span.cm-atom { color: #C2B470; } .cm-s-lesser-dark span.cm-atom { color: #C2B470; }
.cm-s-lesser-dark span.cm-number { color: #B35E4D; } .cm-s-lesser-dark span.cm-number { color: #B35E4D; }
.cm-s-lesser-dark span.cm-def {color: white;} .cm-s-lesser-dark span.cm-def { color: white; }
.cm-s-lesser-dark span.cm-variable { color:#D9BF8C; } .cm-s-lesser-dark span.cm-variable { color:#D9BF8C; }
.cm-s-lesser-dark span.cm-variable-2 { color: #669199; } .cm-s-lesser-dark span.cm-variable-2 { color: #669199; }
.cm-s-lesser-dark span.cm-variable-3 { color: white; } .cm-s-lesser-dark span.cm-variable-3 { color: white; }
.cm-s-lesser-dark span.cm-property {color: #92A75C;} .cm-s-lesser-dark span.cm-property { color: #92A75C; }
.cm-s-lesser-dark span.cm-operator {color: #92A75C;} .cm-s-lesser-dark span.cm-operator { color: #92A75C; }
.cm-s-lesser-dark span.cm-comment { color: #666; } .cm-s-lesser-dark span.cm-comment { color: #666; }
.cm-s-lesser-dark span.cm-string { color: #BCD279; } .cm-s-lesser-dark span.cm-string { 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-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; }
.cm-s-lesser-dark span.cm-tag { color: #669199; } .cm-s-lesser-dark span.cm-tag { color: #669199; }
.cm-s-lesser-dark span.cm-attribute {color: #00c;} .cm-s-lesser-dark span.cm-attribute { color: #00c; }
.cm-s-lesser-dark span.cm-header {color: #a0a;} .cm-s-lesser-dark span.cm-hr { color: #999; }
.cm-s-lesser-dark span.cm-quote {color: #090;} .cm-s-lesser-dark span.cm-link { color: #00c; }
.cm-s-lesser-dark span.cm-hr {color: #999;}
.cm-s-lesser-dark span.cm-link {color: #00c;}
.cm-s-lesser-dark span.cm-error { color: #9d1e15; } .cm-s-lesser-dark span.cm-error { color: #9d1e15; }
.cm-s-lesser-dark .CodeMirror-activeline-background {background: #3C3A3A !important;} .cm-s-lesser-dark .CodeMirror-activeline-background { background: #3C3A3A; }
.cm-s-lesser-dark .CodeMirror-matchingbracket {outline:1px solid grey; color:white !important;} .cm-s-lesser-dark .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; }

View File

@@ -4,27 +4,27 @@
line-height: 1.2em; line-height: 1.2em;
font-size: 1em; font-size: 1em;
} }
.CodeMirror-focused .cm-matchhighlight { .cm-s-liquibyte .CodeMirror-focused .cm-matchhighlight {
text-decoration: underline; text-decoration: underline;
text-decoration-color: #0f0; text-decoration-color: #0f0;
text-decoration-style: wavy; text-decoration-style: wavy;
} }
.cm-trailingspace { .cm-s-liquibyte .cm-trailingspace {
text-decoration: line-through; text-decoration: line-through;
text-decoration-color: #f00; text-decoration-color: #f00;
text-decoration-style: dotted; text-decoration-style: dotted;
} }
.cm-tab { .cm-s-liquibyte .cm-tab {
text-decoration: line-through; text-decoration: line-through;
text-decoration-color: #404040; text-decoration-color: #404040;
text-decoration-style: dotted; text-decoration-style: dotted;
} }
.cm-s-liquibyte .CodeMirror-gutters { background-color: #262626; border-right: 1px solid #505050; padding-right: 0.8em; } .cm-s-liquibyte .CodeMirror-gutters { background-color: #262626; border-right: 1px solid #505050; padding-right: 0.8em; }
.cm-s-liquibyte .CodeMirror-gutter-elt div{ font-size: 1.2em; } .cm-s-liquibyte .CodeMirror-gutter-elt div { font-size: 1.2em; }
.cm-s-liquibyte .CodeMirror-guttermarker { } .cm-s-liquibyte .CodeMirror-guttermarker { }
.cm-s-liquibyte .CodeMirror-guttermarker-subtle { } .cm-s-liquibyte .CodeMirror-guttermarker-subtle { }
.cm-s-liquibyte .CodeMirror-linenumber { color: #606060; padding-left: 0;} .cm-s-liquibyte .CodeMirror-linenumber { color: #606060; padding-left: 0; }
.cm-s-liquibyte .CodeMirror-cursor { border-left: 1px solid #eee !important; } .cm-s-liquibyte .CodeMirror-cursor { border-left: 1px solid #eee; }
.cm-s-liquibyte span.cm-comment { color: #008000; } .cm-s-liquibyte span.cm-comment { color: #008000; }
.cm-s-liquibyte span.cm-def { color: #ffaf40; font-weight: bold; } .cm-s-liquibyte span.cm-def { color: #ffaf40; font-weight: bold; }
@@ -47,49 +47,49 @@
.cm-s-liquibyte span.cm-attribute { color: #c080ff; font-weight: bold; } .cm-s-liquibyte span.cm-attribute { color: #c080ff; font-weight: bold; }
.cm-s-liquibyte span.cm-error { color: #f00; } .cm-s-liquibyte span.cm-error { color: #f00; }
.cm-s-liquibyte .CodeMirror-selected { background-color: rgba(255, 0, 0, 0.25) !important; } .cm-s-liquibyte div.CodeMirror-selected { background-color: rgba(255, 0, 0, 0.25); }
.cm-s-liquibyte span.cm-compilation { background-color: rgba(255, 255, 255, 0.12); } .cm-s-liquibyte span.cm-compilation { background-color: rgba(255, 255, 255, 0.12); }
.cm-s-liquibyte .CodeMirror-activeline-background {background-color: rgba(0, 255, 0, 0.15) !important;} .cm-s-liquibyte .CodeMirror-activeline-background { background-color: rgba(0, 255, 0, 0.15); }
/* Default styles for common addons */ /* Default styles for common addons */
div.CodeMirror span.CodeMirror-matchingbracket { color: #0f0; font-weight: bold; } .cm-s-liquibyte .CodeMirror span.CodeMirror-matchingbracket { color: #0f0; font-weight: bold; }
div.CodeMirror span.CodeMirror-nonmatchingbracket { color: #f00; font-weight: bold; } .cm-s-liquibyte .CodeMirror span.CodeMirror-nonmatchingbracket { color: #f00; font-weight: bold; }
.CodeMirror-matchingtag { background-color: rgba(150, 255, 0, .3); } .CodeMirror-matchingtag { background-color: rgba(150, 255, 0, .3); }
/* Scrollbars */ /* Scrollbars */
/* Simple */ /* Simple */
div.CodeMirror-simplescroll-horizontal div:hover, div.CodeMirror-simplescroll-vertical div:hover { .cm-s-liquibyte div.CodeMirror-simplescroll-horizontal div:hover, div.CodeMirror-simplescroll-vertical div:hover {
background-color: rgba(80, 80, 80, .7); background-color: rgba(80, 80, 80, .7);
} }
div.CodeMirror-simplescroll-horizontal div, div.CodeMirror-simplescroll-vertical div { .cm-s-liquibyte div.CodeMirror-simplescroll-horizontal div, div.CodeMirror-simplescroll-vertical div {
background-color: rgba(80, 80, 80, .3); background-color: rgba(80, 80, 80, .3);
border: 1px solid #404040; border: 1px solid #404040;
border-radius: 5px; border-radius: 5px;
} }
div.CodeMirror-simplescroll-vertical div { .cm-s-liquibyte div.CodeMirror-simplescroll-vertical div {
border-top: 1px solid #404040; border-top: 1px solid #404040;
border-bottom: 1px solid #404040; border-bottom: 1px solid #404040;
} }
div.CodeMirror-simplescroll-horizontal div { .cm-s-liquibyte div.CodeMirror-simplescroll-horizontal div {
border-left: 1px solid #404040; border-left: 1px solid #404040;
border-right: 1px solid #404040; border-right: 1px solid #404040;
} }
div.CodeMirror-simplescroll-vertical { .cm-s-liquibyte div.CodeMirror-simplescroll-vertical {
background-color: #262626; background-color: #262626;
} }
div.CodeMirror-simplescroll-horizontal { .cm-s-liquibyte div.CodeMirror-simplescroll-horizontal {
background-color: #262626; background-color: #262626;
border-top: 1px solid #404040; border-top: 1px solid #404040;
} }
/* Overlay */ /* Overlay */
div.CodeMirror-overlayscroll-horizontal div, div.CodeMirror-overlayscroll-vertical div { .cm-s-liquibyte div.CodeMirror-overlayscroll-horizontal div, div.CodeMirror-overlayscroll-vertical div {
background-color: #404040; background-color: #404040;
border-radius: 5px; border-radius: 5px;
} }
div.CodeMirror-overlayscroll-vertical div { .cm-s-liquibyte div.CodeMirror-overlayscroll-vertical div {
border: 1px solid #404040; border: 1px solid #404040;
} }
div.CodeMirror-overlayscroll-horizontal div { .cm-s-liquibyte div.CodeMirror-overlayscroll-horizontal div {
border: 1px solid #404040; border: 1px solid #404040;
} }

53
CodeMirror/theme/material.css vendored Normal file
View File

@@ -0,0 +1,53 @@
/*
Name: material
Author: Michael Kaminsky (http://github.com/mkaminsky11)
Original material color scheme by Mattia Astorino (https://github.com/equinusocio/material-theme)
*/
.cm-s-material.CodeMirror {
background-color: #263238;
color: rgba(233, 237, 237, 1);
}
.cm-s-material .CodeMirror-gutters {
background: #263238;
color: rgb(83,127,126);
border: none;
}
.cm-s-material .CodeMirror-guttermarker, .cm-s-material .CodeMirror-guttermarker-subtle, .cm-s-material .CodeMirror-linenumber { color: rgb(83,127,126); }
.cm-s-material .CodeMirror-cursor { border-left: 1px solid #f8f8f0; }
.cm-s-material div.CodeMirror-selected { background: rgba(255, 255, 255, 0.15); }
.cm-s-material.CodeMirror-focused div.CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }
.cm-s-material .CodeMirror-line::selection, .cm-s-material .CodeMirror-line > span::selection, .cm-s-material .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }
.cm-s-material .CodeMirror-line::-moz-selection, .cm-s-material .CodeMirror-line > span::-moz-selection, .cm-s-material .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }
.cm-s-material .CodeMirror-activeline-background { background: rgba(0, 0, 0, 0); }
.cm-s-material .cm-keyword { color: rgba(199, 146, 234, 1); }
.cm-s-material .cm-operator { color: rgba(233, 237, 237, 1); }
.cm-s-material .cm-variable-2 { color: #80CBC4; }
.cm-s-material .cm-variable-3 { color: #82B1FF; }
.cm-s-material .cm-builtin { color: #DECB6B; }
.cm-s-material .cm-atom { color: #F77669; }
.cm-s-material .cm-number { color: #F77669; }
.cm-s-material .cm-def { color: rgba(233, 237, 237, 1); }
.cm-s-material .cm-string { color: #C3E88D; }
.cm-s-material .cm-string-2 { color: #80CBC4; }
.cm-s-material .cm-comment { color: #546E7A; }
.cm-s-material .cm-variable { color: #82B1FF; }
.cm-s-material .cm-tag { color: #80CBC4; }
.cm-s-material .cm-meta { color: #80CBC4; }
.cm-s-material .cm-attribute { color: #FFCB6B; }
.cm-s-material .cm-property { color: #80CBAE; }
.cm-s-material .cm-qualifier { color: #DECB6B; }
.cm-s-material .cm-variable-3 { color: #DECB6B; }
.cm-s-material .cm-tag { color: rgba(255, 83, 112, 1); }
.cm-s-material .cm-error {
color: rgba(255, 255, 255, 1.0);
background-color: #EC5F67;
}
.cm-s-material .CodeMirror-matchingbracket {
text-decoration: underline;
color: white !important;
}

View File

@@ -4,34 +4,34 @@
/* Create your own: http://tmtheme-editor.herokuapp.com */ /* Create your own: http://tmtheme-editor.herokuapp.com */
/****************************************************************/ /****************************************************************/
.cm-s-mbo.CodeMirror {background: #2c2c2c; color: #ffffec;} .cm-s-mbo.CodeMirror { background: #2c2c2c; color: #ffffec; }
.cm-s-mbo div.CodeMirror-selected {background: #716C62 !important;} .cm-s-mbo div.CodeMirror-selected { background: #716C62; }
.cm-s-mbo.CodeMirror ::selection { background: rgba(113, 108, 98, .99); } .cm-s-mbo .CodeMirror-line::selection, .cm-s-mbo .CodeMirror-line > span::selection, .cm-s-mbo .CodeMirror-line > span > span::selection { background: rgba(113, 108, 98, .99); }
.cm-s-mbo.CodeMirror ::-moz-selection { background: rgba(113, 108, 98, .99); } .cm-s-mbo .CodeMirror-line::-moz-selection, .cm-s-mbo .CodeMirror-line > span::-moz-selection, .cm-s-mbo .CodeMirror-line > span > span::-moz-selection { background: rgba(113, 108, 98, .99); }
.cm-s-mbo .CodeMirror-gutters {background: #4e4e4e; border-right: 0px;} .cm-s-mbo .CodeMirror-gutters { background: #4e4e4e; border-right: 0px; }
.cm-s-mbo .CodeMirror-guttermarker { color: white; } .cm-s-mbo .CodeMirror-guttermarker { color: white; }
.cm-s-mbo .CodeMirror-guttermarker-subtle { color: grey; } .cm-s-mbo .CodeMirror-guttermarker-subtle { color: grey; }
.cm-s-mbo .CodeMirror-linenumber {color: #dadada;} .cm-s-mbo .CodeMirror-linenumber { color: #dadada; }
.cm-s-mbo .CodeMirror-cursor {border-left: 1px solid #ffffec !important;} .cm-s-mbo .CodeMirror-cursor { border-left: 1px solid #ffffec; }
.cm-s-mbo span.cm-comment {color: #95958a;} .cm-s-mbo span.cm-comment { color: #95958a; }
.cm-s-mbo span.cm-atom {color: #00a8c6;} .cm-s-mbo span.cm-atom { color: #00a8c6; }
.cm-s-mbo span.cm-number {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-property, .cm-s-mbo span.cm-attribute { color: #9ddfe9; }
.cm-s-mbo span.cm-keyword {color: #ffb928;} .cm-s-mbo span.cm-keyword { color: #ffb928; }
.cm-s-mbo span.cm-string {color: #ffcf6c;} .cm-s-mbo span.cm-string { color: #ffcf6c; }
.cm-s-mbo span.cm-string.cm-property {color: #ffffec;} .cm-s-mbo span.cm-string.cm-property { color: #ffffec; }
.cm-s-mbo span.cm-variable {color: #ffffec;} .cm-s-mbo span.cm-variable { color: #ffffec; }
.cm-s-mbo span.cm-variable-2 {color: #00a8c6;} .cm-s-mbo span.cm-variable-2 { color: #00a8c6; }
.cm-s-mbo span.cm-def {color: #ffffec;} .cm-s-mbo span.cm-def { color: #ffffec; }
.cm-s-mbo span.cm-bracket {color: #fffffc; font-weight: bold;} .cm-s-mbo span.cm-bracket { color: #fffffc; font-weight: bold; }
.cm-s-mbo span.cm-tag {color: #9ddfe9;} .cm-s-mbo span.cm-tag { color: #9ddfe9; }
.cm-s-mbo span.cm-link {color: #f54b07;} .cm-s-mbo span.cm-link { color: #f54b07; }
.cm-s-mbo span.cm-error {border-bottom: #636363; color: #ffffec;} .cm-s-mbo span.cm-error { border-bottom: #636363; color: #ffffec; }
.cm-s-mbo span.cm-qualifier {color: #ffffec;} .cm-s-mbo span.cm-qualifier { color: #ffffec; }
.cm-s-mbo .CodeMirror-activeline-background {background: #494b41 !important;} .cm-s-mbo .CodeMirror-activeline-background { background: #494b41; }
.cm-s-mbo .CodeMirror-matchingbracket {color: #222 !important;} .cm-s-mbo .CodeMirror-matchingbracket { color: #ffb928 !important; }
.cm-s-mbo .CodeMirror-matchingtag {background: rgba(255, 255, 255, .37);} .cm-s-mbo .CodeMirror-matchingtag { background: rgba(255, 255, 255, .37); }

View File

@@ -8,15 +8,15 @@
*/ */
.cm-s-mdn-like.CodeMirror { color: #999; background-color: #fff; } .cm-s-mdn-like.CodeMirror { color: #999; background-color: #fff; }
.cm-s-mdn-like .CodeMirror-selected { background: #cfc !important; } .cm-s-mdn-like div.CodeMirror-selected { background: #cfc; }
.cm-s-mdn-like.CodeMirror ::selection { background: #cfc; } .cm-s-mdn-like .CodeMirror-line::selection, .cm-s-mdn-like .CodeMirror-line > span::selection, .cm-s-mdn-like .CodeMirror-line > span > span::selection { background: #cfc; }
.cm-s-mdn-like.CodeMirror ::-moz-selection { background: #cfc; } .cm-s-mdn-like .CodeMirror-line::-moz-selection, .cm-s-mdn-like .CodeMirror-line > span::-moz-selection, .cm-s-mdn-like .CodeMirror-line > span > span::-moz-selection { background: #cfc; }
.cm-s-mdn-like .CodeMirror-gutters { background: #f8f8f8; border-left: 6px solid rgba(0,83,159,0.65); color: #333; } .cm-s-mdn-like .CodeMirror-gutters { background: #f8f8f8; border-left: 6px solid rgba(0,83,159,0.65); color: #333; }
.cm-s-mdn-like .CodeMirror-linenumber { color: #aaa; padding-left: 8px; } .cm-s-mdn-like .CodeMirror-linenumber { color: #aaa; padding-left: 8px; }
div.cm-s-mdn-like .CodeMirror-cursor { border-left: 2px solid #222; } .cm-s-mdn-like .CodeMirror-cursor { border-left: 2px solid #222; }
.cm-s-mdn-like .cm-keyword { color: #6262FF; } .cm-s-mdn-like .cm-keyword { color: #6262FF; }
.cm-s-mdn-like .cm-atom { color: #F90; } .cm-s-mdn-like .cm-atom { color: #F90; }
.cm-s-mdn-like .cm-number { color: #ca7841; } .cm-s-mdn-like .cm-number { color: #ca7841; }
.cm-s-mdn-like .cm-def { color: #8DA6CE; } .cm-s-mdn-like .cm-def { color: #8DA6CE; }
@@ -37,10 +37,10 @@ div.cm-s-mdn-like .CodeMirror-cursor { border-left: 2px solid #222; }
.cm-s-mdn-like .cm-attribute { color: #d6bb6d; } /*?*/ .cm-s-mdn-like .cm-attribute { color: #d6bb6d; } /*?*/
.cm-s-mdn-like .cm-header { color: #FF6400; } .cm-s-mdn-like .cm-header { color: #FF6400; }
.cm-s-mdn-like .cm-hr { color: #AEAEAE; } .cm-s-mdn-like .cm-hr { color: #AEAEAE; }
.cm-s-mdn-like .cm-link { color:#ad9361; font-style:italic; text-decoration:none; } .cm-s-mdn-like .cm-link { color:#ad9361; font-style:italic; text-decoration:none; }
.cm-s-mdn-like .cm-error { border-bottom: 1px solid red; } .cm-s-mdn-like .cm-error { border-bottom: 1px solid red; }
div.cm-s-mdn-like .CodeMirror-activeline-background {background: #efefff;} div.cm-s-mdn-like .CodeMirror-activeline-background { background: #efefff; }
div.cm-s-mdn-like span.CodeMirror-matchingbracket {outline:1px solid grey; color: inherit;} div.cm-s-mdn-like span.CodeMirror-matchingbracket { outline:1px solid grey; color: inherit; }
.cm-s-mdn-like.CodeMirror { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAAAyCAYAAAAp8UeFAAAHvklEQVR42s2b63bcNgyEQZCSHCdt2vd/0tWF7I+Q6XgMXiTtuvU5Pl57ZQKkKHzEAOtF5KeIJBGJ8uvL599FRFREZhFx8DeXv8trn68RuGaC8TRfo3SNp9dlDDHedyLyTUTeRWStXKPZrjtpZxaRw5hPqozRs1N8/enzIiQRWcCgy4MUA0f+XWliDhyL8Lfyvx7ei/Ae3iQFHyw7U/59pQVIMEEPEz0G7XiwdRjzSfC3UTtz9vchIntxvry5iMgfIhJoEflOz2CQr3F5h/HfeFe+GTdLaKcu9L8LTeQb/R/7GgbsfKedyNdoHsN31uRPWrfZ5wsj/NzzRQHuToIdU3ahwnsKPxXCjJITuOsi7XLc7SG/v5GdALs7wf8JjTFiB5+QvTEfRyGOfX3Lrx8wxyQi3sNq46O7QahQiCsRFgqddjBouVEHOKDgXAQHD9gJCr5sMKkEdjwsarG/ww3BMHBU7OBjXnzdyY7SfCxf5/z6ATccrwlKuwC/jhznnPF4CgVzhhVf4xp2EixcBActO75iZ8/fM9zAs2OMzKdslgXWJ9XG8PQoOAMA5fGcsvORgv0doBXyHrCwfLJAOwo71QLNkb8n2Pl6EWiR7OCibtkPaz4Kc/0NNAze2gju3zOwekALDaCFPI5vjPFmgGY5AZqyGEvH1x7QfIb8YtxMnA/b+QQ0aQDAwc6JMFg8CbQZ4qoYEEHbRwNojuK3EHwd7VALSgq+MNDKzfT58T8qdpADrgW0GmgcAS1lhzztJmkAzcPNOQbsWEALBDSlMKUG0Eq4CLAQWvEVQ9WU57gZJwZtgPO3r9oBTQ9WO8TjqXINx8R0EYpiZEUWOF3FxkbJkgU9B2f41YBrIj5ZfsQa0M5kTgiAAqM3ShXLgu8XMqcrQBvJ0CL5pnTsfMB13oB8athpAq2XOQmcGmoACCLydx7nToa23ATaSIY2ichfOdPTGxlasXMLaL0MLZAOwAKIM+y8CmicobGdCcbbK9DzN+yYGVoNNI5iUKTMyYOjPse4A8SM1MmcXgU0toOq1yO/v8FOxlASyc7TgeYaAMBJHcY1CcCwGI/TK4AmDbDyKYBBtFUkRwto8gygiQEaByFgJ00BH2M8JWwQS1nafDXQCidWyOI8AcjDCSjCLk8ngObuAm3JAHAdubAmOaK06V8MNEsKPJOhobSprwQa6gD7DclRQdqcwL4zxqgBrQcabUiBLclRDKAlWp+etPkBaNMA0AKlrHwTdEByZAA4GM+SNluSY6wAzcMNewxmgig5Ks0nkrSpBvSaQHMdKTBAnLojOdYyGpQ254602ZILPdTD1hdlggdIm74jbTp8vDwF5ZYUeLWGJpWsh6XNyXgcYwVoJQTEhhTYkxzZjiU5npU2TaB979TQehlaAVq4kaGpiPwwwLkYUuBbQwocyQTv1tA0+1UFWoJF3iv1oq+qoSk8EQdJmwHkziIF7oOZk14EGitibAdjLYYK78H5vZOhtWpoI0ATGHs0Q8OMb4Ey+2bU2UYztCtA0wFAs7TplGLRVQCcqaFdGSPCeTI1QNIC52iWNzof6Uib7xjEp07mNNoUYmVosVItHrHzRlLgBn9LFyRHaQCtVUMbtTNhoXWiTOO9k/V8BdAc1Oq0ArSQs6/5SU0hckNy9NnXqQY0PGYo5dWJ7nINaN6o958FWin27aBaWRka1r5myvLOAm0j30eBJqCxHLReVclxhxOEN2JfDWjxBtAC7MIH1fVaGdoOp4qJYDgKtKPSFNID2gSnGldrCqkFZ+5UeQXQBIRrSwocbdZYQT/2LwRahBPBXoHrB8nxaGROST62DKUbQOMMzZIC9abkuELfQzQALWTnDNAm8KHWFOJgJ5+SHIvTPcmx1xQyZRhNL5Qci689aXMEaN/uNIWkEwDAvFpOZmgsBaaGnbs1NPa1Jm32gBZAIh1pCtG7TSH4aE0y1uVY4uqoFPisGlpP2rSA5qTecWn5agK6BzSpgAyD+wFaqhnYoSZ1Vwr8CmlTQbrcO3ZaX0NAEyMbYaAlyquFoLKK3SPby9CeVUPThrSJmkCAE0CrKUQadi4DrdSlWhmah0YL9z9vClH59YGbHx1J8VZTyAjQepJjmXwAKTDQI3omc3p1U4gDUf6RfcdYfrUp5ClAi2J3Ba6UOXGo+K+bQrjjssitG2SJzshaLwMtXgRagUNpYYoVkMSBLM+9GGiJZMvduG6DRZ4qc04DMPtQQxOjEtACmhO7K1AbNbQDEggZyJwscFpAGwENhoBeUwh3bWolhe8BTYVKxQEWrSUn/uhcM5KhvUu/+eQu0Lzhi+VrK0PrZZNDQKs9cpYUuFYgMVpD4/NxenJTiMCNqdUEUf1qZWjppLT5qSkkUZbCwkbZMSuVnu80hfSkzRbQeqCZSAh6huR4VtoM2gHAlLf72smuWgE+VV7XpE25Ab2WFDgyhnSuKbs4GuGzCjR+tIoUuMFg3kgcWKLTwRqanJQ2W00hAsenfaApRC42hbCvK1SlE0HtE9BGgneJO+ELamitD1YjjOYnNYVcraGhtKkW0EqVVeDx733I2NH581k1NNxNLG0i0IJ8/NjVaOZ0tYZ2Vtr0Xv7tPV3hkWp9EFkgS/J0vosngTaSoaG06WHi+xObQkaAdlbanP8B2+2l0f90LmUAAAAASUVORK5CYII=); } .cm-s-mdn-like.CodeMirror { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAAAyCAYAAAAp8UeFAAAHvklEQVR42s2b63bcNgyEQZCSHCdt2vd/0tWF7I+Q6XgMXiTtuvU5Pl57ZQKkKHzEAOtF5KeIJBGJ8uvL599FRFREZhFx8DeXv8trn68RuGaC8TRfo3SNp9dlDDHedyLyTUTeRWStXKPZrjtpZxaRw5hPqozRs1N8/enzIiQRWcCgy4MUA0f+XWliDhyL8Lfyvx7ei/Ae3iQFHyw7U/59pQVIMEEPEz0G7XiwdRjzSfC3UTtz9vchIntxvry5iMgfIhJoEflOz2CQr3F5h/HfeFe+GTdLaKcu9L8LTeQb/R/7GgbsfKedyNdoHsN31uRPWrfZ5wsj/NzzRQHuToIdU3ahwnsKPxXCjJITuOsi7XLc7SG/v5GdALs7wf8JjTFiB5+QvTEfRyGOfX3Lrx8wxyQi3sNq46O7QahQiCsRFgqddjBouVEHOKDgXAQHD9gJCr5sMKkEdjwsarG/ww3BMHBU7OBjXnzdyY7SfCxf5/z6ATccrwlKuwC/jhznnPF4CgVzhhVf4xp2EixcBActO75iZ8/fM9zAs2OMzKdslgXWJ9XG8PQoOAMA5fGcsvORgv0doBXyHrCwfLJAOwo71QLNkb8n2Pl6EWiR7OCibtkPaz4Kc/0NNAze2gju3zOwekALDaCFPI5vjPFmgGY5AZqyGEvH1x7QfIb8YtxMnA/b+QQ0aQDAwc6JMFg8CbQZ4qoYEEHbRwNojuK3EHwd7VALSgq+MNDKzfT58T8qdpADrgW0GmgcAS1lhzztJmkAzcPNOQbsWEALBDSlMKUG0Eq4CLAQWvEVQ9WU57gZJwZtgPO3r9oBTQ9WO8TjqXINx8R0EYpiZEUWOF3FxkbJkgU9B2f41YBrIj5ZfsQa0M5kTgiAAqM3ShXLgu8XMqcrQBvJ0CL5pnTsfMB13oB8athpAq2XOQmcGmoACCLydx7nToa23ATaSIY2ichfOdPTGxlasXMLaL0MLZAOwAKIM+y8CmicobGdCcbbK9DzN+yYGVoNNI5iUKTMyYOjPse4A8SM1MmcXgU0toOq1yO/v8FOxlASyc7TgeYaAMBJHcY1CcCwGI/TK4AmDbDyKYBBtFUkRwto8gygiQEaByFgJ00BH2M8JWwQS1nafDXQCidWyOI8AcjDCSjCLk8ngObuAm3JAHAdubAmOaK06V8MNEsKPJOhobSprwQa6gD7DclRQdqcwL4zxqgBrQcabUiBLclRDKAlWp+etPkBaNMA0AKlrHwTdEByZAA4GM+SNluSY6wAzcMNewxmgig5Ks0nkrSpBvSaQHMdKTBAnLojOdYyGpQ254602ZILPdTD1hdlggdIm74jbTp8vDwF5ZYUeLWGJpWsh6XNyXgcYwVoJQTEhhTYkxzZjiU5npU2TaB979TQehlaAVq4kaGpiPwwwLkYUuBbQwocyQTv1tA0+1UFWoJF3iv1oq+qoSk8EQdJmwHkziIF7oOZk14EGitibAdjLYYK78H5vZOhtWpoI0ATGHs0Q8OMb4Ey+2bU2UYztCtA0wFAs7TplGLRVQCcqaFdGSPCeTI1QNIC52iWNzof6Uib7xjEp07mNNoUYmVosVItHrHzRlLgBn9LFyRHaQCtVUMbtTNhoXWiTOO9k/V8BdAc1Oq0ArSQs6/5SU0hckNy9NnXqQY0PGYo5dWJ7nINaN6o958FWin27aBaWRka1r5myvLOAm0j30eBJqCxHLReVclxhxOEN2JfDWjxBtAC7MIH1fVaGdoOp4qJYDgKtKPSFNID2gSnGldrCqkFZ+5UeQXQBIRrSwocbdZYQT/2LwRahBPBXoHrB8nxaGROST62DKUbQOMMzZIC9abkuELfQzQALWTnDNAm8KHWFOJgJ5+SHIvTPcmx1xQyZRhNL5Qci689aXMEaN/uNIWkEwDAvFpOZmgsBaaGnbs1NPa1Jm32gBZAIh1pCtG7TSH4aE0y1uVY4uqoFPisGlpP2rSA5qTecWn5agK6BzSpgAyD+wFaqhnYoSZ1Vwr8CmlTQbrcO3ZaX0NAEyMbYaAlyquFoLKK3SPby9CeVUPThrSJmkCAE0CrKUQadi4DrdSlWhmah0YL9z9vClH59YGbHx1J8VZTyAjQepJjmXwAKTDQI3omc3p1U4gDUf6RfcdYfrUp5ClAi2J3Ba6UOXGo+K+bQrjjssitG2SJzshaLwMtXgRagUNpYYoVkMSBLM+9GGiJZMvduG6DRZ4qc04DMPtQQxOjEtACmhO7K1AbNbQDEggZyJwscFpAGwENhoBeUwh3bWolhe8BTYVKxQEWrSUn/uhcM5KhvUu/+eQu0Lzhi+VrK0PrZZNDQKs9cpYUuFYgMVpD4/NxenJTiMCNqdUEUf1qZWjppLT5qSkkUZbCwkbZMSuVnu80hfSkzRbQeqCZSAh6huR4VtoM2gHAlLf72smuWgE+VV7XpE25Ab2WFDgyhnSuKbs4GuGzCjR+tIoUuMFg3kgcWKLTwRqanJQ2W00hAsenfaApRC42hbCvK1SlE0HtE9BGgneJO+ELamitD1YjjOYnNYVcraGhtKkW0EqVVeDx733I2NH581k1NNxNLG0i0IJ8/NjVaOZ0tYZ2Vtr0Xv7tPV3hkWp9EFkgS/J0vosngTaSoaG06WHi+xObQkaAdlbanP8B2+2l0f90LmUAAAAASUVORK5CYII=); }

View File

@@ -5,41 +5,39 @@
.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 .CodeMirror-activeline-background {background: #253540 !important;} .cm-s-midnight .CodeMirror-activeline-background { background: #253540; }
.cm-s-midnight.CodeMirror { .cm-s-midnight.CodeMirror {
background: #0F192A; background: #0F192A;
color: #D1EDFF; color: #D1EDFF;
} }
.cm-s-midnight.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;} .cm-s-midnight.CodeMirror { border-top: 1px solid black; border-bottom: 1px solid black; }
.cm-s-midnight div.CodeMirror-selected {background: #314D67 !important;} .cm-s-midnight div.CodeMirror-selected { background: #314D67; }
.cm-s-midnight.CodeMirror ::selection { background: rgba(49, 77, 103, .99); } .cm-s-midnight .CodeMirror-line::selection, .cm-s-midnight .CodeMirror-line > span::selection, .cm-s-midnight .CodeMirror-line > span > span::selection { background: rgba(49, 77, 103, .99); }
.cm-s-midnight.CodeMirror ::-moz-selection { background: rgba(49, 77, 103, .99); } .cm-s-midnight .CodeMirror-line::-moz-selection, .cm-s-midnight .CodeMirror-line > span::-moz-selection, .cm-s-midnight .CodeMirror-line > span > span::-moz-selection { background: rgba(49, 77, 103, .99); }
.cm-s-midnight .CodeMirror-gutters {background: #0F192A; border-right: 1px solid;} .cm-s-midnight .CodeMirror-gutters { background: #0F192A; border-right: 1px solid; }
.cm-s-midnight .CodeMirror-guttermarker { color: white; } .cm-s-midnight .CodeMirror-guttermarker { color: white; }
.cm-s-midnight .CodeMirror-guttermarker-subtle { color: #d0d0d0; } .cm-s-midnight .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
.cm-s-midnight .CodeMirror-linenumber {color: #D0D0D0;} .cm-s-midnight .CodeMirror-linenumber { color: #D0D0D0; }
.cm-s-midnight .CodeMirror-cursor { .cm-s-midnight .CodeMirror-cursor { border-left: 1px solid #F8F8F0; }
border-left: 1px solid #F8F8F0 !important;
}
.cm-s-midnight span.cm-comment {color: #428BDD;} .cm-s-midnight span.cm-comment { color: #428BDD; }
.cm-s-midnight span.cm-atom {color: #AE81FF;} .cm-s-midnight span.cm-atom { color: #AE81FF; }
.cm-s-midnight span.cm-number {color: #D1EDFF;} .cm-s-midnight span.cm-number { color: #D1EDFF; }
.cm-s-midnight span.cm-property, .cm-s-midnight span.cm-attribute {color: #A6E22E;} .cm-s-midnight span.cm-property, .cm-s-midnight span.cm-attribute { color: #A6E22E; }
.cm-s-midnight span.cm-keyword {color: #E83737;} .cm-s-midnight span.cm-keyword { color: #E83737; }
.cm-s-midnight span.cm-string {color: #1DC116;} .cm-s-midnight span.cm-string { color: #1DC116; }
.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-bracket {color: #D1EDFF;} .cm-s-midnight span.cm-bracket { color: #D1EDFF; }
.cm-s-midnight span.cm-tag {color: #449;} .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 span.cm-error { background: #F92672; color: #F8F8F0; }
.cm-s-midnight .CodeMirror-matchingbracket { .cm-s-midnight .CodeMirror-matchingbracket {
text-decoration: underline; text-decoration: underline;

View File

@@ -1,32 +1,35 @@
/* Based on Sublime Text's Monokai theme */ /* Based on Sublime Text's Monokai theme */
.cm-s-monokai.CodeMirror {background: #272822; color: #f8f8f2;} .cm-s-monokai.CodeMirror { background: #272822; color: #f8f8f2; }
.cm-s-monokai div.CodeMirror-selected {background: #49483E !important;} .cm-s-monokai div.CodeMirror-selected { background: #49483E; }
.cm-s-monokai.CodeMirror ::selection { background: rgba(73, 72, 62, .99); } .cm-s-monokai .CodeMirror-line::selection, .cm-s-monokai .CodeMirror-line > span::selection, .cm-s-monokai .CodeMirror-line > span > span::selection { background: rgba(73, 72, 62, .99); }
.cm-s-monokai.CodeMirror ::-moz-selection { background: rgba(73, 72, 62, .99); } .cm-s-monokai .CodeMirror-line::-moz-selection, .cm-s-monokai .CodeMirror-line > span::-moz-selection, .cm-s-monokai .CodeMirror-line > span > span::-moz-selection { background: rgba(73, 72, 62, .99); }
.cm-s-monokai .CodeMirror-gutters {background: #272822; border-right: 0px;} .cm-s-monokai .CodeMirror-gutters { background: #272822; border-right: 0px; }
.cm-s-monokai .CodeMirror-guttermarker { color: white; } .cm-s-monokai .CodeMirror-guttermarker { color: white; }
.cm-s-monokai .CodeMirror-guttermarker-subtle { color: #d0d0d0; } .cm-s-monokai .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
.cm-s-monokai .CodeMirror-linenumber {color: #d0d0d0;} .cm-s-monokai .CodeMirror-linenumber { color: #d0d0d0; }
.cm-s-monokai .CodeMirror-cursor {border-left: 1px solid #f8f8f0 !important;} .cm-s-monokai .CodeMirror-cursor { border-left: 1px solid #f8f8f0; }
.cm-s-monokai span.cm-comment {color: #75715e;} .cm-s-monokai span.cm-comment { color: #75715e; }
.cm-s-monokai span.cm-atom {color: #ae81ff;} .cm-s-monokai span.cm-atom { color: #ae81ff; }
.cm-s-monokai span.cm-number {color: #ae81ff;} .cm-s-monokai span.cm-number { color: #ae81ff; }
.cm-s-monokai span.cm-property, .cm-s-monokai span.cm-attribute {color: #a6e22e;} .cm-s-monokai span.cm-property, .cm-s-monokai span.cm-attribute { color: #a6e22e; }
.cm-s-monokai span.cm-keyword {color: #f92672;} .cm-s-monokai span.cm-keyword { color: #f92672; }
.cm-s-monokai span.cm-string {color: #e6db74;} .cm-s-monokai span.cm-builtin { color: #66d9ef; }
.cm-s-monokai span.cm-string { color: #e6db74; }
.cm-s-monokai span.cm-variable {color: #f8f8f2;} .cm-s-monokai span.cm-variable { color: #f8f8f2; }
.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-variable-3 { color: #66d9ef; }
.cm-s-monokai span.cm-bracket {color: #f8f8f2;} .cm-s-monokai span.cm-def { color: #fd971f; }
.cm-s-monokai span.cm-tag {color: #f92672;} .cm-s-monokai span.cm-bracket { color: #f8f8f2; }
.cm-s-monokai span.cm-link {color: #ae81ff;} .cm-s-monokai span.cm-tag { color: #f92672; }
.cm-s-monokai span.cm-error {background: #f92672; color: #f8f8f0;} .cm-s-monokai span.cm-header { color: #ae81ff; }
.cm-s-monokai span.cm-link { color: #ae81ff; }
.cm-s-monokai span.cm-error { background: #f92672; color: #f8f8f0; }
.cm-s-monokai .CodeMirror-activeline-background {background: #373831 !important;} .cm-s-monokai .CodeMirror-activeline-background { background: #373831; }
.cm-s-monokai .CodeMirror-matchingbracket { .cm-s-monokai .CodeMirror-matchingbracket {
text-decoration: underline; text-decoration: underline;
color: white !important; color: white !important;

View File

@@ -5,8 +5,8 @@
.cm-s-neat span.cm-special { line-height: 1em; font-weight: bold; color: #0aa; } .cm-s-neat span.cm-special { line-height: 1em; font-weight: bold; color: #0aa; }
.cm-s-neat span.cm-variable { color: black; } .cm-s-neat span.cm-variable { color: black; }
.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-activeline-background { background: #e8f2ff; }
.cm-s-neat .CodeMirror-matchingbracket {outline:1px solid grey; color:black !important;} .cm-s-neat .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; }

View File

@@ -7,12 +7,12 @@
color:#2e383c; color:#2e383c;
line-height:1.4375; line-height:1.4375;
} }
.cm-s-neo .cm-comment {color:#75787b} .cm-s-neo .cm-comment { color:#75787b; }
.cm-s-neo .cm-keyword, .cm-s-neo .cm-property {color:#1d75b3} .cm-s-neo .cm-keyword, .cm-s-neo .cm-property { color:#1d75b3; }
.cm-s-neo .cm-atom,.cm-s-neo .cm-number {color:#75438a} .cm-s-neo .cm-atom,.cm-s-neo .cm-number { color:#75438a; }
.cm-s-neo .cm-node,.cm-s-neo .cm-tag {color:#9c3328} .cm-s-neo .cm-node,.cm-s-neo .cm-tag { color:#9c3328; }
.cm-s-neo .cm-string {color:#b35e14} .cm-s-neo .cm-string { color:#b35e14; }
.cm-s-neo .cm-variable,.cm-s-neo .cm-qualifier {color:#047d65} .cm-s-neo .cm-variable,.cm-s-neo .cm-qualifier { color:#047d65; }
/* Editor styling */ /* Editor styling */
@@ -35,7 +35,7 @@
.cm-s-neo .CodeMirror-guttermarker { color: #1d75b3; } .cm-s-neo .CodeMirror-guttermarker { color: #1d75b3; }
.cm-s-neo .CodeMirror-guttermarker-subtle { color: #e0e2e5; } .cm-s-neo .CodeMirror-guttermarker-subtle { color: #e0e2e5; }
.cm-s-neo div.CodeMirror-cursor { .cm-s-neo .CodeMirror-cursor {
width: auto; width: auto;
border: 0; border: 0;
background: rgba(155,157,162,0.37); background: rgba(155,157,162,0.37);

View File

@@ -1,16 +1,16 @@
/* Loosely based on the Midnight Textmate theme */ /* Loosely based on the Midnight Textmate theme */
.cm-s-night.CodeMirror { background: #0a001f; color: #f8f8f8; } .cm-s-night.CodeMirror { background: #0a001f; color: #f8f8f8; }
.cm-s-night div.CodeMirror-selected { background: #447 !important; } .cm-s-night div.CodeMirror-selected { background: #447; }
.cm-s-night.CodeMirror ::selection { background: rgba(68, 68, 119, .99); } .cm-s-night .CodeMirror-line::selection, .cm-s-night .CodeMirror-line > span::selection, .cm-s-night .CodeMirror-line > span > span::selection { background: rgba(68, 68, 119, .99); }
.cm-s-night.CodeMirror ::-moz-selection { background: rgba(68, 68, 119, .99); } .cm-s-night .CodeMirror-line::-moz-selection, .cm-s-night .CodeMirror-line > span::-moz-selection, .cm-s-night .CodeMirror-line > span > span::-moz-selection { background: rgba(68, 68, 119, .99); }
.cm-s-night .CodeMirror-gutters { background: #0a001f; border-right: 1px solid #aaa; } .cm-s-night .CodeMirror-gutters { background: #0a001f; border-right: 1px solid #aaa; }
.cm-s-night .CodeMirror-guttermarker { color: white; } .cm-s-night .CodeMirror-guttermarker { color: white; }
.cm-s-night .CodeMirror-guttermarker-subtle { color: #bbb; } .cm-s-night .CodeMirror-guttermarker-subtle { color: #bbb; }
.cm-s-night .CodeMirror-linenumber { color: #f8f8f8; } .cm-s-night .CodeMirror-linenumber { color: #f8f8f8; }
.cm-s-night .CodeMirror-cursor { border-left: 1px solid white !important; } .cm-s-night .CodeMirror-cursor { border-left: 1px solid white; }
.cm-s-night span.cm-comment { color: #6900a1; } .cm-s-night span.cm-comment { color: #8900d1; }
.cm-s-night span.cm-atom { color: #845dc4; } .cm-s-night span.cm-atom { color: #845dc4; }
.cm-s-night span.cm-number, .cm-s-night span.cm-attribute { color: #ffd500; } .cm-s-night span.cm-number, .cm-s-night span.cm-attribute { color: #ffd500; }
.cm-s-night span.cm-keyword { color: #599eff; } .cm-s-night span.cm-keyword { color: #599eff; }
@@ -19,10 +19,9 @@
.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-bracket { color: #8da6ce; } .cm-s-night span.cm-bracket { color: #8da6ce; }
.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 span.cm-error { color: #9d1e15; }
.cm-s-night .CodeMirror-activeline-background {background: #1C005A !important;} .cm-s-night .CodeMirror-activeline-background { background: #1C005A; }
.cm-s-night .CodeMirror-matchingbracket {outline:1px solid grey; color:white !important;} .cm-s-night .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; }

85
CodeMirror/theme/panda-syntax.css vendored Normal file
View File

@@ -0,0 +1,85 @@
/*
Name: Panda Syntax
Author: Siamak Mokhtari (http://github.com/siamak/)
CodeMirror template by Siamak Mokhtari (https://github.com/siamak/atom-panda-syntax)
*/
.cm-s-panda-syntax {
background: #292A2B;
color: #E6E6E6;
line-height: 1.5;
font-family: 'Operator Mono', 'Source Sans Pro', Menlo, Monaco, Consolas, Courier New, monospace;
}
.cm-s-panda-syntax .CodeMirror-cursor { border-color: #ff2c6d; }
.cm-s-panda-syntax .CodeMirror-activeline-background {
background: rgba(99, 123, 156, 0.1);
}
.cm-s-panda-syntax .CodeMirror-selected {
background: #FFF;
}
.cm-s-panda-syntax .cm-comment {
font-style: italic;
color: #676B79;
}
.cm-s-panda-syntax .cm-operator {
color: #f3f3f3;
}
.cm-s-panda-syntax .cm-string {
color: #19F9D8;
}
.cm-s-panda-syntax .cm-string-2 {
color: #FFB86C;
}
.cm-s-panda-syntax .cm-tag {
color: #ff2c6d;
}
.cm-s-panda-syntax .cm-meta {
color: #b084eb;
}
.cm-s-panda-syntax .cm-number {
color: #FFB86C;
}
.cm-s-panda-syntax .cm-atom {
color: #ff2c6d;
}
.cm-s-panda-syntax .cm-keyword {
color: #FF75B5;
}
.cm-s-panda-syntax .cm-variable {
color: #ffb86c;
}
.cm-s-panda-syntax .cm-variable-2 {
color: #ff9ac1;
}
.cm-s-panda-syntax .cm-variable-3 {
color: #ff9ac1;
}
.cm-s-panda-syntax .cm-def {
color: #e6e6e6;
}
.cm-s-panda-syntax .cm-property {
color: #f3f3f3;
}
.cm-s-panda-syntax .cm-unit {
color: #ffb86c;
}
.cm-s-panda-syntax .cm-attribute {
color: #ffb86c;
}
.cm-s-panda-syntax .CodeMirror-matchingbracket {
border-bottom: 1px dotted #19F9D8;
padding-bottom: 2px;
color: #e6e6e6;
}
.cm-s-panda-syntax .CodeMirror-gutters {
background: #292a2b;
border-right-color: rgba(255, 255, 255, 0.1);
}
.cm-s-panda-syntax .CodeMirror-linenumber {
color: #e6e6e6;
opacity: 0.6;
}

View File

@@ -8,31 +8,31 @@
*/ */
.cm-s-paraiso-dark.CodeMirror {background: #2f1e2e; color: #b9b6b0;} .cm-s-paraiso-dark.CodeMirror { background: #2f1e2e; color: #b9b6b0; }
.cm-s-paraiso-dark div.CodeMirror-selected {background: #41323f !important;} .cm-s-paraiso-dark div.CodeMirror-selected { background: #41323f; }
.cm-s-paraiso-dark.CodeMirror ::selection { background: rgba(65, 50, 63, .99); } .cm-s-paraiso-dark .CodeMirror-line::selection, .cm-s-paraiso-dark .CodeMirror-line > span::selection, .cm-s-paraiso-dark .CodeMirror-line > span > span::selection { background: rgba(65, 50, 63, .99); }
.cm-s-paraiso-dark.CodeMirror ::-moz-selection { background: rgba(65, 50, 63, .99); } .cm-s-paraiso-dark .CodeMirror-line::-moz-selection, .cm-s-paraiso-dark .CodeMirror-line > span::-moz-selection, .cm-s-paraiso-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(65, 50, 63, .99); }
.cm-s-paraiso-dark .CodeMirror-gutters {background: #2f1e2e; border-right: 0px;} .cm-s-paraiso-dark .CodeMirror-gutters { background: #2f1e2e; border-right: 0px; }
.cm-s-paraiso-dark .CodeMirror-guttermarker { color: #ef6155; } .cm-s-paraiso-dark .CodeMirror-guttermarker { color: #ef6155; }
.cm-s-paraiso-dark .CodeMirror-guttermarker-subtle { color: #776e71; } .cm-s-paraiso-dark .CodeMirror-guttermarker-subtle { color: #776e71; }
.cm-s-paraiso-dark .CodeMirror-linenumber {color: #776e71;} .cm-s-paraiso-dark .CodeMirror-linenumber { color: #776e71; }
.cm-s-paraiso-dark .CodeMirror-cursor {border-left: 1px solid #8d8687 !important;} .cm-s-paraiso-dark .CodeMirror-cursor { border-left: 1px solid #8d8687; }
.cm-s-paraiso-dark span.cm-comment {color: #e96ba8;} .cm-s-paraiso-dark span.cm-comment { color: #e96ba8; }
.cm-s-paraiso-dark span.cm-atom {color: #815ba4;} .cm-s-paraiso-dark span.cm-atom { color: #815ba4; }
.cm-s-paraiso-dark span.cm-number {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-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-keyword { color: #ef6155; }
.cm-s-paraiso-dark span.cm-string {color: #fec418;} .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 { color: #48b685; }
.cm-s-paraiso-dark span.cm-variable-2 {color: #06b6ef;} .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-def { color: #f99b15; }
.cm-s-paraiso-dark span.cm-bracket {color: #b9b6b0;} .cm-s-paraiso-dark span.cm-bracket { color: #b9b6b0; }
.cm-s-paraiso-dark span.cm-tag {color: #ef6155;} .cm-s-paraiso-dark span.cm-tag { color: #ef6155; }
.cm-s-paraiso-dark span.cm-link {color: #815ba4;} .cm-s-paraiso-dark span.cm-link { color: #815ba4; }
.cm-s-paraiso-dark span.cm-error {background: #ef6155; color: #8d8687;} .cm-s-paraiso-dark span.cm-error { background: #ef6155; color: #8d8687; }
.cm-s-paraiso-dark .CodeMirror-activeline-background {background: #4D344A !important;} .cm-s-paraiso-dark .CodeMirror-activeline-background { background: #4D344A; }
.cm-s-paraiso-dark .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;} .cm-s-paraiso-dark .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }

View File

@@ -8,31 +8,31 @@
*/ */
.cm-s-paraiso-light.CodeMirror {background: #e7e9db; color: #41323f;} .cm-s-paraiso-light.CodeMirror { background: #e7e9db; color: #41323f; }
.cm-s-paraiso-light div.CodeMirror-selected {background: #b9b6b0 !important;} .cm-s-paraiso-light div.CodeMirror-selected { background: #b9b6b0; }
.cm-s-paraiso-light.CodeMirror ::selection { background: #b9b6b0; } .cm-s-paraiso-light .CodeMirror-line::selection, .cm-s-paraiso-light .CodeMirror-line > span::selection, .cm-s-paraiso-light .CodeMirror-line > span > span::selection { background: #b9b6b0; }
.cm-s-paraiso-light.CodeMirror ::-moz-selection { background: #b9b6b0; } .cm-s-paraiso-light .CodeMirror-line::-moz-selection, .cm-s-paraiso-light .CodeMirror-line > span::-moz-selection, .cm-s-paraiso-light .CodeMirror-line > span > span::-moz-selection { background: #b9b6b0; }
.cm-s-paraiso-light .CodeMirror-gutters {background: #e7e9db; border-right: 0px;} .cm-s-paraiso-light .CodeMirror-gutters { background: #e7e9db; border-right: 0px; }
.cm-s-paraiso-light .CodeMirror-guttermarker { color: black; } .cm-s-paraiso-light .CodeMirror-guttermarker { color: black; }
.cm-s-paraiso-light .CodeMirror-guttermarker-subtle { color: #8d8687; } .cm-s-paraiso-light .CodeMirror-guttermarker-subtle { color: #8d8687; }
.cm-s-paraiso-light .CodeMirror-linenumber {color: #8d8687;} .cm-s-paraiso-light .CodeMirror-linenumber { color: #8d8687; }
.cm-s-paraiso-light .CodeMirror-cursor {border-left: 1px solid #776e71 !important;} .cm-s-paraiso-light .CodeMirror-cursor { border-left: 1px solid #776e71; }
.cm-s-paraiso-light span.cm-comment {color: #e96ba8;} .cm-s-paraiso-light span.cm-comment { color: #e96ba8; }
.cm-s-paraiso-light span.cm-atom {color: #815ba4;} .cm-s-paraiso-light span.cm-atom { color: #815ba4; }
.cm-s-paraiso-light span.cm-number {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-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-keyword { color: #ef6155; }
.cm-s-paraiso-light span.cm-string {color: #fec418;} .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 { color: #48b685; }
.cm-s-paraiso-light span.cm-variable-2 {color: #06b6ef;} .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-def { color: #f99b15; }
.cm-s-paraiso-light span.cm-bracket {color: #41323f;} .cm-s-paraiso-light span.cm-bracket { color: #41323f; }
.cm-s-paraiso-light span.cm-tag {color: #ef6155;} .cm-s-paraiso-light span.cm-tag { color: #ef6155; }
.cm-s-paraiso-light span.cm-link {color: #815ba4;} .cm-s-paraiso-light span.cm-link { color: #815ba4; }
.cm-s-paraiso-light span.cm-error {background: #ef6155; color: #776e71;} .cm-s-paraiso-light span.cm-error { background: #ef6155; color: #776e71; }
.cm-s-paraiso-light .CodeMirror-activeline-background {background: #CFD1C4 !important;} .cm-s-paraiso-light .CodeMirror-activeline-background { background: #CFD1C4; }
.cm-s-paraiso-light .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;} .cm-s-paraiso-light .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }

View File

@@ -11,11 +11,10 @@
background: #2c2827; background: #2c2827;
color: #8F938F; color: #8F938F;
line-height: 1.5; line-height: 1.5;
font-size: 14px;
} }
.cm-s-pastel-on-dark div.CodeMirror-selected { background: rgba(221,240,255,0.2) !important; } .cm-s-pastel-on-dark div.CodeMirror-selected { background: rgba(221,240,255,0.2); }
.cm-s-pastel-on-dark.CodeMirror ::selection { background: rgba(221,240,255,0.2); } .cm-s-pastel-on-dark .CodeMirror-line::selection, .cm-s-pastel-on-dark .CodeMirror-line > span::selection, .cm-s-pastel-on-dark .CodeMirror-line > span > span::selection { background: rgba(221,240,255,0.2); }
.cm-s-pastel-on-dark.CodeMirror ::-moz-selection { background: rgba(221,240,255,0.2); } .cm-s-pastel-on-dark .CodeMirror-line::-moz-selection, .cm-s-pastel-on-dark .CodeMirror-line > span::-moz-selection, .cm-s-pastel-on-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(221,240,255,0.2); }
.cm-s-pastel-on-dark .CodeMirror-gutters { .cm-s-pastel-on-dark .CodeMirror-gutters {
background: #34302f; background: #34302f;
@@ -25,7 +24,7 @@
.cm-s-pastel-on-dark .CodeMirror-guttermarker { color: white; } .cm-s-pastel-on-dark .CodeMirror-guttermarker { color: white; }
.cm-s-pastel-on-dark .CodeMirror-guttermarker-subtle { color: #8F938F; } .cm-s-pastel-on-dark .CodeMirror-guttermarker-subtle { color: #8F938F; }
.cm-s-pastel-on-dark .CodeMirror-linenumber { color: #8F938F; } .cm-s-pastel-on-dark .CodeMirror-linenumber { color: #8F938F; }
.cm-s-pastel-on-dark .CodeMirror-cursor { border-left: 1px solid #A7A7A7 !important; } .cm-s-pastel-on-dark .CodeMirror-cursor { border-left: 1px solid #A7A7A7; }
.cm-s-pastel-on-dark span.cm-comment { color: #A6C6FF; } .cm-s-pastel-on-dark span.cm-comment { color: #A6C6FF; }
.cm-s-pastel-on-dark span.cm-atom { color: #DE8E30; } .cm-s-pastel-on-dark span.cm-atom { color: #DE8E30; }
.cm-s-pastel-on-dark span.cm-number { color: #CCCCCC; } .cm-s-pastel-on-dark span.cm-number { color: #CCCCCC; }
@@ -45,7 +44,7 @@
background: #757aD8; background: #757aD8;
color: #f8f8f0; color: #f8f8f0;
} }
.cm-s-pastel-on-dark .CodeMirror-activeline-background { background: rgba(255, 255, 255, 0.031) !important; } .cm-s-pastel-on-dark .CodeMirror-activeline-background { background: rgba(255, 255, 255, 0.031); }
.cm-s-pastel-on-dark .CodeMirror-matchingbracket { .cm-s-pastel-on-dark .CodeMirror-matchingbracket {
border: 1px solid rgba(255,255,255,0.25); border: 1px solid rgba(255,255,255,0.25);
color: #8F938F !important; color: #8F938F !important;

34
CodeMirror/theme/railscasts.css vendored Normal file
View File

@@ -0,0 +1,34 @@
/*
Name: Railscasts
Author: Ryan Bates (http://railscasts.com)
CodeMirror template by Jan T. Sott (https://github.com/idleberg/base16-codemirror)
Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16)
*/
.cm-s-railscasts.CodeMirror {background: #2b2b2b; color: #f4f1ed;}
.cm-s-railscasts div.CodeMirror-selected {background: #272935 !important;}
.cm-s-railscasts .CodeMirror-gutters {background: #2b2b2b; border-right: 0px;}
.cm-s-railscasts .CodeMirror-linenumber {color: #5a647e;}
.cm-s-railscasts .CodeMirror-cursor {border-left: 1px solid #d4cfc9 !important;}
.cm-s-railscasts span.cm-comment {color: #bc9458;}
.cm-s-railscasts span.cm-atom {color: #b6b3eb;}
.cm-s-railscasts span.cm-number {color: #b6b3eb;}
.cm-s-railscasts span.cm-property, .cm-s-railscasts span.cm-attribute {color: #a5c261;}
.cm-s-railscasts span.cm-keyword {color: #da4939;}
.cm-s-railscasts span.cm-string {color: #ffc66d;}
.cm-s-railscasts span.cm-variable {color: #a5c261;}
.cm-s-railscasts span.cm-variable-2 {color: #6d9cbe;}
.cm-s-railscasts span.cm-def {color: #cc7833;}
.cm-s-railscasts span.cm-error {background: #da4939; color: #d4cfc9;}
.cm-s-railscasts span.cm-bracket {color: #f4f1ed;}
.cm-s-railscasts span.cm-tag {color: #da4939;}
.cm-s-railscasts span.cm-link {color: #b6b3eb;}
.cm-s-railscasts .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;}
.cm-s-railscasts .CodeMirror-activeline-background { background: #303040; }

View File

@@ -1,12 +1,12 @@
.cm-s-rubyblue.CodeMirror { background: #112435; color: white; } .cm-s-rubyblue.CodeMirror { background: #112435; color: white; }
.cm-s-rubyblue div.CodeMirror-selected { background: #38566F !important; } .cm-s-rubyblue div.CodeMirror-selected { background: #38566F; }
.cm-s-rubyblue.CodeMirror ::selection { background: rgba(56, 86, 111, 0.99); } .cm-s-rubyblue .CodeMirror-line::selection, .cm-s-rubyblue .CodeMirror-line > span::selection, .cm-s-rubyblue .CodeMirror-line > span > span::selection { background: rgba(56, 86, 111, 0.99); }
.cm-s-rubyblue.CodeMirror ::-moz-selection { background: rgba(56, 86, 111, 0.99); } .cm-s-rubyblue .CodeMirror-line::-moz-selection, .cm-s-rubyblue .CodeMirror-line > span::-moz-selection, .cm-s-rubyblue .CodeMirror-line > span > span::-moz-selection { background: rgba(56, 86, 111, 0.99); }
.cm-s-rubyblue .CodeMirror-gutters { background: #1F4661; border-right: 7px solid #3E7087; } .cm-s-rubyblue .CodeMirror-gutters { background: #1F4661; border-right: 7px solid #3E7087; }
.cm-s-rubyblue .CodeMirror-guttermarker { color: white; } .cm-s-rubyblue .CodeMirror-guttermarker { color: white; }
.cm-s-rubyblue .CodeMirror-guttermarker-subtle { color: #3E7087; } .cm-s-rubyblue .CodeMirror-guttermarker-subtle { color: #3E7087; }
.cm-s-rubyblue .CodeMirror-linenumber { color: white; } .cm-s-rubyblue .CodeMirror-linenumber { color: white; }
.cm-s-rubyblue .CodeMirror-cursor { border-left: 1px solid white !important; } .cm-s-rubyblue .CodeMirror-cursor { border-left: 1px solid white; }
.cm-s-rubyblue span.cm-comment { color: #999; font-style:italic; line-height: 1em; } .cm-s-rubyblue span.cm-comment { color: #999; font-style:italic; line-height: 1em; }
.cm-s-rubyblue span.cm-atom { color: #F4C20B; } .cm-s-rubyblue span.cm-atom { color: #F4C20B; }
@@ -22,4 +22,4 @@
.cm-s-rubyblue span.cm-builtin, .cm-s-rubyblue span.cm-special { color: #FF9D00; } .cm-s-rubyblue span.cm-builtin, .cm-s-rubyblue span.cm-special { color: #FF9D00; }
.cm-s-rubyblue span.cm-error { color: #AF2018; } .cm-s-rubyblue span.cm-error { color: #AF2018; }
.cm-s-rubyblue .CodeMirror-activeline-background {background: #173047 !important;} .cm-s-rubyblue .CodeMirror-activeline-background { background: #173047; }

44
CodeMirror/theme/seti.css vendored Normal file
View File

@@ -0,0 +1,44 @@
/*
Name: seti
Author: Michael Kaminsky (http://github.com/mkaminsky11)
Original seti color scheme by Jesse Weed (https://github.com/jesseweed/seti-syntax)
*/
.cm-s-seti.CodeMirror {
background-color: #151718 !important;
color: #CFD2D1 !important;
border: none;
}
.cm-s-seti .CodeMirror-gutters {
color: #404b53;
background-color: #0E1112;
border: none;
}
.cm-s-seti .CodeMirror-cursor { border-left: solid thin #f8f8f0; }
.cm-s-seti .CodeMirror-linenumber { color: #6D8A88; }
.cm-s-seti.CodeMirror-focused div.CodeMirror-selected { background: rgba(255, 255, 255, 0.10); }
.cm-s-seti .CodeMirror-line::selection, .cm-s-seti .CodeMirror-line > span::selection, .cm-s-seti .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); }
.cm-s-seti .CodeMirror-line::-moz-selection, .cm-s-seti .CodeMirror-line > span::-moz-selection, .cm-s-seti .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); }
.cm-s-seti span.cm-comment { color: #41535b; }
.cm-s-seti span.cm-string, .cm-s-seti span.cm-string-2 { color: #55b5db; }
.cm-s-seti span.cm-number { color: #cd3f45; }
.cm-s-seti span.cm-variable { color: #55b5db; }
.cm-s-seti span.cm-variable-2 { color: #a074c4; }
.cm-s-seti span.cm-def { color: #55b5db; }
.cm-s-seti span.cm-keyword { color: #ff79c6; }
.cm-s-seti span.cm-operator { color: #9fca56; }
.cm-s-seti span.cm-keyword { color: #e6cd69; }
.cm-s-seti span.cm-atom { color: #cd3f45; }
.cm-s-seti span.cm-meta { color: #55b5db; }
.cm-s-seti span.cm-tag { color: #55b5db; }
.cm-s-seti span.cm-attribute { color: #9fca56; }
.cm-s-seti span.cm-qualifier { color: #9fca56; }
.cm-s-seti span.cm-property { color: #a074c4; }
.cm-s-seti span.cm-variable-3 { color: #9fca56; }
.cm-s-seti span.cm-builtin { color: #9fca56; }
.cm-s-seti .CodeMirror-activeline-background { background: #101213; }
.cm-s-seti .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }

View File

@@ -4,7 +4,7 @@ http://ethanschoonover.com/solarized
*/ */
/* /*
Solarized color pallet Solarized color palette
http://ethanschoonover.com/solarized/img/solarized-palette.png http://ethanschoonover.com/solarized/img/solarized-palette.png
*/ */
@@ -34,7 +34,7 @@ http://ethanschoonover.com/solarized/img/solarized-palette.png
} }
.cm-s-solarized.cm-s-dark { .cm-s-solarized.cm-s-dark {
color: #839496; color: #839496;
background-color: #002b36; background-color: #002b36;
text-shadow: #002b36 0 1px; text-shadow: #002b36 0 1px;
} }
.cm-s-solarized.cm-s-light { .cm-s-solarized.cm-s-light {
@@ -47,8 +47,10 @@ http://ethanschoonover.com/solarized/img/solarized-palette.png
text-shadow: none; text-shadow: none;
} }
.cm-s-solarized .cm-header { color: #586e75; }
.cm-s-solarized .cm-quote { color: #93a1a1; }
.cm-s-solarized .cm-keyword { color: #cb4b16 } .cm-s-solarized .cm-keyword { color: #cb4b16; }
.cm-s-solarized .cm-atom { color: #d33682; } .cm-s-solarized .cm-atom { color: #d33682; }
.cm-s-solarized .cm-number { color: #d33682; } .cm-s-solarized .cm-number { color: #d33682; }
.cm-s-solarized .cm-def { color: #2aa198; } .cm-s-solarized .cm-def { color: #2aa198; }
@@ -58,7 +60,7 @@ http://ethanschoonover.com/solarized/img/solarized-palette.png
.cm-s-solarized .cm-variable-3 { color: #6c71c4; } .cm-s-solarized .cm-variable-3 { color: #6c71c4; }
.cm-s-solarized .cm-property { color: #2aa198; } .cm-s-solarized .cm-property { color: #2aa198; }
.cm-s-solarized .cm-operator {color: #6c71c4;} .cm-s-solarized .cm-operator { color: #6c71c4; }
.cm-s-solarized .cm-comment { color: #586e75; font-style:italic; } .cm-s-solarized .cm-comment { color: #586e75; font-style:italic; }
@@ -71,10 +73,8 @@ http://ethanschoonover.com/solarized/img/solarized-palette.png
.cm-s-solarized .cm-bracket { color: #cb4b16; } .cm-s-solarized .cm-bracket { color: #cb4b16; }
.cm-s-solarized .CodeMirror-matchingbracket { color: #859900; } .cm-s-solarized .CodeMirror-matchingbracket { color: #859900; }
.cm-s-solarized .CodeMirror-nonmatchingbracket { color: #dc322f; } .cm-s-solarized .CodeMirror-nonmatchingbracket { color: #dc322f; }
.cm-s-solarized .cm-tag { color: #93a1a1 } .cm-s-solarized .cm-tag { color: #93a1a1; }
.cm-s-solarized .cm-attribute { color: #2aa198; } .cm-s-solarized .cm-attribute { color: #2aa198; }
.cm-s-solarized .cm-header { color: #586e75; }
.cm-s-solarized .cm-quote { color: #93a1a1; }
.cm-s-solarized .cm-hr { .cm-s-solarized .cm-hr {
color: transparent; color: transparent;
border-top: 1px solid #586e75; border-top: 1px solid #586e75;
@@ -94,13 +94,13 @@ http://ethanschoonover.com/solarized/img/solarized-palette.png
border-bottom: 1px dotted #dc322f; border-bottom: 1px dotted #dc322f;
} }
.cm-s-solarized.cm-s-dark .CodeMirror-selected { background: #073642; } .cm-s-solarized.cm-s-dark div.CodeMirror-selected { background: #073642; }
.cm-s-solarized.cm-s-dark.CodeMirror ::selection { background: rgba(7, 54, 66, 0.99); } .cm-s-solarized.cm-s-dark.CodeMirror ::selection { background: rgba(7, 54, 66, 0.99); }
.cm-s-solarized.cm-s-dark.CodeMirror ::-moz-selection { background: rgba(7, 54, 66, 0.99); } .cm-s-solarized.cm-s-dark .CodeMirror-line::-moz-selection, .cm-s-dark .CodeMirror-line > span::-moz-selection, .cm-s-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(7, 54, 66, 0.99); }
.cm-s-solarized.cm-s-light .CodeMirror-selected { background: #eee8d5; } .cm-s-solarized.cm-s-light div.CodeMirror-selected { background: #eee8d5; }
.cm-s-solarized.cm-s-light.CodeMirror ::selection { background: #eee8d5; } .cm-s-solarized.cm-s-light .CodeMirror-line::selection, .cm-s-light .CodeMirror-line > span::selection, .cm-s-light .CodeMirror-line > span > span::selection { background: #eee8d5; }
.cm-s-solarized.cm-s-lightCodeMirror ::-moz-selection { background: #eee8d5; } .cm-s-solarized.cm-s-light .CodeMirror-line::-moz-selection, .cm-s-ligh .CodeMirror-line > span::-moz-selection, .cm-s-ligh .CodeMirror-line > span > span::-moz-selection { background: #eee8d5; }
/* Editor styling */ /* Editor styling */
@@ -113,32 +113,34 @@ http://ethanschoonover.com/solarized/img/solarized-palette.png
box-shadow: inset 7px 0 12px -6px #000; box-shadow: inset 7px 0 12px -6px #000;
} }
/* Gutter border and some shadow from it */ /* Remove gutter border */
.cm-s-solarized .CodeMirror-gutters { .cm-s-solarized .CodeMirror-gutters {
border-right: 1px solid; border-right: 0;
} }
/* Gutter colors and line number styling based of color scheme (dark / light) */ /* Gutter colors and line number styling based of color scheme (dark / light) */
/* Dark */ /* Dark */
.cm-s-solarized.cm-s-dark .CodeMirror-gutters { .cm-s-solarized.cm-s-dark .CodeMirror-gutters {
background-color: #002b36; background-color: #073642;
border-color: #00232c;
} }
.cm-s-solarized.cm-s-dark .CodeMirror-linenumber { .cm-s-solarized.cm-s-dark .CodeMirror-linenumber {
color: #586e75;
text-shadow: #021014 0 -1px; text-shadow: #021014 0 -1px;
} }
/* Light */ /* Light */
.cm-s-solarized.cm-s-light .CodeMirror-gutters { .cm-s-solarized.cm-s-light .CodeMirror-gutters {
background-color: #fdf6e3; background-color: #eee8d5;
border-color: #eee8d5; }
.cm-s-solarized.cm-s-light .CodeMirror-linenumber {
color: #839496;
} }
/* Common */ /* Common */
.cm-s-solarized .CodeMirror-linenumber { .cm-s-solarized .CodeMirror-linenumber {
color: #586e75;
padding: 0 5px; padding: 0 5px;
} }
.cm-s-solarized .CodeMirror-guttermarker-subtle { color: #586e75; } .cm-s-solarized .CodeMirror-guttermarker-subtle { color: #586e75; }
@@ -149,17 +151,19 @@ http://ethanschoonover.com/solarized/img/solarized-palette.png
color: #586e75; color: #586e75;
} }
.cm-s-solarized .CodeMirror-lines .CodeMirror-cursor { /* Cursor */
border-left: 1px solid #819090; .cm-s-solarized .CodeMirror-cursor { border-left: 1px solid #819090; }
}
/* /* Fat cursor */
Active line. Negative margin compensates left padding of the text in the .cm-s-solarized.cm-s-light.cm-fat-cursor .CodeMirror-cursor { background: #77ee77; }
view-port .cm-s-solarized.cm-s-light .cm-animate-fat-cursor { background-color: #77ee77; }
*/ .cm-s-solarized.cm-s-dark.cm-fat-cursor .CodeMirror-cursor { background: #586e75; }
.cm-s-solarized.cm-s-dark .cm-animate-fat-cursor { background-color: #586e75; }
/* Active line */
.cm-s-solarized.cm-s-dark .CodeMirror-activeline-background { .cm-s-solarized.cm-s-dark .CodeMirror-activeline-background {
background: rgba(255, 255, 255, 0.10); background: rgba(255, 255, 255, 0.06);
} }
.cm-s-solarized.cm-s-light .CodeMirror-activeline-background { .cm-s-solarized.cm-s-light .CodeMirror-activeline-background {
background: rgba(0, 0, 0, 0.10); background: rgba(0, 0, 0, 0.06);
} }

View File

@@ -1,30 +1,30 @@
.cm-s-the-matrix.CodeMirror { background: #000000; color: #00FF00; } .cm-s-the-matrix.CodeMirror { background: #000000; color: #00FF00; }
.cm-s-the-matrix div.CodeMirror-selected { background: #2D2D2D !important; } .cm-s-the-matrix div.CodeMirror-selected { background: #2D2D2D; }
.cm-s-the-matrix.CodeMirror ::selection { background: rgba(45, 45, 45, 0.99); } .cm-s-the-matrix .CodeMirror-line::selection, .cm-s-the-matrix .CodeMirror-line > span::selection, .cm-s-the-matrix .CodeMirror-line > span > span::selection { background: rgba(45, 45, 45, 0.99); }
.cm-s-the-matrix.CodeMirror ::-moz-selection { background: rgba(45, 45, 45, 0.99); } .cm-s-the-matrix .CodeMirror-line::-moz-selection, .cm-s-the-matrix .CodeMirror-line > span::-moz-selection, .cm-s-the-matrix .CodeMirror-line > span > span::-moz-selection { background: rgba(45, 45, 45, 0.99); }
.cm-s-the-matrix .CodeMirror-gutters { background: #060; border-right: 2px solid #00FF00; } .cm-s-the-matrix .CodeMirror-gutters { background: #060; border-right: 2px solid #00FF00; }
.cm-s-the-matrix .CodeMirror-guttermarker { color: #0f0; } .cm-s-the-matrix .CodeMirror-guttermarker { color: #0f0; }
.cm-s-the-matrix .CodeMirror-guttermarker-subtle { color: white; } .cm-s-the-matrix .CodeMirror-guttermarker-subtle { color: white; }
.cm-s-the-matrix .CodeMirror-linenumber { color: #FFFFFF; } .cm-s-the-matrix .CodeMirror-linenumber { color: #FFFFFF; }
.cm-s-the-matrix .CodeMirror-cursor { border-left: 1px solid #00FF00 !important; } .cm-s-the-matrix .CodeMirror-cursor { border-left: 1px solid #00FF00; }
.cm-s-the-matrix span.cm-keyword {color: #008803; font-weight: bold;} .cm-s-the-matrix span.cm-keyword { color: #008803; font-weight: bold; }
.cm-s-the-matrix span.cm-atom {color: #3FF;} .cm-s-the-matrix span.cm-atom { color: #3FF; }
.cm-s-the-matrix span.cm-number {color: #FFB94F;} .cm-s-the-matrix span.cm-number { color: #FFB94F; }
.cm-s-the-matrix span.cm-def {color: #99C;} .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 { color: #F6C; }
.cm-s-the-matrix span.cm-variable-2 {color: #C6F;} .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-variable-3 { color: #96F; }
.cm-s-the-matrix span.cm-property {color: #62FFA0;} .cm-s-the-matrix span.cm-property { color: #62FFA0; }
.cm-s-the-matrix span.cm-operator {color: #999} .cm-s-the-matrix span.cm-operator { color: #999; }
.cm-s-the-matrix span.cm-comment {color: #CCCCCC;} .cm-s-the-matrix span.cm-comment { color: #CCCCCC; }
.cm-s-the-matrix span.cm-string {color: #39C;} .cm-s-the-matrix span.cm-string { color: #39C; }
.cm-s-the-matrix span.cm-meta {color: #C9F;} .cm-s-the-matrix span.cm-meta { color: #C9F; }
.cm-s-the-matrix span.cm-qualifier {color: #FFF700;} .cm-s-the-matrix span.cm-qualifier { color: #FFF700; }
.cm-s-the-matrix span.cm-builtin {color: #30a;} .cm-s-the-matrix span.cm-builtin { color: #30a; }
.cm-s-the-matrix span.cm-bracket {color: #cc7;} .cm-s-the-matrix span.cm-bracket { color: #cc7; }
.cm-s-the-matrix span.cm-tag {color: #FFBD40;} .cm-s-the-matrix span.cm-tag { color: #FFBD40; }
.cm-s-the-matrix span.cm-attribute {color: #FFF700;} .cm-s-the-matrix span.cm-attribute { color: #FFF700; }
.cm-s-the-matrix span.cm-error {color: #FF0000;} .cm-s-the-matrix span.cm-error { color: #FF0000; }
.cm-s-the-matrix .CodeMirror-activeline-background {background: #040;} .cm-s-the-matrix .CodeMirror-activeline-background { background: #040; }

View File

@@ -7,29 +7,29 @@
*/ */
.cm-s-tomorrow-night-bright.CodeMirror {background: #000000; color: #eaeaea;} .cm-s-tomorrow-night-bright.CodeMirror { background: #000000; color: #eaeaea; }
.cm-s-tomorrow-night-bright div.CodeMirror-selected {background: #424242 !important;} .cm-s-tomorrow-night-bright div.CodeMirror-selected { background: #424242; }
.cm-s-tomorrow-night-bright .CodeMirror-gutters {background: #000000; border-right: 0px;} .cm-s-tomorrow-night-bright .CodeMirror-gutters { background: #000000; border-right: 0px; }
.cm-s-tomorrow-night-bright .CodeMirror-guttermarker { color: #e78c45; } .cm-s-tomorrow-night-bright .CodeMirror-guttermarker { color: #e78c45; }
.cm-s-tomorrow-night-bright .CodeMirror-guttermarker-subtle { color: #777; } .cm-s-tomorrow-night-bright .CodeMirror-guttermarker-subtle { color: #777; }
.cm-s-tomorrow-night-bright .CodeMirror-linenumber {color: #424242;} .cm-s-tomorrow-night-bright .CodeMirror-linenumber { color: #424242; }
.cm-s-tomorrow-night-bright .CodeMirror-cursor {border-left: 1px solid #6A6A6A !important;} .cm-s-tomorrow-night-bright .CodeMirror-cursor { border-left: 1px solid #6A6A6A; }
.cm-s-tomorrow-night-bright span.cm-comment {color: #d27b53;} .cm-s-tomorrow-night-bright span.cm-comment { color: #d27b53; }
.cm-s-tomorrow-night-bright span.cm-atom {color: #a16a94;} .cm-s-tomorrow-night-bright span.cm-atom { color: #a16a94; }
.cm-s-tomorrow-night-bright span.cm-number {color: #a16a94;} .cm-s-tomorrow-night-bright span.cm-number { color: #a16a94; }
.cm-s-tomorrow-night-bright span.cm-property, .cm-s-tomorrow-night-bright span.cm-attribute {color: #99cc99;} .cm-s-tomorrow-night-bright span.cm-property, .cm-s-tomorrow-night-bright span.cm-attribute { color: #99cc99; }
.cm-s-tomorrow-night-bright span.cm-keyword {color: #d54e53;} .cm-s-tomorrow-night-bright span.cm-keyword { color: #d54e53; }
.cm-s-tomorrow-night-bright span.cm-string {color: #e7c547;} .cm-s-tomorrow-night-bright span.cm-string { color: #e7c547; }
.cm-s-tomorrow-night-bright span.cm-variable {color: #b9ca4a;} .cm-s-tomorrow-night-bright span.cm-variable { color: #b9ca4a; }
.cm-s-tomorrow-night-bright span.cm-variable-2 {color: #7aa6da;} .cm-s-tomorrow-night-bright span.cm-variable-2 { color: #7aa6da; }
.cm-s-tomorrow-night-bright span.cm-def {color: #e78c45;} .cm-s-tomorrow-night-bright span.cm-def { color: #e78c45; }
.cm-s-tomorrow-night-bright span.cm-bracket {color: #eaeaea;} .cm-s-tomorrow-night-bright span.cm-bracket { color: #eaeaea; }
.cm-s-tomorrow-night-bright span.cm-tag {color: #d54e53;} .cm-s-tomorrow-night-bright span.cm-tag { color: #d54e53; }
.cm-s-tomorrow-night-bright span.cm-link {color: #a16a94;} .cm-s-tomorrow-night-bright span.cm-link { color: #a16a94; }
.cm-s-tomorrow-night-bright span.cm-error {background: #d54e53; color: #6A6A6A;} .cm-s-tomorrow-night-bright span.cm-error { background: #d54e53; color: #6A6A6A; }
.cm-s-tomorrow-night-bright .CodeMirror-activeline-background {background: #2a2a2a !important;} .cm-s-tomorrow-night-bright .CodeMirror-activeline-background { background: #2a2a2a; }
.cm-s-tomorrow-night-bright .CodeMirror-matchingbracket { text-decoration: underline; color: white !important;} .cm-s-tomorrow-night-bright .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; }

View File

@@ -8,31 +8,31 @@
*/ */
.cm-s-tomorrow-night-eighties.CodeMirror {background: #000000; color: #CCCCCC;} .cm-s-tomorrow-night-eighties.CodeMirror { background: #000000; color: #CCCCCC; }
.cm-s-tomorrow-night-eighties div.CodeMirror-selected {background: #2D2D2D !important;} .cm-s-tomorrow-night-eighties div.CodeMirror-selected { background: #2D2D2D; }
.cm-s-tomorrow-night-eighties.CodeMirror ::selection { background: rgba(45, 45, 45, 0.99); } .cm-s-tomorrow-night-eighties .CodeMirror-line::selection, .cm-s-tomorrow-night-eighties .CodeMirror-line > span::selection, .cm-s-tomorrow-night-eighties .CodeMirror-line > span > span::selection { background: rgba(45, 45, 45, 0.99); }
.cm-s-tomorrow-night-eighties.CodeMirror ::-moz-selection { background: rgba(45, 45, 45, 0.99); } .cm-s-tomorrow-night-eighties .CodeMirror-line::-moz-selection, .cm-s-tomorrow-night-eighties .CodeMirror-line > span::-moz-selection, .cm-s-tomorrow-night-eighties .CodeMirror-line > span > span::-moz-selection { background: rgba(45, 45, 45, 0.99); }
.cm-s-tomorrow-night-eighties .CodeMirror-gutters {background: #000000; border-right: 0px;} .cm-s-tomorrow-night-eighties .CodeMirror-gutters { background: #000000; border-right: 0px; }
.cm-s-tomorrow-night-eighties .CodeMirror-guttermarker { color: #f2777a; } .cm-s-tomorrow-night-eighties .CodeMirror-guttermarker { color: #f2777a; }
.cm-s-tomorrow-night-eighties .CodeMirror-guttermarker-subtle { color: #777; } .cm-s-tomorrow-night-eighties .CodeMirror-guttermarker-subtle { color: #777; }
.cm-s-tomorrow-night-eighties .CodeMirror-linenumber {color: #515151;} .cm-s-tomorrow-night-eighties .CodeMirror-linenumber { color: #515151; }
.cm-s-tomorrow-night-eighties .CodeMirror-cursor {border-left: 1px solid #6A6A6A !important;} .cm-s-tomorrow-night-eighties .CodeMirror-cursor { border-left: 1px solid #6A6A6A; }
.cm-s-tomorrow-night-eighties span.cm-comment {color: #d27b53;} .cm-s-tomorrow-night-eighties span.cm-comment { color: #d27b53; }
.cm-s-tomorrow-night-eighties span.cm-atom {color: #a16a94;} .cm-s-tomorrow-night-eighties span.cm-atom { color: #a16a94; }
.cm-s-tomorrow-night-eighties span.cm-number {color: #a16a94;} .cm-s-tomorrow-night-eighties span.cm-number { color: #a16a94; }
.cm-s-tomorrow-night-eighties span.cm-property, .cm-s-tomorrow-night-eighties span.cm-attribute {color: #99cc99;} .cm-s-tomorrow-night-eighties span.cm-property, .cm-s-tomorrow-night-eighties span.cm-attribute { color: #99cc99; }
.cm-s-tomorrow-night-eighties span.cm-keyword {color: #f2777a;} .cm-s-tomorrow-night-eighties span.cm-keyword { color: #f2777a; }
.cm-s-tomorrow-night-eighties span.cm-string {color: #ffcc66;} .cm-s-tomorrow-night-eighties span.cm-string { color: #ffcc66; }
.cm-s-tomorrow-night-eighties span.cm-variable {color: #99cc99;} .cm-s-tomorrow-night-eighties span.cm-variable { 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-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 span.cm-error { background: #f2777a; color: #6A6A6A; }
.cm-s-tomorrow-night-eighties .CodeMirror-activeline-background {background: #343600 !important;} .cm-s-tomorrow-night-eighties .CodeMirror-activeline-background { background: #343600; }
.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; }

64
CodeMirror/theme/ttcn.css vendored Normal file
View File

@@ -0,0 +1,64 @@
.cm-s-ttcn .cm-quote { color: #090; }
.cm-s-ttcn .cm-negative { color: #d44; }
.cm-s-ttcn .cm-positive { color: #292; }
.cm-s-ttcn .cm-header, .cm-strong { font-weight: bold; }
.cm-s-ttcn .cm-em { font-style: italic; }
.cm-s-ttcn .cm-link { text-decoration: underline; }
.cm-s-ttcn .cm-strikethrough { text-decoration: line-through; }
.cm-s-ttcn .cm-header { color: #00f; font-weight: bold; }
.cm-s-ttcn .cm-atom { color: #219; }
.cm-s-ttcn .cm-attribute { color: #00c; }
.cm-s-ttcn .cm-bracket { color: #997; }
.cm-s-ttcn .cm-comment { color: #333333; }
.cm-s-ttcn .cm-def { color: #00f; }
.cm-s-ttcn .cm-em { font-style: italic; }
.cm-s-ttcn .cm-error { color: #f00; }
.cm-s-ttcn .cm-hr { color: #999; }
.cm-s-ttcn .cm-invalidchar { color: #f00; }
.cm-s-ttcn .cm-keyword { font-weight:bold; }
.cm-s-ttcn .cm-link { color: #00c; text-decoration: underline; }
.cm-s-ttcn .cm-meta { color: #555; }
.cm-s-ttcn .cm-negative { color: #d44; }
.cm-s-ttcn .cm-positive { color: #292; }
.cm-s-ttcn .cm-qualifier { color: #555; }
.cm-s-ttcn .cm-strikethrough { text-decoration: line-through; }
.cm-s-ttcn .cm-string { color: #006400; }
.cm-s-ttcn .cm-string-2 { color: #f50; }
.cm-s-ttcn .cm-strong { font-weight: bold; }
.cm-s-ttcn .cm-tag { color: #170; }
.cm-s-ttcn .cm-variable { color: #8B2252; }
.cm-s-ttcn .cm-variable-2 { color: #05a; }
.cm-s-ttcn .cm-variable-3 { color: #085; }
.cm-s-ttcn .cm-invalidchar { color: #f00; }
/* ASN */
.cm-s-ttcn .cm-accessTypes,
.cm-s-ttcn .cm-compareTypes { color: #27408B; }
.cm-s-ttcn .cm-cmipVerbs { color: #8B2252; }
.cm-s-ttcn .cm-modifier { color:#D2691E; }
.cm-s-ttcn .cm-status { color:#8B4545; }
.cm-s-ttcn .cm-storage { color:#A020F0; }
.cm-s-ttcn .cm-tags { color:#006400; }
/* CFG */
.cm-s-ttcn .cm-externalCommands { color: #8B4545; font-weight:bold; }
.cm-s-ttcn .cm-fileNCtrlMaskOptions,
.cm-s-ttcn .cm-sectionTitle { color: #2E8B57; font-weight:bold; }
/* TTCN */
.cm-s-ttcn .cm-booleanConsts,
.cm-s-ttcn .cm-otherConsts,
.cm-s-ttcn .cm-verdictConsts { color: #006400; }
.cm-s-ttcn .cm-configOps,
.cm-s-ttcn .cm-functionOps,
.cm-s-ttcn .cm-portOps,
.cm-s-ttcn .cm-sutOps,
.cm-s-ttcn .cm-timerOps,
.cm-s-ttcn .cm-verdictOps { color: #0000FF; }
.cm-s-ttcn .cm-preprocessor,
.cm-s-ttcn .cm-templateMatch,
.cm-s-ttcn .cm-ttcn3Macros { color: #27408B; }
.cm-s-ttcn .cm-types { color: #A52A2A; font-weight:bold; }
.cm-s-ttcn .cm-visibilityModifiers { font-weight:bold; }

View File

@@ -1,15 +1,15 @@
.cm-s-twilight.CodeMirror { background: #141414; color: #f7f7f7; } /**/ .cm-s-twilight.CodeMirror { background: #141414; color: #f7f7f7; } /**/
.cm-s-twilight .CodeMirror-selected { background: #323232 !important; } /**/ .cm-s-twilight div.CodeMirror-selected { background: #323232; } /**/
.cm-s-twilight.CodeMirror ::selection { background: rgba(50, 50, 50, 0.99); } .cm-s-twilight .CodeMirror-line::selection, .cm-s-twilight .CodeMirror-line > span::selection, .cm-s-twilight .CodeMirror-line > span > span::selection { background: rgba(50, 50, 50, 0.99); }
.cm-s-twilight.CodeMirror ::-moz-selection { background: rgba(50, 50, 50, 0.99); } .cm-s-twilight .CodeMirror-line::-moz-selection, .cm-s-twilight .CodeMirror-line > span::-moz-selection, .cm-s-twilight .CodeMirror-line > span > span::-moz-selection { background: rgba(50, 50, 50, 0.99); }
.cm-s-twilight .CodeMirror-gutters { background: #222; border-right: 1px solid #aaa; } .cm-s-twilight .CodeMirror-gutters { background: #222; border-right: 1px solid #aaa; }
.cm-s-twilight .CodeMirror-guttermarker { color: white; } .cm-s-twilight .CodeMirror-guttermarker { color: white; }
.cm-s-twilight .CodeMirror-guttermarker-subtle { color: #aaa; } .cm-s-twilight .CodeMirror-guttermarker-subtle { color: #aaa; }
.cm-s-twilight .CodeMirror-linenumber { color: #aaa; } .cm-s-twilight .CodeMirror-linenumber { color: #aaa; }
.cm-s-twilight .CodeMirror-cursor { border-left: 1px solid white !important; } .cm-s-twilight .CodeMirror-cursor { border-left: 1px solid white; }
.cm-s-twilight .cm-keyword { color: #f9ee98; } /**/ .cm-s-twilight .cm-keyword { color: #f9ee98; } /**/
.cm-s-twilight .cm-atom { color: #FC0; } .cm-s-twilight .cm-atom { color: #FC0; }
.cm-s-twilight .cm-number { color: #ca7841; } /**/ .cm-s-twilight .cm-number { color: #ca7841; } /**/
.cm-s-twilight .cm-def { color: #8DA6CE; } .cm-s-twilight .cm-def { color: #8DA6CE; }
@@ -18,15 +18,15 @@
.cm-s-twilight .cm-operator { color: #cda869; } /**/ .cm-s-twilight .cm-operator { color: #cda869; } /**/
.cm-s-twilight .cm-comment { color:#777; font-style:italic; font-weight:normal; } /**/ .cm-s-twilight .cm-comment { color:#777; font-style:italic; font-weight:normal; } /**/
.cm-s-twilight .cm-string { color:#8f9d6a; font-style:italic; } /**/ .cm-s-twilight .cm-string { 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-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 .cm-error { border-bottom: 1px solid red; }
.cm-s-twilight .CodeMirror-activeline-background {background: #27282E !important;} .cm-s-twilight .CodeMirror-activeline-background { background: #27282E; }
.cm-s-twilight .CodeMirror-matchingbracket {outline:1px solid grey; color:white !important;} .cm-s-twilight .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; }

View File

@@ -1,26 +1,26 @@
/* Taken from the popular Visual Studio Vibrant Ink Schema */ /* Taken from the popular Visual Studio Vibrant Ink Schema */
.cm-s-vibrant-ink.CodeMirror { background: black; color: white; } .cm-s-vibrant-ink.CodeMirror { background: black; color: white; }
.cm-s-vibrant-ink .CodeMirror-selected { background: #35493c !important; } .cm-s-vibrant-ink div.CodeMirror-selected { background: #35493c; }
.cm-s-vibrant-ink.CodeMirror ::selection { background: rgba(53, 73, 60, 0.99); } .cm-s-vibrant-ink .CodeMirror-line::selection, .cm-s-vibrant-ink .CodeMirror-line > span::selection, .cm-s-vibrant-ink .CodeMirror-line > span > span::selection { background: rgba(53, 73, 60, 0.99); }
.cm-s-vibrant-ink.CodeMirror ::-moz-selection { background: rgba(53, 73, 60, 0.99); } .cm-s-vibrant-ink .CodeMirror-line::-moz-selection, .cm-s-vibrant-ink .CodeMirror-line > span::-moz-selection, .cm-s-vibrant-ink .CodeMirror-line > span > span::-moz-selection { background: rgba(53, 73, 60, 0.99); }
.cm-s-vibrant-ink .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; } .cm-s-vibrant-ink .CodeMirror-gutters { background: #002240; border-right: 1px solid #aaa; }
.cm-s-vibrant-ink .CodeMirror-guttermarker { color: white; } .cm-s-vibrant-ink .CodeMirror-guttermarker { color: white; }
.cm-s-vibrant-ink .CodeMirror-guttermarker-subtle { color: #d0d0d0; } .cm-s-vibrant-ink .CodeMirror-guttermarker-subtle { color: #d0d0d0; }
.cm-s-vibrant-ink .CodeMirror-linenumber { color: #d0d0d0; } .cm-s-vibrant-ink .CodeMirror-linenumber { color: #d0d0d0; }
.cm-s-vibrant-ink .CodeMirror-cursor { border-left: 1px solid white !important; } .cm-s-vibrant-ink .CodeMirror-cursor { border-left: 1px solid white; }
.cm-s-vibrant-ink .cm-keyword { color: #CC7832; } .cm-s-vibrant-ink .cm-keyword { color: #CC7832; }
.cm-s-vibrant-ink .cm-atom { color: #FC0; } .cm-s-vibrant-ink .cm-atom { color: #FC0; }
.cm-s-vibrant-ink .cm-number { color: #FFEE98; } .cm-s-vibrant-ink .cm-number { color: #FFEE98; }
.cm-s-vibrant-ink .cm-def { color: #8DA6CE; } .cm-s-vibrant-ink .cm-def { color: #8DA6CE; }
.cm-s-vibrant-ink span.cm-variable-2, .cm-s-vibrant span.cm-tag { color: #FFC66D } .cm-s-vibrant-ink span.cm-variable-2, .cm-s-vibrant span.cm-tag { color: #FFC66D; }
.cm-s-vibrant-ink span.cm-variable-3, .cm-s-vibrant span.cm-def { color: #FFC66D } .cm-s-vibrant-ink span.cm-variable-3, .cm-s-vibrant span.cm-def { color: #FFC66D; }
.cm-s-vibrant-ink .cm-operator { color: #888; } .cm-s-vibrant-ink .cm-operator { color: #888; }
.cm-s-vibrant-ink .cm-comment { color: gray; font-weight: bold; } .cm-s-vibrant-ink .cm-comment { color: gray; font-weight: bold; }
.cm-s-vibrant-ink .cm-string { color: #A5C25C } .cm-s-vibrant-ink .cm-string { 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-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; }
@@ -30,5 +30,5 @@
.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 .cm-error { border-bottom: 1px solid red; }
.cm-s-vibrant-ink .CodeMirror-activeline-background {background: #27282E !important;} .cm-s-vibrant-ink .CodeMirror-activeline-background { background: #27282E; }
.cm-s-vibrant-ink .CodeMirror-matchingbracket {outline:1px solid grey; color:white !important;} .cm-s-vibrant-ink .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; }

View File

@@ -21,33 +21,33 @@ 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 .CodeMirror-selected { background: #27007A !important; } .cm-s-xq-dark div.CodeMirror-selected { background: #27007A; }
.cm-s-xq-dark.CodeMirror ::selection { background: rgba(39, 0, 122, 0.99); } .cm-s-xq-dark .CodeMirror-line::selection, .cm-s-xq-dark .CodeMirror-line > span::selection, .cm-s-xq-dark .CodeMirror-line > span > span::selection { background: rgba(39, 0, 122, 0.99); }
.cm-s-xq-dark.CodeMirror ::-moz-selection { background: rgba(39, 0, 122, 0.99); } .cm-s-xq-dark .CodeMirror-line::-moz-selection, .cm-s-xq-dark .CodeMirror-line > span::-moz-selection, .cm-s-xq-dark .CodeMirror-line > span > span::-moz-selection { background: rgba(39, 0, 122, 0.99); }
.cm-s-xq-dark .CodeMirror-gutters { background: #0a001f; border-right: 1px solid #aaa; } .cm-s-xq-dark .CodeMirror-gutters { background: #0a001f; border-right: 1px solid #aaa; }
.cm-s-xq-dark .CodeMirror-guttermarker { color: #FFBD40; } .cm-s-xq-dark .CodeMirror-guttermarker { color: #FFBD40; }
.cm-s-xq-dark .CodeMirror-guttermarker-subtle { color: #f8f8f8; } .cm-s-xq-dark .CodeMirror-guttermarker-subtle { color: #f8f8f8; }
.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; }
.cm-s-xq-dark span.cm-keyword {color: #FFBD40;} .cm-s-xq-dark span.cm-keyword { color: #FFBD40; }
.cm-s-xq-dark span.cm-atom {color: #6C8CD5;} .cm-s-xq-dark span.cm-atom { color: #6C8CD5; }
.cm-s-xq-dark span.cm-number {color: #164;} .cm-s-xq-dark span.cm-number { color: #164; }
.cm-s-xq-dark span.cm-def {color: #FFF; text-decoration:underline;} .cm-s-xq-dark span.cm-def { color: #FFF; text-decoration:underline; }
.cm-s-xq-dark span.cm-variable {color: #FFF;} .cm-s-xq-dark span.cm-variable { color: #FFF; }
.cm-s-xq-dark span.cm-variable-2 {color: #EEE;} .cm-s-xq-dark span.cm-variable-2 { color: #EEE; }
.cm-s-xq-dark span.cm-variable-3 {color: #DDD;} .cm-s-xq-dark span.cm-variable-3 { color: #DDD; }
.cm-s-xq-dark span.cm-property {} .cm-s-xq-dark span.cm-property {}
.cm-s-xq-dark span.cm-operator {} .cm-s-xq-dark span.cm-operator {}
.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-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 span.cm-error { color: #f00; }
.cm-s-xq-dark .CodeMirror-activeline-background {background: #27282E !important;} .cm-s-xq-dark .CodeMirror-activeline-background { background: #27282E; }
.cm-s-xq-dark .CodeMirror-matchingbracket {outline:1px solid grey; color:white !important;} .cm-s-xq-dark .CodeMirror-matchingbracket { outline:1px solid grey; color:white !important; }

View File

@@ -20,24 +20,24 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. THE SOFTWARE.
*/ */
.cm-s-xq-light span.cm-keyword {line-height: 1em; font-weight: bold; color: #5A5CAD; } .cm-s-xq-light span.cm-keyword { line-height: 1em; font-weight: bold; color: #5A5CAD; }
.cm-s-xq-light span.cm-atom {color: #6C8CD5;} .cm-s-xq-light span.cm-atom { color: #6C8CD5; }
.cm-s-xq-light span.cm-number {color: #164;} .cm-s-xq-light span.cm-number { color: #164; }
.cm-s-xq-light span.cm-def {text-decoration:underline;} .cm-s-xq-light span.cm-def { text-decoration:underline; }
.cm-s-xq-light span.cm-variable {color: black; } .cm-s-xq-light span.cm-variable { color: black; }
.cm-s-xq-light span.cm-variable-2 {color:black;} .cm-s-xq-light span.cm-variable-2 { color:black; }
.cm-s-xq-light span.cm-variable-3 {color: black; } .cm-s-xq-light span.cm-variable-3 { color: black; }
.cm-s-xq-light span.cm-property {} .cm-s-xq-light span.cm-property {}
.cm-s-xq-light span.cm-operator {} .cm-s-xq-light span.cm-operator {}
.cm-s-xq-light span.cm-comment {color: #0080FF; font-style: italic;} .cm-s-xq-light span.cm-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-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 span.cm-error { color: #f00; }
.cm-s-xq-light .CodeMirror-activeline-background {background: #e8f2ff !important;} .cm-s-xq-light .CodeMirror-activeline-background { background: #e8f2ff; }
.cm-s-xq-light .CodeMirror-matchingbracket {outline:1px solid grey;color:black !important;background:yellow;} .cm-s-xq-light .CodeMirror-matchingbracket { outline:1px solid grey;color:black !important;background:yellow; }

44
CodeMirror/theme/yeti.css vendored Normal file
View File

@@ -0,0 +1,44 @@
/*
Name: yeti
Author: Michael Kaminsky (http://github.com/mkaminsky11)
Original yeti color scheme by Jesse Weed (https://github.com/jesseweed/yeti-syntax)
*/
.cm-s-yeti.CodeMirror {
background-color: #ECEAE8 !important;
color: #d1c9c0 !important;
border: none;
}
.cm-s-yeti .CodeMirror-gutters {
color: #adaba6;
background-color: #E5E1DB;
border: none;
}
.cm-s-yeti .CodeMirror-cursor { border-left: solid thin #d1c9c0; }
.cm-s-yeti .CodeMirror-linenumber { color: #adaba6; }
.cm-s-yeti.CodeMirror-focused div.CodeMirror-selected { background: #DCD8D2; }
.cm-s-yeti .CodeMirror-line::selection, .cm-s-yeti .CodeMirror-line > span::selection, .cm-s-yeti .CodeMirror-line > span > span::selection { background: #DCD8D2; }
.cm-s-yeti .CodeMirror-line::-moz-selection, .cm-s-yeti .CodeMirror-line > span::-moz-selection, .cm-s-yeti .CodeMirror-line > span > span::-moz-selection { background: #DCD8D2; }
.cm-s-yeti span.cm-comment { color: #d4c8be; }
.cm-s-yeti span.cm-string, .cm-s-yeti span.cm-string-2 { color: #96c0d8; }
.cm-s-yeti span.cm-number { color: #a074c4; }
.cm-s-yeti span.cm-variable { color: #55b5db; }
.cm-s-yeti span.cm-variable-2 { color: #a074c4; }
.cm-s-yeti span.cm-def { color: #55b5db; }
.cm-s-yeti span.cm-operator { color: #9fb96e; }
.cm-s-yeti span.cm-keyword { color: #9fb96e; }
.cm-s-yeti span.cm-atom { color: #a074c4; }
.cm-s-yeti span.cm-meta { color: #96c0d8; }
.cm-s-yeti span.cm-tag { color: #96c0d8; }
.cm-s-yeti span.cm-attribute { color: #9fb96e; }
.cm-s-yeti span.cm-qualifier { color: #96c0d8; }
.cm-s-yeti span.cm-property { color: #a074c4; }
.cm-s-yeti span.cm-builtin { color: #a074c4; }
.cm-s-yeti span.cm-variable-3 { color: #96c0d8; }
.cm-s-yeti .CodeMirror-activeline-background { background: #E7E4E0; }
.cm-s-yeti .CodeMirror-matchingbracket { text-decoration: underline; }

View File

@@ -10,7 +10,7 @@
.cm-s-zenburn .CodeMirror-gutters { background: #3f3f3f !important; } .cm-s-zenburn .CodeMirror-gutters { background: #3f3f3f !important; }
.cm-s-zenburn .CodeMirror-foldgutter-open, .CodeMirror-foldgutter-folded { color: #999; } .cm-s-zenburn .CodeMirror-foldgutter-open, .CodeMirror-foldgutter-folded { color: #999; }
.cm-s-zenburn .CodeMirror-cursor { border-left: 1px solid white !important; } .cm-s-zenburn .CodeMirror-cursor { border-left: 1px solid white; }
.cm-s-zenburn { background-color: #3f3f3f; color: #dcdccc; } .cm-s-zenburn { background-color: #3f3f3f; color: #dcdccc; }
.cm-s-zenburn span.cm-builtin { color: #dcdccc; font-weight: bold; } .cm-s-zenburn span.cm-builtin { color: #dcdccc; font-weight: bold; }
.cm-s-zenburn span.cm-comment { color: #7f9f7f; } .cm-s-zenburn span.cm-comment { color: #7f9f7f; }
@@ -33,5 +33,5 @@
.cm-s-zenburn span.CodeMirror-nonmatchingbracket { border-bottom: 1px solid; background: none; } .cm-s-zenburn span.CodeMirror-nonmatchingbracket { border-bottom: 1px solid; background: none; }
.cm-s-zenburn .CodeMirror-activeline { background: #000000; } .cm-s-zenburn .CodeMirror-activeline { background: #000000; }
.cm-s-zenburn .CodeMirror-activeline-background { background: #000000; } .cm-s-zenburn .CodeMirror-activeline-background { background: #000000; }
.cm-s-zenburn .CodeMirror-selected { background: #545454; } .cm-s-zenburn div.CodeMirror-selected { background: #545454; }
.cm-s-zenburn .CodeMirror-focused .CodeMirror-selected { background: #4f4f4f; } .cm-s-zenburn .CodeMirror-focused div.CodeMirror-selected { background: #4f4f4f; }

View File

@@ -1,10 +1,12 @@
Copyright: © 2015 ICEcoder Ltd Copyright: © 2015 ICEcoder Ltd
Website: icecoder.net Website: icecoder.net
Email: info@icecoder.net Email: info@icecoder.net
Twitter: @icecoder Twitter: @icecoder
#ICEcoder License # ICEcoder License
##Standard Open Source Initiative MIT License
## Standard Open Source Initiative MIT License
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
in the Software without restriction, including without limitation the rights in the Software without restriction, including without limitation the rights
@@ -27,4 +29,4 @@ THE SOFTWARE.
Please note that this LICENSE file covers the ICEcoder shell IDE only and 3rd Please note that this LICENSE file covers the ICEcoder shell IDE only and 3rd
party code, in subfolders such as CodeMirror and plugins, may contain their party code, in subfolders such as CodeMirror and plugins, may contain their
own LICENSE files, and may not also be an MIT licence. own LICENSE files, and may not also be an MIT licence.
``` ```

View File

@@ -1,37 +1,42 @@
#ICEcoder # ICEcoder
##Web IDE / browser code editor awesomeness
## Web IDE / browser code editor awesomeness
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="https://icecoder.net/images/icecoder-v5-2-browser-code-editor.png" alt="ICEcoder web IDE">
<img src="https://icecoder.net/images/icecoder-v7-0-browser-code-editor.png" alt="ICEcoder web IDE">
###Requirements
You can run ICEcoder either online or locally, on Linux, Windows or Mac based platforms. The only requirement is to have PHP 5 available (5.3 recommended). You can have this either as a vanilla installation or via a program such as WAMP or XAMPP (for Windows) or MAMP (for Mac). ### Requirements
###Installation 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).
####Step 1: Get ICEcoder ### Installation
Either download the zip or clone from Github using:
#### Step 1: Get ICEcoder
```
$ git clone git://github.com/mattpass/ICEcoder Either download the zip or clone from Github using:
```
```
####Step 2: Place in your document root (online or local) $ git clone git://github.com/mattpass/ICEcoder
* Put in a new sub-dir URL such as yourdomain.com/ICEcoder or localhost/ICEcoder ```
* Set write permissions (757 or 775 depending on your system) on the 'backups', 'lib', 'plugins', 'test' and 'tmp' folders
#### Step 2: Place in your document root (online or local)
*(Note: A small number of web servers give an internal server error here, if you get this, try 755 instead)*
* Put in a new sub-dir URL such as yourdomain.com/ICEcoder or localhost/ICEcoder
####Step 3: Start coding * Set write permissions (757 or 775 depending on your system) on the 'backups', 'lib', 'plugins', 'test' and 'tmp' folders
* Visit the sub-dir URL in your browser and enter a password
*(Note: A small number of web servers give an internal server error here, if you get this, try 755 instead)*
**Now you're setup, auto-logged in and ready to code!**
#### Step 3: Start coding
Suitable for commercial & non-commercial projects, just let me know if it's useful to you and any cool customisations you make to it. I take no responsibility for anything, your usage is all down to you.
* Visit the sub-dir URL in your browser and enter a password
It's fully open source and MIT licensed. I'm happy for you to take it, make it your own and customise to your hearts content and/or contribute to this main repo! :)
**Now you're setup, auto-logged in and ready to code!**
Plenty of comments included in the code to assist with understanding, customising etc.
Suitable for commercial & non-commercial projects, just let me know if it's useful to you and any cool customisations you make to it. I take no responsibility for anything, your usage is all down to you.
Comments, improvements & feedback welcomed!
It's fully open source and MIT licensed. I'm happy for you to take it, make it your own and customise to your hearts content and/or contribute to this main repo! :)
Plenty of comments included in the code to assist with understanding, customising etc.
Comments, improvements & feedback welcomed!

View File

@@ -1,4 +0,0 @@
<?php
header("Location: ../");
die();
?>

1
data/.gitkeep Normal file
View File

@@ -0,0 +1 @@

View File

@@ -5,7 +5,7 @@ $t = $text['editor'];
?> ?>
<!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()}" onDrop="if(top.ICEcoder) {top.ICEcoder.getMouseXY(event,'editor')}"> <html style="margin: 0" onMouseDown="top.ICEcoder.mouseDown=true; top.ICEcoder.resetAutoLogoutTimer()" onMouseUp="top.ICEcoder.mouseDown=false; top.ICEcoder.mouseDownInCM=false; top.ICEcoder.resetAutoLogoutTimer(); if (!top.ICEcoder.overCloseLink) {top.ICEcoder.tabDragEnd()}" onMouseMove="if(top.ICEcoder) {top.ICEcoder.getMouseXY(event,'editor'); top.ICEcoder.functionClassParamsTooltip(event, 'editor'); top.ICEcoder.resetAutoLogoutTimer(); 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">
@@ -16,8 +16,8 @@ $t = $text['editor'];
<!-- <!--
codemirror-compressed.js codemirror-compressed.js
incls: codemirror incls: codemirror
modes: clike, coffeescript, css, erlang, go, htmlmixed, javascript, julia, lua, markdown, perl, php, python, ruby, rust, sass, sql, xml, yaml modes: clike, coffeescript, css, erlang, go, htmlmixed, javascript, julia, lua, markdown, perl, php, python, ruby, sass, sql, xml, yaml
addon: brace-fold, closebrackets, closetag, css-hint, html-hint, javascript-hint, javascript-lint, lint, match-highlighter, searchcursor, show-hint, sql-hint, trailingspace, xml-fold, xml-hint addon: brace-fold, closebrackets, closetag, css-hint, foldcode, foldgutter, html-hint, javascript-hint, javascript-lint, lint, match-highlighter, matchbrackets, runmode, searchcursor, show-hint, simplescrollbars, sql-hint, trailingspace, xml-fold, xml-hint
//--> //-->
<script src="<?php echo $ICEcoder["codeMirrorDir"]; ?>/lib/codemirror-compressed.js?microtime=<?php echo microtime(true);?>"></script> <script src="<?php echo $ICEcoder["codeMirrorDir"]; ?>/lib/codemirror-compressed.js?microtime=<?php echo microtime(true);?>"></script>
<?php <?php
@@ -25,7 +25,8 @@ if (file_exists(dirname(__FILE__)."/plugins/jshint/jshint-2.5.6.min.js")) {
echo '<script src="plugins/jshint/jshint-2.5.6.min.js?microtime='.microtime(true).'></script>'; echo '<script src="plugins/jshint/jshint-2.5.6.min.js?microtime='.microtime(true).'></script>';
};?> };?>
<script src="lib/mmd.js?microtime=<?php echo microtime(true);?>"></script> <script src="lib/mmd.js?microtime=<?php echo microtime(true);?>"></script>
<script src="lib/foldcode.js?microtime=<?php echo microtime(true);?>"></script> <link rel="stylesheet" href="<?php echo $ICEcoder["codeMirrorDir"]; ?>/addon/fold/foldgutter.css?microtime=<?php echo microtime(true);?>">
<link rel="stylesheet" href="<?php echo $ICEcoder["codeMirrorDir"]; ?>/addon/scroll/simplescrollbars.css?microtime=<?php echo microtime(true);?>">
<?php <?php
if (file_exists(dirname(__FILE__)."/plugins/emmet/emmet.min.js")) { if (file_exists(dirname(__FILE__)."/plugins/emmet/emmet.min.js")) {
echo '<script src="plugins/emmet/emmet.min.js?microtime='.microtime(true).'"></script>'; echo '<script src="plugins/emmet/emmet.min.js?microtime='.microtime(true).'"></script>';
@@ -56,7 +57,7 @@ if (array_search($ICEcoder["theme"],array("3024-day","base16-light","eclipse","e
<style type="text/css"> <style type="text/css">
/* Make sure this next one remains the 1st item, updated with JS */ /* Make sure this next one remains the 1st item, updated with JS */
.CodeMirror {position: absolute; top: 0; width: 100%; font-size: <?php echo $ICEcoder["fontSize"];?>; line-height: 1.3; z-index: 1} .CodeMirror {position: absolute; top: 0; width: 100%; font-size: <?php echo $ICEcoder["fontSize"];?>; transition: font-size 0.25s ease; line-height: 1.3; z-index: 1}
.CodeMirror-scroll {} /* was: height: auto; overflow: visible */ .CodeMirror-scroll {} /* was: height: auto; overflow: visible */
/* 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-s-activeLine {background: <?php echo $activeLineBG;?> !important} .cm-s-activeLine {background: <?php echo $activeLineBG;?> !important}
@@ -68,13 +69,16 @@ if (array_search($ICEcoder["theme"],array("3024-day","base16-light","eclipse","e
background-position: bottom left; background-position: bottom left;
background-repeat: repeat-x; background-repeat: repeat-x;
} }
.code-zoomed-out { font-size: 2px }
.CodeMirror-foldmarker {font-family: arial; line-height: .3; color: #b00; cursor: pointer; .CodeMirror-foldmarker {font-family: arial; line-height: .3; color: #b00; cursor: pointer;
text-shadow: #fff 1px 1px 2px, #fff -1px -1px 2px, #fff 1px -1px 2px, #fff -1px 1px 2px; text-shadow: #fff 1px 1px 2px, #fff -1px -1px 2px, #fff 1px -1px 2px, #fff -1px 1px 2px;
} }
.folds {display: inline-block; width: 13px} .CodeMirror-foldgutter {display: inline-block; width: 13px}
.fold {position: absolute; display: inline-block; width: 13px; height: 13px; font-size: 14px; text-align: center; cursor: pointer} .CodeMirror-foldgutter-open, .CodeMirror-foldgutter-folded {position: absolute; display: inline-block; width: 13px; height: 13px; font-size: 14px; text-align: center; cursor: pointer}
.foldOn {background: #800; color: #ddd} .CodeMirror-foldgutter-open {background: rgba(255,255,255,0.04); color: #666}
.foldOff {background: rgba(255,255,255,0.04); color: #666} .CodeMirror-foldgutter-open:after {position: relative; top: -2px}
.CodeMirror-foldgutter-folded {background: #800; color: #ddd}
.CodeMirror-foldgutter-folded:after {position: relative; top: -3px}
h2 {color: rgba(0,198,255,0.7)} h2 {color: rgba(0,198,255,0.7)}
.heading {color:#888} .heading {color:#888}
.cm-s-diff {left: 50%} .cm-s-diff {left: 50%}
@@ -84,18 +88,12 @@ h2 {color: rgba(0,198,255,0.7)}
.diffGreyLighter {background: #888 !important; color: #1d1d1b !important} .diffGreyLighter {background: #888 !important; color: #1d1d1b !important}
.diffNone {} .diffNone {}
.info {font-size: 10px; color: rgba(0,198,255,0.7); cursor: help} .info {font-size: 10px; color: rgba(0,198,255,0.7); cursor: help}
.trialBarContainer {display: inline-block; width: 170px; height: 8px; background: #0b0b0b; margin-bottom: 40px}
.trialBarRemaining {display: inline-block; width: 170px; height: 8px; background: rgba(0,198,255,0.7); box-shadow: 0 0 10px 1px rgba(0,198,255,0.5);
transition: width 0.7s ease-in-out;
}
.trialBarText {margin-top: 6px; color: #888}
.trialBarText a {color: #fff; text-decoration: none}
</style> </style>
<link rel="stylesheet" href="lib/file-types.css?microtime=<?php echo microtime(true);?>"> <link rel="stylesheet" href="lib/file-types.css?microtime=<?php echo microtime(true);?>">
<link rel="stylesheet" href="lib/file-type-icons.css?microtime=<?php echo microtime(true);?>"> <link rel="stylesheet" href="lib/file-type-icons.css?microtime=<?php echo microtime(true);?>">
</head> </head>
<body style="color: #fff; margin: 0" onKeyDown="return top.ICEcoder.interceptKeys('content', event);" onKeyUp="top.ICEcoder.resetKeys(event);" onBlur="parent.ICEcoder.resetKeys(event);" onload="if (document.getElementById('trialBarRemaining')) {setTimeout(function(){document.getElementById('trialBarRemaining').style.width = '<?php echo $tRemainingPerc*170;?>px';},150)}"> <body style="color: #fff; margin: 0" onKeyDown="return top.ICEcoder.interceptKeys('content', event);" onKeyUp="top.ICEcoder.resetKeys(event);" onBlur="parent.ICEcoder.resetKeys(event);" oncontextmenu="return false">
<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>
@@ -120,15 +118,6 @@ h2 {color: rgba(0,198,255,0.7)}
</div> </div>
<div style="float: left"> <div style="float: left">
<?php
// No valid license code - show the trial remaining bar
if (generateHash(strClean($ICEcoder['licenseEmail']),$ICEcoder['licenseCode'])!=$ICEcoder['licenseCode']) {?>
<h2><?php echo $t['trial remaining'];?></h2>
<div class="trialBarContainer"><div class="trialBarRemaining" id="trialBarRemaining"></div><br>
<div class="trialBarText"><?php echo $tDaysRemaining;?> <?php echo $t['days left'];?> - <a href="lib/login.php?get=code&csrf=<?php echo $_SESSION["csrf"];?>" target="_parent">Unlock now</a></div>
</div>
<?php ;}; ?>
<h2><?php echo $t['files'];?></h2> <h2><?php echo $t['files'];?></h2>
<span class="heading"><?php echo $t['Last 10 files...'];?></span><br> <span class="heading"><?php echo $t['Last 10 files...'];?></span><br>
<ul class="fileManager" id="last10Files" style="margin-left: 0; line-height: 20px"><?php <ul class="fileManager" id="last10Files" style="margin-left: 0; line-height: 20px"><?php
@@ -196,6 +185,7 @@ CodeMirror.keyMap.ICEcoder = {
"Ctrl-Space": "autocomplete", "Ctrl-Space": "autocomplete",
"Ctrl-Up" : false, "Ctrl-Up" : false,
"Ctrl-Down" : false, "Ctrl-Down" : false,
"Ctrl-Backspace" : false,
"Esc" : false, "Esc" : false,
fallthrough: ["default"] fallthrough: ["default"]
}; };
@@ -224,17 +214,21 @@ function createNewCMInstance(num) {
// Define our CodeMirror options // Define our CodeMirror options
var cMOptions = { var cMOptions = {
mode: "application/x-httpd-php", mode: "application/x-httpd-php",
lineNumbers: true, lineNumbers: top.ICEcoder.lineNumbers,
gutters: ["folds","CodeMirror-lint-markers","CodeMirror-linenumbers"], gutters: ["CodeMirror-foldgutter","CodeMirror-lint-markers","CodeMirror-linenumbers"],
foldGutter: {gutter: "CodeMirror-foldgutter"},
foldOptions: {minFoldSize: 1},
lineWrapping: top.ICEcoder.lineWrapping, lineWrapping: top.ICEcoder.lineWrapping,
indentWithTabs: top.ICEcoder.indentWithTabs, indentWithTabs: top.ICEcoder.indentWithTabs,
indentUnit: top.ICEcoder.indentSize, indentUnit: top.ICEcoder.indentSize,
tabSize: top.ICEcoder.indentSize, tabSize: top.ICEcoder.indentSize,
matchBrackets: top.ICEcoder.matchBrackets,
electricChars: false, electricChars: false,
autoCloseTags: true, autoCloseTags: top.ICEcoder.autoCloseTags,
autoCloseBrackets: true, autoCloseBrackets: top.ICEcoder.autoCloseBrackets,
highlightSelectionMatches: true, highlightSelectionMatches: true,
showTrailingSpace: true, scrollbarStyle: 'overlay', // null, 'native', 'simple', 'overlay'
showTrailingSpace: top.ICEcoder.showTrailingSpace,
lint: false, lint: false,
keyMap: "ICEcoder" keyMap: "ICEcoder"
}; };
@@ -266,8 +260,8 @@ function createNewCMInstance(num) {
window['cM'+num+'diff'] .on("beforeSelectionChange", function(thisCM, changeObj) {top.ICEcoder.prevLineDiff = thisCM.getCursor().line;}); window['cM'+num+'diff'] .on("beforeSelectionChange", function(thisCM, changeObj) {top.ICEcoder.prevLineDiff = thisCM.getCursor().line;});
// Change // Change
window['cM'+num] .on("change", function(thisCM, changeObj) {top.ICEcoder.cMonChange(thisCM,'cM'+num,changeObj)}); window['cM'+num] .on("change", function(thisCM, changeObj) {top.ICEcoder.cMonChange(thisCM,'cM'+num,changeObj,CodeMirror)});
window['cM'+num+'diff'] .on("change", function(thisCM, changeObj) {top.ICEcoder.cMonChange(thisCM,'cM'+num+'diff',changeObj)}); window['cM'+num+'diff'] .on("change", function(thisCM, changeObj) {top.ICEcoder.cMonChange(thisCM,'cM'+num+'diff',changeObj,CodeMirror)});
// Before change // Before change
window['cM'+num] .on("beforeChange", function(thisCM, changeObj) {top.ICEcoder.cMonBeforeChange(thisCM,'cM'+num,changeObj,CodeMirror)}); window['cM'+num] .on("beforeChange", function(thisCM, changeObj) {top.ICEcoder.cMonBeforeChange(thisCM,'cM'+num,changeObj,CodeMirror)});
@@ -277,14 +271,30 @@ function createNewCMInstance(num) {
window['cM'+num] .on("scroll", function(thisCM) {top.ICEcoder.cMonScroll(thisCM,'cM'+num)}); window['cM'+num] .on("scroll", function(thisCM) {top.ICEcoder.cMonScroll(thisCM,'cM'+num)});
window['cM'+num+'diff'] .on("scroll", function(thisCM) {top.ICEcoder.cMonScroll(thisCM,'cM'+num+'diff')}); window['cM'+num+'diff'] .on("scroll", function(thisCM) {top.ICEcoder.cMonScroll(thisCM,'cM'+num+'diff')});
// Gutter click // Update
window['cM'+num] .on("gutterClick", function(thisCM, line, gutter, clickEvent) {CodeMirror.doFold(thisCM.getLine(line).indexOf("{")>-1 ? "brace" : "xml",null,"+","-",false)(thisCM, line);}); window['cM'+num] .on("update", function(thisCM) {top.ICEcoder.cMonUpdate(thisCM,'cM'+num)});
window['cM'+num+'diff'] .on("gutterClick", function(thisCM, line, gutter, clickEvent) {CodeMirror.doFold(thisCM.getLine(line).indexOf("{")>-1 ? "brace" : "xml",null,"+","-",false)(thisCM, line);}); window['cM'+num+'diff'] .on("update", function(thisCM) {top.ICEcoder.cMonUpdate(thisCM,'cM'+num+'diff')});
// Input read // Input read
window['cM'+num] .on("inputRead", function(thisCM) {top.ICEcoder.cMonInputRead(thisCM,'cM'+num)}); window['cM'+num] .on("inputRead", function(thisCM) {top.ICEcoder.cMonInputRead(thisCM,'cM'+num)});
window['cM'+num+'diff'] .on("inputRead", function(thisCM) {top.ICEcoder.cMonInputRead(thisCM,'cM'+num+'diff')}); window['cM'+num+'diff'] .on("inputRead", function(thisCM) {top.ICEcoder.cMonInputRead(thisCM,'cM'+num+'diff')});
// Gutter Click
window['cM'+num] .on("gutterClick", function(thisCM,line,gutter,evt) {top.ICEcoder.cMonGutterClick(thisCM,line,gutter,evt,'cM'+num)});
window['cM'+num+'diff'] .on("gutterClick", function(thisCM,line,gutter,evt) {top.ICEcoder.cMonGutterClick(thisCM,line,gutter,evt,'cM'+num+'diff')});
// Mouse Down
window['cM'+num] .on("mousedown", function(thisCM,evt) {top.ICEcoder.cMonMouseDown(thisCM,'cM'+num,evt)});
window['cM'+num+'diff'] .on("mousedown", function(thisCM,evt) {top.ICEcoder.cMonMouseDown(thisCM,'cM'+num+'diff',evt)});
// Context Menu
window['cM'+num] .on("contextmenu", function(thisCM,evt) {top.ICEcoder.cMonContextMenu(thisCM,'cM'+num,evt)});
window['cM'+num+'diff'] .on("contextmenu", function(thisCM,evt) {top.ICEcoder.cMonContextMenu(thisCM,'cM'+num+'diff',evt)});
// Drag Over
window['cM'+num] .on("dragover", function(thisCM) {top.ICEcoder.cMonDragOver(thisCM,event,'cM'+num)});
window['cM'+num+'diff'] .on("dragover", function(thisCM) {top.ICEcoder.cMonDragOver(thisCM,event,'cM'+num+'diff')});
// Render line // Render line
window['cM'+num] .on("renderLine", function(thisCM, line, element) {top.ICEcoder.cMonRenderLine(thisCM,'cM'+num,line,element)}); window['cM'+num] .on("renderLine", function(thisCM, line, element) {top.ICEcoder.cMonRenderLine(thisCM,'cM'+num,line,element)});
window['cM'+num+'diff'] .on("renderLine", function(thisCM, line, element) {top.ICEcoder.cMonRenderLine(thisCM,'cM'+num+'diff',line,element)}); window['cM'+num+'diff'] .on("renderLine", function(thisCM, line, element) {top.ICEcoder.cMonRenderLine(thisCM,'cM'+num+'diff',line,element)});
@@ -297,6 +307,8 @@ function createNewCMInstance(num) {
<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>
<div style="position: absolute; display: none; height: 100%; width: 100%; top: 0; padding: 3px 0 0 60px; line-height: 16px; font-family: monospace; font-size: 13px; z-index: 2147483647" id="game"></div>
<?php include_once("processes/on-editor-load.php"); ?> <?php include_once("processes/on-editor-load.php"); ?>
</body> </body>

View File

@@ -8,7 +8,7 @@ $isGitHubRepoDir = in_array($ICEcoder["root"],$ICEcoder['githubLocalPaths']);
?> ?>
<!DOCTYPE html> <!DOCTYPE html>
<html onMouseDown="top.ICEcoder.mouseDown=true; top.ICEcoder.boxSelect(event,'down')" onMouseUp="top.ICEcoder.mouseDown=false; top.ICEcoder.boxSelect(event,'up'); if (!top.ICEcoder.overCloseLink) {top.ICEcoder.tabDragEnd()}" onMouseMove="if(top.ICEcoder) {top.ICEcoder.getMouseXY(event,'files');top.ICEcoder.canResizeFilesW(); top.ICEcoder.boxSelect(event,'drag')}" onDrop="if(top.ICEcoder) {top.ICEcoder.getMouseXY(event,'files')}" onContextMenu="top.ICEcoder.selectFileFolder(event); return top.ICEcoder.showMenu(event)" onClick="if (!top.ICEcoder.fmDraggedBox) {top.ICEcoder.selectFileFolder(event)} else {top.ICEcoder.fmDraggedBox = false}" onDragStart="top.ICEcoder.selectFileFolder(event);" onDragOver="event.preventDefault();event.stopPropagation()"> <html onMouseDown="top.ICEcoder.mouseDown=true; top.ICEcoder.resetAutoLogoutTimer(); top.ICEcoder.boxSelect(event,'down')" onMouseUp="top.ICEcoder.mouseDown=false; top.ICEcoder.resetAutoLogoutTimer(); top.ICEcoder.mouseDownInCM=false; top.ICEcoder.boxSelect(event,'up'); if (!top.ICEcoder.overCloseLink) {top.ICEcoder.tabDragEnd()}" onMouseMove="if(top.ICEcoder) {top.ICEcoder.getMouseXY(event,'files'); top.ICEcoder.resetAutoLogoutTimer(); top.ICEcoder.canResizeFilesW(); top.ICEcoder.boxSelect(event,'drag')}" onDrop="if(top.ICEcoder) {top.ICEcoder.getMouseXY(event,'files')}" onContextMenu="top.ICEcoder.selectFileFolder(event); return top.ICEcoder.showMenu(event)" onClick="if (!top.ICEcoder.fmDraggedBox) {top.ICEcoder.selectFileFolder(event)} else {top.ICEcoder.fmDraggedBox = false}" onDragStart="top.ICEcoder.selectFileFolder(event);" onDragOver="event.preventDefault();event.stopPropagation()">
<head> <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">
@@ -56,6 +56,8 @@ $permColors = $thisPermVal == 777 ? 'background: #800; color: #eee' : 'color: #8
<iframe name="processControl" style="display: none"></iframe> <iframe name="processControl" style="display: none"></iframe>
<iframe name="pingActive" style="display: none"></iframe>
<div class="fmDragBox" id="fmDragBox"></div> <div class="fmDragBox" id="fmDragBox"></div>
</body> </body>

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 15 KiB

BIN
images/snake.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 136 B

View File

@@ -3,28 +3,15 @@ include("lib/headers.php");
include("lib/settings.php"); include("lib/settings.php");
$t = $text['index']; $t = $text['index'];
// Check IP permissions
if (!in_array($_SERVER["REMOTE_ADDR"], $_SESSION['allowedIPs']) && !in_array("*", $_SESSION['allowedIPs'])) {
header('Location: /');
die("Sorry, not in allowed IPs list");
};
$updateMsg = ''; $updateMsg = '';
// Check for updates // Check for updates
if ($ICEcoder["checkUpdates"]) { if ($ICEcoder["checkUpdates"]) {
$icv_url = "https://icecoder.net/latest-version?thisVersion=".$ICEcoder["versionNo"]; $icv_url = "https://icecoder.net/latest-version?thisVersion=".$ICEcoder["versionNo"];
if (ini_get('allow_url_fopen')) { $icvData = getData($icv_url,'curl',false,5);
$icvInfo = @file_get_contents($icv_url,false,$context); if ($icvData == "no data") {
if (!$icvInfo) { $icvData = "1.0\nICEcoder version placeholder";
$icvInfo = file_get_contents(str_replace("https:","http:",$icv_url), false, $context);
}
$icvInfo = explode("\n",$icvInfo);
} elseif (function_exists('curl_init')) {
$ch = curl_init($icv_url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$icvInfo = explode("\n", curl_exec($ch));
} }
$icvInfo = explode("\n", $icvData);
$icv = $icvInfo[0]; $icv = $icvInfo[0];
$icvI = str_replace('"','\\\'',$icvInfo[1]); $icvI = str_replace('"','\\\'',$icvInfo[1]);
$thisV = $ICEcoder["versionNo"]; $thisV = $ICEcoder["versionNo"];
@@ -37,7 +24,7 @@ if ($ICEcoder["checkUpdates"]) {
$isMac = strpos($_SERVER['HTTP_USER_AGENT'], "Macintosh")>-1 ? true : false; $isMac = strpos($_SERVER['HTTP_USER_AGENT'], "Macintosh")>-1 ? true : false;
?> ?>
<!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="if (!top.ICEcoder.getcMInstance().hasFocus() && !top.ICEcoder.getcMdiffInstance().hasFocus()) {event.wheelDelta > 0 ? top.ICEcoder.nextTab() : top.ICEcoder.previousTab();}"> <html onMouseDown="top.ICEcoder.mouseDown=true; top.ICEcoder.resetAutoLogoutTimer();" onMouseUp="top.ICEcoder.mouseDown=false; top.ICEcoder.resetAutoLogoutTimer(); top.ICEcoder.mouseDownInCM=false; if (!top.ICEcoder.overCloseLink) {top.ICEcoder.tabDragEnd()}" onMouseMove="if(top.ICEcoder) {top.ICEcoder.getMouseXY(event,'top'); top.ICEcoder.resetAutoLogoutTimer(); top.ICEcoder.canResizeFilesW()}" onMouseWheel="top.ICEcoder.resetAutoLogoutTimer(); if (top.ICEcoder.getcMInstance() && !top.ICEcoder.getcMInstance().hasFocus() && !top.ICEcoder.getcMdiffInstance().hasFocus()) {event.wheelDelta > 0 ? top.ICEcoder.nextTab() : top.ICEcoder.previousTab();}">
<head> <head>
<title>ICEcoder v <?php echo $ICEcoder["versionNo"];?></title> <title>ICEcoder v <?php echo $ICEcoder["versionNo"];?></title>
<!--Updated via settings so must remain 1st stylesheet//--> <!--Updated via settings so must remain 1st stylesheet//-->
@@ -48,17 +35,23 @@ $isMac = strpos($_SERVER['HTTP_USER_AGENT'], "Macintosh")>-1 ? true : false;
<meta name="robots" content="noindex, nofollow"> <meta name="robots" content="noindex, nofollow">
<meta name="viewport" content="width=device-width, initial-scale=0.5, user-scalable=no"> <meta name="viewport" content="width=device-width, initial-scale=0.5, user-scalable=no">
<link rel="stylesheet" type="text/css" href="lib/ice-coder.css?microtime=<?php echo microtime(true);?>"> <link rel="stylesheet" type="text/css" href="lib/ice-coder.css?microtime=<?php echo microtime(true);?>">
<link rel="stylesheet" href="<?php
if ($ICEcoder["theme"]=="default") {echo 'lib/editor.css';} else {echo $ICEcoder["codeMirrorDir"].'/theme/'.$ICEcoder["theme"].'.css';};
echo "?microtime=".microtime(true);
?>">
<link rel="icon" type="image/png" href="favicon.png"> <link rel="icon" type="image/png" href="favicon.png">
<script> <script>
iceRoot = "<?php echo $ICEcoder['root']; ?>"; iceRoot = "<?php echo $ICEcoder['root']; ?>";
window.onbeforeunload = function() { window.onbeforeunload = function() {
for(var i=1;i<=ICEcoder.savedPoints.length;i++) { if(top.ICEcoder.autoLogoutTimer < top.ICEcoder.autoLogoutMins*60) {
if (ICEcoder.savedPoints[i-1]!=top.ICEcoder.getcMInstance(i).changeGeneration()) { for(var i=1;i<=ICEcoder.savedPoints.length;i++) {
return "<?php echo $t['You have some...'];?>."; if (ICEcoder.savedPoints[i-1]!=top.ICEcoder.getcMInstance(i).changeGeneration()) {
return "<?php echo $t['You have some...'];?>.";
}
} }
return "<?php echo $t['Are you sure...'];?>";
} }
return "<?php echo $t['Are you sure...'];?>";
} }
t = { t = {
@@ -78,6 +71,7 @@ $t = $text['index'];
</script> </script>
<script language="JavaScript" src="lib/ice-coder<?php if (!$ICEcoder['devMode']) {echo '.min';};?>.js?microtime=<?php echo microtime(true);?>"></script> <script language="JavaScript" src="lib/ice-coder<?php if (!$ICEcoder['devMode']) {echo '.min';};?>.js?microtime=<?php echo microtime(true);?>"></script>
<script src="lib/mmd.js?microtime=<?php echo microtime(true);?>"></script> <script src="lib/mmd.js?microtime=<?php echo microtime(true);?>"></script>
<script src="lib/draggabilly.pkgd.min.js?microtime=<?php echo microtime(true);?>"></script>
<script src="farbtastic/farbtastic.js?microtime=<?php echo microtime(true);?>"></script> <script src="farbtastic/farbtastic.js?microtime=<?php echo microtime(true);?>"></script>
<script src="lib/difflib.js?microtime=<?php echo microtime(true);?>"></script> <script src="lib/difflib.js?microtime=<?php echo microtime(true);?>"></script>
<link rel="stylesheet" href="farbtastic/farbtastic.css?microtime=<?php echo microtime(true);?>" type="text/css"> <link rel="stylesheet" href="farbtastic/farbtastic.css?microtime=<?php echo microtime(true);?>" type="text/css">
@@ -92,6 +86,7 @@ $t = $text['index'];
} }
echo "];"; echo "];";
echo "top.ICEcoder.theme = '".($ICEcoder["theme"]=="default" ? 'icecoder' : $ICEcoder["theme"])."';". echo "top.ICEcoder.theme = '".($ICEcoder["theme"]=="default" ? 'icecoder' : $ICEcoder["theme"])."';".
"top.ICEcoder.autoLogoutMins = ".$ICEcoder["autoLogoutMins"].";".
"top.ICEcoder.fontSize = '".$ICEcoder["fontSize"]."';". "top.ICEcoder.fontSize = '".$ICEcoder["fontSize"]."';".
"top.ICEcoder.openLastFiles = ".($ICEcoder["openLastFiles"] ? 'true' : 'false').";". "top.ICEcoder.openLastFiles = ".($ICEcoder["openLastFiles"] ? 'true' : 'false').";".
"top.ICEcoder.updateDiffOnSave = ".($ICEcoder["updateDiffOnSave"] ? 'true' : 'false').";". "top.ICEcoder.updateDiffOnSave = ".($ICEcoder["updateDiffOnSave"] ? 'true' : 'false').";".
@@ -99,6 +94,11 @@ $t = $text['index'];
"top.ICEcoder.codeAssist = ".($ICEcoder["codeAssist"] ? 'true' : 'false').";". "top.ICEcoder.codeAssist = ".($ICEcoder["codeAssist"] ? 'true' : 'false').";".
"top.ICEcoder.lockedNav = ".($ICEcoder["lockedNav"] ? 'true' : 'false').";". "top.ICEcoder.lockedNav = ".($ICEcoder["lockedNav"] ? 'true' : 'false').";".
"top.ICEcoder.lineWrapping = ".($ICEcoder["lineWrapping"] ? 'true' : 'false').";". "top.ICEcoder.lineWrapping = ".($ICEcoder["lineWrapping"] ? 'true' : 'false').";".
"top.ICEcoder.lineNumbers = ".($ICEcoder["lineNumbers"] ? 'true' : 'false').";".
"top.ICEcoder.showTrailingSpace = ".($ICEcoder["showTrailingSpace"] ? 'true' : 'false').";".
"top.ICEcoder.matchBrackets = ".($ICEcoder["matchBrackets"] ? 'true' : 'false').";".
"top.ICEcoder.autoCloseTags = ".($ICEcoder["autoCloseTags"] ? 'true' : 'false').";".
"top.ICEcoder.autoCloseBrackets = ".($ICEcoder["autoCloseBrackets"] ? 'true' : 'false').";".
"top.ICEcoder.indentWithTabs = ".($ICEcoder["indentWithTabs"] ? 'true' : 'false').";". "top.ICEcoder.indentWithTabs = ".($ICEcoder["indentWithTabs"] ? 'true' : 'false').";".
"top.ICEcoder.indentAuto = ".($ICEcoder["indentAuto"] ? 'true' : 'false').";". "top.ICEcoder.indentAuto = ".($ICEcoder["indentAuto"] ? 'true' : 'false').";".
"top.ICEcoder.indentSize = ".$ICEcoder["indentSize"].";". "top.ICEcoder.indentSize = ".$ICEcoder["indentSize"].";".
@@ -167,7 +167,7 @@ $t = $text['index'];
<span id="singleFileMenuItems"> <span id="singleFileMenuItems">
<a href="javascript:top.ICEcoder.renameFile(top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-1])" onMouseOver="ICEcoder.showFileMenu()"><?php echo $t['Rename'];?></a> <a href="javascript:top.ICEcoder.renameFile(top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-1])" onMouseOver="ICEcoder.showFileMenu()"><?php echo $t['Rename'];?></a>
<div onMouseOver="ICEcoder.showFileMenu()" style="padding: 2px 0"><hr></div> <div onMouseOver="ICEcoder.showFileMenu()" style="padding: 2px 0"><hr></div>
<a nohref onClick="window.open(iceRoot + top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-1].replace(/\|/g,'/'))" onMouseOver="ICEcoder.showFileMenu()" style="cursor: pointer"><?php echo $t['View Webpage'];?></a> <a nohref onClick="window.open('//<?php echo $_SERVER['HTTP_HOST'];?>' + iceRoot + top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-1].replace(/\|/g,'/'))" onMouseOver="ICEcoder.showFileMenu()" style="cursor: pointer"><?php echo $t['View Webpage'];?></a>
</span> </span>
<div onMouseOver="ICEcoder.showFileMenu()" style="padding: 2px 0"><hr></div> <div onMouseOver="ICEcoder.showFileMenu()" style="padding: 2px 0"><hr></div>
<?php <?php
@@ -233,14 +233,16 @@ $t = $text['index'];
</div> </div>
<div id="optionsSource" class="optionsList" onmouseover="top.ICEcoder.showHideFileNav('show',this.id)" onmouseout="top.ICEcoder.showHideFileNav('hide',this.id);top.ICEcoder.canShowFMNav=false"> <div id="optionsSource" class="optionsList" onmouseover="top.ICEcoder.showHideFileNav('show',this.id)" onmouseout="top.ICEcoder.showHideFileNav('hide',this.id);top.ICEcoder.canShowFMNav=false">
<ul> <ul>
<li><a nohref onclick="ICEcoder.refreshFileManager()">Localhost</a></li> <li><a nohref onclick="ICEcoder.goLocalhostRoot()">Localhost</a></li>
<li><a nohref onclick="ICEcoder.ftpManager()">FTP</a></li>
<li><a nohref onclick="ICEcoder.githubManager()">GitHub</a></li> <li><a nohref onclick="ICEcoder.githubManager()">GitHub</a></li>
<!--
<li><a nohref onclick="ICEcoder.message('SVN integration coming soon')">SVN</a></li> <li><a nohref onclick="ICEcoder.message('SVN integration coming soon')">SVN</a></li>
<li><a nohref onclick="ICEcoder.message('Bitbucket integration coming soon\n\nCan you help with this? Get involved at icecoder.net')">Bitbucket</a></li> <li><a nohref onclick="ICEcoder.message('Bitbucket integration coming soon\n\nCan you help with this? Get involved at icecoder.net')">Bitbucket</a></li>
<li><a nohref onclick="ICEcoder.message('Amazon AWS integration coming soon\n\nCan you help with this? Get involved at icecoder.net')">Amazon AWS</a></li> <li><a nohref onclick="ICEcoder.message('Amazon AWS integration coming soon\n\nCan you help with this? Get involved at icecoder.net')">Amazon AWS</a></li>
<li><a nohref onclick="ICEcoder.message('Dropbox integration coming soon\n\nCan you help with this? Get involved at icecoder.net')">Dropbox</a></li> <li><a nohref onclick="ICEcoder.message('Dropbox integration coming soon\n\nCan you help with this? Get involved at icecoder.net')">Dropbox</a></li>
<li><a nohref onclick="ICEcoder.message('FTP integration coming soon\n\nCan you help with this? Get involved at icecoder.net')">FTP</a></li>
<li><a nohref onclick="ICEcoder.message('SSH integration coming soon\n\nCan you help with this? Get involved at icecoder.net')">SSH</a></li> <li><a nohref onclick="ICEcoder.message('SSH integration coming soon\n\nCan you help with this? Get involved at icecoder.net')">SSH</a></li>
//-->
</ul> </ul>
</div> </div>
<div id="optionsHelp" class="optionsList" onmouseover="top.ICEcoder.showHideFileNav('show',this.id)" onmouseout="top.ICEcoder.showHideFileNav('hide',this.id);top.ICEcoder.canShowFMNav=false"> <div id="optionsHelp" class="optionsList" onmouseover="top.ICEcoder.showHideFileNav('show',this.id)" onmouseout="top.ICEcoder.showHideFileNav('hide',this.id);top.ICEcoder.canShowFMNav=false">
@@ -252,7 +254,7 @@ $t = $text['index'];
</ul> </ul>
</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; top.ICEcoder.mouseDownInCM=false}"></iframe>
<div class="serverMessage" id="serverMessage"></div> <div class="serverMessage" id="serverMessage"></div>
</div> </div>
@@ -302,27 +304,50 @@ $t = $text['index'];
</div> </div>
<input type="hidden" name="csrf" value="<?php echo $_SESSION["csrf"]; ?>"> <input type="hidden" name="csrf" value="<?php echo $_SESSION["csrf"]; ?>">
</form> </form>
<form onSubmit="return ICEcoder.goToLine()"> <form onSubmit="return ICEcoder.goToLine(top.get('goToLineNo').value, 0, false)">
<div class="codeAssist" title="<?php echo $t['Turn on/off...'];?>"> <div class="codeAssist" title="<?php echo $t['Turn on/off...'];?>">
<input type="checkbox" name="codeAssist" id="codeAssist" class="codeAssistCheckbox" <?php if ($ICEcoder['codeAssist']) {echo 'checked ';};?>> <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> <?php echo $t['Code Assist'];?> <span class="codeAssistDisplay" id="codeAssistDisplay" style="background-position: <?php echo $ICEcoder['codeAssist'] ? "0" : "-16";?> 0" onClick="top.ICEcoder.codeAssistToggle()"></span> <?php echo $t['Code Assist'];?>
</div> </div>
<div class="goLine"><?php echo $t['Go to Line'];?> <input type="text" name="goToLine" value="" id="goToLineNo" class="textbox goToLine"> <div class="goLine"><?php echo $t['Go to Line'];?> <input type="text" name="goToLine" value="" id="goToLineNo" onkeyup="ICEcoder.goToLine(this.value, 0, true)" class="textbox goToLine">
<div class="view" title="<?php echo $t['View'];?>" onClick="top.ICEcoder.openPreviewWindow()" id="fMView"></div> <div class="view" title="<?php echo $t['View'];?>" onClick="top.ICEcoder.openPreviewWindow()" id="fMView"></div>
<div class="bug" title="<?php echo $t['Bug reporting not active'];?>" onClick="top.ICEcoder.openBugReport()" id="bugIcon"></div> <div class="bug" title="<?php echo $t['Bug reporting not active'];?>" onClick="top.ICEcoder.openBugReport()" id="bugIcon"></div>
<div class="minimapLink" onclick="top.ICEcoder.docExplorerShow('miniMap')"></div>
<div class="functionClassListLink" onclick="top.ICEcoder.docExplorerShow('functionClassList')"></div>
<input type="hidden" name="csrf" value="<?php echo $_SESSION["csrf"]; ?>"> <input type="hidden" name="csrf" value="<?php echo $_SESSION["csrf"]; ?>">
</form> </form>
</div> </div>
<iframe name="contentFrame" id="content" src="editor.php" class="code"></iframe> <iframe name="terminalFrame" id="terminal" src="terminal.php" class="terminal"></iframe>
<pre id="output" class="output"><b>Output</b><br>via top.ICEcoder.output(message);<br><br></pre>
<iframe name="databaseFrame" id="database" src="lib/database.php" class="database"></iframe>
<div id="git" class="git">Git diff integration coming soon</div>
<iframe name="contentFrame" id="content" src="editor.php" class="code" scrolling="no"></iframe>
</div>
<div class="tools" id="tools">
<div onclick="top.ICEcoder.toolShowHideToggle('terminal')">Terminal</div>
<div onclick="top.ICEcoder.toolShowHideToggle('output')">Output</div>
<div onclick="top.ICEcoder.toolShowHideToggle('database')">Database</div>
<div onclick="top.ICEcoder.toolShowHideToggle('git')">Git</div>
</div> </div>
<div class="footer" id="footer" onContextMenu="return false"> <div class="footer" id="footer" onContextMenu="return false">
<div class="nesting" id="nestValid"></div> <div class="nesting" id="nestValid"></div>
<div class="splitPaneControls" id="splitPaneControls"><div class="off" id="splitPaneControlsOff" title="<?php echo $t['Single pane'];?>" onclick="top.ICEcoder.setSplitPane('off')"></div><div class="on" id="splitPaneControlsOn" title="<?php echo $t['Diff pane also'];?>" onclick="top.ICEcoder.setSplitPane('on')" style="opacity: 0.5"></div></div> <div class="versionsDisplay" id="versionsDisplay" onclick="top.ICEcoder.versionsScreen(top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1].replace(/\//g,'|'))"></div>
<div class="splitPaneControls" id="splitPaneControls"><div class="off" id="splitPaneControlsOff" title="<?php echo $t['Single pane'];?>" onclick="top.ICEcoder.setSplitPane('off')" style="opacity: 0.5"></div><div class="on" id="splitPaneControlsOn" title="<?php echo $t['Diff pane also'];?>" onclick="top.ICEcoder.setSplitPane('on')" style="opacity: 0.2"></div></div>
<div class="splitPaneNames" id="splitPaneNamesMain">Main Pane</div>
<div class="splitPaneNames" id="splitPaneNamesDiff">Diff Pane</div>
<div class="byteDisplay" id="byteDisplay" style="display: none" onClick="top.ICEcoder.showDisplay('char')"></div> <div class="byteDisplay" id="byteDisplay" style="display: none" onClick="top.ICEcoder.showDisplay('char')"></div>
<div class="charDisplay" id="charDisplay" style="display: inline-block" onClick="top.ICEcoder.showDisplay('byte')"></div> <div class="charDisplay" id="charDisplay" style="display: inline-block" onClick="top.ICEcoder.showDisplay('byte')"></div>
</div> </div>
<div class="docExplorer" id="docExplorer">
<div class="miniMap" id="miniMap"><div class="miniMapContainer" id="miniMapContainer"></div><div class="miniMapContent" id="miniMapContent"></div></div>
<div class="functionClassList" id="functionClassList"></div>
</div>
<div id="tooltip" style="position: absolute; display: none; top: 0; left: 0; padding: 5px; background: #444; color: #bbb"></div>
<script> <script>
ICEcoder.initAliases(); ICEcoder.initAliases();
ICEcoder.setLayout('dontSetEditor'); ICEcoder.setLayout('dontSetEditor');
@@ -330,4 +355,4 @@ ICEcoder.setLayout('dontSetEditor');
</body> </body>
</html> </html>

View File

@@ -424,4 +424,3 @@ $text = array(
) )
); );
?>

View File

@@ -424,4 +424,3 @@ $text = array(
) )
); );
?>

View File

@@ -1,7 +1,7 @@
<?php <?php
// Dutch language translation // Dutch language translation
// Door: Julian Kaagman // Door: Julian Kaagman
// @dutchwaters (GitHub) // @JpaKaagman (GitHub)
// Please preserve formatting, line breaks, special characters, anything in <tags> and HTML equivalents (eg &amp;). Translations on right side. // Please preserve formatting, line breaks, special characters, anything in <tags> and HTML equivalents (eg &amp;). Translations on right side.
// Special chars: http://www.ascii.cl/htmlcodes.htm // Special chars: http://www.ascii.cl/htmlcodes.htm
@@ -12,7 +12,6 @@ $text = array(
"editor" => "editor" =>
array( array(
"Click icons for..." => "<strong>Klik op de icoontjes<br>voor hulp &amp;<br>gebruiks info</strong>",
"server" => "server", "server" => "server",
"Server name, OS..." => "Server naam, besturingssysteem & IP:", "Server name, OS..." => "Server naam, besturingssysteem & IP:",
"Root" => "Root:", "Root" => "Root:",
@@ -30,9 +29,7 @@ $text = array(
"dev mode" => "Ontwikkelaars modus", "dev mode" => "Ontwikkelaars modus",
"Status" => "Status", "Status" => "Status",
"Using" => "Gebruikt", "Using" => "Gebruikt",
"You can switch..." => "U kunt de ontwikkelaars modus aan/uit zetten "You can switch..." => "U kunt de ontwikkelaars modus aan/uit zetten in lib/config__settings.php",
in lib/config__settings.php",
"results" => "resultaten"
), ),
@@ -40,6 +37,7 @@ in lib/config__settings.php",
array( array(
"Lock" => "Vergrendelen", "Lock" => "Vergrendelen",
"Refresh" => "Vernieuwen", "Refresh" => "Vernieuwen",
"Plugins" => "Plugins",
"ROOT" => "[ROOT]" "ROOT" => "[ROOT]"
), ),
@@ -51,9 +49,10 @@ in lib/config__settings.php",
"Your version is" => "Uw versie is", "Your version is" => "Uw versie is",
"Update now" => "Nu updaten", "Update now" => "Nu updaten",
"You have some..." => "Er zijn wijzigingen die niet opgeslagen zijn", "You have some..." => "Er zijn wijzigingen die niet opgeslagen zijn",
"Are you sure you want to close?" => "Are you sure you want to close?", "Are you sure..." => "Weet u zeker dat u wilt sluiten ?",
"working" => "bezig", "working" => "bezig",
"Color picker" => "Kleuren kiezer", "Color picker" => "Kleuren kiezer",
"Plugins Manager" => "Plugin beheer",
"New File" => "Nieuw bestand", "New File" => "Nieuw bestand",
"New Folder" => "Nieuwe map", "New Folder" => "Nieuwe map",
"Upload File(s)" => "Upload bestand(en)", "Upload File(s)" => "Upload bestand(en)",
@@ -68,14 +67,14 @@ in lib/config__settings.php",
"Properties" => "Eigenschappen", "Properties" => "Eigenschappen",
"File" => "Bestand", "File" => "Bestand",
"Edit" => "Bewerken", "Edit" => "Bewerken",
"Remote" => "Extern", "Source" => "Bron",
"Help" => "Help", "Help" => "Help",
"Save" => "Opslaan", "Save" => "Opslaan",
"Save As" => "Opslaan als", "Save As" => "Opslaan als",
"Live Preview" => "Voorbeeld", "Live Preview" => "Voorbeeld",
"Upload" => "Upload", "Upload" => "Upload",
"Zip" => "Zip", "Zip" => "Zip",
"Print" => "Print", "Print" => "Afdrukken",
"Fullscreen toggle" => "Schakelen volledig scherm", "Fullscreen toggle" => "Schakelen volledig scherm",
"Logout" => "Uitloggen", "Logout" => "Uitloggen",
"Undo" => "Ongedaan maken", "Undo" => "Ongedaan maken",
@@ -86,30 +85,46 @@ in lib/config__settings.php",
"Comment/Uncomment" => "Commentaar maken", "Comment/Uncomment" => "Commentaar maken",
"Jump to Definition" => "Spring naar definitie", "Jump to Definition" => "Spring naar definitie",
"Manual" => "Handleiding", "Manual" => "Handleiding",
"Shortcuts" => "Snelkoppeling", "Shortcuts" => "Sneltoetsen",
"Settings" => "Opties", "Settings" => "Opties",
"Search for selected" => "Zoek naar geselecteerd", "Search for selected" => "Zoek naar geselecteerd",
"website" => "website", "website" => "website",
"Close all tabs" => "Sluit alle tabbladen", "Close all tabs" => "Sluit alle tabbladen",
"Alphabetize tabs" => "Sorteer tabbladen", "Alphabetize tabs" => "Sorteer tabbladen",
// "Find" => "Zoek", "Find" => "Zoek",
// "in" => "in", "in" => "in",
// "and" => "en", "and" => "en",
// "replace" => "vervangen", "replace" => "vervangen",
// "replace all" => "alles vervangen", "replace all" => "alles vervangen",
// "this document" => "dit document", "this document" => "dit document",
// "open documents" => "open documenten", "open documents" => "open documenten",
// "all files" => "alle bestanden", "all files" => "alle bestanden",
// "all filenames" => "alle bestandsnamen", "all filenames" => "alle bestandsnamen",
"Turn on/off..." => "Schakel codehulp aan/uit", "Turn on/off..." => "Schakel codehulp aan/uit",
"Code Assist" => "Codehulp", "Code Assist" => "Codehulp",
"Go to Line" => "Ga naar regel", "Go to Line" => "Ga naar regel",
"View" => "Beeld", "View" => "Beeld",
"Bug reporting not active" => "Bug rapportage niet actief" "Bug reporting not active" => "Bug rapportage niet actief",
"Single pane" => "Enkel pane",
"Diff pane also" => "Ook diff pane"
), ),
// /LIB // /LIB
"auto-logout-warning" =>
array(
"Auto Logout Warning" => "Auto logout waarschuwing",
"You will be..." => "U wordt uitgelogd na",
"seconds due to..." => "seconden ivm inactiviteit, voor veiligheids doeleinden. Gebruik de muis of druk op een toets om door te gaan.<br><br>U kunt deze functie aanpassen of uitschakelen in Bewerken > Opties."
),
"backup-versions" =>
array(
"backup" => "backup",
"backups" => "backups",
"available for" => "beschikbaar voor"
),
"bug-files-check" => "bug-files-check" =>
array( array(
"Found in" => "Gevonden in:" "Found in" => "Gevonden in:"
@@ -117,32 +132,34 @@ in lib/config__settings.php",
"file-control" => "file-control" =>
array( array(
"Sorry, bad filename..." => "Er is een ongeldige bestandsnaam opgegeven. Bekijk de dev tools console voor meer informatie.",
"Sorry" => "Sorry", "Sorry" => "Sorry",
"does not seem..." => "bestaat niet op de server", "does not seem..." => "bestaat niet op de server",
"Sorry, could not..." => "Sorry, kan geen gegevens ophalen van", "Sorry, could not..." => "Het is niet mogelijk om de gegevens op te halen van",
"Sorry, cannot create..." => "Sorry, kan geen map aanmaken op", "Sorry, cannot create..." => "Er kan geen map worden aangemaakt op",
"Sorry, cannot copy" => "Sorry, kan niet het volgende niet kopi&euml;ren", "Sorry, cannot copy" => "Kan niet worden gekopie&euml;rd",
"into" => "naar", "into" => "naar",
"Uploaded file(s) OK" => "Ge&uuml;ploade bestand(en)", "Uploaded file(s) OK" => "Ge&uuml;ploade bestand(en)",
"Sorry, cannot upload" => "Sorry, kan niet uploaden", "Sorry, cannot upload" => "Kan niet uploaden",
"Sorry, cannot upload..." => "Sorry, kan niet uploaden in de demo modus", "Sorry, cannot upload..." => "Kan niet uploaden in de demo modus",
"Sorry, cannot rename" => "Sorry, kan niet hernoemen", "Sorry, cannot rename" => "Kan niet hernoemen",
"Maybe public write..." => "Misschien zijn er publieke schrijfrechten nodig voor deze, of de bovenliggende map?", "Maybe public write..." => "Misschien zijn er publieke schrijfrechten nodig voor deze, of de bovenliggende map?",
"Sorry, cannot move" => "Sorry, kan niet worden verplaatst", "Sorry, cannot move" => "Kan niet worden verplaatst",
"Sorry, cannot save" => "Sorry, kan niet opslaan", "Sorry, cannot save" => "Kan niet opslaan",
"Sorry, cannot replace..." => "Sorry, Kan geen tekst vervangen in", "Sorry, cannot replace..." => "Kan geen tekst vervangen in",
"Sorry, cannot change..." => "Sorry, kan de rechten niet wijzigen voor", "Sorry, cannot change..." => "Kan de rechten niet wijzigen voor",
"Sorry, cannot delete..." => "Sorry, kan de root level niet verwijderen", "Sorry, cannot delete more..." => "U kunt niet meer dan een bestand tegelijkertijd verwijderen in FTP modus",
"Sorry, cannot delete" => "Sorry, kan niet verwijderd worden", "Sorry, cannot delete..." => "Kan de root level niet verwijderen",
"Sorry, this file..." => "Sorry, het bestand is gewijzigd, maar kan niet worden opgeslagen", "Sorry, cannot delete" => "Kan niet verwijderd worden",
"Sorry, this file..." => "Het bestand is gewijzigd, maar kan niet worden opgeslagen",
"Reload this file..." => "Vernieuw dit bestand en kopieer de huidige versie naar een nieuw bestand?", "Reload this file..." => "Vernieuw dit bestand en kopieer de huidige versie naar een nieuw bestand?",
"There was a..." => "Er was een technisch probleem, mogelijk was er iets niet gereed. ICEcodeer heeft bestandsbeheer opnieuw geladen.", "There was a..." => "Er was een technisch probleem, mogelijk was er iets niet gereed. ICEcodeer heeft bestandsbeheer opnieuw geladen.",
"displayed at" => "weergegeven op", "displayed at" => "weergegeven op",
"Enter filename to..." => "Voer een bestandsnaam in om het op te slaan op", "Enter filename to..." => "Voer een bestandsnaam in om het op te slaan op",
"That file exists..." => "Dit bestand bestaat al, overschrijven?", "That file exists..." => "Dit bestand bestaat al, overschrijven?",
"Saving" => "Opslaan" "Saving" => "Opslaan"
), ),
"get-branch" => "get-branch" =>
array( array(
"There are no..." => "Er zijn geen verschillen aangetroffen tussen de lokale en de Github repo. Wilt u terug schakelen naar de normale modus?", "There are no..." => "Er zijn geen verschillen aangetroffen tussen de lokale en de Github repo. Wilt u terug schakelen naar de normale modus?",
@@ -159,7 +176,9 @@ in lib/config__settings.php",
"github paths" => "Github paden", "github paths" => "Github paden",
"Choose existing path" => "Kies een bestaand pad", "Choose existing path" => "Kies een bestaand pad",
"Local path" => "Lokaal pad", "Local path" => "Lokaal pad",
"Slash prefixed" => "Slash prefix",
"Remote GitHub path" => "Extern Github pad", "Remote GitHub path" => "Extern Github pad",
"Absolute URL beginning..." => "Absolute link, beginnend met https://github.com",
"Choose" => "Kies", "Choose" => "Kies",
"Set local and..." => "Maak het lokale en externe pad leeg, om te verwijderen", "Set local and..." => "Maak het lokale en externe pad leeg, om te verwijderen",
"Update" => "Update", "Update" => "Update",
@@ -169,12 +188,12 @@ in lib/config__settings.php",
"Enter relative local..." => "Voer relatieve lokale paden (bv /server/mijnbestanden) en absolute Github paden (bv https://github.com/user/repo of https://github.com/user/repo/tree/branch voor vertakkingen (branches)), zoals het voorbeeld. Als je dit doet worden de bron paden op beide locaties gevestigd als een paar.", "Enter relative local..." => "Voer relatieve lokale paden (bv /server/mijnbestanden) en absolute Github paden (bv https://github.com/user/repo of https://github.com/user/repo/tree/branch voor vertakkingen (branches)), zoals het voorbeeld. Als je dit doet worden de bron paden op beide locaties gevestigd als een paar.",
"You can then..." => "You can then choose a path pair and this then becomes your new root path in ICEcoder.", "You can then..." => "You can then choose a path pair and this then becomes your new root path in ICEcoder.",
"The file manager..." => "The file manager then displays a new GitHub icon, which you can click on to perform and show a diff check between the 2 sources. These diffs can then be committed and pushed to the remote path at GitHub or cloned to your local path, to sync your files.", "The file manager..." => "The file manager then displays a new GitHub icon, which you can click on to perform and show a diff check between the 2 sources. These diffs can then be committed and pushed to the remote path at GitHub or cloned to your local path, to sync your files.",
"If you want..." => "If you want to set another root path, this can be done in the Settings screen." "If you want..." => "Als je een ander root pad wilt instellen kan je dit doen in Bewerken > Opties."
), ),
"github" => "github" =>
array( array(
"Sorry, you do..." => "Sorry, you do not appear to have OpenSSL loaded on your PHP instance, so https is not available. This is required for GitHub data transfer, please amend php.ini settings, restart your server and try again" "Sorry, you do..." => "Sorry, het lijkt erop dat U OpenSSL niet beschikbaar heeft op uw server, https is dus niet beschikbaar. Dit is nodig voor GitHub gegevensoverdracht. Wijzig uw php.ini instellingen en herstart uw server en probeer opnieuw."
), ),
"headers" => "headers" =>
@@ -184,7 +203,7 @@ in lib/config__settings.php",
"help" => "help" =>
array( array(
"shortcuts" => "snelkoppelingen", "shortcuts" => "Sneltoetsen",
"Within document" => "Binnen het document", "Within document" => "Binnen het document",
"On Tabs" => "Op Tabs", "On Tabs" => "Op Tabs",
"Within file manager" => "Binnen bestandsbeheer", "Within file manager" => "Binnen bestandsbeheer",
@@ -210,6 +229,8 @@ in lib/config__settings.php",
"Jump to definition" => "Spring naar definitie / spring terug", "Jump to definition" => "Spring naar definitie / spring terug",
"Comment uncomment" => "Commentaar (ongedaan) maken", "Comment uncomment" => "Commentaar (ongedaan) maken",
"Insert tab indent" => "Invoegen tab / verspringen geselecteerd", "Insert tab indent" => "Invoegen tab / verspringen geselecteerd",
"Insert more" => "Inspringen verruimen",
"Insert less" => "Inspringen verkleinen",
"Wrap with div" => "Omhullen met &lt;div&gt;", "Wrap with div" => "Omhullen met &lt;div&gt;",
"Wrap with span" => "Omhullen met &lt;span&gt;", "Wrap with span" => "Omhullen met &lt;span&gt;",
"Wrap unwrap p" => "Omhullen / onthullen met &lt;p&gt;", "Wrap unwrap p" => "Omhullen / onthullen met &lt;p&gt;",
@@ -234,6 +255,7 @@ in lib/config__settings.php",
"Close current tab" => "Sluit huidige tab", "Close current tab" => "Sluit huidige tab",
"Open file prompt" => "Open bestands prompt", "Open file prompt" => "Open bestands prompt",
"Find" => "Zoek", "Find" => "Zoek",
"Previous" => "Vorige",
"Focus on Go..." => "Focus op ga naar regel invoer", "Focus on Go..." => "Focus op ga naar regel invoer",
"Save" => "Opslaan", "Save" => "Opslaan",
"Save as" => "Opslaan als...", "Save as" => "Opslaan als...",
@@ -246,12 +268,18 @@ in lib/config__settings.php",
"ice-coder" => "ice-coder" =>
array( array(
"results" => "resultaten",
"No text selected..." => "Geen tekst geselecteerd om te zoeken", "No text selected..." => "Geen tekst geselecteerd om te zoeken",
"all files" => "alle bestanden",
"all filenames" => "alle bestandsnamen",
"selected files" => "geselecteerde bestanden",
"selected filenames" => "geselecteerde bestandsnamaen",
"Creating Folder" => "Aanmaken map", "Creating Folder" => "Aanmaken map",
"Sorry you can..." => "Sorry, je kan maximaal 100 bestanden open hebben staan!", "Sorry you can..." => "Sorry, je kan maximaal 100 bestanden open hebben staan!",
"Opening File" => "Openen bestand", "Opening File" => "Openen bestand",
"Enter relative file..." => "Geef relatieve bestands pad (voorafgaand door een slash) of een externe URL", "Enter relative file..." => "Geef relatieve bestands pad (voorafgaand door een slash) of een externe URL",
"Getting" => "Ophalen", "Getting" => "Ophalen",
"Saving" => "Opslaan:",
"Please enter the..." => "Voer de nieuwe naam in voor", "Please enter the..." => "Voer de nieuwe naam in voor",
"Renaming to" => "Hernoemen naar", "Renaming to" => "Hernoemen naar",
"Moving to" => "Verplaatsen naar", "Moving to" => "Verplaatsen naar",
@@ -259,13 +287,19 @@ in lib/config__settings.php",
"Pasting File" => "Bestand plakken", "Pasting File" => "Bestand plakken",
"Sorry cannot paste..." => "Sorry, kan niet de gehele root plakken", "Sorry cannot paste..." => "Sorry, kan niet de gehele root plakken",
"Nothing to paste..." => "Er is niets om te plakken, kopieer eerst een bestand of map!", "Nothing to paste..." => "Er is niets om te plakken, kopieer eerst een bestand of map!",
"and" => "en",
"this document" => "dit bestand",
"replace" => "vervang",
"replace all" => "vervang alle",
"file" => "bestand",
"Replacing text in" => "Wijzig de tekst in", "Replacing text in" => "Wijzig de tekst in",
"Sorry there was..." => "Helaas er is een fout opgetreden met uw aanvraag.\\n\\nKijk in de dev tools console voor meer informatie.",
"Cancelled tasks" => "Geannuleerde taken", "Cancelled tasks" => "Geannuleerde taken",
"Open previous files" => "Open voorgaande bestand(en)?", "Open previous files" => "Open voorgaande bestand(en)?",
"Please enter your..." => "Please enter your GitHub token (either personal access token or client/secret pair token). See tooltip next to Github Auth Token on Help > Settings screen for more info", "Please enter your..." => "Voer alstublieft uw GitHub token (personal access token of client/secret pair token). Zie ook de tooltip bij Github Auth Token binnen Bewerken > Opties voor meer informatie.",
"This will compare..." => "This will compare and show a diff view between your local dir and the repo. OK?", "This will compare..." => "Er zullen vergelijkingen en veranderingen worden getoond tussen uw lokale map en de repo. Ok?",
"Please note for..." => "Let op: om de update goed te laten doorvoeren, moet je schrijfrechten hebben op alle bestanden en mappen van ICEcoder. Moet je deze versie van ICEcoder herstellen, dan vind je die in de map /tmp. Klik op ok om door te gaan met automatisch updaten, of druk op annuleren om af te breken. Voor een handmatige update kun je het zip bestand van de ICEcoder website downloaden.", "Please note for..." => "Let op: om de update goed te laten doorvoeren, moet je schrijfrechten hebben op alle bestanden en mappen van ICEcoder. Moet je deze versie van ICEcoder herstellen, dan vind je die in de map /tmp. Klik op ok om door te gaan met automatisch updaten, of druk op annuleren om af te breken. Voor een handmatige update kun je het zip bestand van de ICEcoder website downloaden.",
"You can start..." => "U kunt bug rapporteren aanzetten in: Help > Settings", "You can start..." => "U kunt bug rapporteren aanzetten in: Bewerken > Opties",
"Error cannot find..." => "Fout: kan geen toegang krijgen of de bestands paden vinden", "Error cannot find..." => "Fout: kan geen toegang krijgen of de bestands paden vinden",
"No new errors..." => "Geen nieuwe fouten gevonden", "No new errors..." => "Geen nieuwe fouten gevonden",
"You have made..." => "Er zijn wijzigingen aangetroffen. Wilt u verder gaan zonder op te slaan?", "You have made..." => "Er zijn wijzigingen aangetroffen. Wilt u verder gaan zonder op te slaan?",
@@ -278,16 +312,17 @@ in lib/config__settings.php",
"login" => "login", "login" => "login",
"To disable registration..." => "Om de registratie modus uit te zetten, open het menu opties of open lib/config___settings.php en wijzig enableRegistration naar false", "To disable registration..." => "Om de registratie modus uit te zetten, open het menu opties of open lib/config___settings.php en wijzig enableRegistration naar false",
"Registration mode enabled" => "Registratie modus aan", "Registration mode enabled" => "Registratie modus aan",
"disable further registrations" => "uitschakelen van verdere registraties",
"auto-check for updates" => "automatisch controleren op updates", "auto-check for updates" => "automatisch controleren op updates",
"To put into..." => "Om de multi-user modus te gebruiken, open het menu opties of open lib/config___settings.php en verander multiUser naar true", "To put into..." => "Om de multi-user modus te gebruiken, open het menu opties of open lib/config___settings.php en verander multiUser naar true",
"multi-user" => "multi-user" "multi-user" => "multi-user"
), ),
"multiple-results" => "multiple-results" =>
array( array(
"rename all" => "hernoem alles", "rename all" => "hernoem alles",
"replace all" => "vervang alles", "replace all" => "vervang alles",
"document" => "document", "document" => "bestand",
"Found" => "Gevonden", "Found" => "Gevonden",
"times" => "keer", "times" => "keer",
"replace" => "vervang", "replace" => "vervang",
@@ -360,14 +395,20 @@ in lib/config__settings.php",
"version" => "versie", "version" => "versie",
"website" => "website", "website" => "website",
"git" => "git", "git" => "git",
"codemirror dir" => "codemirror dir", "codemirror dir" => "codemirror map",
"codemirror version" => "codemirror versie", "codemirror version" => "codemirror versie",
"file manager root" => "bestandsbeheer root", "file manager root" => "bestandsbeheer root",
"Free to use..." => "Vrij voor eigen gebruik, commercieel of persoonlijk. :)<br><br>Wij zijn niet aansprakelijk en bieden geen garantie, gebruik op eigen risico.<br><br>Een hoop fantastische mensen, en bedrijven hebben meegeholpen aan de ontwikkeling van ICEcoder waarvoor bedankt. Zie wie er allemaal heeft bijgedragen op", "backups" => "backups",
"keep version control..." => "gebruik versiebeheer backups voor",
"day" => "dag",
"days" => "dagen",
"of backups stored..." => "of backups stored currently",
"Get in contact..." => "Kom in contact via...",
"You may use..." => "Vrij voor eigen gebruik, commercieel of persoonlijk. Laat het ons weten als je toffe aanpassingen maakt :)<br><br>Wij zijn niet aansprakelijk en bieden geen garantie, gebruik op eigen risico.",
"functionality" => "functionaliteit", "functionality" => "functionaliteit",
"check for updates..." => "check voor updates bij laden", "check for updates..." => "check voor updates bij laden",
"auto open last..." => "automatisch openen laatst geopende bestanden na inloggen", "auto open last..." => "automatisch openen laatst geopende bestanden na inloggen",
"when finding in..." => "when finding in files, exclude", "when finding in..." => "Uitgesloten bestand typen",
"assisting" => "assisteren", "assisting" => "assisteren",
"code assist" => "codehulp", "code assist" => "codehulp",
"visible tabs" => "zichtbare tabs", "visible tabs" => "zichtbare tabs",
@@ -381,19 +422,27 @@ in lib/config__settings.php",
"banned files/folders" => "uitgesloten bestanden/mappen", "banned files/folders" => "uitgesloten bestanden/mappen",
"banned paths" => "uitgesloten paden", "banned paths" => "uitgesloten paden",
"ip addresses" => "ip adressen", "ip addresses" => "ip adressen",
"auto-logout after" => "auto-logout na",
"mins of inactivity..." => "minuten in actief, tenzij er niet opgeslagen bestanden geopend zijn",
"Slash prefixed comma..." => "Slash prefixed, komma gescheiden", "Slash prefixed comma..." => "Slash prefixed, komma gescheiden",
"Comma delimited" => "komma gescheiden", "Comma delimited" => "komma gescheiden",
"style" => "style", "style" => "style",
"theme" => "thema", "theme" => "thema",
"line wrapping" => "regel omslag", "line wrapping" => "regel omslag",
"line numbers" => "regel nummers",
"indent type" => "inspring type", "indent type" => "inspring type",
"indent size" => "inspring size", "indent size" => "inspring size",
"match brackets" => "match brackets",
"show trailing space" => "show trailing space",
"font size" => "lettergrootte", "font size" => "lettergrootte",
"auto indent" => "auto indent", "auto indent" => "automatisch inspringen",
"auto close tags" => "automatisch tags sluiten",
"auto close brackets" => "automatsich brackets sluiten",
"layout" => "lay-out", "layout" => "lay-out",
"plugin panel aligned" => "plug-in paneel positie", "plugin panel aligned" => "plug-in paneel positie",
"file manager" => "bestandsbeheer", "file manager" => "bestandsbeheer",
"root" => "root", "root" => "root",
"Set 0 to..." => "Set 0 to disable",
"Slash prefixed" => "Slash prefixed", "Slash prefixed" => "Slash prefixed",
"bug reporting" => "bug rapportage", "bug reporting" => "bug rapportage",
"check in files" => "check in bestanden", "check in files" => "check in bestanden",
@@ -422,8 +471,20 @@ in lib/config__settings.php",
"updater" => "updater" =>
array( array(
"Update appears to..." => "Update lijkt succesvol te zijn verlopen" "Update appears to..." => "Update succesvol uitgevoerd!"
),
"find-in-files" =>
array(
"Enter path to search in" => "Voer het door te zoeken pad in",
"Enter semicolon-separated masks of files to look at (e.g. *.php;*.html;*.js)" => "Voer de te zoeken bestandstypen in, en scheid deze met een puntcomma (bijvoorbeeld: *.php;*.html;*.js)",
"Type of text" => "Type tekst",
"Fixed text" => "Fixed tekst",
"Regular expression" => "Reguliere expressie",
"Case sensitive" => "Hoofdletter gevoelig",
"Yes" => "Ja",
"No" => "Nee",
"Search" => "Zoek",
) )
); );
?>

View File

@@ -1,462 +1,521 @@
<?php <?php
// English language translation // English language translation
// by: @mattpass (GitHub) // by: @mattpass (GitHub)
// @mattpass (Twitter) // @mattpass (Twitter)
// Please preserve formatting, line breaks, special characters, anything in <tags> and HTML equivalents (eg &amp;). Translations on right side. // Please preserve formatting, line breaks, special characters, anything in <tags> and HTML equivalents (eg &amp;). Translations on right side.
$text = array( $text = array(
// / [ROOT LEVEL] // / [ROOT LEVEL]
"editor" => "editor" =>
array( array(
"server" => "server", "server" => "server",
"Server name, OS..." => "Server name, OS & IP:", "Server name, OS..." => "Server name, OS & IP:",
"Root" => "Root:", "Root" => "Root:",
"ICEcoder root" => "ICEcoder root:", "ICEcoder root" => "ICEcoder root:",
"PHP version" => "PHP version:", "PHP version" => "PHP version:",
"Date & time" => "Date & time:", "Date & time" => "Date & time:",
"your device" => "your device", "your device" => "your device",
"Browser" => "Browser:", "Browser" => "Browser:",
"Your IP" => "Your IP:", "Your IP" => "Your IP:",
"trial remaining" => "trial remaining", "files" => "files",
"days left" => "days left", "Last 10 files..." => "Last 10 files opened:",
"files" => "files", "none" => "[none]",
"Last 10 files..." => "Last 10 files opened:", "test suite" => "test suite",
"none" => "[none]", "Run unit tests" => "Run unit tests",
"test suite" => "test suite", "dev mode" => "dev mode",
"Run unit tests" => "Run unit tests", "Status" => "Status",
"dev mode" => "dev mode", "Using" => "Using",
"Status" => "Status", "You can switch..." => "You can switch dev mode on/off in lib/config__settings.php"
"Using" => "Using",
"You can switch..." => "You can switch dev mode on/off in lib/config__settings.php" ),
), "files" =>
array(
"files" => "Lock" => "Lock",
array( "Refresh" => "Refresh",
"Lock" => "Lock", "Plugins" => "Plugins",
"Refresh" => "Refresh", "ROOT" => "[ROOT]"
"Plugins" => "Plugins",
"ROOT" => "[ROOT]" ),
), "index" =>
array(
"index" => "UPDATE INFO" => "UPDATE INFO",
array( "now available" => "now available",
"UPDATE INFO" => "UPDATE INFO", "Your version is" => "Your version is",
"now available" => "now available", "Update now" => "Update now",
"Your version is" => "Your version is", "You have some..." => "You have some unsaved changes",
"Update now" => "Update now", "Are you sure..." => "Are you sure you want to close?",
"You have some..." => "You have some unsaved changes", "working" => "working",
"Are you sure..." => "Are you sure you want to close?", "Color picker" => "Color picker",
"working" => "working", "Plugins Manager" => "Plugins Manager",
"Color picker" => "Color picker", "New File" => "New File",
"Plugins Manager" => "Plugins Manager", "New Folder" => "New Folder",
"New File" => "New File", "Upload File(s)" => "Upload File(s)",
"New Folder" => "New Folder", "Paste" => "Paste",
"Upload File(s)" => "Upload File(s)", "Open" => "Open",
"Paste" => "Paste", "Copy" => "Copy",
"Open" => "Open", "Duplicate" => "Duplicate",
"Copy" => "Copy", "Delete" => "Delete",
"Duplicate" => "Duplicate", "Rename" => "Rename",
"Delete" => "Delete", "View Webpage" => "View Webpage",
"Rename" => "Rename", "Download" => "Download",
"View Webpage" => "View Webpage", "Properties" => "Properties",
"Download" => "Download", "File" => "File",
"Properties" => "Properties", "Edit" => "Edit",
"File" => "File", "Source" => "Source",
"Edit" => "Edit", "Help" => "Help",
"Source" => "Source", "Save" => "Save",
"Help" => "Help", "Save As" => "Save As",
"Save" => "Save", "Live Preview" => "Live Preview",
"Save As" => "Save As", "Upload" => "Upload",
"Live Preview" => "Live Preview", "Zip" => "Zip",
"Upload" => "Upload", "Print" => "Print",
"Zip" => "Zip", "Fullscreen toggle" => "Fullscreen toggle",
"Print" => "Print", "Logout" => "Logout",
"Fullscreen toggle" => "Fullscreen toggle", "Undo" => "Undo",
"Logout" => "Logout", "Redo" => "Redo",
"Undo" => "Undo", "Indent more" => "Indent more",
"Redo" => "Redo", "Indent less" => "Indent less",
"Indent more" => "Indent more", "Autocomplete" => "Autocomplete",
"Indent less" => "Indent less", "Comment/Uncomment" => "Comment/Uncomment",
"Autocomplete" => "Autocomplete", "Jump to Definition" => "Jump to Definition",
"Comment/Uncomment" => "Comment/Uncomment", "Manual" => "Manual",
"Jump to Definition" => "Jump to Definition", "Shortcuts" => "Shortcuts",
"Manual" => "Manual", "Settings" => "Settings",
"Shortcuts" => "Shortcuts", "Search for selected" => "Search for selected",
"Settings" => "Settings", "website" => "website",
"Search for selected" => "Search for selected", "Close all tabs" => "Close all tabs",
"website" => "website", "Alphabetize tabs" => "Alphabetize tabs",
"Close all tabs" => "Close all tabs", "Find" => "Find",
"Alphabetize tabs" => "Alphabetize tabs", "in" => "in",
"Find" => "Find", "and" => "and",
"in" => "in", "replace" => "replace",
"and" => "and", "replace all" => "replace all",
"replace" => "replace", "this document" => "this document",
"replace all" => "replace all", "open documents" => "open documents",
"this document" => "this document", "all files" => "all files",
"open documents" => "open documents", "all filenames" => "all filenames",
"all files" => "all files", "Turn on/off..." => "Turn on/off code assist",
"all filenames" => "all filenames", "Code Assist" => "Code Assist",
"Turn on/off..." => "Turn on/off code assist", "Go to Line" => "Go to Line",
"Code Assist" => "Code Assist", "View" => "View",
"Go to Line" => "Go to Line", "Bug reporting not active" => "Bug reporting not active",
"View" => "View", "Single pane" => "Single pane",
"Bug reporting not active" => "Bug reporting not active", "Diff pane also" => "Diff pane also"
"Single pane" => "Single pane", ),
"Diff pane also" => "Diff pane also"
), // /LIB
// /LIB "auto-logout-warning" =>
array(
"bug-files-check" => "Auto Logout Warning" => "Auto logout warning",
array( "You will be..." => "You will be logged out after",
"Found in" => "Found in:" "seconds due to..." => "seconds due to inactivity, for security purposes. Use the mouse or hit a key to continue.<br><br>You can adjust or disable this from the Edit > Settings section."
), ),
"file-control" => "backup-versions" =>
array( array(
"Sorry, bad filename..." => "Sorry, bad filename provided. Check the dev tools console for more info?", "backup" => "backup",
"Sorry" => "Sorry", "backups" => "backups",
"does not seem..." => "does not seem to exist on the server", "available for" => "available for"
"Sorry, could not..." => "Sorry, could not get contents of", ),
"Sorry, cannot create..." => "Sorry, cannot create folder at",
"Sorry, cannot copy" => "Sorry, cannot copy", "bug-files-check" =>
"into" => "into", array(
"Uploaded file(s) OK" => "Uploaded file(s) OK", "Found in" => "Found in:"
"Sorry, cannot upload" => "Sorry, cannot upload", ),
"Sorry, cannot upload..." => "Sorry, cannot upload whilst in demo mode",
"Sorry, cannot rename" => "Sorry, cannot rename", "file-control" =>
"Maybe public write..." => "Maybe public write permissions needed on this or parent folder?", array(
"Sorry, cannot move" => "Sorry, cannot move", "Sorry, bad filename..." => "Sorry, bad filename provided. Check the dev tools console for more info?",
"Sorry, cannot save" => "Sorry, cannot save", "Sorry" => "Sorry",
"Sorry, cannot replace..." => "Sorry, cannot replace text in", "does not seem..." => "does not seem to exist on the server",
"Sorry, cannot change..." => "Sorry, cannot change permissions on", "Sorry, could not..." => "Sorry, could not get contents of",
"Sorry, cannot delete..." => "Sorry, cannot delete the root level", "Sorry, cannot create..." => "Sorry, cannot create folder at",
"Sorry, cannot delete" => "Sorry, cannot delete", "Sorry, cannot copy" => "Sorry, cannot copy",
"Sorry, this file..." => "Sorry, this file has changed, cannot save", "into" => "into",
"Reload this file..." => "Reload this file and copy your version to a diff pane?", "Uploaded file(s) OK" => "Uploaded file(s) OK",
"There was a..." => "There was a tech hiccup, likely something was not quite ready. So ICEcoder reloaded its file control again.", "Sorry, cannot upload" => "Sorry, cannot upload",
"displayed at" => "displayed at", "Sorry, cannot upload..." => "Sorry, cannot upload whilst in demo mode",
"Enter filename to..." => "Enter filename to save at", "Sorry, cannot rename" => "Sorry, cannot rename",
"That file exists..." => "That file exists already, overwrite?", "Maybe public write..." => "Maybe public write permissions needed on this or parent folder?",
"Saving" => "Saving" "Sorry, cannot move" => "Sorry, cannot move",
), "Sorry, cannot save" => "Sorry, cannot save",
"Sorry, cannot replace..." => "Sorry, cannot replace text in",
"get-branch" => "Sorry, cannot change..." => "Sorry, cannot change permissions on",
array( "Sorry, cannot delete more..." => "Sorry, cannot delete more then one item at a time under FTP mode",
"There are no..." => "There are no differences between the local and GitHub repo. Switch back to regular mode?", "Sorry, cannot delete..." => "Sorry, cannot delete the root level",
"Sorry, there was..." => "Sorry, there was an error, code:", "Sorry, cannot delete" => "Sorry, cannot delete",
"Your local folder..." => "Your local folder is empty, would you like to clone" "Sorry, this file..." => "Sorry, this file has changed outside of ICEcoder, cannot save",
), "Reload this file..." => "Reload this file and copy your version to a diff pane?\\\\n(left side = file from server, right side = unsaved file)",
"There was a..." => "There was a tech hiccup, likely something was not quite ready. So ICEcoder reloaded its file control again.",
"github-manager" => "displayed at" => "displayed at",
array( "Enter filename to..." => "Enter filename to save at",
"Sorry, cannot create..." => "Sorry, cannot create folder at", "That file exists..." => "That file exists already, overwrite?",
"Cannot update config..." => "Cannot update config file. Please set public write permissions on", "Saving" => "Saving"
"and try again" => "and try again", ),
"saving github paths" => "saving github paths...",
"github paths" => "github paths", "ftp-manager" =>
"Choose existing path" => "Choose existing path", array(
"Local path" => "Local path", "Saving FTP sites" => "Saving FTP sites",
"Slash prefixed" => "Slash prefixed", "Cannot update config..." => "Cannot update config file. Please set public write permissions on",
"Remote GitHub path" => "Remote GitHub path", "and try again" => "and try again",
"Absolute URL beginning..." => "Absolute URL, beginning https://github.com", "ftp manager" => "ftp manager",
"Choose" => "Choose", "Choose existing site" => "Choose existing site",
"Set local and..." => "Set local and remote path to blank to remove", "Are you sure..." => "Are you sure you wish to remove this site?",
"Update" => "Update", "Add new site" => "Add new site",
"Add new path" => "Add new path", "Edit site" => "Edit site",
"Add" => "Add", "Site base" => "Site base",
"Usage Info" => "Usage Info:", "Host" => "Host",
"Enter relative local..." => "Enter relative local paths (eg /server/myfiles) and absolute GitHub paths (eg https://github.com/user/repo or https://github.com/user/repo/tree/branch for branches), as per the examples. With this done you have established the source paths at both locations, as a pair.", "Username" => "Username",
"You can then..." => "You can then choose a path pair and this then becomes your new root path in ICEcoder.", "Password" => "Password",
"The file manager..." => "The file manager then displays a new GitHub icon, which you can click on to perform and show a diff check between the 2 sources. These diffs can then be committed and pushed to the remote path at GitHub or cloned to your local path, to sync your files.", "PASV and mode" => "PASV and mode",
"If you want..." => "If you want to set another root path, this can be done in the Settings screen." "Root" => "Root",
), "eg http://yourdomain.com" => "eg http://yourdomain.com",
"eg ftp.yourdomain.com" => "eg ftp.yourdomain.com",
"github" => "eg user123" => "eg user123",
array( "eg pass123" => "eg pass123",
"Sorry, you do..." => "Sorry, you do not appear to have OpenSSL loaded on your PHP instance, so https is not available. This is required for GitHub data transfer, please amend php.ini settings, restart your server and try again" "Use PASV mode..." => "Use PASV mode if your FTP site requires it and choose the data transfer type - ASCII or binary",
), "eg /htdocs" => "eg /htdocs",
"PASV connection off" => "PASV connection off",
"headers" => "PASV connection on" => "PASV connection on",
array( "ASCII transfer" => "ASCII transfer",
"Bad CSRF token..." => "Bad CSRF token. Please report the error info at https://github.com/mattpass/ICEcoder so it can be fixed." "Binary transfer" => "Binary transfer",
), "Add" => "Add",
"Choose" => "Choose",
"help" => "Update" => "Update"
array( ),
"shortcuts" => "shortcuts",
"Within document" => "Within document", "get-branch" =>
"On Tabs" => "On Tabs", array(
"Within file manager" => "Within file manager", "There are no..." => "There are no differences between the local and GitHub repo. Switch back to regular mode?",
"Anywhere" => "Anywhere", "Sorry, there was..." => "Sorry, there was an error, code:",
"Space" => "Space", "Your local folder..." => "Your local folder is empty, would you like to clone"
"Click" => "Click", ),
"or" => "or",
"Left click" => "Left click", "github-manager" =>
"Middle click" => "Middle click", array(
"Double click tap..." => "Double click / tap (mobile)", "Sorry, cannot create..." => "Sorry, cannot create folder at",
"Right click" => "Right click", "Cannot update config..." => "Cannot update config file. Please set public write permissions on",
"Middle scrollwheel" => "Middle scrollwheel", "and try again" => "and try again",
"Drag" => "Drag", "saving github paths" => "saving github paths...",
"Autocomplete add snippet" => "Autocomplete / add snippet", "github paths" => "github paths",
"Multiple select" => "Multiple select", "Choose existing path" => "Choose existing path",
"Move line up" => "Move line up", "Local path" => "Local path",
"Move line down" => "Move line down", "Slash prefixed" => "Slash prefixed",
"Duplicate lines" => "Duplicate line(s)", "Remote GitHub path" => "Remote GitHub path",
"Remove lines" => "Remove line(s)", "Absolute URL beginning..." => "Absolute URL, beginning https://github.com",
"Insert line before" => "Insert line before", "Choose" => "Choose",
"Insert line after" => "Insert line after", "Set local and..." => "Set local and remote path to blank to remove",
"Search for selected" => "Search for selected", "Update" => "Update",
"Jump to definition" => "Jump to definition / jump back", "Add new path" => "Add new path",
"Comment uncomment" => "Comment / uncomment", "Add" => "Add",
"Insert tab indent" => "Insert tab / auto indent selected", "Usage Info" => "Usage Info:",
"Insert more" => "Indent more", "Enter relative local..." => "Enter relative local paths (eg /server/myfiles) and absolute GitHub paths (eg https://github.com/user/repo or https://github.com/user/repo/tree/branch for branches), as per the examples. With this done you have established the source paths at both locations, as a pair.",
"Insert less" => "Indent less", "You can then..." => "You can then choose a path pair and this then becomes your new root path in ICEcoder.",
"Wrap with div" => "Wrap with &lt;div&gt;", "The file manager..." => "The file manager then displays a new GitHub icon, which you can click on to perform and show a diff check between the 2 sources. These diffs can then be committed and pushed to the remote path at GitHub or cloned to your local path, to sync your files.",
"Wrap with span" => "Wrap with &lt;span&gt;", "If you want..." => "If you want to set another root path, this can be done in the Settings screen."
"Wrap unwrap p" => "Wrap / unwrap with &lt;p&gt;", ),
"Wrap unwrap a" => "Wrap / unwrap with &lt;a&gt;",
"Wrap unwrap b" => "Wrap / unwrap with &lt;b&gt;", "github" =>
"Wrap unwrap i" => "Wrap / unwrap with &lt;i&gt;", array(
"Wrap unwrap strong" => "Wrap / unwrap with &lt;strong&gt;", "Sorry, you do..." => "Sorry, you do not appear to have OpenSSL loaded on your PHP instance, so https is not available. This is required for GitHub data transfer, please amend php.ini settings, restart your server and try again"
"Wrap unwrap em" => "Wrap / unwrap with &lt;em&gt;", ),
"Wrap unwrap li" => "Wrap / unwrap with &lt;li&gt;",
"Wrap unwrap h1..." => "Wrap / unwrap with &lt;h1&gt; - &lt;h3&gt;", "headers" =>
"End line with..." => "End line with &lt;br&gt;", array(
"Close tab" => "Close tab", "Bad CSRF token..." => "Bad CSRF token. Please report the error info at https://github.com/mattpass/ICEcoder so it can be fixed."
"Select file folder" => "Select file / folder", ),
"Open file" => "Open file",
"Range select" => "Range select", "help" =>
"Options for selected" => "Options for selected", array(
"Delete selected" => "Delete selected", "shortcuts" => "shortcuts",
"Next previous tab" => "Next / previous tab", "Within document" => "Within document",
"Next tab" => "Next tab", "On Tabs" => "On Tabs",
"Previous tab" => "Previous tab", "Within file manager" => "Within file manager",
"New tab" => "New tab", "Anywhere" => "Anywhere",
"Close current tab" => "Close current tab", "Space" => "Space",
"Open file prompt" => "Open file prompt", "Click" => "Click",
"Find" => "Find", "or" => "or",
"Previous" => "Previous", "Left click" => "Left click",
"Focus on Go..." => "Focus on Go to line input", "Middle click" => "Middle click",
"Save" => "Save", "Double click tap..." => "Double click / tap (mobile)",
"Save as" => "Save as...", "Right click" => "Right click",
"View webpage" => "View webpage", "Middle scrollwheel" => "Middle scrollwheel",
"Contract expand file..." => "Contract / expand file manager", "Drag" => "Drag",
"Fold unfold current..." => "Fold / unfold current line", "Autocomplete add snippet" => "Autocomplete / add snippet",
"Refocus on document" => "Refocus on document", "Multiple select" => "Multiple select",
"Cancel tasks" => "Cancel tasks" "Move line up" => "Move line up",
), "Move line down" => "Move line down",
"Duplicate lines" => "Duplicate line(s)",
"ice-coder" => "Remove lines" => "Remove line(s)",
array( "Insert line before" => "Insert line before",
"results" => "results", "Insert line after" => "Insert line after",
"No text selected..." => "No text selected to search on", "Search for selected" => "Search for selected",
"all files" => "all files", "Jump to definition" => "Jump to definition / jump back",
"all filenames" => "all filenames", "Comment uncomment" => "Comment / uncomment",
"selected files" => "selected files", "Insert tab indent" => "Insert tab / auto indent selected",
"selected filenames" => "selected filenames", "Insert more" => "Indent more",
"Creating Folder" => "Creating Folder", "Insert less" => "Indent less",
"Sorry you can..." => "Sorry, you can only have 100 files open at a time!", "Wrap with div" => "Wrap with &lt;div&gt;",
"Opening File" => "Opening File", "Wrap with span" => "Wrap with &lt;span&gt;",
"Enter relative file..." => "Enter relative file path (prefixed with /) or remote URL\\nYou can enter \\n'/path/file:123' or \\n'/path/file(123)' or \\n'/path/file.ext line 123' \\nto go directly to particular line", "Wrap unwrap p" => "Wrap / unwrap with &lt;p&gt;",
"Getting" => "Getting", "Wrap unwrap a" => "Wrap / unwrap with &lt;a&gt;",
"Saving" => "Saving:", "Wrap unwrap b" => "Wrap / unwrap with &lt;b&gt;",
"Please enter the..." => "Please enter the new name for", "Wrap unwrap i" => "Wrap / unwrap with &lt;i&gt;",
"Renaming to" => "Renaming to", "Wrap unwrap strong" => "Wrap / unwrap with &lt;strong&gt;",
"Moving to" => "Moving to", "Wrap unwrap em" => "Wrap / unwrap with &lt;em&gt;",
"Deleting File" => "Deleting File", "Wrap unwrap li" => "Wrap / unwrap with &lt;li&gt;",
"Pasting File" => "Pasting File", "Wrap unwrap h1..." => "Wrap / unwrap with &lt;h1&gt; - &lt;h3&gt;",
"Sorry cannot paste..." => "Sorry, cannot paste a whole root", "End line with..." => "End line with &lt;br&gt;",
"Nothing to paste..." => "Nothing to paste, copy a file/folder first!", "Close tab" => "Close tab",
"and" => "and", "Select file folder" => "Select file / folder",
"this document" => "this document", "Open file" => "Open file",
"replace" => "replace", "Range select" => "Range select",
"replace all" => "replace all", "Options for selected" => "Options for selected",
"file" => "file", "Delete selected" => "Delete selected",
"Replacing text in" => "Replacing text in", "Next previous tab" => "Next / previous tab",
"Sorry there was..." => "Sorry, there was an error with your request.\\n\\nPlease check your dev tools console for more info.", "Next tab" => "Next tab",
"Cancelled tasks" => "Cancelled tasks", "Previous tab" => "Previous tab",
"Open previous files" => "Open previous files?", "New tab" => "New tab",
"Please enter your..." => "Please enter your GitHub token (either personal access token or client/secret pair token). See tooltip next to Github Auth Token on Help > Settings screen for more info", "Close current tab" => "Close current tab",
"This will compare..." => "This will compare and show a diff view between your local dir and the repo. OK?", "Open file prompt" => "Open file prompt",
"Please note for..." => "Please note: for updating to work properly, you need to have write access on all ICEcoder dirs & files. It will first check if this is the case and list any unwriteable (and therefore unmoveable) files.\\n\\nIf you need to recover this version of ICEcoder for any reason, you'll find it in the /tmp dir.\\n\\nClick OK to proceed with the check and auto-update, or cancel to visit the ICEcoder site so you can grab the zip and update manually.", "Find" => "Find",
"You can start..." => "You can start bug reporting in Help > Settings", "Previous" => "Previous",
"Error cannot find..." => "Error: cannot find/access the error file paths", "Focus on Go..." => "Focus on Go to line input",
"No new errors..." => "No new errors found", "Save" => "Save",
"You have made..." => "You have made changes. Are you sure you want to close without saving?", "Save as" => "Save as...",
"Close all tabs" => "Close all tabs?" "View webpage" => "View webpage",
), "Contract expand file..." => "Contract / expand file manager",
"Fold unfold current..." => "Fold / unfold current line",
"login" => "Refocus on document" => "Refocus on document",
array( "Cancel tasks" => "Cancel tasks"
"set password" => "set password", ),
"login" => "login",
"To disable registration..." => "To disable registration mode, open the settings menu or open lib/config___settings.php and change enableRegistration to false then reload this page", "ice-coder" =>
"Registration mode enabled" => "Registration mode enabled", array(
"auto-check for updates" => "auto-check for updates", "results" => "results",
"To put into..." => "To put into multi-user mode, open the settings menu or open lib/config___settings.php and change multiUser to true then reload this page", "No text selected..." => "No text selected to search on",
"multi-user" => "multi-user" "all files" => "all files",
), "all filenames" => "all filenames",
"selected files" => "selected files",
"multiple-results" => "selected filenames" => "selected filenames",
array( "Creating Folder" => "Creating Folder",
"rename all" => "rename all", "Sorry you can..." => "Sorry, you can only have 100 files open at a time!",
"replace all" => "replace all", "Opening File" => "Opening File",
"document" => "document", "Enter relative file..." => "Enter relative file path (prefixed with /) or remote URL\\nYou can enter \\n'/path/file:123' or \\n'/path/file(123)' or \\n'/path/file.ext line 123' \\nto go directly to particular line",
"Found" => "Found", "Getting" => "Getting",
"times" => "times", "Saving" => "Saving:",
"replace" => "replace", "Please enter the..." => "Please enter the new name for",
"file folder" => "file/folder", "Renaming to" => "Renaming to",
"rename to" => "rename to", "Moving to" => "Moving to",
"rename" => "rename", "Deleting File" => "Deleting File",
"file" => "file", "Pasting File" => "Pasting File",
"No matches found" => "No matches found", "Sorry cannot paste..." => "Sorry, cannot paste a whole root",
"selected" => "selected", "Nothing to paste..." => "Nothing to paste, copy a file/folder first!",
"found in" => "found in", "and" => "and",
"Replaced" => "Replaced" "this document" => "this document",
), "replace" => "replace",
"replace all" => "replace all",
"plugins-manager" => "file" => "file",
array( "Replacing text in" => "Replacing text in",
"ICEcoder needs to..." => "ICEcoder needs to reload to make this plugin usable. Reload now?", "Sorry there was..." => "Sorry, there was an error with your request.\\n\\nPlease check your dev tools console for more info.",
"saving plugins" => "saving plugins...", "Cancelled tasks" => "Cancelled tasks",
"Cannot update config..." => "Cannot update config file. Please set public write permissions on", "Open previous files" => "Open previous files?",
"and try again" => "and try again", "Please enter your..." => "Please enter your GitHub token (either personal access token or client/secret pair token). See tooltip next to Github Auth Token on Help > Settings screen for more info",
"couldnt delete dir" => "could not delete dir", "This will compare..." => "This will compare and show a diff view between your local dir and the repo. OK?",
"couldnt delete file" => "could not delete file", "Please note for..." => "Please note: for updating to work properly, you need to have write access on all ICEcoder dirs & files. It will first check if this is the case and list any unwriteable (and therefore unmoveable) files.\\n\\nIf you need to recover this version of ICEcoder for any reason, you'll find it in the /tmp dir.\\n\\nClick OK to proceed with the check and auto-update, or cancel to visit the ICEcoder site so you can grab the zip and update manually.",
"plugins" => "plugins", "You can start..." => "You can start bug reporting in Help > Settings",
"Guide to writing..." => "Guide to writing plugins", "Error cannot find..." => "Error: cannot find/access the error file paths",
"Manage Installed" => "Manage Installed", "No new errors..." => "No new errors found",
"URL" => "URL", "You have made..." => "You have made changes. Are you sure you want to close without saving?",
"Target" => "Target", "Close all tabs" => "Close all tabs?"
"Timer" => "Timer", ),
"Update" => "Update",
"Install" => "Install", "login" =>
"Uninstall" => "Uninstall", array(
"Reload after install..." => "Reload after install required" "set password" => "set password",
), "login" => "login",
"To disable registration..." => "To disable registration mode, open the settings menu or open lib/config___settings.php and change enableRegistration to false then reload this page",
"properties" => "Registration mode enabled" => "Registration mode enabled",
array( "disable further registrations" => "disable further registrations",
"properties" => "properties", "auto-check for updates" => "auto-check for updates",
"Size" => "Size", "To put into..." => "To put into multi-user mode, open the settings menu or open lib/config___settings.php and change multiUser to true then reload this page",
"Modified" => "Modified", "multi-user" => "multi-user"
"Last access" => "Last access", ),
"Type" => "Type",
"Readable Writeable" => "Readable / Writeable", "multiple-results" =>
"Relative path" => "Relative path", array(
"Absolute path" => "Absolute path", "rename all" => "rename all",
"Contains" => "Contains", "replace all" => "replace all",
"Permissions" => "Permissions", "document" => "document",
"Owner" => "Owner", "Found" => "Found",
"Group" => "Group", "times" => "times",
"Public" => "Public", "replace" => "replace",
"Read" => "Read", "file folder" => "file/folder",
"Write" => "Write", "rename to" => "rename to",
"Execute" => "Execute", "rename" => "rename",
"Change to" => "Change to", "file" => "file",
"update" => "update" "No matches found" => "No matches found",
), "selected" => "selected",
"found in" => "found in",
"settings-common" => "Replaced" => "Replaced"
array( ),
"Your document does..." => "Your document does not appear to be in UTF-8 encoding so has been converted"
), "plugins-manager" =>
array(
"settings-save-current-files" => "ICEcoder needs to..." => "ICEcoder needs to reload to make this plugin usable. Reload now?",
array( "saving plugins" => "saving plugins...",
"Cannot update config..." => "Cannot update config file. Please set public write permissions on", "Cannot update config..." => "Cannot update config file. Please set public write permissions on",
"and try again" => "and try again" "and try again" => "and try again",
), "couldnt delete dir" => "could not delete dir",
"couldnt delete file" => "could not delete file",
"settings-screen" => "plugins" => "plugins",
array( "Guide to writing..." => "Guide to writing plugins",
"settings" => "settings", "Manage Installed" => "Manage Installed",
"version" => "version", "URL" => "URL",
"website" => "website", "Target" => "Target",
"git" => "git", "Timer" => "Timer",
"codemirror dir" => "codemirror dir", "Update" => "Update",
"codemirror version" => "codemirror version", "Install" => "Install",
"file manager root" => "file manager root", "Uninstall" => "Uninstall",
"Get in contact..." => "Get in contact by...", "Reload after install..." => "Reload after install required"
"You may use..." => "You may use ICEcoder for your own purposes, commercial or not, just let us know of any cool uses or customisations. :)<br><br>No warranty or liability accepted for anything, all responsibility of use is your own.", ),
"functionality" => "functionality",
"check for updates..." => "check for updates on load", "properties" =>
"auto open last..." => "auto open last files on login", array(
"when finding in..." => "when finding in files, exclude", "properties" => "properties",
"assisting" => "assisting", "Size" => "Size",
"code assist" => "code assist", "Modified" => "Modified",
"visible tabs" => "visible tabs", "Last access" => "Last access",
"locked nav" => "locked nav", "Type" => "Type",
"tag wrapper command" => "tag wrapper command", "Readable Writeable" => "Readable / Writeable",
"auto-complete on" => "auto-complete on", "Relative path" => "Relative path",
"security" => "security", "Absolute path" => "Absolute path",
"new password" => "new password", "Contains" => "Contains",
"8 chars min" => "8 chars min", "Permissions" => "Permissions",
"confirm password" => "confirm password", "Owner" => "Owner",
"banned files/folders" => "banned files/folders", "Group" => "Group",
"banned paths" => "banned paths", "Public" => "Public",
"ip addresses" => "ip addresses", "Read" => "Read",
"Slash prefixed comma..." => "Slash prefixed, comma delimited", "Write" => "Write",
"Comma delimited" => "Comma delimited", "Execute" => "Execute",
"style" => "style", "Change to" => "Change to",
"theme" => "theme", "update" => "update"
"line wrapping" => "line wrapping", ),
"indent type" => "indent type",
"indent size" => "indent size", "settings-common" =>
"font size" => "font size", array(
"auto indent" => "auto indent", "Your document does..." => "Your document does not appear to be in UTF-8 encoding so has been converted"
"layout" => "layout", ),
"plugin panel aligned" => "plugin panel aligned",
"file manager" => "file manager", "settings-save-current-files" =>
"root" => "root", array(
"Slash prefixed" => "Slash prefixed", "Cannot update config..." => "Cannot update config file. Please set public write permissions on",
"bug reporting" => "bug reporting", "and try again" => "and try again"
"check in files" => "check in files", ),
"every" => "every",
"secs getting last" => "secs, getting last", "settings-screen" =>
"lines" => "lines", array(
"multi-user" => "multi-user", "settings" => "settings",
"Make sure you..." => "Make sure you do not lock yourself out", "version" => "version",
"Registration" => "Registration", "website" => "website",
"auth token" => "auth token", "git" => "git",
"Required to get..." => "Required to get diffs, commit to your GitHub hosted repo etc. If you do not have one, you can use a:".PHP_EOL.PHP_EOL. "codemirror dir" => "codemirror dir",
"- personal access token (https://help.github.com/articles/creating-an-access-token-for-command-line-use), or".PHP_EOL. "codemirror version" => "codemirror version",
"- full client/secret pair token (http://developer.github.com/v3/oauth).".PHP_EOL.PHP_EOL. "file manager root" => "file manager root",
"It is not recommended you set your token here however and is more secure to enter it when requested by ICEcoder as that will keep it in session only.".PHP_EOL.PHP_EOL. "backups" => "backups",
"However, if you work in a trusted and secure environment, it is more efficient to set it here.", "keep version control..." => "keep version control backups for",
"Sorry cannot commit..." => "Sorry, cannot commit settings in demo mode", "day" => "day",
"update" => "update" "days" => "days",
), "of backups stored..." => "of backups stored currently",
"deleting actually moves..." => "deleting actually moves to ICEcoder's tmp dir",
"settings-update" => "local/server items..." => "local/server items only",
array( "Get in contact..." => "Get in contact by...",
"Cannot update config..." => "Cannot update config file. Please set public write permissions on", "You may use..." => "You may use ICEcoder for your own purposes, commercial or not, just let us know of any cool uses or customisations. :)<br><br>No warranty or liability accepted for anything, all responsibility of use is your own.",
"and try again" => "and try again", "functionality" => "functionality",
"and press refresh" => "and press refresh" "check for updates..." => "check for updates on load",
), "auto open last..." => "auto open last files on login",
"when finding in..." => "when finding in files, exclude",
"updater" => "assisting" => "assisting",
array( "code assist" => "code assist",
"Update appears to..." => "Update appears to be successful" "visible tabs" => "visible tabs",
), "locked nav" => "locked nav",
"tag wrapper command" => "tag wrapper command",
"find-in-files" => "auto-complete on" => "auto-complete on",
array( "security" => "security",
"Enter path to search in" => "Enter path to search in", "new password" => "new password",
"Enter semicolon-separated masks of files to look at (e.g. *.php;*.html;*.js)" => "Enter semicolon-separated masks of files to look at (e.g. *.php;*.html;*.js)", "8 chars min" => "8 chars min",
"Type of text" => "Type of text", "confirm password" => "confirm password",
"Fixed text" => "Fixed text", "banned files/folders" => "banned files/folders",
"Regular expression" => "Regular expression", "banned paths" => "banned paths",
"Case sensitive" => "Case sensitive", "ip addresses" => "ip addresses",
"Yes" => "Yes", "auto-logout after" => "auto-logout after",
"No" => "No", "mins of inactivity..." => "mins of inactivity if no unsaved files",
"Search" => "Search", "Slash prefixed comma..." => "Slash prefixed, comma delimited",
) "Comma delimited" => "Comma delimited",
); "style" => "style",
?> "theme" => "theme",
"line wrapping" => "line wrapping",
"line numbers" => "line numbers",
"indent type" => "indent type",
"indent size" => "indent size",
"match brackets" => "match brackets",
"show trailing space" => "show trailing space",
"font size" => "font size",
"auto indent" => "auto indent",
"auto close tags" => "auto close tags",
"auto close brackets" => "auto close brackets",
"layout" => "layout",
"plugin panel aligned" => "plugin panel aligned",
"file manager" => "file manager",
"root" => "root",
"Set 0 to..." => "Set 0 to disable",
"Slash prefixed" => "Slash prefixed",
"bug reporting" => "bug reporting",
"check in files" => "check in files",
"every" => "every",
"secs getting last" => "secs, getting last",
"lines" => "lines",
"multi-user" => "multi-user",
"Make sure you..." => "Make sure you do not lock yourself out",
"Registration" => "Registration",
"auth token" => "auth token",
"Required to get..." => "Required to get diffs, commit to your GitHub hosted repo etc. If you do not have one, you can use a:".PHP_EOL.PHP_EOL.
"- personal access token (https://help.github.com/articles/creating-an-access-token-for-command-line-use), or".PHP_EOL.
"- full client/secret pair token (http://developer.github.com/v3/oauth).".PHP_EOL.PHP_EOL.
"It is not recommended you set your token here however and is more secure to enter it when requested by ICEcoder as that will keep it in session only.".PHP_EOL.PHP_EOL.
"However, if you work in a trusted and secure environment, it is more efficient to set it here.",
"Sorry cannot commit..." => "Sorry, cannot commit settings in demo mode",
"update" => "update"
),
"settings-update" =>
array(
"Cannot update config..." => "Cannot update config file. Please set public write permissions on",
"and try again" => "and try again",
"and press refresh" => "and press refresh"
),
"updater" =>
array(
"Update appears to..." => "Update appears to be successful"
),
"find-in-files" =>
array(
"Enter path to search in" => "Enter path to search in",
"Enter semicolon-separated masks of files to look at (e.g. *.php;*.html;*.js)" => "Enter semicolon-separated masks of files to look at (e.g. *.php;*.html;*.js)",
"Type of text" => "Type of text",
"Fixed text" => "Fixed text",
"Regular expression" => "Regular expression",
"Case sensitive" => "Case sensitive",
"Yes" => "Yes",
"No" => "No",
"Search" => "Search",
)
);

View File

@@ -243,6 +243,10 @@ dans lib/config__settings.php",
"ice-coder" => "ice-coder" =>
array( array(
"No text selected..." => "Aucun texte s&eacute;lectionn&eacute; pour la recherche sur", "No text selected..." => "Aucun texte s&eacute;lectionn&eacute; pour la recherche sur",
"all files" => "tous les fichiers",
"all filenames" => "tous les noms de fichiers",
"selected files" => "fichiers s&eacute;lectionn&eacute;s",
"selected filenames" => "les nomes de fichiers s&eacute;lectionn&eacute;s",
"Creating Folder" => "r&eacute;ation de dossier", "Creating Folder" => "r&eacute;ation de dossier",
"Sorry you can..." => "D&eacute;sol&eacute;, vous ne pouvez pas avoir plus de 100 fichiers ouverts en m&ecirc;me temps !", "Sorry you can..." => "D&eacute;sol&eacute;, vous ne pouvez pas avoir plus de 100 fichiers ouverts en m&ecirc;me temps !",
"Opening File" => "Ouverture de fichier", "Opening File" => "Ouverture de fichier",
@@ -255,6 +259,11 @@ dans lib/config__settings.php",
"Pasting File" => "Collage fichier", "Pasting File" => "Collage fichier",
"Sorry cannot paste..." => "D&eacute;sol&eacute;, il n&apos;est pas possible de coller une racine", "Sorry cannot paste..." => "D&eacute;sol&eacute;, il n&apos;est pas possible de coller une racine",
"Nothing to paste..." => "Rien &agrave; coller, copiez un fichier/dossier en premier !", "Nothing to paste..." => "Rien &agrave; coller, copiez un fichier/dossier en premier !",
"and" => "et",
"this document" => "ce document",
"replace" => "remplacer",
"replace all" => "tout remplacer",
"file" => "fichier",
"Replacing text in" => "Remplacement de texte dans", "Replacing text in" => "Remplacement de texte dans",
"Cancelled tasks" => "Tâches annul&eacute;s", "Cancelled tasks" => "Tâches annul&eacute;s",
"Open previous files" => "Ouvrir les fichiers pr&eacute;c&eacute;dents ?", "Open previous files" => "Ouvrir les fichiers pr&eacute;c&eacute;dents ?",
@@ -265,7 +274,8 @@ dans lib/config__settings.php",
"Error cannot find..." => "Erreur : ne peut pas trouver / acc&eacute;der aux chemins des fichiers d&apos;erreur", "Error cannot find..." => "Erreur : ne peut pas trouver / acc&eacute;der aux chemins des fichiers d&apos;erreur",
"No new errors..." => "Aucune nouvelle erreur trouv&eacute;e", "No new errors..." => "Aucune nouvelle erreur trouv&eacute;e",
"You have made..." => "Vous avez r&eacute;alis&eacute; des modifications. Etes vous sûr(e) de d&eacute;sirer quitter sans sauvegarder ?", "You have made..." => "Vous avez r&eacute;alis&eacute; des modifications. Etes vous sûr(e) de d&eacute;sirer quitter sans sauvegarder ?",
"Close all tabs" => "Fermer tous les onglets?" "Close all tabs" => "Fermer tous les onglets?",
"results" => "r&eacute;sultats"
), ),
"login" => "login" =>
@@ -369,7 +379,7 @@ dans lib/config__settings.php",
"visible tabs" => "onglets visibles", "visible tabs" => "onglets visibles",
"locked nav" => "navigation v&eacute;rouill&eacute;e", "locked nav" => "navigation v&eacute;rouill&eacute;e",
"tag wrapper command" => "commande de tag", "tag wrapper command" => "commande de tag",
"auto-complete on" => "auto-complétion sur", "auto-complete on" => "auto-compl&eacute;tion sur",
"security" => "s&eacute;curit&eacute;", "security" => "s&eacute;curit&eacute;",
"new password" => "nouveau mot de passe", "new password" => "nouveau mot de passe",
"8 chars min" => "8 caract&egrave;res minimum", "8 chars min" => "8 caract&egrave;res minimum",
@@ -422,4 +432,3 @@ dans lib/config__settings.php",
) )
); );
?>

View File

@@ -395,4 +395,4 @@ $text = array(
) )
); );
?>

View File

@@ -24,8 +24,6 @@ $text = array(
"Last 10 files..." => "Ultimi 10 file aperti:", "Last 10 files..." => "Ultimi 10 file aperti:",
"none" => "[none]", "none" => "[none]",
"test suite" => "prova suite", "test suite" => "prova suite",
"trial remaining" => "tempo rimanente alla fine del periodo di prova",
"days left" => "giorni rimanenti",
"Run unit tests" => "Esegui test di unità", "Run unit tests" => "Esegui test di unità",
"dev mode" => "modalit&agrave; sviluppo", "dev mode" => "modalit&agrave; sviluppo",
"Status" => "Stato", "Status" => "Stato",
@@ -138,7 +136,7 @@ $text = array(
"Sorry, cannot delete" => "Siamo spiacenti, non è possibile cancellare", "Sorry, cannot delete" => "Siamo spiacenti, non è possibile cancellare",
"Sorry, this file..." => "Siamo spiacenti, questo file è stato cambiato, non è possibile salvarlo", "Sorry, this file..." => "Siamo spiacenti, questo file è stato cambiato, non è possibile salvarlo",
"Reload this file..." => "Ricarica questo file e copia la tua versione in un pannello differente", "Reload this file..." => "Ricarica questo file e copia la tua versione in un pannello differente",
"There was a..." => "C'è stato un problema tecnico, probabilmente qualcosa che non era ancora pronto. Così ICEcoder ha ricaricato di nuovo il file.", "There was a..." => "C\'è stato un problema tecnico, probabilmente qualcosa che non era ancora pronto. Così ICEcoder ha ricaricato di nuovo il file.",
"displayed at" => "visualizzato in", "displayed at" => "visualizzato in",
"Enter filename to..." => "Inserisci il nome del file da salvare in", "Enter filename to..." => "Inserisci il nome del file da salvare in",
"That file exists..." => "Questo file esiste già, sovrascrivere??", "That file exists..." => "Questo file esiste già, sovrascrivere??",
@@ -148,7 +146,7 @@ $text = array(
"get-branch" => "get-branch" =>
array( array(
"There are no..." => "Non ci sono differenze tra il repo locale e GitHub. Tornare alla modalità normale??", "There are no..." => "Non ci sono differenze tra il repo locale e GitHub. Tornare alla modalità normale??",
"Sorry, there was..." => "Spiacente, c'è stato un errore, il codice:", "Sorry, there was..." => "Spiacente, c\'è stato un errore, il codice:",
"Your local folder..." => "La cartella locale è vuota, ti piacerebbe clonare" "Your local folder..." => "La cartella locale è vuota, ti piacerebbe clonare"
), ),
@@ -182,15 +180,15 @@ $text = array(
"headers" => "headers" =>
array( array(
"Bad CSRF token..." => "Bad CSRF token. Per favore riporta l'errore a https://github.com/mattpass/ICEcoder così che possa essere fixato." "Bad CSRF token..." => "Bad CSRF token. Per favore riporta l\'errore a https://github.com/mattpass/ICEcoder così che possa essere fixato."
), ),
"help" => "help" =>
array( array(
"shortcuts" => "shortcuts", "shortcuts" => "shortcuts",
"Within document" => "all'interno del documento", "Within document" => "all\'interno del documento",
"On Tabs" => "Sulle Tabs", "On Tabs" => "Sulle Tabs",
"Within file manager" => "All'interno del file manager", "Within file manager" => "All\'interno del file manager",
"Anywhere" => "Dappertutto", "Anywhere" => "Dappertutto",
"Space" => "Spazio", "Space" => "Spazio",
"Click" => "Click", "Click" => "Click",
@@ -258,7 +256,7 @@ $text = array(
"Creating Folder" => "Sto creando una cartla", "Creating Folder" => "Sto creando una cartla",
"Sorry you can..." => "Spiacente, puoi avere solo 100 file aperti a volta!", "Sorry you can..." => "Spiacente, puoi avere solo 100 file aperti a volta!",
"Opening File" => "Apertura file", "Opening File" => "Apertura file",
"Enter relative file..." => "Digita il percorso relativo (con / di prefisso) o l'url remoto", "Enter relative file..." => "Digita il percorso relativo (con / di prefisso) o l\'url remoto",
"Getting" => "Getting", "Getting" => "Getting",
"Please enter the..." => "Per favore digita un nuovo nome per", "Please enter the..." => "Per favore digita un nuovo nome per",
"Renaming to" => "Rinominando a ", "Renaming to" => "Rinominando a ",
@@ -277,7 +275,7 @@ $text = array(
"Open previous files" => "Aprire i file precedenti?", "Open previous files" => "Aprire i file precedenti?",
"Please enter your..." => "Please enter your GitHub token (either personal access token or client/secret pair token). See tooltip next to Github Auth Token on Help > Settings screen for more info", "Please enter your..." => "Please enter your GitHub token (either personal access token or client/secret pair token). See tooltip next to Github Auth Token on Help > Settings screen for more info",
"This will compare..." => "Questo confronterà e mostrarà la diff tra il dir locale e il repository. Ok?", "This will compare..." => "Questo confronterà e mostrarà la diff tra il dir locale e il repository. Ok?",
"Please note for..." => "Si prega di notare: affinche l'aggiornamento funzioni correttamente, è necessario disporre dei permessi di scrittura e cancellazione su tutti le cartelle e file di ICEcoder e. Se è necessario ripristinare questa versione di ICEcoder per qualsiasi motivo, lo troverete nella directory / tmp dir. Fare clic su OK per procedere con l'aggiornamento automatico o annullare a visitare il sito ICEcoder in modo da poter utilizzare la zip e aggiornare manualmente.", "Please note for..." => "Si prega di notare: affinche l\'aggiornamento funzioni correttamente, è necessario disporre dei permessi di scrittura e cancellazione su tutti le cartelle e file di ICEcoder e. Se è necessario ripristinare questa versione di ICEcoder per qualsiasi motivo, lo troverete nella directory / tmp dir. Fare clic su OK per procedere con l\'aggiornamento automatico o annullare a visitare il sito ICEcoder in modo da poter utilizzare la zip e aggiornare manualmente.",
"You can start..." => "Puoi ripoertare il bug in Help > Settings", "You can start..." => "Puoi ripoertare il bug in Help > Settings",
"Error cannot find..." => "Error: cannot find/access the error file paths", "Error cannot find..." => "Error: cannot find/access the error file paths",
"No new errors..." => "Nessun nuovo errore trovato", "No new errors..." => "Nessun nuovo errore trovato",
@@ -379,7 +377,7 @@ $text = array(
"file manager root" => "root di file manager ", "file manager root" => "root di file manager ",
"Free to use..." => "Libero di usarlo per i propri scopi, commerciali e non, facendomelo solo sapere per eventuali nuovi e interessanti utilizzi o personalizzazioni. :) <br> Nessuna garanzia o responsabilità, tutte le responsabilità di utilizzo è vostra. <br> Un sacco di aziende e persone fantastiche hanno contribuito a costruire ICEcoder e ce ne sarebbero troppi da ringraziare. Si prega di consultare la lista completa a", "Free to use..." => "Libero di usarlo per i propri scopi, commerciali e non, facendomelo solo sapere per eventuali nuovi e interessanti utilizzi o personalizzazioni. :) <br> Nessuna garanzia o responsabilità, tutte le responsabilità di utilizzo è vostra. <br> Un sacco di aziende e persone fantastiche hanno contribuito a costruire ICEcoder e ce ne sarebbero troppi da ringraziare. Si prega di consultare la lista completa a",
"functionality" => "funzionalità", "functionality" => "funzionalità",
"check for updates..." => "controlla aggiornamenti all'avvio", "check for updates..." => "controlla aggiornamenti all\'avvio",
"auto open last..." => "Apri automaticamente ultimi file al login", "auto open last..." => "Apri automaticamente ultimi file al login",
"when finding in..." => "quando trovi nei file, escludi", "when finding in..." => "quando trovi nei file, escludi",
"assisting" => "assisting", "assisting" => "assisting",
@@ -430,14 +428,14 @@ token di accesso personale (https://help.github.com/articles/creating-an-access-
"settings-update" => "settings-update" =>
array( array(
"Cannot update config..." => "Non posso aggiornare il file config. Per favore permetti l'accesso pubblico di scrittura", "Cannot update config..." => "Non posso aggiornare il file config. Per favore permetti l\'accesso pubblico di scrittura",
"and try again" => "e prova ancora", "and try again" => "e prova ancora",
"and press refresh" => "e premi aggiorna" "and press refresh" => "e premi aggiorna"
), ),
"updater" => "updater" =>
array( array(
"Update appears to..." => "L'aggiornamento sembra andato bene" "Update appears to..." => "L\'aggiornamento sembra andato bene"
), ),
"find-in-files" => "find-in-files" =>
array( array(
@@ -454,4 +452,4 @@ Inserisci maschere separate da punto e virgola i dei file da cercare (e.s. *.php
) )
); );
?>

View File

@@ -11,7 +11,7 @@ $text = array(
"editor" => "editor" =>
array( array(
"Click icons for..." => "<b>Klikk på ikoner<br>for hjelp &<br>bruk av info</b>", "Click icons for..." => "<b>Klikk på ikoner<br>for hjelp &<br>bruk av info</b>",
"server" => "server", "server" => "server",
"Server name, OS..." => "Server navn, OS & IP:", "Server name, OS..." => "Server navn, OS & IP:",
"Root" => "Root:", "Root" => "Root:",
@@ -22,14 +22,14 @@ $text = array(
"Browser" => "Nettleser:", "Browser" => "Nettleser:",
"Your IP" => "Din IP:", "Your IP" => "Din IP:",
"files" => "filer", "files" => "filer",
"Last 10 files..." => "Siste 10 åpne filer:", "Last 10 files..." => "Siste 10 åpne filer:",
"none" => "[none]", "none" => "[none]",
"test suite" => "test suite", "test suite" => "test suite",
"Run unit tests" => "Kjør unit tests", "Run unit tests" => "Kjør unit tests",
"dev mode" => "utvikler modus", "dev mode" => "utvikler modus",
"Status" => "Status", "Status" => "Status",
"Using" => "Brukes", "Using" => "Brukes",
"You can switch..." => "Du kan slå utvikler modus på/av i lib/config__settings.php", "You can switch..." => "Du kan slå utvikler modus på/av i lib/config__settings.php",
"results" => "resultater" "results" => "resultater"
), ),
@@ -45,9 +45,9 @@ $text = array(
"index" => "index" =>
array( array(
"UPDATE INFO" => "UPDATE INFO", "UPDATE INFO" => "UPDATE INFO",
"now available" => "Nå tilgjengelig", "now available" => "Nå tilgjengelig",
"Your version is" => "Din versjon er", "Your version is" => "Din versjon er",
"Update now" => "Oppdater nå", "Update now" => "Oppdater nå",
"You have some..." => "Du har noe ulagrede endringer", "You have some..." => "Du har noe ulagrede endringer",
"Are you sure you want to close?" => "Are you sure you want to close?", "Are you sure you want to close?" => "Are you sure you want to close?",
"working" => "arbeider", "working" => "arbeider",
@@ -56,7 +56,7 @@ $text = array(
"New Folder" => "Ny Mappe", "New Folder" => "Ny Mappe",
"Upload File(s)" => "Last opp Fil(er)", "Upload File(s)" => "Last opp Fil(er)",
"Paste" => "Lim inn", "Paste" => "Lim inn",
"Open" => "Åpne", "Open" => "Åpne",
"Copy" => "Kopier", "Copy" => "Kopier",
"Duplicate" => "Duplikat", "Duplicate" => "Duplikat",
"Delete" => "Slett", "Delete" => "Slett",
@@ -70,7 +70,7 @@ $text = array(
"Help" => "Hjelp", "Help" => "Hjelp",
"Save" => "Lagre", "Save" => "Lagre",
"Save As" => "Lagre Som", "Save As" => "Lagre Som",
"Live Preview" => "Direkte Forhåndsvisning", "Live Preview" => "Direkte Forhåndsvisning",
"Upload" => "Last opp", "Upload" => "Last opp",
"Zip" => "Zip", "Zip" => "Zip",
"Print" => "Skriv ut", "Print" => "Skriv ut",
@@ -78,7 +78,7 @@ $text = array(
"Logout" => "Loggut", "Logout" => "Loggut",
"Undo" => "Angre", "Undo" => "Angre",
"Redo" => "Gjenta", "Redo" => "Gjenta",
"Indent more" => "Større innrykk", "Indent more" => "Større innrykk",
"Indent less" => "Mindre innrykk", "Indent less" => "Mindre innrykk",
"Autocomplete" => "Autokomplettere", "Autocomplete" => "Autokomplettere",
"Comment/Uncomment" => "Kommentar/Fjern Kommentar", "Comment/Uncomment" => "Kommentar/Fjern Kommentar",
@@ -86,7 +86,7 @@ $text = array(
"Manual" => "Manual", "Manual" => "Manual",
"Shortcuts" => "Snarveier", "Shortcuts" => "Snarveier",
"Settings" => "Innstillinger", "Settings" => "Innstillinger",
"Search for selected" => "Søk for utvalgte", "Search for selected" => "Søk for utvalgte",
"website" => "webside", "website" => "webside",
"Close all tabs" => "Lukk alle faner", "Close all tabs" => "Lukk alle faner",
"Alphabetize tabs" => "Ordne faner alfabetisk", "Alphabetize tabs" => "Ordne faner alfabetisk",
@@ -96,12 +96,12 @@ $text = array(
"replace" => "erstatt", "replace" => "erstatt",
"replace all" => "erstatt alt", "replace all" => "erstatt alt",
"this document" => "dette dokumentet", "this document" => "dette dokumentet",
"open documents" => "åpne dokumenter", "open documents" => "åpne dokumenter",
"all files" => "alle filer", "all files" => "alle filer",
"all filenames" => "alle filenavn", "all filenames" => "alle filenavn",
"Turn on/off..." => "Svitsj på/av kode assistenten", "Turn on/off..." => "Svitsj på/av kode assistenten",
"Code Assist" => "Kode Assistenten", "Code Assist" => "Kode Assistenten",
"Go to Line" => "Gå til Linje", "Go to Line" => "Gå til Linje",
"View" => "Vis", "View" => "Vis",
"Bug reporting not active" => "Bug rapportering ikke aktiv" "Bug reporting not active" => "Bug rapportering ikke aktiv"
), ),
@@ -116,75 +116,75 @@ $text = array(
"file-control" => "file-control" =>
array( array(
"Sorry" => "Beklager", "Sorry" => "Beklager",
"does not seem..." => "synes ikke å eksistere på serveren", "does not seem..." => "synes ikke å eksistere på serveren",
"Sorry, could not..." => "Beklager, kunne ikke få innholdet i", "Sorry, could not..." => "Beklager, kunne ikke få innholdet i",
"Sorry, cannot create..." => "Beklager, kan ikke opprette mappe på", "Sorry, cannot create..." => "Beklager, kan ikke opprette mappe på",
"Sorry, cannot copy" => "Beklager, kan ikke kopiere", "Sorry, cannot copy" => "Beklager, kan ikke kopiere",
"into" => "inn", "into" => "inn",
"Uploaded file(s) OK" => "Opplastete fil(er) OK", "Uploaded file(s) OK" => "Opplastete fil(er) OK",
"Sorry, cannot upload" => "Beklager, kan ikke laste opp", "Sorry, cannot upload" => "Beklager, kan ikke laste opp",
"Sorry, cannot upload..." => "Beklager, kan ikke laste opp i demo-modus", "Sorry, cannot upload..." => "Beklager, kan ikke laste opp i demo-modus",
"Sorry, cannot rename" => "Beklager, kan ikke endre navn", "Sorry, cannot rename" => "Beklager, kan ikke endre navn",
"Maybe public write..." => "Kanskje det trengs offentlige skriverettigheter på denne, eller overordnede mappen?", "Maybe public write..." => "Kanskje det trengs offentlige skriverettigheter på denne, eller overordnede mappen?",
"Sorry, cannot move" => "Beklager, kan ikke flytte", "Sorry, cannot move" => "Beklager, kan ikke flytte",
"Sorry, cannot save" => "Beklager, kan ikke lagre", "Sorry, cannot save" => "Beklager, kan ikke lagre",
"Sorry, cannot replace..." => "Beklager, kan ikke erstatte tekst i", "Sorry, cannot replace..." => "Beklager, kan ikke erstatte tekst i",
"Sorry, cannot change..." => "Beklager, kan ikke endre tillatelser på", "Sorry, cannot change..." => "Beklager, kan ikke endre tillatelser på",
"Sorry, cannot delete..." => "Beklager, kan ikke slette rotnivå", "Sorry, cannot delete..." => "Beklager, kan ikke slette rotnivå",
"Sorry, cannot delete" => "Beklager, kan ikke slette", "Sorry, cannot delete" => "Beklager, kan ikke slette",
"Sorry, this file..." => "Beklager, denne filen er endret, kan ikke lagre", "Sorry, this file..." => "Beklager, denne filen er endret, kan ikke lagre",
"Reload this file..." => "Skal denne filen lastes igjen og kopieres denne versjon til et nytt dokument?", "Reload this file..." => "Skal denne filen lastes igjen og kopieres denne versjon til et nytt dokument?",
"There was a..." => "Dette var en teknisk hikke, sannsynligvis var noe ikke helt klar. Så ICEcoder laster sin kontrollfil på nytt.", "There was a..." => "Dette var en teknisk hikke, sannsynligvis var noe ikke helt klar. Så ICEcoder laster sin kontrollfil på nytt.",
"displayed at" => "vises på", "displayed at" => "vises på",
"Enter filename to..." => "Skriv inn filnavnet for å lagre på", "Enter filename to..." => "Skriv inn filnavnet for å lagre på",
"That file exists..." => "Denne filen eksisterer allerede, skriv over?", "That file exists..." => "Denne filen eksisterer allerede, skriv over?",
"Saving" => "Lagring" "Saving" => "Lagring"
), ),
"get-branch" => "get-branch" =>
array( array(
"There are no..." => "Det er ingen forskjeller mellom det lokale og GitHub lagringssted. Gå tilbake til vanlig modus?", "There are no..." => "Det er ingen forskjeller mellom det lokale og GitHub lagringssted. Gå tilbake til vanlig modus?",
"Sorry, there was..." => "Beklager, det var en feil, kode:", "Sorry, there was..." => "Beklager, det var en feil, kode:",
"Your local folder..." => "Din lokale mappe er tom, ønsker du å klone" "Your local folder..." => "Din lokale mappe er tom, ønsker du å klone"
), ),
"github-manager" => "github-manager" =>
array( array(
"Sorry, cannot create..." => "Beklager, kan ikke opprette mappe på", "Sorry, cannot create..." => "Beklager, kan ikke opprette mappe på",
"Cannot update config..." => "Kan ikke oppdatere konfigurasjonsfilen. Vennligst sett offentlige skriverettigheter", "Cannot update config..." => "Kan ikke oppdatere konfigurasjonsfilen. Vennligst sett offentlige skriverettigheter",
"and try again" => "og prøv igjen", "and try again" => "og prøv igjen",
"saving github paths" => "lagre GitHub stier...", "saving github paths" => "lagre GitHub stier...",
"github paths" => "github stier", "github paths" => "github stier",
"Choose existing path" => "Velg eksisterende sti", "Choose existing path" => "Velg eksisterende sti",
"Local path" => "Lokal sti", "Local path" => "Lokal sti",
"Remote GitHub path" => "Ekstern GitHub sti", "Remote GitHub path" => "Ekstern GitHub sti",
"Choose" => "Velg", "Choose" => "Velg",
"Set local and..." => "Sett lokal og ekstern sti til tomt, for å fjerne", "Set local and..." => "Sett lokal og ekstern sti til tomt, for å fjerne",
"Update" => "Oppdater", "Update" => "Oppdater",
"Add new path" => "Legg til ny sti", "Add new path" => "Legg til ny sti",
"Add" => "Legg til", "Add" => "Legg til",
"Usage Info" => "Bruksinfo:", "Usage Info" => "Bruksinfo:",
"Enter relative local..." => "Oppgi relative lokale stier (f.e. /server/myfiles) og absolutte GitHub stier (f.e. https://github.com/user/repo eller https://github.com/user/repo/tree/branch for grener), som eksemplene. Med dette har du etablert kildestier på begge steder, som et par.", "Enter relative local..." => "Oppgi relative lokale stier (f.e. /server/myfiles) og absolutte GitHub stier (f.e. https://github.com/user/repo eller https://github.com/user/repo/tree/branch for grener), som eksemplene. Med dette har du etablert kildestier på begge steder, som et par.",
"You can then..." => "Du kan deretter velge en stipar og dette blir da den nye rot stien i ICEcoder.", "You can then..." => "Du kan deretter velge en stipar og dette blir da den nye rot stien i ICEcoder.",
"The file manager..." => "Filbehandleren viser deretter et nytt GitHub-ikon, som du kan klikke på, for å utføre en sjekk og vise forskjell mellom de 2 kildene. Disse forskjellene kan da være påkrevd, og flyttes til den eksterne stien på GitHub eller klones til din lokale sti, for å synkronisere filene dine.", "The file manager..." => "Filbehandleren viser deretter et nytt GitHub-ikon, som du kan klikke på, for å utføre en sjekk og vise forskjell mellom de 2 kildene. Disse forskjellene kan da være påkrevd, og flyttes til den eksterne stien på GitHub eller klones til din lokale sti, for å synkronisere filene dine.",
"If you want..." => "Hvis du ønsker å velge en annen root sti, kan dette gjøres i skjermbildet Innstillinger." "If you want..." => "Hvis du ønsker å velge en annen root sti, kan dette gjøres i skjermbildet Innstillinger."
), ),
"github" => "github" =>
array( array(
"Sorry, you do..." => "Beklager, det ser ikke ut til å ha lastet inn OpenSSL på PHP instans, så https er ikke tilgjengelig. Dette er nødvendig for GitHub dataoverføring, du kan endre php.ini innstillingene, start serveren på nytt og prøv igjen" "Sorry, you do..." => "Beklager, det ser ikke ut til å ha lastet inn OpenSSL på PHP instans, så https er ikke tilgjengelig. Dette er nødvendig for GitHub dataoverføring, du kan endre php.ini innstillingene, start serveren på nytt og prøv igjen"
), ),
"headers" => "headers" =>
array( array(
"Bad CSRF token..." => "Bad CSRF token. Vennligst rapporter feilinfoen på https://github.com/mattpass/ICEcoder slik at det kan fikses." "Bad CSRF token..." => "Bad CSRF token. Vennligst rapporter feilinfoen på https://github.com/mattpass/ICEcoder slik at det kan fikses."
), ),
"help" => "help" =>
array( array(
"shortcuts" => "snarveier", "shortcuts" => "snarveier",
"Within document" => "Innenfor dokument", "Within document" => "Innenfor dokument",
"On Tabs" => "På faner", "On Tabs" => "På faner",
"Within file manager" => "Innenfor filbehandler", "Within file manager" => "Innenfor filbehandler",
"Anywhere" => "Hvor som helst", "Anywhere" => "Hvor som helst",
"Space" => "Mellomrom", "Space" => "Mellomrom",
@@ -193,18 +193,18 @@ $text = array(
"Left click" => "Venstre klikk", "Left click" => "Venstre klikk",
"Middle click" => "Middel klikk", "Middle click" => "Middel klikk",
"Double click tap..." => "Dobbel klikk / tap (mobil)", "Double click tap..." => "Dobbel klikk / tap (mobil)",
"Right click" => "Høyre klikk", "Right click" => "Høyre klikk",
"Middle scrollwheel" => "Middel rullehjul", "Middle scrollwheel" => "Middel rullehjul",
"Drag" => "Dra", "Drag" => "Dra",
"Autocomplete add snippet" => "Autofullfør/legg til kodebiten", "Autocomplete add snippet" => "Autofullfør/legg til kodebiten",
"Multiple select" => "Flere valg", "Multiple select" => "Flere valg",
"Move line up" => "Flytt linje opp", "Move line up" => "Flytt linje opp",
"Move line down" => "Flytt linje ned", "Move line down" => "Flytt linje ned",
"Duplicate lines" => "Dupliser linje(r)", "Duplicate lines" => "Dupliser linje(r)",
"Remove lines" => "Slett linje(r)", "Remove lines" => "Slett linje(r)",
"Insert line before" => "Sett inn linje før", "Insert line before" => "Sett inn linje før",
"Insert line after" => "Sett inn linje etter", "Insert line after" => "Sett inn linje etter",
"Search for selected" => "Søk etter valgt", "Search for selected" => "Søk etter valgt",
"Jump to definition" => "Hopp til definisjon/hopp tilbake", "Jump to definition" => "Hopp til definisjon/hopp tilbake",
"Comment uncomment" => "Kommentar/fjern kommentar", "Comment uncomment" => "Kommentar/fjern kommentar",
"Insert tab indent" => "Sett inn innrykk/valgt innrykk", "Insert tab indent" => "Sett inn innrykk/valgt innrykk",
@@ -221,8 +221,8 @@ $text = array(
"End line with..." => "Avslutt linje med <br>", "End line with..." => "Avslutt linje med <br>",
"Close tab" => "Lukk fane", "Close tab" => "Lukk fane",
"Select file folder" => "Velg fil/mappe", "Select file folder" => "Velg fil/mappe",
"Open file" => "Åpne fil", "Open file" => "Åpne fil",
"Range select" => "Velg område", "Range select" => "Velg område",
"Options for selected" => "Egenskaper for valgt", "Options for selected" => "Egenskaper for valgt",
"Delete selected" => "Slett valgt", "Delete selected" => "Slett valgt",
"Next previous tab" => "Neste/forige fane", "Next previous tab" => "Neste/forige fane",
@@ -230,43 +230,43 @@ $text = array(
"Previous tab" => "Forige fane", "Previous tab" => "Forige fane",
"New tab" => "Ny fane", "New tab" => "Ny fane",
"Close current tab" => "Lukk gjeldende fane", "Close current tab" => "Lukk gjeldende fane",
"Open file prompt" => "Åpne fil prompt", "Open file prompt" => "Åpne fil prompt",
"Find" => "Finn", "Find" => "Finn",
"Focus on Go..." => "Fokus på Gå til linje inndata", "Focus on Go..." => "Fokus på Gå til linje inndata",
"Save" => "Lagre", "Save" => "Lagre",
"Save as" => "Lagre som...", "Save as" => "Lagre som...",
"View webpage" => "Vis webside", "View webpage" => "Vis webside",
"Contract expand file..." => "Trekk sammen/utvid filbehandler", "Contract expand file..." => "Trekk sammen/utvid filbehandler",
"Fold unfold current..." => "Brett/utfold gjeldende linje", "Fold unfold current..." => "Brett/utfold gjeldende linje",
"Refocus on document" => "Refokusere på dokument", "Refocus on document" => "Refokusere på dokument",
"Cancel tasks" => "Avbryt oppgaver" "Cancel tasks" => "Avbryt oppgaver"
), ),
"ice-coder" => "ice-coder" =>
array( array(
"No text selected..." => "Ingen tekst valgt til å søke på", "No text selected..." => "Ingen tekst valgt til å søke på",
"Creating Folder" => "Lage mappe", "Creating Folder" => "Lage mappe",
"Sorry you can..." => "Beklager, du kan bare ha 100 filer åpne samtidig!", "Sorry you can..." => "Beklager, du kan bare ha 100 filer åpne samtidig!",
"Opening File" => "Åpner Fil", "Opening File" => "Åpner Fil",
"Enter relative file..." => "Oppgi den relative filstien (med prefiks /) eller ekstern URL", "Enter relative file..." => "Oppgi den relative filstien (med prefiks /) eller ekstern URL",
"Getting" => "Får", "Getting" => "Får",
"Please enter the..." => "Skriv inn det nye navnet på", "Please enter the..." => "Skriv inn det nye navnet på",
"Renaming to" => "Endre navn til", "Renaming to" => "Endre navn til",
"Moving to" => "Flytt til", "Moving to" => "Flytt til",
"Deleting File" => "Slett Fil", "Deleting File" => "Slett Fil",
"Pasting File" => "Lim inn Fil", "Pasting File" => "Lim inn Fil",
"Sorry cannot paste..." => "Beklager, kan ikke lime inn en hel rot mappe", "Sorry cannot paste..." => "Beklager, kan ikke lime inn en hel rot mappe",
"Nothing to paste..." => "Ingenting å lime inn, kopiere en fil/mappe først!", "Nothing to paste..." => "Ingenting å lime inn, kopiere en fil/mappe først!",
"Replacing text in" => "Erstatte tekst i", "Replacing text in" => "Erstatte tekst i",
"Cancelled tasks" => "Kansellerte oppgaver", "Cancelled tasks" => "Kansellerte oppgaver",
"Open previous files" => "Åpne siste filer?", "Open previous files" => "Åpne siste filer?",
"Please enter your..." => "Skriv inn GitHub token (enten personlig tilgang token eller kunde/hemmelig par token). Se verktøytips ved siden av Github Auth Token på Hjelp-skjermbildet > Innstillinger for mer info", "Please enter your..." => "Skriv inn GitHub token (enten personlig tilgang token eller kunde/hemmelig par token). Se verktøytips ved siden av Github Auth Token på Hjelp-skjermbildet > Innstillinger for mer info",
"This will compare..." => "Det vil sammenlignes og vise en forskjell mellom din lokale mappe og lagringsstedet. OK?", "This will compare..." => "Det vil sammenlignes og vise en forskjell mellom din lokale mappe og lagringsstedet. OK?",
"Please note for..." => "Vennligst merk: for at oppdatering skal fungere skikkelig, må du ha skrive/slette tilgang til alle ICEcoder kataloger og filer. Hvis du trenger å gjenopprette denne versjonen av ICEcoder av en eller annen grunn, vil du finne den i /tmp mappen. Klikk OK for å fortsette med en auto-oppdatering eller avbryt for å besøke ICEcoder området slik at du kan ta tak i zip-filen og oppdatere manuelt.", "Please note for..." => "Vennligst merk: for at oppdatering skal fungere skikkelig, må du ha skrive/slette tilgang til alle ICEcoder kataloger og filer. Hvis du trenger å gjenopprette denne versjonen av ICEcoder av en eller annen grunn, vil du finne den i /tmp mappen. Klikk OK for å fortsette med en auto-oppdatering eller avbryt for å besøke ICEcoder området slik at du kan ta tak i zip-filen og oppdatere manuelt.",
"You can start..." => "Du kan starte feilrapportering i Hjelp > Innstillinger", "You can start..." => "Du kan starte feilrapportering i Hjelp > Innstillinger",
"Error cannot find..." => "Feil: kan ikke finne/få tilgang til feil filstier", "Error cannot find..." => "Feil: kan ikke finne/få tilgang til feil filstier",
"No new errors..." => "Ingen feil funnet", "No new errors..." => "Ingen feil funnet",
"You have made..." => "Du har gjort endringer. Er du sikker på, at du vil lukke uten å lagre?", "You have made..." => "Du har gjort endringer. Er du sikker på, at du vil lukke uten å lagre?",
"Close all tabs" => "Lukk alle faner?" "Close all tabs" => "Lukk alle faner?"
), ),
@@ -274,16 +274,16 @@ $text = array(
array( array(
"set password" => "sett passord", "set password" => "sett passord",
"login" => "logginn", "login" => "logginn",
"To disable registration..." => "Hvis du vil deaktivere registreringsmodus, åpne innstillingsmenyen eller åpne lib/config ___ settings.php og endre/aktiver Påmelding til 'false', deretter laste siden om igjen", "To disable registration..." => "Hvis du vil deaktivere registreringsmodus, åpne innstillingsmenyen eller åpne lib/config ___ settings.php og endre/aktiver Påmelding til 'false', deretter laste siden om igjen",
"Registration mode enabled" => "Registreringsmodus aktivert", "Registration mode enabled" => "Registreringsmodus aktivert",
"auto-check for updates" => "auto-sjekk for oppdateringer", "auto-check for updates" => "auto-sjekk for oppdateringer",
"To put into..." => "Å sette til flerbrukermodus, åpne innstillingsmenyen eller åpne lib/config ___ settings.php og endre flerbruker til 'true', deretter laste siden om igjen", "To put into..." => "Å sette til flerbrukermodus, åpne innstillingsmenyen eller åpne lib/config ___ settings.php og endre flerbruker til 'true', deretter laste siden om igjen",
"multi-user" => "flerbruker" "multi-user" => "flerbruker"
), ),
"multiple-results" => "multiple-results" =>
array( array(
"rename all" => "endre navn på alle", "rename all" => "endre navn på alle",
"replace all" => "erstatte alle", "replace all" => "erstatte alle",
"document" => "dokument", "document" => "dokument",
"Found" => "Funnet", "Found" => "Funnet",
@@ -301,28 +301,28 @@ $text = array(
"plugins-manager" => "plugins-manager" =>
array( array(
"ICEcoder needs to..." => "ICEcoder må startes om igjen, for å gjøre programtillegget kjørbar. Start om igjen nå?", "ICEcoder needs to..." => "ICEcoder må startes om igjen, for å gjøre programtillegget kjørbar. Start om igjen nå?",
"saving plugins" => "lagre programtillegg...", "saving plugins" => "lagre programtillegg...",
"Cannot update config..." => "Kan ikke oppdatere konfigurasjonsfilen. Vennligst sett offentlige skriverettigheter", "Cannot update config..." => "Kan ikke oppdatere konfigurasjonsfilen. Vennligst sett offentlige skriverettigheter",
"and try again" => "og prøv igjen", "and try again" => "og prøv igjen",
"couldnt delete dir" => "kan ikke slette mappe", "couldnt delete dir" => "kan ikke slette mappe",
"couldnt delete file" => "kan ikke slette fil", "couldnt delete file" => "kan ikke slette fil",
"plugins" => "programtillegg", "plugins" => "programtillegg",
"Guide to writing..." => "Guide til skriving av programtillegg", "Guide to writing..." => "Guide til skriving av programtillegg",
"Manage Installed" => "Administrer installerte", "Manage Installed" => "Administrer installerte",
"URL" => "URL", "URL" => "URL",
"Target" => "Mål", "Target" => "Mål",
"Timer" => "Tidsur", "Timer" => "Tidsur",
"Update" => "Oppdater", "Update" => "Oppdater",
"Install" => "Installer", "Install" => "Installer",
"Uninstall" => "Avinstaller", "Uninstall" => "Avinstaller",
"Reload after install..." => "Omstart etter installasjon nødvendig" "Reload after install..." => "Omstart etter installasjon nødvendig"
), ),
"properties" => "properties" =>
array( array(
"properties" => "egenskaper", "properties" => "egenskaper",
"Size" => "Størrelse", "Size" => "Størrelse",
"Modified" => "Endret", "Modified" => "Endret",
"Last access" => "Siste tilgang", "Last access" => "Siste tilgang",
"Type" => "Type", "Type" => "Type",
@@ -336,20 +336,20 @@ $text = array(
"Public" => "Offentlig", "Public" => "Offentlig",
"Read" => "Lese", "Read" => "Lese",
"Write" => "Skrive", "Write" => "Skrive",
"Execute" => "Kjøre", "Execute" => "Kjøre",
"Change to" => "Endre til", "Change to" => "Endre til",
"update" => "oppdatere" "update" => "oppdatere"
), ),
"settings-common" => "settings-common" =>
array( array(
"Your document does..." => "Dokumentet ser ikke ut til å være i UTF-8 koding, derfor har det blitt omgjort" "Your document does..." => "Dokumentet ser ikke ut til å være i UTF-8 koding, derfor har det blitt omgjort"
), ),
"settings-save-current-files" => "settings-save-current-files" =>
array( array(
"Cannot update config..." => "Kan ikke oppdatere konfigurasjonsfilen. Vennligst sett offentlige skriverettigheter", "Cannot update config..." => "Kan ikke oppdatere konfigurasjonsfilen. Vennligst sett offentlige skriverettigheter",
"and try again" => "og prøv igjen" "and try again" => "og prøv igjen"
), ),
"settings-screen" => "settings-screen" =>
@@ -361,17 +361,17 @@ $text = array(
"codemirror dir" => "codemirror mappe", "codemirror dir" => "codemirror mappe",
"codemirror version" => "codemirror versjon", "codemirror version" => "codemirror versjon",
"file manager root" => "filbehandler root", "file manager root" => "filbehandler root",
"Free to use..." => "Gratis å bruke den til eget formål, kommersielle eller ikke, bare gi meg beskjed om eventuelle kule bruk eller tilpasninger. :) <br>Ingen garanti eller erstatningsansvar aksepteres for noe som helst, det er ditt eget ansvar for all bruk.<br>Mange fantastiske mennesker og bedrifter har bidratt til å bygge ICEcoder og det er for mange å takke her. Vennligst se hele listen på", "Free to use..." => "Gratis å bruke den til eget formål, kommersielle eller ikke, bare gi meg beskjed om eventuelle kule bruk eller tilpasninger. :) <br>Ingen garanti eller erstatningsansvar aksepteres for noe som helst, det er ditt eget ansvar for all bruk.<br>Mange fantastiske mennesker og bedrifter har bidratt til å bygge ICEcoder og det er for mange å takke her. Vennligst se hele listen på",
"functionality" => "funksjonalitet", "functionality" => "funksjonalitet",
"check for updates..." => "se etter oppdateringer ved start", "check for updates..." => "se etter oppdateringer ved start",
"auto open last..." => "åpne automatisk siste filer ved innlogging", "auto open last..." => "åpne automatisk siste filer ved innlogging",
"when finding in..." => "når funnet blant filer, utelukke", "when finding in..." => "når funnet blant filer, utelukke",
"assisting" => "assistere", "assisting" => "assistere",
"code assist" => "code assistent", "code assist" => "code assistent",
"visible tabs" => "synlige faner", "visible tabs" => "synlige faner",
"locked nav" => "låst navi", "locked nav" => "låst navi",
"tag wrapper command" => "tag wrapper kommando", "tag wrapper command" => "tag wrapper kommando",
"auto-complete on" => "autokompletering på", "auto-complete on" => "autokompletering på",
"security" => "sikkerhet", "security" => "sikkerhet",
"new password" => "nytt passord", "new password" => "nytt passord",
"8 chars min" => "min. 8 tegn", "8 chars min" => "min. 8 tegn",
@@ -385,8 +385,8 @@ $text = array(
"theme" => "tema", "theme" => "tema",
"line wrapping" => "linjebryting", "line wrapping" => "linjebryting",
"indent type" => "innrykk type", "indent type" => "innrykk type",
"indent size" => "innrykk størr.", "indent size" => "innrykk størr.",
"font size" => "skrift størr.", "font size" => "skrift størr.",
"auto indent" => "auto indent", "auto indent" => "auto indent",
"layout" => "layout", "layout" => "layout",
"plugin panel aligned" => "programtilleggspanel justert", "plugin panel aligned" => "programtilleggspanel justert",
@@ -396,17 +396,17 @@ $text = array(
"bug reporting" => "feil rapportering", "bug reporting" => "feil rapportering",
"check in files" => "sjekke blant filer", "check in files" => "sjekke blant filer",
"every" => "hver", "every" => "hver",
"secs getting last" => "sek., får siste", "secs getting last" => "sek., får siste",
"lines" => "linjer", "lines" => "linjer",
"multi-user" => "flerbruker", "multi-user" => "flerbruker",
"Make sure you..." => "Pass på, at du ikke stenger deg ut selv", "Make sure you..." => "Pass på, at du ikke stenger deg ut selv",
"Registration" => "Registrering", "Registration" => "Registrering",
"auth token" => "auth token", "auth token" => "auth token",
"Required to get..." => "Nødvendig for å skille, bestemme ditt lagringssted på GitHub lageret etc. Hvis du ikke har en, kan du bruke en:".PHP_EOL.PHP_EOL. "Required to get..." => "Nødvendig for å skille, bestemme ditt lagringssted på GitHub lageret etc. Hvis du ikke har en, kan du bruke en:".PHP_EOL.PHP_EOL.
"- personal access token (https://help.github.com/articles/creating-an-access-token-for-command-line-use), eller".PHP_EOL. "- personal access token (https://help.github.com/articles/creating-an-access-token-for-command-line-use), eller".PHP_EOL.
"- full client/secret pair token (http://developer.github.com/v3/oauth).".PHP_EOL.PHP_EOL. "- full client/secret pair token (http://developer.github.com/v3/oauth).".PHP_EOL.PHP_EOL.
"Det anbefales ikke, at du setter token din her midlertidig, og vær sikre på å oppgi den, når du blir bedt av ICEcoder, som vil holde den i økten sin.".PHP_EOL.PHP_EOL. "Det anbefales ikke, at du setter token din her midlertidig, og vær sikre på å oppgi den, når du blir bedt av ICEcoder, som vil holde den i økten sin.".PHP_EOL.PHP_EOL.
"Men hvis du jobber i et trygt og sikkert miljø, er det mer effektivt å sette den her.", "Men hvis du jobber i et trygt og sikkert miljø, er det mer effektivt å sette den her.",
"Sorry cannot commit..." => "Beklager, kan ikke bekrefte innstillinger i demo-modus", "Sorry cannot commit..." => "Beklager, kan ikke bekrefte innstillinger i demo-modus",
"update" => "oppdatere" "update" => "oppdatere"
), ),
@@ -414,15 +414,15 @@ $text = array(
"settings-update" => "settings-update" =>
array( array(
"Cannot update config..." => "Kan ikke oppdatere konfigurasjonsfilen. Vennligst sett offentlige skriverettigheter;", "Cannot update config..." => "Kan ikke oppdatere konfigurasjonsfilen. Vennligst sett offentlige skriverettigheter;",
"and try again" => "og prøv igjen", "and try again" => "og prøv igjen",
"and press refresh" => "og trykk refresh" "and press refresh" => "og trykk refresh"
), ),
"updater" => "updater" =>
array( array(
"Update appears to..." => "Oppdatering synes å være vellykket" "Update appears to..." => "Oppdatering synes å være vellykket"
) )
); );
?>

View File

@@ -422,4 +422,4 @@ $text = array(
"Update appears to..." => "با موفقیت به روز شد" "Update appears to..." => "با موفقیت به روز شد"
) )
); );
?>

View File

@@ -1,5 +1,5 @@
<?php <?php
// Português do Brasil // Portugu&ecirc;s do Brasil
// by: @leonardoroese (GitHub) // by: @leonardoroese (GitHub)
@@ -11,25 +11,25 @@ $text = array(
"editor" => "editor" =>
array( array(
"Click icons for..." => "<b>Ícones<br>para ajuda &amp;<br>info. utilização</b>", "Click icons for..." => "<b>&Iacute;cones<br>para ajuda &amp;<br>info. utiliza&ccedil;&atilde;o</b>",
"server" => "Servidor", "server" => "Servidor",
"Server name, OS..." => "Nome do Servidor, OS & IP:", "Server name, OS..." => "Nome do Servidor, OS & IP:",
"Root" => "Raiz:", "Root" => "Raiz:",
"ICEcoder root" => "ICEcoder raiz:", "ICEcoder root" => "ICEcoder raiz:",
"PHP version" => "Versâo do PHP:", "PHP version" => "Vers&atilde;o do PHP:",
"Date & time" => "Data e Hora:", "Date & time" => "Data e Hora:",
"your device" => "seu dispositivo", "your device" => "seu dispositivo",
"Browser" => "Exibir:", "Browser" => "Exibir:",
"Your IP" => "Seu IP:", "Your IP" => "Seu IP:",
"files" => "arquivos", "files" => "arquivos",
"Last 10 files..." => "ùltimos 10 arquivos abertos:", "Last 10 files..." => "&uacute;ltimos 10 arquivos abertos:",
"none" => "[nenhum]", "none" => "[nenhum]",
"test suite" => "suíte de teste", "test suite" => "su&iacute;te de teste",
"Run unit tests" => "Executar testes unitários", "Run unit tests" => "Executar testes unit&atilde;rios",
"dev mode" => "modo desenv.", "dev mode" => "modo desenv.",
"Status" => "Status", "Status" => "Status",
"Using" => "Usando", "Using" => "Usando",
"You can switch..." => "Você pode alterar modo desenv. on/off em lib/config__settings.php" "You can switch..." => "Voc&ecirc; pode alterar modo desenv. on/off em lib/config__settings.php"
), ),
@@ -43,14 +43,14 @@ $text = array(
"index" => "index" =>
array( array(
"UPDATE INFO" => "INFO ATUALIZAÇÃO", "UPDATE INFO" => "INFORMA&Ccedil;&Atilde; DE ATUALIZA&Ccedil;&Atilde;O",
"now available" => "disponível agora", "now available" => "dispon&iacute;vel agora",
"Your version is" => "Sua versão é", "Your version is" => "Sua vers&atilde;o &eacute;",
"Update now" => "Atualizar já", "Update now" => "Atualizar j&atilde;",
"You have some..." => "Voce possui alterações não salvas", "You have some..." => "Voce possui altera&ccedil;&otilde;es n&atilde;o salvas",
"Are you sure you want to close?" => "Are you sure you want to close?", "Are you sure you want to close?" => "Voc&ecirc; tem certeza que deseja fechar?",
"working" => "trabalhando", "working" => "trabalhando",
"Color picker" => "Color picker", "Color picker" => "Seletor de Cores",
"New File" => "Novo Arquivo", "New File" => "Novo Arquivo",
"New Folder" => "Nova Pasta", "New Folder" => "Nova Pasta",
"Upload File(s)" => "Carregar arquivo(s)", "Upload File(s)" => "Carregar arquivo(s)",
@@ -60,7 +60,7 @@ $text = array(
"Duplicate" => "Duplicar", "Duplicate" => "Duplicar",
"Delete" => "Excluir", "Delete" => "Excluir",
"Rename" => "Renomear", "Rename" => "Renomear",
"View Webpage" => "Exibir Página Web", "View Webpage" => "Exibir P&atilde;gina Web",
"Download" => "Download", "Download" => "Download",
"Properties" => "Propriedades", "Properties" => "Propriedades",
"File" => "Arquivo", "File" => "Arquivo",
@@ -70,8 +70,8 @@ $text = array(
"Help" => "Ajuda", "Help" => "Ajuda",
"Save" => "Salvar", "Save" => "Salvar",
"Save As" => "Salvar Como", "Save As" => "Salvar Como",
"Live Preview" => "Preview", "Live Preview" => "Visualizar",
"Upload" => "Upload", "Upload" => "Enviar",
"Zip" => "Zip", "Zip" => "Zip",
"Print" => "Imprimir", "Print" => "Imprimir",
"Fullscreen toggle" => "Exibir tela cheia", "Fullscreen toggle" => "Exibir tela cheia",
@@ -82,10 +82,10 @@ $text = array(
"Indent less" => "Indentar -", "Indent less" => "Indentar -",
"Autocomplete" => "Autocompletar", "Autocomplete" => "Autocompletar",
"Comment/Uncomment" => "Comentar/Descomentar", "Comment/Uncomment" => "Comentar/Descomentar",
"Jump to Definition" => "Ir para definição", "Jump to Definition" => "Ir para defini&ccedil;&atilde;o",
"Manual" => "Manual", "Manual" => "Manual",
"Shortcuts" => "Atalhos", "Shortcuts" => "Atalhos",
"Settings" => "Configurações", "Settings" => "Configura&ccedil;&otilde;es",
"Search for selected" => "Procurar por selecionado", "Search for selected" => "Procurar por selecionado",
"website" => "website", "website" => "website",
"Close all tabs" => "Fechar todas as abas", "Close all tabs" => "Fechar todas as abas",
@@ -103,7 +103,7 @@ $text = array(
"Code Assist" => "Assistente", "Code Assist" => "Assistente",
"Go to Line" => "Ir para linha", "Go to Line" => "Ir para linha",
"View" => "Exibir", "View" => "Exibir",
"Bug reporting not active" => "Relatório de Bug desativado" "Bug reporting not active" => "Relat&oacute;rio de Bug desativado"
), ),
// /LIB // /LIB
@@ -116,42 +116,42 @@ $text = array(
"file-control" => "file-control" =>
array( array(
"Sorry" => "Desculpe", "Sorry" => "Desculpe",
"does not seem..." => "Não encontrado no servidor", "does not seem..." => "N&atilde;o encontrado no servidor",
"Sorry, could not..." => "Desculpe, conteudo não encontrado para", "Sorry, could not..." => "Desculpe, conteudo n&atilde;o encontrado para",
"Sorry, cannot create..." => "Desculpe, não é possível criar pasta", "Sorry, cannot create..." => "Desculpe, n&atilde;o &eacute; poss&iacute;vel criar pasta",
"Sorry, cannot copy" => "Desculpe, não é possível copy", "Sorry, cannot copy" => "Desculpe, n&atilde;o &eacute; poss&iacute;vel copy",
"into" => "into", "into" => "into",
"Uploaded file(s) OK" => "Arquivos carregados", "Uploaded file(s) OK" => "Arquivos carregados",
"Sorry, cannot upload" => "Desculpe, não é possível carregar", "Sorry, cannot upload" => "Desculpe, n&atilde;o &eacute; poss&iacute;vel carregar",
"Sorry, cannot upload..." => "Desculpe, não é possível carregar lista no modo DEMO", "Sorry, cannot upload..." => "Desculpe, n&atilde;o &eacute; poss&iacute;vel carregar lista no modo DEMO",
"Sorry, cannot rename" => "Desculpe, não é possível renomear", "Sorry, cannot rename" => "Desculpe, n&atilde;o &eacute; poss&iacute;vel renomear",
"Maybe public write..." => "A pasta superior possui permissão de escrita?", "Maybe public write..." => "A pasta superior possui permiss&atilde;o de escrita?",
"Sorry, cannot move" => "Desculpe, não é possível mover", "Sorry, cannot move" => "Desculpe, n&atilde;o &eacute; poss&iacute;vel mover",
"Sorry, cannot save" => "Desculpe, não é possível salvar", "Sorry, cannot save" => "Desculpe, n&atilde;o &eacute; poss&iacute;vel salvar",
"Sorry, cannot replace..." => "Desculpe, não é possível substituir texto em", "Sorry, cannot replace..." => "Desculpe, n&atilde;o &eacute; poss&iacute;vel substituir texto em",
"Sorry, cannot change..." => "Desculpe, não é possível mudar permissões para", "Sorry, cannot change..." => "Desculpe, n&atilde;o &eacute; poss&iacute;vel mudar permiss&otilde;es para",
"Sorry, cannot delete..." => "Desculpe, não é possível excluir nível raiz", "Sorry, cannot delete..." => "Desculpe, n&atilde;o &eacute; poss&iacute;vel excluir n&iacute;vel raiz",
"Sorry, cannot delete" => "Desculpe, não é possível remover", "Sorry, cannot delete" => "Desculpe, n&atilde;o &eacute; poss&iacute;vel remover",
"Sorry, this file..." => "Desculpe, este arquivo foi modificado, não é possível salvar", "Sorry, this file..." => "Desculpe, este arquivo foi modificado, n&atilde;o &eacute; poss&iacute;vel salvar",
"Reload this file..." => "Recarregar e copiar sua versão?", "Reload this file..." => "Recarregar e copiar sua vers&atilde;o?",
"There was a..." => "Ocorreu algum problema. O ICEcoder recarregou o arquivo de controle novamente", "There was a..." => "Ocorreu algum problema. O ICEcoder recarregou o arquivo de controle novamente",
"displayed at" => "exibido em", "displayed at" => "exibido em",
"Enter filename to..." => "Informe o nome do aquivo para salvar", "Enter filename to..." => "Informe o nome do aquivo para salvar",
"That file exists..." => "Este arquivo já existe, sobrescrever?", "That file exists..." => "Este arquivo j&atilde; existe, sobrescrever?",
"Saving" => "Salvando" "Saving" => "Salvando"
), ),
"get-branch" => "get-branch" =>
array( array(
"There are no..." => "Não há diferenças entre loca/Github. Retornar para modo normal?", "There are no..." => "N&atilde;o h&atilde; diferen&ccedil;as entre loca/Github. Retornar para modo normal?",
"Sorry, there was..." => "Desculpe, ocorreu um erro, código:", "Sorry, there was..." => "Desculpe, ocorreu um erro, c&oacute;digo:",
"Your local folder..." => "Sua pasta local está vazia, gostaria de clonar" "Your local folder..." => "Sua pasta local est&atilde; vazia, gostaria de clonar"
), ),
"github-manager" => "github-manager" =>
array( array(
"Sorry, cannot create..." => "Desculpe, não foi possível criar em", "Sorry, cannot create..." => "Desculpe, n&atilde;o foi poss&iacute;vel criar em",
"Cannot update config..." => "Não é possível atualizar config. Habilitar permissões públicas", "Cannot update config..." => "N&atilde;o &eacute; poss&iacute;vel atualizar config. Habilitar permiss&otilde;es p&uacute;blicas",
"and try again" => "e tentar novamente", "and try again" => "e tentar novamente",
"saving github paths" => "salvando caminhos Github...", "saving github paths" => "salvando caminhos Github...",
"github paths" => "caminhos Github", "github paths" => "caminhos Github",
@@ -159,20 +159,20 @@ $text = array(
"Local path" => "Caminho local", "Local path" => "Caminho local",
"Remote GitHub path" => "Caminho remoto Github", "Remote GitHub path" => "Caminho remoto Github",
"Choose" => "Selecione", "Choose" => "Selecione",
"Set local and..." => "Alterar caminho local e remoto como vazio para excluír", "Set local and..." => "Alterar caminho local e remoto como vazio para exclu&iacute;r",
"Update" => "Atualizar", "Update" => "Atualizar",
"Add new path" => "Adicionar novo caminho", "Add new path" => "Adicionar novo caminho",
"Add" => "Adicionar", "Add" => "Adicionar",
"Usage Info" => "Info. de utilização:", "Usage Info" => "Info. de utiliza&ccedil;&atilde;o:",
"Enter relative local..." => "Informe os caminhos relativos (ex.: /server/myfiles) e absolutos do GitHub (ex.: https://github.com/user/repo ou https://github.com/user/repo/tree/branch for branches).Com isso estabelece os caminho dos fontes em ambos locais, como pares.", "Enter relative local..." => "Informe os caminhos relativos (ex.: /server/myfiles) e absolutos do GitHub (ex.: https://github.com/user/repo ou https://github.com/user/repo/tree/branch for branches).Com isso estabelece os caminho dos fontes em ambos locais, como pares.",
"You can then..." => "Você pode então escolher um caminho par para ser a raiz do ICEcoder.", "You can then..." => "Voc&ecirc; pode ent&atilde;o escolher um caminho par para ser a raiz do ICEcoder.",
"The file manager..." => "O gerenciador de arquivo exibirá o ícone GitHub, você pode clicar para verificar a diferença entre arquivos.Essas diferenças podem ser efetivadas e enviadas ao diretório remoto do GitHub ou clonado para pasta local, para sincronizar seus arquivos.", "The file manager..." => "O gerenciador de arquivo exibir&atilde; o &iacute;cone GitHub, voc&ecirc; pode clicar para verificar a diferen&ccedil;a entre arquivos.Essas diferen&ccedil;as podem ser efetivadas e enviadas ao diret&oacute;rio remoto do GitHub ou clonado para pasta local, para sincronizar seus arquivos.",
"If you want..." => "Se quiser configurar novo caminho raiz, pode ser feito na tela de configurações." "If you want..." => "Se quiser configurar novo caminho raiz, pode ser feito na tela de configura&ccedil;&otilde;es."
), ),
"github" => "github" =>
array( array(
"Sorry, you do..." => "Desculpe, o OpenSSL não foi encontrado, https indisponível. Isso é necessário para o GitHub transferir dados, verificar php.ini, reinicie o sistema e tente novamente" "Sorry, you do..." => "Desculpe, o OpenSSL n&atilde;o foi encontrado, https indispon&iacute;vel. Isso &eacute; necess&atilde;rio para o GitHub transferir dados, verificar php.ini, reinicie o sistema e tente novamente"
), ),
"headers" => "headers" =>
@@ -187,7 +187,7 @@ $text = array(
"On Tabs" => "Em abas", "On Tabs" => "Em abas",
"Within file manager" => "No gerenciador de arquivos", "Within file manager" => "No gerenciador de arquivos",
"Anywhere" => "Qualquer Lugar", "Anywhere" => "Qualquer Lugar",
"Space" => "Espaço", "Space" => "Espa&ccedil;o",
"Click" => "Clique", "Click" => "Clique",
"or" => "ou", "or" => "ou",
"Left click" => "Clique esquerdo", "Left click" => "Clique esquerdo",
@@ -197,16 +197,16 @@ $text = array(
"Middle scrollwheel" => "Meio scroll", "Middle scrollwheel" => "Meio scroll",
"Drag" => "Arrastar", "Drag" => "Arrastar",
"Autocomplete add snippet" => "Auto-completar / adicionar snippet", "Autocomplete add snippet" => "Auto-completar / adicionar snippet",
"Multiple select" => "Multipla seleção", "Multiple select" => "Multipla sele&ccedil;&atilde;o",
"Move line up" => "Move linha acima", "Move line up" => "Move linha acima",
"Move line down" => "Move linha abaixo", "Move line down" => "Move linha abaixo",
"Duplicate lines" => "Duplicar linha(s)", "Duplicate lines" => "Duplicar linha(s)",
"Remove lines" => "Remover linha(s)", "Remove lines" => "Remover linha(s)",
"Insert line before" => "Inserir linha antes", "Insert line before" => "Inserir linha antes",
"Insert line after" => "Inserir linha após", "Insert line after" => "Inserir linha ap&oacute;s",
"Search for selected" => "Procurar selecionado", "Search for selected" => "Procurar selecionado",
"Jump to definition" => "Ir para definição / voltar", "Jump to definition" => "Ir para defini&ccedil;&atilde;o / voltar",
"Comment uncomment" => "Commentar / descomentar", "Comment uncomment" => "Comentar / Descomentar",
"Insert tab indent" => "Inserir aba / auto indent selected", "Insert tab indent" => "Inserir aba / auto indent selected",
"Insert more" => "Indentar +", "Insert more" => "Indentar +",
"Insert less" => "Indentar -", "Insert less" => "Indentar -",
@@ -224,11 +224,11 @@ $text = array(
"Close tab" => "Fechar aba", "Close tab" => "Fechar aba",
"Select file folder" => "Selecionar arquivo / pasta", "Select file folder" => "Selecionar arquivo / pasta",
"Open file" => "Abrir arquivo", "Open file" => "Abrir arquivo",
"Range select" => "Seleção", "Range select" => "Sele&ccedil;&atilde;o",
"Options for selected" => "Opções para seleção", "Options for selected" => "Op&ccedil;&otilde;es para sele&ccedil;&atilde;o",
"Delete selected" => "Excluir selecionado", "Delete selected" => "Excluir selecionado",
"Next previous tab" => "Próxima aba / anterior", "Next previous tab" => "Pr&oacute;xima aba / anterior",
"Next tab" => "Próxima aba", "Next tab" => "Pr&oacute;xima aba",
"Previous tab" => "Aba anterior", "Previous tab" => "Aba anterior",
"New tab" => "Nova aba", "New tab" => "Nova aba",
"Close current tab" => "Fechar aba atual", "Close current tab" => "Fechar aba atual",
@@ -237,7 +237,7 @@ $text = array(
"Focus on Go..." => "Foco campo ir para linha", "Focus on Go..." => "Foco campo ir para linha",
"Save" => "Salvar", "Save" => "Salvar",
"Save as" => "Salvar como...", "Save as" => "Salvar como...",
"View webpage" => "Exibir página", "View webpage" => "Exibir p&atilde;gina",
"Contract expand file..." => "Contrair / expandir gerenciador de arquivos", "Contract expand file..." => "Contrair / expandir gerenciador de arquivos",
"Fold unfold current..." => "Contrair / expandir linha atual", "Fold unfold current..." => "Contrair / expandir linha atual",
"Refocus on document" => "Foco no documento", "Refocus on document" => "Foco no documento",
@@ -252,7 +252,7 @@ $text = array(
"selected files" => "arquivos selecionados", "selected files" => "arquivos selecionados",
"selected filenames" => "nomes de arquivos selecionados", "selected filenames" => "nomes de arquivos selecionados",
"Creating Folder" => "Criando pasta", "Creating Folder" => "Criando pasta",
"Sorry you can..." => "Deculpe, permitido abrir máx. 100 arquivos!", "Sorry you can..." => "Deculpe, permitido abrir m&atilde;x. 100 arquivos!",
"Opening File" => "Abrindo arquivo", "Opening File" => "Abrindo arquivo",
"Enter relative file..." => "Informe caminho relativo (prefixado por /) ou URL remota", "Enter relative file..." => "Informe caminho relativo (prefixado por /) ou URL remota",
"Getting" => "Selecionando", "Getting" => "Selecionando",
@@ -261,7 +261,7 @@ $text = array(
"Moving to" => "Movendo para", "Moving to" => "Movendo para",
"Deleting File" => "Excluindo arquivo", "Deleting File" => "Excluindo arquivo",
"Pasting File" => "Colando arquivo", "Pasting File" => "Colando arquivo",
"Sorry cannot paste..." => "Desculpe, não é possível colar em toda raiz", "Sorry cannot paste..." => "Desculpe, n&atilde;o &eacute; poss&iacute;vel colar em toda raiz",
"Nothing to paste..." => "Nada para colar,copiar arquivo/pasta primeiro!", "Nothing to paste..." => "Nada para colar,copiar arquivo/pasta primeiro!",
"and" => "e", "and" => "e",
"this document" => "este documento", "this document" => "este documento",
@@ -271,13 +271,13 @@ $text = array(
"Replacing text in" => "Substituindo texto em", "Replacing text in" => "Substituindo texto em",
"Cancelled tasks" => "Tarefas canceladas", "Cancelled tasks" => "Tarefas canceladas",
"Open previous files" => "Abrir arquivos anteriores?", "Open previous files" => "Abrir arquivos anteriores?",
"Please enter your..." => "Informe sua chave GitHub (chave pessoal ou par). Veja dica próximo à chave Github em Ajuda > Configurações para mais informações", "Please enter your..." => "Informe sua chave GitHub (chave pessoal ou par). Veja dica pr&oacute;ximo à chave Github em Ajuda > Configura&ccedil;&otilde;es para mais informa&ccedil;&otilde;es",
"This will compare..." => "Esta ação irá comparar e exibir diferenças do seu repositório local. OK?", "This will compare..." => "Esta a&ccedil;&atilde;o ir&atilde; comparar e exibir diferen&ccedil;as do seu reposit&oacute;rio local. OK?",
"Please note for..." => "Atenção: para atualizar corretamente, é necessário permissâo de escrita em todos os diretórios/arquivos do ICEcoder. \\n\\nSe por algum motivo necessite recuperar esta versão do ICEcoder, estará disponível na pasta /tmp.\\n\\nClique OK para prosseguir com a atualização, ou cancelar para visitar a página do ICEcoder na internet onde poderá baixar a atualização manualmente.", "Please note for..." => "Aten&ccedil;&atilde;o: para atualizar corretamente, &eacute; necess&atilde;rio permiss&atilde;o de escrita em todos os diret&oacute;rios/arquivos do ICEcoder. \\n\\nSe por algum motivo necessite recuperar esta vers&atilde;o do ICEcoder, estar&atilde; dispon&iacute;vel na pasta /tmp.\\n\\nClique OK para prosseguir com a atualiza&ccedil;&atilde;o, ou cancelar para visitar a p&atilde;gina do ICEcoder na internet onde poder&atilde; baixar a atualiza&ccedil;&atilde;o manualmente.",
"You can start..." => "Voce pode reportar um bug em Ajuda > Configurações", "You can start..." => "Voce pode reportar um bug em Ajuda > Configura&ccedil;&otilde;es",
"Error cannot find..." => "Erro: não é possível acessar caminho/arquivo de erros", "Error cannot find..." => "Erro: n&atilde;o &eacute; poss&iacute;vel acessar caminho/arquivo de erros",
"No new errors..." => "Nenhum erro encontrado", "No new errors..." => "Nenhum erro encontrado",
"You have made..." => "Voce fez alterações. Deseja realmente fechar sem salvar?", "You have made..." => "Voce fez altera&ccedil;&otilde;es. Deseja realmente fechar sem salvar?",
"Close all tabs" => "Fechar todas as abas?", "Close all tabs" => "Fechar todas as abas?",
"results" => "resultados" "results" => "resultados"
), ),
@@ -286,11 +286,11 @@ $text = array(
array( array(
"set password" => "altera senha", "set password" => "altera senha",
"login" => "login", "login" => "login",
"To disable registration..." => "Para desabilitar modo registro, acesse menu/configurações ou em lib/config___settings.php altere enableRegistration para false e recarregue esta página", "To disable registration..." => "Para desabilitar modo registro, acesse menu/configura&ccedil;&otilde;es ou em lib/config___settings.php altere enableRegistration para false e recarregue esta p&atilde;gina",
"Registration mode enabled" => "Modo registro habilitado", "Registration mode enabled" => "Modo registro habilitado",
"auto-check for updates" => "verificar atualizações auto.", "auto-check for updates" => "verificar atualiza&ccedil;&otilde;es auto.",
"To put into..." => "Para habilitar multi-usuários, acesse menu/configurações ou em lib/config___settings.php altere multiUser para true e recarregue esta página", "To put into..." => "Para habilitar multi-usu&atilde;rios, acesse menu/configura&ccedil;&otilde;es ou em lib/config___settings.php altere multiUser para true e recarregue esta p&atilde;gina",
"multi-user" => "multi-usuários" "multi-user" => "multi-usu&atilde;rios"
), ),
"multiple-results" => "multiple-results" =>
@@ -308,17 +308,17 @@ $text = array(
"No matches found" => "Nenhum resultado encontrado", "No matches found" => "Nenhum resultado encontrado",
"selected" => "selecionado", "selected" => "selecionado",
"found in" => "encontrado em", "found in" => "encontrado em",
"Replaced" => "Substituído(s)" "Replaced" => "Substitu&iacute;do(s)"
), ),
"plugins-manager" => "plugins-manager" =>
array( array(
"ICEcoder needs to..." => "ICEcoder deve ser reiniciado para habilitar plugin. Deseja Reiniciar?", "ICEcoder needs to..." => "ICEcoder deve ser reiniciado para habilitar plugin. Deseja Reiniciar?",
"saving plugins" => "salvando plugins...", "saving plugins" => "salvando plugins...",
"Cannot update config..." => "Não foi possível atualizar arquivo de configuração. Verifique permissões de escrita.", "Cannot update config..." => "N&atilde;o foi poss&iacute;vel atualizar arquivo de configura&ccedil;&atilde;o. Verifique permiss&otilde;es de escrita.",
"and try again" => "e tente novamente", "and try again" => "e tente novamente",
"couldnt delete dir" => "não foi possível excluir pasta", "couldnt delete dir" => "n&atilde;o foi poss&iacute;vel excluir pasta",
"couldnt delete file" => "não foi possível excluir arquivo", "couldnt delete file" => "n&atilde;o foi poss&iacute;vel excluir arquivo",
"plugins" => "plugins", "plugins" => "plugins",
"Guide to writing..." => "Guia para criar plugins", "Guide to writing..." => "Guia para criar plugins",
"Manage Installed" => "Gerenciar plugins", "Manage Installed" => "Gerenciar plugins",
@@ -328,7 +328,7 @@ $text = array(
"Update" => "Atualizar", "Update" => "Atualizar",
"Install" => "Instalar", "Install" => "Instalar",
"Uninstall" => "Desinstalar", "Uninstall" => "Desinstalar",
"Reload after install..." => "Atualização necessária após instalação" "Reload after install..." => "Atualiza&ccedil;&atilde;o necess&atilde;ria ap&oacute;s instala&ccedil;&atilde;o"
), ),
"properties" => "properties" =>
@@ -336,16 +336,16 @@ $text = array(
"properties" => "propriedades", "properties" => "propriedades",
"Size" => "Tamanho", "Size" => "Tamanho",
"Modified" => "Modificado", "Modified" => "Modificado",
"Last access" => "Último acesso", "Last access" => "Último acesso",
"Type" => "Tipo", "Type" => "Tipo",
"Readable Writeable" => "Leitura / Escrita", "Readable Writeable" => "Leitura / Escrita",
"Relative path" => "Caminho relativo", "Relative path" => "Caminho relativo",
"Absolute path" => "Caminho absoluto", "Absolute path" => "Caminho absoluto",
"Contains" => "Contem", "Contains" => "Contem",
"Permissions" => "Permissões", "Permissions" => "Permiss&otilde;es",
"Owner" => "Proprietário", "Owner" => "Propriet&atilde;rio",
"Group" => "Grupo", "Group" => "Grupo",
"Public" => "Público", "Public" => "P&uacute;blico",
"Read" => "Ler", "Read" => "Ler",
"Write" => "Salvar", "Write" => "Salvar",
"Execute" => "Executar", "Execute" => "Executar",
@@ -355,44 +355,44 @@ $text = array(
"settings-common" => "settings-common" =>
array( array(
"Your document does..." => "Seu arquivo não está no formato UTF-8, deve ser convertido" "Your document does..." => "Seu arquivo n&atilde;o est&atilde; no formato UTF-8, deve ser convertido"
), ),
"settings-save-current-files" => "settings-save-current-files" =>
array( array(
"Cannot update config..." => "Não foi possível atualizar arquivo de configuração. Verifique permissões de acesso (públicas)", "Cannot update config..." => "N&atilde;o foi poss&iacute;vel atualizar arquivo de configura&ccedil;&atilde;o. Verifique permiss&otilde;es de acesso (p&uacute;blicas)",
"and try again" => "e tente novamente" "and try again" => "e tente novamente"
), ),
"settings-screen" => "settings-screen" =>
array( array(
"settings" => "configurações", "settings" => "configura&ccedil;&otilde;es",
"version" => "versão", "version" => "vers&atilde;o",
"website" => "website", "website" => "website",
"git" => "git", "git" => "git",
"codemirror dir" => "pasta codemirror", "codemirror dir" => "pasta codemirror",
"codemirror version" => "versão codemirror", "codemirror version" => "vers&atilde;o codemirror",
"file manager root" => "Raiz gerenciador de arquivos", "file manager root" => "Raiz gerenciador de arquivos",
"Free to use..." => "Livre para utilização para seus propósitos, comercial ou não, mas aviseme sobre sua implementação se puder. :)<br><br>Sem garantias, Muitas empresas e pessoas fantásticas contribuiram para desenvolver o ICEcoder, há muito o que agradecermos aqui. Veja a lista completa aqui", "Free to use..." => "Livre para utiliza&ccedil;&atilde;o para seus prop&oacute;sitos, comercial ou n&atilde;o, mas aviseme sobre sua implementa&ccedil;&atilde;o se puder. :)<br><br>Sem garantias, Muitas empresas e pessoas fant&atilde;sticas contribuiram para desenvolver o ICEcoder, h&atilde; muito o que agradecermos aqui. Veja a lista completa aqui",
"functionality" => "funcionalidade", "functionality" => "funcionalidade",
"check for updates..." => "verificar atualizações ao iniciar", "check for updates..." => "verificar atualiza&ccedil;&otilde;es ao iniciar",
"auto open last..." => "carregar últimos arquvos abertos ao iniciar", "auto open last..." => "carregar &uacute;ltimos arquvos abertos ao iniciar",
"when finding in..." => "ao buscar arquivos, excluir", "when finding in..." => "ao buscar arquivos, excluir",
"assisting" => "assistindo", "assisting" => "assistindo",
"code assist" => "Assist. de cód.", "code assist" => "Assist. de c&oacute;d.",
"visible tabs" => "Abas visíveis", "visible tabs" => "Abas vis&iacute;veis",
"locked nav" => "Trava Nav.", "locked nav" => "Trava Nav.",
"tag wrapper command" => "comando de quebra", "tag wrapper command" => "comando de quebra",
"auto-complete on" => "hab. auto-completar", "auto-complete on" => "hab. auto-completar",
"security" => "segurança", "security" => "seguran&ccedil;a",
"new password" => "nova senha", "new password" => "nova senha",
"8 chars min" => "mín. 8 carac.", "8 chars min" => "m&iacute;n. 8 carac.",
"confirm password" => "confirmar senha", "confirm password" => "confirmar senha",
"banned files/folders" => "arquivos/pastas bloqueados", "banned files/folders" => "arquivos/pastas bloqueados",
"banned paths" => "caminhos bloqueados", "banned paths" => "caminhos bloqueados",
"ip addresses" => "endereços IP", "ip addresses" => "endere&ccedil;os IP",
"Slash prefixed comma..." => "Prefixo barra, separado por vígula", "Slash prefixed comma..." => "Prefixo barra, separado por v&iacute;gula",
"Comma delimited" => "Separado por vírgula", "Comma delimited" => "Separado por v&iacute;rgula",
"style" => "estilo", "style" => "estilo",
"theme" => "tema", "theme" => "tema",
"line wrapping" => "quebra de linha", "line wrapping" => "quebra de linha",
@@ -408,32 +408,31 @@ $text = array(
"bug reporting" => "reportar erro", "bug reporting" => "reportar erro",
"check in files" => "verificar em arquivos", "check in files" => "verificar em arquivos",
"every" => "tudo", "every" => "tudo",
"secs getting last" => "segs, pegando últimos", "secs getting last" => "segs, pegando &uacute;ltimos",
"lines" => "linhas", "lines" => "linhas",
"multi-user" => "multi-usuário", "multi-user" => "multi-usu&aacute;rio",
"Make sure you..." => "Cuidado para nâo travar seu usuário", "Make sure you..." => "Cuidado para n&atilde;o travar seu usu&atilde;rio",
"Registration" => "Cadastro", "Registration" => "Cadastro",
"auth token" => "Chave de Autenticação", "auth token" => "Chave de Autentica&ccedil;&atilde;o",
"Required to get..." => "RNecessário para verificar diferenças, e efetivar alterações no GitHub. Se não tiver uma pode usar:".PHP_EOL.PHP_EOL. "Required to get..." => "RNecess&atilde;rio para verificar diferen&ccedil;as, e efetivar altera&ccedil;&otilde;es no GitHub. Se n&atilde;o tiver uma pode usar:".PHP_EOL.PHP_EOL.
"- chave de acesso pessoal (https://help.github.com/articles/creating-an-access-token-for-command-line-use), or".PHP_EOL. "- chave de acesso pessoal (https://help.github.com/articles/creating-an-access-token-for-command-line-use), or".PHP_EOL.
"- cliente/par secreto (http://developer.github.com/v3/oauth).".PHP_EOL.PHP_EOL. "- cliente/par secreto (http://developer.github.com/v3/oauth).".PHP_EOL.PHP_EOL.
"Não é recomendado configurar sua chave aqui, mas quando solicitado pelo ICEcoderpara mantes em sessão apenas.".PHP_EOL.PHP_EOL. "N&atilde;o &eacute; recomendado configurar sua chave aqui, mas quando solicitado pelo ICEcoderpara mantes em sess&atilde;o apenas.".PHP_EOL.PHP_EOL.
"No entanto, se trabalhar em ambiente seguro, é melhor setar essa propriedade.", "No entanto, se trabalhar em ambiente seguro, &eacute; melhor setar essa propriedade.",
"Sorry cannot commit..." => "Desculpe, não é permitido efetivar atulização no modo DEMO", "Sorry cannot commit..." => "Desculpe, n&atilde;o &eacute; permitido efetivar atuliza&ccedil;&atilde;o no modo DEMO",
"update" => "atualizar" "update" => "atualizar"
), ),
"settings-update" => "settings-update" =>
array( array(
"Cannot update config..." => "Não foi possível atualizar arquivo de configuração. Verifique permissões de acesso (públicas)", "Cannot update config..." => "N&atilde;o foi poss&iacute;vel atualizar arquivo de configura&ccedil;&atilde;o. Verifique permiss&otilde;es de acesso (p&uacute;blicas)",
"and try again" => "e tentar novamente", "and try again" => "e tentar novamente",
"and press refresh" => "e pressione atulizar" "and press refresh" => "e pressione atulizar"
), ),
"updater" => "updater" =>
array( array(
"Update appears to..." => "Atualização completada" "Update appears to..." => "Atualiza&ccedil;&atilde;o completada"
) )
); );
?>

View File

@@ -36,6 +36,7 @@ $text = array(
array( array(
"Lock" => "Bloquear", "Lock" => "Bloquear",
"Refresh" => "Actualizar", "Refresh" => "Actualizar",
"Plugins" => "Complementos",
"ROOT" => "[RAIZ]" "ROOT" => "[RAIZ]"
), ),
@@ -47,9 +48,10 @@ $text = array(
"Your version is" => "Su versi&oacute;n es", "Your version is" => "Su versi&oacute;n es",
"Update now" => "Actualizar ahora", "Update now" => "Actualizar ahora",
"You have some..." => "Usted tiene cambios sin guardar", "You have some..." => "Usted tiene cambios sin guardar",
"Are you sure you want to close?" => "Est&aacute; seguro que desea cerrar?", "Are you sure..." => "Est&aacute; seguro que desea cerrar?",
"working" => "trabajando", "working" => "trabajando",
"Color picker" => "Selector de color", "Color picker" => "Selector de color",
"Plugins Manager" => "Administrar complementos",
"New File" => "Nuevo archivo", "New File" => "Nuevo archivo",
"New Folder" => "Nueva carpeta", "New Folder" => "Nueva carpeta",
"Upload File(s)" => "Cargar archivo(s)", "Upload File(s)" => "Cargar archivo(s)",
@@ -101,7 +103,9 @@ $text = array(
"Code Assist" => "Asistente de c&oacute;digo", "Code Assist" => "Asistente de c&oacute;digo",
"Go to Line" => "Ir a la l&iacute;nea", "Go to Line" => "Ir a la l&iacute;nea",
"View" => "Ver", "View" => "Ver",
"Bug reporting not active" => "Reporte de Errores no activado" "Bug reporting not active" => "Reporte de Errores no activado",
"Single pane" => "Panel unico",
"Diff pane also" => "Panel de diferencias tambien"
), ),
// /LIB // /LIB
@@ -113,6 +117,7 @@ $text = array(
"file-control" => "file-control" =>
array( array(
"Sorry, bad filename..." => "Lo siento, nombre de archivo incorrecto. Verifique la consola de desarrollo para mas informacion?",
"Sorry" => "Lo siento", "Sorry" => "Lo siento",
"does not seem..." => "parace no existir en el servidor", "does not seem..." => "parace no existir en el servidor",
"Sorry, could not..." => "Lo siento, no puedo obtener el contenido de", "Sorry, could not..." => "Lo siento, no puedo obtener el contenido de",
@@ -128,6 +133,7 @@ $text = array(
"Sorry, cannot save" => "Lo siento, no puedo guardar", "Sorry, cannot save" => "Lo siento, no puedo guardar",
"Sorry, cannot replace..." => "Lo siento, no puedo reemplazar texto en", "Sorry, cannot replace..." => "Lo siento, no puedo reemplazar texto en",
"Sorry, cannot change..." => "Lo siento, no puedo cambiar permisos sobre", "Sorry, cannot change..." => "Lo siento, no puedo cambiar permisos sobre",
"Sorry, cannot delete more..." => "Lo siento, no puedo eliminar mas de un item a la vez bajo modo FTP",
"Sorry, cannot delete..." => "Lo siento, no puedo eliminar el nivel raiz", "Sorry, cannot delete..." => "Lo siento, no puedo eliminar el nivel raiz",
"Sorry, cannot delete" => "Lo siento, no puedo eliminar", "Sorry, cannot delete" => "Lo siento, no puedo eliminar",
"Sorry, this file..." => "Lo siento, este archivo ha cambiado, no puedo almacenar", "Sorry, this file..." => "Lo siento, este archivo ha cambiado, no puedo almacenar",
@@ -155,7 +161,9 @@ $text = array(
"github paths" => "Rutas de GitHub", "github paths" => "Rutas de GitHub",
"Choose existing path" => "Seleccionar una ruta existente", "Choose existing path" => "Seleccionar una ruta existente",
"Local path" => "Ruta local", "Local path" => "Ruta local",
"Slash prefixed" => "Prefijo de slash",
"Remote GitHub path" => "Ruta remota GitHub", "Remote GitHub path" => "Ruta remota GitHub",
"Absolute URL beginning..." => "URL absoluta, iniciando https://github.com",
"Choose" => "Seleccionar", "Choose" => "Seleccionar",
"Set local and..." => "Establecer las rutas locales y remotas en blanco para removerlas", "Set local and..." => "Establecer las rutas locales y remotas en blanco para removerlas",
"Update" => "Actualizar", "Update" => "Actualizar",
@@ -232,6 +240,7 @@ $text = array(
"Close current tab" => "Cerrar ficha actual", "Close current tab" => "Cerrar ficha actual",
"Open file prompt" => "L&iacute;nea de apertura de archivos", "Open file prompt" => "L&iacute;nea de apertura de archivos",
"Find" => "Buscar", "Find" => "Buscar",
"Previous" => "Previo",
"Focus on Go..." => "Obtener foco en la opci&oacute;n Ir a Linea", "Focus on Go..." => "Obtener foco en la opci&oacute;n Ir a Linea",
"Save" => "Guardar", "Save" => "Guardar",
"Save as" => "Guardar como...", "Save as" => "Guardar como...",
@@ -244,6 +253,7 @@ $text = array(
"ice-coder" => "ice-coder" =>
array( array(
"results" => "resultados",
"No text selected..." => "No hay texto seleccionado para buscar", "No text selected..." => "No hay texto seleccionado para buscar",
"all files" => "todos los archivos", "all files" => "todos los archivos",
"all filenames" => "todos los nombres de archivo", "all filenames" => "todos los nombres de archivo",
@@ -254,6 +264,7 @@ $text = array(
"Opening File" => "Abriendo archivo", "Opening File" => "Abriendo archivo",
"Enter relative file..." => "Entre una ruta relativa (iniciando con /) o una URL remota", "Enter relative file..." => "Entre una ruta relativa (iniciando con /) o una URL remota",
"Getting" => "Obteniendo", "Getting" => "Obteniendo",
"Saving" => "Guardando:",
"Please enter the..." => "Por favor ingrese el nuevo nombre para", "Please enter the..." => "Por favor ingrese el nuevo nombre para",
"Renaming to" => "Renombrando a", "Renaming to" => "Renombrando a",
"Moving to" => "Moviendo a", "Moving to" => "Moviendo a",
@@ -267,6 +278,7 @@ $text = array(
"replace all" => "reemplazar todo", "replace all" => "reemplazar todo",
"file" => "archivo", "file" => "archivo",
"Replacing text in" => "Reemplazando texto en", "Replacing text in" => "Reemplazando texto en",
"Sorry there was..." => "Lo siento, hubo un error con su solicitud.\\n\\nPor favor verifique su consola de desarrollo para mas informacion.",
"Cancelled tasks" => "Tareas canceladas", "Cancelled tasks" => "Tareas canceladas",
"Open previous files" => "Abrir archivos previos?", "Open previous files" => "Abrir archivos previos?",
"Please enter your..." => "Por favor entre su token de GitHub (para acceso personal). Ver ayuda cerca al Token de autenticaci&oacute;n de Github en la ayuda > Vea pantalla de configuraci&oacute;n para m&aacute;s informaci&oacute;n", "Please enter your..." => "Por favor entre su token de GitHub (para acceso personal). Ver ayuda cerca al Token de autenticaci&oacute;n de Github en la ayuda > Vea pantalla de configuraci&oacute;n para m&aacute;s informaci&oacute;n",
@@ -276,8 +288,7 @@ $text = array(
"Error cannot find..." => "Error: no puedo encontrar o accesar las rutas de archivos de error", "Error cannot find..." => "Error: no puedo encontrar o accesar las rutas de archivos de error",
"No new errors..." => "No fueron encontrados nuevos errores", "No new errors..." => "No fueron encontrados nuevos errores",
"You have made..." => "Usted ha realizado cambios. Esta seguro que quiere cerrar sin guardar?", "You have made..." => "Usted ha realizado cambios. Esta seguro que quiere cerrar sin guardar?",
"Close all tabs" => "Cerrar todas las fichas?", "Close all tabs" => "Cerrar todas las fichas?"
"results" => "resultados"
), ),
"login" => "login" =>
@@ -371,7 +382,13 @@ $text = array(
"codemirror dir" => "directorio codemirror", "codemirror dir" => "directorio codemirror",
"codemirror version" => "version codemirror", "codemirror version" => "version codemirror",
"file manager root" => "administrador de archivos raiz", "file manager root" => "administrador de archivos raiz",
"Free to use..." => "Libre para usarlo para cualquier prop&oacute;sito, comercial o no, solo dejeme saber cualquier uso o mejora. :)<br><br>No se da garantia de ningun tipo, su uso se encuentra bajo su responsabilidad.<br><br>Muchas personas y compa&ntilde;&iacute;as han ayudado a construir ICEcoder por lo que les damos las gracias. Por favor vea la lista completa en", "Get in contact..." => "Pongase en contacto...",
"backups" => "respaldos",
"keep version control..." => "mantener control de versiones de respaldo para",
"day" => "dia",
"days" => "dias",
"of backups stored..." => "de respaldos almacenados actualmente",
"You may use..." => "Libre para usarlo para cualquier prop&oacute;sito, comercial o no, solo dejeme saber cualquier uso o mejora. :)<br><br>No se da garantia de ningun tipo, su uso se encuentra bajo su responsabilidad.",
"functionality" => "funcionalidad", "functionality" => "funcionalidad",
"check for updates..." => "verificar por actualizaciones en la carga", "check for updates..." => "verificar por actualizaciones en la carga",
"auto open last..." => "auto cargar los ultimos archivos al ingresar", "auto open last..." => "auto cargar los ultimos archivos al ingresar",
@@ -430,7 +447,20 @@ $text = array(
"updater" => "updater" =>
array( array(
"Update appears to..." => "La actualizaci&oacute;n parece haber sido satisfactoria" "Update appears to..." => "La actualizaci&oacute;n parece haber sido satisfactoria"
),
"find-in-files" =>
array(
"Enter path to search in" => "Ingrese la ruta para buscar",
"Enter semicolon-separated masks of files to look at (e.g. *.php;*.html;*.js)" => "Ingrese la mascaras de archivo separadas por punto y coma para buscar (ej. *.php;*.html;*.js)",
"Type of text" => "Tipo de texto",
"Fixed text" => "Texto fijo",
"Regular expression" => "Expresion regular",
"Case sensitive" => "Sensible a mayuscula",
"Yes" => "Si",
"No" => "No",
"Search" => "Buscar",
) )
); );
?>

19
lib/adminer.css Normal file
View File

@@ -0,0 +1,19 @@
body {font-family: arial, verdana, helvetica, sans-serif; font-size: 13px; background: rgba(0,0,0,0.92); color: #ccc}
a, a:visited {color: #49d; text-decoration: none; background: transparent}
a:link:hover, a:visited:hover {color: #eee}
#logins a, #tables a, #tables span {background: transparent}
h1 {display: none}
h2 {color: #ccc; background: transparent}
#breadcrumb {background: transparent}
.js .checkable .checked .td {background: #888}
thead td, thead th, th {background: transparent}
th:first-child,td:first-child{white-space: nowrap}
tbody tr:hover td,tbody tr:hover th{background: #222}
thead tr:hover td,thead tr:hover th{background: #333}
.odd td {background: #111}
.footer {position: relative; border-image: none; border-top: 0; margin-top: 20px}
.footer div {background: transparent}
.logout {display: none}

View File

@@ -0,0 +1,28 @@
/* First, reset everything to a standard */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
border: 0;
margin: 0;
padding: 0;
outline: 0;
font-size: 12px;
vertical-align: top;
}
body {overflow: hidden;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
text-align: center;
}
h1 {font-size: 36px; font-weight: normal; color: #888; margin-bottom: 20px}
.auto-logout-warning {font-family: arial, verdana, helvetica, sans-serif; background-color: #1c1c19; color: #fff; padding: 20px}

View File

@@ -0,0 +1,24 @@
<?php
include("headers.php");
include("settings.php");
$t = $text['auto-logout-warning'];
?>
<!DOCTYPE html>
<html>
<head>
<title>ICEcoder <?php echo $ICEcoder["versionNo"];?> auto-logout</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="robots" content="noindex, nofollow">
<link rel="stylesheet" type="text/css" href="auto-logout-warning.css?microtime=<?php echo microtime(true);?>">
</head>
<body class="auto-logout-warning">
<h1 id="title"><?php echo $t['Auto Logout Warning'];?></h1>
<?php echo $t['You will be...'];?> <span id="timeRemaning">60</span> <?php echo $t['seconds due to...'];?>
</body>
</html>

View File

@@ -0,0 +1,36 @@
<?php
// Load common functions
include("headers.php");
include("settings.php");
$file = str_replace("|","/",xssClean($_GET['file'],'html'));
// Get contents
$loadedFile = toUTF8noBOM(getData("../data/backups/".$file),true);
$encoding=ini_get("default_charset");
if($encoding=="")
$encoding="UTF-8";
// Set content in a textarea
echo '<textarea name="loadedFile" id="loadedFile">'.htmlentities($loadedFile,ENT_COMPAT,$encoding).'</textarea>';
// Get bytes for this file
$bytes = filesize("../data/backups/".$file);
// Change into kilobytes
$outputSize = ($bytes/1024);
$outputUnit = "kb";
// Maybe we should show in megabytes?
if ($outputSize >= 1024) {
$outputSize = ($outputSize/1024);
$outputUnit = "mb";
}
$size = number_format($outputSize, 2, '.', '').$outputUnit." (".number_format($bytes)." bytes)";
// Get date & time of file
$datetime = str_replace("-","<br>",date( "D jS M Y-g:i:sa", filemtime("../data/backups/".$file)));
?>
<script>
parent.document.getElementById('buttonsContainer').style.display = 'inline-block';
parent.editor.setValue(document.getElementById('loadedFile').value);
parent.document.getElementById('infoContainer').innerHTML = 'Date & Time:<br><?php echo $datetime;?><br><br>Size:<br><?php echo $size;?>';
</script>

30
lib/backup-versions.css Normal file
View File

@@ -0,0 +1,30 @@
/* First, reset everything to a standard */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
border: 0;
margin: 0;
padding: 0;
outline: 0;
font-size: 12px;
vertical-align: top;
}
body {overflow: hidden;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
h1 {font-size: 36px; font-weight: normal; color: #888; margin-bottom: 20px}
a {color: #fff; text-decoration: none}
.backup-versions {font-family: arial, verdana, helvetica, sans-serif; background-color: #1c1c19; color: #fff; padding: 20px}
.button {padding: 5px 10px; font-size: 14px; background-color: rgba(0,198,255,0.7); margin-bottom: 20px; text-align: center; cursor: pointer}

168
lib/backup-versions.php Normal file
View File

@@ -0,0 +1,168 @@
<?php
// Load common functions
include("headers.php");
include("settings.php");
$text = $_SESSION['text'];
$t = $text['backup-versions'];
$file = str_replace("|","/",xssClean($_GET['file'],'html'));
$fileCountInfo = getVersionsCount(dirname($file),basename($file));
$versions = $fileCountInfo['count'];
?>
<!DOCTYPE html>
<html>
<head>
<title>ICEcoder <?php echo $ICEcoder["versionNo"];?> backup version control</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="robots" content="noindex, nofollow">
<link rel="stylesheet" type="text/css" href="backup-versions.css?microtime=<?php echo microtime(true);?>">
<link rel="stylesheet" href="../<?php echo $ICEcoder["codeMirrorDir"]; ?>/lib/codemirror.css?microtime=<?php echo microtime(true);?>">
<script src="../<?php echo $ICEcoder["codeMirrorDir"]; ?>/lib/codemirror-compressed.js?microtime=<?php echo microtime(true);?>"></script>
<style type="text/css">
.CodeMirror {position: absolute; width: 409px; height: 180px; font-size: <?php echo $ICEcoder["fontSize"];?>}
.CodeMirror-scroll {overflow: hidden}
/* Make sure this next one remains the 3rd item, updated with JS */
.cm-tab {border-left-width: <?php echo $ICEcoder["visibleTabs"] ? "1px" : "0";?>; margin-left: <?php echo $ICEcoder["visibleTabs"] ? "-1px" : "0";?>; border-left-style: solid; border-left-color: rgba(255,255,255,0.15)}
.cm-trailingspace {
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAACCAYAAAB/qH1jAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QUXCToH00Y1UgAAACFJREFUCNdjPMDBUc/AwNDAAAFMTAwMDA0OP34wQgX/AQBYgwYEx4f9lQAAAABJRU5ErkJggg==);
background-position: bottom left;
background-repeat: repeat-x;
}
.CodeMirror-foldmarker {font-family: arial; line-height: .3; color: #b00; cursor: pointer;
text-shadow: #fff 1px 1px 2px, #fff -1px -1px 2px, #fff 1px -1px 2px, #fff -1px 1px 2px;
}
.CodeMirror-foldgutter {display: inline-block; width: 13px}
.CodeMirror-foldgutter-open, .CodeMirror-foldgutter-folded {position: absolute; display: inline-block; width: 13px; height: 13px; font-size: 14px; text-align: center; cursor: pointer}
.CodeMirror-foldgutter-open {background: rgba(255,255,255,0.04); color: #666}
.CodeMirror-foldgutter-open:after {position: relative; top: -2px}
.CodeMirror-foldgutter-folded {background: #800; color: #ddd}
.CodeMirror-foldgutter-folded:after {position: relative; top: -3px}
</style>
<link rel="stylesheet" href="../<?php echo $ICEcoder["codeMirrorDir"]; ?>/addon/fold/foldgutter.css?microtime=<?php echo microtime(true);?>">
<link rel="stylesheet" href="editor.css?microtime=<?php echo microtime(true);?>">
<?php
$themeArray = array();
$handle = opendir('../'.$ICEcoder["codeMirrorDir"].'/theme/');
while (false !== ($cssFile = readdir($handle))) {
if ($cssFile !== "." && $cssFile != "..") {
array_push($themeArray,basename($cssFile,".css"));
}
}
sort($themeArray);
for ($i=0;$i<count($themeArray);$i++) {
echo '<link rel="stylesheet" href="../'.$ICEcoder["codeMirrorDir"].'/theme/'.$themeArray[$i].'.css?microtime='.microtime(true).'">'.PHP_EOL;
}
?>
</head>
<body class="backup-versions">
<h1 id="title"><?php echo $versions." ".($versions != 1 ? $t["backups"] : $t["backup"])." ".$t['available for'].":";?></h1>
<h2><?php echo $file;?></h2>
<br>
<div style="display: inline-block; height: 500px; width: 210px; overflow-y: scroll">
<?php
$dateCounts = $fileCountInfo['dateCounts'];
$displayVersions = $versions;
// Establish the base, host and date dir parts...
$backupDirHost = isset($ftpSite) ? parse_url($ftpSite,PHP_URL_HOST) : "localhost";
foreach ($dateCounts as $key => $value) {
echo "<b>".date("jS M Y",strtotime($key))." (".$value." ".($value != 1 ? $t["backups"] : $t["backup"]).")</b>";
echo '<br>';
for ($j=0; $j<$value; $j++) {
echo '<a href="backup-versions-preview-loader.php?file='.str_replace("/","|",$backupDirHost.'/'.$key.$file).' ('.($value-$j).')&csrf='.$_SESSION['csrf'].'" onclick="highlightVersion('.$displayVersions.')" id="backup-'.$displayVersions.'" target="previewLoader">Backup '.$displayVersions.'</a><br>';
$displayVersions--;
}
echo '<br>';
}
?>
</div>
<div style="display: inline-block; width: 480px; height: 550px; margin-left: 20px">
<textarea id="code" name="code">Click a backup to the left to preview it</textarea>
</div>
<div style="display: none; width: 180px; margin-left: 30px" id="buttonsContainer">
<div class="button" onclick="openNew()">Open in new tab</div>
<div class="button" onclick="openDiff()">Open in diff mode</div>
<div class="button" onclick="restoreVersion()">Restore as new version</div>
<div id="infoContainer"></div>
</div>
<div style="display: none">
<iframe name="previewLoader"></iframe>
</div>
<script>
versions = <?php echo $versions;?>;
var highlightVersion = function(elem) {
for (var i=versions; i>=1; i--) {
document.getElementById('backup-'+i).style.color = i==elem
? 'rgba(0,198,255,0.7)'
: null;
}
}
<?php
echo "fileName = '".basename($file)."';";
include(dirname(__FILE__)."/language-modes-partial.js");
?>
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
mode: mode,
lineNumbers: top.ICEcoder.lineNumbers,
gutters: ["CodeMirror-foldgutter","CodeMirror-lint-markers","CodeMirror-linenumbers"],
foldGutter: {gutter: "CodeMirror-foldgutter"},
foldOptions: {minFoldSize: 1},
lineWrapping: top.ICEcoder.lineWrapping,
indentWithTabs: top.ICEcoder.indentWithTabs,
indentUnit: top.ICEcoder.indentSize,
tabSize: top.ICEcoder.indentSize,
matchBrackets: top.ICEcoder.matchBrackets,
electricChars: false,
highlightSelectionMatches: true,
showTrailingSpace: top.ICEcoder.showTrailingSpace,
lint: false,
readOnly: "nocursor",
theme: "<?php echo $ICEcoder["theme"]=="default" ? 'icecoder' : $ICEcoder["theme"];?>"
});
editor.setSize("480px","500px");
var openNew = function() {
var cM;
top.ICEcoder.showHide('hide',top.document.getElementById('blackMask'))
top.ICEcoder.newTab();
cM = top.ICEcoder.getcMInstance();
cM.setValue(editor.getValue());
}
var openDiff = function() {
var cMDiff;
top.ICEcoder.showHide('hide',top.document.getElementById('blackMask'))
top.ICEcoder.setSplitPane('on');
cMDiff = top.ICEcoder.getcMdiffInstance();
top.ICEcoder.focus('diff');
cMDiff.setValue(editor.getValue());
}
var restoreVersion = function() {
var cM;
if (top.ICEcoder.ask("To confirm - this will paste the displayed backup content to your current tab and save, OK?")) {
top.ICEcoder.showHide('hide',top.document.getElementById('blackMask'))
cM = top.ICEcoder.getcMInstance();
top.ICEcoder.focus();
cM.setValue(editor.getValue());
top.ICEcoder.saveFile();
}
}
</script>
</body>
</html>

View File

@@ -5,9 +5,9 @@ include_once("settings-common.php");
$text = $_SESSION['text']; $text = $_SESSION['text'];
$t = $text['bug-files-check']; $t = $text['bug-files-check'];
$files = explode(",",str_replace("|","/",$_GET['files'])); $files = explode(",",str_replace("|","/",xssClean($_GET['files'],"html")));
$filesSizesSeen = explode(",",$_GET['filesSizesSeen']); $filesSizesSeen = explode(",",xssClean($_GET['filesSizesSeen'],"html"));
$maxLines = $_GET['maxLines']; $maxLines = xssClean($_GET['maxLines'],"html");
$result = "ok"; $result = "ok";
@@ -28,7 +28,7 @@ if ($result != "error") {
for ($i=0; $i<count($files); $i++) { for ($i=0; $i<count($files); $i++) {
// If we have set a filesize value previously and it's different to now, there's new bugs // If we have set a filesize value previously and it's different to now, there's new bugs
$fileSizesSeenArray = explode(",",$_GET['filesSizesSeen']); $fileSizesSeenArray = explode(",",xssClean($_GET['filesSizesSeen'],"html"));
if ($fileSizesSeenArray[$i]!="null" && $fileSizesSeenArray[$i] != $filesSizesSeen[$i]) { if ($fileSizesSeenArray[$i]!="null" && $fileSizesSeenArray[$i] != $filesSizesSeen[$i]) {
$result = "bugs"; $result = "bugs";
$filesWithNewBugs++; $filesWithNewBugs++;
@@ -83,9 +83,9 @@ if ($result != "error") {
$output = $t['Found in']." ".$filename."...\n".implode("\n",$output); $output = $t['Found in']." ".$filename."...\n".implode("\n",$output);
if ($filesWithNewBugs==1) { if ($filesWithNewBugs==1) {
file_put_contents("../tmp/bug-report.log", $output); file_put_contents("../data/bug-report.log", $output);
} else { } else {
file_put_contents("../tmp/bug-report.log", "\n\n".$output, FILE_APPEND); file_put_contents("../data/bug-report.log", "\n\n".$output, FILE_APPEND);
} }
} }
@@ -93,16 +93,16 @@ if ($result != "error") {
} }
// Get dir name tmp dir's parent // Get dir name tmp dir's parent
$tmpLoc = dirname(__FILE__); $dataLoc = dirname(__FILE__);
$tmpLoc = explode(DIRECTORY_SEPARATOR,$tmpLoc); $dataLoc = explode(DIRECTORY_SEPARATOR,$dataLoc);
$tmpLoc = $tmpLoc[count($tmpLoc)-2]; $dataLoc = $dataLoc[count($dataLoc)-2];
// Output result and status array // Output result and status array
$status = array( $status = array(
"files" => $files, "files" => $files,
"filesSizesSeen" => $filesSizesSeen, "filesSizesSeen" => $filesSizesSeen,
"maxLines" => $maxLines, "maxLines" => $maxLines,
"bugReportPath" => "|".$tmpLoc."|tmp|bug-report.log", "bugReportPath" => "|".$dataLoc."|data|bug-report.log",
"result" => $result "result" => $result
); );
@@ -112,4 +112,3 @@ include("../processes/on-bug-check.php");
// Finally, display our status in JSON format as the XHR response text // Finally, display our status in JSON format as the XHR response text
echo json_encode($status); echo json_encode($status);
?>

2040
lib/database.php Normal file

File diff suppressed because one or more lines are too long

View File

@@ -6,7 +6,7 @@ include("settings.php");
$file = realpath($docRoot.$iceRoot.str_replace("|","/",strClean($_GET['file']))); $file = realpath($docRoot.$iceRoot.str_replace("|","/",strClean($_GET['file'])));
// If it doesn't exist, or doesn't start with the $docRoot, stop here // If it doesn't exist, or doesn't start with the $docRoot, stop here
if (!file_exists($file) || strpos(str_replace("\\","/",$file),$docRoot) !== 0) { if (!file_exists($file) || strpos(str_replace("\\","/",$file),$docRoot) !== 0) {
die("<script>alert('Sorry, that file doesn\'t appear to exist');</script>"); die("<script>top.ICEcoder.message('Sorry, that file doesn\'t appear to exist');</script>");
} }
if (file_exists($file)) { if (file_exists($file)) {
@@ -24,4 +24,3 @@ if (file_exists($file)) {
readfile($file); readfile($file);
exit; exit;
} }
?>

8
lib/draggabilly.pkgd.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -37,4 +37,4 @@
.cm-s-icecoder .CodeMirror-selected {color: #fff !important; background: #037 !important} .cm-s-icecoder .CodeMirror-selected {color: #fff !important; background: #037 !important}
.cm-s-icecoder .CodeMirror-gutters {background: #1d1d1b; min-width: 41px; border-right: 0} .cm-s-icecoder .CodeMirror-gutters {background: #1d1d1b; min-width: 41px; border-right: 0}
.cm-s-icecoder .CodeMirror-linenumber {color: #555; cursor: default} .cm-s-icecoder .CodeMirror-linenumber {color: #555; cursor: default}
.cm-s-icecoder .CodeMirror-matchingbracket {border: 1px solid grey; color: black !important} .cm-s-icecoder .CodeMirror-matchingbracket {color: #fff !important; background: #555 !important}

View File

@@ -21,11 +21,11 @@ $saveType = isset($_GET['saveType']) ? strClean($_GET['saveType']) : "";
// Establish the filename/new filename // Establish the filename/new filename
if (isset($_POST['newFileName']) && $_POST['newFileName']!="") { if (isset($_POST['newFileName']) && $_POST['newFileName']!="") {
$file = $_POST['newFileName']; // New file $file = strClean($_POST['newFileName']); // New file
} elseif (isset($_REQUEST['file'])) { } elseif (isset($_REQUEST['file'])) {
$file = $_REQUEST['file']; // Existing file $file = strClean($_REQUEST['file']); // Existing file
} else { } else {
$file = ""; // Error $file = ""; // Error
$finalAction = "nothing"; $finalAction = "nothing";
$doNext = ""; $doNext = "";
$error = true; $error = true;
@@ -72,6 +72,8 @@ if (!$error) {
// Die if the file requested isn't something we expect // Die if the file requested isn't something we expect
if( if(
// On the banned file/dir list
(str_replace("*","",$_SESSION['bannedFiles'][$i]) != "" && strpos($allFiles[$i],str_replace("*","",$_SESSION['bannedFiles'][$i]))!==false) ||
// A local folder that isn't the doc root or starts with the doc root // A local folder that isn't the doc root or starts with the doc root
($_GET['action']!="getRemoteFile" && !isset($ftpSite) && ($_GET['action']!="getRemoteFile" && !isset($ftpSite) &&
rtrim($allFiles[$i],"/") !== rtrim($docRoot,"/") && rtrim($allFiles[$i],"/") !== rtrim($docRoot,"/") &&
@@ -79,7 +81,7 @@ if (!$error) {
) || ) ||
// Or a remote URL that doesn't start http // Or a remote URL that doesn't start http
($_GET['action']=="getRemoteFile" && strpos($allFiles[$i],"http") !== 0) ($_GET['action']=="getRemoteFile" && strpos($allFiles[$i],"http") !== 0)
) { ) {
$error = true; $error = true;
$errorStr = "true"; $errorStr = "true";
$errorMsg = "Sorry! - problem with file requested"; $errorMsg = "Sorry! - problem with file requested";
@@ -87,6 +89,79 @@ if (!$error) {
} }
} }
$doNext = "";
// If we're in FTP mode, start a connection and leave open for FTP actions
if (isset($ftpSite)) {
ftpStart();
// Show user warning if no good connection
if (!$ftpConn || !$ftpLogin) {
$doNext .= 'top.ICEcoder.message("Sorry, no FTP connection to '.$ftpHost.' for user '.$ftpUser.'");';
}
}
// ============================
// STITCH CHANGES INTO OUR FILE
// ============================
function stitchChanges($fileLines) {
global $ICEcoder;
// Get our JSON changes from difflib and put into an array
$changes = json_decode($_POST['changes'],true);
// For each of those changes, handle the same requests on file on server to to match client view seen
for ($i=0; $i<count($changes); $i++) {
// Replace line(s)
if ($changes[$i][0] == "replace") {
for ($j=$changes[$i][1]; $j<=$changes[$i][2]-1; $j++) { // Take 1 from end
// Clear content of line
$fileLines[$j] = "";
// If it's the last line in the range
if ($j == $changes[$i][2]-1) {
// Replace the line with our replacement
// and if the last line, rtrim the new line from JS
$fileLines[$j] =
$j==count($fileLines)-1
? rtrim($changes[$i][5],$ICEcoder["lineEnding"])
: $changes[$i][5];
}
}
}
// Insert line(s)
if ($changes[$i][0] == "insert") {
for ($j=$changes[$i][1]-1; $j<=$changes[$i][2]-1; $j++) { // Take 1 from start and end
// Start of file, insert change and then 1st line afterwards
if ($j == -1) {
$fileLines[0] = $changes[$i][5].$fileLines[0];
// Otherwise, middle or end of file
} else {
// Replace the line with our replacement
// and if the last line, prefix with line return and rtrim the new line from JS
$fileLines[$j] .=
$j==count($fileLines)-1
? $ICEcoder["lineEnding"].rtrim($changes[$i][5],$ICEcoder["lineEnding"])
: $changes[$i][5];
}
}
}
// delete line(s)
if ($changes[$i][0] == "delete") {
for ($j=$changes[$i][1]; $j<=$changes[$i][2]-1; $j++) { // Take 1 from end
// Clear content of line
$fileLines[$j] = "";
// If the last line, clear line returns from it
if ($j == count($fileLines)-1) {
$fileLines[$changes[$i][1]-1] = rtrim(rtrim($fileLines[$changes[$i][1]-1],"\r"),"\n");
}
}
}
}
// Set and return the newly stitched together content
$contents = implode("",$fileLines);
return $contents;
}
// ============ // ============
// SAVING FILES // SAVING FILES
// ============ // ============
@@ -101,7 +176,8 @@ if (!$error && $_GET['action']=="save") {
$finalAction = strpos($fileOrig,"[NEW]")>0 ? "save as" : "save"; $finalAction = strpos($fileOrig,"[NEW]")>0 ? "save as" : "save";
$fileURL = isset($file) ? $file : ""; $fileURL = isset($file) ? $file : "";
$fileMDTURLPart = isset($_GET["fileMDT"]) && $_GET["fileMDT"]!="undefined" ? "&fileMDT=".numClean($_GET['fileMDT']) : ""; $fileMDTURLPart = isset($_GET["fileMDT"]) && $_GET["fileMDT"]!="undefined" ? "&fileMDT=".numClean($_GET['fileMDT']) : "";
$doNext = ' $fileVersionURLPart = isset($_GET["fileVersion"]) && $_GET["fileVersion"]!="undefined" ? "&fileVersion=".numClean($_GET['fileVersion']) : "";
$doNext .= '
top.ICEcoder.serverMessage(); top.ICEcoder.serverMessage();
fileLoc = "'.$fileLoc.'"; fileLoc = "'.$fileLoc.'";
overwriteOK = false; overwriteOK = false;
@@ -126,8 +202,8 @@ if (!$error && $_GET['action']=="save") {
/* Saving under conditions: Confirmation of overwrite or there is no filename conflict, it is a new file, in either case we can save */ /* Saving under conditions: Confirmation of overwrite or there is no filename conflict, it is a new file, in either case we can save */
if (overwriteOK || noConflictSave) { if (overwriteOK || noConflictSave) {
newFileName = "'.$docRoot.'" + newFileName; newFileName = "'.(isset($ftpSite) ? "" : $docRoot).'" + newFileName;
saveURL = "lib/file-control-xhr.php?action=save'.$fileMDTURLPart.'&csrf='.$_GET["csrf"].'"; saveURL = "lib/file-control-xhr.php?action=save'.$fileMDTURLPart.$fileVersionURLPart.'&csrf='.$_GET["csrf"].'";
var xhr = top.ICEcoder.xhrObj(); var xhr = top.ICEcoder.xhrObj();
@@ -153,7 +229,7 @@ if (!$error && $_GET['action']=="save") {
/* console.log(\'Calling \'+saveURL+\' via XHR\'); */ /* console.log(\'Calling \'+saveURL+\' via XHR\'); */
xhr.open("POST",saveURL,true); xhr.open("POST",saveURL,true);
xhr.setRequestHeader(\'Content-type\', \'application/x-www-form-urlencoded\'); xhr.setRequestHeader(\'Content-type\', \'application/x-www-form-urlencoded\');
xhr.send(\'timeStart='.$_POST["timeStart"].'&file='.$fileURL.'&newFileName=\'+newFileName+\'&contents=\'+top.ICEcoder.saveAsContent); xhr.send(\'timeStart='.numClean($_POST["timeStart"]).'&file='.$fileURL.'&newFileName=\'+newFileName.replace(/\\\+/g,"%2B")+\'&contents=\'+encodeURIComponent(top.ICEcoder.saveAsContent));
top.ICEcoder.serverMessage("<b>'.$t['Saving'].'</b><br>" + "'.($finalAction == "Save" ? "newFileName" : "'".$fileName."'").'"); top.ICEcoder.serverMessage("<b>'.$t['Saving'].'</b><br>" + "'.($finalAction == "Save" ? "newFileName" : "'".$fileName."'").'");
} }
} }
@@ -170,7 +246,7 @@ if (!$error && $_GET['action']=="save") {
// FILE CONTENT SAVING // FILE CONTENT SAVING
// =================== // ===================
} elseif (isset($_POST['contents'])) { } elseif (isset($_POST['changes']) || isset($_POST['contents'])) {
$finalAction = isset($_POST["newFileName"]) ? "save as" : "save"; $finalAction = isset($_POST["newFileName"]) ? "save as" : "save";
// ================= // =================
@@ -178,7 +254,8 @@ if (!$error && $_GET['action']=="save") {
// ================= // =================
if (!$demoMode && (isset($ftpSite) || (file_exists($file) && is_writable($file)) || isset($_POST['newFileName']) && $_POST['newFileName']!="")) { if (!$demoMode && (isset($ftpSite) || (file_exists($file) && is_writable($file)) || isset($_POST['newFileName']) && $_POST['newFileName']!="")) {
$filemtime = $serverType=="Linux" ? filemtime($file) : "1000000";
$filemtime = !isset($ftpSite) && $serverType=="Linux" ? filemtime($file) : "1000000";
// ======================= // =======================
// MDT'S MATCH, WRITE FILE // MDT'S MATCH, WRITE FILE
@@ -186,47 +263,77 @@ if (!$error && $_GET['action']=="save") {
if (!(isset($_GET['fileMDT']))||$filemtime==$_GET['fileMDT']) { if (!(isset($_GET['fileMDT']))||$filemtime==$_GET['fileMDT']) {
$doNext = "";
// FTP Saving // FTP Saving
if (isset($ftpSite)) { if (isset($ftpSite)) {
// Establish connection, result, maybe use pasv and alert error if no good connection
$ftpConn = ftp_connect($ftpHost);
$ftpLogin = ftp_login($ftpConn, $ftpUser, $ftpPass);
if ($ftpPasv) {
ftp_pasv($ftpConn, true);
}
if (!$ftpConn || !$ftpLogin) {
$doNext .= 'top.ICEcoder.message("Sorry, no FTP connection to '.$ftpHost.' for user '.$ftpUser.'");';
}
// Write our file contents and close the FTP connection
$ftpFilepath = ltrim($fileLoc."/".$fileName,"/"); $ftpFilepath = ltrim($fileLoc."/".$fileName,"/");
if (isset($_POST['changes'])) {
// Get existing file contents as lines
$loadedFile = toUTF8noBOM(ftpGetContents($ftpConn, $ftpRoot.$fileLoc."/".$fileName, $ftpMode),false);
$fileLines = explode("\n",str_replace("\r","",$loadedFile));
// Need to add a new line at the end of each because explode will lose them,
// want want to end up with same array that 'file($file)' produces for a local file
// - it keeps the line endings at the end of each array item
for ($i=0; $i<count($fileLines); $i++) {
if ($i<count($fileLines)-1) {
$fileLines[$i] .= $ICEcoder["lineEnding"];
}
}
// Stitch changes onto it
$contents = stitchChanges($fileLines);
// get old file contents and count stats on usage \n and \r there
// in this case we can keep line endings, which file had before, without
// making code version control systems going crazy about line endings change in whole file.
$unixNewLines = preg_match_all('/[^\r][\n]/u', $loadedFile);
$windowsNewLines = preg_match_all('/[\r][\n]/u', $loadedFile);
} else {
$contents = $_POST['contents'];
}
// replace \r\n (Windows), \r (old Mac) and \n (Linux) line endings with whatever we chose to be lineEnding // replace \r\n (Windows), \r (old Mac) and \n (Linux) line endings with whatever we chose to be lineEnding
$contents = $_POST['contents'];
$contents = str_replace("\r\n", $ICEcoder["lineEnding"], $contents); $contents = str_replace("\r\n", $ICEcoder["lineEnding"], $contents);
$contents = str_replace("\r", $ICEcoder["lineEnding"], $contents); $contents = str_replace("\r", $ICEcoder["lineEnding"], $contents);
$contents = str_replace("\n", $ICEcoder["lineEnding"], $contents); $contents = str_replace("\n", $ICEcoder["lineEnding"], $contents);
if (isset($_POST['changes']) && ($unixNewLines > 0) || ($windowsNewLines > 0)){
if ($unixNewLines > $windowsNewLines){
$contents = str_replace($ICEcoder["lineEnding"], "\n", $contents);
} elseif ($windowsNewLines > $unixNewLines){
$contents = str_replace($ICEcoder["lineEnding"], "\r\n", $contents);
}
}
// Write our file contents
if (!ftpWriteFile($ftpConn, $ftpFilepath, $contents, $ftpMode)) { if (!ftpWriteFile($ftpConn, $ftpFilepath, $contents, $ftpMode)) {
$doNext .= 'top.ICEcoder.message("Sorry, could not write '.$ftpFilepath.' at '.$ftpHost.'");'; $doNext .= 'top.ICEcoder.message("Sorry, could not write '.$ftpFilepath.' at '.$ftpHost.'");';
} else {
$doNext .= 'top.ICEcoder.openFileMDTs[top.ICEcoder.selectedTab-1]="'.$filemtime.'";';
$doNext .= '(function() {var x=top.ICEcoder.openFileVersions; var y=top.ICEcoder.selectedTab-1; x[y] = "undefined" != typeof x[y] ? x[y]+1 : 1})();top.ICEcoder.updateVersionsDisplay();';
} }
ftp_close($ftpConn);
// Local saving // Local saving
} else { } else {
if (isset($_POST['changes'])) {
// Get existing file contents as lines and stitch changes onto it
$fileLines = file($file);
$contents = stitchChanges($fileLines);
// get old file contents, and count stats on usage \n and \r there
// in this case we can keep line endings, which file had before, without
// making code version control systems going crazy about line endings change in whole file.
$oldContents = file_exists($file)?getData($file):'';
$unixNewLines = preg_match_all('/[^\r][\n]/u', $oldContents);
$windowsNewLines = preg_match_all('/[\r][\n]/u', $oldContents);
} else {
$contents = $_POST['contents'];
}
// Newly created files have the perms set too // Newly created files have the perms set too
$setPerms = (!file_exists($file)) ? true : false; $setPerms = (!file_exists($file)) ? true : false;
// get old file contents, if file exists, and count stats on usage \n and \r there
// in this case we can keep line endings, which file had before, without
// making code version control systems going crazy about line endings change in whole file.
$oldContents = file_exists($file)?file_get_contents($file):'';
$unixNewLines = preg_match_all('/[^\r][\n]/u', $oldContents);
$windowsNewLines = preg_match_all('/[\r][\n]/u', $oldContents);
$fh = fopen($file, 'w') or die($t['Sorry, cannot save']); $fh = fopen($file, 'w') or die($t['Sorry, cannot save']);
// replace \r\n (Windows), \r (old Mac) and \n (Linux) line endings with whatever we chose to be lineEnding // replace \r\n (Windows), \r (old Mac) and \n (Linux) line endings with whatever we chose to be lineEnding
$contents = $_POST['contents'];
$contents = str_replace("\r\n", $ICEcoder["lineEnding"], $contents); $contents = str_replace("\r\n", $ICEcoder["lineEnding"], $contents);
$contents = str_replace("\r", $ICEcoder["lineEnding"], $contents); $contents = str_replace("\r", $ICEcoder["lineEnding"], $contents);
$contents = str_replace("\n", $ICEcoder["lineEnding"], $contents); $contents = str_replace("\n", $ICEcoder["lineEnding"], $contents);
if (($unixNewLines > 0) || ($windowsNewLines > 0)){ if (isset($_POST['changes']) && ($unixNewLines > 0) || ($windowsNewLines > 0)){
if ($unixNewLines > $windowsNewLines){ if ($unixNewLines > $windowsNewLines){
$contents = str_replace($ICEcoder["lineEnding"], "\n", $contents); $contents = str_replace($ICEcoder["lineEnding"], "\n", $contents);
} elseif ($windowsNewLines > $unixNewLines){ } elseif ($windowsNewLines > $unixNewLines){
@@ -243,7 +350,93 @@ if (!$error && $_GET['action']=="save") {
clearstatcache(); clearstatcache();
$filemtime = $serverType=="Linux" ? filemtime($file) : "1000000"; $filemtime = $serverType=="Linux" ? filemtime($file) : "1000000";
$doNext .= 'top.ICEcoder.openFileMDTs[top.ICEcoder.selectedTab-1]="'.$filemtime.'";'; $doNext .= 'top.ICEcoder.openFileMDTs[top.ICEcoder.selectedTab-1]="'.$filemtime.'";';
$doNext .= '(function() {var x=top.ICEcoder.openFileVersions; var y=top.ICEcoder.selectedTab-1; x[y] = "undefined" != typeof x[y] ? x[y]+1 : 1})();top.ICEcoder.updateVersionsDisplay();';
} }
// Save a version controlled backup source of the file
if ($ICEcoder["backupsKept"]) {
$backupDirFormat = "Y-m-d";
// Establish the base, host and date dir parts...
$backupDirBase = str_replace("\\","/",dirname(__FILE__))."/../data/backups/";
$backupDirHost = isset($ftpSite) ? parse_url($ftpSite,PHP_URL_HOST) : "localhost";
$backupDirDate = date($backupDirFormat);
// Establish an array of dirs from base to our file location
$subDirsArray = explode("/",ltrim($fileLoc,"/"));
array_unshift($subDirsArray,$backupDirHost,$backupDirDate);
// Make any dirs that don't exist if full path isn't there
if (!is_dir($backupDirBase.implode("/",$subDirsArray))) {
$pathIncr = "";
for ($i=0; $i<count($subDirsArray); $i++) {
$pathIncr .= $subDirsArray[$i]."/";
// If this subdir isn't there, make it
if (!is_dir($backupDirBase.$pathIncr)) {
mkdir($backupDirBase.$pathIncr);
}
}
}
// We should have our dir path now so set that
$backupDir = $backupDirBase.implode("/",$subDirsArray);
// Work out an available filename (we postfix a number in parens)
for ($i=1; $i<1000000000; $i++) {
if (!file_exists($backupDir.'/'.$fileName." (".$i.")")) {
$backupFileName = $fileName." (".$i.")";
$backupFileNum = $i;
$i=1000000000;
}
}
// Now save within that backup dir and clear the statcache
$fh = fopen($backupDir."/".$backupFileName, "w") or die($t['Sorry, cannot save...']);
fwrite($fh, $contents);
fclose($fh);
clearstatcache();
// Log the version count in an index file, which contains saved version counts
$backupIndex = $backupDirBase.$backupDirHost."/".$backupDirDate."/.versions-index";
// Have a version index already? Update contents
if (file_exists($backupIndex)) {
$versionsInfo = "";
$versionsInfoOrig = getData($backupIndex);
$versionsInfoOrig = explode("\n",$versionsInfoOrig);
$replacedLine = false;
// For each line, either re-set number or simply include the line
for ($i=0; $i<count($versionsInfoOrig); $i++) {
if (strpos($versionsInfoOrig[$i],$fileLoc."/".$fileName." = ") === 0) {
$versionsInfo .= $fileLoc."/".$fileName." = ".$backupFileNum.PHP_EOL;
$replacedLine = true;
} else {
$versionsInfo .= $versionsInfoOrig[$i].PHP_EOL;
}
}
// Didn't find our line in the file? Add it to the end
if (!$replacedLine) {
$versionsInfo .= $fileLoc."/".$fileName." = ".$backupFileNum.PHP_EOL;
}
// No version file yet, set the first line
} else {
$versionsInfo = $fileLoc."/".$fileName." = ".$backupFileNum.PHP_EOL;
}
$versionsInfo = rtrim($versionsInfo,PHP_EOL);
$fh = fopen($backupIndex, 'w') or die($t['Sorry, cannot save...']);
fwrite($fh, $versionsInfo);
fclose($fh);
clearstatcache();
// Finally, clear any old backup dirs than user set X days (inclusive)
$backupDirsList = scandir($backupDirBase.$backupDirHost);
$backupDirsKeep = array();
for ($i=0; $i<=$ICEcoder["backupsDays"]; $i++) {
$backupDirsKeep[] = date($backupDirFormat, strtotime('-'.$i.' day',strtotime($backupDirDate)));
}
for ($i=0; $i<count($backupDirsList); $i++) {
if ($backupDirsList[$i] != "." && $backupDirsList[$i] != ".." && !in_array($backupDirsList[$i],$backupDirsKeep)) {
rrmdir($backupDirBase.$backupDirHost."/".$backupDirsList[$i]);
}
}
}
// Reload file manager, rename tab & remove old file highlighting if it was a new file // Reload file manager, rename tab & remove old file highlighting if it was a new file
if (isset($_POST['newFileName']) && $_POST['newFileName']!="") { if (isset($_POST['newFileName']) && $_POST['newFileName']!="") {
$doNext .= 'top.ICEcoder.selectedFiles=[];top.ICEcoder.updateFileManagerList(\'add\',\''.$fileLoc.'\',\''.$fileName.'\',false,false,false,\'file\');'; $doNext .= 'top.ICEcoder.selectedFiles=[];top.ICEcoder.updateFileManagerList(\'add\',\''.$fileLoc.'\',\''.$fileName.'\',false,false,false,\'file\');';
@@ -257,7 +450,7 @@ if (!$error && $_GET['action']=="save") {
// Reload previewWindow window if not a Markdown file // Reload previewWindow window if not a Markdown file
// In doing this, we check on an interval for the page to be complete and if we last saw it loading // In doing this, we check on an interval for the page to be complete and if we last saw it loading
// When we are done loading, so set the loading status to false and load plugins ontop... // When we are done loading, so set the loading status to false and load plugins ontop...
$doNext .= 'if (top.ICEcoder.previewWindow.location && top.ICEcoder.previewWindow.location.pathname.indexOf(".md")==-1) { $doNext .= 'if (top.ICEcoder.previewWindow.location && top.ICEcoder.previewWindow.location.pathname && top.ICEcoder.previewWindow.location.pathname.indexOf(".md")==-1) {
top.ICEcoder.previewWindowLoading = false; top.ICEcoder.previewWindowLoading = false;
top.ICEcoder.previewWindow.location.reload(true); top.ICEcoder.previewWindow.location.reload(true);
@@ -289,6 +482,7 @@ if (!$error && $_GET['action']=="save") {
top.ICEcoder.setPreviousFiles(); top.ICEcoder.setPreviousFiles();
setTimeout(function(){top.ICEcoder.indicateChanges()},4); setTimeout(function(){top.ICEcoder.indicateChanges()},4);
top.ICEcoder.savedPoints[top.ICEcoder.selectedTab-1] = cM.changeGeneration(); top.ICEcoder.savedPoints[top.ICEcoder.selectedTab-1] = cM.changeGeneration();
top.ICEcoder.savedContents[top.ICEcoder.selectedTab-1] = cM.getValue();
top.ICEcoder.redoTabHighlight(top.ICEcoder.selectedTab);'; top.ICEcoder.redoTabHighlight(top.ICEcoder.selectedTab);';
// Run our custom processes // Run our custom processes
@@ -299,8 +493,10 @@ if (!$error && $_GET['action']=="save") {
// ====================================================== // ======================================================
} else { } else {
$loadedFile = toUTF8noBOM(file_get_contents($file,false,$context),true); // Only applicable for local files
$doNext = ' $loadedFile = toUTF8noBOM(getData($file),true);
$fileCountInfo = getVersionsCount($fileLoc,$fileName);
$doNext .= '
var loadedFile = document.createElement("textarea"); var loadedFile = document.createElement("textarea");
loadedFile.value = "'.str_replace('"','\\\"',str_replace("\r","\\\\r",str_replace("\n","\\\\n",str_replace("</textarea>","<ICEcoder:/:textarea>",$loadedFile)))).'"; loadedFile.value = "'.str_replace('"','\\\"',str_replace("\r","\\\\r",str_replace("\n","\\\\n",str_replace("</textarea>","<ICEcoder:/:textarea>",$loadedFile)))).'";
var refreshFile = top.ICEcoder.ask("'.$t['Sorry, this file...'].'\\\n'.$file.'\\\n\\\n'.$t['Reload this file...'].'"); var refreshFile = top.ICEcoder.ask("'.$t['Sorry, this file...'].'\\\n'.$file.'\\\n\\\n'.$t['Reload this file...'].'");
@@ -311,7 +507,9 @@ if (!$error && $_GET['action']=="save") {
/* Revert back to original */ /* Revert back to original */
cM.setValue(loadedFile.value); cM.setValue(loadedFile.value);
top.ICEcoder.savedPoints[thisTab-1] = cM.changeGeneration(); top.ICEcoder.savedPoints[thisTab-1] = cM.changeGeneration();
top.ICEcoder.savedContents[thisTab-1] = cM.getValue();
top.ICEcoder.openFileMDTs[top.ICEcoder.selectedTab-1] = "'.$filemtime.'"; top.ICEcoder.openFileMDTs[top.ICEcoder.selectedTab-1] = "'.$filemtime.'";
top.ICEcoder.openFileVersions[top.ICEcoder.selectedTab-1] = "'.$fileCountInfo['count'].'";
cM.clearHistory(); cM.clearHistory();
/* Now for the new version in the diff pane */ /* Now for the new version in the diff pane */
top.ICEcoder.setSplitPane(\'on\'); top.ICEcoder.setSplitPane(\'on\');
@@ -327,7 +525,7 @@ if (!$error && $_GET['action']=="save") {
} else { } else {
$finalAction = "nothing"; $finalAction = "nothing";
$doNext = "top.ICEcoder.message('".$t['Sorry, cannot save']."\\\\n".$file."');"; $doNext .= "top.ICEcoder.message('".$t['Sorry, cannot save']."\\\\n".$file."');";
} }
$doNext .= 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);'; $doNext .= 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);';
} }
@@ -337,16 +535,32 @@ if (!$error && $_GET['action']=="save") {
// NEW FOLDER // NEW FOLDER
// ========== // ==========
if (!isset($ftpSite) && !$error && $_GET['action']=="newFolder") { if (!$error && $_GET['action']=="newFolder") {
if (!$demoMode && is_writable($docRoot.$fileLoc)) { if (!$demoMode && (isset($ftpSite) || is_writable($docRoot.$fileLoc))) {
mkdir($file, octdec($ICEcoder['newDirPerms'])); $updateFM = false;
// Reload file manager // FTP
$doNext = 'top.ICEcoder.selectedFiles=[];top.ICEcoder.updateFileManagerList(\'add\',\''.$fileLoc.'\',\''.$fileName.'\',false,false,false,\'folder\');'; if (isset($ftpSite)) {
$ftpFilepath = ltrim($fileLoc."/".$fileName,"/");
if (!ftpMkDir($ftpConn, octdec($ICEcoder['newDirPerms']), $ftpFilepath)) {
$doNext .= 'top.ICEcoder.message("Sorry, could not create dir '.$ftpFilepath.' at '.$ftpHost.'");';
} else {
$updateFM = true;
}
// Local
} else {
mkdir($file, octdec($ICEcoder['newDirPerms']));
// Reload file manager
$updateFM = true;
}
// Update file manager on success
if ($updateFM) {
$doNext .= 'top.ICEcoder.selectedFiles=[];top.ICEcoder.updateFileManagerList(\'add\',\''.$fileLoc.'\',\''.$fileName.'\',false,false,false,\'folder\');';
}
$finalAction = "newFolder"; $finalAction = "newFolder";
// Run our custom processes // Run our custom processes
include_once("../processes/on-new-dir.php"); include_once("../processes/on-new-dir.php");
} else { } else {
$doNext = "top.ICEcoder.message('".$t['Sorry, cannot create...']."\\\\n".$fileLoc."');"; $doNext .= "top.ICEcoder.message('".$t['Sorry, cannot create...']."\\\\n".$fileLoc."');";
$finalAction = "nothing"; $finalAction = "nothing";
} }
$doNext .= 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);'; $doNext .= 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);';
@@ -356,28 +570,47 @@ if (!isset($ftpSite) && !$error && $_GET['action']=="newFolder") {
// MOVE FILE/FOLDER // MOVE FILE/FOLDER
// ================ // ================
if (!isset($ftpSite) && !$error && $_GET['action']=="move") { if (!$error && $_GET['action']=="move") {
$moved=false; if (isset($ftpSite)) {
$doNext = ""; $srcDir = ltrim(str_replace("|","/",strClean($_GET['oldFileName'])),"/");
$srcDir = $docRoot.$iceRoot.str_replace("|","/",strClean($_GET['oldFileName'])); $tgtDir = ltrim($fileLoc."/".$fileName,"/");
$tgtDir = $docRoot.$fileLoc."/".$fileName; } else {
$srcDir = $docRoot.$iceRoot.str_replace("|","/",strClean($_GET['oldFileName']));
$tgtDir = $docRoot.$fileLoc."/".$fileName;
}
if ($srcDir != $tgtDir && $fileLoc != "") { if ($srcDir != $tgtDir && $fileLoc != "") {
if (!$demoMode && is_writable($srcDir)) { if (!$demoMode && (isset($ftpSite) || is_writable($srcDir))) {
if(rename($srcDir,$tgtDir)) { $updateFM = false;
// Reload file manager // FTP
$fileOrFolder = is_dir($docRoot.$fileLoc."/".$fileName) ? "folder" : "file"; if (isset($ftpSite)) {
$doNext .= 'top.ICEcoder.selectedFiles=[];top.ICEcoder.updateFileManagerList(\'move\',\''.$fileLoc.'\',\''.$fileName.'\',\'\',\''.str_replace($iceRoot,"",strClean(str_replace("|","/",$_GET['oldFileName']))).'\',false,\''.$fileOrFolder.'\');'; if (!ftpRename($ftpConn, $srcDir, $tgtDir)) {
$finalAction = "move"; $doNext .= 'top.ICEcoder.message("Sorry, could not rename '.$srcDir.' to '.$tgtDir.'");';
$moved=true; } else {
// Run our custom processes $ftpFileDirInfo = ftpGetFileInfo($ftpConn, ltrim($fileLoc,"/"), $fileName);
include_once("../processes/on-file-dir-move.php"); $fileOrFolder = $ftpFileDirInfo['type'] == "directory" ? "folder" : "file";
$updateFM = true;
}
// Local
} else {
if(rename($srcDir,$tgtDir)) {
// Is a dir or file (needed to create new item in file manager)
$fileOrFolder = is_dir($docRoot.$fileLoc."/".$fileName) ? "folder" : "file";
$updateFM = true;
}
} }
} // Update file manager on success
if (!$moved) { if ($updateFM) {
$doNext .= 'top.ICEcoder.selectedFiles=[];top.ICEcoder.updateFileManagerList(\'move\',\''.$fileLoc.'\',\''.$fileName.'\',\'\',\''.str_replace($iceRoot,"",strClean(str_replace("|","/",$_GET['oldFileName']))).'\',false,\''.$fileOrFolder.'\');';
}
$finalAction = "move";
// Run our custom processes
include_once("../processes/on-file-dir-move.php");
} else {
$doNext .= "top.ICEcoder.message('".$t['Sorry, cannot move']."\\\\n".str_replace("|","/",strClean($_GET['oldFileName']))."\\\\n\\\\n".$t['Maybe public write...']."');"; $doNext .= "top.ICEcoder.message('".$t['Sorry, cannot move']."\\\\n".str_replace("|","/",strClean($_GET['oldFileName']))."\\\\n\\\\n".$t['Maybe public write...']."');";
$finalAction = "nothing"; $finalAction = "nothing";
} }
} else { } else {
$doNext .= "";
$finalAction = "nothing"; $finalAction = "nothing";
} }
$doNext .= 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);'; $doNext .= 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);';
@@ -387,20 +620,32 @@ if (!isset($ftpSite) && !$error && $_GET['action']=="move") {
// RENAME FILE/FOLDER // RENAME FILE/FOLDER
// ================== // ==================
if (!isset($ftpSite) && !$error && $_GET['action']=="rename") { if (!$error && $_GET['action']=="rename") {
$renamed=false; if (!$demoMode && (isset($ftpSite) || is_writable($docRoot.$iceRoot.str_replace("|","/",strClean($_GET['oldFileName']))))) {
if (!$demoMode && is_writable($docRoot.$iceRoot.str_replace("|","/",strClean($_GET['oldFileName'])))) { $updateFM = false;
if(rename($docRoot.$iceRoot.str_replace("|","/",strClean($_GET['oldFileName'])),$docRoot.$fileLoc."/".$fileName)) { // FTP
// Reload file manager if (isset($ftpSite)) {
$doNext = 'top.ICEcoder.selectedFiles=[];top.ICEcoder.updateFileManagerList(\'rename\',\''.$fileLoc.'\',\''.$fileName.'\',\'\',\''.str_replace($iceRoot,"",strClean($_GET['oldFileName'])).'\');'; $ftpFilepath = ltrim($fileLoc."/".$fileName,"/");
$finalAction = "rename"; if (!ftpRename($ftpConn, ltrim(strClean($_GET['oldFileName']),"/"), $ftpFilepath)) {
$renamed=true; $doNext .= 'top.ICEcoder.message("Sorry, could not rename '.ltrim(strClean($_GET['oldFileName']),"/").' to '.$ftpFilepath.'");';
// Run our custom processes } else {
include_once("../processes/on-file-dir-rename.php"); $updateFM = true;
}
// Local
} else {
rename($docRoot.$iceRoot.str_replace("|","/",strClean($_GET['oldFileName'])),$docRoot.$fileLoc."/".$fileName);
$updateFM = true;
} }
} // Update file manager on success
if (!$renamed) { if ($updateFM) {
$doNext = "top.ICEcoder.message('".$t['Sorry, cannot rename']."\\\\n".strClean($_GET['oldFileName'])."\\\\n\\\\n".$t['Maybe public write...']."');"; $doNext .= 'top.ICEcoder.selectedFiles=[];top.ICEcoder.updateFileManagerList(\'rename\',\''.$fileLoc.'\',\''.$fileName.'\',\'\',\''.str_replace($iceRoot,"",strClean($_GET['oldFileName'])).'\');';
}
$finalAction = "rename";
// Run our custom processes
include_once("../processes/on-file-dir-rename.php");
} else {
$doNext .= "top.ICEcoder.message('".$t['Sorry, cannot rename']."\\\\n".strClean($_GET['oldFileName'])."\\\\n\\\\n".$t['Maybe public write...']."');";
$finalAction = "nothing";
} }
$doNext .= 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);'; $doNext .= 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);';
}; };
@@ -451,12 +696,12 @@ if (!isset($ftpSite) && !$error && $_GET['action']=="paste") {
} }
} }
// Reload file manager // Reload file manager
$doNext = 'top.ICEcoder.updateFileManagerList(\'add\',\''.strClean(str_replace("|","/",$_GET['location'])).'\',\''.basename($dest).'\',false,false,false,\''.$fileOrFolder.'\');'; $doNext .= 'top.ICEcoder.updateFileManagerList(\'add\',\''.strClean(str_replace("|","/",$_GET['location'])).'\',\''.basename($dest).'\',false,false,false,\''.$fileOrFolder.'\');';
$finalAction = "pasteFile"; $finalAction = "pasteFile";
// Run our custom processes // Run our custom processes
include_once("../processes/on-file-dir-paste.php"); include_once("../processes/on-file-dir-paste.php");
} else { } else {
$doNext = "top.ICEcoder.message('".$t['Sorry, cannot copy']." \\\\n".str_replace($docRoot,"",$source)."\\\\n ".$t['into']." \\\\n".str_replace($docRoot,"",$dest)."');"; $doNext .= "top.ICEcoder.message('".$t['Sorry, cannot copy']." \\\\n".str_replace($docRoot,"",$source)."\\\\n ".$t['into']." \\\\n".str_replace($docRoot,"",$dest)."');";
$finalAction = "nothing"; $finalAction = "nothing";
} }
$doNext .= 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);'; $doNext .= 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);';
@@ -468,7 +713,6 @@ if (!isset($ftpSite) && !$error && $_GET['action']=="paste") {
if (!isset($ftpSite) && !$error && $_GET['action']=="upload") { if (!isset($ftpSite) && !$error && $_GET['action']=="upload") {
if (!$demoMode) { if (!$demoMode) {
$doNext = "";
class fileUploader { class fileUploader {
public function __construct($uploads) { public function __construct($uploads) {
global $docRoot,$iceRoot,$ICEcoder,$doNext; global $docRoot,$iceRoot,$ICEcoder,$doNext;
@@ -503,7 +747,7 @@ if (!isset($ftpSite) && !$error && $_GET['action']=="upload") {
function getDetails($fileArr) { function getDetails($fileArr) {
foreach($fileArr['name'] as $keyee => $info) { foreach($fileArr['name'] as $keyee => $info) {
$uploads[$keyee]->name=$fileArr['name'][$keyee]; $uploads[$keyee]->name=xssClean($fileArr['name'][$keyee],"html");
$uploads[$keyee]->type=$fileArr['type'][$keyee]; $uploads[$keyee]->type=$fileArr['type'][$keyee];
$uploads[$keyee]->tmp_name=$fileArr['tmp_name'][$keyee]; $uploads[$keyee]->tmp_name=$fileArr['tmp_name'][$keyee];
$uploads[$keyee]->error=$fileArr['error'][$keyee]; $uploads[$keyee]->error=$fileArr['error'][$keyee];
@@ -532,49 +776,85 @@ if (!isset($ftpSite) && !$error && $_GET['action']=="upload") {
// DELETE FILE(S)/FOLDER(S) // DELETE FILE(S)/FOLDER(S)
// ======================== // ========================
if (!isset($ftpSite) && !$error && $_GET['action']=="delete") { if (!$error && $_GET['action']=="delete") {
$doNext = "";
$filesArray = explode(";",$file); // May contain more than one file here $filesArray = explode(";",$file); // May contain more than one file here
for ($i=0;$i<count($filesArray);$i++) { // FTP
$fullPath = str_replace($docRoot,"",$filesArray[$i]); if (isset($ftpSite)) {
$fullPath = str_replace($iceRoot,"",$fullPath); if (count($filesArray) == 1) {
$fullPath = $docRoot.$iceRoot.$fullPath; $ftpFileDirInfo = ftpGetFileInfo($ftpConn, ltrim($fileLoc,"/"), $fileName);
$itemType = $ftpFileDirInfo['type'] == "directory" ? "dir" : "file";
if (rtrim($fullPath,"/") == rtrim($docRoot,"/")) { $itemPath = ltrim($fileLoc."/".$fileName,"/");
$doNext .= "top.ICEcoder.message('".$t['Sorry, cannot delete...']."');"; if (!$demoMode && ftpDelete($ftpConn,$itemType,$itemPath)) {
} else if (!$demoMode && is_writable($fullPath)) { if ($fileLoc=="" || $fileLoc=="\\") {$fileLoc="/";};
is_dir($fullPath) // Reload file manager
? rrmdir($fullPath) $doNext .= 'top.ICEcoder.selectedFiles=[];top.ICEcoder.updateFileManagerList(\'delete\',\''.$fileLoc.'\',\''.$fileName.'\');';
: unlink($fullPath); $finalAction = "delete";
$fileName = basename($fullPath); // Run our custom processes
$fileLoc = dirname(str_replace($docRoot,"",$fullPath)); include_once("../processes/on-file-dir-delete.php");
if ($fileLoc=="" || $fileLoc=="\\") {$fileLoc="/";}; } else {
// Reload file manager $doNext .= "top.ICEcoder.message('".$t['Sorry, cannot delete']."\\\\n".$fileLoc."/".$fileName."');";
$doNext .= 'top.ICEcoder.selectedFiles=[];top.ICEcoder.updateFileManagerList(\'delete\',\''.$fileLoc.'\',\''.$fileName.'\');'; $finalAction = "nothing";
$finalAction = "delete"; }
// Run our custom processes
include_once("../processes/on-file-dir-delete.php");
} else { } else {
$doNext .= "top.ICEcoder.message('".$t['Sorry, cannot delete']."\\\\n".str_replace($docRoot,"",$fullPath)."');"; $doNext .= "top.ICEcoder.message('".$t['Sorry, cannot delete more...']."');";
$finalAction = "nothing"; $finalAction = "nothing";
} }
// Local
} else {
for ($i=0;$i<count($filesArray);$i++) {
$fullPath = str_replace($docRoot,"",$filesArray[$i]);
$fullPath = str_replace($iceRoot,"",$fullPath);
$fullPath = $docRoot.$iceRoot.$fullPath;
if (rtrim($fullPath,"/") == rtrim($docRoot,"/")) {
$doNext .= "top.ICEcoder.message('".$t['Sorry, cannot delete...']."');";
} else if (!$demoMode && is_writable($fullPath)) {
if (is_dir($fullPath)) {
rrmdir($fullPath);
} else {
// Delete file to tmp dir or full delete
$ICEcoder['deleteToTmp']
? rename($fullPath,str_replace("\\","/",dirname(__FILE__))."/../tmp/.".str_replace(":","_",str_replace("/","_",$fullPath)))
: unlink($fullPath);
}
$fileName = basename($fullPath);
$fileLoc = dirname(str_replace($docRoot,"",$fullPath));
if ($fileLoc=="" || $fileLoc=="\\") {$fileLoc="/";};
// Reload file manager
$doNext .= 'top.ICEcoder.selectedFiles=[];top.ICEcoder.updateFileManagerList(\'delete\',\''.$fileLoc.'\',\''.$fileName.'\');';
$finalAction = "delete";
// Run our custom processes
include_once("../processes/on-file-dir-delete.php");
} else {
$doNext .= "top.ICEcoder.message('".$t['Sorry, cannot delete']."\\\\n".str_replace($docRoot,"",$fullPath)."');";
$finalAction = "nothing";
}
}
} }
$doNext .= 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);'; $doNext .= 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);';
}; };
// The function to recursively remove folders & files // The function to recursively remove folders & files
function rrmdir($dir) { function rrmdir($dir) {
global $ICEcoder;
if (is_dir($dir)) { if (is_dir($dir)) {
$objects = scandir($dir); $objects = scandir($dir);
foreach ($objects as $object) { foreach ($objects as $object) {
if ($object != "." && $object != "..") { if ($object != "." && $object != "..") {
filetype($dir."/".$object) == "dir" if (filetype($dir."/".$object) == "dir") {
? rrmdir($dir."/".$object) rrmdir($dir."/".$object);
: unlink($dir."/".$object); } else {
$ICEcoder['deleteToTmp']
? rename($dir."/".$object,str_replace("\\","/",dirname(__FILE__))."/../tmp/.".str_replace(":","_",str_replace("/","_",$dir))."/".$object)
: unlink($dir."/".$object);
}
} }
} }
reset($objects); reset($objects);
rmdir($dir); $ICEcoder['deleteToTmp']
? rename($dir,str_replace("\\","/",dirname(__FILE__))."/../tmp/.".str_replace(":","_",str_replace("/","_",$dir)))
: rmdir($dir);
} }
}; };
@@ -583,9 +863,8 @@ function rrmdir($dir) {
// ====================== // ======================
if (!isset($ftpSite) && !$error && $_GET['action']=="replaceText") { if (!isset($ftpSite) && !$error && $_GET['action']=="replaceText") {
$doNext = "";
if (!$demoMode && is_writable($file)) { if (!$demoMode && is_writable($file)) {
$loadedFile = toUTF8noBOM(file_get_contents($file,false,$context),true); $loadedFile = toUTF8noBOM(getData($file),true);
$newContent = str_replace(strClean($_GET['find']),strClean($_GET['replace']),$loadedFile); $newContent = str_replace(strClean($_GET['find']),strClean($_GET['replace']),$loadedFile);
$fh = fopen($file, 'w') or die($t['Sorry, cannot save']); $fh = fopen($file, 'w') or die($t['Sorry, cannot save']);
fwrite($fh, $newContent); fwrite($fh, $newContent);
@@ -606,8 +885,7 @@ if (!isset($ftpSite) && !$error && $_GET['action']=="replaceText") {
if (!isset($ftpSite) && !$error && $_GET['action']=="getRemoteFile") { if (!isset($ftpSite) && !$error && $_GET['action']=="getRemoteFile") {
$lineNumber = max(isset($_REQUEST['lineNumber'])?intval($_REQUEST['lineNumber']):1, 1); $lineNumber = max(isset($_REQUEST['lineNumber'])?intval($_REQUEST['lineNumber']):1, 1);
$doNext = ""; if ($remoteFile = toUTF8noBOM(getData($file,'curl'),true)) {
if ($remoteFile = toUTF8noBOM(file_get_contents($file,false,$context),true)) {
// replace \r\n (Windows), \r (old Mac) and \n (Linux) line endings with whatever we chose to be lineEnding // replace \r\n (Windows), \r (old Mac) and \n (Linux) line endings with whatever we chose to be lineEnding
$remoteFile = str_replace("\r\n", $ICEcoder["lineEnding"], $remoteFile); $remoteFile = str_replace("\r\n", $ICEcoder["lineEnding"], $remoteFile);
$remoteFile = str_replace("\r", $ICEcoder["lineEnding"], $remoteFile); $remoteFile = str_replace("\r", $ICEcoder["lineEnding"], $remoteFile);
@@ -629,17 +907,33 @@ if (!isset($ftpSite) && !$error && $_GET['action']=="getRemoteFile") {
// CHANGING FILE/DIR PERMS // CHANGING FILE/DIR PERMS
// ======================= // =======================
if (!isset($ftpSite) && !$error && $_GET['action']=="perms") { if (!$error && $_GET['action']=="perms") {
if (!$demoMode && is_writable($file)) { if (!$demoMode && (isset($ftpSite) || is_writable($file))) {
chmod($file,octdec(numClean($_GET['perms']))); $updateFM = false;
// Reload file manager // FTP
$doNext = 'top.ICEcoder.updateFileManagerList(\'chmod\',\''.$fileLoc.'\',\''.$fileName.'\',\''.numClean($_GET['perms']).'\');'; if (isset($ftpSite)) {
$ftpFilepath = ltrim($fileLoc."/".$fileName,"/");
if (!ftpPerms($ftpConn, octdec(numClean($_GET['perms'])), $ftpFilepath)) {
$doNext .= 'top.ICEcoder.message("Sorry, could not set perms on '.$ftpFilepath.' at '.$ftpHost.'");';
} else {
$updateFM = true;
}
// Local
} else {
chmod($file,octdec(numClean($_GET['perms'])));
// Reload file manager
$updateFM = true;
}
// Update file manager on success
if ($updateFM) {
$doNext .= 'top.ICEcoder.updateFileManagerList(\'chmod\',\''.$fileLoc.'\',\''.$fileName.'\',\''.numClean($_GET['perms']).'\');';
}
$finalAction = "perms"; $finalAction = "perms";
// Run our custom processes // Run our custom processes
include_once("../processes/on-file-dir-perms.php"); include_once("../processes/on-file-dir-perms.php");
} else { } else {
$finalAction = "nothing"; $finalAction = "nothing";
$doNext = "top.ICEcoder.message('".$t['Sorry, cannot change...']." \\n".strClean($file)."');"; $doNext .= "top.ICEcoder.message('".$t['Sorry, cannot change...']." \\n".strClean($file)."');";
} }
$doNext .= 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);'; $doNext .= 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);';
}; };
@@ -652,7 +946,7 @@ if (!isset($ftpSite) && !$error && $_GET['action']=="checkExists") {
// This action is called under seperate AJAX call and the responseText object stored in top.ICEcoder.lastFileDirCheckStatusObj // This action is called under seperate AJAX call and the responseText object stored in top.ICEcoder.lastFileDirCheckStatusObj
// Nothing really done here though, we do something with the responseText // Nothing really done here though, we do something with the responseText
$finalAction = "checkExists"; $finalAction = "checkExists";
$doNext = 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);'; $doNext .= 'top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);';
}; };
// =================== // ===================
@@ -660,30 +954,52 @@ if (!isset($ftpSite) && !$error && $_GET['action']=="checkExists") {
// =================== // ===================
// No $filemtime yet? Get it now! // No $filemtime yet? Get it now!
if (!isset($filemtime)) { if (!isset($filemtime) && !is_dir($file)) {
$filemtime = $serverType=="Linux" ? filemtime($file) : "1000000"; $filemtime = $serverType=="Linux" ? filemtime($file) : "1000000";
} }
// Set $timeStart, use 0 if not available // Set $timeStart, use 0 if not available
$timeStart = isset($_POST["timeStart"]) ? $_POST["timeStart"] : 0; $timeStart = isset($_POST["timeStart"]) ? numClean($_POST["timeStart"]) : 0;
if ($timeStart == "") {
$timeStart = 0;
}
if (isset($ftpSite)) {
// Get info on dir/file now
$ftpFileDirInfo = ftpGetFileInfo($ftpConn, ltrim($fileLoc,"/"), $fileName);
// End the connection
ftpEnd();
// Then set info
$itemAbsPath = $ftpRoot.$fileLoc.'/'.$fileName;
$itemPath = dirname($ftpRoot.$fileLoc.'/'.$fileName);
$itemBytes = $ftpFileDirInfo['size'];
$itemType = (isset($ftpFileDirInfo['type']) ? ($ftpFileDirInfo['type'] == "directory" ? "dir" : "file") : "unknown");
$itemExists = (isset($ftpFileDirInfo['type']) ? "true" : "false");
} else {
$itemAbsPath = $file;
$itemPath = dirname($file);
$itemBytes = is_dir($file) ? null : filesize($file);
$itemType = (file_exists($file) ? (is_dir($file) ? "dir" : "file") : "unknown");
$itemExists = (file_exists($file) ? "true" : "false");
}
echo '{ echo '{
"file": { "file": {
"absPath": "'.$file.'", "absPath": "'.$itemAbsPath.'",
"relPath": "'.$fileLoc.'/'.$fileName.'", "relPath": "'.$fileLoc.'/'.$fileName.'",
"name": "'.$fileName.'", "name": "'.$fileName.'",
"path": "'.dirname($file).'", "path": "'.$itemPath.'",
"bytes": "'.filesize($file).'", "bytes": "'.$itemBytes.'",
"modifiedDT": "'.$filemtime.'", "modifiedDT": "'.$filemtime.'",
"type": "'.(file_exists($file) ? (is_dir($file) ? "dir" : "file") : "unknown").'", "type": "'.$itemType.'",
"exists": '.(file_exists($file) ? "true" : "false").' "exists": '.$itemExists.'
}, },
"action": { "action": {
"initial" : "'.$_GET["action"].'", "initial" : "'.xssClean($_GET['action'],"html").'",
"final" : "'.$finalAction.'", "final" : "'.$finalAction.'",
"timeStart": '.$timeStart.', "timeStart": '.$timeStart.',
"timeEnd": 0, "timeEnd": 0,
"timeTaken": 0, "timeTaken": 0,
"csrf": "'.$_GET["csrf"].'", "csrf": "'.xssClean($_GET['csrf'],"html").'",
"doNext" : "'.preg_replace('/\r|\n/','',str_replace(' ','',str_replace('"','\"',$doNext))).'top.ICEcoder.switchMode();" "doNext" : "'.preg_replace('/\r|\n/','',str_replace(' ','',str_replace('"','\"',$doNext))).'top.ICEcoder.switchMode();"
}, },
"status": { "status": {
@@ -692,4 +1008,6 @@ echo '{
"errorMsg" : "'.$errorMsg.'" "errorMsg" : "'.$errorMsg.'"
} }
}'; }';
?>
// Set timestamp of last index to 0 to force a re-index next time we index
requireReIndexNextTime();

View File

@@ -59,7 +59,7 @@ for ($i=0; $i<count($allFiles); $i++) {
// Or a remote URL that doesn't start http // Or a remote URL that doesn't start http
($_GET['action']=="getRemoteFile" && strpos($allFiles[$i],"http") !== 0) ($_GET['action']=="getRemoteFile" && strpos($allFiles[$i],"http") !== 0)
) { ) {
die("alert('Sorry! - problem with file requested');</script>"); die("top.ICEcoder.message('Sorry! - problem with file requested');</script>");
}; };
} }
@@ -67,7 +67,15 @@ for ($i=0; $i<count($allFiles); $i++) {
if ($_GET['action']=="load") { if ($_GET['action']=="load") {
echo 'action="load";'; echo 'action="load";';
$lineNumber = max(isset($_REQUEST['lineNumber'])?intval($_REQUEST['lineNumber']):1, 1); $lineNumber = max(isset($_REQUEST['lineNumber'])?intval($_REQUEST['lineNumber']):1, 1);
if (isset($ftpSite) || file_exists($file)) { // Check this file isn't on the banned list at all
$canOpen = true;
for ($i=0;$i<count($_SESSION['bannedFiles']);$i++) {
if(str_replace("*","",$_SESSION['bannedFiles'][$i]) != "" && strpos($file,str_replace("*","",$_SESSION['bannedFiles'][$i]))!==false) {$canOpen = false;}
}
if (!$canOpen) {
echo 'fileType="nothing"; top.ICEcoder.message(\''.$t['Sorry, could not...'].' '.$fileLoc."/".$fileName.'\');';
} elseif (isset($ftpSite) || file_exists($file)) {
$finfo = "text"; $finfo = "text";
// Determine what to do based on mime type // Determine what to do based on mime type
if (!isset($ftpSite) && function_exists('finfo_open')) { if (!isset($ftpSite) && function_exists('finfo_open')) {
@@ -86,24 +94,29 @@ if ($_GET['action']=="load") {
// Get file over FTP? // Get file over FTP?
if (isset($ftpSite)) { if (isset($ftpSite)) {
// Establish connection, result, maybe use pasv and alert error if no good connection ftpStart();
$ftpConn = ftp_connect($ftpHost); // Show user warning if no good connection
$ftpLogin = ftp_login($ftpConn, $ftpUser, $ftpPass);
if ($ftpPasv) {
ftp_pasv($ftpConn, true);
}
if (!$ftpConn || !$ftpLogin) { if (!$ftpConn || !$ftpLogin) {
die('alert("Sorry, no FTP connection to '.$ftpHost.' for user '.$ftpUser.'");top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);</script>'); die('top.ICEcoder.message("Sorry, no FTP connection to '.$ftpHost.' for user '.$ftpUser.'");top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);</script>');
exit; exit;
} }
// Get our file contents and close the FTP connection // Get our file contents and close the FTP connection
$loadedFile = toUTF8noBOM(ftpGetContents($ftpConn, $ftpRoot.$fileLoc."/".$fileName, $ftpMode)); $loadedFile = toUTF8noBOM(ftpGetContents($ftpConn, $ftpRoot.$fileLoc."/".$fileName, $ftpMode),false);
ftp_close($ftpConn); ftpEnd();
// Get local file // Get local file
} else { } else {
$loadedFile = toUTF8noBOM(file_get_contents($file,false,$context),true); $loadedFile = toUTF8noBOM(getData($file),true);
} }
echo '</script><textarea name="loadedFile" id="loadedFile">'.htmlentities($loadedFile).'</textarea><script>'; $encoding=ini_get("default_charset");
if($encoding=="") {
$encoding="UTF-8";
}
// Get content and set HTML entities on it according to encoding
$loadedFile = htmlentities($loadedFile,ENT_COMPAT,$encoding);
// Remove \r chars and replace \n with carriage return HTML entity char
$loadedFile = preg_replace('/\\r/','',$loadedFile);
$loadedFile = preg_replace('/\\n/','&#13;',$loadedFile);
echo '</script><textarea name="loadedFile" id="loadedFile">'.$loadedFile.'</textarea><script>';
// Run our custom processes // Run our custom processes
include_once("../processes/on-file-load.php"); include_once("../processes/on-file-load.php");
} else if (strpos($finfo,"image")===0) { } else if (strpos($finfo,"image")===0) {
@@ -176,6 +189,7 @@ if (action=="load") {
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.ICEcoder.savedPoints[top.ICEcoder.selectedTab-1] = cM.changeGeneration();
top.ICEcoder.savedContents[top.ICEcoder.selectedTab-1] = cM.getValue();
top.document.getElementById('content').style.visibility='visible'; top.document.getElementById('content').style.visibility='visible';
top.ICEcoder.switchTab(top.ICEcoder.selectedTab,'noFocus'); top.ICEcoder.switchTab(top.ICEcoder.selectedTab,'noFocus');
setTimeout(function(){top.ICEcoder.filesFrame.contentWindow.focus();},0); setTimeout(function(){top.ICEcoder.filesFrame.contentWindow.focus();},0);
@@ -186,9 +200,11 @@ if (action=="load") {
top.ICEcoder['cMActiveLinecM'+top.ICEcoder.selectedTab] = top.ICEcoder.content.contentWindow['cM'+top.ICEcoder.cMInstances[top.ICEcoder.selectedTab-1]].addLineClass(0, "background", "cm-s-activeLine"); top.ICEcoder['cMActiveLinecM'+top.ICEcoder.selectedTab] = top.ICEcoder.content.contentWindow['cM'+top.ICEcoder.cMInstances[top.ICEcoder.selectedTab-1]].addLineClass(0, "background", "cm-s-activeLine");
top.ICEcoder.nextcMInstance++; top.ICEcoder.nextcMInstance++;
top.ICEcoder.openFileMDTs.push('<?php echo $serverType=="Linux" ? filemtime($file) : "1000000"; ?>'); top.ICEcoder.openFileMDTs.push('<?php echo $serverType=="Linux" ? filemtime($file) : "1000000"; ?>');
for (var i=0; i<cM.lineCount(); i++) { top.ICEcoder.openFileVersions.push(<?php
top.ICEcoder.content.contentWindow.CodeMirror.doFold(cM.getLine(i).indexOf("{")>-1?"brace":"xml",null,"+","-",true)(cM, i); $fileCountInfo = getVersionsCount($fileLoc,$fileName);
} echo $fileCountInfo['count'];?>);
top.ICEcoder.updateVersionsDisplay();
top.ICEcoder.goToLine(<?php echo $lineNumber; ?>); top.ICEcoder.goToLine(<?php echo $lineNumber; ?>);
top.ICEcoder.loadingFile = false; top.ICEcoder.loadingFile = false;
<?php <?php
@@ -202,15 +218,18 @@ if (action=="load") {
top.document.getElementById('blackMask').style.visibility = "visible"; top.document.getElementById('blackMask').style.visibility = "visible";
top.document.getElementById('mediaContainer').innerHTML = top.document.getElementById('mediaContainer').innerHTML =
"<canvas id=\"canvasPicker\" width=\"1\" height=\"1\" style=\"position: absolute; margin: 10px 0 0 10px; cursor: crosshair\" onmouseover=\"top.ICEcoder.overPopup=true\" onmouseout=\"top.ICEcoder.overPopup=false\"></canvas>" + "<canvas id=\"canvasPicker\" width=\"1\" height=\"1\" style=\"position: absolute; margin: 10px 0 0 10px; cursor: crosshair\" onmouseover=\"top.ICEcoder.overPopup=true\" onmouseout=\"top.ICEcoder.overPopup=false\"></canvas>" +
"<img src=\"<?php echo (isset($ftpSite) ? $ftpSite : "").$fileLoc."/".$fileName;?>\" class=\"whiteGlow\" style=\"border: solid 10px #fff; max-width: 700px; max-height: 500px; background-color: #000; background-image: url('images/checkerboard.png')\" onLoad=\"reducedImgMsg = (this.naturalWidth > 700 || this.naturalHeight > 500) ? ', <?php echo $t['displayed at']; ?> ' + this.width + ' x ' + this.height : ''; document.getElementById('imgInfo').innerHTML += ' (' + this.naturalWidth + ' x ' + this.naturalHeight + reducedImgMsg + ')'; top.ICEcoder.initCanvasImage(this); top.ICEcoder.interactCanvasImage(this)\"><br>" + "<img src=\"<?php echo (isset($ftpSite) ? $ftpSite : "").$fileLoc."/".$fileName."?unique=".microtime(true);?>\" class=\"whiteGlow\" style=\"border: solid 10px #fff; max-width: 700px; max-height: 500px; background-color: #000; background-image: url('images/checkerboard.png')\" onLoad=\"reducedImgMsg = (this.naturalWidth > 700 || this.naturalHeight > 500) ? ', <?php echo $t['displayed at']; ?> ' + this.width + ' x ' + this.height : ''; document.getElementById('imgInfo').innerHTML += ' (' + this.naturalWidth + ' x ' + this.naturalHeight + reducedImgMsg + ')'; top.ICEcoder.initCanvasImage(this); top.ICEcoder.interactCanvasImage(this)\"><br>" +
"<div class=\"whiteGlow\" style=\"display: inline-block; margin-top: -10px; border: solid 10px #fff; color: #000; background-color: #fff\" id=\"imgInfo\" onmouseover=\"top.ICEcoder.overPopup=true\" onmouseout=\"top.ICEcoder.overPopup=false\">" + "<div class=\"whiteGlow\" style=\"display: inline-block; margin-top: -10px; border: solid 10px #fff; color: #000; background-color: #fff\" id=\"imgInfo\" onmouseover=\"top.ICEcoder.overPopup=true\" onmouseout=\"top.ICEcoder.overPopup=false\">" +
"<b><?php echo $fileLoc."/".$fileName;?></b>" + "<b><?php echo $fileLoc."/".$fileName;?></b>" +
"</div><br>" + "</div><br>" +
"<div id=\"canvasPickerColorInfo\">"+
"<input type=\"text\" id=\"hexMouseXY\" style=\"border: 1px solid #888; border-right: 0; width: 70px\" onmouseover=\"top.ICEcoder.overPopup=true\" onmouseout=\"top.ICEcoder.overPopup=false\"></input>" + "<input type=\"text\" id=\"hexMouseXY\" style=\"border: 1px solid #888; border-right: 0; width: 70px\" onmouseover=\"top.ICEcoder.overPopup=true\" onmouseout=\"top.ICEcoder.overPopup=false\"></input>" +
"<input type=\"text\" id=\"rgbMouseXY\" style=\"border: 1px solid #888; margin-right: 10px; width: 70px\" onmouseover=\"top.ICEcoder.overPopup=true\" onmouseout=\"top.ICEcoder.overPopup=false\"></input>" + "<input type=\"text\" id=\"rgbMouseXY\" style=\"border: 1px solid #888; margin-right: 10px; width: 70px\" onmouseover=\"top.ICEcoder.overPopup=true\" onmouseout=\"top.ICEcoder.overPopup=false\"></input>" +
"<input type=\"text\" id=\"hex\" style=\"border: 1px solid #888; border-right: 0; width: 70px\" onmouseover=\"top.ICEcoder.overPopup=true\" onmouseout=\"top.ICEcoder.overPopup=false\"></input>" + "<input type=\"text\" id=\"hex\" style=\"border: 1px solid #888; border-right: 0; width: 70px\" onmouseover=\"top.ICEcoder.overPopup=true\" onmouseout=\"top.ICEcoder.overPopup=false\"></input>" +
"<input type=\"text\" id=\"rgb\" style=\"border: 1px solid #888; width: 70px\" onmouseover=\"top.ICEcoder.overPopup=true\" onmouseout=\"top.ICEcoder.overPopup=false\"></input>"; "<input type=\"text\" id=\"rgb\" style=\"border: 1px solid #888; width: 70px\" onmouseover=\"top.ICEcoder.overPopup=true\" onmouseout=\"top.ICEcoder.overPopup=false\"></input>"+
top.document.getElementById('floatingContainer').style.background = "#fff url('<?php echo $fileLoc."/".$fileName;?>') no-repeat 0 0"; "</div>"+
"<div id=\"canvasPickerCORSInfo\" style=\"display: none; padding-top: 4px\">CORS not enabled on resource site</div>";
top.document.getElementById('floatingContainer').style.background = "#fff url('<?php echo $fileLoc."/".$fileName."?unique=".microtime(true);?>') no-repeat 0 0";
} }
top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0); top.ICEcoder.serverMessage();top.ICEcoder.serverQueue("del",0);
@@ -218,4 +237,4 @@ if (action=="load") {
// Finally, switch mode in case we have saved, renamed file etc // Finally, switch mode in case we have saved, renamed file etc
top.ICEcoder.switchMode(); top.ICEcoder.switchMode();
</script> </script>

View File

@@ -20,10 +20,10 @@
.fileManager LI.ext-png:before {background-position: -336px 0} .fileManager LI.ext-png:before {background-position: -336px 0}
.fileManager LI.ext-py:before {background-position: -352px 0} .fileManager LI.ext-py:before {background-position: -352px 0}
.fileManager LI.ext-rb:before, .fileManager LI.ext-ruby:before {background-position: -368px 0} .fileManager LI.ext-rb:before, .fileManager LI.ext-ruby:before {background-position: -368px 0}
.fileManager LI.ext-rs:before {background-position: -384px 0} .fileManager LI.ext-scss:before {background-position: -384px 0}
.fileManager LI.ext-scss:before {background-position: -400px 0} .fileManager LI.ext-sql:before {background-position: -400px 0}
.fileManager LI.ext-sql:before {background-position: -416px 0} .fileManager LI.ext-txt:before {background-position: -416px 0}
.fileManager LI.ext-txt:before {background-position: -432px 0} .fileManager LI.ext-ts:before {background-position: -432px 0}
.fileManager LI.ext-xml:before {background-position: -448px 0} .fileManager LI.ext-xml:before {background-position: -448px 0}
.fileManager LI.ext-yaml:before {background-position: -464px 0} .fileManager LI.ext-yaml:before {background-position: -464px 0}
.fileManager LI.ext-zip:before {background-position: -480px 0} .fileManager LI.ext-zip:before {background-position: -480px 0}

View File

@@ -9,17 +9,11 @@
.fileManager span {font-family: helvetica, arial, swiss, verdana; padding: 1px 3px; border-radius: 3px} .fileManager span {font-family: helvetica, arial, swiss, verdana; padding: 1px 3px; border-radius: 3px}
.fileManager a {color: #eee; text-decoration: none; cursor: pointer} .fileManager a {color: #eee; text-decoration: none; cursor: pointer}
.fileManager .pft-directory, .fileManager .pft-file {list-style-image: url(../images/blank.gif)} .fileManager .pft-directory, .fileManager .pft-file {list-style-image: url(../images/blank.gif)}
.fileManager ul, .fileManager li {margin-left: 15px} .fileManager ul, .fileManager li {margin-left: 15px; white-space: nowrap}
/* Default file */ /* Default file */
.fileManager LI.pft-directory:before, .fileManager LI.pft-file:before { .fileManager LI.pft-directory:before, .fileManager LI.pft-file:before {
position: absolute; display: block; width: 16px; height: 16px; content: ""; margin-top: -2px; margin-left: -20px; background:url(../images/file-folder-icons.png) no-repeat 0 0; position: absolute; width: 16px; height: 16px; content: ""; margin-top: -2px; margin-left: -20px; background:url(../images/file-folder-icons.png) no-repeat 0 0;
} }
.fileManager LI.dirOpen:before {background-position: -16px 0} .fileManager LI.dirOpen:before {background-position: -16px 0}
.fileManager LI.pft-file:before {background-position: -32px 0}
@media screen and (-webkit-min-device-pixel-ratio:0) { /* hacked for chrome and safari */
.fileManager LI.pft-directory:before, .fileManager LI.pft-file:before {
margin-top: -19px;
}
}
.fileManager LI.pft-file:before {background-position: -32px 0}

View File

@@ -17,6 +17,10 @@ table, caption, tbody, tfoot, thead, tr, th, td {
vertical-align: top; vertical-align: top;
} }
::-webkit-scrollbar {width: 12px; height: 12px}
::-webkit-scrollbar-thumb {background: rgba(0,198,255,0.1)}
::-webkit-scrollbar-corner, ::-webkit-scrollbar-resizer {background: transparent}
body {margin: 0; overflow: auto; body {margin: 0; overflow: auto;
-webkit-user-select: none; -webkit-user-select: none;
-moz-user-select: none; -moz-user-select: none;
@@ -34,4 +38,5 @@ body {margin: 0; overflow: auto;
-moz-user-select: none; -moz-user-select: none;
-ms-user-select: none; -ms-user-select: none;
user-select: none; user-select: none;
} }
li a span:first-of-type {white-space: pre}

View File

@@ -1,55 +0,0 @@
// Modified version of CodeMirror's codefold.js to show guttermarkers
CodeMirror.doFold = function(foldType, widget, markOn, markOff, dontCollapse) {
if (widget == null) widget = "\u2194";
if (typeof widget == "string") {
var text = document.createTextNode(widget);
widget = document.createElement("span");
widget.appendChild(text);
widget.className = "CodeMirror-foldmarker";
}
if (markOn == null) markOn = "+";
if (typeof markOn == "string") {
var text = document.createTextNode(markOn);
markOn = document.createElement("span");
markOn.appendChild(text);
markOn.className = "fold foldOn";
}
if (markOff == null) markOff = "-";
if (typeof markOff == "string") {
var text = document.createTextNode(markOff);
markOff = document.createElement("span");
markOff.appendChild(text);
markOff.className = "fold foldOff";
}
return function(cm, pos) {
if (typeof pos == "number") pos = CodeMirror.Pos(pos, 0);
var range = CodeMirror.fold[foldType](cm, pos);
foldable = range && (range.from.line != range.to.line || range.from.ch != range.to.ch) ? true : false;
if (!foldable) cm.setGutterMarker(pos.line, "folds", null);
if (!range) return;
var present = cm.findMarksAt(range.from), cleared = 0;
for (var i = 0; i < present.length; ++i) {
if (present[i].__isFold) {
++cleared;
present[i].clear();
}
}
if (foldable) {
cm.setGutterMarker(pos.line, "folds", cleared || dontCollapse ? markOff.cloneNode(true) : markOn.cloneNode(true));
}
if (cleared || dontCollapse) return;
var myWidget = widget.cloneNode(true);
CodeMirror.on(myWidget, "mousedown", function() {myRange.clear();cm.setGutterMarker(pos.line, "folds", markOff.cloneNode(true));});
var myRange = cm.markText(range.from, range.to, {
replacedWith: myWidget,
clearOnEnter: true,
__isFold: true
});
};
};

View File

@@ -1,4 +1,23 @@
<?php <?php
// Start a FTP connection
function ftpStart() {
global $ftpConn, $ftpLogin, $ftpHost, $ftpUser, $ftpPass, $ftpPasv;
// Establish connection, login and maybe use pasv
$ftpConn = ftp_connect($ftpHost);
$ftpLogin = ftp_login($ftpConn, $ftpUser, $ftpPass);
if ($ftpPasv) {
ftp_pasv($ftpConn, true);
}
}
// End a FTP connection
function ftpEnd() {
global $ftpConn;
ftp_close($ftpConn);
}
// Get dir/file lists (simple and detailed) from FTP detailed rawlist response // Get dir/file lists (simple and detailed) from FTP detailed rawlist response
function ftpGetList($ftpConn, $directory = '.') { function ftpGetList($ftpConn, $directory = '.') {
$simpleList = $detailedList = array(); $simpleList = $detailedList = array();
@@ -21,6 +40,19 @@ function ftpGetList($ftpConn, $directory = '.') {
return false; return false;
} }
// Get detailed info on a file from returned info from ftpGetList
function ftpGetFileInfo($ftpConn, $directory = '.', $fileName) {
// Get both sets of arrays back and get our detailed list
$ftpListArrays = ftpGetList($ftpConn, $directory);
$detailedList = $ftpListArrays['detailedList'];
// Now get the file info for our file
$fileInfo = $detailedList[$fileName];
// Return the info
return $fileInfo;
}
// Get contents over FTP // Get contents over FTP
function ftpGetContents($ftpConn, $filepath, $ftpMode) { function ftpGetContents($ftpConn, $filepath, $ftpMode) {
// Create temp handler, this type needed for extended char set // Create temp handler, this type needed for extended char set
@@ -45,4 +77,38 @@ function ftpWriteFile($ftpConn, $filepath, $contents, $ftpMode) {
// Write our content and return true/false // Write our content and return true/false
return ftp_fput($ftpConn, $filepath, $tempHandle, $ftpMode, 0); return ftp_fput($ftpConn, $filepath, $tempHandle, $ftpMode, 0);
} }
?>
// Make a new dir over FTP
function ftpMkDir($ftpConn, $perms, $dir) {
// Create the new dir
if (!ftp_mkdir($ftpConn, $dir)) {
return false;
} else {
// Also then set perms (we must be able to do that if we created dir, so can always return true)
ftpPerms($ftpConn, $perms, $dir);
return true;
}
}
// Rename a dir/dile over FTP
function ftpRename($ftpConn, $oldPath, $newPath) {
// Return success status of rename
return ftp_rename($ftpConn, $oldPath, $newPath);
}
// Change dir/file perms over FTP
function ftpPerms($ftpConn, $perms, $filePath) {
// Return success status of perms change
return ftp_chmod($ftpConn, $perms, $filePath);
}
// Delete dir/file over FTP
function ftpDelete($ftpConn, $type, $path) {
if ($type == "file") {
// Delete our file and return true/false
return ftp_delete($ftpConn, $path);
} else {
// Delete our dir and return true/false
return ftp_rmdir($ftpConn, $path);
}
}

37
lib/ftp-manager.css Normal file
View File

@@ -0,0 +1,37 @@
/* First, reset everything to a standard */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
border: 0;
margin: 0;
padding: 0;
outline: 0;
font-size: 12px;
vertical-align: top;
}
body {overflow: hidden;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
h1 {font-size: 36px; font-weight: normal; color: #888; margin-bottom: 20px}
a {color: #2187e7; text-decoration: none}
input {padding: 4px; border: 1px solid #555; background-color: #444; color: #fff}
input:focus {
outline: none;
-webkit-box-shadow: 0 0 10px 1px rgba(0,198,255,0.7);
-moz-box-shadow: 0 0 10px 1px rgba(0,198,255,0.7);
box-shadow: 0 0 10px 1px rgba(0,198,255,0.7);
}
.ftpManager {font-family: arial, verdana, helvetica, sans-serif; background-color: #1c1c19; color: #fff; padding: 20px}
.ftpManager .info {font-size: 10px; color: rgba(0,198,255,0.7); cursor: help}

212
lib/ftp-manager.php Normal file
View File

@@ -0,0 +1,212 @@
<?php
include("headers.php");
include("settings.php");
$t = $text['ftp-manager'];
// If we have an action to perform
if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset($_GET['action'])) {
// Get our old FTP sites & user settings
$oldFTPSites = $ICEcoder["ftpSites"];
$settingsContents = getData("../data/".$settingsFile);
// ========
// CHOOSING
// ========
if ($_GET['action']=="choose") {
// Set the site ref in session, hide the popup and reload the file manager
$_SESSION['ftpSiteRef'] = numClean($_GET['ftpSiteRef']);
// Hide this popup and reload file manager
echo "<script>top.ICEcoder.showHide('hide',top.document.getElementById('blackMask'));top.ICEcoder.refreshFileManager();</script>";
} else {
// Start creating a new chunk for the FTP sites
$settingsNew = '"ftpSites" => array(
';
}
// ======
// ADDING
// ======
if ($_GET['action']=="add") {
// Add the new FTP site
if ($_POST['ftpSiteNEW'] != "") {
$settingsNew .= ' array(
"site" => "'.injClean($_POST['ftpSiteNEW']).'",
"host" => "'.injClean($_POST['ftpHostNEW']).'",
"user" => "'.injClean($_POST['ftpUserNEW']).'",
"pass" => "'.injClean($_POST['ftpPassNEW']).'",
"pasv" => '.injClean($_POST['ftpPASVNEW']).',
"mode" => "'.injClean($_POST['ftpModeNEW']).'",
"root" => "'.injClean($_POST['ftpRootNEW']).'"
),
';
}
}
// ===============================================
// UPDATING & REMOVING PLUS UPDATE CONFIG SETTINGS
// ===============================================
if ($_GET['action']!="choose" && $_GET['action']!="edit") {
// Look at each of the existing FTP sites
for ($i=0; $i<count($oldFTPSites); $i++) {
// Updating
if ($_GET['action']=="update" && $i == $_GET['ftpSiteRef']) {
$settingsNew .= ' array(
"site" => "'.injClean($_POST['ftpSiteNEW']).'",
"host" => "'.injClean($_POST['ftpHostNEW']).'",
"user" => "'.injClean($_POST['ftpUserNEW']).'",
"pass" => "'.injClean($_POST['ftpPassNEW']).'",
"pasv" => '.injClean($_POST['ftpPASVNEW']).',
"mode" => "'.injClean($_POST['ftpModeNEW']).'",
"root" => "'.injClean($_POST['ftpRootNEW']).'"
),
';
// Deleting
} elseif ($_GET['action']=="remove" && $i == $_GET['ftpSiteRef']) {
// Do nothing, so we ignore this entry now
// Entry is as before
} else {
$settingsNew .= ' array(
"site" => "'.$oldFTPSites[$i]['site'].'",
"host" => "'.$oldFTPSites[$i]['host'].'",
"user" => "'.$oldFTPSites[$i]['user'].'",
"pass" => "'.$oldFTPSites[$i]['pass'].'",
"pasv" => '.($oldFTPSites[$i]['pasv'] ? 'true' : 'false').',
"mode" => "'.($oldFTPSites[$i]['mode'] == 'FTP_ASCII' ? 'FTP_ASCII' : 'FTP_BINARY').'",
"root" => "'.$oldFTPSites[$i]['root'].'"
),
';
}
}
// Rtrim off the last comma
$settingsNew = rtrim($settingsNew,',
');
$settingsNew .= '
),'.PHP_EOL;
// Now we have a new settingsNew string to use
// we can update the FTP sites in the settings file
// Identify the bit to replace
$repPosStart = strpos($settingsContents,'"ftpSites"');
$repPosEnd = strpos($settingsContents,'"githubLocalPaths"');
// Compile our new settings
$settingsContents = substr($settingsContents,0,$repPosStart).$settingsNew.substr($settingsContents,$repPosEnd,strlen($settingsContents));
// Now update the config file
if (is_writeable("../data/".$settingsFile)) {
$fh = fopen("../data/".$settingsFile, 'w');
fwrite($fh, "../data/".$settingsContents);
fclose($fh);
// Finally, reload the iFrame screen for the user
header("Location: ftp-manager.php?updatedFTPSites&csrf=".$_SESSION["csrf"]);
echo "<script>window.location='ftp-manager.php?updatedFTPSites&csrf='+top.ICEcoder.csrf;</script>";
die($t['Saving FTP sites']);
} else {
echo "<script>top.ICEcoder.message('".$t['Cannot update config...']." data/".$settingsFile." ".$t['and try again']."');</script>";
}
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>ICEcoder <?php echo $ICEcoder["versionNo"];?> FTP manager</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="robots" content="noindex, nofollow">
<link rel="stylesheet" type="text/css" href="ftp-manager.css?microtime=<?php echo microtime(true);?>">
</head>
<body class="ftpManager">
<h1><?php echo $t['ftp manager'];?></h1>
<div style="display: inline-block; width: 620px; height: 440px; overflow-y: auto">
<?php
$ftpSites = $ICEcoder['ftpSites'];
if (count($ftpSites) > 0) {
?>
<div style="display: inline-block; width: 600px; margin-bottom: 30px">
<h2><?php echo $t['Choose existing site'];?></h2><br>
<form id="ftpUpdateForm" action="ftp-manager.php?action=update" method="POST">
<table style="width: 100%">
<?php
for ($i=0; $i<count($ftpSites); $i++) {
echo '<tr>';
echo '<td style="padding: 10px 10px 8px 0">'.$ftpSites[$i]['site'].'</td>';
echo '<td style="padding: 10px 10px 8px 0">'.$ftpSites[$i]['host'].'</td>';
echo '<td style="padding: 10px 10px 8px 0"><a href="ftp-manager.php?action=edit&ftpSiteRef='.$i.'&csrf='.$_SESSION["csrf"].'" class="blue">Edit</a></td>';
echo '<td style="padding: 10px 10px 8px 0"><a href="ftp-manager.php?action=remove&ftpSiteRef='.$i.'&csrf='.$_SESSION["csrf"].'" class="blue" onclick="return top.ICEcoder.ask(\''.$t['Are you sure...'].'\')">Delete</a></td>';
echo '<td style="padding: 2px 20px 8px 0; text-align: right"><div style="display: inline-block; padding: 5px; margin-top: 4px; background: #2187e7; color: #fff; font-size: 12px; cursor: pointer" onclick="window.location=\'ftp-manager.php?action=choose&ftpSiteRef='.$i.'&csrf='.$_SESSION["csrf"].'\'">'.$t['Choose'].'</div></td>';
echo '</tr>';
}
?>
</table>
<input type="hidden" name="csrf" value="<?php echo $_SESSION["csrf"]; ?>">
</form>
</div>
<?php
}
?>
<div style="display: inline-block; width: 600px">
<h2><?php echo isset($_GET['action']) && $_GET['action']=="edit" ? $t['Edit site'] : $t['Add new site'];?></h2><br>
<form id="ftpAddEditForm" action="ftp-manager.php?action=<?php echo isset($_GET['action']) && $_GET['action']=="edit" ? "update&ftpSiteRef=".numClean($_GET['ftpSiteRef']) : "add";?>" method="POST">
<table>
<tr>
<td style="padding-left: 5px"><?php echo $t['Site base'];?> <span class="info" title="<?php echo $t['eg http://yourdomain.com'];?>">[?]</span></td>
<td style="padding-left: 5px"><?php echo $t['Host'];?> <span class="info" title="<?php echo $t['eg ftp.yourdomain.com'];?>">[?]</span></td>
</tr>
<tr>
<td style="padding: 0 10px 8px 0"><input type="text" name="ftpSiteNEW" value="<?php if (isset($_GET['action']) && $_GET['action']=="edit") {echo $ICEcoder['ftpSites'][numClean($_GET['ftpSiteRef'])]['site'];};?>" style="width: 272px"></td>
<td style="padding: 0 0 8px 0"><input type="text" name="ftpHostNEW" value="<?php if (isset($_GET['action']) && $_GET['action']=="edit") {echo $ICEcoder['ftpSites'][numClean($_GET['ftpSiteRef'])]['host'];};?>" style="width: 272px"></td>
</tr>
<tr>
<td style="padding-left: 5px"><?php echo $t['Username'];?> <span class="info" title="<?php echo $t['eg user123'];?>">[?]</span></td>
<td style="padding-left: 5px"><?php echo $t['Password'];?> <span class="info" title="<?php echo $t['eg pass123'];?>">[?]</span></td>
</tr>
<tr>
<td style="padding: 0 10px 8px 0"><input type="text" name="ftpUserNEW" value="<?php if (isset($_GET['action']) && $_GET['action']=="edit") {echo $ICEcoder['ftpSites'][numClean($_GET['ftpSiteRef'])]['user'];};?>" style="width: 272px"></td>
<td style="padding: 0 0 8px 0"><input type="password" name="ftpPassNEW" value="<?php if (isset($_GET['action']) && $_GET['action']=="edit") {echo $ICEcoder['ftpSites'][numClean($_GET['ftpSiteRef'])]['pass'];};?>" style="width: 272px"></td>
</tr>
<tr>
<td style="padding-left: 5px"><?php echo $t['PASV and mode'];?> <span class="info" title="<?php echo $t['Use PASV mode...'];?>">[?]</span></td>
<td style="padding-left: 5px"><?php echo $t['Root'];?> <span class="info" title="<?php echo $t['eg /htdocs'];?>">[?]</span></td>
</tr>
<tr>
<td style="padding: 0 10px 8px 0">
<select name="ftpPASVNEW">
<option value="false"<?php echo isset($_GET['action']) && $_GET['action']=="edit" && $ICEcoder['ftpSites'][$_GET['ftpSiteRef']]['pasv'] == false ? " selected" : "";?>><?php echo $t['PASV connection off'];?></option>
<option value="true"<?php echo isset($_GET['action']) && $_GET['action']=="edit" && $ICEcoder['ftpSites'][$_GET['ftpSiteRef']]['pasv'] == true ? " selected" : "";?>><?php echo $t['PASV connection on'];?></option>
</select>
<select name="ftpModeNEW">
<option value="FTP_ASCII"<?php echo isset($_GET['action']) && $_GET['action']=="edit" && $ICEcoder['ftpSites'][$_GET['ftpSiteRef']]['mode'] == "FTP_ASCII" ? " selected" : "";?>><?php echo $t['ASCII transfer'];?></option>
<option value="FTP_BINARY"<?php echo isset($_GET['action']) && $_GET['action']=="edit" && $ICEcoder['ftpSites'][$_GET['ftpSiteRef']]['mode'] == "FTP_BINARY" ? " selected" : "";?>><?php echo $t['Binary transfer'];?></option>
</select>
</td>
<td style="padding: 0 0 8px 0"><input type="text" name="ftpRootNEW" value="<?php if (isset($_GET['action']) && $_GET['action']=="edit") {echo $ICEcoder['ftpSites'][numClean($_GET['ftpSiteRef'])]['root'];};?>" style="width: 272px"></td>
</tr>
<tr>
<td colspan="2" style="padding: 3px 0 8px 0; text-align: right"><div style="display: inline-block; padding: 5px; background: #2187e7; color: #fff; font-size: 12px; cursor: pointer" onclick="document.getElementById('ftpAddEditForm').submit()"><?php echo isset($_GET['action']) && $_GET['action']=="edit" ? $t['Update'] : $t['Add'];?></div></td>
</tr>
</table>
<input type="hidden" name="csrf" value="<?php echo $_SESSION["csrf"]; ?>">
</form>
</div>
</div>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More