diff --git a/htdocs/application/controllers/main.php b/htdocs/application/controllers/main.php index 45ca1aa..043b8e6 100755 --- a/htdocs/application/controllers/main.php +++ b/htdocs/application/controllers/main.php @@ -142,12 +142,12 @@ class Main extends CI_Controller //codemirror modes $cmm = array(); - foreach ($codemirror_languages as $l) + foreach ($codemirror_languages as $geshi_name => $l) { if (gettype($l) == 'array') { - $cmm[] = $l['mode']; + $cmm[$geshi_name] = $l['mode']; } } $data['codemirror_modes'] = $cmm; diff --git a/htdocs/application/views/view/view_footer.php b/htdocs/application/views/view/view_footer.php index f759940..a8ea5d1 100755 --- a/htdocs/application/views/view/view_footer.php +++ b/htdocs/application/views/view/view_footer.php @@ -1,5 +1,10 @@ load->view('defaults/footer_message.php'); ?> ' . json_encode($codemirror_modes) . ''; + +//stats $this->load->view('defaults/stats'); //Javascript @@ -19,8 +24,6 @@ if(isset($codemirror_languages[$lang_set]) && gettype($codemirror_languages[$lan $this->carabiner->group('codemirror', $codemirror_specific); $this->carabiner->display('codemirror'); - //codemirror modes - echo '
'; } ?> diff --git a/htdocs/static/js/codemirror_exec.js b/htdocs/static/js/codemirror_exec.js index 6e36e3d..a7227f2 100644 --- a/htdocs/static/js/codemirror_exec.js +++ b/htdocs/static/js/codemirror_exec.js @@ -1,16 +1,30 @@ var CM = window.CM || {} - CM.init = function() { - //CM.editor.toTextArea(); + CM.modes = $.parseJSON($('#codemirror_modes').text()); var lang = $('#lang').val(); - console.info(lang); + mode = CM.modes[lang]; + + $.get(base_url + 'main/get_cm_js/' + lang, + function(data) { + if (data != '') { + CM.set_syntax(mode); + } else { + CM.set_syntax(null); + } + }, + 'script'); +}; + +CM.set_syntax = function(mode) { if (typeof CM.editor == 'undefined') { CM.editor = CodeMirror.fromTextArea(document.getElementById('code'), { - mode: CM.mode, + mode: mode, lineNumbers: true, lineWrapping: true, }); + } else { + CM.editor.setOption('mode', mode); } }; @@ -19,9 +33,9 @@ $(document).ready(function() { $enable_codemirror.click(function() { CM.init(); $enable_codemirror.remove(); + $('#lang').change(function() { + CM.init(); + }); return false; }); - $('#lang').change(function() { - CM.init(); - }); });