HEX
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.30
System: Linux iZj6c1151k3ad370bosnmsZ 3.10.0-1160.76.1.el7.x86_64 #1 SMP Wed Aug 10 16:21:17 UTC 2022 x86_64
User: root (0)
PHP: 7.4.30
Disabled: NONE
Upload Files
File: /var/www/html/www.winghung.com/wp-content/plugins/chatbot/includes/simple_text_response.php
<?php 
if ( ! defined( 'ABSPATH' ) ) {
    exit;
}
global $wpdb;
?>

    <?php 
	if(isset($_GET['opt']) && $_GET['opt']=='add'): 
		
		do_action('qcld_str_add_category');
		
	elseif(isset($_GET['opt']) && $_GET['opt']=='edit'): 
		
		do_action('qcld_str_edit_category');
	
	elseif(isset($_GET['page']) && $_GET['page']=='simple-text-response' && isset($_GET['action']) && $_GET['action']=='import'): 
	
		do_action('qcld_str_import');
	
	elseif(isset($_GET['action']) && $_GET['action']=='manage-categories'):
	
		include_once(QCLD_wpCHATBOT_PLUGIN_DIR_PATH.'/includes/templates/manage-categories.php');
		
	elseif(isset($_GET['action']) && $_GET['action']=='edit'): 
	
	if(class_exists('Qcld_str_pro')):
		do_action('qcld_str_pro_stredit');
	else:
	
		$hasEdit = false;
		if(isset($_GET['query']) && $_GET['query']!=''){
			$hasEdit = true;
			$id = sanitize_text_field($_GET['query']);
			$table = $wpdb->prefix.'wpbot_response';
			$data = $wpdb->get_row($wpdb->prepare("select * from $table where id = %d", $id)); //DB Call OK, No Caching OK
		}
		?>
<div class="qcld-wp-chatbot-wrap-header">

    <a href="#" class="qcld-wp-chatbot-wrap-site__logo"><img style="width:100%" src="<?php echo esc_url( QCLD_wpCHATBOT_IMG_URL . '/chatbot.png' ); ?>" alt="Dialogflow CX"> WPBot Control Panel </a>
    <p><strong>Core Version:</strong> v<?php echo QCLD_wpCHATBOT_VERSION; ?></p>
    <ul class="qcld-wp-chatbot-wrap-version-wrapper">
        <li>
     <a class="wpchatbot-Upgrade" href="https://www.wpbot.pro/" target="_blank">Upgrade To Pro</a> 
      
      </li>
	  </ul>
