Passed
Push — master ( 7ff734...a28a67 )
by Maxwell
01:51
created

getUser()   B

Complexity

Conditions 6
Paths 32

Size

Total Lines 52
Code Lines 41

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
cc 6
eloc 41
c 2
b 0
f 0
nc 32
nop 2
dl 0
loc 52
rs 8.6417

How to fix   Long Method   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
<script type='text/javascript' src='//www.midijs.net/lib/midi.js'></script>
2
<?php
3
require(__DIR__ . "/../vendor/autoload.php");
4
5
define("DEBUG_MODE", true);
6
session_start();
7
if(defined("DEBUG_MODE") && DEBUG_MODE) {
8
    ini_set('display_errors', 1);
9
    ini_set('display_startup_errors', 1);
10
    error_reporting(E_ALL);
11
}
12
13
function validateCSS($validate) {
14
	$DISALLOWED = array("<?php", "?>", "behavior: url", ".php", "@import", "@\import", "@/import"); 
15
16
	$validated = str_replace($DISALLOWED, "", $validate);
17
    return $validated;
18
}
19
function validateMarkdown($comment) {
20
	$markdown = new Michelf\Markdown;
21
	$markdown->no_markup = true;
22
	$transformed = $markdown->transform($comment);
23
	return preg_replace(
24
		"/<a href=(?:'|\")javascript:(.*?)(?:'|\")>(.*?)<\/a>/i",
25
		"Attempted XSS: $2 ($1)",
26
		$transformed
27
	);
28
}
29
30
function validateCaptcha($privatekey, $response) {
31
	$responseData = json_decode(file_get_contents('https://www.google.com/recaptcha/api/siteverify?secret='.$privatekey.'&response='.$response));
32
	return $responseData->success;
33
}
34
35
function requireLogin() {
36
	if (!isset($_SESSION['user'])) {
37
		header("Location: /login.php?r_login"); die();
38
	}
39
}
40
41
function getID($user, $connection) {
42
	$stmt = $connection->prepare("SELECT * FROM users WHERE username = ?");
43
	$stmt->bind_param("s", $user);
44
	$stmt->execute();
45
	$result = $stmt->get_result();
46
	if($result->num_rows === 0) return 'error';
47
	while($row = $result->fetch_assoc()) {
48
		$id = $row['id'];
49
	} 
50
	$stmt->close();
51
	return $id;
0 ignored issues
show
Comprehensibility Best Practice introduced by
The variable $id does not seem to be defined for all execution paths leading up to this point.
Loading history...
52
}
53
54
function getName($id, $connection) {
55
	$stmt = $connection->prepare("SELECT * FROM users WHERE id = ?");
56
	$stmt->bind_param("s", $id);
57
	$stmt->execute();
58
	$result = $stmt->get_result();
59
	if($result->num_rows === 0) return('error');
60
	while($row = $result->fetch_assoc()) {
61
		$name = htmlspecialchars($row['username']);
62
	} 
63
	$stmt->close();
64
	return $name;
0 ignored issues
show
Comprehensibility Best Practice introduced by
The variable $name does not seem to be defined for all execution paths leading up to this point.
Loading history...
65
}
66
67
function getPFP($user, $connection) {
68
	$stmt = $connection->prepare("SELECT * FROM users WHERE username = ?");
69
	$stmt->bind_param("s", $user);
70
	$stmt->execute();
71
	$result = $stmt->get_result();
72
	if($result->num_rows === 0) return('error');
73
	while($row = $result->fetch_assoc()) {
74
		$pfp = htmlspecialchars($row['pfp']);
75
	} 
76
	$stmt->close();
77
	return $pfp;
0 ignored issues
show
Comprehensibility Best Practice introduced by
The variable $pfp does not seem to be defined for all execution paths leading up to this point.
Loading history...
78
}
79
80
function checkIfFriended($friend1, $friend2, $connection)
81
{
82
	$stmt = $connection->prepare("SELECT * FROM `friends` WHERE reciever = ? AND sender = ? OR reciever = ? AND sender = ?");
83
	$stmt->bind_param("ssss", $friend1, $friend2, $friend2, $friend1);
84
	$stmt->execute();
85
	$result = $stmt->get_result();
86
	if($result->num_rows === 1){ return true; }
87
	return false;
88
}
89
90
function getUser($id, $connection) {
91
	$userResult = array();
92
	$stmt = $connection->prepare("SELECT * FROM users WHERE id = ?");
93
	$stmt->bind_param("i", $id);
94
	$stmt->execute();
95
	$result = $stmt->get_result();
96
	if($result->num_rows === 0) echo('That user does not exist.');
97
	while($row = $result->fetch_assoc()) {
98
		$userResult['username'] = $row['username'];
99
		$userResult['id'] = $row['id'];
100
		$userResult['date'] = $row['date'];
101
		$userResult['bio'] = $row['bio'];
102
		$userResult['css'] = $row['css'];
103
		$userResult['pfp'] = $row['pfp'];
104
		$userResult['badges'] = explode(';', $row['badges']);
105
		$userResult['music'] = $row['music'];
106
	}
107
	$stmt->close();
108
109
	$stmt = $connection->prepare("SELECT * FROM gamecomments WHERE author = ?");
110
	$stmt->bind_param("s", $userResult['username']);
111
	$stmt->execute();
112
	$result = $stmt->get_result();
113
114
	$userResult['comments'] = 0;
115
	while($row = $result->fetch_assoc()) {
0 ignored issues
show
Unused Code introduced by
The assignment to $row is dead and can be removed.
Loading history...
116
		$userResult['comments']++;
117
	}
118
	$stmt->close();
119
120
	$stmt = $connection->prepare("SELECT * FROM comments WHERE author = ?");
121
	$stmt->bind_param("s", $userResult['username']);
122
	$stmt->execute();
123
	$result = $stmt->get_result();
124
125
	$userResult['profilecomments'] = 0;
126
	while($row = $result->fetch_assoc()) {
127
		$userResult['profilecomments']++;
128
	}
129
	$stmt->close();
130
131
	$stmt = $connection->prepare("SELECT * FROM files WHERE author = ? AND status='y'");
132
	$stmt->bind_param("s", $userResult['username']);
133
	$stmt->execute();
134
	$result = $stmt->get_result();
135
136
	$userResult['filesuploaded'] = 0;
137
	while($row = $result->fetch_assoc()) {
138
		$userResult['filesuploaded']++;
139
	}
140
	$stmt->close();
141
	return $userResult;
142
}
143
?>