PluginProbe
WPBot – AI ChatBot for Live Support, Lead Generation, WordPress Automation, AI Services / 8.7.7
WPBot – AI ChatBot for Live Support, Lead Generation, WordPress Automation, AI Services v8.7.7
8.7.7 8.7.6 8.7.5 8.7.4 8.7.3 8.7.2 8.7.1 8.7.0 8.6.9 8.6.8 8.6.7 8.6.6 8.6.5 8.6.4 8.6.2 8.6.1 8.6.0 8.5.9 8.5.8 8.5.7 8.5.6 8.5.5 8.5.4 8.5.3 8.5.2 All 533 releases
← All changes | qcld_df_api.php +145 -145 8.6.28.7.7 View file →
@@ -1,146 +1,146 @@
1 -<?php
2 -if ( ! defined( 'ABSPATH' ) ) {
3 - exit;
4 -}
5 -/*
6 -* @package Dialogflow API V2 by QuantumCloud
7 -* @Since 9.1.2
8 -*/
9 -
10 -
11 -class Qcld_wpbot_dfv2
12 -{
13 - public function __construct(){
14 -
15 - add_action('init', array($this, 'api'));
16 - }
17 - public function api(){
18 -
19 - if ( isset( $_GET['action'] ) && sanitize_text_field( wp_unslash( $_GET['action'] ) ) === 'qcld_dfv2_api' ) { // phpcs:ignore WordPress.Security.NonceVerification
20 - $session_id = 'asd2342sde';
21 - $language = get_option('qlcd_wp_chatbot_dialogflow_agent_language');
22 - //project ID
23 - $project_ID = get_option('qlcd_wp_chatbot_dialogflow_project_id');
24 - // Service Account Key json file
25 - $JsonFileContents = get_option('qlcd_wp_chatbot_dialogflow_project_key');
26 - if($project_ID==''){
27 - echo wp_json_encode(array('error'=>'Project ID is empty'));exit;
28 - }
29 - if($JsonFileContents==''){
30 - echo wp_json_encode(array('error'=>'Key is empty'));exit;
31 - }
32 - if(!isset($_POST['dfquery']) || wp_unslash($_POST['dfquery'])==''){
33 - echo wp_json_encode(array('error'=>'Query text is not added!'));exit;
34 - }
35 - $query = sanitize_text_field(wp_unslash($_POST['dfquery']));
36 - if(isset($_POST['sessionid']) && wp_unslash($_POST['sessionid'])!=''){
37 - $session_id = sanitize_text_field(wp_unslash($_POST['sessionid']));
38 - }
39 -
40 -
41 - if(file_exists(QCLD_wpCHATBOT_GC_DIRNAME.'/autoload.php')){
42 -
43 - require(QCLD_wpCHATBOT_GC_DIRNAME.'/autoload.php');
44 -
45 - $client = new \Google_Client();
46 - $client->useApplicationDefaultCredentials();
47 - $client->setScopes (['https://www.googleapis.com/auth/dialogflow']);
48 - // Convert to array
49 - $array = json_decode($JsonFileContents, true);
50 - $client->setAuthConfig($array);
51 -
52 - try {
53 - $httpClient = $client->authorize();
54 - $apiUrl = "https://dialogflow.googleapis.com/v2/projects/{$project_ID}/agent/sessions/{$session_id}:detectIntent";
55 -
56 - $response = $httpClient->request('POST', $apiUrl, [
57 - 'json' => ['queryInput' => ['text' => ['text' => $query, 'languageCode' => $language]],
58 - 'queryParams' => ['timeZone' => '']]
59 - ]);
60 -
61 - $contents = $response->getBody()->getContents();
62 -
63 - echo esc_html( $contents );
64 -
65 - exit;
66 -
67 - }catch(Exception $e) {
68 - echo wp_json_encode(array('error'=>$e->getMessage()));exit;
69 - }
70 -
71 - }else{
72 - echo wp_json_encode(array('error'=>'API client not found'));exit;
73 - }
74 -
75 - }
76 -
77 - }
78 -}
79 -new Qcld_wpbot_dfv2();
80 -
81 -add_action('wp_ajax_qcld_wp_df_api_call', 'qcld_wp_df_api_call');
82 -add_action('wp_ajax_nopriv_qcld_wp_df_api_call', 'qcld_wp_df_api_call');
83 -function qcld_wp_df_api_call(){
84 - $nonce = sanitize_text_field(wp_unslash($_POST['nonce']));
85 - if ((! wp_verify_nonce($nonce,'wp_chatbot')) && ( ! wp_verify_nonce($nonce,'qcsecretbotnonceval123qc'))) {
86 - wp_send_json(array('success' => false, 'msg' => esc_html__('Failed in Security check', 'chatbot')));
87 - wp_die();
88 -
89 - }else{
90 - $session_id = 'asd2342sde';
91 - $language = get_option('qlcd_wp_chatbot_dialogflow_agent_language');
92 - //project ID
93 - $project_ID = get_option('qlcd_wp_chatbot_dialogflow_project_id');
94 - // Service Account Key json file
95 - $JsonFileContents = get_option('qlcd_wp_chatbot_dialogflow_project_key');
96 - if($project_ID==''){
97 - echo wp_json_encode(array('error'=>'Project ID is empty'));exit;
98 - }
99 - if($JsonFileContents==''){
100 - echo wp_json_encode(array('error'=>'Key is empty'));exit;
101 - }
102 - if(!isset($_POST['dfquery']) || wp_unslash($_POST['dfquery'])==''){
103 - echo wp_json_encode(array('error'=>'Query text is not added!'));exit;
104 - }
105 - $query = sanitize_text_field(wp_unslash($_POST['dfquery']));
106 - if(isset($_POST['sessionid']) && wp_unslash($_POST['sessionid'])!=''){
107 - $session_id = sanitize_text_field(wp_unslash($_POST['sessionid']));
108 - }
109 -
110 -
111 - if(file_exists(QCLD_wpCHATBOT_GC_DIRNAME.'/autoload.php')){
112 -
113 - require(QCLD_wpCHATBOT_GC_DIRNAME.'/autoload.php');
114 -
115 - $client = new \Google_Client();
116 - $client->useApplicationDefaultCredentials();
117 - $client->setScopes (['https://www.googleapis.com/auth/dialogflow']);
118 - // Convert to array
119 - $array = json_decode($JsonFileContents, true);
120 - $client->setAuthConfig($array);
121 -
122 - try {
123 - $httpClient = $client->authorize();
124 - $apiUrl = "https://dialogflow.googleapis.com/v2/projects/{$project_ID}/agent/sessions/{$session_id}:detectIntent";
125 -
126 - $response = $httpClient->request('POST', $apiUrl, [
127 - 'json' => ['queryInput' => ['text' => ['text' => $query, 'languageCode' => $language]],
128 - 'queryParams' => ['timeZone' => '']]
129 - ]);
130 -
131 - $contents = $response->getBody()->getContents();
132 -
133 - echo wp_json_encode($contents);
134 -
135 - exit;
136 -
137 - }catch(Exception $e) {
138 - echo wp_json_encode(array('error'=>$e->getMessage()));exit;
139 - }
140 -
141 - }else{
142 - echo wp_json_encode(array('error'=>'API client not found'));exit;
143 - }
144 - die();
145 - }
1 +<?php
2 +if ( ! defined( 'ABSPATH' ) ) {
3 + exit;
4 +}
5 +/*
6 +* @package Dialogflow API V2 by QuantumCloud
7 +* @Since 9.1.2
8 +*/
9 +
10 +
11 +class Qcld_wpbot_dfv2
12 +{
13 + public function __construct(){
14 +
15 + add_action('init', array($this, 'api'));
16 + }
17 + public function api(){
18 +
19 + if ( isset( $_GET['action'] ) && sanitize_text_field( wp_unslash( $_GET['action'] ) ) === 'qcld_dfv2_api' ) { // phpcs:ignore WordPress.Security.NonceVerification
20 + $session_id = 'asd2342sde';
21 + $language = get_option('qlcd_wp_chatbot_dialogflow_agent_language');
22 + //project ID
23 + $project_ID = get_option('qlcd_wp_chatbot_dialogflow_project_id');
24 + // Service Account Key json file
25 + $JsonFileContents = get_option('qlcd_wp_chatbot_dialogflow_project_key');
26 + if($project_ID==''){
27 + echo wp_json_encode(array('error'=>'Project ID is empty'));exit;
28 + }
29 + if($JsonFileContents==''){
30 + echo wp_json_encode(array('error'=>'Key is empty'));exit;
31 + }
32 + if(!isset($_POST['dfquery']) || wp_unslash($_POST['dfquery'])==''){
33 + echo wp_json_encode(array('error'=>'Query text is not added!'));exit;
34 + }
35 + $query = sanitize_text_field(wp_unslash($_POST['dfquery']));
36 + if(isset($_POST['sessionid']) && wp_unslash($_POST['sessionid'])!=''){
37 + $session_id = sanitize_text_field(wp_unslash($_POST['sessionid']));
38 + }
39 +
40 +
41 + if(file_exists(QCLD_wpCHATBOT_GC_DIRNAME.'/autoload.php')){
42 +
43 + require(QCLD_wpCHATBOT_GC_DIRNAME.'/autoload.php');
44 +
45 + $client = new \Google_Client();
46 + $client->useApplicationDefaultCredentials();
47 + $client->setScopes (['https://www.googleapis.com/auth/dialogflow']);
48 + // Convert to array
49 + $array = json_decode($JsonFileContents, true);
50 + $client->setAuthConfig($array);
51 +
52 + try {
53 + $httpClient = $client->authorize();
54 + $apiUrl = "https://dialogflow.googleapis.com/v2/projects/{$project_ID}/agent/sessions/{$session_id}:detectIntent";
55 +
56 + $response = $httpClient->request('POST', $apiUrl, [
57 + 'json' => ['queryInput' => ['text' => ['text' => $query, 'languageCode' => $language]],
58 + 'queryParams' => ['timeZone' => '']]
59 + ]);
60 +
61 + $contents = $response->getBody()->getContents();
62 +
63 + echo esc_html( $contents );
64 +
65 + exit;
66 +
67 + }catch(Exception $e) {
68 + echo wp_json_encode(array('error'=>$e->getMessage()));exit;
69 + }
70 +
71 + }else{
72 + echo wp_json_encode(array('error'=>'API client not found'));exit;
73 + }
74 +
75 + }
76 +
77 + }
78 +}
79 +new Qcld_wpbot_dfv2();
80 +
81 +add_action('wp_ajax_qcld_wp_df_api_call', 'qcld_wp_df_api_call');
82 +add_action('wp_ajax_nopriv_qcld_wp_df_api_call', 'qcld_wp_df_api_call');
83 +function qcld_wp_df_api_call(){
84 + $nonce = sanitize_text_field(wp_unslash($_POST['nonce']));
85 + if ((! wp_verify_nonce($nonce,'wp_chatbot')) && ( ! wp_verify_nonce($nonce,'qcsecretbotnonceval123qc'))) {
86 + wp_send_json(array('success' => false, 'msg' => esc_html__('Failed in Security check', 'chatbot')));
87 + wp_die();
88 +
89 + }else{
90 + $session_id = 'asd2342sde';
91 + $language = get_option('qlcd_wp_chatbot_dialogflow_agent_language');
92 + //project ID
93 + $project_ID = get_option('qlcd_wp_chatbot_dialogflow_project_id');
94 + // Service Account Key json file
95 + $JsonFileContents = get_option('qlcd_wp_chatbot_dialogflow_project_key');
96 + if($project_ID==''){
97 + echo wp_json_encode(array('error'=>'Project ID is empty'));exit;
98 + }
99 + if($JsonFileContents==''){
100 + echo wp_json_encode(array('error'=>'Key is empty'));exit;
101 + }
102 + if(!isset($_POST['dfquery']) || wp_unslash($_POST['dfquery'])==''){
103 + echo wp_json_encode(array('error'=>'Query text is not added!'));exit;
104 + }
105 + $query = sanitize_text_field(wp_unslash($_POST['dfquery']));
106 + if(isset($_POST['sessionid']) && wp_unslash($_POST['sessionid'])!=''){
107 + $session_id = sanitize_text_field(wp_unslash($_POST['sessionid']));
108 + }
109 +
110 +
111 + if(file_exists(QCLD_wpCHATBOT_GC_DIRNAME.'/autoload.php')){
112 +
113 + require(QCLD_wpCHATBOT_GC_DIRNAME.'/autoload.php');
114 +
115 + $client = new \Google_Client();
116 + $client->useApplicationDefaultCredentials();
117 + $client->setScopes (['https://www.googleapis.com/auth/dialogflow']);
118 + // Convert to array
119 + $array = json_decode($JsonFileContents, true);
120 + $client->setAuthConfig($array);
121 +
122 + try {
123 + $httpClient = $client->authorize();
124 + $apiUrl = "https://dialogflow.googleapis.com/v2/projects/{$project_ID}/agent/sessions/{$session_id}:detectIntent";
125 +
126 + $response = $httpClient->request('POST', $apiUrl, [
127 + 'json' => ['queryInput' => ['text' => ['text' => $query, 'languageCode' => $language]],
128 + 'queryParams' => ['timeZone' => '']]
129 + ]);
130 +
131 + $contents = $response->getBody()->getContents();
132 +
133 + echo wp_json_encode($contents);
134 +
135 + exit;
136 +
137 + }catch(Exception $e) {
138 + echo wp_json_encode(array('error'=>$e->getMessage()));exit;
139 + }
140 +
141 + }else{
142 + echo wp_json_encode(array('error'=>'API client not found'));exit;
143 + }
144 + die();
145 + }
146 146 }