Fuck the content directory over, commit only intended for .gitignore

This commit is contained in:
flash 2015-04-12 13:33:59 +00:00
parent 3474b412dc
commit 3cb57d458e
418 changed files with 3479 additions and 3674 deletions

4
.gitignore vendored
View file

@ -42,6 +42,10 @@ local.properties
errors.log
config.php
content/images/avatars/*
!content/images/avatars/.htaccess
content/images/backgrounds/*
!content/images/backgrounds/.htaccess
#################

File diff suppressed because one or more lines are too long

View file

@ -70,9 +70,32 @@ CREATE TABLE `fii_news` (
`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',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
DROP TABLE IF EXISTS `fii_profilefields`;
CREATE TABLE `fii_profilefields` (
`id` int(64) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID used for ordering on the userpage.',
`name` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'Name of the field.',
`formtype` varchar(255) COLLATE utf8_bin NOT NULL COMMENT 'Type attribute in the input element.',
`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).',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
INSERT INTO `fii_profilefields` (`id`, `name`, `formtype`, `description`, `additional`) VALUES
(1, 'Website', 'url', 'URL to your website', ''),
(2, 'Twitter', 'text', 'Your @twitter Username', ''),
(3, 'GitHub', 'text', 'Your GitHub Username', ''),
(4, 'Skype', 'text', 'Your Skype Username', ''),
(5, 'YouTube', 'text', 'ID or Username excluding http://youtube.com/*/', '{\"youtubetype\": [\"checkbox\", \"I <b>don\'t</b> have a Channel Username (url looks like https://www.youtube.com/channel/UCXZcw5hw5C7Neto-T_nRXBQ).\"]}'),
(6, 'SoundCloud', 'text', 'Your SoundCloud username', ''),
(7, 'Steam', 'text', 'Your Steam Community Username (may differ from login username)', ''),
(8, 'osu!', 'text', 'Your osu! Username', ''),
(9, 'Origin', 'text', 'Your Origin User ID', ''),
(10, 'Xbox Live', 'text', 'Your Xbox User ID', ''),
(11, 'PSN', 'text', 'Your PSN User ID', '');
DROP TABLE IF EXISTS `fii_ranks`;
CREATE TABLE `fii_ranks` (
`id` bigint(128) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Automatically generated ID by MySQL for management.',
@ -84,6 +107,16 @@ CREATE TABLE `fii_ranks` (
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
INSERT INTO `fii_ranks` (`id`, `name`, `multi`, `colour`, `description`, `title`) VALUES
(1, 'Deactivated', 0, '555', 'Users that are yet to be activated or that deactivated their own account.', 'Deactivated'),
(2, 'Regular user', 1, '', 'Regular users with regular permissions.', 'Regular user'),
(3, 'Site moderator', 1, '0A0', 'Users with special permissions like being able to ban and modify users if needed.', 'Staff'),
(4, 'Administrator', 1, 'C00', 'Users that manage the server and everything around that.', 'Administrator'),
(5, 'Developer', 1, '824CA0', 'Users that either create or test new features of the site.', 'Staff'),
(6, 'Bot', 1, '9E8DA7', 'Reserved user accounts for services.', 'Bot'),
(7, 'Chat moderator', 1, '09F', 'Moderators of the chat room.', 'Staff'),
(8, 'Tenshi', 0, 'EE9400', 'Users that donated $5.00 or more in order to keep the site and it\'s services alive!', 'Tenshi'),
(9, 'Alumnii', 0, 'FF69B4', 'People who have contributed to the community but have moved on or resigned.', 'Alumnii');
DROP TABLE IF EXISTS `fii_regcodes`;
CREATE TABLE `fii_regcodes` (
@ -109,6 +142,16 @@ CREATE TABLE `fii_sessions` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
DROP TABLE IF EXISTS `fii_tenshi`;
CREATE TABLE `fii_tenshi` (
`id` bigint(255) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Automatically generated ID by MySQL for management.',
`startdate` int(64) unsigned NOT NULL COMMENT 'Purchase timestamp.',
`uid` bigint(255) unsigned NOT NULL COMMENT 'ID of the user that purchased Tenshi.',
`expiredate` int(64) unsigned NOT NULL COMMENT 'Expiration timestamp.',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
DROP TABLE IF EXISTS `fii_users`;
CREATE TABLE `fii_users` (
`id` bigint(255) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Automatically generated ID by MySQL for management. ',
@ -152,4 +195,4 @@ CREATE TABLE `fii_warnings` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
-- 2015-04-06 20:03:32
-- 2015-04-12 01:50:57

View file

@ -18,6 +18,39 @@ class Session {
if(session_status() != PHP_SESSION_ACTIVE)
session_start();
// Assign user and session IDs
self::$userId = isset($_COOKIE[Configuration::getConfig('cookie_prefix') .'id']) ? isset($_COOKIE[Configuration::getConfig('cookie_prefix') .'id']) : 0;
self::$sessionId = isset($_COOKIE[Configuration::getConfig('cookie_prefix') .'session']) ? isset($_COOKIE[Configuration::getConfig('cookie_prefix') .'session']) : '';
}
// Create new session
public static function newSession($userID, $remember = false) {
// Generate session key
$session = sha1($userID . base64_encode('sakura'. mt_rand(0, 99999999)) . time());
// Insert the session into the database
Database::insert('sessions', [
'userip' => $_SERVER['REMOTE_ADDR'],
'useragent' => Main::cleanString($_SERVER['HTTP_USER_AGENT']),
'userid' => $userID,
'skey' => $session,
'started' => time(),
'expire' => time() + 604800,
'remember' => $remember
]);
// Return the session key
return $session;
}
// Check session data (expiry, etc.)
public static function checkSession($userId, $sessionId) {
}
}

View file

@ -29,9 +29,8 @@ class Templates {
self::$_CFG = self::parseCfg(file_get_contents($confPath));
// Make sure we're not using a manage template for the main site or the other way around
//if((self::$_CFG['MANAGE'] && !Main::$_IN_MANAGE) || (!self::$_CFG['MANAGE'] && Main::$_IN_MANAGE))
// trigger_error('Incorrect template type', E_USER_ERROR);
// Need to unfuck this later
if((self::$_CFG['MANAGE'] && !Main::$_IN_MANAGE) || (!self::$_CFG['MANAGE'] && Main::$_IN_MANAGE))
trigger_error('Incorrect template type', E_USER_ERROR);
// Start Twig
self::twigLoader();

View file

@ -40,7 +40,7 @@ class Users {
'id' => 0,
'rankname' => 'Non-existent Rank',
'multi' => 0,
'colour' => '',
'colour' => '#444',
'description' => 'A hardcoded dummy rank for fallback.'
];
@ -53,7 +53,7 @@ class Users {
}
// Log a user in
public static function login($username, $password) {
public static function login($username, $password, $remember = false) {
// Check if the user that's trying to log in actually exists
if(!$uid = self::userExists($username, false))
@ -68,7 +68,7 @@ class Users {
if(Main::legacyPasswordHash($password) != $userData['password_hash'])
return [0, 'INCORRECT_PASSWORD'];
} else { // Dank ass PBKDF2 hashing
} else { // PBKDF2 hashing
if(!Hashing::validate_password($password, [
$userData['password_algo'],
@ -80,6 +80,17 @@ class Users {
}
// Check if the user is deactivated
if(in_array(0, json_decode($userData['ranks'], true)))
return [0, 'DEACTIVATED'];
// Create a new session
$sessionKey = Session::newSession($userData['id'], $remember);
// Set cookies
setcookie(Configuration::getConfig('cookie_prefix') .'id', $userData['id'], time() + 604800, Configuration::getConfig('cookie_path'), Configuration::getConfig('cookie_domain'));
setcookie(Configuration::getConfig('cookie_prefix') .'session', $sessionKey, time() + 604800, Configuration::getConfig('cookie_path'), Configuration::getConfig('cookie_domain'));
// Successful login! (also has a thing for the legacy password system)
return [1, ($userData['password_algo'] == 'legacy' ? 'LEGACY_SUCCESS' : 'LOGIN_SUCESS')];

View file

@ -1,9 +1,9 @@
#
# Sakura Manage Panel
#
# Sets name of this template
NAME = Manage
# Is this style intended for manage?
MANAGE = true
#
# Sakura Manage Panel
#
# Sets name of this template
NAME = Broomcloset
# Is this style intended for manage?
MANAGE = 1

View file

@ -1,10 +1,10 @@
#
# Amu
# Design planned for 2016
#
# Sets name of this template
NAME = Amu
# Is this style intended for manage?
MANAGE = false
#
# Amu
# Design planned for 2016
#
# Sets name of this template
NAME = Amu
# Is this style intended for manage?
MANAGE = 0

View file

@ -1,10 +1,10 @@
#
# Mio
# 2014 Flashii Design
#
# Sets name of this template
NAME = Mio
# Is this style intended for manage?
MANAGE = false
#
# Mio
# 2014 Flashii Design
#
# Sets name of this template
NAME = Mio
# Is this style intended for manage?
MANAGE = 0

View file

@ -1,9 +1,9 @@
{% if page.articleCount > 1 %}<a href="/news/{{ newsPost.id }}" class="news-head" id="{{ newsPost.id }}">{{ newsPost.title }}</a>{% endif %}
<div class="news-body">
<a class="default" href="/u/{{ newsPost.uid }}">
<a class="no-underline" href="/u/{{ newsPost.uid }}">
<div class="news-poster">
<img src="/a/{{ newsPost.uid }}" alt="{{ newsPost.udata.username }}" class="default-avatar-setting" />
<h1 style="color: #{{ newsPost.rdata.colour }} !important; text-shadow: 0 0 7px #888; padding: 0 0 10px;">{{ newsPost.udata.username }}</h1>
<h1 style="color: {{ newsPost.rdata.colour }} !important; text-shadow: 0 0 7px #888; padding: 0 0 10px;">{{ newsPost.udata.username }}</h1>
</div>
</a>
<div class="markdown">

View file

@ -2,7 +2,7 @@
</div>
<div class="footer">
<div class="ftsections">
<div class="copycentre">Copyright &copy; 2013-2015 <a href="http://flash.moe/" target="_blank">Flashwave</a>, <a href="http://{{ sakura.urls.main }}/credits">et al</a> | Sakura Version {{ sakura.version }} | This is a development site, the actual site is located at <a href="http://flashii.net/">Flashii.net</a>.</div>
<div class="copycentre">Copyright &copy; 2013-2015 <a href="http://flash.moe/" target="_blank">Flashwave</a>, <a href="http://{{ sakura.urls.main }}/credits">et al</a></div>
<ul class="ftsection">
<li class="fthead">General</li>
<li><a href="http://{{ sakura.urls.main }}/" title="Flashii Frontpage">Home</a></li>

View file

@ -0,0 +1,3 @@
{% include 'global/header.tpl' %}
{% include 'global/footer.tpl' %}

View file

@ -7,4 +7,4 @@
NAME = Yuuno
# Is this style intended for manage?
MANAGE = false
MANAGE = 0

View file

@ -1,19 +0,0 @@
body {
background: url('//cdn.flashii.net/img/misaka-mikoto-1.png') no-repeat fixed center center / cover transparent !important;
}
div.profile {
color: #FFF;
background: none repeat scroll 0% 0% rgba(0, 0, 0, 0.5) !important;
text-shadow: 1px 1px 2px black;
}
h3.miotitle {
text-shadow:none !important;
}
div.profile a, div.profile a:visited {
color: #FFF;
text-decoration: none;
transition: color 0.4s ease-in 0s, text-shadow 0.4s ease-in 0s;
}
div.profile a:hover {
text-shadow: 0px 0px 8px #F1F1F1;
}

View file

@ -1,92 +0,0 @@
.realbrowserbox {
position: fixed;
right: 0px;
bottom: 0px;
left: 0px;
height: 125px;
z-index: 9999;
background: rgba(0, 0, 0, .9);
color: #FFF;
text-align: left;
}
.firefoxtan {
background: url('//cdn.flashii.net/img/firefox.png') no-repeat scroll left top / cover transparent;
position: fixed;
bottom: 0px;
right: 0px;
z-index: 10001;
height: 400px;
width: 462px;
}
.intexptan {
background: url('//cdn.flashii.net/img/inori.png') no-repeat scroll left top / cover transparent;
position: fixed;
bottom: 0px;
right: 450px;
z-index: 10000;
height: 400px;
width: 288px;
}
.realbrowsertext {
position: fixed;
bottom: 75px;
left: 0px;
padding: 15px 10px;
font-size: 40px;
font-family: "Segoe UI", sans-serif;
}
.realbrowsersmalltext {
position: fixed;
bottom: 0px;
left: 0px;
padding: 15px 10px;
font-size: 15px;
font-family: "Segoe UI", sans-serif;
}
@media (max-width: 1600px) {
.realbrowserbox {
height: 530px;
text-align: right;
}
.realbrowsertext {
bottom: 475px;
right: 0px;
}
.realbrowsersmalltext {
bottom: 400px;
right: 0px;
}
}
@media (max-width: 900px) {
.realbrowserbox {
height: auto;
top: 0px;
text-align: center;
}
.realbrowsertext {
position: static;
line-height: 100%;
}
.realbrowsersmalltext {
position: static;
}
}
@media (max-width: 600px) {
.firefoxtan {
right: -100px;
}
.intexptan {
right: 300px;
}
}

View file

@ -1,158 +1,158 @@
@charset "utf-8";
hr {
color: #9475B2;
background: #9475B2;
height: 1px;
border: 0px;
}
.hidden {
display: none;
visibility: none;
}
h1,h2,h3,h4,h5,h6 {
margin: 2px;
padding: 0px;
}
h1 {
display: inline-block;
}
h1 a {
color: #609;
}
a {
text-decoration: none;
}
a:hover, a:active {
text-decoration: underline;
}
fieldset {
border: 1px #746677 solid;
margin: 5px;
}
legend {
border: 1px #746677 solid;
background: #9475B2;
color: #306;
padding: 1px 5px;
}
input[type="text"],table.postForm > tbody textarea, select {
width: 302px;
}
input[type="password"] {
width: 231px;
}
input[type="text"], input[type="password"], table.postForm > tbody textarea {
padding: 2px 4px 3px;
border: 1px solid #AAA;
outline: medium none;
font-family: arial,helvetica,sans-serif;
font-size: 10pt;
}
input[type="text"]:focus, input[type="password"]:focus, table.postForm > tbody textarea:focus {
border: 1px solid #746677;
}
#recaptcha_response_field {
margin: 0px 2px 0px 0px;
padding: 2px 4px 3px;
border: 1px solid #AAA;
outline: medium none;
font-family: arial,helvetica,sans-serif;
font-size: 10pt;
width: 302px;
}
#recaptcha_widget img {
cursor: pointer;
}
div#recaptcha_image {
margin: 0px 2px 0px 0px;
border: 1px solid #AAA;
outline: medium none;
}
#recaptcha_response_field {
margin-top: 4px !important;
}
.recaptcha_custom_buttons {
font-size: smaller;
}
table.postForm{
border-spacing: 1px;
}
table.postForm > tbody > tr > td {
margin: 0px;
padding: 0px;
font-size: 10pt;
}
table.postForm > tbody > tr > td:first-child {
background: #C9BBCC;
border: 1px #746677 solid;
color: #400070;
font-weight: bold;
padding: 0px 5px 0px 10px;
font-size: 10pt;
text-align: right;
}
.trip {
font-weight: normal !important;
color: #CC0066;
}
.ban {
color: #F00;
font-weight: 700;
margin-top: 10px;
}
.spoiler {
background: black;
color: black;
}
.spoiler:hover {
color: white !important;
}
.quote{
color: #789922 !important;
}
.admincap{
color: #AA0000 !important;
}
.modcap{
color: #00AA00 !important;
}
.feedbackheader {
padding: 5px;
text-align: center;
}
.boardindex {
margin: 5px;
}
.boardindex hr {
margin: 5px;
}
.boardindex h2, .boardindex h3 {
text-align: center;
}
.boardposting {
margin: 0px auto;
text-align: center;
}
.boardposting table {
margin: 0px auto;
text-align: left;
}
.copyright {
font-size: x-small !important;
font-weight: bold;
text-align: center;
}
fieldset .replylink {
text-align: right;
float: right;
border: 1px #746677 solid;
background: #9475B2;
color: #306;
padding: 1px 5px;
margin: -9px 0px;
font-weight: bold;
overflow: hidden;
}
.header .logo {
background: url('//cdn.flashii.net/img/feedback-logo.png') no-repeat
@charset "utf-8";
hr {
color: #9475B2;
background: #9475B2;
height: 1px;
border: 0px;
}
.hidden {
display: none;
visibility: none;
}
h1,h2,h3,h4,h5,h6 {
margin: 2px;
padding: 0px;
}
h1 {
display: inline-block;
}
h1 a {
color: #609;
}
a {
text-decoration: none;
}
a:hover, a:active {
text-decoration: underline;
}
fieldset {
border: 1px #746677 solid;
margin: 5px;
}
legend {
border: 1px #746677 solid;
background: #9475B2;
color: #306;
padding: 1px 5px;
}
input[type="text"],table.postForm > tbody textarea, select {
width: 302px;
}
input[type="password"] {
width: 231px;
}
input[type="text"], input[type="password"], table.postForm > tbody textarea {
padding: 2px 4px 3px;
border: 1px solid #AAA;
outline: medium none;
font-family: arial,helvetica,sans-serif;
font-size: 10pt;
}
input[type="text"]:focus, input[type="password"]:focus, table.postForm > tbody textarea:focus {
border: 1px solid #746677;
}
#recaptcha_response_field {
margin: 0px 2px 0px 0px;
padding: 2px 4px 3px;
border: 1px solid #AAA;
outline: medium none;
font-family: arial,helvetica,sans-serif;
font-size: 10pt;
width: 302px;
}
#recaptcha_widget img {
cursor: pointer;
}
div#recaptcha_image {
margin: 0px 2px 0px 0px;
border: 1px solid #AAA;
outline: medium none;
}
#recaptcha_response_field {
margin-top: 4px !important;
}
.recaptcha_custom_buttons {
font-size: smaller;
}
table.postForm{
border-spacing: 1px;
}
table.postForm > tbody > tr > td {
margin: 0px;
padding: 0px;
font-size: 10pt;
}
table.postForm > tbody > tr > td:first-child {
background: #C9BBCC;
border: 1px #746677 solid;
color: #400070;
font-weight: bold;
padding: 0px 5px 0px 10px;
font-size: 10pt;
text-align: right;
}
.trip {
font-weight: normal !important;
color: #CC0066;
}
.ban {
color: #F00;
font-weight: 700;
margin-top: 10px;
}
.spoiler {
background: black;
color: black;
}
.spoiler:hover {
color: white !important;
}
.quote{
color: #789922 !important;
}
.admincap{
color: #AA0000 !important;
}
.modcap{
color: #00AA00 !important;
}
.feedbackheader {
padding: 5px;
text-align: center;
}
.boardindex {
margin: 5px;
}
.boardindex hr {
margin: 5px;
}
.boardindex h2, .boardindex h3 {
text-align: center;
}
.boardposting {
margin: 0px auto;
text-align: center;
}
.boardposting table {
margin: 0px auto;
text-align: left;
}
.copyright {
font-size: x-small !important;
font-weight: bold;
text-align: center;
}
fieldset .replylink {
text-align: right;
float: right;
border: 1px #746677 solid;
background: #9475B2;
color: #306;
padding: 1px 5px;
margin: -9px 0px;
font-weight: bold;
overflow: hidden;
}
.header .logo {
background: url('//cdn.flashii.net/img/feedback-logo.png') no-repeat
}

File diff suppressed because it is too large Load diff

View file

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

View file

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View file

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View file

Before

Width:  |  Height:  |  Size: 145 B

After

Width:  |  Height:  |  Size: 145 B

View file

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

View file

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 54 KiB

View file

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

View file

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 53 KiB

View file

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

View file

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

View file

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 3.1 MiB

After

Width:  |  Height:  |  Size: 3.1 MiB

View file

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View file

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View file

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View file

@ -1,79 +1,79 @@
html {
background: url('//cdn.flashii.net/img/satori-error.png') top right no-repeat #FFF;
font-family: 'verdana', sans-serif;
font-size: 0.8em;
}
body {
margin: 0px 2em;
}
html, body {
min-height: 100%;
width: 90;
}
#wrap {
max-width: 34em;
}
h1, h2, h3, p {
margin: 0;
padding: 0;
font-size: 1em;
font-weight: normal;
}
h1 {
font-size: 1.5em;
margin: 1.33em 0;
}
h1 img {
margin: 0px 0.5em -0.75em 0px;
}
p {
padding: 0px;
margin: 2em 0px;
line-height: 1.33em;
}
hr {
margin: 1.9em 0px;
background: #BBB;
border: none;
}
ul {
padding: 0.75em 0px 0px 0px;
}
li {
margin: 0px 0px 0.8em 3.46em;
line-height: 1.32em;
}
a {
color: red;
}
img+a:before {
content: ' ';
}
h3 {
margin: 2.5em 0px;
}
li:nth-child(3) img {
margin: -0.2em 0px
}
li:nth-child(4) img {
margin: -0.5em 0px
}
table {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
opacity: 0;
display: none;
}
table, tr, td {
background: rgba(0,0,0,0.2);
height: 100%;
width: 100%;
text-align: center;
}
table img {
border-radius: 32px;
box-shadow: 0 4px 32px #888;
html {
background: url('//cdn.flashii.net/img/satori-error.png') top right no-repeat #FFF;
font-family: 'verdana', sans-serif;
font-size: 0.8em;
}
body {
margin: 0px 2em;
}
html, body {
min-height: 100%;
width: 90;
}
#wrap {
max-width: 34em;
}
h1, h2, h3, p {
margin: 0;
padding: 0;
font-size: 1em;
font-weight: normal;
}
h1 {
font-size: 1.5em;
margin: 1.33em 0;
}
h1 img {
margin: 0px 0.5em -0.75em 0px;
}
p {
padding: 0px;
margin: 2em 0px;
line-height: 1.33em;
}
hr {
margin: 1.9em 0px;
background: #BBB;
border: none;
}
ul {
padding: 0.75em 0px 0px 0px;
}
li {
margin: 0px 0px 0.8em 3.46em;
line-height: 1.32em;
}
a {
color: red;
}
img+a:before {
content: ' ';
}
h3 {
margin: 2.5em 0px;
}
li:nth-child(3) img {
margin: -0.2em 0px
}
li:nth-child(4) img {
margin: -0.5em 0px
}
table {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
opacity: 0;
display: none;
}
table, tr, td {
background: rgba(0,0,0,0.2);
height: 100%;
width: 100%;
text-align: center;
}
table img {
border-radius: 32px;
box-shadow: 0 4px 32px #888;
}

View file

Before

Width:  |  Height:  |  Size: 87 B

After

Width:  |  Height:  |  Size: 87 B

View file

Before

Width:  |  Height:  |  Size: 260 B

After

Width:  |  Height:  |  Size: 260 B

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 93 KiB

View file

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View file

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View file

@ -1,46 +1,46 @@
var illuminati = Array();
var startTime = (new Date()).getTime();
function hideYourMind(conflictions) {
var twoThousandTwelveIsTheYearWeAscendToSpaceRobots = conflictions.keyCode;
illuminati.push(twoThousandTwelveIsTheYearWeAscendToSpaceRobots);
if(illuminati[0] == 68 && illuminati[1] == 73 && illuminati[2] == 67 && illuminati[3] == 75 && illuminati[4] == 83) {
$('body').append(
'<audio autoplay="true">'
+ '<source type="audio/mp3" src="//cdn.flashii.net/snd/dicks.mp3" />'
+ '<source type="audio/ogg" src="//cdn.flashii.net/snd/dicks.ogg" />'
+ '</audio>'
);
$('.logo').attr("style", "background: url('//cdn.flashii.net/img/dicksareformyfriends-mio.png') no-repeat scroll left top / cover transparent !important");
illuminati = Array();
}
if(illuminati[0] == 77 && illuminati[1] == 69 && illuminati[2] == 87 && illuminati[3] == 79 && illuminati[4] == 87) {
$('head').append('<link rel="stylesheet" type="text/css" href="//cdn.flashii.net/css/spinny.css" />');
$('body').addClass('spinny');
$('body').append(
'<audio autoplay="true">'
+ '<source type="audio/mp3" src="//cdn.flashii.net/snd/mewow.mp3" />'
+ '<source type="audio/ogg" src="//cdn.flashii.net/snd/mewow.ogg" />'
+ '</audio>'
);
illuminati = Array();
}
if(illuminati[0] == 83 && illuminati[1] == 79 && illuminati[2] == 67 && illuminati[3] == 75 && illuminati[4] == 67 && illuminati[5] == 72 && illuminati[6] == 65 && illuminati[7] == 84) {
setInterval("meow();", 17);
illuminati = Array();
}
}
function meow() {
var diff = (new Date()).getTime() - startTime;
var vals = [-7*1/Math.cos((diff/500)*(.85*Math.PI)), -7*Math.tan((diff/250)*(.85*Math.PI))];
document.body.style.position = 'absolute';
document.body.style.left = vals[0] +"px";
document.body.style.top = vals[1] +"px";
document.body.style.fontSize = vals[0] +"px";
}
document.addEventListener("onkeydown", hideYourMind, false);
document.addEventListener("keydown", hideYourMind, false);
var illuminati = Array();
var startTime = (new Date()).getTime();
function hideYourMind(conflictions) {
var twoThousandTwelveIsTheYearWeAscendToSpaceRobots = conflictions.keyCode;
illuminati.push(twoThousandTwelveIsTheYearWeAscendToSpaceRobots);
if(illuminati[0] == 68 && illuminati[1] == 73 && illuminati[2] == 67 && illuminati[3] == 75 && illuminati[4] == 83) {
$('body').append(
'<audio autoplay="true">'
+ '<source type="audio/mp3" src="//cdn.flashii.net/snd/dicks.mp3" />'
+ '<source type="audio/ogg" src="//cdn.flashii.net/snd/dicks.ogg" />'
+ '</audio>'
);
$('.logo').attr("style", "background: url('//cdn.flashii.net/img/dicksareformyfriends-mio.png') no-repeat scroll left top / cover transparent !important");
illuminati = Array();
}
if(illuminati[0] == 77 && illuminati[1] == 69 && illuminati[2] == 87 && illuminati[3] == 79 && illuminati[4] == 87) {
$('head').append('<link rel="stylesheet" type="text/css" href="//cdn.flashii.net/css/spinny.css" />');
$('body').addClass('spinny');
$('body').append(
'<audio autoplay="true">'
+ '<source type="audio/mp3" src="//cdn.flashii.net/snd/mewow.mp3" />'
+ '<source type="audio/ogg" src="//cdn.flashii.net/snd/mewow.ogg" />'
+ '</audio>'
);
illuminati = Array();
}
if(illuminati[0] == 83 && illuminati[1] == 79 && illuminati[2] == 67 && illuminati[3] == 75 && illuminati[4] == 67 && illuminati[5] == 72 && illuminati[6] == 65 && illuminati[7] == 84) {
setInterval("meow();", 17);
illuminati = Array();
}
}
function meow() {
var diff = (new Date()).getTime() - startTime;
var vals = [-7*1/Math.cos((diff/500)*(.85*Math.PI)), -7*Math.tan((diff/250)*(.85*Math.PI))];
document.body.style.position = 'absolute';
document.body.style.left = vals[0] +"px";
document.body.style.top = vals[1] +"px";
document.body.style.fontSize = vals[0] +"px";
}
document.addEventListener("onkeydown", hideYourMind, false);
document.addEventListener("keydown", hideYourMind, false);

View file

@ -1,163 +1,163 @@
/*
* Sakura Yuuno JavaScript
*/
function cookieData(action, name, data) {
switch(action) {
case 'get':
return (result = new RegExp('(^|; )' + encodeURIComponent(name) + '=([^;]*)').exec(document.cookie)) ? result[2] : '';
case 'set':
document.cookie = name + '=' + data;
return;
default:
return;
}
}
function mobileMenu(mode) {
var ucpMenuBtn = document.getElementById('navMenuSite');
var navMenuBtn = document.getElementById('navMenuUser');
var mobMenuBtn = document.getElementById('mobileNavToggle');
if(mode) {
ucpMenuBtn.className = ucpMenuBtn.className + ' menu-hid';
navMenuBtn.className = navMenuBtn.className + ' menu-hid';
mobMenuBtn.innerHTML = 'Close Menu';
mobMenuBtn.setAttribute('onclick', 'mobileMenu(false);');
} else {
ucpMenuBtn.className = ucpMenuBtn.className.replace(' menu-hid', '');
navMenuBtn.className = navMenuBtn.className.replace(' menu-hid', '');
mobMenuBtn.innerHTML = 'Open Menu';
mobMenuBtn.setAttribute('onclick', 'mobileMenu(true);');
}
}
window.onscroll = function() {
var gotop = document.getElementById('gotop');
if(this.pageYOffset < 112) {
if(gotop.getAttribute('class').indexOf('hidden') < 0)
gotop.setAttribute('class', gotop.getAttribute('class') + ' hidden');
} else if(this.pageYOffset > 112)
gotop.setAttribute('class', gotop.getAttribute('class').replace(' hidden', ''));
};
function epochTime() {
var time = Date.now();
time = time / 1000;
return Math.floor(time);
}
/*
"Delayed" for now (not really any use for it atm)
function notification(id, content, sound) {
$('.notifications').hide().append('<div id="notif'+id+'">'+content+'</div>').fadeIn('slow');
if(sound) {
var sound = document.getElementById('notifsnd');
sound.volume = 1.0;
sound.currentTime = 0;
sound.play();
}
window.setTimeout(function() {
$('#notif'+id).fadeOut('slow',function() {
$('#notif'+id).remove();
});
}, 2500);
return true;
}
function notificationRequest() {
var notificationURL = 'http://sys.flashii.net/udata?notifications';
if(window.XMLHttpRequest) {
request = new XMLHttpRequest();
} else if(window.ActiveXObject) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e) {}
}
}
if(!request) {
return false;
}
request.onreadystatechange = function() {
if(request.readyState === 4) {
if(request.status === 200) {
var notifGet = JSON.parse(request.responseText);
notifGet[0].notifications.forEach(function(data) {
if(data.time >= epochTime()+7 && !$('#notif'+epochTime()).length) {
notification(data.id, data.content, true);
}
});
//if(epochTime() <= epochTime()+1 && !$('#notif'+epochTime()).length) {
// notification(epochTime(), notifGet[0].notifications[0].notif1, true);
//}
} else {
notification('ERROR'+epochTime(), 'Error: Was not able to get notification data.',false);
}
}
}
request.open('GET', notificationURL);
request.send();
setTimeout(notificationRequest, 5000);
}*/
function donatePage(id) {
var featureBoxDesc = document.getElementsByClassName('featureBoxDesc');
if(!id) {
for(var i = 0; i < featureBoxDesc.length; i++)
featureBoxDesc[i].className = featureBoxDesc[i].className + ' donateClosed';
return;
}
var featureBox = document.getElementById(id).children[1];
if(featureBox.className.search('donateOpened') > 0) {
featureBox.className = featureBox.className.replace(' donateOpened', '');
featureBox.className = featureBox.className + ' donateClosed';
return;
} else {
featureBox.className = featureBox.className.replace(' donateClosed', '');
featureBox.className = featureBox.className + ' donateOpened';
return;
}
return;
}
var RecaptchaOptions = {
theme : 'custom',
custom_theme_widget: 'recaptcha_widget'
};
function switch_text(type) {
var responseField = document.getElementById('recaptcha_response_field');
if(type == "audio")
responseField.setAttribute('placeholder', 'Enter the words you hear');
else if(type == "image")
responseField.setAttribute('placeholder', 'Enter the words above');
else
responseField.setAttribute('placeholder', 'undefined rolls undefined and gets undefined');
}
/*
* Sakura Yuuno JavaScript
*/
function cookieData(action, name, data) {
switch(action) {
case 'get':
return (result = new RegExp('(^|; )' + encodeURIComponent(name) + '=([^;]*)').exec(document.cookie)) ? result[2] : '';
case 'set':
document.cookie = name + '=' + data;
return;
default:
return;
}
}
function mobileMenu(mode) {
var ucpMenuBtn = document.getElementById('navMenuSite');
var navMenuBtn = document.getElementById('navMenuUser');
var mobMenuBtn = document.getElementById('mobileNavToggle');
if(mode) {
ucpMenuBtn.className = ucpMenuBtn.className + ' menu-hid';
navMenuBtn.className = navMenuBtn.className + ' menu-hid';
mobMenuBtn.innerHTML = 'Close Menu';
mobMenuBtn.setAttribute('onclick', 'mobileMenu(false);');
} else {
ucpMenuBtn.className = ucpMenuBtn.className.replace(' menu-hid', '');
navMenuBtn.className = navMenuBtn.className.replace(' menu-hid', '');
mobMenuBtn.innerHTML = 'Open Menu';
mobMenuBtn.setAttribute('onclick', 'mobileMenu(true);');
}
}
window.onscroll = function() {
var gotop = document.getElementById('gotop');
if(this.pageYOffset < 112) {
if(gotop.getAttribute('class').indexOf('hidden') < 0)
gotop.setAttribute('class', gotop.getAttribute('class') + ' hidden');
} else if(this.pageYOffset > 112)
gotop.setAttribute('class', gotop.getAttribute('class').replace(' hidden', ''));
};
function epochTime() {
var time = Date.now();
time = time / 1000;
return Math.floor(time);
}
/*
"Delayed" for now (not really any use for it atm)
function notification(id, content, sound) {
$('.notifications').hide().append('<div id="notif'+id+'">'+content+'</div>').fadeIn('slow');
if(sound) {
var sound = document.getElementById('notifsnd');
sound.volume = 1.0;
sound.currentTime = 0;
sound.play();
}
window.setTimeout(function() {
$('#notif'+id).fadeOut('slow',function() {
$('#notif'+id).remove();
});
}, 2500);
return true;
}
function notificationRequest() {
var notificationURL = 'http://sys.flashii.net/udata?notifications';
if(window.XMLHttpRequest) {
request = new XMLHttpRequest();
} else if(window.ActiveXObject) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e) {}
}
}
if(!request) {
return false;
}
request.onreadystatechange = function() {
if(request.readyState === 4) {
if(request.status === 200) {
var notifGet = JSON.parse(request.responseText);
notifGet[0].notifications.forEach(function(data) {
if(data.time >= epochTime()+7 && !$('#notif'+epochTime()).length) {
notification(data.id, data.content, true);
}
});
//if(epochTime() <= epochTime()+1 && !$('#notif'+epochTime()).length) {
// notification(epochTime(), notifGet[0].notifications[0].notif1, true);
//}
} else {
notification('ERROR'+epochTime(), 'Error: Was not able to get notification data.',false);
}
}
}
request.open('GET', notificationURL);
request.send();
setTimeout(notificationRequest, 5000);
}*/
function donatePage(id) {
var featureBoxDesc = document.getElementsByClassName('featureBoxDesc');
if(!id) {
for(var i = 0; i < featureBoxDesc.length; i++)
featureBoxDesc[i].className = featureBoxDesc[i].className + ' donateClosed';
return;
}
var featureBox = document.getElementById(id).children[1];
if(featureBox.className.search('donateOpened') > 0) {
featureBox.className = featureBox.className.replace(' donateOpened', '');
featureBox.className = featureBox.className + ' donateClosed';
return;
} else {
featureBox.className = featureBox.className.replace(' donateClosed', '');
featureBox.className = featureBox.className + ' donateOpened';
return;
}
return;
}
var RecaptchaOptions = {
theme : 'custom',
custom_theme_widget: 'recaptcha_widget'
};
function switch_text(type) {
var responseField = document.getElementById('recaptcha_response_field');
if(type == "audio")
responseField.setAttribute('placeholder', 'Enter the words you hear');
else if(type == "image")
responseField.setAttribute('placeholder', 'Enter the words above');
else
responseField.setAttribute('placeholder', 'undefined rolls undefined and gets undefined');
}

View file

@ -0,0 +1 @@
# Avatars Directory

View file

@ -0,0 +1 @@
# Profile background directory

View file

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 93 KiB

View file

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View file

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

View file

Before

Width:  |  Height:  |  Size: 509 B

After

Width:  |  Height:  |  Size: 509 B

View file

Before

Width:  |  Height:  |  Size: 541 B

After

Width:  |  Height:  |  Size: 541 B

View file

Before

Width:  |  Height:  |  Size: 1 KiB

After

Width:  |  Height:  |  Size: 1 KiB

View file

Before

Width:  |  Height:  |  Size: 498 B

After

Width:  |  Height:  |  Size: 498 B

View file

Before

Width:  |  Height:  |  Size: 730 B

After

Width:  |  Height:  |  Size: 730 B

View file

Before

Width:  |  Height:  |  Size: 294 B

After

Width:  |  Height:  |  Size: 294 B

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 774 B

After

Width:  |  Height:  |  Size: 774 B

View file

Before

Width:  |  Height:  |  Size: 292 B

After

Width:  |  Height:  |  Size: 292 B

View file

Before

Width:  |  Height:  |  Size: 295 B

After

Width:  |  Height:  |  Size: 295 B

View file

Before

Width:  |  Height:  |  Size: 3 KiB

After

Width:  |  Height:  |  Size: 3 KiB

View file

Before

Width:  |  Height:  |  Size: 970 B

After

Width:  |  Height:  |  Size: 970 B

View file

Before

Width:  |  Height:  |  Size: 489 B

After

Width:  |  Height:  |  Size: 489 B

View file

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 297 B

After

Width:  |  Height:  |  Size: 297 B

View file

Before

Width:  |  Height:  |  Size: 1 KiB

After

Width:  |  Height:  |  Size: 1 KiB

View file

Before

Width:  |  Height:  |  Size: 515 B

After

Width:  |  Height:  |  Size: 515 B

View file

Before

Width:  |  Height:  |  Size: 525 B

After

Width:  |  Height:  |  Size: 525 B

View file

Before

Width:  |  Height:  |  Size: 299 B

After

Width:  |  Height:  |  Size: 299 B

View file

Before

Width:  |  Height:  |  Size: 292 B

After

Width:  |  Height:  |  Size: 292 B

View file

Before

Width:  |  Height:  |  Size: 888 B

After

Width:  |  Height:  |  Size: 888 B

View file

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

Before

Width:  |  Height:  |  Size: 1 KiB

After

Width:  |  Height:  |  Size: 1 KiB

View file

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

Before

Width:  |  Height:  |  Size: 690 B

After

Width:  |  Height:  |  Size: 690 B

View file

Before

Width:  |  Height:  |  Size: 618 B

After

Width:  |  Height:  |  Size: 618 B

View file

Before

Width:  |  Height:  |  Size: 301 B

After

Width:  |  Height:  |  Size: 301 B

View file

Before

Width:  |  Height:  |  Size: 991 B

After

Width:  |  Height:  |  Size: 991 B

View file

Before

Width:  |  Height:  |  Size: 298 B

After

Width:  |  Height:  |  Size: 298 B

View file

Before

Width:  |  Height:  |  Size: 454 B

After

Width:  |  Height:  |  Size: 454 B

View file

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

View file

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

View file

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View file

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

View file

Before

Width:  |  Height:  |  Size: 868 B

After

Width:  |  Height:  |  Size: 868 B

View file

Before

Width:  |  Height:  |  Size: 1,019 B

After

Width:  |  Height:  |  Size: 1,019 B

View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

Before

Width:  |  Height:  |  Size: 1 KiB

After

Width:  |  Height:  |  Size: 1 KiB

View file

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

Some files were not shown because too many files have changed in this diff Show more