/www/wwwroot/contract-miner.com/build/design/core/pageTop.php
$veteranBadgeIcon = $veteranBadgeIcons[$cnfVeteranTier] ?? $veteranBadgeIcons[0];
}
function ordinal($number) {
if ($number == 0) return "0";
$ends = ['th','st','nd','rd','th','th','th','th','th','th'];
return ((($number % 100) >= 11) && (($number % 100) <= 13)) ? $number.'th' : $number.$ends[$number % 10];
}
// Fetch profile picture and badges
$profilePicImage = '';
$badgeImage = '';
$bannerImage = '';
// Get profile picture
$profileSql = $conn->prepare("SELECT mbc.badge_img_lowpix
FROM member_badges mb
JOIN member_badges_config mbc ON mbc.profilePicture_id = mb.s_badge_id
WHERE mb.userid = ? AND mb.selected = 1 AND mb.s_badge_id LIKE 'p_%'");
$profileSql->execute([$config_userid]);
if($profileSql->rowCount() > 0) {
$profilePicImage = $profileSql->fetchColumn();
}
// Get badge
$badgeSql = $conn->prepare("SELECT mbc.badge_img
FROM member_badges mb
JOIN member_badges_config mbc ON mbc.badge_id = mb.s_badge_id
WHERE mb.userid = ? AND mb.selected = 1 AND mb.s_badge_id LIKE 'u_%'");
$badgeSql->execute([$config_userid]);
if($badgeSql->rowCount() > 0) {
$badgeImage = $badgeSql->fetchColumn();
}
// Get banner
$bannerSql = $conn->prepare("SELECT mbc.badge_img_lowpix
FROM member_badges mb
JOIN member_badges_config mbc ON mbc.banner_id = mb.s_badge_id
WHERE mb.userid = ? AND mb.selected = 1 AND mb.s_badge_id LIKE 'b_%'");
$bannerSql->execute([$config_userid]);
/www/wwwroot/contract-miner.com/build/design/core/pageTop.php
$veteranBadgeIcon = $veteranBadgeIcons[$cnfVeteranTier] ?? $veteranBadgeIcons[0];
}
function ordinal($number) {
if ($number == 0) return "0";
$ends = ['th','st','nd','rd','th','th','th','th','th','th'];
return ((($number % 100) >= 11) && (($number % 100) <= 13)) ? $number.'th' : $number.$ends[$number % 10];
}
// Fetch profile picture and badges
$profilePicImage = '';
$badgeImage = '';
$bannerImage = '';
// Get profile picture
$profileSql = $conn->prepare("SELECT mbc.badge_img_lowpix
FROM member_badges mb
JOIN member_badges_config mbc ON mbc.profilePicture_id = mb.s_badge_id
WHERE mb.userid = ? AND mb.selected = 1 AND mb.s_badge_id LIKE 'p_%'");
$profileSql->execute([$config_userid]);
if($profileSql->rowCount() > 0) {
$profilePicImage = $profileSql->fetchColumn();
}
// Get badge
$badgeSql = $conn->prepare("SELECT mbc.badge_img
FROM member_badges mb
JOIN member_badges_config mbc ON mbc.badge_id = mb.s_badge_id
WHERE mb.userid = ? AND mb.selected = 1 AND mb.s_badge_id LIKE 'u_%'");
$badgeSql->execute([$config_userid]);
if($badgeSql->rowCount() > 0) {
$badgeImage = $badgeSql->fetchColumn();
}
// Get banner
$bannerSql = $conn->prepare("SELECT mbc.badge_img_lowpix
FROM member_badges mb
JOIN member_badges_config mbc ON mbc.banner_id = mb.s_badge_id
WHERE mb.userid = ? AND mb.selected = 1 AND mb.s_badge_id LIKE 'b_%'");
$bannerSql->execute([$config_userid]);
/www/wwwroot/contract-miner.com/build/pages/service/media/blogs/display-post.php
$blog_user_username = $blog_user_details['username'];
}
// We add to the page views
$stmt3 = $conn->prepare("UPDATE blog_posts SET page_views = page_views + 1 WHERE blog_id = :blog_post_id");
$stmt3->bindParam(':blog_post_id', $blog_post_id);
$stmt3->execute();
// Create and display page
?>
<!DOCTYPE html>
<html lang="en">
<head>
<?php require_once(__BUILD_COMMON_CSS__); ?>
<title><?= $blog_post_title; ?> - Blog Post</title>
<META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">
<meta name="description" content="<?= $blog_post_title; ?>">
</head>
<body class="bg-gray-900">
<?php require_once(__BUILD_PAGE_BASE_TOP__); ?>
<div class="px-2">
<div class="max-w-[1300px] mx-auto">
<div class="bg-gray-800 rounded-lg shadow-md p-6 mb-4">
<h1 class="text-2xl md:text-3xl font-bold text-white text-center mb-2"><?= $blog_post_title; ?></h1>
<div class="flex items-center justify-center text-gray-400 text-sm mb-2">
<span class="flex items-center mr-4">
<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 mr-1" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" />
</svg>
<?= date('d/m/Y', $blog_post_date); ?>
</span>
<span class="flex items-center">
<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 mr-1" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z" />
</svg>
<?= $blog_user_username; ?>
</span>
</div>
</div>
/www/wwwroot/contract-miner.com/routes/media.php
app()->all('/news/{news_post_id}', function ($news_post_id): void { # News Post
if(!empty($news_post_id)) {
require_once(__WEBSITE_CORE_ROOT__ . '/core/common_globals.php');
$news_post_id = htmlspecialchars((string) $news_post_id);
require_once(__WEBSITE_CORE_ROOT__ . '/build/pages/service/media/news/news-post.php');
} else { header('Location: /'); exit; }
});
app()->all('/blog/{blog_post_id}', function ($blog_post_id): void { # Display Blog Post
if(!empty($blog_post_id)) {
require_once(__WEBSITE_CORE_ROOT__ . '/core/common_globals.php');
$blog_post_id = htmlspecialchars((string) $blog_post_id);
require_once(__WEBSITE_CORE_ROOT__ . '/build/pages/service/media/blogs/display-post.php');
} else { header('Location: /'); exit; }
});
?>
/www/wwwroot/contract-miner.com/vendor/leafs/leaf/src/Router.php
$routesToRun = $routeToHandle;
}
foreach ($routesToRun as $currentRoute) {
static::invoke($currentRoute['handler'], $currentRoute['params']);
}
return count($routesToRun);
}
private static function invoke($handler, $params = [])
{
if (!empty($params)) {
$params = array_filter($params, function ($param) {
return $param !== null;
});
}
if (is_callable($handler)) {
call_user_func_array(
$handler,
$params
);
} elseif (stripos($handler, '@') !== false) {
list($controller, $method) = explode('@', $handler);
if (!class_exists($controller)) {
trigger_error("$controller not found. Cross-check the namespace if you're sure the file exists");
}
if (!method_exists($controller, $method)) {
trigger_error("$method method not found in $controller");
}
// First check if is a static method, directly trying to invoke it.
// If isn't a valid static method, we will try as a normal method invocation.
if (call_user_func_array([new $controller(), $method], $params) === false) {
// Try to call the method as a non-static method. (the if does nothing, only avoids the notice)
if (forward_static_call_array([$controller, $method], $params) === false)
;
/www/wwwroot/contract-miner.com/vendor/leafs/leaf/src/Router.php
$routesToRun = $routeToHandle;
}
foreach ($routesToRun as $currentRoute) {
static::invoke($currentRoute['handler'], $currentRoute['params']);
}
return count($routesToRun);
}
private static function invoke($handler, $params = [])
{
if (!empty($params)) {
$params = array_filter($params, function ($param) {
return $param !== null;
});
}
if (is_callable($handler)) {
call_user_func_array(
$handler,
$params
);
} elseif (stripos($handler, '@') !== false) {
list($controller, $method) = explode('@', $handler);
if (!class_exists($controller)) {
trigger_error("$controller not found. Cross-check the namespace if you're sure the file exists");
}
if (!method_exists($controller, $method)) {
trigger_error("$method method not found in $controller");
}
// First check if is a static method, directly trying to invoke it.
// If isn't a valid static method, we will try as a normal method invocation.
if (call_user_func_array([new $controller(), $method], $params) === false) {
// Try to call the method as a non-static method. (the if does nothing, only avoids the notice)
if (forward_static_call_array([$controller, $method], $params) === false)
;
/www/wwwroot/contract-miner.com/vendor/leafs/leaf/src/Router.php
* @param string|null $uri The URI to call (automatically set if nothing is passed).
*
* @return int The number of routes handled
*/
private static function handle(?array $routes = null, bool $quitAfterRun = false, ?string $uri = null): int
{
$uri = $uri ?? static::getCurrentUri();
$routeToHandle = static::findRoute($routes, $uri, $quitAfterRun);
// hacky solution to handle middleware catching all middleware with pattern (.*?)
$routesToRun = array_filter($routeToHandle, function ($route) use ($uri) {
return $route['route']['pattern'] === $uri || $route['route']['pattern'] === '/.*' || implode('/', $route['params'] ?? []) === ltrim($uri, '/');
});
if (empty($routesToRun)) {
$routesToRun = $routeToHandle;
}
foreach ($routesToRun as $currentRoute) {
static::invoke($currentRoute['handler'], $currentRoute['params']);
}
return count($routesToRun);
}
private static function invoke($handler, $params = [])
{
if (!empty($params)) {
$params = array_filter($params, function ($param) {
return $param !== null;
});
}
if (is_callable($handler)) {
call_user_func_array(
$handler,
$params
);
} elseif (stripos($handler, '@') !== false) {
list($controller, $method) = explode('@', $handler);
/www/wwwroot/contract-miner.com/vendor/leafs/leaf/src/Router.php
return static::invoke(static::$downHandler);
}
if (is_callable($callback)) {
static::hook('router.after', $callback);
}
static::callHook('router.before');
if (isset(static::$middleware[$requestedMethod])) {
static::handle(static::$middleware[$requestedMethod]);
}
static::callHook('router.before.route');
$numHandled = 0;
if (isset(static::$routes[$requestedMethod])) {
$numHandled = static::handle(
null,
true
);
}
if ($numHandled === 0) {
if (!static::$notFoundHandler) {
static::$notFoundHandler = function () {
\Leaf\Exception\General::default404();
};
}
static::invoke(static::$notFoundHandler);
}
// if it originally was a HEAD request, clean up after ourselves by emptying the output buffer
if ($_SERVER['REQUEST_METHOD'] == 'HEAD') {
ob_end_clean();
}
/www/wwwroot/contract-miner.com/vendor/leafs/leaf/src/App.php
$appMode = Config::getStatic('mode') ?? 'development';
if ($mode === $appMode) {
return $callback();
}
}
/**
* @inheritdoc
*/
public static function run(?callable $callback = null)
{
if (\class_exists('Leaf\Eien\Server') && Config::getStatic('eien.enabled')) {
server()
->wrap(function () use ($callback) {
parent::run($callback);
})
->listen();
} else {
return parent::run($callback);
}
}
}
/www/wwwroot/contract-miner.com/index.php
/***** EVENTS ROUTER *****/
require_once(__WEBSITE_CORE_ROOT__ . '/routes/events.php'); # Events Router
require_once(__WEBSITE_CORE_ROOT__ . '/routes/userAuth.php'); # User Auth Route
require_once(__WEBSITE_CORE_ROOT__ . '/routes/user.php'); # User pages (Public Profile / Leaderboards)
/***** MEDIA ROUTER - BLOGS // NEWS *****/
require_once(__WEBSITE_CORE_ROOT__ . '/routes/media.php');
/***** SERVICE PAGES *****/
require_once(__WEBSITE_CORE_ROOT__ . '/routes/service.php');
app()->run(); # Run the router