Changeset 3479990
- Timestamp:
- 03/11/2026 11:10:26 AM (3 weeks ago)
- Location:
- wpiko-chatbot
- Files:
-
- 72 added
- 9 edited
-
tags/1.1.4 (added)
-
tags/1.1.4/admin (added)
-
tags/1.1.4/admin/admin-page.php (added)
-
tags/1.1.4/admin/css (added)
-
tags/1.1.4/admin/css/admin-style.css (added)
-
tags/1.1.4/admin/css/ai-configuration.css (added)
-
tags/1.1.4/admin/css/conversation-mobile-style.css (added)
-
tags/1.1.4/admin/css/conversation-style.css (added)
-
tags/1.1.4/admin/css/dashboard-style.css (added)
-
tags/1.1.4/admin/css/debug-log-style.css (added)
-
tags/1.1.4/admin/css/file-management.css (added)
-
tags/1.1.4/admin/css/modal-style.css (added)
-
tags/1.1.4/admin/css/plugin-header.css (added)
-
tags/1.1.4/admin/css/transcript-styles.css (added)
-
tags/1.1.4/admin/includes (added)
-
tags/1.1.4/admin/includes/plugin-header.php (added)
-
tags/1.1.4/admin/js (added)
-
tags/1.1.4/admin/js/admin-script.js (added)
-
tags/1.1.4/admin/js/conversations.js (added)
-
tags/1.1.4/admin/js/dashboard.js (added)
-
tags/1.1.4/admin/js/file-management.js (added)
-
tags/1.1.4/admin/js/files-list.js (added)
-
tags/1.1.4/admin/js/modal-handlers.js (added)
-
tags/1.1.4/admin/js/models-info.js (added)
-
tags/1.1.4/admin/js/responses-api.js (added)
-
tags/1.1.4/admin/sections (added)
-
tags/1.1.4/admin/sections/ai-configuration-section.php (added)
-
tags/1.1.4/admin/sections/api-key-section.php (added)
-
tags/1.1.4/admin/sections/chatbot-menu-section.php (added)
-
tags/1.1.4/admin/sections/chatbot-style-section.php (added)
-
tags/1.1.4/admin/sections/conversations-section.php (added)
-
tags/1.1.4/admin/sections/dashboard-section.php (added)
-
tags/1.1.4/admin/sections/debug-log-section.php (added)
-
tags/1.1.4/admin/sections/error-messages-section.php (added)
-
tags/1.1.4/admin/sections/floating-chatbot-section.php (added)
-
tags/1.1.4/admin/sections/questions-section.php (added)
-
tags/1.1.4/admin/sections/shortcode-chatbot-section.php (added)
-
tags/1.1.4/admin/templates (added)
-
tags/1.1.4/admin/templates/admin-wrapper.php (added)
-
tags/1.1.4/admin/templates/file-management.php (added)
-
tags/1.1.4/assets (added)
-
tags/1.1.4/assets/images (added)
-
tags/1.1.4/assets/images/chatbot-icon.png (added)
-
tags/1.1.4/chatbot-interface.php (added)
-
tags/1.1.4/css (added)
-
tags/1.1.4/css/frontend-transcript-styles.css (added)
-
tags/1.1.4/css/wpiko-chatbot.css (added)
-
tags/1.1.4/includes (added)
-
tags/1.1.4/includes/api-helpers.php (added)
-
tags/1.1.4/includes/cache-management.php (added)
-
tags/1.1.4/includes/conversation-handler.php (added)
-
tags/1.1.4/includes/conversation-translation.php (added)
-
tags/1.1.4/includes/files-list-handler.php (added)
-
tags/1.1.4/includes/floating-chatbot.php (added)
-
tags/1.1.4/includes/instructions-handler.php (added)
-
tags/1.1.4/includes/logging.php (added)
-
tags/1.1.4/includes/markdown-handler.php (added)
-
tags/1.1.4/includes/nonce-refresh.php (added)
-
tags/1.1.4/includes/responses-api.php (added)
-
tags/1.1.4/includes/sound-functions.php (added)
-
tags/1.1.4/includes/transcript-generator.php (added)
-
tags/1.1.4/index.php (added)
-
tags/1.1.4/js (added)
-
tags/1.1.4/js/chatbot-sound.js (added)
-
tags/1.1.4/js/howler.min.js (added)
-
tags/1.1.4/js/wpiko-chatbot.js (added)
-
tags/1.1.4/readme.txt (added)
-
tags/1.1.4/sounds (added)
-
tags/1.1.4/sounds/clear-chat-notification.mp3 (added)
-
tags/1.1.4/sounds/error-notification.mp3 (added)
-
tags/1.1.4/sounds/message-notification.mp3 (added)
-
tags/1.1.4/wpiko-chatbot.php (added)
-
trunk/admin/js/models-info.js (modified) (4 diffs)
-
trunk/admin/sections/ai-configuration-section.php (modified) (2 diffs)
-
trunk/admin/sections/chatbot-style-section.php (modified) (4 diffs)
-
trunk/chatbot-interface.php (modified) (5 diffs)
-
trunk/css/wpiko-chatbot.css (modified) (1 diff)
-
trunk/includes/cache-management.php (modified) (1 diff)
-
trunk/includes/responses-api.php (modified) (7 diffs)
-
trunk/readme.txt (modified) (3 diffs)
-
trunk/wpiko-chatbot.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
wpiko-chatbot/trunk/admin/js/models-info.js
r3454700 r3479990 10 10 // Model information data based on provided table 11 11 const modelsData = { 12 'gpt-5.4': { 13 displayName: 'GPT-5.4', 14 description: 'Most capable frontier model for agentic, coding, and professional workflows', 15 reasoning: 5, 16 intelligence: null, 17 speed: 3, 18 contextWindow: '1,050,000', 19 maxOutputTokens: '128,000', 20 cost: 'Ultra premium', 21 badge: 'Latest' 22 }, 12 23 'gpt-5.2': { 13 24 displayName: 'GPT-5.2', … … 15 26 reasoning: 4, 16 27 intelligence: null, 17 speed: 4,28 speed: 3, 18 29 contextWindow: '400,000', 19 30 maxOutputTokens: '128,000', 20 31 cost: 'Premium flagship +', 21 badge: ' Latest'32 badge: 'Flagship' 22 33 }, 23 34 'gpt-5.2-chat-latest': { … … 32 43 badge: 'Best Chat' 33 44 }, 45 'gpt-5.3-chat-latest': { 46 displayName: 'GPT-5.3 Chat', 47 description: 'GPT-5.3 chat model used in ChatGPT-style conversations', 48 reasoning: null, 49 intelligence: 3, 50 speed: 3, 51 contextWindow: '128,000', 52 maxOutputTokens: '16,384', 53 cost: 'Premium flagship +', 54 badge: 'Latest Chat' 55 }, 34 56 'gpt-5.1': { 35 57 displayName: 'GPT-5.1', … … 37 59 reasoning: 4, 38 60 intelligence: null, 39 speed: 4,61 speed: 3, 40 62 contextWindow: '400,000', 41 63 maxOutputTokens: '128,000', -
wpiko-chatbot/trunk/admin/sections/ai-configuration-section.php
r3464145 r3479990 66 66 'gpt-5.1-chat-latest' => 'GPT-5.1 Chat', 67 67 'gpt-5.2' => 'GPT-5.2', 68 'gpt-5.2-chat-latest' => 'GPT-5.2 Chat' 68 'gpt-5.2-chat-latest' => 'GPT-5.2 Chat', 69 'gpt-5.3-chat-latest' => 'GPT-5.3 Chat', 70 'gpt-5.4' => 'GPT-5.4' 69 71 ); 70 72 foreach ($available_models as $model_value => $model_label) { … … 439 441 'gpt-5-nano': { efforts: ['minimal', 'low', 'medium', 'high'], defaultEffort: 'medium' }, 440 442 'gpt-5.1': { efforts: ['none', 'low', 'medium', 'high'], defaultEffort: 'none' }, 441 'gpt-5.2': { efforts: ['none', 'low', 'medium', 'high', 'xhigh'], defaultEffort: 'none' } 443 'gpt-5.2': { efforts: ['none', 'low', 'medium', 'high', 'xhigh'], defaultEffort: 'none' }, 444 'gpt-5.4': { efforts: ['none', 'low', 'medium', 'high', 'xhigh'], defaultEffort: 'none' } 442 445 }; 443 446 -
wpiko-chatbot/trunk/admin/sections/chatbot-style-section.php
r3454700 r3479990 26 26 update_option('wpiko_chatbot_icon_color', isset($_POST['icon_color']) ? sanitize_hex_color(wp_unslash($_POST['icon_color'])) : ''); 27 27 update_option('wpiko_chatbot_input_background_color', isset($_POST['input_background_color']) ? sanitize_hex_color(wp_unslash($_POST['input_background_color'])) : ''); 28 update_option('wpiko_chatbot_floating_text_bg_color', isset($_POST['floating_text_bg_color']) ? sanitize_hex_color(wp_unslash($_POST['floating_text_bg_color'])) : ''); 28 29 29 30 // Save the user message border setting … … 45 46 update_option('wpiko_chatbot_icon_color', '#707070'); 46 47 update_option('wpiko_chatbot_input_background_color', '#fbfbfb'); 48 update_option('wpiko_chatbot_floating_text_bg_color', '#ffffff'); 47 49 update_option('wpiko_chatbot_show_user_border', '1'); 48 50 … … 67 69 $icon_color = get_option('wpiko_chatbot_icon_color', '#707070'); 68 70 $input_background_color = get_option('wpiko_chatbot_input_background_color', '#fbfbfb'); 71 $floating_text_bg_color = get_option('wpiko_chatbot_floating_text_bg_color', '#ffffff'); 69 72 $show_user_border = get_option('wpiko_chatbot_show_user_border', '1'); 70 73 ?> … … 252 255 </tr> 253 256 257 <tr valign="top"> 258 <th scope="row"><label for="floating_text_bg_color">Floating Text Background Color</label></th> 259 <td> 260 <input type="color" name="floating_text_bg_color" id="floating_text_bg_color" 261 value="<?php echo esc_attr($floating_text_bg_color); ?>"> 262 <p class="description">Choose the background color for the floating chatbot text.</p> 263 </td> 264 </tr> 265 254 266 </table> 255 267 </div> -
wpiko-chatbot/trunk/chatbot-interface.php
r3468718 r3479990 38 38 $icon_color = get_option('wpiko_chatbot_icon_color', '#707070'); 39 39 $input_background_color = get_option('wpiko_chatbot_input_background_color', '#fbfbfb'); 40 $floating_text_bg_color = get_option('wpiko_chatbot_floating_text_bg_color', '#ffffff'); 40 41 $questions = get_option('wpiko_chatbot_questions', array()); 41 42 $has_questions = !empty($questions); … … 71 72 --icon-color: ' . esc_attr($icon_color) . '; 72 73 --input-background-color: ' . esc_attr($input_background_color) . '; 74 --floating-text-bg-color: ' . esc_attr($floating_text_bg_color) . '; 73 75 74 76 --chatbot-width: ' . esc_attr($chatbot_width) . 'px; … … 139 141 <ul> 140 142 <li id="clear-chat"> 141 <span class="menu-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><path d="M3 6h18"/><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"/><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"/></svg></span> 142 <span class="menu-text"><?php echo esc_html(get_option('wpiko_chatbot_menu_clear_chat', 'Clear Chat')); ?></span> 143 <span class="menu-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" 144 stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"> 145 <path d="M3 6h18" /> 146 <path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6" /> 147 <path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2" /> 148 </svg></span> 149 <span 150 class="menu-text"><?php echo esc_html(get_option('wpiko_chatbot_menu_clear_chat', 'Clear Chat')); ?></span> 143 151 </li> 144 152 <?php … … 151 159 <span class="sound-on"> 152 160 <span class="menu-item-content"> 153 <span class="menu-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"/><line x1="23" y1="9" x2="17" y2="15"/><line x1="17" y1="9" x2="23" y2="15"/></svg></span> 154 <span class="menu-text"><?php echo esc_html(get_option('wpiko_chatbot_menu_sound_off', 'Turn Sound Off')); ?></span> 161 <span class="menu-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" 162 fill="none" stroke="currentColor" stroke-linecap="round" 163 stroke-linejoin="round"> 164 <polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5" /> 165 <line x1="23" y1="9" x2="17" y2="15" /> 166 <line x1="17" y1="9" x2="23" y2="15" /> 167 </svg></span> 168 <span 169 class="menu-text"><?php echo esc_html(get_option('wpiko_chatbot_menu_sound_off', 'Turn Sound Off')); ?></span> 155 170 </span> 156 171 </span> 157 172 <span class="sound-off" style="display: none;"> 158 173 <span class="menu-item-content"> 159 <span class="menu-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5"/><path d="M19.07 4.93a10 10 0 0 1 0 14.14"/><path d="M15.54 8.46a5 5 0 0 1 0 7.07"/></svg></span> 160 <span class="menu-text"><?php echo esc_html(get_option('wpiko_chatbot_menu_sound_on', 'Turn Sound On')); ?></span> 174 <span class="menu-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" 175 fill="none" stroke="currentColor" stroke-linecap="round" 176 stroke-linejoin="round"> 177 <polygon points="11 5 6 9 2 9 2 15 6 15 11 19 11 5" /> 178 <path d="M19.07 4.93a10 10 0 0 1 0 14.14" /> 179 <path d="M15.54 8.46a5 5 0 0 1 0 7.07" /> 180 </svg></span> 181 <span 182 class="menu-text"><?php echo esc_html(get_option('wpiko_chatbot_menu_sound_on', 'Turn Sound On')); ?></span> 161 183 </span> 162 184 </span> … … 166 188 <?php if (get_option('wpiko_chatbot_enable_transcript_download', '1') === '1'): ?> 167 189 <li id="download-transcript"> 168 <span class="menu-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/></svg></span> 169 <span class="menu-text"><?php echo esc_html(get_option('wpiko_chatbot_menu_download_transcript', 'Download Transcript')); ?></span> 190 <span class="menu-icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" 191 stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"> 192 <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" /> 193 <polyline points="7 10 12 15 17 10" /> 194 <line x1="12" y1="15" x2="12" y2="3" /> 195 </svg></span> 196 <span 197 class="menu-text"><?php echo esc_html(get_option('wpiko_chatbot_menu_download_transcript', 'Download Transcript')); ?></span> 170 198 </li> 171 199 <?php endif; ?> -
wpiko-chatbot/trunk/css/wpiko-chatbot.css
r3468718 r3479990 663 663 664 664 #wpiko-chatbot-floating-text { 665 background-color: var(-- chatbot-background-color);665 background-color: var(--floating-text-bg-color); 666 666 color: var(--chatbot-name-color); 667 667 padding: 8px 12px; -
wpiko-chatbot/trunk/includes/cache-management.php
r3468718 r3479990 56 56 'wpiko_chatbot_icon_color', 57 57 'wpiko_chatbot_input_background_color', 58 'wpiko_chatbot_floating_text_bg_color', 58 59 'wpiko_chatbot_show_user_border', 59 60 -
wpiko-chatbot/trunk/includes/responses-api.php
r3454700 r3479990 25 25 // GPT-5.2 family 26 26 'gpt-5.2', 27 'gpt-5.2-chat-latest' 27 'gpt-5.2-chat-latest', 28 // GPT-5.3 family 29 'gpt-5.3-chat-latest', 30 // GPT-5.4 family 31 'gpt-5.4' 28 32 ); 29 33 if (in_array($model, $supports, true)) { … … 31 35 } 32 36 // Heuristic: most modern 4.1/5-series variants support tools 33 if (preg_match('/^(gpt-4\.1|gpt-5|gpt-5\.1|gpt-5\.2 )/', $model)) {37 if (preg_match('/^(gpt-4\.1|gpt-5|gpt-5\.1|gpt-5\.2|gpt-5\.4)/', $model)) { 34 38 return true; 35 39 } … … 67 71 function wpiko_chatbot_get_responses_api_models() 68 72 { 69 return array('gpt-4.1' => 'GPT-4.1', 'gpt-4.1-mini' => 'GPT-4.1 Mini', 'gpt-4.1-nano' => 'GPT-4.1 Nano', 'gpt-5' => 'GPT-5', 'gpt-5-mini' => 'GPT-5 Mini', 'gpt-5-nano' => 'GPT-5 Nano', 'gpt-5.1' => 'GPT-5.1', 'gpt-5.1-chat-latest' => 'GPT-5.1 Chat', 'gpt-5.2' => 'GPT-5.2', 'gpt-5.2-chat-latest' => 'GPT-5.2 Chat' );73 return array('gpt-4.1' => 'GPT-4.1', 'gpt-4.1-mini' => 'GPT-4.1 Mini', 'gpt-4.1-nano' => 'GPT-4.1 Nano', 'gpt-5' => 'GPT-5', 'gpt-5-mini' => 'GPT-5 Mini', 'gpt-5-nano' => 'GPT-5 Nano', 'gpt-5.1' => 'GPT-5.1', 'gpt-5.1-chat-latest' => 'GPT-5.1 Chat', 'gpt-5.2' => 'GPT-5.2', 'gpt-5.2-chat-latest' => 'GPT-5.2 Chat', 'gpt-5.3-chat-latest' => 'GPT-5.3 Chat', 'gpt-5.4' => 'GPT-5.4'); 70 74 } 71 75 } … … 117 121 // Optional knob per latest guidance 118 122 // Exclude specific models that do not support reasoning/verbosity controls 119 $no_reasoning_models = array('gpt-5.1-chat-latest', 'gpt-5.2-chat-latest' );123 $no_reasoning_models = array('gpt-5.1-chat-latest', 'gpt-5.2-chat-latest', 'gpt-5.3-chat-latest'); 120 124 121 125 if (!in_array($model, $no_reasoning_models, true)) { … … 128 132 'gpt-5-nano' => array('allowed' => array('minimal', 'low', 'medium', 'high'), 'default' => 'medium'), 129 133 'gpt-5.1' => array('allowed' => array('none', 'low', 'medium', 'high'), 'default' => 'none'), 130 'gpt-5.2' => array('allowed' => array('none', 'low', 'medium', 'high', 'high', 'xhigh'), 'default' => 'none') 134 'gpt-5.2' => array('allowed' => array('none', 'low', 'medium', 'high', 'xhigh'), 'default' => 'none'), 135 'gpt-5.4' => array('allowed' => array('none', 'low', 'medium', 'high', 'xhigh'), 'default' => 'none') 131 136 ); 132 137 … … 510 515 'gpt-5.1-chat-latest' => 'GPT-5.1 Chat', 511 516 'gpt-5.2' => 'GPT-5.2', 512 'gpt-5.2-chat-latest' => 'GPT-5.2 Chat' 517 'gpt-5.2-chat-latest' => 'GPT-5.2 Chat', 518 'gpt-5.3-chat-latest' => 'GPT-5.3 Chat', 519 'gpt-5.4' => 'GPT-5.4' 513 520 ); 514 521 } … … 583 590 if (!$model || !is_string($model)) 584 591 return false; 585 $fixed = array('gpt-5', 'gpt-5-mini', 'gpt-5-nano', 'gpt-5.1', 'gpt-5.1-chat-latest', 'gpt-5.2', 'gpt-5.2-chat-latest' );592 $fixed = array('gpt-5', 'gpt-5-mini', 'gpt-5-nano', 'gpt-5.1', 'gpt-5.1-chat-latest', 'gpt-5.2', 'gpt-5.2-chat-latest', 'gpt-5.3-chat-latest', 'gpt-5.4'); 586 593 if (in_array($model, $fixed, true)) 587 594 return true; -
wpiko-chatbot/trunk/readme.txt
r3468718 r3479990 4 4 Requires at least: 6.0 5 5 Tested up to: 6.9 6 Stable tag: 1.1. 36 Stable tag: 1.1.4 7 7 Requires PHP: 7.0 8 8 License: GPL-2.0+ … … 123 123 == Changelog == 124 124 125 = 1.1.4 = 126 * Feature: Added a new advanced option to customize the background color of the Chatbot Floating Text. 127 * Feature: Added support for the OpenAI models GPT-5.3 Chat and GPT-5.4 in AI Configuration. 128 125 129 = 1.1.3 = 126 130 * Fix: Shortcode chatbot overlap issue (Z-index fix) … … 201 205 == Upgrade Notice == 202 206 207 = 1.1.4 = 208 Added floating chatbot text background color styling and support for the GPT-5.3 Chat model. 209 203 210 = 1.1.2 = 204 211 Improved sound notification system with consistent volume levels and immediate playback response. -
wpiko-chatbot/trunk/wpiko-chatbot.php
r3468718 r3479990 4 4 * Plugin URI: https://wpiko.com/chatbot 5 5 * Description: A WordPress plugin that integrates OpenAI's AI models to create an intelligent chatbot for WordPress websites. 6 * Version: 1.1. 36 * Version: 1.1.4 7 7 * Author: WPiko 8 8 * Author URI: https://wpiko.com … … 20 20 define('WPIKO_CHATBOT_PLUGIN_DIR', plugin_dir_path(__FILE__)); 21 21 define('WPIKO_CHATBOT_PLUGIN_URL', plugin_dir_url(__FILE__)); 22 define('WPIKO_CHATBOT_VERSION', '1.1. 3');22 define('WPIKO_CHATBOT_VERSION', '1.1.4'); 23 23 24 24 // Ensures that the default options is set … … 253 253 // This error is managed in Pro's Contact Form Settings, with a fallback default 254 254 $localized_errors['upload_error'] = get_option( 255 'wpiko_chatbot_contact_upload_error', 255 'wpiko_chatbot_contact_upload_error', 256 256 __('There was a problem with your file upload. Please ensure it is a valid image (JPG, PNG, GIF) under 3MB.', 'wpiko-chatbot') 257 257 );
Note: See TracChangeset
for help on using the changeset viewer.