</div>
<div class="TextResponsesoutside">
		<div class="qcwrap TextResponses">
			<div class="wp-chatbot-wrap">
			<div class="wpbot_dashboard_header "><h1><?php echo ($hasEdit?'Edit':'Add') ?> Response</h1></div>
			<form method="post" action="">
			<div class="wpbot_addons_section ">
			<div class="wpbot_single_addon_wrapper2">
			<p><b><?php esc_html_e('Please note the following ', 'wpbot'); ?></b></p>
			<ul>
				<li> <?php esc_html_e('1. The Query, Response and Keywords fields will be searched. Add Keywords for best matches', 'wpbot'); ?></li>
				<li> <?php esc_html_e('2. Please clear browser Cache and Cookies both before testing new responses', 'wpbot'); ?></li>
			</ul>
			<table class="form-table-str form-table">
				<tbody>
					<tr valign="top">
						<th scope="row"><?php esc_html_e('Query', 'wpbot'); ?></th>
						<td>
							<input name="str_nonce" type="hidden" value="<?php echo sanitize_key( wp_create_nonce('str-nonce') ); ?>" />
							<input type="text" name="qc_bot_str_query" value="<?php echo esc_attr($hasEdit?$data->query:''); ?>" style="width: 100%;" required />
							<br><i><?php esc_html_e('*Required. Add the query here. ', 'wpbot'); ?></i>
						</td>
					</tr>
					
					<tr valign="top">
						<th scope="row"> <?php esc_html_e('Response', 'wpbot'); ?></th>
						<td>	
						<?php 
							
							$content   = ($hasEdit?$data->response:'');
							$editor_id = 'qc_bot_str_response';
							$settings  = array( );
							 
							wp_editor( $content, $editor_id, $settings );
							
							?>
							<br><i><?php esc_html_e('*Required. Add the response here. ', 'wpbot'); ?></i>
						</td>
					</tr>
					<tr valign="top">
						<th scope="row">Keyword</th>
						<td>
							<input type="text" name="qc_bot_str_keyword" value="<?php echo esc_attr($hasEdit?$data->keyword:''); ?>" style="width: 100%;" />
							<br><i> <?php esc_html_e('Optional. Add multiple keyword or phrases as comma(,) seperated value. It will help to find the best match result.', 'wpbot'); ?></i>
						</td>
					</tr>
					
					
					<?php if($hasEdit): ?>

					<input type="hidden" name="qc_bot_str_id" value="<?php echo esc_attr($data->id); ?>" />

					<?php endif; ?>
				</tbody>
			</table>
			</div>
			<footer class="wp-chatbot-admin-footer">
				<div class="row">
					<div class="text-left col-sm-3 col-sm-offset-3">
						
					</div>
					<div class="text-right col-sm-6">
						<input type="submit" class="button button-primary" name="submit" id="submit" value="Save Settings">
					</div>
				</div>
				<!--                    row-->
			</footer>
			</div></form>
			</div>
		</div>
		</div>
	<?php endif; ?>

    <?php else: ?>

<div class="qcld-wp-chatbot-wrap-header">

    <a href="#" class="qcld-wp-chatbot-wrap-site__logo"><img style="width:100%" src="<?php echo esc_url( QCLD_wpCHATBOT_IMG_URL . '/chatbot.png' ); ?>" alt="Dialogflow CX"> WPBot Control Panel </a>
    <p><strong>Core Version:</strong> v<?php echo QCLD_wpCHATBOT_VERSION; ?></p>
    <ul class="qcld-wp-chatbot-wrap-version-wrapper">
        <li>
     <a class="wpchatbot-Upgrade" href="https://www.wpbot.pro/" target="_blank">Upgrade To Pro</a> 
      
      </li>
	  </ul>
</div>

<div class="qcld-wp-chatbot-wrap-header_inn">
<div class="qcld-wp-chatbot-wrap-header_inn_heading">
		<h1 class="wp-heading-inline"><?php esc_html_e('Simple Text Responses', 'wpbot'); ?></h1>
		 <a href="<?php echo esc_url( add_query_arg( 'action', 'edit', admin_url('admin.php?page=simple-text-response') ) ); ?>" class="button page-title-action"><?php esc_html_e('Add New', 'wpbot'); ?></a>
	</div>	
		<?php if(class_exists('Qcld_str_pro')): ?>
		
		<a href="<?php echo esc_url( add_query_arg( 'action', 'manage-categories', admin_url('admin.php?page=simple-text-response') ) ); ?>" class="button page-title-action"><?php esc_html_e('Manage Categories', 'wpbot'); ?></a>
		<a href="<?php echo esc_url( admin_url( 'admin-post.php?action=qc_str_export' ) ); ?>" class="button page-title-action"><?php esc_html_e('Export', 'wpbot'); ?></a>
		<a href="<?php echo esc_url( add_query_arg( 'action', 'import', admin_url('admin.php?page=simple-text-response') ) ); ?>" class="button page-title-action"><?php esc_html_e('Import', 'wpbot'); ?></a>
	</div>	
	<?php endif; ?>
	<div class="TextResponsesouter">
    <div class="wrap TextResponses">

