function wp_subscribes_page() { if (!current_user_can('manage_options')) { wp_die(__('You do not have sufficient permissions to access this page.')); } global $wpdb, $table_prefix, $date; if (isset($_GET['group'])) { $total = $wpdb->query($wpdb->prepare("SELECT * FROM `{$table_prefix}sms_subscribes` WHERE `group_ID` = '%s'", $_GET['group'])); } else { $total = $wpdb->get_results("SELECT * FROM `{$table_prefix}sms_subscribes`"); $total = count($total); } if (isset($_POST['search'])) { $search_query = "%" . $_POST['s'] . "%"; $total = $wpdb->query($wpdb->prepare("SELECT * FROM `{$table_prefix}sms_subscribes` WHERE `name` LIKE '%s' OR `mobile` LIKE '%s'", $search_query, $search_query)); } $get_group_result = $wpdb->get_results("SELECT * FROM `{$table_prefix}sms_subscribes_group`"); /* Pagination */ wp_enqueue_style('pagination-css', plugin_dir_url(__FILE__) . 'assets/css/pagination.css', true, '1.0'); include_once dirname(__FILE__) . '/includes/classes/pagination.class.php'; // Instantiate pagination smsect with appropriate arguments $pagesPerSection = 10; $options = array(25, "All"); $stylePageOff = "pageOff"; $stylePageOn = "pageOn"; $styleErrors = "paginationErrors"; $styleSelect = "paginationSelect"; $Pagination = new Pagination($total, $pagesPerSection, $options, false, $stylePageOff, $stylePageOn, $styleErrors, $styleSelect); $start = $Pagination->getEntryStart(); $end = $Pagination->getEntryEnd(); /* Pagination */ if (isset($_POST['doaction'])) { $get_IDs = implode(",", $_POST['column_ID']); $check_ID = $wpdb->query($wpdb->prepare("SELECT * FROM {$table_prefix}sms_subscribes WHERE ID IN (%s)", $get_IDs)); switch ($_POST['action']) { case 'trash': if ($check_ID) { foreach ($_POST['column_ID'] as $items) { $wpdb->delete("{$table_prefix}sms_subscribes", array('ID' => $items)); } echo "<div class='updated'><p>" . __('With success was removed', 'wp-sms') . "</div></p>"; } else { echo "<div class='error'><p>" . __('Not Found', 'wp-sms') . "</div></p>"; } break; case 'active': if ($check_ID) { foreach ($_POST['column_ID'] as $items) { $wpdb->update("{$table_prefix}sms_subscribes", array('status' => '1'), array('ID' => $items)); } echo "<div class='updated'><p>" . __('User is active.', 'wp-sms') . "</div></p>"; } else { echo "<div class='error'><p>" . __('Not Found', 'wp-sms') . "</div></p>"; } break; case 'deactive': if ($check_ID) { foreach ($_POST['column_ID'] as $items) { $wpdb->update("{$table_prefix}sms_subscribes", array('status' => '0'), array('ID' => $items)); } echo "<div class='updated'><p>" . __('User is Deactive..', 'wp-sms') . "</div></p>"; } else { echo "<div class='error'><p>" . __('Not Found', 'wp-sms') . "</div></p>"; } break; } } if (isset($_POST['wp_subscribe_name'])) { $name = trim($_POST['wp_subscribe_name']); } if (isset($_POST['wp_subscribe_mobile'])) { $mobile = trim($_POST['wp_subscribe_mobile']); } if (isset($_POST['wpsms_group_name'])) { $group = trim($_POST['wpsms_group_name']); } if (isset($_POST['wp_add_subscribe'])) { if ($name && $mobile && $group) { if (preg_match(WP_SMS_MOBILE_REGEX, $mobile)) { $check_mobile = $wpdb->query($wpdb->prepare("SELECT * FROM `{$table_prefix}sms_subscribes` WHERE `mobile` = '%s'", $mobile)); if (!$check_mobile) { $check = $wpdb->insert("{$table_prefix}sms_subscribes", array('date' => $date, 'name' => $name, 'mobile' => $mobile, 'status' => '1', 'group_ID' => $group)); if ($check) { echo "<div class='updated'><p>" . sprintf(__('username <strong>%s</strong> was added successfully.', 'wp-sms'), $name) . "</div></p>"; } } else { echo "<div class='error'><p>" . __('Phone number is repeated', 'wp-sms') . "</div></p>"; } } else { echo "<div class='error'><p>" . __('Please enter a valid mobile number', 'wp-sms') . "</div></p>"; } } else { echo "<div class='error'><p>" . __('Please complete all fields', 'wp-sms') . "</div></p>"; } } if (isset($_POST['wpsms_add_group'])) { if ($group) { $check_group = $wpdb->query($wpdb->prepare("SELECT * FROM `{$table_prefix}sms_subscribes_group` WHERE `name` = '%s'", $group)); if (!$check_group) { $check = $wpdb->insert("{$table_prefix}sms_subscribes_group", array('name' => $group)); if ($check) { echo "<div class='updated'><p>" . sprintf(__('Group <strong>%s</strong> was added successfully.', 'wp-sms'), $group) . "</div></p>"; } } else { echo "<div class='error'><p>" . __('Group name is repeated', 'wp-sms') . "</div></p>"; } } else { echo "<div class='error'><p>" . __('Please complete field', 'wp-sms') . "</div></p>"; } } if (isset($_POST['wpsms_delete_group'])) { if ($group) { $check_group = $wpdb->query($wpdb->prepare("SELECT * FROM `{$table_prefix}sms_subscribes_group` WHERE `ID` = '%s'", $group)); if ($check_group) { $group_name = $wpdb->get_row($wpdb->prepare("SELECT * FROM `{$table_prefix}sms_subscribes_group` WHERE `ID` = '%s'", $group)); $check = $wpdb->delete("{$table_prefix}sms_subscribes_group", array('ID' => $group)); if ($check) { echo "<div class='updated'><p>" . sprintf(__('Group <strong>%s</strong> was successfully removed.', 'wp-sms'), $group_name->name) . "</div></p>"; } } } else { echo "<div class='error'><p>" . __('Nothing found!', 'wp-sms') . "</div></p>"; } } if (isset($_POST['wp_edit_subscribe'])) { if ($name && $mobile && $group) { if (preg_match(WP_SMS_MOBILE_REGEX, $mobile)) { $check = $wpdb->update("{$table_prefix}sms_subscribes", array('name' => $name, 'mobile' => $mobile, 'status' => $_POST['wp_subscribe_status'], 'group_ID' => $group), array('ID' => $_GET['ID'])); if ($check) { echo "<div class='updated'><p>" . sprintf(__('username <strong>%s</strong> was update successfully.', 'wp-sms'), $name) . "</div></p>"; } } else { echo "<div class='error'><p>" . __('Please enter a valid mobile number', 'wp-sms') . "</div></p>"; } } else { echo "<div class='error'><p>" . __('Please complete all fields', 'wp-sms') . "</div></p>"; } } if (!$get_group_result) { add_action('admin_print_footer_scripts', 'wpsms_group_pointer'); } if (isset($_GET['action'])) { if ($_GET['action'] == 'import') { include_once dirname(__FILE__) . "/includes/classes/excel-reader.class.php"; $get_mobile = $wpdb->get_col("SELECT `mobile` FROM {$table_prefix}sms_subscribes"); if (isset($_POST['wps_import'])) { if (!$_FILES['wps-import-file']['error']) { $data = new Spreadsheet_Excel_Reader($_FILES["wps-import-file"]["tmp_name"]); foreach ($data->sheets[0]['cells'] as $items) { // Check and count duplicate items if (in_array($items[2], $get_mobile)) { $duplicate[] = $items[2]; continue; } // Count submited items. $total_submit[] = $data->sheets[0]['cells']; $result = $wpdb->insert("{$table_prefix}sms_subscribes", array('date' => date('Y-m-d H:i:s', current_time('timestamp', 0)), 'name' => $items[1], 'mobile' => $items[2], 'status' => '1', 'group_ID' => $_POST['wpsms_group_name'])); } if ($result) { echo "<div class='updated'><p>" . sprintf(__('<strong>%s</strong> items was successfully added.', 'wp-sms'), count($total_submit)) . "</div></p>"; } if ($duplicate) { echo "<div class='error'><p>" . sprintf(__('<strong>%s</strong> Mobile numbers Was repeated.', 'wp-sms'), count($duplicate)) . "</div></p>"; } } else { echo "<div class='error'><p>" . __('Please complete all fields', 'wp-sms') . "</div></p>"; } } include_once dirname(__FILE__) . "/includes/templates/subscribe/import.php"; } else { if ($_GET['action'] == 'export') { include_once dirname(__FILE__) . "/includes/templates/subscribe/export.php"; } else { include_once dirname(__FILE__) . "/includes/templates/subscribe/subscribes.php"; } } } else { include_once dirname(__FILE__) . "/includes/templates/subscribe/subscribes.php"; } }
?> </th> </tr> </thead> <tbody> <?php // Instantiate pagination smsect with appropriate arguments $pagesPerSection = 10; $options = array(25, "All"); $stylePageOff = "pageOff"; $stylePageOn = "pageOn"; $styleErrors = "paginationErrors"; $styleSelect = "paginationSelect"; $Pagination = new Pagination(count($total), $pagesPerSection, $options, false, $stylePageOff, $stylePageOn, $styleErrors, $styleSelect); $start = $Pagination->getEntryStart(); $end = $Pagination->getEntryEnd(); // Retrieve MySQL data $get_result = $wpdb->get_results("SELECT * FROM `{$table_prefix}sms_send` ORDER BY `{$table_prefix}sms_send`.`ID` DESC LIMIT {$start}, {$end}"); $i = null; if (count($get_result) > 0) { foreach ($get_result as $gets) { $i++; ?> <tr class="<?php echo $i % 2 == 0 ? 'alternate' : 'author-self'; ?> " valign="middle" id="link-2"> <th class="check-column" scope="row"><input type="checkbox" name="column_ID[]" value="<?php echo $gets->ID; ?>