Example #1
0
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";
    }
}
Example #2
0
?>
</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;
        ?>