diff --git a/.gitignore b/.gitignore
index ee7ad88..43cd351 100644
--- a/.gitignore
+++ b/.gitignore
@@ -42,10 +42,8 @@ local.properties
errors.log
_sakura/config/config.ini
-content/images/avatars/*
-!content/images/avatars/.htaccess
-content/images/backgrounds/*
-!content/images/backgrounds/.htaccess
+content/images/user/*
+!content/images/user/.htaccess
BingSiteAuth.xml
google*.html
main/logs/*
diff --git a/_sakura/.htaccess b/_sakura/.htaccess
index e69de29..642aa21 100644
--- a/_sakura/.htaccess
+++ b/_sakura/.htaccess
@@ -0,0 +1,12 @@
+# Disallow external connections
+
+# Apache <= 2.2
+
A lot of things on this site require JavaScript to be enabled (e.g. the chat), we try to keep both sides happy but it is highly recommended that you enable it (you'll also have to deal with this message being here if you don't enable it).
+ diff --git a/_sakura/templates/yuuno/main/profile.tpl b/_sakura/templates/yuuno/main/profile.tpl index a11811c..c4f152a 100644 --- a/_sakura/templates/yuuno/main/profile.tpl +++ b/_sakura/templates/yuuno/main/profile.tpl @@ -13,7 +13,7 @@ {% else %}{{ field.name }} @@ -82,12 +82,12 @@ {% endif %} - | - {% if profile.user.background_url %} + {% if profile.data.profileBackground %} diff --git a/content/data/yuuno/css/authpage.css b/content/data/yuuno/css/authpage.css deleted file mode 100644 index cff93df..0000000 --- a/content/data/yuuno/css/authpage.css +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Authentication page Styling - */ -@charset "utf-8"; - -.loginPage { - margin: 0 auto; - max-width: 825px; -} - -.loginPage > .registerCont > *, -.loginPage > .loginCont > * { - text-align: center; - border: 1px solid #9475B2; - margin: 10px auto; - padding: 2px 3px; - width: 400px; - border: 1px solid #9475B2; - box-shadow: 0 0 3px #9475B2; - border-radius: 3px; - background: #D3BFFF; -} - -@media (max-width: 430px) { - - .loginPage > .registerCont > *, - .loginPage > .loginCont > * { - width: 300px; - } - -} - -.loginPage > .loginCont { - float: left; -} - -.loginPage > .registerCont { - float: right; -} - -@media (max-width: 820px) { - - .loginPage > .loginCont { - float: none; - } - - .loginPage > .registerCont { - float: none; - } - -} - -.loginPage .head { - text-align: left; -} - -.loginPage > div > form > div > input { - font-size: 16px; -} - -.loginPage input[type="text"], -.loginPage input[type="password"] { - width: calc(100% - 16px); -} - -.loginPage form > div > label { - font-size: 20px; - font-weight: 100; - padding: 0 5px; - line-height: 32px; - color: #222; - text-shadow: #888 0 0 3px; -} - -.loginPage .subLinks { - font-size: 10px; -} diff --git a/content/data/yuuno/css/base.css b/content/data/yuuno/css/base.css deleted file mode 100644 index 97c2961..0000000 --- a/content/data/yuuno/css/base.css +++ /dev/null @@ -1,416 +0,0 @@ -/* - * Standard Elements - */ -@charset "utf-8"; - -* { - /* Reset margin and padding */ - margin: 0; - padding: 0; -} - -html { - width: 100%; - height: 100%; -} - -body { - font: 12px/20px Verdana, sans-serif; - background: linear-gradient(180deg, #C2AFFE, #FBEEFF) no-repeat scroll left top #FBEEFF; - background-size: cover; - color: #000; - height: 100%; - position: relative; - width: 100%; -} - -#container { - min-height: 100%; - position: relative; - width: 100%; -} - -#contentwrapper { - padding-bottom: 220px; -} - -@media (max-width: 642px) { - - #contentwrapper { - padding-bottom: 335px; - } - -} - -@media (max-width: 426px) { - - #contentwrapper { - padding-bottom: 450px; - } - -} -@media (max-width: 400px) { - - #contentwrapper { - padding-bottom: 450px; - } - -} - -@media (max-width: 300px) { - - .footer { - display: none; - } - - #contentwrapper { - padding-bottom: 0; - } - -} - -.clear { - clear: both !important; - float: none !important; -} - -.hidden { - display: none !important; - visibility: hidden !important; -} - -.centreAlign { - text-align: center; -} - -.leftAlign { - text-align: left; -} - -.rightAlign { - text-align: right; -} - -h1, -h2, -h3, -h4, -h5, -h6 { - font-family: "SegoeUI-Light", "Segoe UI", sans-serif; - font-weight: 100; - margin: 5px 0; -} - -h1.stylised { - text-shadow: 0 0 5px #8364A1; - color: #614390; -} - -hr.default { - border: 0; - height: 1px; - color: #9475B2; - background: #9475B2; -} - -img { - max-width: 100%; - max-height: 100%; -} - -img.default-avatar-setting { - max-width: 200px; - max-height: 200px; - border: 3px solid #EEE; - background: #EEE; - box-shadow: 0 3px 7px #888; - border-radius: 3px; - margin: 5px; -} - -img.homepage-menu-avatar { - float: right; - max-width: 100px; - max-width: 100px; - margin-top: -25px; - margin-right: 0; -} - -@media (max-width: 400px) { - - img.homepage-menu-avatar { - display: none; - } - -} - -.standalone img:not(:hover) { - max-width: 100%; -} - -a.clean, -a.underline, -a.no-underline { - color: inherit !important; - text-decoration: none !important; -} - -a.underline:hover { - text-decoration: underline !important; -} - -a.default { - color: #22E; - text-decoration: none; -} - -a.default:hover { - color: #22E; - text-decoration: underline; -} - -a.default:active { - color: #E22; - text-decoration: underline; -} - -a.gotop { - display: inline-block; - background: #111; - color: #FFF; - width: 60px; - height: 60px; - border-radius: 5px; - text-decoration: none; - opacity: .3; - transition: opacity .5s, box-shadow .5s; - margin: 10px 5px; - float: right; - position: fixed; - bottom: 0; - right: 5px; - z-index: 2; - line-height: 60px; - text-align: center; - font-size: 5em; - text-shadow: 0 0 5px #FFF; -} - -a.gotop:hover { - opacity: .8; - box-shadow: 0 0 7px #FFF inset; - text-shadow: 0 0 7px #FFF; -} - -a.gotop:active { - box-shadow: 0 0 15px #FFF inset; - text-shadow: 0 0 10px #FFF; - opacity: .9; -} - -a.gotop.enter { - animation: slideInFromRight 1 .6s; -} - -a.gotop.exit { - animation: slideOutToBottom 1 .6s; -} - -.content { - margin: 10px auto; - padding: 2px 3px; - width: 1024px; - border: 1px solid #9475B2; - box-shadow: 0 0 3px #9475B2; - border-radius: 3px; - background: #D3BFFF; -} - -.content-column { - position: relative; - min-height: 600px; -} - -.content-left { - float: left; - width: 688px; -} - -.content-right { - float: right; - width: 334px; -} - -.content-left .head, -.news .head, -.donate .head, -.loginPage > .loginCont .head, -.messages .head { - margin: -1px -2px; - padding: 4px 5px 5px; - font-weight: 700; - font-size: 20px; - color: #306; - background: linear-gradient(90deg, rgba(148,117,178,.7), rgba(148,117,178,0)) #C2AFFE; - border-radius: 2px; -} - -.content-right .head, -.loginPage > .registerCont .head { - margin: -1px -2px -1px; - padding: 4px 5px 5px; - font-weight: 700; - font-size: 20px; - color: #306; - background: linear-gradient(270deg, rgba(148,117,178,.7), rgba(148,117,178,0)) #C2AFFE; - border-radius: 2px; -} - -.standalone { - background: #C2AEEE; - padding: 10px; - width: auto; - max-width: 1024px; -} - -.private-message { - border-top: 1px solid #C2AEEE; -} - -.ajax-busy { - background: rgba(0, 0, 0, .4); - position: fixed; - top: 0; - left: 0; - bottom: 0; - right: 0; - z-index: 5; - text-align: center; - opacity: 1; -} - -.ajax-busy .ajax-inner { - line-height: 2em; - color: #FFF; - background: #222; - background: linear-gradient(0deg, rgba(0, 0, 0, .4) 20%, transparent) rgba(0, 0, 0, .8); - display: inline-block; - margin: 10% auto 0; - padding: 10px 20px 15px; - border-radius: 10px; - box-shadow: 0 5px 1em #111; -} - -.ajax-busy .ajax-inner h2 { - padding-bottom: 5px; -} - -.homepage .content-right ul { - margin: 10px 0; - margin-left: 30px; -} - -.dropDown { - display: inline-block; - position: relative; -} - -.dropDown .dropDownInner { - display: inline-block; - background: rgba(12, 12, 12, .7); - min-width: 200px; - border: 2px solid #9475B2; - float: left; - font-family: "Segoe UI", sans-serif; - text-align: left; - margin: 0 2px; - transition: background .5s; -} - -.dropDown .dropDownInner:hover { - background: rgba(21, 21, 21, .8); -} - -.dropDown .dropDownInner a { - padding: 0 1px 0 4px; - display: none; - color: #FFF; - text-decoration: none; - clear: both; - transition: background .2s; -} - -.dropDown .dropDownInner a:hover { - background: rgba(21, 21, 21, .5); -} - -.dropDown .dropDownInner a:active { - background: rgba(21, 21, 21, .7); -} - -.dropDown .dropDownInner a.dropDownSelected { - display: inline-block; -} - -.dropDown .dropDownInner:hover a { - display: block; - float: none; -} - -.dropDown .dropDownInner a.dropDownDesc { - display: inline-block; -} - -.dropDown .dropDownInner:hover a.dropDownDesc { - display: none; -} - -#headerLoginForm { - background: #9475B2; - border-bottom: 2px solid #9475B2; - box-shadow: 0 0 5px #8364A1; - text-align: center; -} - -#headerLoginForm > div { - display: inline-block; -} - -@media (max-width: 640px) { - - #headerLoginForm > div { - display: block; - text-align: right; - padding-right: 2px; - } - -} - -#headerLoginForm label { - font-family: "Segoe UI", sans-serif; - font-weight: 100; - font-size: 15px; -} - -.indexSidePanelLinks { - font-size: 4em; - text-align: center; - line-height: 1.3em; -} - -.indexSidePanelLinks > a { - color: #8364A1; - text-decoration: none; - text-shadow: 0 0 2px #9475B2; - transition: all .2s; -} - -.indexSidePanelLinks > a:hover { - text-shadow: 0 0 6px #9475B2; -} - -.indexSidePanelLinks > a:active { - color: #725390; - text-shadow: 0 0 8px #8364A1; -} diff --git a/content/data/yuuno/css/donate.css b/content/data/yuuno/css/donate.css deleted file mode 100644 index 5d6ae16..0000000 --- a/content/data/yuuno/css/donate.css +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Donation page Styling - */ -@charset "utf-8"; - -.donate .sectionHeader { - margin: -1px -2px; - background: linear-gradient(270deg, rgba(148, 117, 178, .7), rgba(148, 117, 178, 0), rgba(148, 117, 178, .7)) #C2AFFE; - padding: 2px; - font-weight: 700; - font-size: 15px; - color: #306; -} - -.donate .featureParent { - width: 100%; - padding: 10px 0; - overflow: hidden; - text-align: center; -} - -.donate .featureBox { - background: linear-gradient(180deg, #C2AFFE, #B19EED) no-repeat scroll left top / cover #C2AFFE; - margin: 7px; - border-radius: 5px; - text-align: center; - box-shadow: 0 0 .5em #000; - display: inline-block; - vertical-align: top; - transition: box-shadow .2s; - width: 320px; - padding: 5px 0; -} - -.donate .featureBox:hover { - box-shadow: 0 0 1em #000; - cursor: pointer; -} - -.donate .featureBox:active { - box-shadow: 0 0 1.5em #609; -} - -.donate .featureBoxHeader { - font-weight: 700; - font-size: 15px; -} - -.donate .featureBoxDesc { - padding: 1px 2px; -} - -.donate .featureBoxDesc.donateClosed { - display: none; -} - -.donate .featureBoxDesc.donateOpened { - display: block; -} - -.donate .paypal-donate-form { - margin: 10px auto; - display: block; - text-align: center; -} diff --git a/content/data/yuuno/css/error.css b/content/data/yuuno/css/error.css index 14918b7..f975638 100644 --- a/content/data/yuuno/css/error.css +++ b/content/data/yuuno/css/error.css @@ -1,63 +1,83 @@ -html { - background: url('/images/satori-error.png') top right no-repeat #FFF; - font-family: 'verdana', sans-serif; - font-size: 0.8em; -} +html, body { - margin: 0px 2em; -} -html, body { min-height: 100%; width: 90; } + +html { + background: url('/images/satori-error.png') top right no-repeat #FFF; + font-family: 'verdana', sans-serif; + font-size: .8em; +} + +body { + margin: 0 2em; +} + #wrap { max-width: 34em; } -h1, h2, h3, p { + +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; + margin: 0 .5em -.75em 0; } + p { - padding: 0px; - margin: 2em 0px; + padding: 0; + margin: 2em 0; line-height: 1.33em; } + hr { - margin: 1.9em 0px; + margin: 1.9em 0; background: #BBB; border: none; } + ul { - padding: 0.75em 0px 0px 0px; + padding: .75em 0 0 0; } + li { margin: 0px 0px 0.8em 3.46em; line-height: 1.32em; } + a { color: red; } + img+a:before { - content: ' '; + content: " "; } + h3 { - margin: 2.5em 0px; + margin: 2.5em 0; } + li:nth-child(3) img { - margin: -0.2em 0px + margin: -0.2em 0; } + li:nth-child(4) img { - margin: -0.5em 0px + margin: -0.5em 0; } + table { position: absolute; top: 0; @@ -67,13 +87,17 @@ table { opacity: 0; display: none; } -table, tr, td { - background: rgba(0,0,0,0.2); + +table, +tr, +td { + background: rgba(0, 0, 0, .2); height: 100%; width: 100%; text-align: center; } + table img { border-radius: 32px; box-shadow: 0 4px 32px #888; -} \ No newline at end of file +} diff --git a/content/data/yuuno/css/footer.css b/content/data/yuuno/css/footer.css deleted file mode 100644 index ac47464..0000000 --- a/content/data/yuuno/css/footer.css +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Site footer styling - */ -@charset "utf-8"; - -.footer { - box-shadow: 0 0 1em #9475B2; - font-size: small; - width: 100%; - padding-top: 10px; - padding-bottom: 30px; - background: linear-gradient(180deg, #9475B2 0%, #FBEEFF 20%, #C2AFFE 100%) #C2AFFE; - position: absolute; - bottom: 0; -} - -.footer .ftsections a { - color: inherit; - text-decoration: none; -} - -.footer .ftsections a:hover { - text-decoration: underline; -} - -.footer .ftsections { - margin: auto; - text-align: center; - width: 95%; - min-height: 150px; -} - -.footer .ftsections .ftsection { - vertical-align: top; - text-align: left; - display: inline-block; - width: 200px; - list-style-type: none; -} - -.footer .ftsections .ftsection li { - margin: 2px; -} - -.footer .ftsections .ftsection li.fthead { - margin-bottom: 5px; - font-weight: 700; -} - -.footer .sections .copycentre { - text-align: center; - width: 100%; -} diff --git a/content/data/yuuno/css/forums.css b/content/data/yuuno/css/forums.css deleted file mode 100644 index ec97c1d..0000000 --- a/content/data/yuuno/css/forums.css +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Forum Styling - */ -@charset "utf-8"; - -.forum .forumList { - width: 100%; - border-spacing: 0; - margin-top: 2px; -} - -.forum .forumList .forumCategory { - background: #C2AFFE; - font-weight: 700; - font-size: 17px; - color: inherit; - text-decoration: none; -} - -.forum .forumList .forumCategory .forumCategoryTitleColumn { - padding: 4px; -} - -.forum .forumList .forumForum { - height: 50px; -} - -.forum .forumList .forumForum .forumIconColumn { - text-align: center; - width: 50px; -} - -.forum .forumList .forumForum .forumIconColumn .forumIcon.read { - color: #444; - text-shadow: 0 0 5px #444; -} - -.forum .forumList .forumForum .forumIconColumn .forumIcon.unread { - color: #6C5D7B; - text-shadow: 0 0 5px #9475B2; -} - -.forum .forumList .forumForum .forumTitleColumn .name { - font-size: 1.2em; - line-height: 1.7em; -} - -.forum .forumList .forumForum .forumTitleColumn .desc { - font-size: .8em; - line-height: 1em; -} - -.forum .forumList .forumForum .forumCountColumn { - width: 70px; - text-align: center; -} - -.forum .forumList .forumForum .forumCountColumn .topics { - font-size: 1.5em; - color: #111; -} - -.forum .forumList .forumForum .forumCountColumn .posts { - font-size: .8em; - line-height: 1.2em; - color: #555; -} - -.forum .forumList .forumForum .forumLastColumn { - width: 250px; - font-size: .9em; - line-height: 1.4em; -} - -.forum .forumList .forumForum .forumLastColumn div, -.forum .forumList .forumForum .forumTitleColumn div { - padding-left: 5px; -} diff --git a/content/data/yuuno/css/header.css b/content/data/yuuno/css/header.css deleted file mode 100644 index beb2f41..0000000 --- a/content/data/yuuno/css/header.css +++ /dev/null @@ -1,185 +0,0 @@ -/* - * Site header styling - */ -@charset "utf-8"; - -.header { - text-align: center; - background: linear-gradient(180deg, #C2AFFE, #CCBAFE); - box-shadow: 0 0 5px #8364A1; -} - -.header .logo { - background: none; - height: auto; - width: auto; - display: inline-block; - text-decoration: none; - font: 100 70px/80px "SegoeUI-Light", "Segoe UI", sans-serif; - color: #B06AC4; - transition: color .2s, text-shadow .2s; -} - -.header .logo:hover { - color: #C17BD5; - text-shadow: 0 0 .1em #C17BD5; -} - -.header .logo:active { - color: #A059B3; - text-shadow: 0 0 .1em #A059B3; -} - -@media (max-width: 768px) { - .header .logo { - font: 100 50px/60px "SegoeUI-Light", "Segoe UI", sans-serif; - } -} - -.header .menu { - border-bottom: 2px solid #9475B2; -} - -.header .menu .menu-nav { - text-align: left; - float: left; -} - -.header .menu .menu-ucp { - text-align: right; - float: right; -} - -.header .menu .menu-mob { - display: none; -} - -.header .menu .menu-item { - margin: 0 8px -2px; - display: inline-block; - min-width: 75px; - padding: 5px; - border-bottom: 2px solid #8364A1; - color: inherit; - text-decoration: none; - text-align: center; - transition: border-color .5s, background .3s; -} - -.header .menu .menu-item.avatar { - width: auto; - padding-left: 36px; - background: url('/pixel.png') no-repeat scroll left center / contain transparent; -} - -.header .menu .menu-item:hover { - border-color: #503180 !important; -} - -.header .menu .menu-item:active { - border-color: #503180 !important; - background-color: #503180 !important; -} - -.header .menu .menu-donate:hover { - border-color: #EE9400 !important; -} - -.header .menu .menu-donate:active { - border-color: #EE9400 !important; - background-color: #EE9400 !important; -} - -@media (max-width: 1283px) and (min-width: 930px) { - - .header .menu { - border: 0; - padding-bottom: 5px; - } - - .header .menu .menu-nav { - margin-left: 32px; - } - - .header .menu .menu-nav, - .header .menu .menu-ucp { - display: block; - float: none; - text-align: center; - } - - .header .menu .menu-item { - min-width: 120px; - border: 0; - margin: 0 8px; - } - - .header .menu .menu-nav .menu-item { - min-width: 120px; - border-bottom: 1px solid #8364A1; - } - - .header .menu .menu-ucp .menu-item { - min-width: 120px; - border-top: 1px solid #8364A1; - } - -} - -@media (max-width: 930px) { - - .header .menu .menu-nav, .header .menu .menu-ucp { - float: none; - text-align: center; - display: none; - } - - .header .menu .menu-hid { - display: block; - } - - .header .menu .menu-mob { - display: block; - } - - .header .menu .menu-item.avatar { - padding-left: 0; - } - - .header .menu .menu-mob .menu-item { - width: 100px; - } - - .header .menu .menu-nav .menu-item, .header .menu .menu-ucp .menu-item { - display: block; - border-top: 0; - border-bottom: 1px solid #8364A1; - margin: 0 8px; - } - - .header .menu .menu-nav:before { - content: "Navigation"; - font-size: 20px; - line-height: 40px; - } - - .header .menu .menu-ucp:before { - content: "User Settings"; - font-size: 20px; - line-height: 40px; - } - -} - -.headerNotify { - margin: 10px auto; - padding: 10px; - width: auto; - max-width: 1024px; - border: 1px solid #9475B2; - box-shadow: 0 0 3px #9475B2; - border-radius: 3px; - background: #D3BFFF; - display: block; - text-align: center; -} diff --git a/content/data/yuuno/css/inputstyling.css b/content/data/yuuno/css/inputstyling.css deleted file mode 100644 index e4f23da..0000000 --- a/content/data/yuuno/css/inputstyling.css +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Input box Styling - */ -@charset "utf-8"; - -input[type="submit"].inputStyling, -input[type="button"].inputStyling, -input[type="reset"].inputStyling { - padding: 3px 10px; - cursor: pointer; - border: 0; - border-radius: 3px; - background: linear-gradient(180deg, #9475B2 0%, #9475B2 50%, #86A 50%) #9475B2; - margin: 4px 1px; - color: #FFF; - box-shadow: inset #222 0 0 1px; - text-shadow: #888 0 0 2px; - transition: text-shadow .5s, box-shadow .5s; - font-size: 22px; - min-width: 120px; -} - -input[type="submit"].inputStyling.small, -input[type="button"].inputStyling.small, -input[type="reset"].inputStyling.small { - padding: 0 4px 1px; - margin: -2px 0 0; - font-size: 16px; - border-radius: 0; - min-width: 80px !important; -} - -input[type="submit"].inputStyling:hover, -input[type="button"].inputStyling:hover, -input[type="reset"].inputStyling:hover { - box-shadow: inset #222 0 0 3px; - text-shadow: #F1F1F1 0 0 5px; -} - -input[type="submit"].inputStyling:active, -input[type="button"].inputStyling:active, -input[type="reset"].inputStyling:active { - box-shadow: inset #222 0 0 5px; - text-shadow: #F1F1F1 0 0 3px; - transition: text-shadow .2s, box-shadow .2s; -} - -input[type="text"].inputStyling, -input[type="password"].inputStyling , -input[type="date"].inputStyling { - padding: 3px 4px; - border: 1px solid #CCC; - box-shadow: inset #DDD 0 0 5px; - background: linear-gradient(180deg, #FFF 0%, #EEE 50%, #E5E5E5 50%) #FFF; -} - -input[type="text"].inputStyling.red, -input[type="password"].inputStyling.red, -input[type="date"].inputStyling.red { - box-shadow: inset 0px 0px 7px #EB5959; -} - -input[type="text"].inputStyling.green, -input[type="password"].inputStyling.green, -input[type="date"].inputStyling.green { - box-shadow: inset 0px 0px 7px #A9EC8B; -} - -textarea.inputStyling { - padding: 3px 4px; - border: 1px solid #CCC; - box-shadow: inset #DDD 0 0 5px; - background: linear-gradient(180deg, #FFF 0%, #EEE 50%, #E5E5E5 50%) #FFF; -} diff --git a/content/data/yuuno/css/keyframes.css b/content/data/yuuno/css/keyframes.css deleted file mode 100644 index e56fdac..0000000 --- a/content/data/yuuno/css/keyframes.css +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Animation Keyframes - */ -@charset "utf-8"; - -/* Spin */ -@keyframes spin { - - 0% { - transform: rotate(0deg); - } - - 100% { - transform: rotate(360deg); - } - -} - -/* Fade out */ -@keyframes fadeOut { - - 0% { - opacity: 1; - } - - 100% { - opacity: 0; - display: none; - } - -} - -/* Fade in */ -@keyframes fadeIn { - - 0% { - opacity: 0; - } - - 100% { - opacity: 1; - display: block; - } - -} - -/* Slide in from right */ -@keyframes slideInFromRight { /* Requires position: relative to be set on the element */ - - 0% { - right: -100%; - } - - 100% { - right: 0%; - } - -} - -/* Slide out to bottom */ -@keyframes slideOutToBottom { /* Read comment above */ - - 0% { - bottom: 0%; - } - - 100% { - bottom: -100%; - } - -} diff --git a/content/data/yuuno/css/members.css b/content/data/yuuno/css/members.css deleted file mode 100644 index 3d7d8af..0000000 --- a/content/data/yuuno/css/members.css +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Members page Styling - */ -@charset "utf-8"; - -.membersPage { - width: 100%; - padding: 10px 0; - overflow: hidden; - text-align: center; -} - -.membersPage a { - color: inherit; -} - -.membersPage .userBox { - background: linear-gradient(180deg, #C2AFFE, #B19EED) no-repeat scroll left top / cover #C2AFFE; - margin: 7px; - border-radius: 5px; - text-align: center; - box-shadow: 0 0 .5em #000; - display: inline-block; - vertical-align: top; - transition: box-shadow .2s; -} - -.membersPage .userBox { - padding: 10px; - line-height: 330%; -} - -.membersPage .userBox:hover { - box-shadow: 0 0 1em #000; - cursor: pointer; -} - -.membersPage .userBox:active { - box-shadow: 0 0 1.5em #609; -} - -.membersPage .userBox img { - margin: 0 auto; -} - -.membersPage .userBox .userBoxUserName { - font-weight: 700; -} - -.membersPage .boxes .userBox { - width: 200px; - height: 230px; -} - -.membersPage .boxes .userBox img { - width: 200px; - height: 200px; - display: block; -} - -.membersPage .rectangles .userBox { - width: 300px; - height: 100px; - text-align: left; -} - -.membersPage .rectangles .userBox img { - width: 100px; - height: 100px; - display: inline-block; -} - -.membersPage .rectangles .userBox .userBoxUserName { - display: inline-block; - vertical-align: top; - padding: 30px 10px; -} - -.membersPage .list table { - margin: 10px auto; - background: #C2AFFE; - box-shadow: 0 0 3px #9475B2; - border: 1px solid #9475B2; - max-width: 1024px; - width: auto; - border-radius: 3px; - border-spacing: 0; -} - -.membersPage .list table td, -.membersPage .list table th { - padding: 4px 8px; -} - -.membersPage .list thead th { - border-bottom: 1px solid #9475B2; - background: #A586C4; -} - -.membersPage .list tfoot th { - border-top: 1px solid #9475B2; - background: #A586C4; -} diff --git a/content/data/yuuno/css/messages.css b/content/data/yuuno/css/messages.css deleted file mode 100644 index ad19e5b..0000000 --- a/content/data/yuuno/css/messages.css +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Private Messages Styling - */ -@charset "utf-8"; - -.messages table { - width: 100%; - border-spacing: 0; -} - -.messages table > tbody > tr.unread { - background: #C2AFFE; - font-weight: 700; -} - -.messages table > tbody > tr > td { - border-bottom: 1px solid #B19EED; - border-top: 1px solid #B19EED; -} - -.messages table > * > tr > td { - padding: 0 4px; -} - -.messages table > * > tr > td:first-child { - width: 150px; - text-align: center; -} - -.messages table > tbody > tr > td:first-child { - border-left: 1px solid #B19EED; -} - -.messages table > * > tr > td:last-child { - width: 220px; - text-align: center; -} - -.messages table > tbody > tr > td:last-child { - border-right: 1px solid #B19EED; -} diff --git a/content/data/yuuno/css/news.css b/content/data/yuuno/css/news.css deleted file mode 100644 index 2f16a89..0000000 --- a/content/data/yuuno/css/news.css +++ /dev/null @@ -1,74 +0,0 @@ -/* - * News page styling - */ -@charset "utf-8"; - -.news { - min-height: 0; -} - -.news-head { - margin: -1px -2px; - padding: 4px; - background: #C2AFFE; - font-weight: 700; - display: block; - font-size: 17px; - color: inherit; - text-decoration: none; -} - -.news-rss { - float: right; -} - -.news-body { - font-size: 10pt; - padding: 2px 0 0 3px; -} - -.news-post-time { - font-size: 8pt; - padding: 6px 15px; - text-align: right; - font-weight: 700; -} -.news-poster { - margin-top: -20px; - float: right; - text-align: center; - width: 140px; -} - -.news-poster img { - max-width: 120px; - max-height: 120px; -} - -.news-poster h1 { - line-height: 100%; - margin: 0; - margin-top: -5px; -} - -@media (max-width: 768px) { - - .news-poster { - margin: 0; - } - -} - -@media (max-width: 400px) { - - .news-poster { - margin-top: 10px; - width: auto; - padding: 0 10px 0 0; - } - - .news-poster img { - display: none; - } - -} diff --git a/content/data/yuuno/css/notifications.css b/content/data/yuuno/css/notifications.css deleted file mode 100644 index 645a608..0000000 --- a/content/data/yuuno/css/notifications.css +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Notification styling - */ -@charset "utf-8"; - -#notifications { - position: fixed; - bottom: 5px; - right: 5px; - z-index: 3; - font-family: "Segoe UI", sans-serif; - overflow-y: auto; - overflow-x: hidden; - max-height: 510px; - max-width: 600px; - text-align: right; -} - -#notifications > div { - cursor: pointer; - text-align: left; - display: inline-block; - height: 80px; - background: rgba(113, 74, 150, .9); - border: 1px solid #507; - border-right-width: 5px; - color: #FFF; - padding: 2px 0 2px 2px; - margin: 5px; - position: relative; - box-shadow: 0 0 4px rgba(0, 0, 0, .9); -} - -#notifications > .notification-enter { - animation: slideInFromRight 1 .4s, fadeIn 1 .4s; -} - -#notifications > .notification-exit { - animation: slideOutToBottom 1 .4s, fadeOut 1 .4s; -} - -#notifications > div > .notification-icon { - float: left; - width: 80px; - height: 80px; - text-align: center; - background: rgba(0, 0, 0, .5); - display: block; -} - -#notifications > div > .notification-icon > img { - max-height: 80px; - max-width: 80px; -} - -#notifications > div > .notification-icon > .font-icon { - margin: .34em 0; -} - -#notifications > div > .notification-content { - float: left; - min-width: 350px; - max-width: 450px; - padding-right: 6px; - border-left: 1px solid rgb(85, 0, 119); - height: 80px; - margin-left: 2px; - padding-left: 8px; -} - -#notifications > div > .notification-content > .notification-title { - font-weight: 300; - font-size: 1.7em; - margin-top: 1em; -} - -#notifications > div > .notification-close:before { - font-family: FontAwesome; - content: "\f00d"; -} - -#notifications > div > .notification-close { - font-size: 2em; - float: right; - height: 80px; - width: 20px; - background: #507; - margin-top: -3px; - padding-bottom: 6px; - padding-left: 2px; - border-left: 3px solid #507; - line-height: 3.4em; - text-align: center; - display: none; -} - -#notifications > div:hover > .notification-close { - display: block; -} diff --git a/content/data/yuuno/css/profile.css b/content/data/yuuno/css/profile.css deleted file mode 100644 index 1b56b5d..0000000 --- a/content/data/yuuno/css/profile.css +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Profile page Styling - */ -@charset "utf-8"; - -.profile .content-left { - max-height: 800px; - overflow: auto; -} - -.profile .user-actions { - font-size: 3em; - line-height: 1.4em; -} - -.profile .user-actions a { - color: #8364A1; - text-decoration: none; - text-shadow: 0 0 2px #9475B2; - transition: all .2s; -} - -.profile .user-actions a:hover { - text-shadow: 0 0 6px #9475B2; -} - -.profile .user-actions a:active { - color: #725390; - text-shadow: 0 0 8px #8364A1; -} - -@media (max-width: 1024px) { - - .content { - width: auto; - } - - .content .content-right { - width: 100%; - min-height: 0; - } - - .content .content-left { - width: 100%; - min-height: 0; - border-top: 1px solid #9475B2; - } - -} diff --git a/content/data/yuuno/css/settings.css b/content/data/yuuno/css/settings.css deleted file mode 100644 index cc4f8fc..0000000 --- a/content/data/yuuno/css/settings.css +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Settings page styling - */ -@charset "utf-8"; - -.settings .right-menu-nav > div { - background: #C2AFFE; - padding: 4px; - margin: -1px -2px; - font-weight: 700; - display: block; - font-size: 17px; -} - -.settings .right-menu-nav > a { - display: block; - font-size: 14px; - line-height: 25px; - color: #22E; - text-decoration: none; - padding-left: 10px; -} - -.settings .right-menu-nav > a:hover { - color: #22E; - text-decoration: underline; -} - -.settings .right-menu-nav > a:active { - color: #E22; - text-decoration: underline; -} - -.settings .settings-explanation { - font-size: 11px; - line-height: 18px; - padding: 7px; - border-bottom: 1px solid #C2AFFE; - margin-bottom: 7px; -} - -.settings .settings-table { - width: 100%; -} - -.settings .settings-table tr > th { - font-size: 17px; - background: #C2AFFE; - padding: 4px; - margin: -1px -2px; - font-weight: 700; -} - -.settings .settings-table tr > td { - text-align: center; -} - -.settings .settings-table > tbody > tr:not(:last-child) > td { - border-bottom: 1px solid #C2AFFE; -} - -.settings .settings-table tr.current-session > td { - background: #B39EED; -} - -.settings .profile-field { - width: 100%; -} - -.settings .profile-field > div:nth-child(2) > input { - width: calc(100% - 16px); -} - -.settings .profile-save { - text-align: center; - padding: 10px; -} - -.settings .background-frame { - max-width: 600px; - max-height: 400px; - border: 3px solid #EEE; - background: #EEE; - box-shadow: 0 3px 7px #888; - border-radius: 3px; - margin: 5px; -} - -.settings form { - overflow: auto; -} diff --git a/content/data/yuuno/css/yuuno.css b/content/data/yuuno/css/yuuno.css index e9cc507..19f127a 100644 --- a/content/data/yuuno/css/yuuno.css +++ b/content/data/yuuno/css/yuuno.css @@ -12,19 +12,1471 @@ /* Import Segoe UI */ @import url('/fonts/segoeui-light/font.css'); -/* Import style parts */ -@import url('base.css'); -@import url('keyframes.css'); -@import url('notifications.css'); -@import url('header.css'); -@import url('footer.css'); +/* Import markdown specific style */ @import url('markdown.css'); -@import url('news.css'); -@import url('profile.css'); -@import url('settings.css'); -@import url('members.css'); -@import url('donate.css'); -@import url('inputstyling.css'); -@import url('authpage.css'); -@import url('forums.css'); -@import url('messages.css'); + +/* + * Animation Keyframes + */ +/* Spin */ +@keyframes spin { + + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } + +} + +/* Fade out */ +@keyframes fadeOut { + + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + display: none; + } + +} + +/* Fade in */ +@keyframes fadeIn { + + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + display: block; + } + +} + +/* Slide in from right */ +@keyframes slideInFromRight { /* Requires position: relative to be set on the element */ + + 0% { + right: -100%; + } + + 100% { + right: 0%; + } + +} + +/* Slide out to bottom */ +@keyframes slideOutToBottom { /* Read comment above */ + + 0% { + bottom: 0%; + } + + 100% { + bottom: -100%; + } + +} + +/* + * Standard Elements + */ +* { + /* Reset margin and padding */ + margin: 0; + padding: 0; +} + +html { + width: 100%; + height: 100%; +} + +body { + font: 12px/20px Verdana, sans-serif; + background: linear-gradient(180deg, #C2AFFE, #FBEEFF) no-repeat scroll left top #FBEEFF; + background-size: cover; + color: #000; + height: 100%; + position: relative; + width: 100%; +} + +#container { + min-height: 100%; + position: relative; + width: 100%; +} + +#contentwrapper { + padding-bottom: 220px; +} + +@media (max-width: 642px) { + + #contentwrapper { + padding-bottom: 335px; + } + +} + +@media (max-width: 426px) { + + #contentwrapper { + padding-bottom: 450px; + } + +} +@media (max-width: 400px) { + + #contentwrapper { + padding-bottom: 450px; + } + +} + +@media (max-width: 300px) { + + .footer { + display: none; + } + + #contentwrapper { + padding-bottom: 0; + } + +} + +.clear { + clear: both !important; + float: none !important; +} + +.hidden { + display: none !important; + visibility: hidden !important; +} + +.centreAlign { + text-align: center; +} + +.leftAlign { + text-align: left; +} + +.rightAlign { + text-align: right; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "SegoeUI-Light", "Segoe UI", sans-serif; + font-weight: 100; + margin: 5px 0; +} + +h1.stylised { + text-shadow: 0 0 5px #8364A1; + color: #614390; +} + +hr.default { + border: 0; + height: 1px; + color: #9475B2; + background: #9475B2; +} + +img { + max-width: 100%; + max-height: 100%; +} + +img.default-avatar-setting { + max-width: 200px; + max-height: 200px; + border: 3px solid #EEE; + background: #EEE; + box-shadow: 0 3px 7px #888; + border-radius: 3px; + margin: 5px; +} + +img.homepage-menu-avatar { + float: right; + max-width: 100px; + max-width: 100px; + margin-top: -25px; + margin-right: 0; +} + +@media (max-width: 400px) { + + img.homepage-menu-avatar { + display: none; + } + +} + +.standalone img:not(:hover) { + max-width: 100%; +} + +a.clean, +a.underline, +a.no-underline { + color: inherit !important; + text-decoration: none !important; +} + +a.underline:hover { + text-decoration: underline !important; +} + +a.default { + color: #22E; + text-decoration: none; +} + +a.default:hover { + color: #22E; + text-decoration: underline; +} + +a.default:active { + color: #E22; + text-decoration: underline; +} + +a.gotop { + display: inline-block; + background: #111; + color: #FFF; + width: 60px; + height: 60px; + border-radius: 5px; + text-decoration: none; + opacity: .3; + transition: opacity .5s, box-shadow .5s; + margin: 10px 5px; + float: right; + position: fixed; + bottom: 0; + right: 5px; + z-index: 2; + line-height: 60px; + text-align: center; + font-size: 5em; + text-shadow: 0 0 5px #FFF; +} + +a.gotop:hover { + opacity: .8; + box-shadow: 0 0 7px #FFF inset; + text-shadow: 0 0 7px #FFF; +} + +a.gotop:active { + box-shadow: 0 0 15px #FFF inset; + text-shadow: 0 0 10px #FFF; + opacity: .9; +} + +a.gotop.enter { + animation: slideInFromRight 1 .6s; +} + +a.gotop.exit { + animation: slideOutToBottom 1 .6s; +} + +.content { + margin: 10px auto; + padding: 2px 3px; + width: 1024px; + border: 1px solid #9475B2; + box-shadow: 0 0 3px #9475B2; + border-radius: 3px; + background: #D3BFFF; +} + +.content-column { + position: relative; + min-height: 600px; +} + +.content-left { + float: left; + width: 688px; +} + +.content-right { + float: right; + width: 334px; +} + +.content-left .head, +.news .head, +.donate .head, +.loginPage > .loginCont .head, +.messages .head { + margin: -1px -2px; + padding: 4px 5px 5px; + font-weight: 700; + font-size: 20px; + color: #306; + background: linear-gradient(90deg, rgba(148,117,178,.7), rgba(148,117,178,0)) #C2AFFE; + border-radius: 2px; +} + +.content-right .head, +.loginPage > .registerCont .head { + margin: -1px -2px -1px; + padding: 4px 5px 5px; + font-weight: 700; + font-size: 20px; + color: #306; + background: linear-gradient(270deg, rgba(148,117,178,.7), rgba(148,117,178,0)) #C2AFFE; + border-radius: 2px; +} + +.standalone { + background: #C2AEEE; + padding: 10px; + width: auto; + max-width: 1024px; +} + +.private-message { + border-top: 1px solid #C2AEEE; +} + +.ajax-busy { + background: rgba(0, 0, 0, .4); + position: fixed; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 5; + text-align: center; + opacity: 1; +} + +.ajax-busy .ajax-inner { + line-height: 2em; + color: #FFF; + background: #222; + background: linear-gradient(0deg, rgba(0, 0, 0, .4) 20%, transparent) rgba(0, 0, 0, .8); + display: inline-block; + margin: 10% auto 0; + padding: 10px 20px 15px; + border-radius: 10px; + box-shadow: 0 5px 1em #111; +} + +.ajax-busy .ajax-inner h2 { + padding-bottom: 5px; +} + +.homepage .content-right ul { + margin: 10px 0; + margin-left: 30px; +} + +.dropDown { + display: inline-block; + position: relative; +} + +.dropDown .dropDownInner { + display: inline-block; + background: rgba(12, 12, 12, .7); + min-width: 200px; + border: 2px solid #9475B2; + float: left; + font-family: "Segoe UI", sans-serif; + text-align: left; + margin: 0 2px; + transition: background .5s; +} + +.dropDown .dropDownInner:hover { + background: rgba(21, 21, 21, .8); +} + +.dropDown .dropDownInner a { + padding: 0 1px 0 4px; + display: none; + color: #FFF; + text-decoration: none; + clear: both; + transition: background .2s; +} + +.dropDown .dropDownInner a:hover { + background: rgba(21, 21, 21, .5); +} + +.dropDown .dropDownInner a:active { + background: rgba(21, 21, 21, .7); +} + +.dropDown .dropDownInner a.dropDownSelected { + display: inline-block; +} + +.dropDown .dropDownInner:hover a { + display: block; + float: none; +} + +.dropDown .dropDownInner a.dropDownDesc { + display: inline-block; +} + +.dropDown .dropDownInner:hover a.dropDownDesc { + display: none; +} + +#headerLoginForm { + background: #9475B2; + border-bottom: 2px solid #9475B2; + box-shadow: 0 0 5px #8364A1; + text-align: center; +} + +#headerLoginForm > div { + display: inline-block; +} + +@media (max-width: 640px) { + + #headerLoginForm > div { + display: block; + text-align: right; + padding-right: 2px; + } + +} + +#headerLoginForm label { + font-family: "Segoe UI", sans-serif; + font-weight: 100; + font-size: 15px; +} + +.indexSidePanelLinks { + font-size: 4em; + text-align: center; + line-height: 1.3em; +} + +.indexSidePanelLinks > a { + color: #8364A1; + text-decoration: none; + text-shadow: 0 0 2px #9475B2; + transition: all .2s; +} + +.indexSidePanelLinks > a:hover { + text-shadow: 0 0 6px #9475B2; +} + +.indexSidePanelLinks > a:active { + color: #725390; + text-shadow: 0 0 8px #8364A1; +} + +/* + * Site header styling + */ +.header { + text-align: center; + background: linear-gradient(180deg, #C2AFFE, #CCBAFE); + box-shadow: 0 0 5px #8364A1; +} + +.header .logo { + background: none; + height: auto; + width: auto; + display: inline-block; + text-decoration: none; + font: 100 70px/80px "SegoeUI-Light", "Segoe UI", sans-serif; + color: #B06AC4; + transition: color .2s, text-shadow .2s; +} + +.header .logo:hover { + color: #C17BD5; + text-shadow: 0 0 .1em #C17BD5; +} + +.header .logo:active { + color: #A059B3; + text-shadow: 0 0 .1em #A059B3; +} + +@media (max-width: 768px) { + .header .logo { + font: 100 50px/60px "SegoeUI-Light", "Segoe UI", sans-serif; + } +} + +.header .menu { + border-bottom: 2px solid #9475B2; +} + +.header .menu .menu-nav { + text-align: left; + float: left; +} + +.header .menu .menu-ucp { + text-align: right; + float: right; +} + +.header .menu .menu-mob { + display: none; +} + +.header .menu .menu-item { + margin: 0 8px -2px; + display: inline-block; + min-width: 75px; + padding: 5px; + border-bottom: 2px solid #8364A1; + color: inherit; + text-decoration: none; + text-align: center; + transition: border-color .5s, background .3s; +} + +.header .menu .menu-item.avatar { + width: auto; + padding-left: 36px; + background: url('/pixel.png') no-repeat scroll left center / contain transparent; +} + +.header .menu .menu-item:hover { + border-color: #503180 !important; +} + +.header .menu .menu-item:active { + border-color: #503180 !important; + background-color: #503180 !important; +} + +.header .menu .menu-donate:hover { + border-color: #EE9400 !important; +} + +.header .menu .menu-donate:active { + border-color: #EE9400 !important; + background-color: #EE9400 !important; +} + +@media (max-width: 1283px) and (min-width: 930px) { + + .header .menu { + border: 0; + padding-bottom: 5px; + } + + .header .menu .menu-nav { + margin-left: 32px; + } + + .header .menu .menu-nav, + .header .menu .menu-ucp { + display: block; + float: none; + text-align: center; + } + + .header .menu .menu-item { + min-width: 120px; + border: 0; + margin: 0 8px; + } + + .header .menu .menu-nav .menu-item { + min-width: 120px; + border-bottom: 1px solid #8364A1; + } + + .header .menu .menu-ucp .menu-item { + min-width: 120px; + border-top: 1px solid #8364A1; + } + +} + +@media (max-width: 930px) { + + .header .menu .menu-nav, .header .menu .menu-ucp { + float: none; + text-align: center; + display: none; + } + + .header .menu .menu-hid { + display: block; + } + + .header .menu .menu-mob { + display: block; + } + + .header .menu .menu-item.avatar { + padding-left: 0; + } + + .header .menu .menu-mob .menu-item { + width: 100px; + } + + .header .menu .menu-nav .menu-item, .header .menu .menu-ucp .menu-item { + display: block; + border-top: 0; + border-bottom: 1px solid #8364A1; + margin: 0 8px; + } + + .header .menu .menu-nav:before { + content: "Navigation"; + font-size: 20px; + line-height: 40px; + } + + .header .menu .menu-ucp:before { + content: "User Settings"; + font-size: 20px; + line-height: 40px; + } + +} + +.headerNotify { + margin: 10px auto; + padding: 10px; + width: auto; + max-width: 1024px; + border: 1px solid #9475B2; + box-shadow: 0 0 3px #9475B2; + border-radius: 3px; + background: #D3BFFF; + display: block; + text-align: center; +} + +/* + * Site footer styling + */ +.footer { + box-shadow: 0 0 1em #9475B2; + font-size: small; + width: 100%; + padding-top: 10px; + padding-bottom: 30px; + background: linear-gradient(180deg, #9475B2 0%, #FBEEFF 20%, #C2AFFE 100%) #C2AFFE; + position: absolute; + bottom: 0; +} + +.footer .ftsections a { + color: inherit; + text-decoration: none; +} + +.footer .ftsections a:hover { + text-decoration: underline; +} + +.footer .ftsections { + margin: auto; + text-align: center; + width: 95%; + min-height: 150px; +} + +.footer .ftsections .ftsection { + vertical-align: top; + text-align: left; + display: inline-block; + width: 200px; + list-style-type: none; +} + +.footer .ftsections .ftsection li { + margin: 2px; +} + +.footer .ftsections .ftsection li.fthead { + margin-bottom: 5px; + font-weight: 700; +} + +.footer .sections .copycentre { + text-align: center; + width: 100%; +} + +/* + * Authentication page Styling + */ +.loginPage { + margin: 0 auto; + max-width: 825px; +} + +.loginPage > .registerCont > *, +.loginPage > .loginCont > * { + text-align: center; + border: 1px solid #9475B2; + margin: 10px auto; + padding: 2px 3px; + width: 400px; + border: 1px solid #9475B2; + box-shadow: 0 0 3px #9475B2; + border-radius: 3px; + background: #D3BFFF; +} + +@media (max-width: 430px) { + + .loginPage > .registerCont > *, + .loginPage > .loginCont > * { + width: 300px; + } + +} + +.loginPage > .loginCont { + float: left; +} + +.loginPage > .registerCont { + float: right; +} + +@media (max-width: 820px) { + + .loginPage > .loginCont { + float: none; + } + + .loginPage > .registerCont { + float: none; + } + +} + +.loginPage .head { + text-align: left; +} + +.loginPage > div > form > div > input { + font-size: 16px; +} + +.loginPage input[type="text"], +.loginPage input[type="password"] { + width: calc(100% - 16px); +} + +.loginPage form > div > label { + font-size: 20px; + font-weight: 100; + padding: 0 5px; + line-height: 32px; + color: #222; + text-shadow: #888 0 0 3px; +} + +.loginPage .subLinks { + font-size: 10px; +} + +/* + * Members page Styling + */ +.membersPage { + width: 100%; + padding: 10px 0; + overflow: hidden; + text-align: center; +} + +.membersPage a { + color: inherit; +} + +.membersPage .userBox { + background: linear-gradient(180deg, #C2AFFE, #B19EED) no-repeat scroll left top / cover #C2AFFE; + margin: 7px; + border-radius: 5px; + text-align: center; + box-shadow: 0 0 .5em #000; + display: inline-block; + vertical-align: top; + transition: box-shadow .2s; +} + +.membersPage .userBox { + padding: 10px; + line-height: 330%; +} + +.membersPage .userBox:hover { + box-shadow: 0 0 1em #000; + cursor: pointer; +} + +.membersPage .userBox:active { + box-shadow: 0 0 1.5em #609; +} + +.membersPage .userBox img { + margin: 0 auto; +} + +.membersPage .userBox .userBoxUserName { + font-weight: 700; +} + +.membersPage .boxes .userBox { + width: 200px; + height: 230px; +} + +.membersPage .boxes .userBox img { + width: 200px; + height: 200px; + display: block; +} + +.membersPage .rectangles .userBox { + width: 300px; + height: 100px; + text-align: left; +} + +.membersPage .rectangles .userBox img { + width: 100px; + height: 100px; + display: inline-block; +} + +.membersPage .rectangles .userBox .userBoxUserName { + display: inline-block; + vertical-align: top; + padding: 30px 10px; +} + +.membersPage .list table { + margin: 10px auto; + background: #C2AFFE; + box-shadow: 0 0 3px #9475B2; + border: 1px solid #9475B2; + max-width: 1024px; + width: auto; + border-radius: 3px; + border-spacing: 0; +} + +.membersPage .list table td, +.membersPage .list table th { + padding: 4px 8px; +} + +.membersPage .list thead th { + border-bottom: 1px solid #9475B2; + background: #A586C4; +} + +.membersPage .list tfoot th { + border-top: 1px solid #9475B2; + background: #A586C4; +} + +/* + * Notification styling + */ +#notifications { + position: fixed; + bottom: 5px; + right: 5px; + z-index: 3; + font-family: "Segoe UI", sans-serif; + overflow-y: auto; + overflow-x: hidden; + max-height: 510px; + max-width: 600px; + text-align: right; +} + +#notifications > div { + cursor: pointer; + text-align: left; + display: inline-block; + height: 80px; + background: rgba(113, 74, 150, .9); + border: 1px solid #507; + border-right-width: 5px; + color: #FFF; + padding: 2px 0 2px 2px; + margin: 5px; + position: relative; + box-shadow: 0 0 4px rgba(0, 0, 0, .9); +} + +#notifications > .notification-enter { + animation: slideInFromRight 1 .4s, fadeIn 1 .4s; +} + +#notifications > .notification-exit { + animation: slideOutToBottom 1 .4s, fadeOut 1 .4s; +} + +#notifications > div > .notification-icon { + float: left; + width: 80px; + height: 80px; + text-align: center; + background: rgba(0, 0, 0, .5); + display: block; +} + +#notifications > div > .notification-icon > img { + max-height: 80px; + max-width: 80px; +} + +#notifications > div > .notification-icon > .font-icon { + margin: .34em 0; +} + +#notifications > div > .notification-content { + float: left; + min-width: 350px; + max-width: 450px; + padding-right: 6px; + border-left: 1px solid rgb(85, 0, 119); + height: 80px; + margin-left: 2px; + padding-left: 8px; +} + +#notifications > div > .notification-content > .notification-title { + font-weight: 300; + font-size: 1.7em; + margin-top: 1em; +} + +#notifications > div > .notification-close:before { + font-family: FontAwesome; + content: "\f00d"; +} + +#notifications > div > .notification-close { + font-size: 2em; + float: right; + height: 80px; + width: 20px; + background: #507; + margin-top: -3px; + padding-bottom: 6px; + padding-left: 2px; + border-left: 3px solid #507; + line-height: 3.4em; + text-align: center; + display: none; +} + +#notifications > div:hover > .notification-close { + display: block; +} + +/* + * Private Messages Styling + */ +.messages table { + width: 100%; + border-spacing: 0; +} + +.messages table > tbody > tr.unread { + background: #C2AFFE; + font-weight: 700; +} + +.messages table > tbody > tr > td { + border-bottom: 1px solid #B19EED; + border-top: 1px solid #B19EED; +} + +.messages table > * > tr > td { + padding: 0 4px; +} + +.messages table > * > tr > td:first-child { + width: 150px; + text-align: center; +} + +.messages table > tbody > tr > td:first-child { + border-left: 1px solid #B19EED; +} + +.messages table > * > tr > td:last-child { + width: 220px; + text-align: center; +} + +.messages table > tbody > tr > td:last-child { + border-right: 1px solid #B19EED; +} + +/* + * News page styling + */ +.news { + min-height: 0; +} + +.news-head { + margin: -1px -2px; + padding: 4px; + background: #C2AFFE; + font-weight: 700; + display: block; + font-size: 17px; + color: inherit; + text-decoration: none; +} + +.news-rss { + float: right; +} + +.news-body { + font-size: 10pt; + padding: 2px 0 0 3px; +} + +.news-post-time { + font-size: 8pt; + padding: 6px 15px; + text-align: right; + font-weight: 700; +} +.news-poster { + margin-top: -20px; + float: right; + text-align: center; + width: 140px; +} + +.news-poster img { + max-width: 120px; + max-height: 120px; +} + +.news-poster h1 { + line-height: 100%; + margin: 0; + margin-top: -5px; +} + +@media (max-width: 768px) { + + .news-poster { + margin: 0; + } + +} + +@media (max-width: 400px) { + + .news-poster { + margin-top: 10px; + width: auto; + padding: 0 10px 0 0; + } + + .news-poster img { + display: none; + } + +} + +/* + * Profile page Styling + */ +.profile { + background: rgba(211, 191, 255, .8) !important; +} + +.profile .content-left { + max-height: 800px; + overflow: auto; +} + +.profile .user-actions { + font-size: 3em; + line-height: 1.4em; +} + +.profile .user-actions a { + color: #8364A1; + text-decoration: none; + text-shadow: 0 0 2px #9475B2; + transition: all .2s; +} + +.profile .user-actions a:hover { + text-shadow: 0 0 6px #9475B2; +} + +.profile .user-actions a:active { + color: #725390; + text-shadow: 0 0 8px #8364A1; +} + +@media (max-width: 1024px) { + + .content { + width: auto; + } + + .content .content-right { + width: 100%; + min-height: 0; + } + + .content .content-left { + width: 100%; + min-height: 0; + border-top: 1px solid #9475B2; + } + +} + +/* + * Settings page styling + */ +.settings .right-menu-nav > div { + background: #C2AFFE; + padding: 4px; + margin: -1px -2px; + font-weight: 700; + display: block; + font-size: 17px; +} + +.settings .right-menu-nav > a { + display: block; + font-size: 14px; + line-height: 25px; + color: #22E; + text-decoration: none; + padding-left: 10px; +} + +.settings .right-menu-nav > a:hover { + color: #22E; + text-decoration: underline; +} + +.settings .right-menu-nav > a:active { + color: #E22; + text-decoration: underline; +} + +.settings .settings-explanation { + font-size: 11px; + line-height: 18px; + padding: 7px; + border-bottom: 1px solid #C2AFFE; + margin-bottom: 7px; +} + +.settings .settings-table { + width: 100%; +} + +.settings .settings-table tr > th { + font-size: 17px; + background: #C2AFFE; + padding: 4px; + margin: -1px -2px; + font-weight: 700; +} + +.settings .settings-table tr > td { + text-align: center; +} + +.settings .settings-table > tbody > tr:not(:last-child) > td { + border-bottom: 1px solid #C2AFFE; +} + +.settings .settings-table tr.current-session > td { + background: #B39EED; +} + +.settings .profile-field { + width: 100%; +} + +.settings .profile-field > div:nth-child(2) > input { + width: calc(100% - 16px); +} + +.settings .profile-save { + text-align: center; + padding: 10px; +} + +.settings .background-frame { + max-width: 600px; + max-height: 400px; + border: 3px solid #EEE; + background: #EEE; + box-shadow: 0 3px 7px #888; + border-radius: 3px; + margin: 5px; +} + +.settings form { + overflow: auto; +} + +/* + * Donation page Styling + */ +.donate .sectionHeader { + margin: -1px -2px; + background: linear-gradient(270deg, rgba(148, 117, 178, .7), rgba(148, 117, 178, 0), rgba(148, 117, 178, .7)) #C2AFFE; + padding: 2px; + font-weight: 700; + font-size: 15px; + color: #306; +} + +.donate .featureParent { + width: 100%; + padding: 10px 0; + overflow: hidden; + text-align: center; +} + +.donate .featureBox { + background: linear-gradient(180deg, #C2AFFE, #B19EED) no-repeat scroll left top / cover #C2AFFE; + margin: 7px; + border-radius: 5px; + text-align: center; + box-shadow: 0 0 .5em #000; + display: inline-block; + vertical-align: top; + transition: box-shadow .2s; + width: 320px; + padding: 5px 0; +} + +.donate .featureBox:hover { + box-shadow: 0 0 1em #000; + cursor: pointer; +} + +.donate .featureBox:active { + box-shadow: 0 0 1.5em #609; +} + +.donate .featureBoxHeader { + font-weight: 700; + font-size: 15px; +} + +.donate .featureBoxDesc { + padding: 1px 2px; +} + +.donate .featureBoxDesc.donateClosed { + display: none; +} + +.donate .featureBoxDesc.donateOpened { + display: block; +} + +.donate .paypal-donate-form { + margin: 10px auto; + display: block; + text-align: center; +} + +/* + * Input box Styling + */ +input[type="submit"].inputStyling, +input[type="button"].inputStyling, +input[type="reset"].inputStyling { + padding: 3px 10px; + cursor: pointer; + border: 0; + border-radius: 3px; + background: linear-gradient(180deg, #9475B2 0%, #9475B2 50%, #86A 50%) #9475B2; + margin: 4px 1px; + color: #FFF; + box-shadow: inset #222 0 0 1px; + text-shadow: #888 0 0 2px; + transition: text-shadow .5s, box-shadow .5s; + font-size: 22px; + min-width: 120px; +} + +input[type="submit"].inputStyling.small, +input[type="button"].inputStyling.small, +input[type="reset"].inputStyling.small { + padding: 0 4px 1px; + margin: -2px 0 0; + font-size: 16px; + border-radius: 0; + min-width: 80px !important; +} + +input[type="submit"].inputStyling:hover, +input[type="button"].inputStyling:hover, +input[type="reset"].inputStyling:hover { + box-shadow: inset #222 0 0 3px; + text-shadow: #F1F1F1 0 0 5px; +} + +input[type="submit"].inputStyling:active, +input[type="button"].inputStyling:active, +input[type="reset"].inputStyling:active { + box-shadow: inset #222 0 0 5px; + text-shadow: #F1F1F1 0 0 3px; + transition: text-shadow .2s, box-shadow .2s; +} + +input[type="text"].inputStyling, +input[type="password"].inputStyling , +input[type="date"].inputStyling { + padding: 3px 4px; + border: 1px solid #CCC; + box-shadow: inset #DDD 0 0 5px; + background: linear-gradient(180deg, #FFF 0%, #EEE 50%, #E5E5E5 50%) #FFF; +} + +input[type="text"].inputStyling.red, +input[type="password"].inputStyling.red, +input[type="date"].inputStyling.red { + box-shadow: inset 0px 0px 7px #EB5959; +} + +input[type="text"].inputStyling.green, +input[type="password"].inputStyling.green, +input[type="date"].inputStyling.green { + box-shadow: inset 0px 0px 7px #A9EC8B; +} + +textarea.inputStyling { + padding: 3px 4px; + border: 1px solid #CCC; + box-shadow: inset #DDD 0 0 5px; + background: linear-gradient(180deg, #FFF 0%, #EEE 50%, #E5E5E5 50%) #FFF; +} + +/* + * Forum Styling + */ +.forum .forumList { + width: 100%; + border-spacing: 0; + margin-top: 2px; +} + +.forum .forumList .forumCategory { + background: #C2AFFE; + font-weight: 700; + font-size: 17px; + color: inherit; + text-decoration: none; +} + +.forum .forumList .forumCategory .forumCategoryTitleColumn { + padding: 4px; +} + +.forum .forumList .forumForum { + height: 50px; +} + +.forum .forumList .forumForum .forumIconColumn { + text-align: center; + width: 50px; +} + +.forum .forumList .forumForum .forumIconColumn .forumIcon.read { + color: #444; + text-shadow: 0 0 5px #444; +} + +.forum .forumList .forumForum .forumIconColumn .forumIcon.unread { + color: #6C5D7B; + text-shadow: 0 0 5px #9475B2; +} + +.forum .forumList .forumForum .forumTitleColumn .name { + font-size: 1.2em; + line-height: 1.7em; +} + +.forum .forumList .forumForum .forumTitleColumn .desc { + font-size: .8em; + line-height: 1em; +} + +.forum .forumList .forumForum .forumCountColumn { + width: 70px; + text-align: center; +} + +.forum .forumList .forumForum .forumCountColumn .topics { + font-size: 1.5em; + color: #111; +} + +.forum .forumList .forumForum .forumCountColumn .posts { + font-size: .8em; + line-height: 1.2em; + color: #555; +} + +.forum .forumList .forumForum .forumLastColumn { + width: 250px; + font-size: .9em; + line-height: 1.4em; +} + +.forum .forumList .forumForum .forumLastColumn div, +.forum .forumList .forumForum .forumTitleColumn div { + padding-left: 5px; +} diff --git a/content/images/backgrounds/.htaccess b/content/images/backgrounds/.htaccess deleted file mode 100644 index 233bcf4..0000000 --- a/content/images/backgrounds/.htaccess +++ /dev/null @@ -1 +0,0 @@ -# Profile background directory diff --git a/content/images/triangles.png b/content/images/triangles.png new file mode 100644 index 0000000..8bbf76d Binary files /dev/null and b/content/images/triangles.png differ diff --git a/content/images/avatars/.htaccess b/content/images/user/.htaccess similarity index 100% rename from content/images/avatars/.htaccess rename to content/images/user/.htaccess diff --git a/main/.htaccess b/main/.htaccess index 09d7a92..4aa4dd7 100644 --- a/main/.htaccess +++ b/main/.htaccess @@ -54,6 +54,11 @@ RewriteRule ^members/([a-z]+)/([0-9]+)/p([0-9]+)/?$ members.php?sort=$1&rank=$2& RewriteRule ^u/?$ profile.php RewriteRule ^u/([A-Za-z0-9_-\s\.]+)/?$ profile.php?u=$1 RewriteRule ^u/([A-Za-z0-9_-\s\.]+)/api/?$ profile.php?data +RewriteRule ^u/([A-Za-z0-9_-\s\.]+)/header/?$ imageserve.php?m=header&u=$1 +RewriteRule ^u/([A-Za-z0-9_-\s\.]+)/groups/?$ profile.php?u=$1&view=groups +RewriteRule ^u/([A-Za-z0-9_-\s\.]+)/friends/?$ profile.php?u=$1$view=friends +RewriteRule ^u/([A-Za-z0-9_-\s\.]+)/threads/?$ profile.php?u=$1$view=threads +RewriteRule ^u/([A-Za-z0-9_-\s\.]+)/posts/?$ profile.php?u=$1$view=posts # Serving Images RewriteRule ^a/([0-9]+)$|a/([0-9]+).png$ imageserve.php?m=avatar&u=$1 diff --git a/main/authenticate.php b/main/authenticate.php index 71f45f9..924f3d1 100644 --- a/main/authenticate.php +++ b/main/authenticate.php @@ -95,7 +95,7 @@ if(isset($_REQUEST['mode'])) { $messages = [ 'USER_NOT_LOGIN' => 'What are you doing, you\'re not even logged in. GO AWAY!', '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 change your password.', 'NO_LOGIN' => 'Logging into this account is disabled.', 'PASS_TOO_SHIT' => 'Your password is too weak, try adding some special characters.', 'PASS_NOT_MATCH' => 'Passwords do not match.', @@ -198,7 +198,7 @@ if(isset($_REQUEST['mode'])) { 'AUTH_LOCKED' => 'Authentication is currently not allowed, try again later.', 'USER_NOT_EXIST' => 'The user you tried to log into does not exist.', 'INCORRECT_PASSWORD' => 'The password you entered was invalid.', - 'DEACTIVATED' => 'Your account is deactivated.', + 'NOT_ALLOWED' => 'Your account does not have the required permissions to log in.', 'NO_LOGIN' => 'Logging into this account is disabled.', 'LEGACY_SUCCESS' => 'Login successful! Taking you to the password changing page...', 'LOGIN_SUCESS' => 'Login successful!' @@ -274,7 +274,7 @@ if(isset($_REQUEST['mode'])) { $messages = [ 'AUTH_LOCKED' => 'Authentication is currently not allowed, try again later.', 'USER_NOT_EXIST' => 'The requested user does not exist (confirm the username/email combination).', - 'DEACTIVATED' => 'Your account is deactivated.', + '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.' ]; diff --git a/main/imageserve.php b/main/imageserve.php index 0b4828f..47bc28a 100644 --- a/main/imageserve.php +++ b/main/imageserve.php @@ -12,6 +12,9 @@ require_once str_replace(basename(__DIR__), '', dirname(__FILE__)) .'_sakura/sak // Set Content type header('Content-Type: application/octet-stream'); +// Path to user uploads +$userDirPath = ROOT .'content/images/user/'; + // Check if the m(ode) GET request is set if(isset($_GET['m'])) { @@ -22,7 +25,6 @@ if(isset($_GET['m'])) { $noAvatar = ROOT .'content/images/no-av.png'; $deactiveAvatar = ROOT .'content/images/deactivated-av.png'; $bannedAvatar = ROOT .'content/images/banned-av.png'; - $avatarDirPath = ROOT .'content/images/avatars/'; // If ?u= isn't set or if it isn't numeric if(!isset($_GET['u']) || !is_numeric($_GET['u'])) { @@ -32,6 +34,7 @@ if(isset($_GET['m'])) { // Get user data $user = Users::getUser($_GET['u']); + $data = Users::getUserProfileData($user, true); // If user is deactivated use deactive avatar if(Users::checkIfUserHasRanks([0, 1], $user, true)) { @@ -46,19 +49,18 @@ if(isset($_GET['m'])) { } // Check if user has an avatar set - if(empty($user['avatar_url']) || !file_exists($avatarDirPath . $user['avatar_url'])) { + if(empty($data['userAvatar']) || !file_exists($userDirPath . $data['userAvatar'])) { $serveImage = $noAvatar; break; } // Check if the avatar exist and assign it to a value - $serveImage = $avatarDirPath . $user['avatar_url']; + $serveImage = $userDirPath . $data['userAvatar']; break; case 'background': // Set paths - $noBackground = ROOT .'content/pixel.png'; - $bgDirPath = ROOT .'content/images/backgrounds/'; + $noBackground = ROOT .'content/pixel.png'; // If ?u= isn't set or if it isn't numeric if(!isset($_GET['u']) || !is_numeric($_GET['u'])) { @@ -68,15 +70,64 @@ if(isset($_GET['m'])) { // Get user data $user = Users::getUser($_GET['u']); + $data = Users::getUserProfileData($user, true); - // Check if user has an avatar set - if(empty($user['background_url']) || !file_exists($bgDirPath . $user['background_url'])) { - $serveImage = $noAvatar; + // If user is deactivated use deactive avatar + if(Users::checkIfUserHasRanks([0, 1], $user, true)) { + $serveImage = $noBackground; + break; + } + + // Check if user is banned + if(false) { // [Flashwave 2015-04-27] Banning isn't implemented yet + $serveImage = $noBackground; + break; + } + + // Check if user has a background set + if(empty($data['profileBackground']) || !file_exists($userDirPath . $data['profileBackground'])) { + $serveImage = $noBackground; break; } // Check if the avatar exist and assign it to a value - $serveImage = $bgDirPath . $user['background_url']; + $serveImage = $userDirPath . $data['profileBackground']; + break; + + case 'header': + // Set paths + $noHeader = ROOT .'content/images/triangles.png'; + + // If ?u= isn't set or if it isn't numeric + if(!isset($_GET['u']) || !is_numeric($_GET['u'])) { + $serveImage = $noHeader; + break; + } + + // Get user data + $user = Users::getUser($_GET['u']); + $data = Users::getUserProfileData($user, true); + + // If user is deactivated use deactive avatar + if(Users::checkIfUserHasRanks([0, 1], $user, true)) { + $serveImage = $noHeader; + break; + } + + // Check if user is banned + if(false) { // [Flashwave 2015-04-27] Banning isn't implemented yet + $serveImage = $noHeader; + break; + } + + // Check if user has a background set + if(empty($data['profileHeader']) || !file_exists($userDirPath . $data['profileHeader'])) { + $serveImage = $noHeader; + break; + } + + // Check if the avatar exist and assign it to a value + $serveImage = $userDirPath . $data['profileHeader']; break; default: diff --git a/main/index.php b/main/index.php index feeff1a..2daac7e 100644 --- a/main/index.php +++ b/main/index.php @@ -8,7 +8,7 @@ namespace Sakura; // Include components require_once str_replace(basename(__DIR__), '', dirname(__FILE__)) .'_sakura/sakura.php'; - +//print Permissions::check('SITE', 'USE_CHAT', Session::$userId, 1); // Add page specific things $renderData['newsPosts'] = Main::getNewsPosts(3); $renderData['page'] = [ diff --git a/main/members.php b/main/members.php index cd3a4c5..d7c2a5e 100644 --- a/main/members.php +++ b/main/members.php @@ -19,7 +19,7 @@ $renderData['page'] = [ '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) : Users::getAllUsers(), 30, true) + 'users' => array_chunk($_MEMBERLIST_ACTIVE && !$_MEMBERLIST_NFOUND ? Users::getUsersInRank($_MEMBERLIST_ACTIVE, null, true, true) : Users::getAllUsers(), 30, true) ]; diff --git a/main/profile.php b/main/profile.php index 647e58f..23eb9bd 100644 --- a/main/profile.php +++ b/main/profile.php @@ -25,22 +25,23 @@ if(isset($_REQUEST['data'])) { if(isset($_GET['u'])) { $renderData['profile'] = [ - 'notset' => false, - 'user' => ($_PROFILE_USER_DATA = Users::getUser(($_USER_USERNAME_ID = Users::userExists($_GET['u'], false)) ? $_USER_USERNAME_ID : $_GET['u'])), - 'rank' => ($_PROFILE_RANK_DATA = Users::getRank($_PROFILE_USER_DATA['rank_main'])), - 'colour' => ($_PROFILE_USER_DATA['name_colour'] == null ? $_PROFILE_RANK_DATA['colour'] : $_PROFILE_USER_DATA['name_colour']), - 'ranktitle' => ($_PROFILE_USER_DATA['usertitle'] == null ? $_PROFILE_RANK_DATA['title'] : $_PROFILE_USER_DATA['usertitle']), - 'country' => Main::getCountryName($_PROFILE_USER_DATA['country']), - 'istenshi' => Users::checkUserTenshi($_PROFILE_USER_DATA['id']), - 'online' => Users::checkUserOnline($_PROFILE_USER_DATA['id']), - 'profpage' => Main::mdParse(base64_decode($_PROFILE_USER_DATA['profile_md'])), - 'data' => Users::getUserProfileData($_PROFILE_USER_DATA['id']), - 'warnings' => Users::getWarnings($_PROFILE_USER_DATA['id']) + 'notset' => false, + 'user' => ($_PROFILE_USER_DATA = Users::getUser(($_USER_USERNAME_ID = Users::userExists($_GET['u'], false)) ? $_USER_USERNAME_ID : $_GET['u'])), + 'rank' => ($_PROFILE_RANK_DATA = Users::getRank($_PROFILE_USER_DATA['rank_main'])), + 'colour' => ($_PROFILE_USER_DATA['name_colour'] == null ? $_PROFILE_RANK_DATA['colour'] : $_PROFILE_USER_DATA['name_colour']), + 'ranktitle' => ($_PROFILE_USER_DATA['usertitle'] == null ? $_PROFILE_RANK_DATA['title'] : $_PROFILE_USER_DATA['usertitle']), + 'data' => ($_PROFILE_PROFILE_DATA = Users::getUserProfileData($_PROFILE_USER_DATA, true)), + 'country' => Main::getCountryName($_PROFILE_USER_DATA['country']), + 'istenshi' => Users::checkUserTenshi($_PROFILE_USER_DATA['id']), + 'online' => Users::checkUserOnline($_PROFILE_USER_DATA['id']), + 'profilePage' => Users::getProfilePage($_PROFILE_PROFILE_DATA, true), + 'fields' => Users::getUserProfileFields($_PROFILE_PROFILE_DATA, true), + 'warnings' => Users::getWarnings($_PROFILE_USER_DATA['id']) ]; $renderData['page'] = [ 'title' => ($_PROFILE_USER_DATA['id'] < 1 || $_PROFILE_USER_DATA['password_algo'] == 'nologin' ? 'User not found!' : 'Profile of '. $_PROFILE_USER_DATA['username']), - 'style' => ($_PROFILE_USER_DATA['background_url'] ? [ + 'style' => (!empty($_PROFILE_PROFILE_DATA['profileBackground']) ? [ '#userBackground' => [ 'background' => 'url("/bg/'. $_PROFILE_USER_DATA['id'] .'") no-repeat center center / cover transparent !important', 'position' => 'fixed', @@ -49,9 +50,6 @@ if(isset($_GET['u'])) { 'right' => '0', 'left' => '0', 'z-index' => '-1' - ], - '.profile' => [ - 'background' => 'rgba(211, 191, 255, .8) !important' ] ] : null) ];