Changeset 3024632
- Timestamp:
- 01/21/2024 03:29:55 AM (2 years ago)
- Location:
- sitespeaker-widget/trunk
- Files:
-
- 2 edited
-
main.js (modified) (4 diffs)
-
sitespeaker.php (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
sitespeaker-widget/trunk/main.js
r3024216 r3024632 1 1 (function($) { 2 var allVoices, apiKey, selectedLang, selectedVoice, testAudio = document.createElement("AUDIO");2 var allVoices, bootstrap, apiKey, selectedLang, selectedVoice, testAudio = document.createElement("AUDIO"); 3 3 $(onDomReady); 4 4 … … 7 7 selectedLang = $("#sitespeaker_lang").data("value") || ""; 8 8 selectedVoice = $("#sitespeaker_voice").data("value") || ""; 9 loadVoices().then(update);9 Promise.all([loadVoices(), loadBootstrap()]).then(update); 10 10 $("#sitespeaker_key").change(function() { 11 11 apiKey = this.value; … … 54 54 } 55 55 56 function loadBootstrap() { 57 return new Promise(function(fulfill) { 58 $.get("https://assets.readaloudwidget.com/embed/code.html", function(res) { 59 bootstrap = res; 60 fulfill(); 61 }) 62 }) 63 } 64 56 65 function update() { 57 66 var languages = Array.from(new Set(allVoices.map(function(voice) {return voice.lang}))).sort(); … … 80 89 $("#sitespeaker_voice").val(selectedVoice); 81 90 $("#sitespeaker_test").toggle(!!selectedVoice && selectedVoice != "free"); 91 92 var apiKey = $("#sitespeaker_key").val(); 93 if (apiKey && selectedLang && selectedVoice) { 94 var code = bootstrap 95 .replace("${key}", apiKey) 96 .replace("${lang}", selectedLang) 97 .replace("${voice}", selectedVoice); 98 $("#sitespeaker_code").val(code); 99 } 100 else { 101 $("#sitespeaker_code").val(""); 102 } 82 103 } 83 104 }) -
sitespeaker-widget/trunk/sitespeaker.php
r3024216 r3024632 4 4 * Plugin URI: http://readaloudwidget.com 5 5 * Description: Speechify your website with the SiteNarrator Text-to-Speech widget 6 * Version: 1. 86 * Version: 1.9 7 7 * Author: LSD Software 8 8 * Author URI: http://lsdsoftware.com … … 53 53 add_settings_field('sitespeaker_lang', 'Language', 'sitespeaker_settings_lang', 'sitespeaker_settings_page', 'sitespeaker_main_settings'); 54 54 add_settings_field('sitespeaker_voice', 'Voice', 'sitespeaker_settings_voice', 'sitespeaker_settings_page', 'sitespeaker_main_settings'); 55 add_settings_field('sitespeaker_code', 'Widget Code', 'sitespeaker_settings_code', 'sitespeaker_settings_page', 'sitespeaker_main_settings'); 55 56 } 56 57 … … 74 75 </p> 75 76 <p> 76 <label><input type='radio' name='sitespeaker_settings[mode]' value='manual' <?php checked($mode == 'manual') ?>> I will insert the widget myself (use the SiteNarrator block )</label>77 <label><input type='radio' name='sitespeaker_settings[mode]' value='manual' <?php checked($mode == 'manual') ?>> I will insert the widget myself (use the SiteNarrator block or the embed code)</label> 77 78 </p> 78 79 <?php … … 108 109 } 109 110 111 function sitespeaker_settings_code() { 112 $options = get_option('sitespeaker_settings'); 113 $code = htmlspecialchars($options['code']); 114 echo "<textarea id='sitespeaker_code' name='sitespeaker_settings[code]' cols='60' rows='8' placeholder='Please select all required parameters to see embed code'>{$code}</textarea>"; 115 } 116 110 117 function sitespeaker_settings_validate($input) { 111 118 $mode = trim($input['mode']); … … 113 120 $lang = trim($input['lang']); 114 121 $voice = trim($input['voice']); 122 $code = trim($input['code']); 115 123 116 124 if (!preg_match('/^\w+$/', $key)) $key = ''; 117 125 if (!preg_match('/^[\w-]+$/', $lang)) $lang = ''; 118 126 if (!preg_match('/^[\w -]+$/', $voice)) $voice = ''; 119 120 if ($key && $lang && $voice) {121 $code = getEmbedCode($key, $lang, $voice);122 }123 else {124 $code = NULL;125 $mode = 'off';126 }127 127 128 128 return array( … … 144 144 function sitespeaker_admin_scripts($page) { 145 145 if ($page == 'settings_page_sitespeaker_settings_page') { 146 wp_enqueue_script('main', plugin_dir_url(__FILE__) . 'main.js', array('jquery'), '1.4. 5', true);146 wp_enqueue_script('main', plugin_dir_url(__FILE__) . 'main.js', array('jquery'), '1.4.6', true); 147 147 } 148 148 }
Note: See TracChangeset
for help on using the changeset viewer.