r20150907
Signed-off-by: Flashwave <me@flash.moe>
This commit is contained in:
parent
abb2f75669
commit
2c109cdef5
40 changed files with 552 additions and 433 deletions
|
@ -59,7 +59,8 @@
|
||||||
"20150903",
|
"20150903",
|
||||||
"20150904",
|
"20150904",
|
||||||
"20150905",
|
"20150905",
|
||||||
"20150906"
|
"20150906",
|
||||||
|
"20150907"
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -2548,6 +2549,46 @@
|
||||||
"user": "Flashwave"
|
"user": "Flashwave"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
],
|
||||||
|
|
||||||
|
"20150907": [
|
||||||
|
|
||||||
|
{
|
||||||
|
"type": "FIX",
|
||||||
|
"change": "Fixed cookie notification reappearing after accepting.",
|
||||||
|
"user": "Flashwave"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "FIX",
|
||||||
|
"change": "Fixed infopage templates not using the new blocks method.",
|
||||||
|
"user": "Flashwave"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "UPD",
|
||||||
|
"change": "Removed the _developer_data folder, split the SQL structure and data up into two files respectively and moved the Sock Chat auth script to a new directory.",
|
||||||
|
"user": "Flashwave"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "UPD",
|
||||||
|
"change": "Updated the CloudFlare IPs list.",
|
||||||
|
"user": "Flashwave"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "FIX",
|
||||||
|
"change": "Fixed newline causing an error in CloudFlare check.",
|
||||||
|
"user": "Flashwave"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "UPD",
|
||||||
|
"change": "Moved document title setting to templates instead of in the PHP file.",
|
||||||
|
"user": "Flashwave"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "FIX",
|
||||||
|
"change": "Restyle explosive notifications and make them not explosive.",
|
||||||
|
"user": "Flashwave"
|
||||||
|
}
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -522,6 +522,13 @@ $errorPage .= '</div>
|
||||||
// Check if IP is in a CloudFlare subnet
|
// Check if IP is in a CloudFlare subnet
|
||||||
foreach($cfhosts as $subnet) {
|
foreach($cfhosts as $subnet) {
|
||||||
|
|
||||||
|
// Check if the subnet isn't empty (git newline prevention)
|
||||||
|
if(strlen($subnet) < 1) {
|
||||||
|
|
||||||
|
continue;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// Return true if found
|
// Return true if found
|
||||||
if(self::matchSubnet($ip, $subnet)) {
|
if(self::matchSubnet($ip, $subnet)) {
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
199.27.128.0/21
|
|
||||||
173.245.48.0/20
|
|
||||||
103.21.244.0/22
|
103.21.244.0/22
|
||||||
103.22.200.0/22
|
103.22.200.0/22
|
||||||
103.31.4.0/22
|
103.31.4.0/22
|
||||||
141.101.64.0/18
|
104.16.0.0/12
|
||||||
108.162.192.0/18
|
108.162.192.0/18
|
||||||
190.93.240.0/20
|
141.101.64.0/18
|
||||||
|
162.158.0.0/15
|
||||||
|
172.64.0.0/13
|
||||||
|
173.245.48.0/20
|
||||||
188.114.96.0/20
|
188.114.96.0/20
|
||||||
|
190.93.240.0/20
|
||||||
197.234.240.0/22
|
197.234.240.0/22
|
||||||
198.41.128.0/17
|
198.41.128.0/17
|
||||||
162.158.0.0/15
|
199.27.128.0/21
|
||||||
104.16.0.0/12
|
|
||||||
172.64.0.0/13
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
2400:cb00::/32
|
2400:cb00::/32
|
||||||
|
2405:8100::/32
|
||||||
|
2405:b500::/32
|
||||||
2606:4700::/32
|
2606:4700::/32
|
||||||
2803:f800::/32
|
2803:f800::/32
|
||||||
2405:b500::/32
|
|
||||||
2405:8100::/32
|
|
|
@ -8,7 +8,7 @@
|
||||||
namespace Sakura;
|
namespace Sakura;
|
||||||
|
|
||||||
// Define Sakura version
|
// Define Sakura version
|
||||||
define('SAKURA_VERSION', '20150906');
|
define('SAKURA_VERSION', '20150907');
|
||||||
define('SAKURA_VLABEL', 'Eminence');
|
define('SAKURA_VLABEL', 'Eminence');
|
||||||
define('SAKURA_COLOUR', '#6C3082');
|
define('SAKURA_COLOUR', '#6C3082');
|
||||||
define('SAKURA_STABLE', false);
|
define('SAKURA_STABLE', false);
|
||||||
|
@ -173,15 +173,14 @@ if(!defined('SAKURA_NO_TPL')) {
|
||||||
|
|
||||||
// Additional render data
|
// Additional render data
|
||||||
$renderData = array_merge($renderData, [
|
$renderData = array_merge($renderData, [
|
||||||
|
|
||||||
'ban' => [
|
'ban' => [
|
||||||
'reason' => $ban['reason'],
|
'reason' => $ban['reason'],
|
||||||
'issued' => $ban['issued'],
|
'issued' => $ban['issued'],
|
||||||
'expires' => $ban['expires'],
|
'expires' => $ban['expires'],
|
||||||
'issuer' => Users::getUser($ban['issuer'])
|
'issuer' => Users::getUser($ban['issuer'])
|
||||||
],
|
|
||||||
'page' => [
|
|
||||||
'title' => 'You are banned!'
|
|
||||||
]
|
]
|
||||||
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
Users::logout();
|
Users::logout();
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{% extends 'global/master.tpl' %}
|
{% extends 'global/master.tpl' %}
|
||||||
|
|
||||||
|
{% block title %}Forum Listing{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="content homepage forum">
|
<div class="content homepage forum">
|
||||||
<div class="content-right content-column">
|
<div class="content-right content-column">
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{% extends 'global/master.tpl' %}
|
{% extends 'global/master.tpl' %}
|
||||||
|
|
||||||
|
{% block title %}Posting{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="content-column forum posting">
|
<div class="content-column forum posting">
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{% extends 'global/master.tpl' %}
|
{% extends 'global/master.tpl' %}
|
||||||
|
|
||||||
|
{% block title %}Forums / {{ board.forums[0].forum.forum_name }}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="content homepage forum viewforum">
|
<div class="content homepage forum viewforum">
|
||||||
<div class="content-column">
|
<div class="content-column">
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{% extends 'global/master.tpl' %}
|
{% extends 'global/master.tpl' %}
|
||||||
|
|
||||||
|
{% block title %}{{ topic.topic_title }}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="content homepage forum viewtopic">
|
<div class="content homepage forum viewtopic">
|
||||||
<div class="content-column">
|
<div class="content-column">
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{% extends 'global/master.tpl' %}
|
{% extends 'global/master.tpl' %}
|
||||||
|
|
||||||
|
{% block title %}Information{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="content standalone">
|
<div class="content standalone">
|
||||||
<div>
|
<div>
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<head>
|
<head>
|
||||||
<!-- META -->
|
<!-- META -->
|
||||||
<meta charset="{{ sakura.charset }}" />
|
<meta charset="{{ sakura.charset }}" />
|
||||||
<title>{{ page.title }}</title>
|
<title>{% block title %}{{ sakura.siteName }}{% endblock %}</title>
|
||||||
<meta name="description" content="{{ sakura.siteDesc }}" />
|
<meta name="description" content="{{ sakura.siteDesc }}" />
|
||||||
<meta name="keywords" content="{{ sakura.siteTags }}" />
|
<meta name="keywords" content="{{ sakura.siteTags }}" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
|
||||||
|
@ -11,7 +11,7 @@
|
||||||
<meta name="msapplication-TileImage" content="/content/images/icons/ms-icon-144x144.png" />
|
<meta name="msapplication-TileImage" content="/content/images/icons/ms-icon-144x144.png" />
|
||||||
<meta name="theme-color" content="#9475B2" />
|
<meta name="theme-color" content="#9475B2" />
|
||||||
{% if page.redirect %}
|
{% if page.redirect %}
|
||||||
<meta http-equiv="refresh" content="3; URL={{ page.redirect }}" />
|
<meta http-equiv="refresh" content="{{ page.redirectTimeout ? page.redirectTimeout : '3' }}; URL={{ page.redirect }}" />
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<link rel="apple-touch-icon" sizes="57x57" href="/content/images/icons/apple-icon-57x57.png" />
|
<link rel="apple-touch-icon" sizes="57x57" href="/content/images/icons/apple-icon-57x57.png" />
|
||||||
<link rel="apple-touch-icon" sizes="60x60" href="/content/images/icons/apple-icon-60x60.png" />
|
<link rel="apple-touch-icon" sizes="60x60" href="/content/images/icons/apple-icon-60x60.png" />
|
||||||
|
@ -157,7 +157,7 @@
|
||||||
"title": sakuraVars.siteName + " uses cookies!",
|
"title": sakuraVars.siteName + " uses cookies!",
|
||||||
"text": "Click this if you're OK with that and want to hide this message.",
|
"text": "Click this if you're OK with that and want to hide this message.",
|
||||||
"img": "FONT:fa-asterisk",
|
"img": "FONT:fa-asterisk",
|
||||||
"link": "javascript:cookieData('set', '"+ sakuraVars.cookie.prefix +"accept_cookies', 'true');notifyClose(this.parentNode.id);"
|
"link": "javascript:cookieData('set', '"+ sakuraVars.cookie.prefix +"accept_cookies', 'true; expires="+ (new Date(2147483647000)).toUTCString() +"');notifyClose(this.parentNode.id);"
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{% extends 'global/master.tpl' %}
|
{% extends 'global/master.tpl' %}
|
||||||
|
|
||||||
|
{% block title %}Restricted{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="content standalone">
|
<div class="content standalone">
|
||||||
<div>
|
<div>
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{% extends 'global/master.tpl' %}
|
{% extends 'global/master.tpl' %}
|
||||||
|
|
||||||
|
{% block title %}Authentication{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% if sakura.lockAuth %}
|
{% if sakura.lockAuth %}
|
||||||
<h1 class="stylised" style="line-height: 1.8em; text-align: center;">Authentication is currently disallowed, try again later.</h1>
|
<h1 class="stylised" style="line-height: 1.8em; text-align: center;">Authentication is currently disallowed, try again later.</h1>
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{% extends 'global/master.tpl' %}
|
{% extends 'global/master.tpl' %}
|
||||||
|
|
||||||
|
{% block title %}You are banned!{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="content-column news banned">
|
<div class="content-column news banned">
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{% extends 'global/master.tpl' %}
|
{% extends 'global/master.tpl' %}
|
||||||
|
|
||||||
|
{% block title %}Frequently Asked Questions{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="content settings">
|
<div class="content settings">
|
||||||
<div class="content-right content-column">
|
<div class="content-right content-column">
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{% extends 'global/master.tpl' %}
|
{% extends 'global/master.tpl' %}
|
||||||
|
|
||||||
|
{% block title %}Forgot Password{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="content news settings">
|
<div class="content news settings">
|
||||||
<div class="head">Forgot Password</div>
|
<div class="head">Forgot Password</div>
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
{% include 'global/header.tpl' %}
|
{% extends 'global/master.tpl' %}
|
||||||
|
|
||||||
|
{% block title %}{% if page.title %}{{ page.title }}{% else %}Not found!{% endif %}{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
<div class="content standalone markdown">
|
<div class="content standalone markdown">
|
||||||
<div>
|
<div>
|
||||||
{{ page.content|raw }}
|
{{ page.content|raw }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% include 'global/footer.tpl' %}
|
{% endblock %}
|
||||||
|
|
|
@ -1,10 +1,19 @@
|
||||||
{% extends 'global/master.tpl' %}
|
{% extends 'global/master.tpl' %}
|
||||||
|
|
||||||
|
{% set rankTitle %}
|
||||||
|
{% if page.notfound %}Not found{% else %}{% if not page.active %}All members{% else %}{{ page.ranks[page.active].name }}{% if page.ranks[page.active].multi %}s{% endif %}{% endif %}{% endif %}
|
||||||
|
{% endset %}
|
||||||
|
|
||||||
|
{% set rankDescription %}
|
||||||
|
{% if page.notfound %}The requested rank could not be found!{% else %}{% if not page.active %}The entire user list.{% else %}{{ page.ranks[page.active].description }}{% endif %}{% endif %}
|
||||||
|
{% endset %}
|
||||||
|
|
||||||
|
{% block title %}{{ rankTitle }}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% if session.checkLogin %}
|
<div class="headerNotify" style="margin-bottom: 1px;">
|
||||||
<div class="headerNotify" style="padding: 10px 0; margin-bottom: 1px;">
|
<h1 style="text-shadow: 0px 0px 5px #555;{% if page.active %} color: {{ page.ranks[page.active].colour }};{% endif %}">{{ rankTitle }}</h1>
|
||||||
<h1 style="text-shadow: 0px 0px 5px #555;{% if page.active %} color: {{ page.ranks[page.active].colour }};{% endif %}">{% if not page.active %}All members{% else %}{{ page.ranks[page.active].name }}{% if page.ranks[page.active].multi %}s{% endif %}{% endif %}</h1>
|
<h3>{{ rankDescription }}</h3>
|
||||||
<h3>{% if not page.active %}The entire user list.{% else %}{{ page.ranks[page.active].description }}{% endif %}</h3>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="membersPage" style="min-height: 500px;">
|
<div class="membersPage" style="min-height: 500px;">
|
||||||
<div class="dropDown" style="margin: 0px auto; font-size: 1.5em; line-height: 1.5em; height: 30px;">
|
<div class="dropDown" style="margin: 0px auto; font-size: 1.5em; line-height: 1.5em; height: 30px;">
|
||||||
|
@ -24,86 +33,83 @@
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% if page.notfound %}
|
{% if not page.users|length %}
|
||||||
<h1 class="stylised" style="margin-top: 20px;">The requested rank was not found!</h1>
|
<h1 class="stylised" style="margin: 2em 0;">This rank has no members!</h1>
|
||||||
{% else %}
|
{% elseif not page.notfound %}
|
||||||
<div class="membersPageList {{ page.sort }}">
|
<div class="membersPageList {{ page.sort }}">
|
||||||
{% if page.sort == page.sorts[2] %}
|
{% if page.sort == page.sorts[2] %}
|
||||||
<table>
|
<table>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>No.</th>
|
<th>No.</th>
|
||||||
<th>Username</th>
|
<th>Username</th>
|
||||||
<th>Registered</th>
|
<th>Registered</th>
|
||||||
<th>Last online</th>
|
<th>Last online</th>
|
||||||
<th>User title</th>
|
<th>User title</th>
|
||||||
<th>Country</th>
|
<th>Country</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tfoot>
|
<tfoot>
|
||||||
<tr>
|
<tr>
|
||||||
<th>No.</th>
|
<th>No.</th>
|
||||||
<th>Username</th>
|
<th>Username</th>
|
||||||
<th>Registered</th>
|
<th>Registered</th>
|
||||||
<th>Last online</th>
|
<th>Last online</th>
|
||||||
<th>User title</th>
|
<th>User title</th>
|
||||||
<th>Country</th>
|
<th>Country</th>
|
||||||
</tr>
|
</tr>
|
||||||
</tfoot>
|
</tfoot>
|
||||||
{% for count,user in page.users[page.page] %}
|
{% for count,user in page.users[page.page] %}
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
#{{ page.active ? count + 1 : count }}
|
#{{ page.active ? count + 1 : count }}
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="{{ urls.format('USER_PROFILE', [user.id]) }}" class="default" style="font-weight: bold; color: {{ page.ranks[user.rank_main].colour }};">{{ user.username }}</a>
|
<a href="{{ urls.format('USER_PROFILE', [user.id]) }}" class="default" style="font-weight: bold; color: {{ page.ranks[user.rank_main].colour }};">{{ user.username }}</a>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
{{ user.regdate|date(sakura.dateFormat) }}
|
{{ user.regdate|date(sakura.dateFormat) }}
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
{% if user.lastdate == 0 %}<i>Never logged in.</i>{% else %}{{ user.lastdate|date(sakura.dateFormat) }}{% endif %}
|
{% if user.lastdate == 0 %}<i>Never logged in.</i>{% else %}{{ user.lastdate|date(sakura.dateFormat) }}{% endif %}
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
{% if not user.usertitle %}<i>{{ page.ranks[user.rank_main].title }}</i>{% else %}{{ user.usertitle }}{% endif %}
|
{% if not user.usertitle %}<i>{{ page.ranks[user.rank_main].title }}</i>{% else %}{{ user.usertitle }}{% endif %}
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<img src="{{ sakura.contentPath }}/images/flags/{{ user.country|lower }}.png" alt="{% if user.country|lower == 'eu' %}?{% else %}{{ user.country }}{% endif %}" />
|
<img src="{{ sakura.contentPath }}/images/flags/{{ user.country|lower }}.png" alt="{% if user.country|lower == 'eu' %}?{% else %}{{ user.country }}{% endif %}" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</table>
|
</table>
|
||||||
{% else %}
|
{% else %}
|
||||||
{% for user in page.users[page.page] %}
|
{% for user in page.users[page.page] %}
|
||||||
<a href="{{ urls.format('USER_PROFILE', [user.id]) }}">{# These comment tags are here to prevent the link extending too far
|
<a href="{{ urls.format('USER_PROFILE', [user.id]) }}">{# These comment tags are here to prevent the link extending too far
|
||||||
#}<div class="userBox" id="u{{ user.id }}">{#
|
#}<div class="userBox" id="u{{ user.id }}">{#
|
||||||
#}<img src="{{ sakura.contentPath }}/pixel.png" alt="{{ user.username }}" style="background: url('{{ urls.format('IMAGE_AVATAR', [user.id]) }}') no-repeat center / contain;" />{#
|
#}<img src="{{ sakura.contentPath }}/pixel.png" alt="{{ user.username }}" style="background: url('{{ urls.format('IMAGE_AVATAR', [user.id]) }}') no-repeat center / contain;" />{#
|
||||||
#}<span class="userBoxUserName"{% if page.sort == page.sorts[1] %} style="color: {{ page.ranks[user.rank_main].colour }};"{% endif %}>{#
|
#}<span class="userBoxUserName"{% if page.sort == page.sorts[1] %} style="color: {{ page.ranks[user.rank_main].colour }};"{% endif %}>{#
|
||||||
#}{{ user.username }}{#
|
#}{{ user.username }}{#
|
||||||
#}</span>{#
|
#}</span>{#
|
||||||
#}</div>{#
|
#}</div>{#
|
||||||
#}</a>
|
#}</a>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if page.users|length > 1 %}
|
{% if page.users|length > 1 %}
|
||||||
<div class="pagination">
|
<div class="pagination">
|
||||||
{% if page.page > 0 %}
|
{% if page.page > 0 %}
|
||||||
<a href="{% if page.sort and page.active %}{{ urls.format('MEMBERLIST_ALL', [page.sort, page.active, page.page]) }}{% elseif page.sort %}{{ urls.format('MEMBERLIST_SORT_PAGE', [page.sort, page.page]) }}{% elseif page.active %}{{ urls.format('MEMBERLIST_RANK_PAGE', [page.active, page.page]) }}{% else %}{{ urls.format('MEMBERLIST_PAGE', [page.page]) }}{% endif %}"><span class="fa fa-step-backward"></span></a>
|
<a href="{% if page.sort and page.active %}{{ urls.format('MEMBERLIST_ALL', [page.sort, page.active, page.page]) }}{% elseif page.sort %}{{ urls.format('MEMBERLIST_SORT_PAGE', [page.sort, page.page]) }}{% elseif page.active %}{{ urls.format('MEMBERLIST_RANK_PAGE', [page.active, page.page]) }}{% else %}{{ urls.format('MEMBERLIST_PAGE', [page.page]) }}{% endif %}"><span class="fa fa-step-backward"></span></a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% for count,navpage in page.users %}
|
{% for count,navpage in page.users %}
|
||||||
<a href="{% if page.sort and page.active %}{{ urls.format('MEMBERLIST_ALL', [page.sort, page.active, (count + 1)]) }}{% elseif page.sort %}{{ urls.format('MEMBERLIST_SORT_PAGE', [page.sort, (count + 1)]) }}{% elseif page.active %}{{ urls.format('MEMBERLIST_RANK_PAGE', [page.active, (count + 1)]) }}{% else %}{{ urls.format('MEMBERLIST_PAGE', [(count + 1)]) }}{% endif %}"{% if count == page.page %} class="current"{% endif %}>{{ count + 1 }}</a>
|
<a href="{% if page.sort and page.active %}{{ urls.format('MEMBERLIST_ALL', [page.sort, page.active, (count + 1)]) }}{% elseif page.sort %}{{ urls.format('MEMBERLIST_SORT_PAGE', [page.sort, (count + 1)]) }}{% elseif page.active %}{{ urls.format('MEMBERLIST_RANK_PAGE', [page.active, (count + 1)]) }}{% else %}{{ urls.format('MEMBERLIST_PAGE', [(count + 1)]) }}{% endif %}"{% if count == page.page %} class="current"{% endif %}>{{ count + 1 }}</a>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% if page.page + 1 < page.users|length %}
|
{% if page.page + 1 < page.users|length %}
|
||||||
<a href="{% if page.sort and page.active %}{{ urls.format('MEMBERLIST_ALL', [page.sort, page.active, (page.page + 2)]) }}{% elseif page.sort %}{{ urls.format('MEMBERLIST_SORT_PAGE', [page.sort, (page.page + 2)]) }}{% elseif page.active %}{{ urls.format('MEMBERLIST_RANK_PAGE', [page.active, (page.page + 2)]) }}{% else %}{{ urls.format('MEMBERLIST_PAGE', [(page.page + 2)]) }}{% endif %}"><span class="fa fa-step-forward"></span></a>
|
<a href="{% if page.sort and page.active %}{{ urls.format('MEMBERLIST_ALL', [page.sort, page.active, (page.page + 2)]) }}{% elseif page.sort %}{{ urls.format('MEMBERLIST_SORT_PAGE', [page.sort, (page.page + 2)]) }}{% elseif page.active %}{{ urls.format('MEMBERLIST_RANK_PAGE', [page.active, (page.page + 2)]) }}{% else %}{{ urls.format('MEMBERLIST_PAGE', [(page.page + 2)]) }}{% endif %}"><span class="fa fa-step-forward"></span></a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
{% else %}
|
|
||||||
{% include 'elements/restricted.tpl' %}
|
|
||||||
{% endif %}
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{% extends 'global/master.tpl' %}
|
{% extends 'global/master.tpl' %}
|
||||||
|
|
||||||
|
{% block title %}{% if page.view_post %}{{ newsPosts[0].title }}{% elseif newsPosts|length < 1 %}Post does not exist!{% else %}News{% endif %}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="content-column news">
|
<div class="content-column news">
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{% extends 'global/master.tpl' %}
|
{% extends 'global/master.tpl' %}
|
||||||
|
|
||||||
|
{% block title %}Purchase complete!{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="content standalone" style="text-align: center;">
|
<div class="content standalone" style="text-align: center;">
|
||||||
<h1 class="stylised" style="margin: 1em auto;">Thank you for your contribution!</h1>
|
<h1 class="stylised" style="margin: 1em auto;">Thank you for your contribution!</h1>
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{% extends 'global/master.tpl' %}
|
{% extends 'global/master.tpl' %}
|
||||||
|
|
||||||
|
{% block title %}Search{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="content" style="background: #FFF;">
|
<div class="content" style="background: #FFF;">
|
||||||
<div class="content-column news">
|
<div class="content-column news">
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{% extends 'global/master.tpl' %}
|
{% extends 'global/master.tpl' %}
|
||||||
|
|
||||||
|
{% block title %}{{ page.category }} / {{ page.mode }}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="content settings messages">
|
<div class="content settings messages">
|
||||||
<div class="content-right content-column">
|
<div class="content-right content-column">
|
||||||
|
@ -7,7 +9,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="content-left content-column">
|
<div class="content-left content-column">
|
||||||
<div class="head">
|
<div class="head">
|
||||||
{{ page.title }}
|
{{ page.category }} / {{ page.mode }}
|
||||||
</div>
|
</div>
|
||||||
<div class="settings-explanation">
|
<div class="settings-explanation">
|
||||||
{% for descline in page.description %}
|
{% for descline in page.description %}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{% extends 'global/master.tpl' %}
|
{% extends 'global/master.tpl' %}
|
||||||
|
|
||||||
|
{% block title %}Support {{ sakura.siteName }}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% if page.fail %}
|
{% if page.fail %}
|
||||||
<div class="headerNotify">
|
<div class="headerNotify">
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{% extends 'global/master.tpl' %}
|
{% extends 'global/master.tpl' %}
|
||||||
|
|
||||||
|
{% block title %}Donation Tracker{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="content support">
|
<div class="content support">
|
||||||
<div class="head">Donation Tracker</div>
|
<div class="head">Donation Tracker</div>
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
{% extends 'global/master.tpl' %}
|
{% extends 'global/master.tpl' %}
|
||||||
|
|
||||||
|
{% set profileHidden = profile.checkPermission('SITE', 'DEACTIVATED') or profile.data.password_algo == 'nologin' or (profile.checkPermission('SITE', 'RESTRICTED') and (user.data.id != profile.data.id and not user.checkPermission('MANAGE', 'USE_MANAGE'))) %}
|
||||||
|
|
||||||
|
{% block title %}{% if profileHidden %}User not found!{% else %}Profile of {{ profile.data.username }}{% endif %}{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% if profile.checkPermission('SITE', 'DEACTIVATED') or profile.data.password_algo == 'nologin' or (profile.checkPermission('SITE', 'RESTRICTED') and (user.data.id != profile.data.id and not user.checkPermission('MANAGE', 'USE_MANAGE'))) %}
|
{% if profileHidden %}
|
||||||
<div class="content standalone" style="padding: 20px;">
|
<div class="content standalone" style="padding: 20px;">
|
||||||
<h1>The requested user does not exist!</h1>
|
<h1>The requested user does not exist!</h1>
|
||||||
There are a few possible reasons for this:
|
There are a few possible reasons for this:
|
||||||
|
|
182
database/data.sql
Normal file
182
database/data.sql
Normal file
|
@ -0,0 +1,182 @@
|
||||||
|
-- Adminer 4.2.2 MySQL dump
|
||||||
|
|
||||||
|
SET NAMES utf8;
|
||||||
|
SET time_zone = '+00:00';
|
||||||
|
SET foreign_key_checks = 0;
|
||||||
|
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
|
||||||
|
|
||||||
|
USE `sakura-development`;
|
||||||
|
|
||||||
|
TRUNCATE `sakura_bbcodes`;
|
||||||
|
INSERT INTO `sakura_bbcodes` (`id`, `regex`, `replace`, `title`, `description`, `on_posting`) VALUES
|
||||||
|
(1, '/\\[b\\](.*?)\\[\\/b\\]/is', '<b>$1</b>', 'Bold', 'Make text bold. Usage: [b]text[/b].', 1),
|
||||||
|
(2, '/\\[i\\](.*?)\\[\\/i\\]/is', '<i>$1</i>', 'Italics', 'Make text italic. Usage: [i]text[/i].', 1),
|
||||||
|
(3, '/\\[u\\](.*?)\\[\\/u\\]/is', '<u>$1</u>', 'Underline', 'Make text underlined. Usage: [u]text[/u].', 1),
|
||||||
|
(4, '/\\[s\\](.*?)\\[\\/s\\]/is', '<del>$1</del>', 'Strikethrough', 'Put a line through text. Usage: [s]text[/s].', 1),
|
||||||
|
(5, '/\\[img\\]([a-zA-Z0-9\\.\\$\\-\\_\\.\\+\\*\\!\\\'\\(\\)\\/\\:\\#]+)\\[\\/img\\]/is', '<img src=\"$1\" alt=\"Image\" />', 'Image', 'Embed an image. Usage: [img]url[/img]', 1),
|
||||||
|
(6, '/\\[url=([a-zA-Z0-9\\.\\$\\-\\_\\.\\+\\*\\!\\\'\\(\\)\\/\\:\\#]+)\\](.*?)\\[\\/url\\]/is', '<a href=\"$1\" target=\"_blank\">$2</a>', 'Link', 'Embed a URL. Usage: [url=http://google.com]Link to google![/url]', 0),
|
||||||
|
(7, '/\\[url\\]([a-zA-Z0-9\\.\\$\\-\\_\\.\\+\\*\\!\\\'\\(\\)\\/\\:\\#]+)\\[\\/url\\]/is', '<a href=\"$1\" target=\"_blank\">$1</a>', 'Link', 'Make a link clickable (if the automatic algorithm doesn\'t do it already). Usage: [url]http://google.com[/url]', 1),
|
||||||
|
(8, '/\\[quote\\=\\\"(.+)\\\"\\](.+)\\[\\/quote]/is', '<div class=\"quote\"><div class=\"quotee\">$1 wrote:</div><div class=\"text\">$2</div></div>', 'Quote', 'Quote a user\'s post. Usage: [quote=Flashwave]nookls is pretty[/quote]', 0),
|
||||||
|
(9, '/\\[quote\\](.+)\\[\\/quote]/is', '<div class=\"quote\"><div class=\"quotee\">Quote:</div><div class=\"text\">$1</div></div>', 'Quote', 'Quote a user\'s post. Usage: [quote]nookls is pretty[/quote]', 1);
|
||||||
|
|
||||||
|
TRUNCATE `sakura_config`;
|
||||||
|
INSERT INTO `sakura_config` (`config_name`, `config_value`) VALUES
|
||||||
|
('recaptcha_public', ''),
|
||||||
|
('recaptcha_private', ''),
|
||||||
|
('charset', 'utf-8'),
|
||||||
|
('cookie_prefix', 'sakura_'),
|
||||||
|
('cookie_domain', 'sakura.dev'),
|
||||||
|
('cookie_path', '/'),
|
||||||
|
('site_style', 'yuuno'),
|
||||||
|
('manage_style', 'broomcloset'),
|
||||||
|
('smtp_server', ''),
|
||||||
|
('smtp_auth', ''),
|
||||||
|
('smtp_secure', ''),
|
||||||
|
('smtp_port', ''),
|
||||||
|
('smtp_username', ''),
|
||||||
|
('smtp_password', ''),
|
||||||
|
('smtp_replyto_mail', ''),
|
||||||
|
('smtp_replyto_name', ''),
|
||||||
|
('smtp_from_email', ''),
|
||||||
|
('smtp_from_name', ''),
|
||||||
|
('sitename', 'Sakura'),
|
||||||
|
('recaptcha', '0'),
|
||||||
|
('require_activation', '0'),
|
||||||
|
('require_registration_code', '0'),
|
||||||
|
('disable_registration', '0'),
|
||||||
|
('max_reg_keys', '5'),
|
||||||
|
('mail_signature', ''),
|
||||||
|
('lock_authentication', '0'),
|
||||||
|
('min_entropy', '1'),
|
||||||
|
('sitedesc', ''),
|
||||||
|
('sitetags', '[]'),
|
||||||
|
('username_min_length', '3'),
|
||||||
|
('username_max_length', '16'),
|
||||||
|
('lock_site', '0'),
|
||||||
|
('lock_site_reason', ''),
|
||||||
|
('use_gzip', '0'),
|
||||||
|
('enable_tpl_cache', '0'),
|
||||||
|
('paypal_client_id', ''),
|
||||||
|
('paypal_secret', ''),
|
||||||
|
('premium_price_per_month', '1.49'),
|
||||||
|
('premium_rank_id', '8'),
|
||||||
|
('premium_amount_max', '24'),
|
||||||
|
('alumni_rank_id', '9'),
|
||||||
|
('url_main', 'flashii.test'),
|
||||||
|
('front_page_news_posts', '3'),
|
||||||
|
('date_format', 'D Y-m-d H:i:s T'),
|
||||||
|
('news_posts_per_page', '3'),
|
||||||
|
('avatar_min_width', '20'),
|
||||||
|
('avatar_min_height', '20'),
|
||||||
|
('avatar_max_height', '512'),
|
||||||
|
('avatar_max_width', '512'),
|
||||||
|
('avatar_max_fsize', '2097152'),
|
||||||
|
('url_api', 'api.sakura.dev'),
|
||||||
|
('content_path', '/content'),
|
||||||
|
('user_uploads', 'uploads'),
|
||||||
|
('no_background_img', 'main/content/pixel.png'),
|
||||||
|
('no_header_img', 'main/content/images/triangles.png'),
|
||||||
|
('pixel_img', 'main/content/pixel.png'),
|
||||||
|
('background_max_fsize', '5242880'),
|
||||||
|
('background_max_width', '2560'),
|
||||||
|
('background_max_height', '1440'),
|
||||||
|
('background_min_height', '16'),
|
||||||
|
('background_min_width', '16'),
|
||||||
|
('max_online_time', '500'),
|
||||||
|
('no_avatar_img', 'main/content/data/{{ TPL }}/images/no-av.png'),
|
||||||
|
('deactivated_avatar_img', 'main/content/data/{{ TPL }}/images/deactivated-av.png'),
|
||||||
|
('banned_avatar_img', 'main/content/data/{{ TPL }}/images/banned-av.png'),
|
||||||
|
('session_check', '2'),
|
||||||
|
('url_rewrite', '1'),
|
||||||
|
('members_per_page', '30'),
|
||||||
|
('admin_email', '');
|
||||||
|
|
||||||
|
TRUNCATE `sakura_emoticons`;
|
||||||
|
INSERT INTO `sakura_emoticons` (`emote_string`, `emote_path`) VALUES
|
||||||
|
(':amu:', '/content/images/emoticons/amu.png'),
|
||||||
|
(':angrier:', '/content/images/emoticons/angrier.png'),
|
||||||
|
(':angriest:', '/content/images/emoticons/angriest.png'),
|
||||||
|
(':angry:', '/content/images/emoticons/angry.gif'),
|
||||||
|
(':blank:', '/content/images/emoticons/blank.png'),
|
||||||
|
(':childish:', '/content/images/emoticons/childish.png'),
|
||||||
|
(':congrats:', '/content/images/emoticons/congrats.png'),
|
||||||
|
(':crying:', '/content/images/emoticons/crying.gif'),
|
||||||
|
(':dizzy:', '/content/images/emoticons/dizzy.gif'),
|
||||||
|
(':eat:', '/content/images/emoticons/eat.gif'),
|
||||||
|
(':evil:', '/content/images/emoticons/evil.png'),
|
||||||
|
(':extreme:', '/content/images/emoticons/extreme.png'),
|
||||||
|
(':glare:', '/content/images/emoticons/glare.gif'),
|
||||||
|
(':happy:', '/content/images/emoticons/happy.gif'),
|
||||||
|
(':horror:', '/content/images/emoticons/horror.gif'),
|
||||||
|
(':huh:', '/content/images/emoticons/huh.png'),
|
||||||
|
(':idea:', '/content/images/emoticons/idea.png'),
|
||||||
|
(':jew:', '/content/images/emoticons/jew.png'),
|
||||||
|
(':kiss:', '/content/images/emoticons/kiss.gif'),
|
||||||
|
(':lmao:', '/content/images/emoticons/lmao.gif'),
|
||||||
|
(':lol:', '/content/images/emoticons/lol.gif'),
|
||||||
|
(':love:', '/content/images/emoticons/love.png'),
|
||||||
|
(':meow:', '/content/images/emoticons/meow.png'),
|
||||||
|
(':omg:', '/content/images/emoticons/omg.gif'),
|
||||||
|
(':ouch:', '/content/images/emoticons/ouch.gif'),
|
||||||
|
(':puke:', '/content/images/emoticons/puke.gif'),
|
||||||
|
(':ruse:', '/content/images/emoticons/ruse.png'),
|
||||||
|
(':sad:', '/content/images/emoticons/sad.png'),
|
||||||
|
(':sigh:', '/content/images/emoticons/sigh.gif'),
|
||||||
|
(':suspicious:', '/content/images/emoticons/suspicious.gif'),
|
||||||
|
(':sweat:', '/content/images/emoticons/sweat.gif'),
|
||||||
|
(':tired:', '/content/images/emoticons/tired.gif'),
|
||||||
|
(':yay:', '/content/images/emoticons/vhappy.gif'),
|
||||||
|
(':winxp:', '/content/images/emoticons/winxp.png'),
|
||||||
|
(':wtf:', '/content/images/emoticons/wtf.gif'),
|
||||||
|
(':sleep:', '/content/images/emoticons/zzz.gif'),
|
||||||
|
(':what:', '/content/images/emoticons/what.png'),
|
||||||
|
(':smug:', '/content/images/emoticons/smug.png');
|
||||||
|
|
||||||
|
TRUNCATE `sakura_optionfields`;
|
||||||
|
INSERT INTO `sakura_optionfields` (`id`, `name`, `description`, `formtype`, `require_perm`) VALUES
|
||||||
|
('disableProfileParallax', 'Disable Parallaxing', 'This will stop your background from responding to your mouse movement, this will only affect your background.', 'checkbox', 'CHANGE_BACKGROUND'),
|
||||||
|
('profileBackgroundSiteWide', 'Display profile background site wide', 'This will make the profile background you set on your profile appear on the entire site (except on other profiles).', 'checkbox', 'CREATE_BACKGROUND'),
|
||||||
|
('useMisaki', 'Use the testing style', 'This will make the site use the new Misaki style instead of Yuuno.', 'checkbox', 'ALTER_PROFILE');
|
||||||
|
|
||||||
|
TRUNCATE `sakura_permissions`;
|
||||||
|
INSERT INTO `sakura_permissions` (`rid`, `uid`, `siteperms`, `manageperms`, `forumperms`, `rankinherit`) VALUES
|
||||||
|
(1, 0, '0000000000000000000000000001', '00', '0', '000'),
|
||||||
|
(2, 0, '0000111111111100111101101100', '00', '1', '000'),
|
||||||
|
(3, 0, '0001111111111111111111111100', '11', '1', '000'),
|
||||||
|
(4, 0, '1111111111111111111111111100', '11', '1', '000'),
|
||||||
|
(5, 0, '0001111111111111111111111100', '11', '1', '000'),
|
||||||
|
(6, 0, '0000111111111100111101101100', '00', '0', '000'),
|
||||||
|
(7, 0, '0001111111111111111111111100', '01', '1', '000'),
|
||||||
|
(8, 0, '0001111111111111111111111100', '00', '1', '000'),
|
||||||
|
(9, 0, '0001111111111111111111111100', '00', '1', '000'),
|
||||||
|
(10, 0, '0000000011010100101000100010', '00', '0', '000');
|
||||||
|
|
||||||
|
TRUNCATE `sakura_profilefields`;
|
||||||
|
INSERT INTO `sakura_profilefields` (`id`, `name`, `formtype`, `islink`, `linkformat`, `description`, `additional`) VALUES
|
||||||
|
(1, 'Website', 'url', 1, '{{ VAL }}', 'URL to your website', ''),
|
||||||
|
(2, 'Twitter', 'text', 1, 'https://twitter.com/{{ VAL }}', 'Your @twitter Username', ''),
|
||||||
|
(3, 'BitBucket', 'text', 1, 'https://bitbucket.org/{{ VAL }}', 'Your BitBucket Username', ''),
|
||||||
|
(4, 'Skype', 'text', 1, 'skype:{{ VAL }}?userinfo', 'Your Skype Username', ''),
|
||||||
|
(5, 'YouTube', 'text', 0, '', 'ID or Username excluding http://youtube.com/*/', '{\"youtubetype\": [\"checkbox\", \"I <b>do not</b> have a Channel Username (url looks like https://www.youtube.com/channel/UCXZcw5hw5C7Neto-T_nRXBQ).\"]}'),
|
||||||
|
(6, 'SoundCloud', 'text', 1, 'https://soundcloud.com/{{ VAL }}', 'Your SoundCloud username', ''),
|
||||||
|
(7, 'Steam', 'text', 1, 'https://steamcommunity.com/id/{{ VAL }}', 'Your Steam Community Username (may differ from login username)', ''),
|
||||||
|
(8, 'osu!', 'text', 1, 'https://osu.ppy.sh/u/{{ VAL }}', 'Your osu! Username', ''),
|
||||||
|
(9, 'Origin', 'text', 0, '', 'Your Origin User ID', ''),
|
||||||
|
(10, 'Xbox Live', 'text', 1, 'https://account.xbox.com/en-GB/Profile?Gamertag={{ VAL }}', 'Your Xbox User ID', ''),
|
||||||
|
(11, 'PSN', 'text', 1, 'http://psnprofiles.com/{{ VAL }}', 'Your PSN User ID', ''),
|
||||||
|
(12, 'Last.fm', 'text', 1, 'http://last.fm/user/{{ VAL }}', 'Your Last.fm username', '');
|
||||||
|
|
||||||
|
TRUNCATE `sakura_ranks`;
|
||||||
|
INSERT INTO `sakura_ranks` (`id`, `name`, `multi`, `hidden`, `colour`, `description`, `title`) VALUES
|
||||||
|
(1, 'Deactivated', 0, 1, '#555', 'Users that are yet to be activated or that deactivated their own account.', 'Deactivated'),
|
||||||
|
(2, 'Regular user', 1, 0, 'inherit', 'Regular users with regular permissions.', 'Regular user'),
|
||||||
|
(3, 'Site moderator', 1, 0, '#0A0', 'Users with special permissions like being able to ban and modify users if needed.', 'Staff'),
|
||||||
|
(4, 'Administrator', 1, 0, '#C00', 'Users that manage the server and everything around that.', 'Administrator'),
|
||||||
|
(5, 'Developer', 1, 0, '#824CA0', 'Users that either create or test new features of the site.', 'Staff'),
|
||||||
|
(6, 'Bot', 1, 1, '#9E8DA7', 'Reserved user accounts for services.', 'Bot'),
|
||||||
|
(7, 'Chat moderator', 1, 0, '#09F', 'Moderators of the chat room.', 'Staff'),
|
||||||
|
(8, 'Tenshi', 0, 0, '#EE9400', 'Users that bought premium to help us keep the site and its services alive!', 'Tenshi'),
|
||||||
|
(9, 'Alumnii', 0, 0, '#FF69B4', 'People who have contributed to the community but have moved on or resigned.', 'Alumnii'),
|
||||||
|
(10, 'Restricted', 0, 1, '#333', 'Users that are restricted.', 'Restricted');
|
||||||
|
|
||||||
|
-- 2015-09-06 14:19:12
|
|
@ -1,10 +1,10 @@
|
||||||
-- Adminer 4.2.1 MySQL dump
|
-- Adminer 4.2.2 MySQL dump
|
||||||
|
|
||||||
SET NAMES utf8;
|
SET NAMES utf8;
|
||||||
SET time_zone = '+00:00';
|
SET time_zone = '+00:00';
|
||||||
SET foreign_key_checks = 0;
|
|
||||||
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
|
|
||||||
|
|
||||||
|
DROP DATABASE IF EXISTS `sakura-development`;
|
||||||
|
CREATE DATABASE `sakura-development` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin */;
|
||||||
USE `sakura-development`;
|
USE `sakura-development`;
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `sakura_actioncodes`;
|
DROP TABLE IF EXISTS `sakura_actioncodes`;
|
||||||
|
@ -15,7 +15,7 @@ CREATE TABLE `sakura_actioncodes` (
|
||||||
`actkey` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'The URL key for using this code.',
|
`actkey` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'The URL key for using this code.',
|
||||||
`instruction` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'Things the backend should do upon using this code',
|
`instruction` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'Things the backend should do upon using this code',
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||||
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `sakura_apikeys`;
|
DROP TABLE IF EXISTS `sakura_apikeys`;
|
||||||
|
@ -52,18 +52,8 @@ CREATE TABLE `sakura_bbcodes` (
|
||||||
`description` varchar(512) COLLATE utf8_bin NOT NULL COMMENT 'Description of what this does.',
|
`description` varchar(512) COLLATE utf8_bin NOT NULL COMMENT 'Description of what this does.',
|
||||||
`on_posting` tinyint(1) unsigned NOT NULL COMMENT 'Set if this bbcode is displayed on the posting page.',
|
`on_posting` tinyint(1) unsigned NOT NULL COMMENT 'Set if this bbcode is displayed on the posting page.',
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||||
|
|
||||||
INSERT INTO `sakura_bbcodes` (`id`, `regex`, `replace`, `title`, `description`, `on_posting`) VALUES
|
|
||||||
(1, '/\\[b\\](.*?)\\[\\/b\\]/is', '<b>$1</b>', 'Bold', 'Make text bold. Usage: [b]text[/b].', 1),
|
|
||||||
(2, '/\\[i\\](.*?)\\[\\/i\\]/is', '<i>$1</i>', 'Italics', 'Make text italic. Usage: [i]text[/i].', 1),
|
|
||||||
(3, '/\\[u\\](.*?)\\[\\/u\\]/is', '<u>$1</u>', 'Underline', 'Make text underlined. Usage: [u]text[/u].', 1),
|
|
||||||
(4, '/\\[s\\](.*?)\\[\\/s\\]/is', '<del>$1</del>', 'Strikethrough', 'Put a line through text. Usage: [s]text[/s].', 1),
|
|
||||||
(5, '/\\[img\\]([a-zA-Z0-9\\.\\$\\-\\_\\.\\+\\*\\!\\\'\\(\\)\\/\\:\\#]+)\\[\\/img\\]/is', '<img src=\"$1\" alt=\"Image\" />', 'Image', 'Embed an image. Usage: [img]url[/img]', 1),
|
|
||||||
(6, '/\\[url=([a-zA-Z0-9\\.\\$\\-\\_\\.\\+\\*\\!\\\'\\(\\)\\/\\:\\#]+)\\](.*?)\\[\\/url\\]/is', '<a href=\"$1\" target=\"_blank\">$2</a>', 'Link', 'Embed a URL. Usage: [url=http://google.com]Link to google![/url]', 0),
|
|
||||||
(7, '/\\[url\\]([a-zA-Z0-9\\.\\$\\-\\_\\.\\+\\*\\!\\\'\\(\\)\\/\\:\\#]+)\\[\\/url\\]/is', '<a href=\"$1\" target=\"_blank\">$1</a>', 'Link', 'Make a link clickable (if the automatic algorithm doesn\'t do it already). Usage: [url]http://google.com[/url]', 1),
|
|
||||||
(8, '/\\[quote\\=\\\"(.+)\\\"\\](.+)\\[\\/quote]/is', '<div class=\"quote\"><div class=\"quotee\">$1 wrote:</div><div class=\"text\">$2</div></div>', 'Quote', 'Quote a user\'s post. Usage: [quote=Flashwave]nookls is pretty[/quote]', 0),
|
|
||||||
(9, '/\\[quote\\](.+)\\[\\/quote]/is', '<div class=\"quote\"><div class=\"quotee\">Quote:</div><div class=\"text\">$1</div></div>', 'Quote', 'Quote a user\'s post. Usage: [quote]nookls is pretty[/quote]', 1);
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `sakura_config`;
|
DROP TABLE IF EXISTS `sakura_config`;
|
||||||
CREATE TABLE `sakura_config` (
|
CREATE TABLE `sakura_config` (
|
||||||
|
@ -71,75 +61,6 @@ CREATE TABLE `sakura_config` (
|
||||||
`config_value` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'The value, obviously.'
|
`config_value` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'The value, obviously.'
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||||
|
|
||||||
INSERT INTO `sakura_config` (`config_name`, `config_value`) VALUES
|
|
||||||
('recaptcha_public', ''),
|
|
||||||
('recaptcha_private', ''),
|
|
||||||
('charset', 'utf-8'),
|
|
||||||
('cookie_prefix', 'fii_'),
|
|
||||||
('cookie_domain', 'flashii.test'),
|
|
||||||
('cookie_path', '/'),
|
|
||||||
('site_style', 'yuuno'),
|
|
||||||
('manage_style', 'broomcloset'),
|
|
||||||
('smtp_server', ''),
|
|
||||||
('smtp_auth', ''),
|
|
||||||
('smtp_secure', ''),
|
|
||||||
('smtp_port', ''),
|
|
||||||
('smtp_username', ''),
|
|
||||||
('smtp_password', ''),
|
|
||||||
('smtp_replyto_mail', 'admin@flashii.net'),
|
|
||||||
('smtp_replyto_name', 'Flashwave'),
|
|
||||||
('smtp_from_email', ''),
|
|
||||||
('smtp_from_name', 'Flashii Noreply'),
|
|
||||||
('sitename', 'Cutting Edgii'),
|
|
||||||
('recaptcha', '0'),
|
|
||||||
('require_activation', '0'),
|
|
||||||
('require_registration_code', '0'),
|
|
||||||
('disable_registration', '0'),
|
|
||||||
('max_reg_keys', '5'),
|
|
||||||
('mail_signature', 'Team Flashii'),
|
|
||||||
('lock_authentication', '0'),
|
|
||||||
('min_entropy', '1'),
|
|
||||||
('sitedesc', 'Live development environment for the script that powers Flashii.net called Sakura.'),
|
|
||||||
('sitetags', '[\"Flashii\",\"Media\",\"Flashwave\",\"Circle\",\"Zeniea\",\"MalwareUp\",\"Cybernetics\",\"Saibateku\",\"Community\",\"osu!\",\"osu\"]'),
|
|
||||||
('username_min_length', '3'),
|
|
||||||
('username_max_length', '16'),
|
|
||||||
('lock_site', '1'),
|
|
||||||
('lock_site_reason', 'meow'),
|
|
||||||
('use_gzip', '0'),
|
|
||||||
('enable_tpl_cache', '0'),
|
|
||||||
('paypal_client_id', ''),
|
|
||||||
('paypal_secret', ''),
|
|
||||||
('premium_price_per_month', '1.49'),
|
|
||||||
('premium_rank_id', '8'),
|
|
||||||
('premium_amount_max', '24'),
|
|
||||||
('alumni_rank_id', '9'),
|
|
||||||
('url_main', 'flashii.test'),
|
|
||||||
('front_page_news_posts', '3'),
|
|
||||||
('date_format', 'D Y-m-d H:i:s T'),
|
|
||||||
('news_posts_per_page', '3'),
|
|
||||||
('avatar_min_width', '20'),
|
|
||||||
('avatar_min_height', '20'),
|
|
||||||
('avatar_max_height', '512'),
|
|
||||||
('avatar_max_width', '512'),
|
|
||||||
('avatar_max_fsize', '2097152'),
|
|
||||||
('url_api', 'api.flashii.test'),
|
|
||||||
('content_path', '/content'),
|
|
||||||
('user_uploads', 'uploads'),
|
|
||||||
('no_background_img', 'main/content/pixel.png'),
|
|
||||||
('no_header_img', 'main/content/images/triangles.png'),
|
|
||||||
('pixel_img', 'main/content/pixel.png'),
|
|
||||||
('background_max_fsize', '5242880'),
|
|
||||||
('background_max_width', '2560'),
|
|
||||||
('background_max_height', '1440'),
|
|
||||||
('background_min_height', '16'),
|
|
||||||
('background_min_width', '16'),
|
|
||||||
('max_online_time', '500'),
|
|
||||||
('no_avatar_img', 'main/content/data/{{ TPL }}/images/no-av.png'),
|
|
||||||
('deactivated_avatar_img', 'main/content/data/{{ TPL }}/images/deactivated-av.png'),
|
|
||||||
('banned_avatar_img', 'main/content/data/{{ TPL }}/images/banned-av.png'),
|
|
||||||
('session_check', '2'),
|
|
||||||
('url_rewrite', '1'),
|
|
||||||
('members_per_page', '30');
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `sakura_emoticons`;
|
DROP TABLE IF EXISTS `sakura_emoticons`;
|
||||||
CREATE TABLE `sakura_emoticons` (
|
CREATE TABLE `sakura_emoticons` (
|
||||||
|
@ -147,56 +68,16 @@ CREATE TABLE `sakura_emoticons` (
|
||||||
`emote_path` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'Path to the image file relative to the content domain.'
|
`emote_path` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'Path to the image file relative to the content domain.'
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||||
|
|
||||||
INSERT INTO `sakura_emoticons` (`emote_string`, `emote_path`) VALUES
|
|
||||||
(':amu:', '/content/images/emoticons/amu.png'),
|
|
||||||
(':angrier:', '/content/images/emoticons/angrier.png'),
|
|
||||||
(':angriest:', '/content/images/emoticons/angriest.png'),
|
|
||||||
(':angry:', '/content/images/emoticons/angry.gif'),
|
|
||||||
(':blank:', '/content/images/emoticons/blank.png'),
|
|
||||||
(':childish:', '/content/images/emoticons/childish.png'),
|
|
||||||
(':congrats:', '/content/images/emoticons/congrats.png'),
|
|
||||||
(':crying:', '/content/images/emoticons/crying.gif'),
|
|
||||||
(':dizzy:', '/content/images/emoticons/dizzy.gif'),
|
|
||||||
(':eat:', '/content/images/emoticons/eat.gif'),
|
|
||||||
(':evil:', '/content/images/emoticons/evil.png'),
|
|
||||||
(':extreme:', '/content/images/emoticons/extreme.png'),
|
|
||||||
(':glare:', '/content/images/emoticons/glare.gif'),
|
|
||||||
(':happy:', '/content/images/emoticons/happy.gif'),
|
|
||||||
(':horror:', '/content/images/emoticons/horror.gif'),
|
|
||||||
(':huh:', '/content/images/emoticons/huh.png'),
|
|
||||||
(':idea:', '/content/images/emoticons/idea.png'),
|
|
||||||
(':jew:', '/content/images/emoticons/jew.png'),
|
|
||||||
(':kiss:', '/content/images/emoticons/kiss.gif'),
|
|
||||||
(':lmao:', '/content/images/emoticons/lmao.gif'),
|
|
||||||
(':lol:', '/content/images/emoticons/lol.gif'),
|
|
||||||
(':love:', '/content/images/emoticons/love.png'),
|
|
||||||
(':meow:', '/content/images/emoticons/meow.png'),
|
|
||||||
(':omg:', '/content/images/emoticons/omg.gif'),
|
|
||||||
(':ouch:', '/content/images/emoticons/ouch.gif'),
|
|
||||||
(':puke:', '/content/images/emoticons/puke.gif'),
|
|
||||||
(':ruse:', '/content/images/emoticons/ruse.png'),
|
|
||||||
(':sad:', '/content/images/emoticons/sad.png'),
|
|
||||||
(':sigh:', '/content/images/emoticons/sigh.gif'),
|
|
||||||
(':suspicious:', '/content/images/emoticons/suspicious.gif'),
|
|
||||||
(':sweat:', '/content/images/emoticons/sweat.gif'),
|
|
||||||
(':tired:', '/content/images/emoticons/tired.gif'),
|
|
||||||
(':yay:', '/content/images/emoticons/vhappy.gif'),
|
|
||||||
(':winxp:', '/content/images/emoticons/winxp.png'),
|
|
||||||
(':wtf:', '/content/images/emoticons/wtf.gif'),
|
|
||||||
(':sleep:', '/content/images/emoticons/zzz.gif'),
|
|
||||||
(':what:', '/content/images/emoticons/what.png'),
|
|
||||||
(':smug:', '/content/images/emoticons/smug.png');
|
|
||||||
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `sakura_error_log`;
|
DROP TABLE IF EXISTS `sakura_error_log`;
|
||||||
CREATE TABLE `sakura_error_log` (
|
CREATE TABLE `sakura_error_log` (
|
||||||
`id` varchar(32) COLLATE utf8_bin NOT NULL,
|
`id` varchar(32) COLLATE utf8_bin NOT NULL COMMENT 'An ID that is created when an error occurs.',
|
||||||
`timestamp` varchar(128) COLLATE utf8_bin NOT NULL,
|
`timestamp` varchar(128) COLLATE utf8_bin NOT NULL COMMENT 'A datestring from when the error occurred.',
|
||||||
`error_type` int(16) unsigned NOT NULL,
|
`error_type` int(16) unsigned NOT NULL COMMENT 'The PHP error type of this error.',
|
||||||
`error_line` int(32) unsigned NOT NULL,
|
`error_line` int(32) unsigned NOT NULL COMMENT 'The line that caused this error.',
|
||||||
`error_string` varchar(512) COLLATE utf8_bin NOT NULL,
|
`error_string` varchar(512) COLLATE utf8_bin NOT NULL COMMENT 'PHP''s description of this error.',
|
||||||
`error_file` varchar(512) COLLATE utf8_bin NOT NULL,
|
`error_file` varchar(512) COLLATE utf8_bin NOT NULL COMMENT 'The file in which this error occurred.',
|
||||||
`backtrace` text COLLATE utf8_bin NOT NULL
|
`backtrace` text COLLATE utf8_bin NOT NULL COMMENT 'A full base64 and json encoded backtrace containing all environment data.'
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||||
|
|
||||||
|
|
||||||
|
@ -207,7 +88,7 @@ CREATE TABLE `sakura_faq` (
|
||||||
`question` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'The question.',
|
`question` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'The question.',
|
||||||
`answer` text COLLATE utf8_bin NOT NULL COMMENT 'The answer.',
|
`answer` text COLLATE utf8_bin NOT NULL COMMENT 'The answer.',
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||||
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `sakura_forums`;
|
DROP TABLE IF EXISTS `sakura_forums`;
|
||||||
|
@ -220,7 +101,7 @@ CREATE TABLE `sakura_forums` (
|
||||||
`forum_type` tinyint(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Forum type, 0 for regular board, 1 for category and 2 for link.',
|
`forum_type` tinyint(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Forum type, 0 for regular board, 1 for category and 2 for link.',
|
||||||
`forum_icon` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'Display icon for the forum.',
|
`forum_icon` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'Display icon for the forum.',
|
||||||
PRIMARY KEY (`forum_id`)
|
PRIMARY KEY (`forum_id`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||||
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `sakura_friends`;
|
DROP TABLE IF EXISTS `sakura_friends`;
|
||||||
|
@ -273,7 +154,7 @@ CREATE TABLE `sakura_messages` (
|
||||||
`subject` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'Title of the message',
|
`subject` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'Title of the message',
|
||||||
`content` text COLLATE utf8_bin NOT NULL COMMENT 'Contents of the message.',
|
`content` text COLLATE utf8_bin NOT NULL COMMENT 'Contents of the message.',
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||||
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `sakura_news`;
|
DROP TABLE IF EXISTS `sakura_news`;
|
||||||
|
@ -285,7 +166,7 @@ CREATE TABLE `sakura_news` (
|
||||||
`title` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'Title of the post.',
|
`title` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'Title of the post.',
|
||||||
`content` text COLLATE utf8_bin NOT NULL COMMENT 'Contents of the post',
|
`content` text COLLATE utf8_bin NOT NULL COMMENT 'Contents of the post',
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||||
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `sakura_notifications`;
|
DROP TABLE IF EXISTS `sakura_notifications`;
|
||||||
|
@ -303,7 +184,7 @@ CREATE TABLE `sakura_notifications` (
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
KEY `uid` (`uid`),
|
KEY `uid` (`uid`),
|
||||||
CONSTRAINT `sakura_notifications_ibfk_1` FOREIGN KEY (`uid`) REFERENCES `sakura_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
CONSTRAINT `sakura_notifications_ibfk_1` FOREIGN KEY (`uid`) REFERENCES `sakura_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||||
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `sakura_optionfields`;
|
DROP TABLE IF EXISTS `sakura_optionfields`;
|
||||||
|
@ -316,10 +197,6 @@ CREATE TABLE `sakura_optionfields` (
|
||||||
UNIQUE KEY `id` (`id`)
|
UNIQUE KEY `id` (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||||
|
|
||||||
INSERT INTO `sakura_optionfields` (`id`, `name`, `description`, `formtype`, `require_perm`) VALUES
|
|
||||||
('disableProfileParallax', 'Disable Parallaxing', 'This will stop your background from responding to your mouse movement, this will only affect your background.', 'checkbox', 'CHANGE_BACKGROUND'),
|
|
||||||
('profileBackgroundSiteWide', 'Display profile background site wide', 'This will make the profile background you set on your profile appear on the entire site (except on other profiles).', 'checkbox', 'CREATE_BACKGROUND'),
|
|
||||||
('useMisaki', 'Use the testing style', 'This will make the site use the new Misaki style instead of Yuuno.', 'checkbox', 'ALTER_PROFILE');
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `sakura_permissions`;
|
DROP TABLE IF EXISTS `sakura_permissions`;
|
||||||
CREATE TABLE `sakura_permissions` (
|
CREATE TABLE `sakura_permissions` (
|
||||||
|
@ -331,17 +208,6 @@ CREATE TABLE `sakura_permissions` (
|
||||||
`rankinherit` varchar(4) COLLATE utf8_bin NOT NULL DEFAULT '000' COMMENT 'Rank inheritance, only used when user specific.'
|
`rankinherit` varchar(4) COLLATE utf8_bin NOT NULL DEFAULT '000' COMMENT 'Rank inheritance, only used when user specific.'
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||||
|
|
||||||
INSERT INTO `sakura_permissions` (`rid`, `uid`, `siteperms`, `manageperms`, `forumperms`, `rankinherit`) VALUES
|
|
||||||
(1, 0, '0000000000000000000000000001', '00', '0', '000'),
|
|
||||||
(2, 0, '0000111111111100111101101100', '00', '1', '000'),
|
|
||||||
(3, 0, '0001111111111111111111111100', '11', '1', '000'),
|
|
||||||
(4, 0, '1111111111111111111111111100', '11', '1', '000'),
|
|
||||||
(5, 0, '0001111111111111111111111100', '11', '1', '000'),
|
|
||||||
(6, 0, '0000111111111100111101101100', '00', '0', '000'),
|
|
||||||
(7, 0, '0001111111111111111111111100', '01', '1', '000'),
|
|
||||||
(8, 0, '0001111111111111111111111100', '00', '1', '000'),
|
|
||||||
(9, 0, '0001111111111111111111111100', '00', '1', '000'),
|
|
||||||
(10, 0, '0000000011010100101000100010', '00', '0', '000');
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `sakura_posts`;
|
DROP TABLE IF EXISTS `sakura_posts`;
|
||||||
CREATE TABLE `sakura_posts` (
|
CREATE TABLE `sakura_posts` (
|
||||||
|
@ -365,7 +231,7 @@ CREATE TABLE `sakura_posts` (
|
||||||
KEY `poster_id` (`poster_id`),
|
KEY `poster_id` (`poster_id`),
|
||||||
CONSTRAINT `sakura_posts_ibfk_1` FOREIGN KEY (`topic_id`) REFERENCES `sakura_topics` (`topic_id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
CONSTRAINT `sakura_posts_ibfk_1` FOREIGN KEY (`topic_id`) REFERENCES `sakura_topics` (`topic_id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||||
CONSTRAINT `sakura_posts_ibfk_2` FOREIGN KEY (`forum_id`) REFERENCES `sakura_forums` (`forum_id`) ON DELETE CASCADE ON UPDATE CASCADE
|
CONSTRAINT `sakura_posts_ibfk_2` FOREIGN KEY (`forum_id`) REFERENCES `sakura_forums` (`forum_id`) ON DELETE CASCADE ON UPDATE CASCADE
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||||
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `sakura_premium`;
|
DROP TABLE IF EXISTS `sakura_premium`;
|
||||||
|
@ -386,7 +252,7 @@ CREATE TABLE `sakura_premium_log` (
|
||||||
`date` int(11) unsigned NOT NULL COMMENT 'Date when the purchase was made.',
|
`date` int(11) unsigned NOT NULL COMMENT 'Date when the purchase was made.',
|
||||||
`comment` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'A short description of the action taken.',
|
`comment` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'A short description of the action taken.',
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=143 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||||
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `sakura_profilefields`;
|
DROP TABLE IF EXISTS `sakura_profilefields`;
|
||||||
|
@ -399,21 +265,8 @@ CREATE TABLE `sakura_profilefields` (
|
||||||
`description` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'Description of the field displayed in the control panel.',
|
`description` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'Description of the field displayed in the control panel.',
|
||||||
`additional` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'Undocumented JSON array containing special options if needed (probably only going to be used for the YouTube field).',
|
`additional` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'Undocumented JSON array containing special options if needed (probably only going to be used for the YouTube field).',
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||||
|
|
||||||
INSERT INTO `sakura_profilefields` (`id`, `name`, `formtype`, `islink`, `linkformat`, `description`, `additional`) VALUES
|
|
||||||
(1, 'Website', 'url', 1, '{{ VAL }}', 'URL to your website', ''),
|
|
||||||
(2, 'Twitter', 'text', 1, 'https://twitter.com/{{ VAL }}', 'Your @twitter Username', ''),
|
|
||||||
(3, 'BitBucket', 'text', 1, 'https://bitbucket.org/{{ VAL }}', 'Your BitBucket Username', ''),
|
|
||||||
(4, 'Skype', 'text', 1, 'skype:{{ VAL }}?userinfo', 'Your Skype Username', ''),
|
|
||||||
(5, 'YouTube', 'text', 0, '', 'ID or Username excluding http://youtube.com/*/', '{\"youtubetype\": [\"checkbox\", \"I <b>do not</b> have a Channel Username (url looks like https://www.youtube.com/channel/UCXZcw5hw5C7Neto-T_nRXBQ).\"]}'),
|
|
||||||
(6, 'SoundCloud', 'text', 1, 'https://soundcloud.com/{{ VAL }}', 'Your SoundCloud username', ''),
|
|
||||||
(7, 'Steam', 'text', 1, 'https://steamcommunity.com/id/{{ VAL }}', 'Your Steam Community Username (may differ from login username)', ''),
|
|
||||||
(8, 'osu!', 'text', 1, 'https://osu.ppy.sh/u/{{ VAL }}', 'Your osu! Username', ''),
|
|
||||||
(9, 'Origin', 'text', 0, '', 'Your Origin User ID', ''),
|
|
||||||
(10, 'Xbox Live', 'text', 1, 'https://account.xbox.com/en-GB/Profile?Gamertag={{ VAL }}', 'Your Xbox User ID', ''),
|
|
||||||
(11, 'PSN', 'text', 1, 'http://psnprofiles.com/{{ VAL }}', 'Your PSN User ID', ''),
|
|
||||||
(12, 'Last.fm', 'text', 1, 'http://last.fm/user/{{ VAL }}', 'Your Last.fm username', '');
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `sakura_ranks`;
|
DROP TABLE IF EXISTS `sakura_ranks`;
|
||||||
CREATE TABLE `sakura_ranks` (
|
CREATE TABLE `sakura_ranks` (
|
||||||
|
@ -425,19 +278,8 @@ CREATE TABLE `sakura_ranks` (
|
||||||
`description` text COLLATE utf8_bin NOT NULL COMMENT 'A description of what a user of this rank can do/is supposed to do.',
|
`description` text COLLATE utf8_bin NOT NULL COMMENT 'A description of what a user of this rank can do/is supposed to do.',
|
||||||
`title` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'Default user title if user has none set.',
|
`title` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'Default user title if user has none set.',
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||||
|
|
||||||
INSERT INTO `sakura_ranks` (`id`, `name`, `multi`, `hidden`, `colour`, `description`, `title`) VALUES
|
|
||||||
(1, 'Deactivated', 0, 1, '#555', 'Users that are yet to be activated or that deactivated their own account.', 'Deactivated'),
|
|
||||||
(2, 'Regular user', 1, 0, 'inherit', 'Regular users with regular permissions.', 'Regular user'),
|
|
||||||
(3, 'Site moderator', 1, 0, '#0A0', 'Users with special permissions like being able to ban and modify users if needed.', 'Staff'),
|
|
||||||
(4, 'Administrator', 1, 0, '#C00', 'Users that manage the server and everything around that.', 'Administrator'),
|
|
||||||
(5, 'Developer', 1, 0, '#824CA0', 'Users that either create or test new features of the site.', 'Staff'),
|
|
||||||
(6, 'Bot', 1, 1, '#9E8DA7', 'Reserved user accounts for services.', 'Bot'),
|
|
||||||
(7, 'Chat moderator', 1, 0, '#09F', 'Moderators of the chat room.', 'Staff'),
|
|
||||||
(8, 'Tenshi', 0, 0, '#EE9400', 'Users that bought premium to help us keep the site and its services alive!', 'Tenshi'),
|
|
||||||
(9, 'Alumnii', 0, 0, '#FF69B4', 'People who have contributed to the community but have moved on or resigned.', 'Alumnii'),
|
|
||||||
(10, 'Restricted', 0, 1, '#333', 'Users that are restricted.', 'Restricted');
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `sakura_regcodes`;
|
DROP TABLE IF EXISTS `sakura_regcodes`;
|
||||||
CREATE TABLE `sakura_regcodes` (
|
CREATE TABLE `sakura_regcodes` (
|
||||||
|
@ -478,7 +320,7 @@ CREATE TABLE `sakura_sessions` (
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
KEY `userid` (`userid`),
|
KEY `userid` (`userid`),
|
||||||
CONSTRAINT `sakura_sessions_ibfk_1` FOREIGN KEY (`userid`) REFERENCES `sakura_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
CONSTRAINT `sakura_sessions_ibfk_1` FOREIGN KEY (`userid`) REFERENCES `sakura_users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=165 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||||
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `sakura_topics`;
|
DROP TABLE IF EXISTS `sakura_topics`;
|
||||||
|
@ -497,7 +339,7 @@ CREATE TABLE `sakura_topics` (
|
||||||
PRIMARY KEY (`topic_id`),
|
PRIMARY KEY (`topic_id`),
|
||||||
KEY `forum_id` (`forum_id`),
|
KEY `forum_id` (`forum_id`),
|
||||||
CONSTRAINT `sakura_topics_ibfk_1` FOREIGN KEY (`forum_id`) REFERENCES `sakura_forums` (`forum_id`) ON DELETE CASCADE ON UPDATE CASCADE
|
CONSTRAINT `sakura_topics_ibfk_1` FOREIGN KEY (`forum_id`) REFERENCES `sakura_forums` (`forum_id`) ON DELETE CASCADE ON UPDATE CASCADE
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||||
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `sakura_users`;
|
DROP TABLE IF EXISTS `sakura_users`;
|
||||||
|
@ -515,8 +357,8 @@ CREATE TABLE `sakura_users` (
|
||||||
`rank_main` mediumint(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Main rank of the user.',
|
`rank_main` mediumint(4) unsigned NOT NULL DEFAULT '0' COMMENT 'Main rank of the user.',
|
||||||
`ranks` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '[0]' COMMENT 'Array containing the ranks the user is part of.',
|
`ranks` varchar(255) COLLATE utf8_bin NOT NULL DEFAULT '[0]' COMMENT 'Array containing the ranks the user is part of.',
|
||||||
`name_colour` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT 'Additional name colour, when empty colour defaults to group colour.',
|
`name_colour` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT 'Additional name colour, when empty colour defaults to group colour.',
|
||||||
`register_ip` varchar(16) COLLATE utf8_bin NOT NULL COMMENT 'IP used for the creation of this account.',
|
`register_ip` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'IP used for the creation of this account.',
|
||||||
`last_ip` varchar(16) COLLATE utf8_bin NOT NULL COMMENT 'Last IP that was used to log into this account.',
|
`last_ip` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'Last IP that was used to log into this account.',
|
||||||
`usertitle` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT 'Custom user title of the user, when empty reverts to their derault group name.',
|
`usertitle` varchar(64) COLLATE utf8_bin DEFAULT NULL COMMENT 'Custom user title of the user, when empty reverts to their derault group name.',
|
||||||
`regdate` int(11) unsigned NOT NULL DEFAULT '0' COMMENT 'Timestamp of account creation.',
|
`regdate` int(11) unsigned NOT NULL DEFAULT '0' COMMENT 'Timestamp of account creation.',
|
||||||
`lastdate` int(11) unsigned NOT NULL DEFAULT '0' COMMENT 'Last time anything was done on this account.',
|
`lastdate` int(11) unsigned NOT NULL DEFAULT '0' COMMENT 'Last time anything was done on this account.',
|
||||||
|
@ -526,7 +368,7 @@ CREATE TABLE `sakura_users` (
|
||||||
`userData` text COLLATE utf8_bin COMMENT 'All additional profile data.',
|
`userData` text COLLATE utf8_bin COMMENT 'All additional profile data.',
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
UNIQUE KEY `username_clean` (`username_clean`)
|
UNIQUE KEY `username_clean` (`username_clean`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||||
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `sakura_warnings`;
|
DROP TABLE IF EXISTS `sakura_warnings`;
|
||||||
|
@ -545,4 +387,4 @@ CREATE TABLE `sakura_warnings` (
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||||
|
|
||||||
|
|
||||||
-- 2015-09-05 16:08:34
|
-- 2015-09-06 14:14:33
|
|
@ -7,6 +7,9 @@
|
||||||
// Filesystem path to the _sakura folder WITHOUT an ending /
|
// Filesystem path to the _sakura folder WITHOUT an ending /
|
||||||
// This can also be set before an include of this file in case
|
// This can also be set before an include of this file in case
|
||||||
// you're using git to keep in sync and don't want conflicts
|
// you're using git to keep in sync and don't want conflicts
|
||||||
|
// You can also create a PHP file including this SockChat.php
|
||||||
|
// file so it's always up-to-date! Don't forget to include the
|
||||||
|
// variable below in the file __BEFORE__ the include!
|
||||||
if(!isset($sockSakuraPath)) {
|
if(!isset($sockSakuraPath)) {
|
||||||
|
|
||||||
$sockSakuraPath = '';
|
$sockSakuraPath = '';
|
|
@ -22,10 +22,11 @@ if(isset($_REQUEST['mode'])) {
|
||||||
if(!isset($_REQUEST['time']) || $_REQUEST['time'] < time() - 1000) {
|
if(!isset($_REQUEST['time']) || $_REQUEST['time'] < time() - 1000) {
|
||||||
|
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
'title' => 'Action failed',
|
|
||||||
'redirect' => $urls->format('AUTH_ACTION'),
|
'redirect' => $urls->format('AUTH_ACTION'),
|
||||||
'message' => 'Timestamps differ too much, refresh the page and try again.',
|
'message' => 'Timestamps differ too much, refresh the page and try again.',
|
||||||
'success' => 0
|
'success' => 0
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
// Prevent
|
// Prevent
|
||||||
|
@ -37,10 +38,11 @@ if(isset($_REQUEST['mode'])) {
|
||||||
if(!isset($_REQUEST['session']) || $_REQUEST['session'] != session_id()) {
|
if(!isset($_REQUEST['session']) || $_REQUEST['session'] != session_id()) {
|
||||||
|
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
'title' => 'Action failed',
|
|
||||||
'redirect' => $urls->format('AUTH_ACTION'),
|
'redirect' => $urls->format('AUTH_ACTION'),
|
||||||
'message' => 'Invalid session, please try again.',
|
'message' => 'Invalid session, please try again.',
|
||||||
'success' => 0
|
'success' => 0
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
// Prevent
|
// Prevent
|
||||||
|
@ -58,10 +60,11 @@ if(isset($_REQUEST['mode'])) {
|
||||||
|
|
||||||
// Add page specific things
|
// Add page specific things
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
'title' => 'Authentication',
|
|
||||||
'redirect' => $urls->format('SITE_HOME'),
|
'redirect' => $urls->format('SITE_HOME'),
|
||||||
'message' => 'You are already authenticated. Redirecting...',
|
'message' => 'You are already authenticated. Redirecting...',
|
||||||
'success' => 1
|
'success' => 1
|
||||||
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,10 +81,11 @@ if(isset($_REQUEST['mode'])) {
|
||||||
|
|
||||||
// Add page specific data
|
// Add page specific data
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
'title' => 'Logout',
|
|
||||||
'redirect' => ($logout ? $_REQUEST['redirect'] : $urls->format('SITE_LOGIN')),
|
'redirect' => ($logout ? $_REQUEST['redirect'] : $urls->format('SITE_LOGIN')),
|
||||||
'message' => $logout ? 'You are now logged out.' : 'An unknown error occurred.',
|
'message' => $logout ? 'You are now logged out.' : 'An unknown error occurred.',
|
||||||
'success' => $logout ? 1 : 0
|
'success' => $logout ? 1 : 0
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -93,6 +97,7 @@ if(isset($_REQUEST['mode'])) {
|
||||||
|
|
||||||
// Array containing "human understandable" messages
|
// Array containing "human understandable" messages
|
||||||
$messages = [
|
$messages = [
|
||||||
|
|
||||||
'INVALID_VERK' => 'The verification key supplied was invalid!',
|
'INVALID_VERK' => 'The verification key supplied was invalid!',
|
||||||
'INVALID_CODE' => 'Invalid verification key, if you think this is an error contact the administrator.',
|
'INVALID_CODE' => 'Invalid verification key, if you think this is an error contact the administrator.',
|
||||||
'INVALID_USER' => 'The used verification key is not designated for this user.',
|
'INVALID_USER' => 'The used verification key is not designated for this user.',
|
||||||
|
@ -100,14 +105,16 @@ if(isset($_REQUEST['mode'])) {
|
||||||
'PASS_TOO_SHIT' => 'Your password is too weak, try adding some special characters.',
|
'PASS_TOO_SHIT' => 'Your password is too weak, try adding some special characters.',
|
||||||
'PASS_NOT_MATCH' => 'Passwords do not match.',
|
'PASS_NOT_MATCH' => 'Passwords do not match.',
|
||||||
'SUCCESS' => 'Successfully changed your password, you may now log in.'
|
'SUCCESS' => 'Successfully changed your password, you may now log in.'
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
// Add page specific things
|
// Add page specific things
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
'title' => 'Forgot Password',
|
|
||||||
'redirect' => ($passforget[0] ? $urls->format('SITE_LOGIN') : $_SERVER['PHP_SELF'] .'?pw=true&uid='. $_REQUEST['uid'] .'&verk='. $_REQUEST['verk']),
|
'redirect' => ($passforget[0] ? $urls->format('SITE_LOGIN') : $_SERVER['PHP_SELF'] .'?pw=true&uid='. $_REQUEST['uid'] .'&verk='. $_REQUEST['verk']),
|
||||||
'message' => $messages[$passforget[1]],
|
'message' => $messages[$passforget[1]],
|
||||||
'success' => $passforget[0]
|
'success' => $passforget[0]
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -120,19 +127,22 @@ if(isset($_REQUEST['mode'])) {
|
||||||
|
|
||||||
// Array containing "human understandable" messages
|
// Array containing "human understandable" messages
|
||||||
$messages = [
|
$messages = [
|
||||||
|
|
||||||
'USER_NOT_EXIST' => 'The user you tried to activate does not exist.',
|
'USER_NOT_EXIST' => 'The user you tried to activate does not exist.',
|
||||||
'USER_ALREADY_ACTIVE' => 'The user you tried to activate is already active.',
|
'USER_ALREADY_ACTIVE' => 'The user you tried to activate is already active.',
|
||||||
'INVALID_CODE' => 'Invalid activation code, if you think this is an error contact the administrator.',
|
'INVALID_CODE' => 'Invalid activation code, if you think this is an error contact the administrator.',
|
||||||
'INVALID_USER' => 'The used activation code is not designated for this user.',
|
'INVALID_USER' => 'The used activation code is not designated for this user.',
|
||||||
'SUCCESS' => 'Successfully activated your account, you may now log in.'
|
'SUCCESS' => 'Successfully activated your account, you may now log in.'
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
// Add page specific things
|
// Add page specific things
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
'title' => 'Activate account',
|
|
||||||
'redirect' => $urls->format('SITE_LOGIN'),
|
'redirect' => $urls->format('SITE_LOGIN'),
|
||||||
'message' => $messages[$activate[1]],
|
'message' => $messages[$activate[1]],
|
||||||
'success' => $activate[0]
|
'success' => $activate[0]
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -145,18 +155,21 @@ if(isset($_REQUEST['mode'])) {
|
||||||
|
|
||||||
// Array containing "human understandable" messages
|
// Array containing "human understandable" messages
|
||||||
$messages = [
|
$messages = [
|
||||||
|
|
||||||
'AUTH_LOCKED' => 'Authentication is currently not allowed, try again later.',
|
'AUTH_LOCKED' => 'Authentication is currently not allowed, try again later.',
|
||||||
'USER_NOT_EXIST' => 'The user you tried to activate does not exist (confirm the username/email combination).',
|
'USER_NOT_EXIST' => 'The user you tried to activate does not exist (confirm the username/email combination).',
|
||||||
'USER_ALREADY_ACTIVE' => 'The user you tried to activate is already active.',
|
'USER_ALREADY_ACTIVE' => 'The user you tried to activate is already active.',
|
||||||
'SUCCESS' => 'The activation e-mail has been sent to the address associated with your account.'
|
'SUCCESS' => 'The activation e-mail has been sent to the address associated with your account.'
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
// Add page specific things
|
// Add page specific things
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
'title' => 'Resend Activation',
|
|
||||||
'redirect' => $urls->format('SITE_HOME'),
|
'redirect' => $urls->format('SITE_HOME'),
|
||||||
'message' => $messages[$resend[1]],
|
'message' => $messages[$resend[1]],
|
||||||
'success' => $resend[0]
|
'success' => $resend[0]
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -169,20 +182,23 @@ if(isset($_REQUEST['mode'])) {
|
||||||
|
|
||||||
// Array containing "human understandable" messages
|
// Array containing "human understandable" messages
|
||||||
$messages = [
|
$messages = [
|
||||||
|
|
||||||
'AUTH_LOCKED' => 'Authentication is currently not allowed, try again later.',
|
'AUTH_LOCKED' => 'Authentication is currently not allowed, try again later.',
|
||||||
'USER_NOT_EXIST' => 'The user you tried to log into does not exist.',
|
'USER_NOT_EXIST' => 'The user you tried to log into does not exist.',
|
||||||
'INCORRECT_PASSWORD' => 'The password you entered was invalid.',
|
'INCORRECT_PASSWORD' => 'The password you entered was invalid.',
|
||||||
'NOT_ALLOWED' => 'Your account does not have the required permissions to log in.',
|
'NOT_ALLOWED' => 'Your account does not have the required permissions to log in.',
|
||||||
'NO_LOGIN' => 'Logging into this account is disabled.',
|
'NO_LOGIN' => 'Logging into this account is disabled.',
|
||||||
'LOGIN_SUCESS' => 'Login successful!'
|
'LOGIN_SUCESS' => 'Login successful!'
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
// Add page specific things
|
// Add page specific things
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
'title' => 'Login',
|
|
||||||
'redirect' => $login[0] ? $_REQUEST['redirect'] : $urls->format('SITE_LOGIN'),
|
'redirect' => $login[0] ? $_REQUEST['redirect'] : $urls->format('SITE_LOGIN'),
|
||||||
'message' => $messages[$login[1]],
|
'message' => $messages[$login[1]],
|
||||||
'success' => $login[0]
|
'success' => $login[0]
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -211,6 +227,7 @@ if(isset($_REQUEST['mode'])) {
|
||||||
|
|
||||||
// Array containing "human understandable" messages
|
// Array containing "human understandable" messages
|
||||||
$messages = [
|
$messages = [
|
||||||
|
|
||||||
'AUTH_LOCKED' => 'Authentication is currently not allowed, try again later.',
|
'AUTH_LOCKED' => 'Authentication is currently not allowed, try again later.',
|
||||||
'DISABLED' => 'Registration is currently disabled.',
|
'DISABLED' => 'Registration is currently disabled.',
|
||||||
'INVALID_REG_KEY' => 'The given registration code was invalid.',
|
'INVALID_REG_KEY' => 'The given registration code was invalid.',
|
||||||
|
@ -225,14 +242,16 @@ if(isset($_REQUEST['mode'])) {
|
||||||
'INVALID_MX' => 'No valid MX-Record found on the e-mail address you supplied.',
|
'INVALID_MX' => 'No valid MX-Record found on the e-mail address you supplied.',
|
||||||
'EMAILSENT' => 'Your registration went through! An activation e-mail has been sent.',
|
'EMAILSENT' => 'Your registration went through! An activation e-mail has been sent.',
|
||||||
'SUCCESS' => 'Your registration went through! Welcome to '. Configuration::getConfig('sitename') .'!'
|
'SUCCESS' => 'Your registration went through! Welcome to '. Configuration::getConfig('sitename') .'!'
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
// Add page specific things
|
// Add page specific things
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
'title' => 'Register',
|
|
||||||
'redirect' => ($register[0] ? $urls->format('SITE_LOGIN') : $urls->format('SITE_REGISTER')),
|
'redirect' => ($register[0] ? $urls->format('SITE_LOGIN') : $urls->format('SITE_REGISTER')),
|
||||||
'message' => $messages[$register[1]],
|
'message' => $messages[$register[1]],
|
||||||
'success' => $register[0]
|
'success' => $register[0]
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -245,18 +264,21 @@ if(isset($_REQUEST['mode'])) {
|
||||||
|
|
||||||
// Array containing "human understandable" messages
|
// Array containing "human understandable" messages
|
||||||
$messages = [
|
$messages = [
|
||||||
|
|
||||||
'AUTH_LOCKED' => 'Authentication is currently not allowed, try again later.',
|
'AUTH_LOCKED' => 'Authentication is currently not allowed, try again later.',
|
||||||
'USER_NOT_EXIST' => 'The requested user does not exist (confirm the username/email combination).',
|
'USER_NOT_EXIST' => 'The requested user does not exist (confirm the username/email combination).',
|
||||||
'NOT_ALLOWED' => 'Your account does not have the required permissions to change your password.',
|
'NOT_ALLOWED' => 'Your account does not have the required permissions to change your password.',
|
||||||
'SUCCESS' => 'The password reset e-mail has been sent to the address associated with your account.'
|
'SUCCESS' => 'The password reset e-mail has been sent to the address associated with your account.'
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
// Add page specific things
|
// Add page specific things
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
'title' => 'Lost Password',
|
|
||||||
'redirect' => $urls->format('SITE_FORGOT_PASSWORD'),
|
'redirect' => $urls->format('SITE_FORGOT_PASSWORD'),
|
||||||
'message' => $messages[$passforgot[1]],
|
'message' => $messages[$passforgot[1]],
|
||||||
'success' => $passforgot[0]
|
'success' => $passforgot[0]
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -268,13 +290,9 @@ if(isset($_REQUEST['mode'])) {
|
||||||
// Print page contents or if the AJAX request is set only display the render data
|
// Print page contents or if the AJAX request is set only display the render data
|
||||||
print isset($_REQUEST['ajax']) ?
|
print isset($_REQUEST['ajax']) ?
|
||||||
(
|
(
|
||||||
$renderData['page']['title']
|
$renderData['page']['message'] .'|'.
|
||||||
. '|'
|
$renderData['page']['success'] .'|'.
|
||||||
. $renderData['page']['message']
|
$renderData['page']['redirect']
|
||||||
. '|'
|
|
||||||
. $renderData['page']['success']
|
|
||||||
. '|'
|
|
||||||
. $renderData['page']['redirect']
|
|
||||||
) :
|
) :
|
||||||
Templates::render('global/information.tpl', $renderData);
|
Templates::render('global/information.tpl', $renderData);
|
||||||
exit;
|
exit;
|
||||||
|
@ -282,9 +300,6 @@ if(isset($_REQUEST['mode'])) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add page specific things
|
// Add page specific things
|
||||||
$renderData['page'] = [
|
|
||||||
'title' => 'Authentication'
|
|
||||||
];
|
|
||||||
$renderData['auth'] = [
|
$renderData['auth'] = [
|
||||||
|
|
||||||
'redirect' => isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : $urls->format('SITE_HOME'),
|
'redirect' => isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : $urls->format('SITE_HOME'),
|
||||||
|
@ -301,9 +316,10 @@ if(Users::checkLogin()) {
|
||||||
|
|
||||||
// Add page specific things
|
// Add page specific things
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
'title' => 'Authentication',
|
|
||||||
'redirect' => $urls->format('SITE_HOME'),
|
'redirect' => $urls->format('SITE_HOME'),
|
||||||
'message' => 'You are already logged in, log out to access this page.'
|
'message' => 'You are already logged in, log out to access this page.'
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
print Templates::render('global/information.tpl', $renderData);
|
print Templates::render('global/information.tpl', $renderData);
|
||||||
|
@ -315,8 +331,10 @@ if(Users::checkLogin()) {
|
||||||
if(count($regUserIP = Users::getUsersByIP(Main::getRemoteIP()))) {
|
if(count($regUserIP = Users::getUsersByIP(Main::getRemoteIP()))) {
|
||||||
|
|
||||||
$renderData['auth']['blockRegister'] = [
|
$renderData['auth']['blockRegister'] = [
|
||||||
|
|
||||||
'do' => true,
|
'do' => true,
|
||||||
'username' => $regUserIP[array_rand($regUserIP)]['username']
|
'username' => $regUserIP[array_rand($regUserIP)]['username']
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -324,7 +342,6 @@ if(count($regUserIP = Users::getUsersByIP(Main::getRemoteIP()))) {
|
||||||
// If password forgot things are set display password forget thing
|
// If password forgot things are set display password forget thing
|
||||||
if(isset($_REQUEST['pw']) && $_REQUEST['pw']) {
|
if(isset($_REQUEST['pw']) && $_REQUEST['pw']) {
|
||||||
|
|
||||||
$renderData['page']['title'] = 'Resetting Password';
|
|
||||||
$renderData['auth']['changingPass'] = true;
|
$renderData['auth']['changingPass'] = true;
|
||||||
$renderData['auth']['userId'] = $_REQUEST['uid'];
|
$renderData['auth']['userId'] = $_REQUEST['uid'];
|
||||||
|
|
||||||
|
|
|
@ -937,8 +937,9 @@ a#gotop.exit {
|
||||||
#notifications > div {
|
#notifications > div {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
display: inline-block;
|
display: flex;
|
||||||
height: 80px;
|
align-items: stretch;
|
||||||
|
min-height: 80px;
|
||||||
background: rgba(113, 74, 150, .9);
|
background: rgba(113, 74, 150, .9);
|
||||||
border: 1px solid #507;
|
border: 1px solid #507;
|
||||||
border-right-width: 5px;
|
border-right-width: 5px;
|
||||||
|
@ -959,12 +960,17 @@ a#gotop.exit {
|
||||||
}
|
}
|
||||||
|
|
||||||
#notifications > div > .notification-icon {
|
#notifications > div > .notification-icon {
|
||||||
float: left;
|
|
||||||
width: 80px;
|
|
||||||
height: 80px;
|
height: 80px;
|
||||||
text-align: center;
|
width: 80px;
|
||||||
|
vertical-align: middle;
|
||||||
background: rgba(0, 0, 0, .5);
|
background: rgba(0, 0, 0, .5);
|
||||||
display: block;
|
flex-shrink: 0;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#notifications > div > .notification-icon > * {
|
||||||
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
#notifications > div > .notification-icon > img {
|
#notifications > div > .notification-icon > img {
|
||||||
|
@ -972,49 +978,58 @@ a#gotop.exit {
|
||||||
max-width: 80px;
|
max-width: 80px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#notifications > div > .notification-icon > .font-icon {
|
|
||||||
margin: .34em 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#notifications > div > .notification-content {
|
#notifications > div > .notification-content {
|
||||||
float: left;
|
|
||||||
min-width: 350px;
|
min-width: 350px;
|
||||||
max-width: 450px;
|
max-width: 450px;
|
||||||
padding-right: 6px;
|
padding-right: 6px;
|
||||||
border-left: 1px solid rgb(85, 0, 119);
|
border-left: 1px solid #507;
|
||||||
height: 80px;
|
|
||||||
margin-left: 2px;
|
margin-left: 2px;
|
||||||
padding-left: 8px;
|
flex-grow: 2;
|
||||||
|
display: flex;
|
||||||
|
align-content: center;
|
||||||
|
justify-content: center;
|
||||||
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
|
|
||||||
#notifications > div > .notification-content > .notification-title {
|
#notifications > div > .notification-content > .notification-title {
|
||||||
font-weight: 300;
|
font-weight: 300;
|
||||||
font-size: 1.7em;
|
font-size: 1.7em;
|
||||||
margin-top: 1em;
|
line-height: 1.5em;
|
||||||
|
padding-left: 4px;
|
||||||
|
border-bottom: 1px solid #507;
|
||||||
}
|
}
|
||||||
|
|
||||||
#notifications > div > .notification-close:before {
|
#notifications > div > .notification-content > .notification-text {
|
||||||
font-family: FontAwesome;
|
padding-left: 4px;
|
||||||
content: "\f00d";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#notifications > div > .notification-close {
|
#notifications > div > .notification-close {
|
||||||
font-size: 2em;
|
font-size: 2em;
|
||||||
float: right;
|
|
||||||
height: 80px;
|
|
||||||
width: 20px;
|
width: 20px;
|
||||||
|
line-height: 100%;
|
||||||
background: #507;
|
background: #507;
|
||||||
margin-top: -3px;
|
margin-top: -3px;
|
||||||
padding-bottom: 6px;
|
margin-bottom: -3px;
|
||||||
padding-left: 2px;
|
padding-left: 2px;
|
||||||
|
padding-bottom: 3px;
|
||||||
border-left: 3px solid #507;
|
border-left: 3px solid #507;
|
||||||
line-height: 3.4em;
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
display: none;
|
visibility: hidden;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#notifications > div > .notification-close > div {
|
||||||
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
#notifications > div:hover > .notification-close {
|
#notifications > div:hover > .notification-close {
|
||||||
display: block;
|
visibility: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
#notifications > div > .notification-close > div:before {
|
||||||
|
font-family: FontAwesome;
|
||||||
|
content: "\f00d";
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 600px) {
|
@media (max-width: 600px) {
|
||||||
|
@ -1030,19 +1045,17 @@ a#gotop.exit {
|
||||||
}
|
}
|
||||||
|
|
||||||
#notifications > div {
|
#notifications > div {
|
||||||
height: 40px;
|
min-height: 40px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background: rgba(113, 74, 150, 1);
|
background: rgba(113, 74, 150, 1);
|
||||||
border: 0;
|
border: 0;
|
||||||
margin: 0 !important;
|
margin: 0 !important;
|
||||||
box-shadow: 0 0 0;
|
|
||||||
float: left;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#notifications > div > .notification-icon {
|
#notifications > div > .notification-icon {
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
text-align: center;
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#notifications > div > .notification-icon > img {
|
#notifications > div > .notification-icon > img {
|
||||||
|
@ -1051,7 +1064,6 @@ a#gotop.exit {
|
||||||
}
|
}
|
||||||
|
|
||||||
#notifications > div > .notification-icon > .font-icon {
|
#notifications > div > .notification-icon > .font-icon {
|
||||||
margin: .34em 0;
|
|
||||||
font-size: 2em;
|
font-size: 2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1060,16 +1072,21 @@ a#gotop.exit {
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
width: auto;
|
width: auto;
|
||||||
border-left: 0;
|
border-left: 0;
|
||||||
height: 40px;
|
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding-left: 4px;
|
padding-left: 4px;
|
||||||
display: inline-block;
|
flex-grow: 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
#notifications > div > .notification-content > .notification-title {
|
#notifications > div > .notification-content > .notification-title {
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#notifications > div > .notification-content > .notification-text {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#notifications > div > .notification-close {
|
#notifications > div > .notification-close {
|
||||||
|
@ -1078,15 +1095,13 @@ a#gotop.exit {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
line-height: 1.5em;
|
|
||||||
text-align: center;
|
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
display: block;
|
visibility: visible;
|
||||||
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#notifications > div > .notification-close:after {
|
#notifications > div > .notification-close > div {
|
||||||
clear: both !important;
|
margin-top: -1px;
|
||||||
float: none;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ function cookieData(action, name, data) {
|
||||||
return (result = new RegExp('(^|; )' + encodeURIComponent(name) + '=([^;]*)').exec(document.cookie)) ? result[2] : '';
|
return (result = new RegExp('(^|; )' + encodeURIComponent(name) + '=([^;]*)').exec(document.cookie)) ? result[2] : '';
|
||||||
|
|
||||||
case 'set':
|
case 'set':
|
||||||
document.cookie = name + '=' + data;
|
document.cookie = name + '=' + data + '; path=/';
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -42,6 +42,7 @@ function notifyUI(content) {
|
||||||
var notifTitle = document.createElement('div');
|
var notifTitle = document.createElement('div');
|
||||||
var notifText = document.createElement('div');
|
var notifText = document.createElement('div');
|
||||||
var notifClose = document.createElement('div');
|
var notifClose = document.createElement('div');
|
||||||
|
var notifCloseIcon = document.createElement('div');
|
||||||
var notifClear = document.createElement('div');
|
var notifClear = document.createElement('div');
|
||||||
var iconCont;
|
var iconCont;
|
||||||
|
|
||||||
|
@ -87,6 +88,7 @@ function notifyUI(content) {
|
||||||
// Add close button
|
// Add close button
|
||||||
notifClose .className = 'notification-close';
|
notifClose .className = 'notification-close';
|
||||||
notifClose .setAttribute('onclick', 'notifyClose(this.parentNode.id);');
|
notifClose .setAttribute('onclick', 'notifyClose(this.parentNode.id);');
|
||||||
|
notifClose .appendChild(notifCloseIcon);
|
||||||
notif .appendChild(notifClose);
|
notif .appendChild(notifClose);
|
||||||
|
|
||||||
// Add .clear
|
// Add .clear
|
||||||
|
@ -543,29 +545,31 @@ function submitPost(action, requestParts, busyView, msg, resetCaptchaOnFailure)
|
||||||
// If using the busy view thing update the text displayed to the return of the request
|
// If using the busy view thing update the text displayed to the return of the request
|
||||||
if(busyView) {
|
if(busyView) {
|
||||||
|
|
||||||
ajaxBusyView(true, request[1], (request[2] == '1' ? 'ok' : 'fail'));
|
ajaxBusyView(true, request[0], (request[1] == '1' ? 'ok' : 'fail'));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// If request reset the recaptcha on failure
|
// If request reset the recaptcha on failure
|
||||||
if(resetCaptchaOnFailure && request[2] != '1' && sakuraVars.recpatchaEnabled) {
|
if(resetCaptchaOnFailure && request[1] != '1' && sakuraVars.recpatchaEnabled) {
|
||||||
|
|
||||||
grecaptcha.reset();
|
grecaptcha.reset();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
|
|
||||||
if(busyView) {
|
if(busyView) {
|
||||||
|
|
||||||
ajaxBusyView(false);
|
ajaxBusyView(false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(request[2] == '1') {
|
if(request[1] == '1') {
|
||||||
|
|
||||||
window.location = request[3];
|
window.location = request[2];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}, 2000);
|
}, 2000);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -14,8 +14,9 @@ if(isset($_GET['p'])) {
|
||||||
|
|
||||||
// Set default variables
|
// Set default variables
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
'title' => 'Info pages',
|
|
||||||
'content' => Main::mdParse("# Unable to load the requested info page.\r\n\r\nCheck the URL and try again.")
|
'content' => Main::mdParse("# Unable to load the requested info page.\r\n\r\nCheck the URL and try again.")
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
// Set page id
|
// Set page id
|
||||||
|
@ -48,8 +49,7 @@ $forumMode = isset($_GET['forum']) ? ($_GET['forum'] == true) : false;
|
||||||
$renderData['newsPosts'] = ($forumMode ? null : Main::getNewsPosts(Configuration::getConfig('front_page_news_posts')));
|
$renderData['newsPosts'] = ($forumMode ? null : Main::getNewsPosts(Configuration::getConfig('front_page_news_posts')));
|
||||||
|
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
'title' => ($forumMode ? 'Forum Listing' : Configuration::getConfig('sitename')),
|
'friend_req' => Users::getPendingFriends()
|
||||||
'friend_req' => Users::getPendingFriends()
|
|
||||||
];
|
];
|
||||||
|
|
||||||
$renderData['board'] = [
|
$renderData['board'] = [
|
||||||
|
|
|
@ -9,19 +9,28 @@ namespace Sakura;
|
||||||
// Include components
|
// Include components
|
||||||
require_once str_replace(basename(__DIR__), '', dirname(__FILE__)) .'_sakura/sakura.php';
|
require_once str_replace(basename(__DIR__), '', dirname(__FILE__)) .'_sakura/sakura.php';
|
||||||
|
|
||||||
// Add page specific things
|
// CHeck if the user is logged in
|
||||||
$renderData['page'] = [
|
if(Users::checkLogin()) {
|
||||||
|
|
||||||
'ranks' => ($_MEMBERLIST_RANKS = Users::getAllRanks()),
|
// Add page specific things
|
||||||
'active' => ($_MEMBERLIST_ACTIVE = (isset($_GET['rank']) && $_GET['rank'] && array_key_exists($_GET['rank'], $_MEMBERLIST_RANKS) ? $_GET['rank'] : 0)),
|
$renderData['page'] = [
|
||||||
'notfound' => ($_MEMBERLIST_NFOUND = (isset($_GET['rank']) && !array_key_exists($_GET['rank'], $_MEMBERLIST_RANKS) && $_GET['rank'] != 0)),
|
|
||||||
'sorts' => ($_MEMBERLIST_SORTS = ['boxes', 'rectangles', 'list']),
|
|
||||||
'sort' => isset($_GET['sort']) && $_GET['sort'] && in_array($_GET['sort'], $_MEMBERLIST_SORTS) ? $_GET['sort'] : $_MEMBERLIST_SORTS[0],
|
|
||||||
'title' => isset($_GET['rank']) && $_GET['rank'] && !$_MEMBERLIST_NFOUND ? 'Viewing '. $_MEMBERLIST_RANKS[$_GET['rank']]['name'] . ($_MEMBERLIST_RANKS[$_GET['rank']]['multi'] ? 's' : '') : 'Member List',
|
|
||||||
'page' => isset($_GET['page']) && ($_GET['page'] - 1) >= 0 ? $_GET['page'] - 1 : 0,
|
|
||||||
'users' => array_chunk($_MEMBERLIST_ACTIVE && !$_MEMBERLIST_NFOUND ? Users::getUsersInRank($_MEMBERLIST_ACTIVE, null, true, true) : Users::getAllUsers(), Configuration::getConfig('members_per_page'), true)
|
|
||||||
|
|
||||||
];
|
'ranks' => ($_MEMBERLIST_RANKS = Users::getAllRanks()),
|
||||||
|
'active' => ($_MEMBERLIST_ACTIVE = (isset($_GET['rank']) && $_GET['rank'] && array_key_exists($_GET['rank'], $_MEMBERLIST_RANKS) ? $_GET['rank'] : 0)),
|
||||||
|
'notfound' => ($_MEMBERLIST_NFOUND = (isset($_GET['rank']) && !array_key_exists($_GET['rank'], $_MEMBERLIST_RANKS) && $_GET['rank'] != 0)),
|
||||||
|
'sorts' => ($_MEMBERLIST_SORTS = ['boxes', 'rectangles', 'list']),
|
||||||
|
'sort' => isset($_GET['sort']) && $_GET['sort'] && in_array($_GET['sort'], $_MEMBERLIST_SORTS) ? $_GET['sort'] : $_MEMBERLIST_SORTS[0],
|
||||||
|
'page' => isset($_GET['page']) && ($_GET['page'] - 1) >= 0 ? $_GET['page'] - 1 : 0,
|
||||||
|
'users' => array_chunk($_MEMBERLIST_ACTIVE && !$_MEMBERLIST_NFOUND ? Users::getUsersInRank($_MEMBERLIST_ACTIVE, null, true, true) : Users::getAllUsers(), Configuration::getConfig('members_per_page'), true)
|
||||||
|
|
||||||
// Print page contents
|
];
|
||||||
print Templates::render('main/memberlist.tpl', $renderData);
|
|
||||||
|
// Print page contents
|
||||||
|
print Templates::render('main/memberlist.tpl', $renderData);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
// Else return the restricted page
|
||||||
|
print Templates::render('global/restricted.tpl', $renderData);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -17,7 +17,6 @@ $renderData['newsPosts'] = Main::getNewsPosts((isset($_GET['id']) && !isset($_GE
|
||||||
|
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => (isset($_GET['id']) ? (count($renderData['newsPosts']) ? $renderData['newsPosts'][0]['title'] : 'Post does not exist!') : 'News'),
|
|
||||||
'view_post' => isset($_GET['id']) && count($renderData['newsPosts']),
|
'view_post' => isset($_GET['id']) && count($renderData['newsPosts']),
|
||||||
'currentPage' => 0
|
'currentPage' => 0
|
||||||
|
|
||||||
|
@ -28,23 +27,27 @@ if(isset($_GET['xml'])) {
|
||||||
|
|
||||||
// Meta data attributes
|
// Meta data attributes
|
||||||
$metaData = [
|
$metaData = [
|
||||||
|
|
||||||
'title' => ($_FEED_TITLE = Configuration::getConfig('sitename')) .' News',
|
'title' => ($_FEED_TITLE = Configuration::getConfig('sitename')) .' News',
|
||||||
'link' => ($_FEED_URL = 'http://'. Configuration::getConfig('url_main')),
|
'link' => ($_FEED_URL = 'http://'. Configuration::getConfig('url_main')),
|
||||||
'description' => 'News about '. $_FEED_TITLE,
|
'description' => 'News about '. $_FEED_TITLE,
|
||||||
'language' => 'en-gb',
|
'language' => 'en-gb',
|
||||||
'webMaster' => (new User(1))->data['email'] .' ('. $_FEED_TITLE .' Webmaster)',
|
'webMaster' => (new User(1))->data['email'] .' ('. $_FEED_TITLE .' Webmaster)',
|
||||||
'pubDate' => ($_FEED_DATE = date('r', $renderData['newsPosts'][0]['date'])),
|
'pubDate' => ($_FEED_DATE = date('r', $renderData['newsPosts'][0]['date'])),
|
||||||
'lastBuildDate' => $_FEED_DATE,
|
'lastBuildDate' => $_FEED_DATE
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
// Item attributes
|
// Item attributes
|
||||||
$itemData = [
|
$itemData = [
|
||||||
|
|
||||||
'title' => ['text' => '{EVAL}', 'eval' => '$newsPost["title"]'],
|
'title' => ['text' => '{EVAL}', 'eval' => '$newsPost["title"]'],
|
||||||
'link' => ['text' => $_FEED_URL .'/news/{EVAL}', 'eval' => '$newsPost["id"]'],
|
'link' => ['text' => $_FEED_URL .'/news/{EVAL}', 'eval' => '$newsPost["id"]'],
|
||||||
'guid' => ['text' => $_FEED_URL .'/news/{EVAL}', 'eval' => '$newsPost["id"]'],
|
'guid' => ['text' => $_FEED_URL .'/news/{EVAL}', 'eval' => '$newsPost["id"]'],
|
||||||
'pubDate' => ['text' => '{EVAL}', 'eval' => 'date("D, d M Y G:i:s O", $newsPost["date"])'],
|
'pubDate' => ['text' => '{EVAL}', 'eval' => 'date("D, d M Y G:i:s O", $newsPost["date"])'],
|
||||||
'dc:publisher' => ['text' => '{EVAL}', 'eval' => '$newsPost["udata"]["username"]'],
|
'dc:publisher' => ['text' => '{EVAL}', 'eval' => '$newsPost["udata"]["username"]'],
|
||||||
'description' => ['cdata' => '{EVAL}', 'eval' => '$newsPost["parsed"]'],
|
'description' => ['cdata' => '{EVAL}', 'eval' => '$newsPost["parsed"]']
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
// Create a new DOM document
|
// Create a new DOM document
|
||||||
|
|
|
@ -16,14 +16,5 @@ $profile = new User(isset($_GET['u']) ? $_GET['u'] : 0);
|
||||||
// Assign the object to a renderData variable
|
// Assign the object to a renderData variable
|
||||||
$renderData['profile'] = $profile;
|
$renderData['profile'] = $profile;
|
||||||
|
|
||||||
// Set proper page title
|
|
||||||
$renderData['page']['title'] = (
|
|
||||||
|
|
||||||
$profile->checkPermission('SITE', 'DEACTIVATED') || $profile->data['password_algo'] == 'nologin' || ($profile->checkPermission('SITE', 'RESTRICTED') && ($profile->data['id'] != $currentUser->data['id'] && !$currentUser->checkPermission('MANAGE', 'USE_MANAGE')))
|
|
||||||
? 'User not found!'
|
|
||||||
: 'Profile of '. $profile->data['username']
|
|
||||||
|
|
||||||
);
|
|
||||||
|
|
||||||
// Print page contents
|
// Print page contents
|
||||||
print Templates::render('profile/index.tpl', $renderData);
|
print Templates::render('profile/index.tpl', $renderData);
|
||||||
|
|
|
@ -76,7 +76,6 @@ if(isset($_REQUEST['request-notifications']) && $_REQUEST['request-notifications
|
||||||
|
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => 'Action failed',
|
|
||||||
'redirect' => $redirect,
|
'redirect' => $redirect,
|
||||||
'message' => 'One of the required operators isn\'t set.',
|
'message' => 'One of the required operators isn\'t set.',
|
||||||
'success' => 0
|
'success' => 0
|
||||||
|
@ -93,7 +92,6 @@ if(isset($_REQUEST['request-notifications']) && $_REQUEST['request-notifications
|
||||||
|
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => 'Action failed',
|
|
||||||
'redirect' => $redirect,
|
'redirect' => $redirect,
|
||||||
'message' => 'You can\'t be friends with yourself, stop trying to bend reality.',
|
'message' => 'You can\'t be friends with yourself, stop trying to bend reality.',
|
||||||
'success' => 0
|
'success' => 0
|
||||||
|
@ -110,7 +108,6 @@ if(isset($_REQUEST['request-notifications']) && $_REQUEST['request-notifications
|
||||||
|
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => 'Action failed',
|
|
||||||
'redirect' => $redirect,
|
'redirect' => $redirect,
|
||||||
'message' => 'Timestamps differ too much, refresh the page and try again.',
|
'message' => 'Timestamps differ too much, refresh the page and try again.',
|
||||||
'success' => 0
|
'success' => 0
|
||||||
|
@ -127,7 +124,6 @@ if(isset($_REQUEST['request-notifications']) && $_REQUEST['request-notifications
|
||||||
|
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => 'Action failed',
|
|
||||||
'redirect' => $redirect,
|
'redirect' => $redirect,
|
||||||
'message' => 'Invalid session, please try again.',
|
'message' => 'Invalid session, please try again.',
|
||||||
'success' => 0
|
'success' => 0
|
||||||
|
@ -169,7 +165,6 @@ if(isset($_REQUEST['request-notifications']) && $_REQUEST['request-notifications
|
||||||
// Add page specific things
|
// Add page specific things
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => 'Managing Friends',
|
|
||||||
'redirect' => $redirect,
|
'redirect' => $redirect,
|
||||||
'message' => $messages[$action[1]],
|
'message' => $messages[$action[1]],
|
||||||
'success' => $action[0]
|
'success' => $action[0]
|
||||||
|
@ -199,13 +194,9 @@ if(isset($_REQUEST['request-notifications']) && $_REQUEST['request-notifications
|
||||||
// Print page contents or if the AJAX request is set only display the render data
|
// Print page contents or if the AJAX request is set only display the render data
|
||||||
print isset($_REQUEST['ajax']) ?
|
print isset($_REQUEST['ajax']) ?
|
||||||
(
|
(
|
||||||
$renderData['page']['title']
|
$renderData['page']['message'] .'|'.
|
||||||
. '|'
|
$renderData['page']['success'] .'|'.
|
||||||
. $renderData['page']['message']
|
$renderData['page']['redirect']
|
||||||
. '|'
|
|
||||||
. $renderData['page']['success']
|
|
||||||
. '|'
|
|
||||||
. $renderData['page']['redirect']
|
|
||||||
) :
|
) :
|
||||||
Templates::render('global/information.tpl', $renderData);
|
Templates::render('global/information.tpl', $renderData);
|
||||||
exit;
|
exit;
|
||||||
|
@ -222,7 +213,6 @@ if(isset($_REQUEST['request-notifications']) && $_REQUEST['request-notifications
|
||||||
|
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => 'Settings',
|
|
||||||
'redirect' => '/authenticate',
|
'redirect' => '/authenticate',
|
||||||
'message' => 'You must be logged in to edit your settings.',
|
'message' => 'You must be logged in to edit your settings.',
|
||||||
'success' => 0
|
'success' => 0
|
||||||
|
@ -238,7 +228,6 @@ if(isset($_REQUEST['request-notifications']) && $_REQUEST['request-notifications
|
||||||
|
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => 'Session expired',
|
|
||||||
'redirect' => $redirect,
|
'redirect' => $redirect,
|
||||||
'message' => 'Your session has expired, please refresh the page and try again.',
|
'message' => 'Your session has expired, please refresh the page and try again.',
|
||||||
'success' => 0
|
'success' => 0
|
||||||
|
@ -285,7 +274,6 @@ if(isset($_REQUEST['request-notifications']) && $_REQUEST['request-notifications
|
||||||
// Set render data
|
// Set render data
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => $msgTitle,
|
|
||||||
'redirect' => $redirect,
|
'redirect' => $redirect,
|
||||||
'message' => 'You are not allowed to alter your '. strtolower($msgTitle) .'.',
|
'message' => 'You are not allowed to alter your '. strtolower($msgTitle) .'.',
|
||||||
'success' => 0
|
'success' => 0
|
||||||
|
@ -307,7 +295,6 @@ if(isset($_REQUEST['request-notifications']) && $_REQUEST['request-notifications
|
||||||
// Set render data
|
// Set render data
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => $msgTitle,
|
|
||||||
'redirect' => $redirect,
|
'redirect' => $redirect,
|
||||||
'message' => 'No file was uploaded.',
|
'message' => 'No file was uploaded.',
|
||||||
'success' => 0
|
'success' => 0
|
||||||
|
@ -348,7 +335,6 @@ if(isset($_REQUEST['request-notifications']) && $_REQUEST['request-notifications
|
||||||
// Set render data
|
// Set render data
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => $msgTitle,
|
|
||||||
'redirect' => $redirect,
|
'redirect' => $redirect,
|
||||||
'message' => $msg,
|
'message' => $msg,
|
||||||
'success' => 0
|
'success' => 0
|
||||||
|
@ -371,7 +357,6 @@ if(isset($_REQUEST['request-notifications']) && $_REQUEST['request-notifications
|
||||||
// Set render data
|
// Set render data
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => $msgTitle,
|
|
||||||
'redirect' => $redirect,
|
'redirect' => $redirect,
|
||||||
'message' => 'Uploaded file is not an image.',
|
'message' => 'Uploaded file is not an image.',
|
||||||
'success' => 0
|
'success' => 0
|
||||||
|
@ -388,7 +373,6 @@ if(isset($_REQUEST['request-notifications']) && $_REQUEST['request-notifications
|
||||||
// Set render data
|
// Set render data
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => $msgTitle,
|
|
||||||
'redirect' => $redirect,
|
'redirect' => $redirect,
|
||||||
'message' => 'This filetype is not allowed.',
|
'message' => 'This filetype is not allowed.',
|
||||||
'success' => 0
|
'success' => 0
|
||||||
|
@ -405,7 +389,6 @@ if(isset($_REQUEST['request-notifications']) && $_REQUEST['request-notifications
|
||||||
// Set render data
|
// Set render data
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => $msgTitle,
|
|
||||||
'redirect' => $redirect,
|
'redirect' => $redirect,
|
||||||
'message' => 'The resolution of this picture is too big.',
|
'message' => 'The resolution of this picture is too big.',
|
||||||
'success' => 0
|
'success' => 0
|
||||||
|
@ -422,7 +405,6 @@ if(isset($_REQUEST['request-notifications']) && $_REQUEST['request-notifications
|
||||||
// Set render data
|
// Set render data
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => $msgTitle,
|
|
||||||
'redirect' => $redirect,
|
'redirect' => $redirect,
|
||||||
'message' => 'The resolution of this picture is too small.',
|
'message' => 'The resolution of this picture is too small.',
|
||||||
'success' => 0
|
'success' => 0
|
||||||
|
@ -439,7 +421,6 @@ if(isset($_REQUEST['request-notifications']) && $_REQUEST['request-notifications
|
||||||
// Set render data
|
// Set render data
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => $msgTitle,
|
|
||||||
'redirect' => $redirect,
|
'redirect' => $redirect,
|
||||||
'message' => 'The filesize of this file is too large.',
|
'message' => 'The filesize of this file is too large.',
|
||||||
'success' => 0
|
'success' => 0
|
||||||
|
@ -469,7 +450,6 @@ if(isset($_REQUEST['request-notifications']) && $_REQUEST['request-notifications
|
||||||
// Set render data
|
// Set render data
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => $msgTitle,
|
|
||||||
'redirect' => $redirect,
|
'redirect' => $redirect,
|
||||||
'message' => 'Something went wrong, please try again.',
|
'message' => 'Something went wrong, please try again.',
|
||||||
'success' => 0
|
'success' => 0
|
||||||
|
@ -494,7 +474,6 @@ if(isset($_REQUEST['request-notifications']) && $_REQUEST['request-notifications
|
||||||
// Set render data
|
// Set render data
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => $msgTitle,
|
|
||||||
'redirect' => $redirect,
|
'redirect' => $redirect,
|
||||||
'message' => 'Updated your '. strtolower($msgTitle) .'!',
|
'message' => 'Updated your '. strtolower($msgTitle) .'!',
|
||||||
'success' => 1
|
'success' => 1
|
||||||
|
@ -551,7 +530,6 @@ if(isset($_REQUEST['request-notifications']) && $_REQUEST['request-notifications
|
||||||
// Set render data
|
// Set render data
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => 'Profile update',
|
|
||||||
'redirect' => $redirect,
|
'redirect' => $redirect,
|
||||||
'message' => 'Your profile has been updated!',
|
'message' => 'Your profile has been updated!',
|
||||||
'success' => 1
|
'success' => 1
|
||||||
|
@ -588,7 +566,6 @@ if(isset($_REQUEST['request-notifications']) && $_REQUEST['request-notifications
|
||||||
// Set render data
|
// Set render data
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => 'Options change',
|
|
||||||
'redirect' => $redirect,
|
'redirect' => $redirect,
|
||||||
'message' => 'Changed your options!',
|
'message' => 'Changed your options!',
|
||||||
'success' => 1
|
'success' => 1
|
||||||
|
@ -609,7 +586,6 @@ if(isset($_REQUEST['request-notifications']) && $_REQUEST['request-notifications
|
||||||
// Set render data
|
// Set render data
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => 'Userpage',
|
|
||||||
'redirect' => $redirect,
|
'redirect' => $redirect,
|
||||||
'message' => 'Your userpage has been updated!',
|
'message' => 'Your userpage has been updated!',
|
||||||
'success' => 1
|
'success' => 1
|
||||||
|
@ -624,7 +600,6 @@ if(isset($_REQUEST['request-notifications']) && $_REQUEST['request-notifications
|
||||||
// Set render data
|
// Set render data
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => 'Unknown action',
|
|
||||||
'redirect' => $redirect,
|
'redirect' => $redirect,
|
||||||
'message' => 'The requested method does not exist.',
|
'message' => 'The requested method does not exist.',
|
||||||
'success' => 0
|
'success' => 0
|
||||||
|
@ -640,13 +615,9 @@ if(isset($_REQUEST['request-notifications']) && $_REQUEST['request-notifications
|
||||||
// Print page contents or if the AJAX request is set only display the render data
|
// Print page contents or if the AJAX request is set only display the render data
|
||||||
print isset($_REQUEST['ajax']) ?
|
print isset($_REQUEST['ajax']) ?
|
||||||
(
|
(
|
||||||
$renderData['page']['title']
|
$renderData['page']['message'] .'|'.
|
||||||
. '|'
|
$renderData['page']['success'] .'|'.
|
||||||
. $renderData['page']['message']
|
$renderData['page']['redirect']
|
||||||
. '|'
|
|
||||||
. $renderData['page']['success']
|
|
||||||
. '|'
|
|
||||||
. $renderData['page']['redirect']
|
|
||||||
) :
|
) :
|
||||||
Templates::render('global/information.tpl', $renderData);
|
Templates::render('global/information.tpl', $renderData);
|
||||||
exit;
|
exit;
|
||||||
|
@ -1031,7 +1002,8 @@ if(Users::checkLogin()) {
|
||||||
// Page data
|
// Page data
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => $pages[$category]['title'] .' / '. $pages[$category]['modes'][$mode]['title'],
|
'category' => $pages[$category]['title'],
|
||||||
|
'mode' => $pages[$category]['modes'][$mode]['title'],
|
||||||
'currentPage' => isset($_GET['page']) && ($_GET['page'] - 1) >= 0 ? $_GET['page'] - 1 : 0,
|
'currentPage' => isset($_GET['page']) && ($_GET['page'] - 1) >= 0 ? $_GET['page'] - 1 : 0,
|
||||||
'description' => $pages[$category]['modes'][$mode]['description']
|
'description' => $pages[$category]['modes'][$mode]['description']
|
||||||
|
|
||||||
|
@ -1115,8 +1087,7 @@ if(Users::checkLogin()) {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
$renderData['page']['title'] = 'Restricted!';
|
// If not allowed print the restricted page
|
||||||
|
|
||||||
print Templates::render('global/restricted.tpl', $renderData);
|
print Templates::render('global/restricted.tpl', $renderData);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -105,10 +105,13 @@ if(isset($_REQUEST['mode']) && Users::checkLogin() && Permissions::check('SITE',
|
||||||
|
|
||||||
case 'complete':
|
case 'complete':
|
||||||
print Templates::render('main/premiumcomplete.tpl', array_merge([
|
print Templates::render('main/premiumcomplete.tpl', array_merge([
|
||||||
|
|
||||||
'page' => [
|
'page' => [
|
||||||
'title' => 'Premium purchase complete!',
|
|
||||||
'expiration' => ($prem = Users::checkUserPremium(Session::$userId)[2]) !== null ? $prem : 0
|
'expiration' => ($prem = Users::checkUserPremium(Session::$userId)[2]) !== null ? $prem : 0
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
], $renderData));
|
], $renderData));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -129,7 +132,6 @@ if(isset($_GET['tracker'])) {
|
||||||
|
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => 'Donation Tracker',
|
|
||||||
'currentPage' => isset($_GET['page']) && ($_GET['page'] - 1) >= 0 ? $_GET['page'] - 1 : 0,
|
'currentPage' => isset($_GET['page']) && ($_GET['page'] - 1) >= 0 ? $_GET['page'] - 1 : 0,
|
||||||
'premiumData' => ($_PREMIUM = Main::getPremiumTrackerData()),
|
'premiumData' => ($_PREMIUM = Main::getPremiumTrackerData()),
|
||||||
'premiumTable' => array_chunk($_PREMIUM['table'], 20, true)
|
'premiumTable' => array_chunk($_PREMIUM['table'], 20, true)
|
||||||
|
@ -144,7 +146,6 @@ if(isset($_GET['tracker'])) {
|
||||||
// Set default variables
|
// Set default variables
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => 'Support '. Configuration::getConfig('sitename'),
|
|
||||||
'fail' => isset($_GET['fail']),
|
'fail' => isset($_GET['fail']),
|
||||||
'price' => Configuration::getConfig('premium_price_per_month'),
|
'price' => Configuration::getConfig('premium_price_per_month'),
|
||||||
'current' => $currentUser->checkPremium(),
|
'current' => $currentUser->checkPremium(),
|
||||||
|
|
|
@ -47,12 +47,6 @@ if($forum['forum']['forum_type'] === 2) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$renderData['page'] = [
|
|
||||||
|
|
||||||
'title' => 'Forums / '. $forum['forum']['forum_name']
|
|
||||||
|
|
||||||
];
|
|
||||||
|
|
||||||
$renderData['board'] = [
|
$renderData['board'] = [
|
||||||
|
|
||||||
'forums' => [
|
'forums' => [
|
||||||
|
|
|
@ -18,7 +18,6 @@ if(!$topic) {
|
||||||
// Set render data
|
// Set render data
|
||||||
$renderData['page'] = [
|
$renderData['page'] = [
|
||||||
|
|
||||||
'title' => 'Information',
|
|
||||||
'message' => 'The topic you tried to access does not exist.'
|
'message' => 'The topic you tried to access does not exist.'
|
||||||
|
|
||||||
];
|
];
|
||||||
|
@ -37,11 +36,6 @@ $renderData = array_merge($renderData, $topic, [
|
||||||
'viewforum' => false,
|
'viewforum' => false,
|
||||||
'viewtopic' => true,
|
'viewtopic' => true,
|
||||||
|
|
||||||
],
|
|
||||||
'page' => [
|
|
||||||
|
|
||||||
'title' => $topic['topic']['topic_title']
|
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
]);
|
]);
|
||||||
|
|
Reference in a new issue