93 lines
3.3 KiB
PHP
93 lines
3.3 KiB
PHP
|
<?php
|
||
|
function auth(){
|
||
|
if(!isset($_SERVER['PHP_AUTH_USER']))
|
||
|
return false;
|
||
|
if(!isset($_SERVER['PHP_AUTH_PW']))
|
||
|
return false;
|
||
|
if($_SERVER['PHP_AUTH_USER']!="c3cloc")
|
||
|
return false;
|
||
|
if($_SERVER['PHP_AUTH_PW']!="findetalles")
|
||
|
return false;
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
function get_founditems($onlyUnmatched = false){
|
||
|
global $mysqli;
|
||
|
if ($onlyUnmatched) {
|
||
|
$res = $mysqli->query("SELECT distinct found_items.*, files.hash FROM (SELECT files.* from files ORDER BY files.id DESC LIMIT 100000) as files, found_items LEFT JOIN matches ON found_items.id = matches.f_id WHERE found_items.del = 0 AND files.item_id = found_items.id AND matches.f_id IS NULL GROUP BY files.item_id ORDER BY found_items.id DESC");
|
||
|
} else {
|
||
|
$res = $mysqli->query("SELECT found_items.*, files.hash FROM (SELECT files.* from files ORDER BY files.id DESC LIMIT 100000) as files, found_items WHERE files.item_id = found_items.id AND found_items.del = 0 GROUP BY files.item_id ORDER BY found_items.id ASC");
|
||
|
}
|
||
|
$ret = array();
|
||
|
while ($row = $res->fetch_assoc()) {
|
||
|
$ret[] = $row;
|
||
|
}
|
||
|
return $ret;
|
||
|
}
|
||
|
|
||
|
function get_lostitems($onlyUnmatched = false){
|
||
|
global $mysqli;
|
||
|
if ($onlyUnmatched) {
|
||
|
$res = $mysqli->query("SELECT lost_items.* FROM lost_items LEFT JOIN matches ON lost_items.id = matches.l_id WHERE lost_items.del = 0 AND matches.l_id IS NULL ORDER BY lost_items.id DESC");
|
||
|
} else {
|
||
|
$res = $mysqli->query("SELECT * FROM lost_items WHERE lost_items.del = 0 ORDER BY id ASC");
|
||
|
}
|
||
|
$ret = array();
|
||
|
while ($row = $res->fetch_assoc()) {
|
||
|
$ret[] = $row;
|
||
|
}
|
||
|
return $ret;
|
||
|
}
|
||
|
|
||
|
function get_founditem($id){
|
||
|
global $mysqli;
|
||
|
|
||
|
$res = $mysqli->query("SELECT * FROM found_items, files WHERE found_items.id = $id AND found_items.id = files.item_id ORDER BY files.id DESC");
|
||
|
|
||
|
$ret = array();
|
||
|
while ($row = $res->fetch_assoc()) {
|
||
|
$ret[] = $row;
|
||
|
}
|
||
|
return $ret;
|
||
|
}
|
||
|
|
||
|
function get_matches(){
|
||
|
global $mysqli;
|
||
|
$res = $mysqli->query("SELECT matches.id AS id, matches.f_id as f_id, matches.l_id as l_id, lost.was as l_desc, items.was as f_desc "
|
||
|
."FROM lost, items, matches WHERE lost.id = matches.l_id and items.id = matches.f_id ORDER BY matches.id ASC;");
|
||
|
$ret = array();
|
||
|
while ($row = $res->fetch_assoc()) {
|
||
|
$ret[] = $row;
|
||
|
}
|
||
|
return $ret;
|
||
|
}
|
||
|
|
||
|
function get_stats(){
|
||
|
global $mysqli;
|
||
|
$ret = array();
|
||
|
$ret["lost"]=0;
|
||
|
$ret["found"]=0;
|
||
|
|
||
|
|
||
|
|
||
|
$res = $mysqli->query("select hour(date) as h, day(date) as d, count(date) as c from items group by h, d order by d, h");
|
||
|
$ret["graph"] = array();
|
||
|
while ($row = $res->fetch_assoc()) {
|
||
|
$ret["graph"][] = $row;
|
||
|
}
|
||
|
$res = $mysqli->query("SELECT COUNT(*) AS c FROM lost_items WHERE lost_items.del = 0 ORDER BY id ASC");
|
||
|
if ($row = $res->fetch_assoc()) {
|
||
|
$ret["lost"] = $row["c"];
|
||
|
}
|
||
|
$res = $mysqli->query("SELECT COUNT(*) AS c FROM found_items WHERE found_items.del = 0 ORDER BY id ASC");
|
||
|
if ($row = $res->fetch_assoc()) {
|
||
|
$ret["found"] = $row["c"];
|
||
|
}
|
||
|
$res = $mysqli->query("SELECT COUNT(*) AS c FROM matches ORDER BY id ASC");
|
||
|
if ($row = $res->fetch_assoc()) {
|
||
|
$ret["match"] = $row["c"];
|
||
|
}
|
||
|
$ret["unmatched"] = $ret["found"] + $ret["lost"] - 2 * $ret["match"];
|
||
|
return $ret;
|
||
|
}
|
||
|
?>
|