<div id="qcld-show-more-wrapper-box">
<div class="qcld-show-more-text qcld-show-more-show-more-height">   

	<div class="wrapTexttop">
    <p><?php esc_html_e('Create simple text responses and the ChatBot will use advanced search algorithm to answer user questions. This is a simpler alternative to OpenAI or DialogFlow.', 'wpbot'); ?><br>
	<b><?php esc_html_e('NB: Simple Text Responses require mySQL Client version 5.6+', 'wpbot'); ?></b></p>
	</div>
    <form method="post" action="">
		<table class="form-table-str form-table">
			<tbody>
				<tr valign="top">
					<th scope="row"><?php esc_html_e('Phrase matching accuracy', 'wpbot'); ?></th>
					<td>
   						<input name="str_nonce" type="hidden" value="<?php echo sanitize_key( wp_create_nonce('str-nonce') ); ?>" />
						<input type="text" name="qc_bot_str_weight" value="<?php  esc_attr_e((get_option('qc_bot_str_weight')!=''?get_option('qc_bot_str_weight'):'0.4')); ?>" style="width: 100%;" required />
						<br><i><?php esc_html_e('Please enter a value between 0 to 1. Higher value means more exact matching of phrases.', 'wpbot'); ?></i>
					</td>
				</tr>
				<tr valign="top">
					<th scope="row"><?php esc_html_e('Search Fields', 'wpbot'); ?></th>
					<td>
						<?php 
							$fields = get_option('qc_bot_str_fields');
						?>
					
						<label for="qc_bot_str_field_title"><?php esc_html_e('Title', 'wpbot'); ?></label>
						<input id="qc_bot_str_field_title" type="checkbox" name="qc_bot_str_fields[]" value="query" <?php echo (!$fields?'checked="checked"':''); ?> <?php echo ($fields && in_array('query', $fields)?'checked="checked"':''); ?> />
						
						<label for="qc_bot_str_field_keyword"><?php esc_html_e('Keyword', 'wpbot'); ?></label>
						<input id="qc_bot_str_field_keyword" type="checkbox" name="qc_bot_str_fields[]" value="keyword" <?php echo (!$fields?'checked="checked"':''); ?> <?php echo ($fields && in_array('keyword', $fields)?'checked="checked"':''); ?> />
						
						<label for="qc_bot_str_field_response"><?php esc_html_e('Response', 'wpbot'); ?></label>
						<input id="qc_bot_str_field_response" type="checkbox" name="qc_bot_str_fields[]" value="response" <?php echo (!$fields?'checked="checked"':''); ?> <?php echo ($fields && in_array('response', $fields)?'checked="checked"':''); ?> />
						<br><i><?php esc_html_e('Please check/uncheck to allow/disallow searching in that fields', 'wpbot'); ?></i>
					</td>
				</tr>
			
				<tr valign="top">
					<th scope="row"></th>
					<td>
						<input type="submit" class="button button-primary" name="submit" id="submit" value="Save Settings">
					</td>
				</tr>
			</tbody>
		</table>
    </form>
	<form method="post" action="">
		<table class="form-table-str form-table">
			<tbody>
				<tr valign="top">
					<th scope="row"><?php esc_html_e('Re-Index STR', 'wpbot'); ?></th>
					<td>
						<input name="str_nonce" type="hidden" value="<?php echo sanitize_key( wp_create_nonce('str-nonce') ); ?>" />
						<input type="submit" class="button button-primary" name="qc-re-index" id="re-index" value="Re Index">
						
						<i><?php esc_html_e('Re-Index if results are not as expected.', 'wpbot'); ?></i>
					</td>
				</tr>
			</tbody>
		</table>
	</form>



    </div>
    <div class="qcld-show-more-show-more"><i class="fa fa-plus-circle" aria-hidden="true"></i></div>
    </div>

    <div id="poststuff">
		<div id="post-body" class="metabox-holder">
			<div id="post-body-content-edit" class="str-form">
				<div class="meta-box-sortables ui-sortable">
					<form method="post">
						
						<a href="<?php echo esc_url( add_query_arg( 'action', 'edit', admin_url('admin.php?page=simple-text-response') ) ); ?>" class="button page-title-action str-addnew"><?php esc_html_e('Add New', 'wpbot'); ?></a>
                        <?php
                        $this->response_list->prepare_items();
                        $this->response_list->display(); ?>
                    </form>
                </div>
            </div>
        </div>
      
    </div>
    </div>
	</div>
    <?php endif; ?>


	<style>
