123 lines
4.6 KiB
PHP
123 lines
4.6 KiB
PHP
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<?php
|
|
require_once (__DIR__ . '/../internals/base.php');
|
|
require_once (__DIR__ . '/../internals/programs.php');
|
|
require_once (__DIR__ . '/../internals/ParsedownCustom.php');
|
|
|
|
$internalname = $OPTIONS['id'];
|
|
|
|
$prog = Programs::getProgramByInternalName($internalname);
|
|
|
|
if ($prog === NULL) httpError(404, 'Program not found');
|
|
|
|
|
|
?>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Mikescher.com - <?php echo $prog['name']; ?></title>
|
|
<link rel="icon" type="image/png" href="/data/images/favicon.png"/>
|
|
<link rel="canonical" href="<?php echo $prog['url']; ?>"/>
|
|
<?php printHeaderCSS(); ?>
|
|
<?php if ($prog['has_extra_images']) includeAdditionalScript("/data/javascript/ms_basic.js", 'defer', true) ?>
|
|
</head>
|
|
<body>
|
|
<div id="mastercontainer">
|
|
|
|
<?php $HEADER_ACTIVE = 'programs'; include (__DIR__ . '/../fragments/header.php'); ?>
|
|
|
|
<div id="content" class="content-responsive">
|
|
|
|
<div class="blockcontent">
|
|
|
|
<div class="prgv_content">
|
|
|
|
<div class="contentheader" id="prgv_header"><h1><?php echo htmlspecialchars($prog['name']); ?></h1><hr/></div>
|
|
|
|
<div class="prgv_top">
|
|
|
|
<div class="prgv_left"><img src="<?php echo $prog['mainimage_url']; ?>" alt="Thumbnail (<?php echo $prog['name'] ?>)" /></div>
|
|
|
|
<div class="prgv_right">
|
|
<div class="prgv_right_key" style="grid-row:1">Name:</div>
|
|
<div class="prgv_right_value" style="grid-row:1"><a href="<?php echo $prog['url']; ?>"><?php echo htmlspecialchars($prog['name']) ?></a></div>
|
|
|
|
<div class="prgv_right_key" style="grid-row:2">Language:</div>
|
|
<div class="prgv_right_value" style="grid-row:2"><?php echo htmlspecialchars($prog['prog_language']) ?></div>
|
|
|
|
<?php if ($prog['license'] !== null): ?>
|
|
<div class="prgv_right_key" style="grid-row:3">License:</div>
|
|
<div class="prgv_right_value" style="grid-row:3"><?php echo '<a href="'.Programs::getLicenseUrl($prog['license']).'">'.$prog['license'].'</a>' ?></div>
|
|
<?php endif; ?>
|
|
|
|
<div class="prgv_right_key" style="grid-row:4">Category:</div>
|
|
<div class="prgv_right_value" style="grid-row:4"><?php echo htmlspecialchars($prog['category']) ?></div>
|
|
|
|
<div class="prgv_right_key" style="grid-row:5">Date:</div>
|
|
<div class="prgv_right_value" style="grid-row:5"><?php echo htmlspecialchars($prog['add_date']) ?></div>
|
|
|
|
<div class="prgv_right_comb" style="grid-row:6">
|
|
<?php
|
|
foreach (Programs::getURLs($prog) as $xurl)
|
|
{
|
|
echo '<a class="iconbutton '.$xurl['css'].'" href="'.$xurl['href'].'">';
|
|
echo '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">';
|
|
echo '<use xlink:href="/data/images/icons.svg#'.$xurl['svg'].'"/>';
|
|
echo '</svg>';
|
|
echo '<span>'.$xurl['caption'].'</span>';
|
|
echo '</a>';
|
|
}
|
|
?>
|
|
</div>
|
|
|
|
<div class="prgv_right_comb prgv_right_lang" style="grid-row:8">
|
|
<?php
|
|
foreach (explode('|', $prog['ui_language']) as $lang)
|
|
{
|
|
echo '<img src="'.convertLanguageToFlag($lang).'" title="'.$lang.'" alt="'.$lang[0].'" />' . "\n";
|
|
}
|
|
?>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<?php if ($prog['has_extra_images']): ?>
|
|
|
|
<div class="progv_extra imgcarousel_parent" data-imgcarousel-index="0" data-imgcarousel-images="<?php echo htmlspecialchars(json_encode($prog['extraimages_urls'])); ?>" >
|
|
<a class="imgcarousel_prev">
|
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
|
<use xlink:href="/data/images/icons.svg#arrow_left"/>
|
|
</svg>
|
|
</a>
|
|
<div class="imgcarousel_content" style="background-image: url(<?php echo $prog['extraimages_urls'][0]; ?>);"></div>
|
|
<a class="imgcarousel_next">
|
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 24 24">
|
|
<use xlink:href="/data/images/icons.svg#arrow_right"/>
|
|
</svg>
|
|
</a>
|
|
</div>
|
|
|
|
<?php endif; ?>
|
|
|
|
<hr class="prgv_sep" />
|
|
|
|
<div class="prgv_center base_markdown">
|
|
<?php
|
|
$pd = new ParsedownCustom();
|
|
echo $pd->text(Programs::getProgramDescription($prog));
|
|
?>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<?php include (__DIR__ . '/../fragments/footer.php'); ?>
|
|
|
|
</div>
|
|
<?php printAdditionalScripts(); ?>
|
|
<?php printAdditionalStylesheets(); ?>
|
|
</body>
|
|
</html>
|