one last meow for today
This commit is contained in:
parent
5bd78b73fa
commit
67259b560c
7 changed files with 78 additions and 10 deletions
26
README.md
26
README.md
|
@ -3,3 +3,29 @@
|
||||||
_A backend that doesn't suck_
|
_A backend that doesn't suck_
|
||||||
|
|
||||||
I'll write a more descriptive readme once it's in a stable state.
|
I'll write a more descriptive readme once it's in a stable state.
|
||||||
|
|
||||||
|
## Apache 2.x Virtualhosts
|
||||||
|
|
||||||
|
```
|
||||||
|
<VirtualHost *:80 *:443>
|
||||||
|
DocumentRoot [local path]/main
|
||||||
|
ServerName [site url]
|
||||||
|
ServerAlias www.[site url]
|
||||||
|
</VirtualHost>
|
||||||
|
|
||||||
|
<VirtualHost *:80 *:443>
|
||||||
|
DocumentRoot [local path]/content
|
||||||
|
ServerName content.[site url]
|
||||||
|
|
||||||
|
Header unset Cookie
|
||||||
|
Header unset Set-Cookie
|
||||||
|
</VirtualHost>
|
||||||
|
|
||||||
|
<VirtualHost *:80 *:443>
|
||||||
|
DocumentRoot [local path]/api
|
||||||
|
ServerName api.[site url]
|
||||||
|
|
||||||
|
Header unset Cookie
|
||||||
|
Header unset Set-Cookie
|
||||||
|
</VirtualHost>
|
||||||
|
```
|
||||||
|
|
|
@ -1397,6 +1397,14 @@
|
||||||
{
|
{
|
||||||
"type": "FIX",
|
"type": "FIX",
|
||||||
"change": "Moved expire variable for the complete page out of the url and take the data straight from the database."
|
"change": "Moved expire variable for the complete page out of the url and take the data straight from the database."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "UPD",
|
||||||
|
"change": "Made the maximum amount of month you get buy premium for changable."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ADD",
|
||||||
|
"change": "Added basic API handler."
|
||||||
}
|
}
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
|
@ -1007,7 +1007,7 @@ class Users {
|
||||||
|
|
||||||
// Check if the user has static premium
|
// Check if the user has static premium
|
||||||
if(Permissions::check('SITE', 'STATIC_PREMIUM', $id, 1))
|
if(Permissions::check('SITE', 'STATIC_PREMIUM', $id, 1))
|
||||||
return [1, 0, time() + 1];
|
return [2, 0, time() + 1];
|
||||||
|
|
||||||
// Attempt to retrieve the premium record from the database
|
// Attempt to retrieve the premium record from the database
|
||||||
$getRecord = Database::fetch('premium', false, [
|
$getRecord = Database::fetch('premium', false, [
|
||||||
|
|
|
@ -15,8 +15,8 @@
|
||||||
Your current Tenshi tag
|
Your current Tenshi tag
|
||||||
</div>
|
</div>
|
||||||
<div style="margin-bottom: 10px;">
|
<div style="margin-bottom: 10px;">
|
||||||
<h3>Your Tenshi tag is valid till {{ page.current[2]|date("l \\t\\h\\e jS \\o\\f F o") }}.</h3>
|
<h3>{% if page.current[0] == 2 %}Your rank has persistent Tenshi.{% else %}Your Tenshi tag is valid till {{ page.current[2]|date("l \\t\\h\\e jS \\o\\f F o") }}.{% endif %}</h3>
|
||||||
<progress value="{{ page.current[1] / page.current[2] * 100 }}" max="100" style="width: 100%"></progress>
|
<progress value="{{ page.current[0] == 2 ? 100 : page.current[1] / page.current[2] * 100 }}" max="100" style="width: 100%"></progress>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div class="sectionHeader">
|
<div class="sectionHeader">
|
||||||
|
@ -86,7 +86,7 @@
|
||||||
</div>
|
</div>
|
||||||
{% if user.checklogin and perms.canGetPremium %}
|
{% if user.checklogin and perms.canGetPremium %}
|
||||||
<div class="slider">
|
<div class="slider">
|
||||||
<input class="inputStyling" type="range" min="1" max="24" value="1" onchange="document.getElementById('monthsNo').value = this.value; document.getElementById('monthNoBtn').innerHTML = this.value; document.getElementById('monthsTrailingS').innerHTML = (this.value == 1 ? '' : 's'); document.getElementById('totalAmount').innerHTML = (this.value * {{ page.price }}).formatMoney(2);" />
|
<input class="inputStyling" type="range" min="1" max="{{ page.amount_max }}" value="1" onchange="document.getElementById('monthsNo').value = this.value; document.getElementById('monthNoBtn').innerHTML = this.value; document.getElementById('monthsTrailingS').innerHTML = (this.value == 1 ? '' : 's'); document.getElementById('totalAmount').innerHTML = (this.value * {{ page.price }}).formatMoney(2);" />
|
||||||
</div>
|
</div>
|
||||||
<div class="checkout" style="line-height: 28px;">
|
<div class="checkout" style="line-height: 28px;">
|
||||||
<div style="float: left;">
|
<div style="float: left;">
|
||||||
|
|
|
@ -1 +1,5 @@
|
||||||
# Empty .htaccess to make git realise this directory exists
|
RewriteEngine On
|
||||||
|
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-f
|
||||||
|
|
||||||
|
RewriteRule ^(.*)$ api.php [QSA,L]
|
||||||
|
|
29
api/api.php
Normal file
29
api/api.php
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* Sakura API
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Declare Namespace
|
||||||
|
namespace Sakura;
|
||||||
|
|
||||||
|
// Include components
|
||||||
|
require_once str_replace(basename(__DIR__), '', dirname(__FILE__)) .'_sakura/sakura.php';
|
||||||
|
|
||||||
|
// Trim leading slashes
|
||||||
|
$path = ltrim($_SERVER['REQUEST_URI'], '/');
|
||||||
|
|
||||||
|
// Explode the elements
|
||||||
|
$elems = explode('/', $path);
|
||||||
|
|
||||||
|
// Correct the path if mod_rewrite isn't used
|
||||||
|
if($elems[0] == explode('/', ltrim($_SERVER['PHP_SELF'], '/'))[0]) {
|
||||||
|
|
||||||
|
// Remove the entry
|
||||||
|
unset($elems[0]);
|
||||||
|
|
||||||
|
// Resort the array
|
||||||
|
$elems = array_values($elems);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
print_r($elems);
|
|
@ -41,7 +41,7 @@ if(isset($_REQUEST['mode']) && Users::checkLogin() && Permissions::check('SITE',
|
||||||
}
|
}
|
||||||
|
|
||||||
// Half if shit isn't gucci
|
// Half if shit isn't gucci
|
||||||
if(!isset($_POST['months']) || !is_numeric($_POST['months']) || (int)$_POST['months'] < 1 || (int)$_POST['months'] > 24) {
|
if(!isset($_POST['months']) || !is_numeric($_POST['months']) || (int)$_POST['months'] < 1 || (int)$_POST['months'] > Configuration::getConfig('premium_amount_max')) {
|
||||||
|
|
||||||
header('Location: /support?fail=true');
|
header('Location: /support?fail=true');
|
||||||
|
|
||||||
|
@ -128,7 +128,8 @@ $renderData['page'] = [
|
||||||
'title' => 'Support Flashii',
|
'title' => 'Support Flashii',
|
||||||
'fail' => isset($_GET['fail']),
|
'fail' => isset($_GET['fail']),
|
||||||
'price' => Configuration::getConfig('premium_price_per_month'),
|
'price' => Configuration::getConfig('premium_price_per_month'),
|
||||||
'current' => Users::checkUserPremium(Session::$userId)
|
'current' => Users::checkUserPremium(Session::$userId),
|
||||||
|
'amount_max' => Configuration::getConfig('premium_amount_max')
|
||||||
];
|
];
|
||||||
|
|
||||||
// Print page contents
|
// Print page contents
|
||||||
|
|
Reference in a new issue