Changeset 3206999
- Timestamp:
- 12/12/2024 01:10:38 PM (16 months ago)
- Location:
- click-n-chat
- Files:
-
- 138 added
- 6 edited
-
tags/1.0.7 (added)
-
tags/1.0.7/README.txt (added)
-
tags/1.0.7/admin (added)
-
tags/1.0.7/admin/ajax (added)
-
tags/1.0.7/admin/ajax/click_n_chat_ajax_lead_list.php (added)
-
tags/1.0.7/admin/ajax/click_n_chat_ajax_lead_list_export.php (added)
-
tags/1.0.7/admin/ajax/click_n_chat_ajax_update_suggestions.php (added)
-
tags/1.0.7/admin/ajax/click_n_chat_ajax_user_update_matching_percenage.php (added)
-
tags/1.0.7/admin/ajax/click_n_chat_ajax_user_update_position.php (added)
-
tags/1.0.7/admin/ajax/click_n_chat_ajax_user_update_status.php (added)
-
tags/1.0.7/admin/assets (added)
-
tags/1.0.7/admin/assets/css (added)
-
tags/1.0.7/admin/assets/css/admin-style.css (added)
-
tags/1.0.7/admin/assets/css/bootstrap.min.css (added)
-
tags/1.0.7/admin/assets/css/intlTelInput.min.css (added)
-
tags/1.0.7/admin/assets/css/simple-line-icons.css (added)
-
tags/1.0.7/admin/assets/fonts (added)
-
tags/1.0.7/admin/assets/fonts/Simple-Line-Icons.eot (added)
-
tags/1.0.7/admin/assets/fonts/Simple-Line-Icons.svg (added)
-
tags/1.0.7/admin/assets/fonts/Simple-Line-Icons.ttf (added)
-
tags/1.0.7/admin/assets/fonts/Simple-Line-Icons.woff (added)
-
tags/1.0.7/admin/assets/fonts/Simple-Line-Icons.woff2 (added)
-
tags/1.0.7/admin/assets/img (added)
-
tags/1.0.7/admin/assets/img/flags.png (added)
-
tags/1.0.7/admin/assets/img/flags.webp (added)
-
tags/1.0.7/admin/assets/js (added)
-
tags/1.0.7/admin/assets/js/admin-script.js (added)
-
tags/1.0.7/admin/assets/js/bootstrap.bundle.min.js (added)
-
tags/1.0.7/admin/assets/js/intlTelInputWithUtils.min.js (added)
-
tags/1.0.7/admin/click_n_chat_admin.php (added)
-
tags/1.0.7/admin/includes (added)
-
tags/1.0.7/admin/includes/click_n_chat_menu.php (added)
-
tags/1.0.7/admin/includes/pages (added)
-
tags/1.0.7/admin/includes/pages/click_n_chat_add_edit_user.php (added)
-
tags/1.0.7/admin/includes/pages/click_n_chat_analytics.php (added)
-
tags/1.0.7/admin/includes/pages/click_n_chat_autoreply.php (added)
-
tags/1.0.7/admin/includes/pages/click_n_chat_autoreply_add_edit.php (added)
-
tags/1.0.7/admin/includes/pages/click_n_chat_chatgpt.php (added)
-
tags/1.0.7/admin/includes/pages/click_n_chat_lead_list.php (added)
-
tags/1.0.7/admin/includes/pages/click_n_chat_prod.php (added)
-
tags/1.0.7/admin/includes/pages/click_n_chat_setting.php (added)
-
tags/1.0.7/admin/includes/pages/click_n_chat_user_list.php (added)
-
tags/1.0.7/admin/includes/pages/click_n_chat_woocommerce.php (added)
-
tags/1.0.7/assets (added)
-
tags/1.0.7/assets/css (added)
-
tags/1.0.7/assets/css/style.css (added)
-
tags/1.0.7/assets/images (added)
-
tags/1.0.7/assets/images/autoreplyview.png (added)
-
tags/1.0.7/assets/images/call-icon1.png (added)
-
tags/1.0.7/assets/images/call-icon10.png (added)
-
tags/1.0.7/assets/images/call-icon11.png (added)
-
tags/1.0.7/assets/images/call-icon12.png (added)
-
tags/1.0.7/assets/images/call-icon13.png (added)
-
tags/1.0.7/assets/images/call-icon14.png (added)
-
tags/1.0.7/assets/images/call-icon15.png (added)
-
tags/1.0.7/assets/images/call-icon16.png (added)
-
tags/1.0.7/assets/images/call-icon17.png (added)
-
tags/1.0.7/assets/images/call-icon18.png (added)
-
tags/1.0.7/assets/images/call-icon2.png (added)
-
tags/1.0.7/assets/images/call-icon3.png (added)
-
tags/1.0.7/assets/images/call-icon4.png (added)
-
tags/1.0.7/assets/images/call-icon5.png (added)
-
tags/1.0.7/assets/images/call-icon6.png (added)
-
tags/1.0.7/assets/images/call-icon7.png (added)
-
tags/1.0.7/assets/images/call-icon8.png (added)
-
tags/1.0.7/assets/images/call-icon9.png (added)
-
tags/1.0.7/assets/images/chatgptview.png (added)
-
tags/1.0.7/assets/images/chatlefticon.png (added)
-
tags/1.0.7/assets/images/chatlefticonlb.png (added)
-
tags/1.0.7/assets/images/chatlefticonlg.png (added)
-
tags/1.0.7/assets/images/chatlefticonlw.png (added)
-
tags/1.0.7/assets/images/chatlefticonrd.png (added)
-
tags/1.0.7/assets/images/closeiconbw.png (added)
-
tags/1.0.7/assets/images/cnccallemticonw.png (added)
-
tags/1.0.7/assets/images/cnccallicon.png (added)
-
tags/1.0.7/assets/images/cnccalliconn.png (added)
-
tags/1.0.7/assets/images/cnccalliconsmall.png (added)
-
tags/1.0.7/assets/images/cnccalliconsmall20.png (added)
-
tags/1.0.7/assets/images/cnccalliconsmallw.png (added)
-
tags/1.0.7/assets/images/cnccalliconw.png (added)
-
tags/1.0.7/assets/images/cnclogoemtb.png (added)
-
tags/1.0.7/assets/images/cncsicon.png (added)
-
tags/1.0.7/assets/images/index.php (added)
-
tags/1.0.7/assets/images/loading.gif (added)
-
tags/1.0.7/assets/images/socialiconview.png (added)
-
tags/1.0.7/assets/images/socialwidgetsview.png (added)
-
tags/1.0.7/assets/images/svgs (added)
-
tags/1.0.7/assets/images/svgs/closeicon.svg (added)
-
tags/1.0.7/assets/images/svgs/cnccallicon.svg (added)
-
tags/1.0.7/assets/images/svgs/cncicon.svg (added)
-
tags/1.0.7/assets/images/svgs/email.svg (added)
-
tags/1.0.7/assets/images/svgs/facebook.svg (added)
-
tags/1.0.7/assets/images/svgs/fb_messenger.svg (added)
-
tags/1.0.7/assets/images/svgs/gmap.svg (added)
-
tags/1.0.7/assets/images/svgs/index.php (added)
-
tags/1.0.7/assets/images/svgs/instagram.svg (added)
-
tags/1.0.7/assets/images/svgs/line.svg (added)
-
tags/1.0.7/assets/images/svgs/link.svg (added)
-
tags/1.0.7/assets/images/svgs/linkedin.svg (added)
-
tags/1.0.7/assets/images/svgs/pinterest.svg (added)
-
tags/1.0.7/assets/images/svgs/reddit.svg (added)
-
tags/1.0.7/assets/images/svgs/send.svg (added)
-
tags/1.0.7/assets/images/svgs/skype.svg (added)
-
tags/1.0.7/assets/images/svgs/slack.svg (added)
-
tags/1.0.7/assets/images/svgs/sms.svg (added)
-
tags/1.0.7/assets/images/svgs/snapchat.svg (added)
-
tags/1.0.7/assets/images/svgs/telegram.svg (added)
-
tags/1.0.7/assets/images/svgs/tiktok.svg (added)
-
tags/1.0.7/assets/images/svgs/viber.svg (added)
-
tags/1.0.7/assets/images/svgs/vk.svg (added)
-
tags/1.0.7/assets/images/svgs/wechat.svg (added)
-
tags/1.0.7/assets/images/svgs/whatsapp.svg (added)
-
tags/1.0.7/assets/images/svgs/x.svg (added)
-
tags/1.0.7/assets/images/svgs/youtube.svg (added)
-
tags/1.0.7/assets/images/telegram.png (added)
-
tags/1.0.7/assets/images/whatsapp.png (added)
-
tags/1.0.7/assets/js (added)
-
tags/1.0.7/assets/js/ga.js (added)
-
tags/1.0.7/assets/js/gtag.js (added)
-
tags/1.0.7/assets/js/jquery.slimscroll.min.js (added)
-
tags/1.0.7/assets/js/script.js (added)
-
tags/1.0.7/classes (added)
-
tags/1.0.7/classes/click_n_chat_setting_analytics.php (added)
-
tags/1.0.7/classes/click_n_chat_setting_autoreply.php (added)
-
tags/1.0.7/classes/click_n_chat_setting_chatgpt.php (added)
-
tags/1.0.7/classes/click_n_chat_setting_popup.php (added)
-
tags/1.0.7/classes/click_n_chat_setting_woocommerce.php (added)
-
tags/1.0.7/click-n-chat.php (added)
-
tags/1.0.7/includes (added)
-
tags/1.0.7/includes/ajax (added)
-
tags/1.0.7/includes/ajax/click_n_chat_ajax_get_ai_reply.php (added)
-
tags/1.0.7/includes/ajax/click_n_chat_ajax_get_auto_reply.php (added)
-
tags/1.0.7/includes/click_n_chat_activate.php (added)
-
tags/1.0.7/includes/click_n_chat_home.php (added)
-
tags/1.0.7/includes/parts (added)
-
tags/1.0.7/includes/parts/click_n_chat_analytics.php (added)
-
tags/1.0.7/includes/parts/click_n_chat_popup.php (added)
-
tags/1.0.7/includes/parts/click_n_chat_widget.php (added)
-
trunk/README.txt (modified) (2 diffs)
-
trunk/admin/includes/pages/click_n_chat_chatgpt.php (modified) (3 diffs)
-
trunk/assets/css/style.css (modified) (2 diffs)
-
trunk/classes/click_n_chat_setting_chatgpt.php (modified) (1 diff)
-
trunk/click-n-chat.php (modified) (1 diff)
-
trunk/includes/ajax/click_n_chat_ajax_get_ai_reply.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
click-n-chat/trunk/README.txt
r3185652 r3206999 5 5 Tested up to: 6.6 6 6 Requires PHP: 5.6.4 7 Stable tag: 1.0. 67 Stable tag: 1.0.7 8 8 License: GPLv2 or later 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 117 117 == Changelog == 118 118 119 = 1.0.7 12 December 2024 = 120 Add AI Instructions 121 119 122 = 1.0.6 11 November 2024 = 120 123 Update pop style -
click-n-chat/trunk/admin/includes/pages/click_n_chat_chatgpt.php
r3180661 r3206999 20 20 $click_n_chat_setting_chatgpt->frequency_penalty = sanitize_text_field($_POST['frequency_penalty']); 21 21 $click_n_chat_setting_chatgpt->ai_models = sanitize_text_field($_POST['ai_models']); 22 $click_n_chat_setting_chatgpt-> include_auto_reply = $_POST['include_auto_reply'] == "on" ? 1 : 0;22 $click_n_chat_setting_chatgpt->ai_instructions = ($_POST['ai_instructions']); 23 23 24 24 update_option('click_n_chat_setting_chatgpt', $click_n_chat_setting_chatgpt); … … 88 88 <div class="form-field"> 89 89 <label for="is_active">Include Auto Reply: </label> 90 <label class="cnc-switch ">91 <input name="include_auto_reply" id="include_auto_reply" class="cnc-user-status" type="checkbox" <?php echo esc_html(($click_n_chat_setting_chatgpt->include_auto_reply == "1" ? "checked" : "")); ?>>90 <label class="cnc-switch cnc-pro-label"> 91 <input name="include_auto_reply" class="cnc-user-status" type="checkbox" disabled="disabled" > 92 92 <span class="cnc-switch-slider"></span> 93 93 </label> … … 105 105 <div class="cnc-container cnc-bg-white cnc-shadow"> 106 106 <div class="tab-pane fade" id="instructions" role="tabpanel" aria-labelledby="instructions-tab"> 107 <div class="form-field cnc-pro-label"> 108 <label for="is_active">Open AI Instructions: </label> 109 <textarea rows="10" style="width:100%" disabled="disabled">You are a virtual assistant for a clothing store, specifically designed to help customers with the checkout process. Assist customers by guiding them through each step of the checkout process, including reviewing their cart, applying discount codes, selecting shipping options, and completing payment. Provide clear and accurate information, and ensure a smooth and user-friendly checkout experience. Address any questions or issues they may have related to the checkout process. 110 111 # Style 112 Respond to the user inquiry in HTML format. Format the text with appropriate HTML tags, including <strong> for bold text, <ul> and <li> for lists, and <p> for paragraphs.</textarea> 107 <div class="form-field"> 108 <label for="is_active">Open AI Instructions (max 1000 character): </label> 109 <textarea maxlength="1000" name="ai_instructions" rows="10" style="width:100%"><?php echo esc_html($click_n_chat_setting_chatgpt->ai_instructions); ?></textarea> 113 110 <p id="name-description"> 114 111 <b>Open AI Instructions:</b> is a message you give to an AI assistant to tell it how to behave or what role it should play. Think of it like setting instructions for a helper who's about to assist you. For instance, if you want the AI to act like a friendly shopping assistant who helps with online orders, you would include that information in the system content. -
click-n-chat/trunk/assets/css/style.css
r3198284 r3206999 166 166 padding: 15px; 167 167 /*text-align: center;*/ 168 border-radius: 10px 10px 0 0; 168 border-radius: 10px 10px 0 0; 169 169 margin-bottom: 10px; 170 170 box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15); … … 249 249 .rcnc-message-icon { 250 250 position: absolute; 251 left: - 35px;251 left: -40px; 252 252 border-radius: 50%; 253 253 top:0px; -
click-n-chat/trunk/classes/click_n_chat_setting_chatgpt.php
r3180661 r3206999 12 12 public $frequency_penalty = '1'; 13 13 public $ai_models = 'gpt-3.5-turbo'; 14 public $ include_auto_reply = '1';14 public $ai_instructions = 'You are a virtual assistant for a clothing store, specifically designed to help customers with the checkout process. Assist customers by guiding them through each step of the checkout process, including reviewing their cart, applying discount codes, selecting shipping options, and completing payment. Provide clear and accurate information, and ensure a smooth and user-friendly checkout experience. Address any questions or issues they may have related to the checkout process.'; 15 15 } 16 16 } -
click-n-chat/trunk/click-n-chat.php
r3185652 r3206999 4 4 Plugin URI: http://www.flag92.com/ 5 5 Description: Chat n Click allows you to connect with website visitors through their favorite social channels by displaying a floating chat icon at the bottom of your site. With features like AI chat, auto-reply, widget customization, you can ensure seamless communication and enhance visitor engagement across multiple platforms. 6 Version: 1.0. 66 Version: 1.0.7 7 7 Author: Flag92 8 8 Domain Path: /languages -
click-n-chat/trunk/includes/ajax/click_n_chat_ajax_get_ai_reply.php
r3180661 r3206999 19 19 20 20 21 $reply_message = ""; 22 if($click_n_chat_setting_chatgpt->include_auto_reply == "1") 21 22 $url = 'https://api.openai.com/v1/chat/completions'; 23 24 $data = [ 25 'model' => $click_n_chat_setting_chatgpt->ai_models, 26 'messages' => [ 27 ['role' => 'system', 'content' => 'Hello! How can I help you today?'], 28 ['role' => 'user', 'content' => $message] 29 ], 30 'max_tokens' => (float)$click_n_chat_setting_chatgpt->max_token, 31 'temperature' => (float)$click_n_chat_setting_chatgpt->temperature, 32 'presence_penalty' => (float)$click_n_chat_setting_chatgpt->presence_penalty, 33 'frequency_penalty' => (float)$click_n_chat_setting_chatgpt->frequency_penalty 34 ]; 35 36 $args = [ 37 'headers' => [ 38 'Authorization' => 'Bearer ' . $click_n_chat_setting_chatgpt->api_key, 39 'Content-Type' => 'application/json', 40 ], 41 'body' => wp_json_encode($data), // Ensure the data is in JSON format 42 'method' => 'POST', 43 'timeout' => 30, // Timeout in seconds 44 ]; 45 $response = wp_remote_post($url, $args); 46 47 if (is_wp_error($response)) { 48 $reply_message = 'Error: ' . $response->get_error_message(); 49 } 50 else 23 51 { 24 $click_n_chat_setting_autoreply = get_option('click_n_chat_setting_autoreply');25 52 26 $table_name = $wpdb->prefix . 'cnc_auto_reply'; 27 $autoreplies = $wpdb->get_results("SELECT * FROM $table_name"); 28 $response = (object)click_n_chat_calculate_similarities_ai($autoreplies, $message); 53 $response_body = wp_remote_retrieve_body($response); 54 $responseData = json_decode($response_body); 55 56 if(isset($responseData->choices[0]->message->content)) 57 $reply_message = $responseData->choices[0]->message->content; 58 else 59 $reply_message = $responseData->error->message; 29 60 30 if($response->query_similarity >= $click_n_chat_setting_autoreply->matching_percenage || $response->keyword_similarity >= $click_n_chat_setting_autoreply->matching_percenage)31 {32 $reply_message = $response->reply;33 }34 61 } 35 36 if($reply_message == "")37 {38 $url = 'https://api.openai.com/v1/chat/completions';39 40 $data = [41 'model' => $click_n_chat_setting_chatgpt->ai_models,42 'messages' => [43 ['role' => 'system', 'content' => 'Hello! How can I help you today?'],44 ['role' => 'user', 'content' => $message]45 ],46 'max_tokens' => (float)$click_n_chat_setting_chatgpt->max_token,47 'temperature' => (float)$click_n_chat_setting_chatgpt->temperature,48 'presence_penalty' => (float)$click_n_chat_setting_chatgpt->presence_penalty,49 'frequency_penalty' => (float)$click_n_chat_setting_chatgpt->frequency_penalty50 ];51 52 $args = [53 'headers' => [54 'Authorization' => 'Bearer ' . $click_n_chat_setting_chatgpt->api_key,55 'Content-Type' => 'application/json',56 ],57 'body' => wp_json_encode($data), // Ensure the data is in JSON format58 'method' => 'POST',59 'timeout' => 30, // Timeout in seconds60 ];61 $response = wp_remote_post($url, $args);62 63 if (is_wp_error($response)) {64 $reply_message = 'Error: ' . $response->get_error_message();65 }66 else67 {68 69 $response_body = wp_remote_retrieve_body($response);70 $responseData = json_decode($response_body);71 62 72 if(isset($responseData->choices[0]->message->content))73 $reply_message = $responseData->choices[0]->message->content;74 else75 $reply_message = $responseData->error->message;76 77 }78 }79 63 80 64 wp_send_json([ … … 82 66 ]); 83 67 } 84 85 function click_n_chat_calculate_similarities_ai($array, $user_keyword) { 86 $results = []; 87 88 // Compare each query and keyword with the user_keyword 89 foreach ($array as $item) { 90 $query_similarity = 0; 91 $keyword_similarity = 0; 92 93 // Calculate similarity percentages 94 similar_text(strtolower($item->query), strtolower($user_keyword), $query_similarity); 95 similar_text(strtolower($item->keyword), strtolower($user_keyword), $keyword_similarity); 96 97 // Add the results to the array 98 $results[] = [ 99 'query' => $item->query, 100 'keyword' => $item->keyword, 101 'reply' => $item->reply, 102 'query_similarity' => $query_similarity, 103 'keyword_similarity' => $keyword_similarity 104 ]; 105 } 106 107 // Sort the results by query_similarity and keyword_similarity in descending order 108 usort($results, function($a, $b) { 109 // Compare by query_similarity first 110 if ($a['query_similarity'] == $b['query_similarity']) { 111 // If query_similarity is the same, compare by keyword_similarity 112 return $b['keyword_similarity'] <=> $a['keyword_similarity']; 113 } 114 return $b['query_similarity'] <=> $a['query_similarity']; 115 }); 116 117 return $results[0]; 118 } 68 119 69 120 70 add_action('wp_ajax_click_n_chat_get_ai_action', 'click_n_chat_get_ai_action_handler');
Note: See TracChangeset
for help on using the changeset viewer.