PluginProbe
WPBot – AI ChatBot for Live Support, Lead Generation, WordPress Automation, AI Services / 8.7.6
WPBot – AI ChatBot for Live Support, Lead Generation, WordPress Automation, AI Services v8.7.6
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 8.5.0 All 532 releases
chatbot / includes / admin / templates / email_subscription.php

email_subscription.php in WPBot – AI ChatBot for Live Support, Lead Generation, WordPress Automation, AI Services 8.7.6, at includes/admin/templates/email_subscription.php

178 lines 6.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Email Subscription Template
4 *
5 * @package Botmaster
6 * @since 14.8.2
7 */
8
9 if ( ! defined( 'ABSPATH' ) ) {
10 exit;
11 }
12
13 wp_register_style( 'qlcd-wp-chatbot-admin-style-email', QCLD_wpCHATBOT_PLUGIN_URL . '/css/email_subscription.css', '', QCLD_wpCHATBOT_VERSION, 'screen' );
14 wp_enqueue_style( 'qlcd-wp-chatbot-admin-style-email' );
15
16 wp_register_script( 'qcld-wp-chatbot-email-subscription-js', QCLD_wpCHATBOT_PLUGIN_URL . '/js/email_subscription.js', array( 'jquery' ), true );
17 wp_enqueue_script( 'qcld-wp-chatbot-email-subscription-js' );
18
19 global $wpdb;
20 if ( ! function_exists( 'wp_get_current_user' ) ) {
21 include ABSPATH . 'wp-includes/pluggable.php';
22 }
23
24 $table = $wpdb->prefix . 'wpbot_subscription';
25 $table_sql = esc_sql( $table );
26
27 if ( isset( $_POST['wpbot_email_subscription_remove'] ) && '1' === $_POST['wpbot_email_subscription_remove'] ) { // phpcs:ignore WordPress.Security.NonceVerification.Missing
28 check_admin_referer( 'wpbot_email_subscription_delete', 'wpbot_email_subscription_nonce' );
29 if ( current_user_can( 'manage_options' ) && isset( $_POST['emails'] ) && is_array( $_POST['emails'] ) ) {
30 $email_ids = array_map( 'absint', wp_unslash( $_POST['emails'] ) );
31 foreach ( $email_ids as $email_id ) {
32 $wpdb->delete( $table, array( 'id' => $email_id ), array( '%d' ) ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
33 }
34 echo '<script>window.location.href="' . esc_url_raw( admin_url( 'admin.php?page=email-subscription&msg=success' ) ) . '";</script>';
35 exit;
36 }
37 }
38
39 $current_user = wp_get_current_user();
40 $url = admin_url( 'edit.php?post_type=sld&page=qcsld_click_list' );
41 $customPagHTML = '';
42 // Main Report Area — cache total count (invalidated when subscriptions change).
43 $total_cache_key = 'wpbot_email_sub_total';
44 $total = wp_cache_get( $total_cache_key, 'wpbot' );
45 if ( false === $total ) {
46 $total = $wpdb->get_var( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
47 'SELECT COUNT(*) FROM `' . $table_sql . '`' // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
48 );
49 wp_cache_set( $total_cache_key, $total, 'wpbot', 300 );
50 }
51 $items_per_page = 50;
52
53 $page = isset( $_GET['cpage'] ) ? abs( (int) $_GET['cpage'] ) : 1; // phpcs:ignore WordPress.Security.NonceVerification.Missing
54 $offset = ( $page * $items_per_page ) - $items_per_page;
55
56 // Cache paginated rows per page number.
57 $rows_cache_key = 'wpbot_email_sub_rows_p' . $page;
58 $rows = wp_cache_get( $rows_cache_key, 'wpbot' );
59 if ( false === $rows ) {
60 $rows = $wpdb->get_results( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching
61 $wpdb->prepare(
62 'SELECT * FROM `' . $table_sql . '` ORDER BY id DESC LIMIT %d, %d', // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
63 $offset,
64 $items_per_page
65 )
66 );
67 wp_cache_set( $rows_cache_key, $rows, 'wpbot', 300 );
68 }
69
70 $totalPage = ceil( $total / $items_per_page );
71
72 if ( $totalPage > 1 ) {
73 $customPagHTML = '<div><span class="wpbot_pagination">Page ' . esc_html( $page ) . ' of ' . esc_html( $totalPage ) . '</span>' . paginate_links(
74 array(
75 'base' => add_query_arg( 'cpage', '%#%' ),
76 'format' => '',
77 'prev_text' => esc_html__( '&laquo;', 'chatbot' ),
78 'next_text' => esc_html__( '&raquo;', 'chatbot' ),
79 'total' => esc_html( $totalPage ),
80 'current' => esc_html( $page ),
81 )
82 ) . '</div>';
83 }
84 $mainurl = admin_url( 'admin.php?page=email-subscription' );
85
86 ?>
87 <div class="qchero_sliders_list_wrapper wpbot-userdata-page">
88 <div class="sld_menu_title">
89 <h2><?php echo esc_html__( 'User Data', 'chatbot' ); ?></h2>
90 </div>
91
92 <?php if ( $customPagHTML != '' ) : ?>
93 <div class="sld_menu_title sld_menu_title_align wpbot-userdata-toolbar">
94 <div class="qcld-session-pagination"><?php echo wp_kses_post( $customPagHTML ); ?></div>
95 </div>
96 <?php endif; ?>
97
98 <?php
99 if ( isset( $_GET['msg'] ) && $_GET['msg'] == 'success' ) {// phpcs:ignore WordPress.Security.NonceVerification.Missing
100 echo '<div class="notice notice-success"><p>Record has beed Deleted Successfully!</p></div>';
101 }
102 ?>
103
104 <form id="wpcs_form_sessions" class="wpbot-userdata-form" action="<?php echo esc_url( $mainurl ); ?>" method="POST">
105 <?php wp_nonce_field( 'wpbot_email_subscription_delete', 'wpbot_email_subscription_nonce' ); ?>
106 <input type="hidden" name="wpbot_email_subscription_remove" value="1" />
107
108 <div class="wpbot-userdata-actions">
109 <button type="button" class="button-primary" id="wpbot_submit_email_form"><?php echo esc_html__( 'Delete', 'chatbot' ); ?></button>
110 <a class="button-primary wpbot-userdata-export" href="<?php echo esc_url( admin_url( 'admin-post.php?action=wpbprint.csv' ) ); ?>"><?php echo esc_html__( 'Export All Contacts', 'chatbot' ); ?></a>
111 <span class="wpbot-userdata-total"><?php echo esc_html__( 'Total', 'chatbot' ); ?> <strong><?php echo esc_html( $total ); ?></strong></span>
112 </div>
113
114 <div class="qchero_slider_table_area">
115 <div class="sld_payment_table">
116 <div class="sld_payment_row header">
117
118 <div class="sld_payment_cell">
119 <input type="checkbox" id="wpbot_checked_all" />
120 </div>
121
122 <div class="sld_payment_cell">
123 <?php echo esc_html__( 'Date', 'chatbot' ); ?>
124 </div>
125 <div class="sld_payment_cell">
126 <?php echo esc_html__( 'Name', 'chatbot' ); ?>
127 </div>
128 <div class="sld_payment_cell">
129 <?php echo esc_html__( 'Email', 'chatbot' ); ?>
130 </div>
131 <div class="sld_payment_cell">
132 <?php echo esc_html__( 'Phone', 'chatbot' ); ?>
133 </div>
134
135 </div>
136
137 <?php
138 foreach ( $rows as $row ) {
139 ?>
140 <div class="sld_payment_row">
141
142 <div class="sld_payment_cell">
143
144 <input type="checkbox" name="emails[]" class="wpbot_email_checkbox" value="<?php echo absint( $row->id ); ?>" />
145 </div>
146
147 <div class="sld_payment_cell">
148 <div class="sld_responsive_head"><?php echo esc_html__( 'Date', 'chatbot' ); ?></div>
149 <?php echo esc_html( gmdate( 'm/d/Y', strtotime( $row->date ) ) ); ?>
150 </div>
151 <div class="sld_payment_cell">
152 <div class="sld_responsive_head"><?php echo esc_html__( 'Name', 'chatbot' ); ?></div>
153 <?php echo esc_html( $row->name ); ?>
154 </div>
155 <div class="sld_payment_cell">
156 <div class="sld_responsive_head"><?php echo esc_html__( 'Email', 'chatbot' ); ?></div>
157 <?php
158 echo esc_html( $row->email );
159 ?>
160 </div>
161 <div class="sld_payment_cell">
162 <div class="sld_responsive_head"><?php echo esc_html__( 'Phone', 'chatbot' ); ?></div>
163 <?php
164 echo esc_html( $row->phone );
165
166 ?>
167 </div>
168
169 </div>
170 <?php
171 }
172 ?>
173
174 </div>
175 </div>
176 </form>
177 </div>
178