error_reporting(E_ALL & ~E_NOTICE);
ini_set('display_errors', 1);
define('IN_MANTIX_STATUS', true);
require_once('config.php');
require_once(FOLDER_INC . '/init.php');
function stripUrl($url) {
$parsed = parse_url($url);
return $parsed['host'] . (isset($parsed['path']) && $parsed['path'] != '/' ? $parsed['path'] : '');
}
ob_start();
include(FOLDER_INC . '/header.php');
if (isset($_GET['a']) && ($_GET['a'] == 'del') && isset($_GET['id']) && intval($_GET['id']) && isset($_GET['key']) && strval($_GET['key']) && ($website = Website::dbGet(intval($_GET['id']))) && ($website->getKey() === strval($_GET['key']))) {
$website->setRemoved(time());
$website->dbUpdate();
echo '
';
}
if (isset($_POST['a']) && ($_POST['a'] == 'add') && isset($_POST['name']) && strval($_POST['name']) && isset($_POST['url']) && strval($_POST['url']) && isset($_POST['password']) && ($_POST['password'] == '3{FroKrqaGM,TwUn=AoLz;oW5%)YT>2eZCB=csZhJNX@HPN,HRo4PjWZE.>o(JDo')) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyz';
$websiteKey = '';
for ($i = 0; $i < 64; $i++) {
$websiteKey .= $characters[random_int(0, strlen($characters) - 1)];
}
$website = new Website();
$website->setKey($websiteKey);
$website->setName(strval($_POST['name']));
$website->setUrl(strval($_POST['url']));
$website->dbInsert();
echo '
';
}
$sort = $_GET['s'] ?? 'status';
echo '
Website' . ($sort == 'website' ? ' ' : ($sort == '!website' ? ' ' : '')) . ' |
Status' . ($sort == 'status' ? ' ' : ($sort == '!status' ? ' ' : '')) . ' |
Laatste controle' . ($sort == 'datum' ? ' ' : ($sort == '!datum' ? ' ' : '')) . ' |
';
$order = '';
switch ($sort) {
case '!status':
$order = '`checkStatusCode` DESC, `websiteName` ASC';
break;
case 'datum':
$order = '`checkDate` ASC, `websiteName` ASC';
break;
case '!datum':
$order = '`checkDate` DESC, `websiteName` ASC';
break;
case 'website':
$order = '`websiteName` ASC';
break;
case '!website':
$order = '`websiteName` DESC';
break;
default:
$order = '`checkStatusCode` ASC, `websiteName` ASC';
}
$statement = $_DATABASE->getConnection()->prepare('
SELECT
`website`.*,
`check`.*
FROM
`' . MYSQL_PREFIX . 'website` AS `website`
LEFT JOIN
`' . MYSQL_PREFIX . 'check` AS `check`
ON
`check`.`websiteID` = `website`.`websiteID`
WHERE
`website`.`websiteRemoved` = :removed AND
(
`check`.`checkID` IS NULL OR
`check`.`checkID` = (SELECT `checkID` FROM `' . MYSQL_PREFIX . 'check` WHERE `websiteID` = `website`.`websiteID` ORDER BY `checkID` DESC LIMIT 1)
)
ORDER BY
' . $order . '
');
$statement->execute(array(':removed' => 0));
$websiteList = $statement->fetchAll();
foreach ($websiteList as $website) {
echo '
' . $website['websiteName'] . ' ' . stripUrl($website['websiteUrl']) . ' |
' . (isset($website['checkStatusCode']) ? '' : '') . ' |
' . (isset($website['checkDate']) ? date(FORMAT_DATE_TIME, $website['checkDate']) : 'Niet gecontroleerd') . ' |
';
}
echo '
';
include(FOLDER_INC . '/footer.php');
ob_end_flush();