body {
    background-color: #F5F7FD;
    font-family: "DM Sans", sans-serif !important;
	font-optical-sizing: auto;
	font-size: 16px;
	font-weight: normal;
}
.qcld-wp-chatbot-wrap-header {
    display: flex;
    column-gap: 15px;
    row-gap: 10px;
    background: #fff;
    padding: 15px 15px;
    margin: 20px 20px 20px 0;
    border-radius: 16px;
    align-items: center;
    justify-content: space-between;
		width: 97%;
}

.qcld-wp-chatbot-wrap-header img{
  max-width: 50px;
}

.qcld-wp-chatbot-wrap-header ul, .qcld-wp-chatbot-wrap-header p, .qcld-wp-chatbot-wrap-header li{
  margin: 0;
}
.qcld-wp-chatbot-wrap-header a.wpchatbot-Upgrade {
    padding: 12px 25px;
    background: #ffffff;
    color: #5B4E96;
    border: 2px solid #5B4E96;
    border-radius: 6px;
    font-weight: bold;
}

.qcld-wp-chatbot-wrap-header a.wpchatbot-Upgrade:hover {
    padding: 12px 25px;
    background: #5B4E96;
    color: #fff;
    border: 2px solid #5B4E96;
    border-radius: 6px;
    font-weight: bold;
    text-decoration: none;
}
a.qcld-wp-chatbot-wrap-site__logo {
    font-size: 22px;
    color: #000;
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    margin: 0;
    padding: 0;
}

a{
 text-decoration: none;
}
.qcld-wp-chatbot-wrap-header_inn {
    background: #fff;
    border-radius: 16px;
    margin: 0 20px 0 0;
    padding: 20px;
}
.TextResponsesoutside {
	    background: #fff;
    border-radius: 16px;
    margin: 0 20px 0 0;
    padding: 20px;
}


.qcld-wp-chatbot-wrap-header_inn h1.wp-heading-inline {
    border-bottom: 1px solid #eee;
    padding: 0 0 15px 0;
    margin: 20px 0 12px 0;
    font-weight: bold;
    font-size: 22px !important;
}

.TextResponsesoutside h1 {
    border-bottom: 1px solid #eee;
    padding: 0 0 8px 0;
    margin: 20px 0 12px 0;
    font-weight: bold;
    font-size: 22px !important;
}
.TextResponsesoutside ul li {
    font-size: 14px;
}
.wpbot_single_addon_wrapper2 p {
    font-size: 16px;
}
.TextResponsesouter i {
    font-weight: normal;
    font-size: 12px;
    color: red;
}
.TextResponsesoutside  i {
    font-weight: normal;
    font-size: 12px;
    color: red;
}

table.form-table-str.form-table tr {
    background: #fff;
    padding: 2px 10px !important;
    border-radius: 6px;
    margin: 0 0 8px 0;
    border: 5px solid #fff;
    vertical-align: middle;
	    border: 1px solid #eee;
}
table.form-table-str.form-table {
    border: 1px solid #eee;
}
table.form-table-str.form-table tr {
    border: none;
}
table.form-table-str.form-table  th {
    vertical-align: top;
    text-align: center;
    padding: 20px 10px 20px 0;
    width: 200px;
    line-height: 1.3;
    font-weight: 600;
    vertical-align: middle;
}

.TextResponsesoutside footer.wp-chatbot-admin-footer input#submit {
    padding: 12px 20px;
    width: 100%;
    font-size: 16px;
    font-weight: 500;
    color: #988FBD;
    border-radius: 8px;
    position: relative;
    display: flex;
    align-items: center;
    gap: 15px;
    background: #5B4E96;
    color: #ffffff;
    text-decoration: none;
    border: none;
    max-width: 220px;
    margin: 12px 0 0 0;
	    line-height: 24px;
}
.qcld-wp-chatbot-wrap-header_inn a.button.page-title-action {
    padding: 3px 25px;
    background: #ffffff;
    color: #5B4E96;
    border: 2px solid #5B4E96;
    border-radius: 6px;
    font-weight: bold;
}

