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
| //checkPaymentStatus() function check the node user is paid or not
function checkPaymentStatus($key, $payment, $view_page_id) {
$paymentStr = '<br><a href="?page_id=' . $view_page_id . '&k=' . $key . '">' . __('View', MLM_PLUGIN_NAME) . '</a>';
if ($payment == 1) {
$paymentStr.='<br><span class=\"paid\">' . __('PAID', MLM_PLUGIN_NAME) . '</span>';
}
return $paymentStr;
}
//buildRootNetwork() function take the key and build the root node of the network
function buildRootNetwork($key) {
$level = array();
global $wpdb;
$userID = $wpdb->get_var("SELECT `user_id` FROM `{$wpdb->prefix}mlm_users` WHERE `user_key` = '".$key."'");
$username = $this->getUsername($key).'<br/>(' . $this->getname($this->getUsername($key)) . ')';
$myclients[] = "[{v:'" . $username . "', f:'" .$image."". $username . "<br><span class=\"owner\">" . __('Owner', MLM_PLUGIN_NAME) . "</span>'}, '', 'The owner'],";
$this->clients[] = $myclients;
$level[] = $key;
// splite over rule
return $level;
}
//buildLevelByLevelNetwork() function build the 1st and more level network
function buildLevelByLevelNetwork($key, $add_page_id, $view_page_id, $counter, $level) {
global $wpdb;
$level1 = array();
for ($i = 0; $i < $counter; $i++) {
$myclients = array();
if (!empty($level[$i]) && $level[$i] != 'add' && $level[$i] != '') {
$sql = "SELECT `username`, `payment_status`, `user_key`, `leg` FROM `{$wpdb->prefix}mlm_users` WHERE `parent_key` = '".$level[$i]."' AND `banned` = '0' ORDER BY leg DESC";
$res = $wpdb->get_results($sql);
$num = $wpdb->num_rows;
// no child case
if (!$num) {
$myclients[] = $this->addLeftLeg($level[$i], $add_page_id);
$myclients[] = $this->addRightLeg($level[$i], $add_page_id);
$level1[] = 'add';
$level1[] = 'add';
}
//if child exist
else if ($num > 0) {
$username = $this->getUsername($level[$i]) . '<br/>(' . $this->getname($this->getUsername($level[$i])) . ')';
foreach($res as $row) {
$userID = $wpdb->get_var("SELECT `user_id` FROM `{$wpdb->prefix}mlm_users` WHERE `user_key` = '".$row->user_key."'");
$payment = $this->checkPaymentStatus($row->user_key, $row->payment_status, $view_page_id);
//if only one child exist
if ($num == 1) {
//if right leg child exist
if ($row->leg == 1) {
$name = $this->getUsername($this->getuserkey($row->username)) . '<br/>(' . $this->getname($row->username) . ')';
$myclients[] = $this->addLeftLeg($level[$i], $add_page_id);
$myclients[] = "[{v:'" . $name . "',f:'" .$image."". $name . $payment . "'}, '" . $username . "', ''],";
$level1[] = 'add';
$level1[] = $row->user_key;
}
else { // if left leg child exist
$name = $this->getUsername($this->getuserkey($row->username)) . '<br/>(' . $this->getname($row->username) . ')';
$myclients[] = "[{v:'" . $name . "',f:'" .$image."". $name . $payment . "'}, '" . $username . "', ''],";
$myclients[] = $this->addRightLeg($level[$i], $add_page_id);
$level1[] = $row->user_key;
$level1[] = 'add';
}
}
else { //both child exist left and right leg
$name = $this->getUsername($this->getuserkey($row->username)) . '<br/>(' . $this->getname($row->username) . ')';
$myclients[] = "[{v:'" . $name . "',f:'" .$image."".$name. $payment . "'}, '" . $username . "', ''],";
$level1[] = $row->user_key;
}
} //end while loop
}
$this->clients[] = $myclients; //print_r($myclients);
} // end most outer if statement
} //end for loop
return $level1;
} |