flash.moe/pages/contact.php

219 lines
7.2 KiB
PHP
Raw Normal View History

2020-07-30 00:55:37 +00:00
<?php
if($reqPath === '/contact.php' || $reqPath === '/contact.html') {
if($reqMethod !== 'GET')
return FM_ERR | 405;
header('Location: /contact');
return FM_HIT | 302;
}
if($reqPath === '/nintendo') {
if($reqMethod !== 'GET')
return FM_ERR | 405;
header('Location: /contact#gaming');
return FM_HIT | 302;
}
if($reqPath === '/now-listening.json') {
if($reqMethod !== 'GET')
return FM_ERR | 405;
header('Content-Type: application/json; charset=utf-8');
2020-08-31 15:43:18 +00:00
if($reqHead)
return FM_HIT;
2020-07-30 00:55:37 +00:00
$lfmInfo = cache_output('lastfm', 10, function() {
return json_decode(file_get_contents('https://now.flash.moe/get.php?u=flashwave_'));
});
if(empty($lfmInfo[0]->name))
echo '[]';
else {
$lfmInfo = $lfmInfo[0];
echo json_encode([
'name' => strval($lfmInfo->name),
'now_playing' => !empty($lfmInfo->nowplaying),
'url' => strval($lfmInfo->url),
'cover' => !empty($lfmInfo->images->large) ? strval($lfmInfo->images->large) : '',
'artist' => [
'name' => !empty($lfmInfo->artist->name) ? strval($lfmInfo->artist->name) : '',
'url' => explode('/_/', strval($lfmInfo->url))[0],
],
]);
}
return FM_HIT;
}
if($reqPath === '/contact') {
if($reqMethod !== 'GET')
return FM_ERR | 405;
2020-08-31 15:43:18 +00:00
if($reqHead)
return FM_HIT;
2020-07-30 00:55:37 +00:00
$contact = [
[
'id' => 'contact',
'title' => 'Direct Contact',
'items' => [
[
'id' => 'email',
'name' => 'E-mail',
2020-08-19 01:20:25 +00:00
'icon' => 'fmi fmi-email',
2020-07-30 00:55:37 +00:00
'display' => 'me@flash.moe',
'link' => 'mailto:me+contact@flash.moe',
],
],
],
[
'id' => 'communities',
'title' => 'Communities & Social Media',
'items' => [
[
'id' => 'flashii',
'name' => 'Flashii',
2020-08-19 01:20:25 +00:00
'icon' => 'fmi fmi-flashii',
2020-07-30 00:55:37 +00:00
'display' => 'flash',
'link' => '//flashii.net/profile.php?u=1',
],
[
'id' => 'twitter',
'name' => 'Twitter',
2020-08-19 01:20:25 +00:00
'icon' => 'fmi fmi-twitter',
2020-07-30 00:55:37 +00:00
'display' => '@smugwave',
'link' => '//twitter.com/smugwave',
],
[
'id' => 'youtube',
'name' => 'YouTube',
2020-08-19 01:20:25 +00:00
'icon' => 'fmi fmi-youtube',
2020-07-30 00:55:37 +00:00
'display' => 'flashwave',
'link' => '//youtube.com/c/flashwave',
],
[
'id' => 'github',
'name' => 'Github',
2020-08-19 01:20:25 +00:00
'icon' => 'fmi fmi-github',
2020-07-30 00:55:37 +00:00
'display' => 'flashwave',
'link' => '//github.com/flashwave',
],
[
'id' => 'twitch',
'name' => 'Twitch.tv',
2020-08-19 01:20:25 +00:00
'icon' => 'fmi fmi-twitch',
2020-07-30 00:55:37 +00:00
'display' => 'flashwave0',
'link' => '//twitch.tv/flashwave0',
],
[
'id' => 'lastfm',
'name' => 'Last.fm',
2020-08-19 01:20:25 +00:00
'icon' => 'fmi fmi-lastfm',
2020-07-30 00:55:37 +00:00
'display' => 'flashwave_',
'link' => '//last.fm/user/flashwave_',
],
],
],
[
'id' => 'gaming',
'title' => 'Gaming',
'items' => [
[
'id' => 'steam',
'name' => 'Steam',
2020-08-19 01:20:25 +00:00
'icon' => 'fmi fmi-steam',
2020-07-30 00:55:37 +00:00
'display' => 'flashwave_',
'link' => '//steamcommunity.com/id/flashwave_',
],
[
'id' => 'nin-sw',
'name' => 'Nintendo Switch',
2020-08-19 01:20:25 +00:00
'icon' => 'fmi fmi-switch',
2020-07-30 00:55:37 +00:00
'display' => 'SW-7446-8163-4902',
],
[
'id' => 'nin-3ds',
'name' => 'Nintendo 3DS',
2020-08-19 01:20:25 +00:00
'icon' => 'fmi fmi-n3ds',
2020-07-30 00:55:37 +00:00
'display' => '4013-0352-0648',
],
[
'id' => 'nin-wiiu',
'name' => 'Wii U / NNID',
2020-08-19 01:20:25 +00:00
'icon' => 'fmi fmi-wiiu',
2020-07-30 00:55:37 +00:00
'display' => 'flashwave0',
],
[
'id' => 'osu',
'name' => 'osu!',
2020-08-19 01:20:25 +00:00
'icon' => 'fmi fmi-osu',
2020-07-30 00:55:37 +00:00
'display' => 'flash',
'link' => '//osu.ppy.sh/u/flash',
],
2020-10-03 16:27:02 +00:00
[
'id' => 'tetrio',
'name' => 'TETR.IO',
'icon' => 'fmi fmi-tetrio',
'display' => 'flash',
'link' => '//ch.tetr.io/u/flash',
],
2020-07-30 00:55:37 +00:00
],
],
[
'id' => 'support',
'title' => 'Support me',
'items' => [
[
'id' => 'paypal',
'name' => 'Paypal Donation',
2020-08-19 01:20:25 +00:00
'icon' => 'fmi fmi-paypal',
2020-07-30 00:55:37 +00:00
'display' => 'flashwave',
'link' => '//paypal.me/flashwave',
],
[
'id' => 'patreon',
'name' => 'Patreon',
2020-08-19 01:20:25 +00:00
'icon' => 'fmi fmi-patreon',
2020-07-30 00:55:37 +00:00
'display' => 'flashwave',
'link' => '//patreon.com/flashwave',
],
],
],
];
fm_component('header', [
'title' => 'flash.moe / contact',
]);
foreach($contact as $section) {
?>
2020-08-17 01:35:10 +00:00
<div class="section" id="section-<?=$section['id'];?>">
2020-07-30 00:55:37 +00:00
<div class="section-content">
<div class="section-background"></div>
<h1><?=$section['title'];?></h1>
</div>
</div>
<div class="socials">
<?php foreach($section['items'] as $social): ?>
<div class="social social-<?=$social['id'];?>">
<?php if(isset($social['link'])): ?>
<a href="<?=$social['link'];?>" class="social-background" target="_blank" rel="noopener"></a>
<?php else: ?>
<div class="social-background" onclick="fm.selectTextInElement(this.parentNode.querySelector('.social-handle')); fm.copySelectedText();"></div>
<?php endif; ?>
2020-08-19 01:20:25 +00:00
<div class="social-icon <?=$social['icon'];?>"></div>
2020-07-30 00:55:37 +00:00
<div class="social-content">
<div class="social-name"><?=$social['name'];?></div>
<div class="social-handle"><?=$social['display'];?></div>
</div>
</div>
<?php endforeach; ?>
</div>
<?php
}
fm_component('footer');
return FM_HIT;
}