Plugin Directory

Changeset 3024632


Ignore:
Timestamp:
01/21/2024 03:29:55 AM (2 years ago)
Author:
ken107
Message:

put back the embed code since some themes don't support blocks

Location:
sitespeaker-widget/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • sitespeaker-widget/trunk/main.js

    r3024216 r3024632  
    11(function($) {
    2   var allVoices, apiKey, selectedLang, selectedVoice, testAudio = document.createElement("AUDIO");
     2  var allVoices, bootstrap, apiKey, selectedLang, selectedVoice, testAudio = document.createElement("AUDIO");
    33  $(onDomReady);
    44 
     
    77    selectedLang = $("#sitespeaker_lang").data("value") || "";
    88    selectedVoice = $("#sitespeaker_voice").data("value") || "";
    9     loadVoices().then(update);
     9    Promise.all([loadVoices(), loadBootstrap()]).then(update);
    1010    $("#sitespeaker_key").change(function() {
    1111      apiKey = this.value;
     
    5454  }
    5555
     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
    5665  function update() {
    5766    var languages = Array.from(new Set(allVoices.map(function(voice) {return voice.lang}))).sort();
     
    8089    $("#sitespeaker_voice").val(selectedVoice);
    8190    $("#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    }
    82103  }
    83104})
  • sitespeaker-widget/trunk/sitespeaker.php

    r3024216 r3024632  
    44 * Plugin URI: http://readaloudwidget.com
    55 * Description: Speechify your website with the SiteNarrator Text-to-Speech widget
    6  * Version: 1.8
     6 * Version: 1.9
    77 * Author: LSD Software
    88 * Author URI: http://lsdsoftware.com
     
    5353    add_settings_field('sitespeaker_lang', 'Language', 'sitespeaker_settings_lang', 'sitespeaker_settings_page', 'sitespeaker_main_settings');
    5454    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');
    5556}
    5657
     
    7475</p>
    7576<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>
    7778</p>
    7879<?php
     
    108109}
    109110
     111function 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
    110117function sitespeaker_settings_validate($input) {
    111118    $mode = trim($input['mode']);
     
    113120    $lang = trim($input['lang']);
    114121    $voice = trim($input['voice']);
     122    $code = trim($input['code']);
    115123
    116124    if (!preg_match('/^\w+$/', $key)) $key = '';
    117125    if (!preg_match('/^[\w-]+$/', $lang)) $lang = '';
    118126    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     }
    127127
    128128    return array(
     
    144144function sitespeaker_admin_scripts($page) {
    145145    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);
    147147    }
    148148}
Note: See TracChangeset for help on using the changeset viewer.