.qcld-wp-chatbot-wrap-header_inn a.button.page-title-action:hover {
	padding: 0px 15px;
    background: #5B4E96;
    color: #fff;
    border: 2px solid #5B4E96;
    border-radius: 6px;
    font-weight: bold;
    position: absolute;
    top: 36px;
    left: 280px;
}
.qcld-wp-chatbot-wrap-header_inn a.button.page-title-action {
	padding: 0px 15px;
    background: #ffffff;
    color: #5B4E96;
    border: 2px solid #5B4E96;
    border-radius: 6px;
    font-weight: bold;
    position: absolute;
    top: 36px;
    left: 280px;
}

.qcld-wp-chatbot-wrap-header_inn {
    position: relative;
}
.notice.is-dismissible.qcbot-str-top-notic {
    width: 96%;
}

.TextResponsesouter i {
    position: relative;
    top: 6px;
}

table.form-table-str.form-table th {
    text-align: left !important;
    padding: 20px 10px 20px 20px !important;
}

.qc-review-text img {
    width: 100%;
}

.TextResponsesouter input#submit {
    padding: 0px 15px;
    background: #ffffff;
    color: #5B4E96;
    border: 2px solid #5B4E96;
    border-radius: 6px;
    font-weight: bold;
}
.TextResponsesouter input#re-index {
    padding: 0px 15px;
    background: #ffffff;
    color: #5B4E96;
    border: 2px solid #5B4E96;
    border-radius: 6px;
    font-weight: bold;
}


#qcld-show-more-wrapper-box {
  margin-top: 0; 
  position:relative;
}
#qcld-show-more-wrapper-box .qcld-show-more-text {
/*   width: 660px;  */
  margin-bottom: 5px; 
  padding: 0 0; 
  position:relative; 
  display: block;
}
#qcld-show-more-wrapper-box .qcld-show-more-show-more {
    color: #ffffff;
    position: relative;
    padding: 40px 0 0 0;
    height: 40px;
    text-align: center;
    background: #f1f1f1;
    cursor: pointer;
    background: linear-gradient(to bottom, rgb(255 255 255 / 53%) 0%, rgb(188 174 255) 100%);
    margin: -18px 0 0 0;
    border-radius: 0 0 15px 15px;
    z-index: 99999;
    font-weight: bold;

}

#qcld-show-more-wrapper-box .qcld-show-more-show-more-height { 
  height: 112px; 
  overflow:hidden; 
}

#qcld-show-more-wrapper-box .qcld-show-more-show-more i {
    display: block;
    padding: 0 0 0 0;
    background: #5b4e96;
    width: 30px;
    height: 30px;
    line-height: 30px;
    border-radius: 50%;
    margin: -15px auto 0 auto;
    font-size: 18px !important;
    color: #fff;
}
.TextResponsesouter input#submit:hover {
    background: #5B4E96;
    color: #fff;
    border: 2px solid #5B4E96;
}

.TextResponsesouter input#re-index:hover {
    background: #5B4E96;
    color: #fff;
    border: 2px solid #5B4E96;
}

	</style>

<script type="text/javascript">  
jQuery(".qcld-show-more-show-more").click(function () {
        if(jQuery(".qcld-show-more-text").hasClass("qcld-show-more-show-more-height")) {
            jQuery(this).html('<i class="fa fa-minus-circle" aria-hidden="true"></i>');
        } else {
            jQuery(this).html('<i class="fa fa-plus-circle" aria-hidden="true"></i>');
        }

        jQuery(".qcld-show-more-text").toggleClass("qcld-show-more-show-more-height");
    }); 
</script>