/
numbersList.php
114 lines (101 loc) · 3.46 KB
/
numbersList.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?php
include_once('../../../wp-load.php');
global $wpdb;
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
if ($_POST['type'] == "create"){
$data = verifyData();
create($data);
} else if ($_POST['type'] == "delete"){
delete();
} else {
echo json_encode(array("status"=>"error",
"message"=>"Invalid request type."));
die();
}
} else if ($_SERVER['REQUEST_METHOD'] == 'GET') {
getCurrentList();
} else {
echo json_encode(array("status"=>"error",
"message"=>"Bad HTTP method"));
die();
}
function verifyData(){
$phone = $_POST["phone"];
$phone = str_replace("(", "", $phone);
$phone = str_replace(")", "", $phone);
$phone = str_replace("-", "", $phone);
$phone = str_replace("+", "", $phone);
$phone = str_replace(" ", "", $phone);
if (strlen($phone) != 10){
echo json_encode(array("status"=>"error",
"message"=>"Phone is not 10 digits"));
die();
}
$result = array("name"=>$_POST["name"],
"phone"=>$phone);
return $result;
}
function create($data){
global $wpdb;
$table_name = $wpdb->prefix . "SMS";
$phone = $data['phone'];
$name = $data['name'];
$sqlCheck = "SELECT * FROM `$table_name` WHERE `phone_number`='$phone';";
$result = $wpdb->query($sqlCheck);
if ($result != 0){
echo json_encode(array("status"=>"error",
"message"=>"Number already exists"));
} else {
$sql = "INSERT INTO $table_name(`id`, `name`, `phone_number`) VALUES (DEFAULT,'$name','$phone')";
$result = $wpdb->query($sql);
if ($result == 1){
echo json_encode(array("status"=>"success"));
} else {
echo json_encode(array("status"=>"error",
"message"=>"Query execution error"));
}
}
}
function delete(){
global $wpdb;
$table_name = $wpdb->prefix . "SMS";
$ids = $_POST['ids'];
$len = count($ids);
$builder = "";
for ($i = 0; $i < $len; $i++){
$id = $ids[$i];
$builder = $builder . "`id`='$id'";
if ($i != ($len - 1)){
$builder = $builder . " OR ";
}
}
$sql = "DELETE FROM `wp_SMS` WHERE $builder;";
$result = $wpdb->query($sql);
if ($result >= 1){
echo json_encode(array("status"=>"success"));
} else {
echo json_encode(array("status"=>"error",
"message"=>"Query execution error. Unable to delete numbers."));
}
}
function getCurrentList(){
global $wpdb;
$table = $wpdb->prefix . "SMS";
$sql = "SELECT * FROM $table;";
$result = $wpdb->get_results($sql);
$returnArr = array();
if (count($result) == 0){
array_push($returnArr, "<li>Looks like there's no one here yet. Add someone above!</li>");
} else {
foreach($result as $value) {
$name = $value->name;
$phone = $value->phone_number;
$id = $value->id;
$pArr = str_split($phone);
$phone = "(".$pArr[0].$pArr[1].$pArr[2].")-".$pArr[3].$pArr[4].$pArr[5]."-".$pArr[6].$pArr[7].$pArr[8].$pArr[9];
array_push($returnArr, '<li><input type="checkbox" name="checked" form="numbers_form" value="'.$id.'" />'.$name.': '.$phone.'</li>');
}
}
echo json_encode($returnArr);
}
?>