Skip to content
This repository was archived by the owner on Apr 9, 2023. It is now read-only.

Commit f3546b7

Browse files
committed
Clean up
1 parent 9aca00f commit f3546b7

File tree

10 files changed

+134
-923
lines changed

10 files changed

+134
-923
lines changed

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ include "b1webanalytics.php";
2525

2626
After collecting enough data you will see a simple report when opening b1statistics.php.
2727

28+
Interested in using b1 web analytics as a library or in a modified way? You can disable auto run in the settings:
29+
```php
30+
$b1_auto_run = FALSE;
31+
```
32+
2833
## Requirements
2934
* PHP 5.0 or higher
3035
* a MySQL Server

b1settings.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@
99
#-----------------------------------------
1010
*/
1111

12-
$b1_analytics_db = new b1_db_manager("user", "password", "database", "localhost");
12+
$b1_analytics_db = new b1_db_manager("user", "password", "database", "localhost");
13+
$b1_auto_run = TRUE;

b1statistics.php

Lines changed: 119 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,21 @@
99
#-----------------------------------------
1010
*/
1111

12-
$country_to_continent = array ("AD"=>"EU","AE"=>"AS","AF"=>"AS","AG"=>"NA","AI"=>"NA","AL"=>"EU","AM"=>"AS","AN"=>"NA","AO"=>"AF","AP"=>"AS","AR"=>"SA","AS"=>"OC","AT"=>"EU","AU"=>"OC","AW"=>"NA","AX"=>"EU","AZ"=>"AS","BA"=>"EU","BB"=>"NA","BD"=>"AS","BE"=>"EU","BF"=>"AF","BG"=>"EU","BH"=>"AS","BI"=>"AF","BJ"=>"AF","BL"=>"NA","BM"=>"NA","BN"=>"AS","BO"=>"SA","BR"=>"SA","BS"=>"NA","BT"=>"AS","BV"=>"AN","BW"=>"AF","BY"=>"EU","BZ"=>"NA","CA"=>"NA","CC"=>"AS","CD"=>"AF","CF"=>"AF","CG"=>"AF","CH"=>"EU","CI"=>"AF","CK"=>"OC","CL"=>"SA","CM"=>"AF","CN"=>"AS","CO"=>"SA","CR,NA","CU"=>"NA","CV"=>"AF","CX"=>"AS","CY"=>"AS","CZ"=>"EU","DE"=>"EU","DJ"=>"AF","DK"=>"EU","DM"=>"NA","DO"=>"NA","DZ"=>"AF","EC"=>"SA","EE"=>"EU","EG"=>"AF","EH"=>"AF","ER"=>"AF","ES"=>"EU","ET"=>"AF","EU"=>"EU","FI"=>"EU","FJ"=>"OC","FK"=>"SA","FM"=>"OC","FO"=>"EU","FR"=>"EU","FX"=>"EU","GA"=>"AF","GB"=>"EU","GD"=>"NA","GE"=>"AS","GF"=>"SA","GG"=>"EU","GH"=>"AF","GI"=>"EU","GL"=>"NA","GM"=>"AF","GN"=>"AF","GP"=>"NA","GQ"=>"AF","GR"=>"EU","GS"=>"AN","GT"=>"NA","GU"=>"OC","GW"=>"AF","GY"=>"SA","HK"=>"AS","HM"=>"AN","HN"=>"NA","HR"=>"EU","HT"=>"NA","HU"=>"EU","ID"=>"AS","IE"=>"EU","IL"=>"AS","IM"=>"EU","IN"=>"AS","IO"=>"AS","IQ"=>"AS","IR"=>"AS","IS"=>"EU","IT"=>"EU","JE"=>"EU","JM"=>"NA","JO"=>"AS","JP"=>"AS","KE"=>"AF","KG"=>"AS","KH"=>"AS","KI"=>"OC","KM"=>"AF","KN"=>"NA","KP"=>"AS","KR"=>"AS","KW"=>"AS","KY"=>"NA","KZ"=>"AS","LA"=>"AS","LB"=>"AS","LC"=>"NA","LI"=>"EU","LK"=>"AS","LR"=>"AF","LS"=>"AF","LT"=>"EU","LU"=>"EU","LV"=>"EU","LY"=>"AF","MA"=>"AF","MC"=>"EU","MD"=>"EU","ME"=>"EU","MF"=>"NA","MG"=>"AF","MH"=>"OC","MK"=>"EU","ML"=>"AF","MM"=>"AS","MN"=>"AS","MO"=>"AS","MP"=>"OC","MQ"=>"NA","MR"=>"AF","MS"=>"NA","MT"=>"EU","MU"=>"AF","MV"=>"AS","MW"=>"AF","MX"=>"NA","MY"=>"AS","MZ"=>"AF","NA"=>"AF","NC"=>"OC","NE"=>"AF","NF"=>"OC","NG"=>"AF","NI"=>"NA","NL"=>"EU","NO"=>"EU","NP"=>"AS","NR"=>"OC","NU"=>"OC","NZ"=>"OC","OM"=>"AS","PA"=>"NA","PE"=>"SA","PF"=>"OC","PG"=>"OC","PH"=>"AS","PK"=>"AS","PL"=>"EU","PM"=>"NA","PN"=>"OC","PR"=>"NA","PS"=>"AS","PT"=>"EU","PW"=>"OC","PY"=>"SA","QA"=>"AS","RE"=>"AF","RO"=>"EU","RS"=>"EU","RU"=>"EU","RW"=>"AF","SA"=>"AS","SB"=>"OC","SC"=>"AF","SD"=>"AF","SE"=>"EU","SG"=>"AS","SH"=>"AF","SI"=>"EU","SJ"=>"EU","SK"=>"EU","SL"=>"AF","SM"=>"EU","SN"=>"AF","SO"=>"AF","SR"=>"SA","ST"=>"AF","SV"=>"NA","SY"=>"AS","SZ"=>"AF","TC"=>"NA","TD"=>"AF","TF"=>"AN","TG"=>"AF","TH"=>"AS","TJ"=>"AS","TK"=>"OC","TL"=>"AS","TM"=>"AS","TN"=>"AF","TO"=>"OC","TR"=>"EU","TT"=>"NA","TV"=>"OC","TW"=>"AS","TZ"=>"AF","UA"=>"EU","UG"=>"AF","UM"=>"OC","US"=>"NA","UY"=>"SA","UZ"=>"AS","VA"=>"EU","VC"=>"NA","VE"=>"SA","VG"=>"NA","VI"=>"NA","VN"=>"AS","VU"=>"OC","WF"=>"OC","WS"=>"OC","YE"=>"AS","YT"=>"AF","ZA"=>"AF","ZM"=>"AF","ZW"=>"AF");
12+
/*
13+
# Settings
14+
*/
15+
$b1_analytics_db = new b1_db_manager("user", "password", "database", "localhost");
16+
$b1_auto_run = TRUE;
17+
1318
include "b1settings.php";
1419

