/** * @action 'wp_enqueue_editor' */ function mce_localize($to_load) { if ($to_load['tinymce']) { $enabled_langs = (array) get_option('wprainbow_languages'); $langs = array((object) array('text' => __('- None -'), 'value' => '')); foreach (wprainbow_get_available_languages() as $name => $label) { if (in_array($name, $enabled_langs)) { $langs[] = (object) array('text' => $label, 'value' => $name); } } ?> <!-- TinyMCE Shortcode Plugin --> <script type='text/javascript'> var wprainbow = { 'l10n': { 'code_language': "<?php _e('Code Language', 'wp-rainbow-hilite'); ?> ", 'line_numbers': "<?php _e('Line Numbers', 'wp-rainbow-hilite'); ?> ", 'code_properties': "<?php _e('Code Properties', 'wp-rainbow-hilite'); ?> ", 'starting_line': "<?php _e('Starting Line', 'wp-rainbow-hilite'); ?> " }, 'languages' : <?php echo json_encode($langs); ?> , 'enable_line_numbering' : <?php echo get_option('wprainbow_line_numbers') ? 'true' : 'false'; ?> }; </script> <!-- TinyMCE Shortcode Plugin --> <?php } }
/** * Check selected languages against available languages * * @return array sanitized list of languages */ function sanitize_langs($langs) { $langs = array_map('trim', $langs); $available_langs = wprainbow_get_available_languages(); $sanitized_langs = array(); foreach ($langs as $i => $lang) { if (array_key_exists($lang, $available_langs)) { $sanitized_langs[] = $lang; } } return $sanitized_langs; }