20+
/*
21+
# Source
22+
*/
23+
24+
$country_to_continent = array ("AD"=>"EU","AE"=>"AS","AF"=>"AS","AG"=>"NA","AI"=>"NA","AL"=>"EU","AM"=>"AS","AN"=>"NA","AO"=>"AF","AP"=>"AS","AR"=>"SA","AS"=>"OC","AT"=>"EU","AU"=>"OC","AW"=>"NA","AX"=>"EU","AZ"=>"AS","BA"=>"EU","BB"=>"NA","BD"=>"AS","BE"=>"EU","BF"=>"AF","BG"=>"EU","BH"=>"AS","BI"=>"AF","BJ"=>"AF","BL"=>"NA","BM"=>"NA","BN"=>"AS","BO"=>"SA","BR"=>"SA","BS"=>"NA","BT"=>"AS","BV"=>"AN","BW"=>"AF","BY"=>"EU","BZ"=>"NA","CA"=>"NA","CC"=>"AS","CD"=>"AF","CF"=>"AF","CG"=>"AF","CH"=>"EU","CI"=>"AF","CK"=>"OC","CL"=>"SA","CM"=>"AF","CN"=>"AS","CO"=>"SA","CR,NA","CU"=>"NA","CV"=>"AF","CX"=>"AS","CY"=>"AS","CZ"=>"EU","DE"=>"EU","DJ"=>"AF","DK"=>"EU","DM"=>"NA","DO"=>"NA","DZ"=>"AF","EC"=>"SA","EE"=>"EU","EG"=>"AF","EH"=>"AF","ER"=>"AF","ES"=>"EU","ET"=>"AF","EU"=>"EU","FI"=>"EU","FJ"=>"OC","FK"=>"SA","FM"=>"OC","FO"=>"EU","FR"=>"EU","FX"=>"EU","GA"=>"AF","GB"=>"EU","GD"=>"NA","GE"=>"AS","GF"=>"SA","GG"=>"EU","GH"=>"AF","GI"=>"EU","GL"=>"NA","GM"=>"AF","GN"=>"AF","GP"=>"NA","GQ"=>"AF","GR"=>"EU","GS"=>"AN","GT"=>"NA","GU"=>"OC","GW"=>"AF","GY"=>"SA","HK"=>"AS","HM"=>"AN","HN"=>"NA","HR"=>"EU","HT"=>"NA","HU"=>"EU","ID"=>"AS","IE"=>"EU","IL"=>"AS","IM"=>"EU","IN"=>"AS","IO"=>"AS","IQ"=>"AS","IR"=>"AS","IS"=>"EU","IT"=>"EU","JE"=>"EU","JM"=>"NA","JO"=>"AS","JP"=>"AS","KE"=>"AF","KG"=>"AS","KH"=>"AS","KI"=>"OC","KM"=>"AF","KN"=>"NA","KP"=>"AS","KR"=>"AS","KW"=>"AS","KY"=>"NA","KZ"=>"AS","LA"=>"AS","LB"=>"AS","LC"=>"NA","LI"=>"EU","LK"=>"AS","LR"=>"AF","LS"=>"AF","LT"=>"EU","LU"=>"EU","LV"=>"EU","LY"=>"AF","MA"=>"AF","MC"=>"EU","MD"=>"EU","ME"=>"EU","MF"=>"NA","MG"=>"AF","MH"=>"OC","MK"=>"EU","ML"=>"AF","MM"=>"AS","MN"=>"AS","MO"=>"AS","MP"=>"OC","MQ"=>"NA","MR"=>"AF","MS"=>"NA","MT"=>"EU","MU"=>"AF","MV"=>"AS","MW"=>"AF","MX"=>"NA","MY"=>"AS","MZ"=>"AF","NA"=>"AF","NC"=>"OC","NE"=>"AF","NF"=>"OC","NG"=>"AF","NI"=>"NA","NL"=>"EU","NO"=>"EU","NP"=>"AS","NR"=>"OC","NU"=>"OC","NZ"=>"OC","OM"=>"AS","PA"=>"NA","PE"=>"SA","PF"=>"OC","PG"=>"OC","PH"=>"AS","PK"=>"AS","PL"=>"EU","PM"=>"NA","PN"=>"OC","PR"=>"NA","PS"=>"AS","PT"=>"EU","PW"=>"OC","PY"=>"SA","QA"=>"AS","RE"=>"AF","RO"=>"EU","RS"=>"EU","RU"=>"EU","RW"=>"AF","SA"=>"AS","SB"=>"OC","SC"=>"AF","SD"=>"AF","SE"=>"EU","SG"=>"AS","SH"=>"AF","SI"=>"EU","SJ"=>"EU","SK"=>"EU","SL"=>"AF","SM"=>"EU","SN"=>"AF","SO"=>"AF","SR"=>"SA","ST"=>"AF","SV"=>"NA","SY"=>"AS","SZ"=>"AF","TC"=>"NA","TD"=>"AF","TF"=>"AN","TG"=>"AF","TH"=>"AS","TJ"=>"AS","TK"=>"OC","TL"=>"AS","TM"=>"AS","TN"=>"AF","TO"=>"OC","TR"=>"EU","TT"=>"NA","TV"=>"OC","TW"=>"AS","TZ"=>"AF","UA"=>"EU","UG"=>"AF","UM"=>"OC","US"=>"NA","UY"=>"SA","UZ"=>"AS","VA"=>"EU","VC"=>"NA","VE"=>"SA","VG"=>"NA","VI"=>"NA","VN"=>"AS","VU"=>"OC","WF"=>"OC","WS"=>"OC","YE"=>"AS","YT"=>"AF","ZA"=>"AF","ZM"=>"AF","ZW"=>"AF");
25+
26+
$b1_analytics_db->connect();
1527
$ttlrqtsr = $b1_analytics_db->get_one_row("SELECT COUNT(*) FROM requests;");
1628
$total_requests = $ttlrqtsr[0];
1729
if($total_requests == 0) {
@@ -220,4 +232,110 @@
220232
</html>
221233
<?php
222234
$b1_analytics_db->close();
235+
236+
/* Classes */
237+
238+
// b1 database manager
239+
class b1_db_manager {
240+
public $connected = false;
241+
private $connection = null;
242+
private $user = null;
243+
private $password = null;
244+
private $database = null;
245+
private $host = null;
246+
private $type = null;
247+
248+
function get_row_count($query) {
249+
$count = 0;
250+
$result = $this->connection->query($query);
251+
if($result instanceof mysqli_result) {
252+
if($row = $result->fetch_row()) {
253+
$count = intval($row[0]);
254+
}
255+
$result->close();
256+
}
257+
return $count;
258+
}
259+
260+
function get_rows_array($query) {
261+
$rows = array();
262+
$result = $this->connection->query($query);
263+
if($result instanceof mysqli_result) {
264+
while($row = $result->fetch_row()) {
265+
$rows[] = $row;
266+
}
267+
$result->close();
268+
}
269+
return $rows;
270+
}
271+
272+
function get_one_row($query) {
273+
$row0 = null;
274+
$result = $this->connection->query($query);
275+
if($result instanceof mysqli_result) {
276+
if($row = $result->fetch_row()) {
277+
$row0 = $row;
278+
}
279+
$result->close();
280+
}
281+
return $row0;
282+
}
283+
284+
function generate_id($length = 10) {
285+
$characters = '0123456789abcdefghijklmnopqrstuvwxyz';
286+
$charactersLength = strlen($characters);
287+
$id = '';
288+
for ($i = 0; $i < $length; $i++) {
289+
$id .= $characters[rand(0, $charactersLength - 1)];
290+
}
291+
return $id;
292+
}
293+
294+
function generate_query($ary, $id, $field = "id") {
295+
$keys = $field;
296+
$values = "'".$id."'";
297+
foreach ($ary as $key => $value) {
298+
if($value != null) {
299+
$keys .= ", ".$key."";
300+
$values .= ", '".$value."'";
301+
}
302+
}
303+
return array("keys" => $keys, "values" => $values);
304+
}
305+
306+
function ex_gen_query($table, $ary, $id, $field = "id") {
307+
$query = $this->generate_query($ary, $id, $field);
308+
if(!$this->connection->query("INSERT INTO ".$table." (".$query["keys"].") VALUES (".$query["values"].");")) {
309+
error_log("".$this->connection->error."\n");
310+
}
311+
}
312+
313+
function query($query) {
314+
return $this->connection->query($query);
315+
}
316+
317+
function connect() {
318+
$this->connection = new mysqli($this->host, $this->user, $this->password, $this->database);
319+
if($this->connection->connect_errno) {
320+
error_log("Error: ".$this->connection->error."\n");
321+
$this->connected = false;
322+
} else {
323+
$this->connected = true;
324+
}
325+
}
326+
327+
function close() {
328+
if($this->connected) {
329+
$this->connection->close();
330+
}
331+
}
332+
333+
function __construct($user = "root", $password = "", $database = "", $host = "localhost", $type = "mysql") {
334+
$this->user = $user;
335+
$this->password = $password;
336+
$this->database = $database;
337+
$this->host = $host;
338+
$this->type = $type;
339+
}
340+
}
223341
?>

b1webanalytics.php

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,25 @@
1212
/*
1313
# Settings
1414
*/
15+
$b1_analytics_db = new b1_db_manager("user", "password", "database", "localhost");
16+
$b1_auto_run = TRUE;
1517

16-
// Set backup settings when including of b1settings.php fails
17-
if((include "b1settings.php") == FALSE) {
18-
$b1_analytics_db = new b1_db_manager("user", "password", "database", "localhost");
19-
}
18+
include "b1settings.php";
2019

2120
/*
2221
# Source
2322
*/
2423

24+
if($b1_auto_run) {
25+
// Connect to database
26+
$b1_analytics_db->connect();
27+
2528
// Runs analytics
2629
$b1_analytics = new b1_analytics($b1_analytics_db, $_SERVER, $_COOKIE);
2730

2831
// Closes database connection
2932
$b1_analytics_db->close();
33+
}
3034

3135
/* Classes */
3236

@@ -131,7 +135,6 @@ function __construct($user = "root", $password = "", $database = "", $host = "lo
131135
$this->database = $database;
132136
$this->host = $host;
133137
$this->type = $type;
134-
$this->connect();
135138
}
136139
}
137140

source/configs/database.php

Lines changed: 0 additions & 6 deletions
This file was deleted.

source/example.php

Lines changed: 0 additions & 5 deletions
This file was deleted.

0 commit comments

Comments
 (0)