diff --git a/design/privatefooter.php b/design/privatefooter.php new file mode 100755 index 0000000..7d65d50 --- /dev/null +++ b/design/privatefooter.php @@ -0,0 +1,75 @@ + + + + + +
+perf_table(); +$Debug->flag_table(); +$Debug->error_table(); +$Debug->sphinx_table(); +$Debug->query_table(); +$Debug->cache_table(); +$Debug->vars_table(); +$Debug->ocelot_table(); +?> +
+ + + + + + + + +
+
+
+
+
+
+ + diff --git a/design/privateheader.php b/design/privateheader.php new file mode 100755 index 0000000..b99fdab --- /dev/null +++ b/design/privateheader.php @@ -0,0 +1,613 @@ + + + + + <?=display_str($PageTitle)?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + " /> + + + + + + +get_notifications(); +$UseNoty = $NotificationsManager->use_noty(); +$NewSubscriptions = false; +$NotificationSpans = array(); +foreach ($Notifications as $Type => $Notification) { + if ($Type === NotificationsManager::SUBSCRIPTIONS) { + $NewSubscriptions = true; + } + if ($UseNoty) { + $NotificationSpans[] = "$Notification[message]"; + } +} +if ($UseNoty && !empty($NotificationSpans)) { + NotificationsManagerView::load_js(); +} +if ($NotificationsManager->is_skipped(NotificationsManager::SUBSCRIPTIONS)) { + $NewSubscriptions = Subscriptions::has_new_subscriptions(); +} +?> + + +
+

+ +get_value('staff_blog_read_'.G::$LoggedUser['ID'])) === false) { + G::$DB->query(" + SELECT Time + FROM staff_blog_visits + WHERE UserID = ".G::$LoggedUser['ID']); + if (list($SBlogReadTime) = G::$DB->next_record()) { + $SBlogReadTime = strtotime($SBlogReadTime); + } else { + $SBlogReadTime = 0; + } + G::$Cache->cache_value('staff_blog_read_'.G::$LoggedUser['ID'], $SBlogReadTime, 1209600); + } + if (!$LatestSBlogTime && ($LatestSBlogTime = G::$Cache->get_value('staff_blog_latest_time')) === false) { + G::$DB->query(" + SELECT MAX(Time) + FROM staff_blog"); + list($LatestSBlogTime) = G::$DB->next_record(); + if ($LatestSBlogTime) { + $LatestSBlogTime = strtotime($LatestSBlogTime); + } else { + $LatestSBlogTime = 0; + } + G::$Cache->cache_value('staff_blog_latest_time', $LatestSBlogTime, 1209600); + } + if ($SBlogReadTime < $LatestSBlogTime) { + $Alerts[] = 'New staff blog post!'; + } +} + +// Inbox +if ($NotificationsManager->is_traditional(NotificationsManager::INBOX)) { + $NotificationsManager->load_inbox(); + $NewMessages = $NotificationsManager->get_notifications(); + if (isset($NewMessages[NotificationsManager::INBOX])) { + $Alerts[] = NotificationsManagerView::format_traditional($NewMessages[NotificationsManager::INBOX]); + } + $NotificationsManager->clear_notifications_array(); +} + +if (G::$LoggedUser['RatioWatch']) { + $Alerts[] = 'Ratio Watch: You have '.time_diff(G::$LoggedUser['RatioWatchEnds'], 3).' to get your ratio over your required ratio or your leeching abilities will be disabled.'; +} elseif (G::$LoggedUser['CanLeech'] != 1) { + $Alerts[] = 'Ratio Watch: Your downloading privileges are disabled until you meet your required ratio.'; +} + +// Torrents +if ($NotificationsManager->is_traditional(NotificationsManager::TORRENTS)) { + $NotificationsManager->load_torrent_notifications(); + $NewTorrents = $NotificationsManager->get_notifications(); + if (isset($NewTorrents[NotificationsManager::TORRENTS])) { + $Alerts[] = NotificationsManagerView::format_traditional($NewTorrents[NotificationsManager::TORRENTS]); + } + $NotificationsManager->clear_notifications_array(); +} + +if (check_perms('users_mod')) { + $ModBar[] = 'Toolbox'; +} +if (check_perms('users_mod')) { + $NumStaffPMs = G::$Cache->get_value('num_staff_pms_'.G::$LoggedUser['ID']); + if ($NumStaffPMs === false) { + if (check_perms('users_mod')) { + + $LevelCap = 1000; + + G::$DB->query(" + SELECT COUNT(ID) + FROM staff_pm_conversations + WHERE Status = 'Unanswered' + AND (AssignedToUser = ".G::$LoggedUser['ID']." + OR (LEAST('$LevelCap', Level) <= '".G::$LoggedUser['EffectiveClass']."' + AND Level <= ".G::$LoggedUser['Class']."))"); + } + if (G::$LoggedUser['PermissionID'] == FORUM_MOD) { + G::$DB->query(" + SELECT COUNT(ID) + FROM staff_pm_conversations + WHERE Status='Unanswered' + AND (AssignedToUser = ".G::$LoggedUser['ID']." + OR Level = '". $Classes[FORUM_MOD]['Level'] . "')"); + } + list($NumStaffPMs) = G::$DB->next_record(); + G::$Cache->cache_value('num_staff_pms_'.G::$LoggedUser['ID'], $NumStaffPMs , 1000); + } + + if ($NumStaffPMs > 0) { + $ModBar[] = ''.$NumStaffPMs.' Staff PMs'; + } +} +if (check_perms('admin_reports')) { +// Torrent reports code + $NumTorrentReports = G::$Cache->get_value('num_torrent_reportsv2'); + if ($NumTorrentReports === false) { + G::$DB->query(" + SELECT COUNT(ID) + FROM reportsv2 + WHERE Status = 'New'"); + list($NumTorrentReports) = G::$DB->next_record(); + G::$Cache->cache_value('num_torrent_reportsv2', $NumTorrentReports, 0); + } + + $ModBar[] = ''.$NumTorrentReports.(($NumTorrentReports == 1) ? ' Report' : ' Reports').''; + +// Other reports code + $NumOtherReports = G::$Cache->get_value('num_other_reports'); + if ($NumOtherReports === false) { + G::$DB->query(" + SELECT COUNT(ID) + FROM reports + WHERE Status = 'New'"); + list($NumOtherReports) = G::$DB->next_record(); + G::$Cache->cache_value('num_other_reports', $NumOtherReports, 0); + } + + if ($NumOtherReports > 0) { + $ModBar[] = ''.$NumOtherReports.(($NumTorrentReports == 1) ? ' Other report' : ' Other reports').''; + } +} elseif (check_perms('project_team')) { + $NumUpdateReports = G::$Cache->get_value('num_update_reports'); + if ($NumUpdateReports === false) { + G::$DB->query(" + SELECT COUNT(ID) + FROM reports + WHERE Status = 'New' + AND Type = 'request_update'"); + list($NumUpdateReports) = G::$DB->next_record(); + G::$Cache->cache_value('num_update_reports', $NumUpdateReports, 0); + } + + if ($NumUpdateReports > 0) { + $ModBar[] = 'Request update reports'; + } +} elseif (check_perms('site_moderate_forums')) { + $NumForumReports = G::$Cache->get_value('num_forum_reports'); + if ($NumForumReports === false) { + G::$DB->query(" + SELECT COUNT(ID) + FROM reports + WHERE Status = 'New' + AND Type IN('artist_comment', 'collages_comment', 'post', 'requests_comment', 'thread', 'torrents_comment')"); + list($NumForumReports) = G::$DB->next_record(); + G::$Cache->cache_value('num_forum_reports', $NumForumReports, 0); + } + + if ($NumForumReports > 0) { + $ModBar[] = ''.$NumForumReports.(($NumForumReports == 1) ? ' Forum report' : ' Forum reports').''; + } +} + +if (check_perms('users_mod')) { + $NumEmailDeleteRequests = G::$Cache->get_value('num_email_delete_requests'); + if ($NumEmailDeleteRequests === false) { + G::$DB->query("SELECT COUNT(*) FROM email_delete_requests"); + list($NumEmailDeleteRequests) = G::$DB->next_record(); + G::$Cache->cache_value('num_email_delete_request', $NumEmailDeleteRequests); + } + if ($NumEmailDeleteRequests > 0) { + $ModBar[] = '' . $NumEmailDeleteRequests . " Email deletion request(s)"; + } +} + +if (check_perms('users_mod') && FEATURE_EMAIL_REENABLE) { + $NumEnableRequests = G::$Cache->get_value(AutoEnable::CACHE_KEY_NAME); + if ($NumEnableRequests === false) { + G::$DB->query("SELECT COUNT(1) FROM users_enable_requests WHERE Outcome IS NULL"); + list($NumEnableRequests) = G::$DB->next_record(); + G::$Cache->cache_value(AutoEnable::CACHE_KEY_NAME, $NumEnableRequests); + } + + if ($NumEnableRequests > 0) { + $ModBar[] = '' . $NumEnableRequests . " Enable requests"; + } +} + +if (!empty($Alerts) || !empty($ModBar)) { ?> +
+ +
+ +
+ +
+ +
+ Warning: no DB key +
+ +
+ + +
diff --git a/design/publicfooter.php b/design/publicfooter.php new file mode 100755 index 0000000..e102712 --- /dev/null +++ b/design/publicfooter.php @@ -0,0 +1,9 @@ + + + +
+ + + diff --git a/design/publicheader.php b/design/publicheader.php new file mode 100755 index 0000000..fed0c73 --- /dev/null +++ b/design/publicheader.php @@ -0,0 +1,37 @@ + + + + + <?=display_str($PageTitle)?> + + + + + + + + + + + + + + +
+ + +
+ + 'Post reply', + 'InputName' => 'thread', + 'InputID' => $ThreadID, + 'ForumID' => $ForumID, + 'TextareaCols' => 90 + )); + + * Note that InputName and InputID are the only required variables + * They're used to construct the $_POST. + * + * Eg + * + * + * + * Globals are required as this template is included within a + * function scope. + * + * To add a "Subscribe" box for non-forum pages (like artist/collage/... + * comments), add a key 'SubscribeBox' to the array passed to View::parse. + * Example: + + View::parse('generic/reply/quickreply.php', array( + 'InputTitle' => 'Post comment', + 'InputName' => 'groupid', + 'InputID' => $GroupID, + 'TextareaCols' => 65, + 'SubscribeBox' => true + )); + */ + global $HeavyInfo, $UserSubscriptions, $ThreadInfo, $ForumsDoublePost, $Document; + + if (G::$LoggedUser['DisablePosting']) { + return; + } + if (!isset($TextareaCols)) { + $TextareaCols = 70; + } + if (!isset($TextareaRows)) { + $TextareaRows = 8; + } + if (!isset($InputAction)) { + $InputAction = 'reply'; + } + if (!isset($InputTitle)) { + $InputTitle = 'Post comment'; + } + if (!isset($Action)) { + $Action = ''; + } + + // TODO: Remove inline styles + + // Old to do? + // TODO: Preview, come up with a standard, make it look like post or just a + // block of formatted BBcode, but decide and write some proper XHTML + + + $ReplyText = new TEXTAREA_PREVIEW('body', 'quickpost', '', + $TextareaCols, $TextareaRows, false, false, true, array( + 'tabindex="1"', + 'onkeyup="resize(\'quickpost\')"' + )); +?> + +
+
+

+
+ + + + + + + + + + + + + + + + + +
onsubmit="quickpostform.submit_button.disabled = true;"> + + + +
+getBuffer(); +?> +
+
+
+ + tabindex="2" /> + + + tabindex="2" /> + + + + + + + + + +
+
+
+
diff --git a/design/views/generic/reply/staffpm.php b/design/views/generic/reply/staffpm.php new file mode 100755 index 0000000..0d3cb5a --- /dev/null +++ b/design/views/generic/reply/staffpm.php @@ -0,0 +1,27 @@ +
+
+ +

+ +
+ +

+ +
+ + Send to: + + + + + +
+
diff --git a/design/views/generic/textarea/buttons.phtml b/design/views/generic/textarea/buttons.phtml new file mode 100755 index 0000000..6e06ff0 --- /dev/null +++ b/design/views/generic/textarea/buttons.phtml @@ -0,0 +1,3 @@ +
+ +
diff --git a/design/views/generic/textarea/preview.phtml b/design/views/generic/textarea/preview.phtml new file mode 100755 index 0000000..2ba5e70 --- /dev/null +++ b/design/views/generic/textarea/preview.phtml @@ -0,0 +1,4 @@ + + diff --git a/design/views/generic/textarea/script.phtml b/design/views/generic/textarea/script.phtml new file mode 100755 index 0000000..f813d71 --- /dev/null +++ b/design/views/generic/textarea/script.phtml @@ -0,0 +1 @@ + diff --git a/design/views/generic/textarea/script_factory.phtml b/design/views/generic/textarea/script_factory.phtml new file mode 100755 index 0000000..5bcea06 --- /dev/null +++ b/design/views/generic/textarea/script_factory.phtml @@ -0,0 +1,4 @@ + + diff --git a/design/views/generic/textarea/textarea.phtml b/design/views/generic/textarea/textarea.phtml new file mode 100755 index 0000000..cdd938f --- /dev/null +++ b/design/views/generic/textarea/textarea.phtml @@ -0,0 +1,4 @@ + +
+ +
diff --git a/static/styles/global.css b/static/styles/global.css new file mode 100755 index 0000000..39321de --- /dev/null +++ b/static/styles/global.css @@ -0,0 +1,850 @@ +.box h3 { + font-size: 140%; +} +.box h4 { + font-size: 130%; +} +.box h5 { + font-size: 120%; +} +.box h6 { + font-size: 110%; +} + +.box_addartists .add_form { + display: flex; +} +.box_addartists .add_form #AddArtists { + flex-grow: 1; +} +.box_addartists .add_form #AddArtists #artist{ + box-sizing: border-box; + width: 100%; +} + +h2 .group_cat { + height: 16px; + width: 16px; + margin: 0 8px; + display: inline-block; + background-size: 16px 16px; +} + +pre br { + line-height: 0px; + display: none; +} + +.center { + text-align: center; +} + +.collage_images { + padding: 0px; + width: 100%; + border-collapse: collapse; + font-size: 0; +} + +.collage_images { + display: table; +} + +ul.collage_images li { + border: none; + float: left; + margin: 0; +/* width: 118px; + height: 118px; + width: 146px; */ + width: 146px; + list-style: none; + list-style-type: none; +} + +ul.collage_images li a { + display: block; +/* height: 118px; */ + width: 100%; + overflow: hidden; +} + +ul.collage_images img { +/* height: 118px; + width: 118px; */ +} + +div.collage_image { + width: 20%; +} + +.selected a { + font-weight: bold; + text-decoration: underline; +} + +.invisible { + visibility: hidden; +} + +.collage td { + padding: 0px; + border: none; +} + +.line_new { + color: green; +} + +.line_deleted { + color: red; +} + +.line_moved { + color: blue; +} + +.line_unchanged { + +} + +.log1 { + +} + +.log2 { + color: yellow; +} + +.log3 { + color: #0E88C6; +} + +.log4 { + font-weight: bold; +} + +.log5 { + text-decoration: underline; +} + +.good { + font-weight: bold; + color: green; +} + +.bad { + font-weight: bold; + color: red; +} + +.goodish { + font-weight: bold; + color: #35BF00; +} + +.badish { + font-weight: bold; + color: #E5B244; +} + +pre { + overflow: auto; +} + +.hidden { + display: none; +} + +.disable_grouping { + display: none; +} + +form textarea, form input { + max-width: 100%; +} + +textarea { + width: 100%; + box-sizing: border-box; +} + +a.beta { + font-weight: bold; + color: #ff0000; +} + +strong.important_text { + color: red; + font-weight: bold; +} + +strong.important_text_alt { + color: green; + font-weight: bold; +} + +.invalid, .warning, .error, .new { + color: #ff0000; +} + +/* Make [+] on add multiple artists stay at the bottom (on torrent details page) */ +div#AddArtists { + position: relative; + display: inline-block; +} + +div#AddArtists a { + position: absolute; + right: 0pt; + bottom: 0pt; +} + +.clear:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +.new-subscriptions { + font-weight: bold; +} + +#forums #quickpost { + width: 95% +} + +.rippywrap { + z-index: 25; + display: block; + position: fixed; + color: black; + text-align: center; + width: 190px; + height: 180px; + bottom: 0px; + right: 0px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.rippywrap div.rippy { + z-index: 25; + height: 111px; + width: 190px; + position: fixed; + bottom: 0px; + right: 0px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + + +td.label { + vertical-align: top; +} + +span.rbt { + display: block; + padding: 8px 0 0; + background: url('../rippy/rippy_top.gif') no-repeat top; +} + +span.rbm { + display: block; + background: url('../rippy/rippy_middle.gif') repeat bottom; + padding: 0 5px; +} + +span.rbb { + display: block; + padding: 4px 0px 18px; + margin-bottom: 5px; + background: url('../rippy/rippy_bottom.gif') no-repeat bottom; +} + +span.secondary_class { + font-size: 85%; + font-weight: bold; +} + +.breadcrumbs { + font-weight: bold; + text-align: right; +} + +.paranoia_override { + font-style: italic; +} + +#manage_collage_table.ui-sortable .drag { + cursor: n-resize; +} + +#manage_collage_table.ui-sortable .ui-sortable-helper.drag { + cursor: grabbing; + cursor: -moz-grabbing; + cursor: -webkit-grabbing; +} + +#manage_collage_table .ui-sortable-helper td, #manage_collage_table .ui-sortable-placeholder { + border: 0; +} + +.drag_drop_save { + padding: 6px 0; + overflow: hidden; +} + +.headerSort { + cursor: pointer; +} + +.headerSort span { + background: url("../common/table-order.png") no-repeat scroll right -38px transparent; + padding: 0px 20px 0 0; +} + +.headerSortDown span { + background: url("../common/table-order.png") no-repeat scroll right 4px transparent; +} + +.headerSortUp span { + background: url("../common/table-order.png") no-repeat scroll right -79px transparent; +} + +.headerSort.sorter-false, +.headerSort.sorter-false span { + background-image: none; + cursor: default; +} + +.album_votes { + text-align: center; +} + +.favoritecount { + font-size: 150%; + font-weight: bold; +} + +.favoritecount_small { + font-size: 110%; + font-weight: bold; +} + +ul.votedalbums li { + list-style: none; + list-style-type: none; + margin: 0; +} + +tr.torrent .bookmark>a:before { + text-decoration: none; + font-weight: normal; +} + +tr.torrent .bookmark>a:after { + text-decoration: none; + font-weight: normal; +} + +#sortable { + list-style-type: none; + margin: 0; + padding: 0; + width: 50%; +} + +#sortable li { + padding: 0px; + font-size: 1.2em; + height: 1.5em; +} + + +.ui-state-highlight { + background: #007DC6 /*{bgColorHighlight}*/; + opacity: 0.15; + width: 50%; + +} + +.navigation_list, .navigation_list ol { + list-style-position: inside; + margin-top: 10px; + margin-bottom: 20px; +} + +.navigation_list > li { + list-style-type: upper-roman !important; +} + +.navigation_list li li { + list-style-type: decimal; +} + +.navigation_list li li li { + list-style-type: lower-roman; +} + +.navigation_list li li li li { + list-style-type: lower-alpha; +} + +.voted_type { + font-weight: bold; +} + +.torrent_table .group .votes_info_td strong { + font-size: inherit; +} + +.invite_table td { + min-width: 55px; +} + +.preview_wrap { + text-align: left; +} + +.text_preview { + min-height: 100px +} + +.brackets { + text-indent: 0px; + white-space: nowrap; + cursor: pointer; +} + +.votespan.brackets:before { + content: "( "; +} + +.votespan.brackets:after { + content: " )"; +} + +.brackets:before { + content: "["; +} + +.brackets:after { + content: "]"; +} + +#userinfo .brackets:before, #userinfo .brackets:after { + content: ""; +} +.group_image { + overflow: hidden; +} +.float_left { + float: left; +} +.float_right { + float: right; +} +.float_clear { + clear: both; +} +.group_image + .group_info { + margin-left: 100px; +} + +.group_image img { + cursor: pointer; +} + +.user_title { + font-weight: normal; +} + +/* + * Fix long filename tables overflowing (Chrome only). + * Stop various release page containers from overflowing with long input. + * !! Be sure to test all major browsers before changing this section. !! + * Fix report information tables overflowing long reports (all browsers). + * Fix long release descriptions overflowing containers (all browsers). + * Fix flowing issues in the report resolving pages. + */ +.wrap_overflow, .filelist_table td, .reportinfo_table, .torrentdetails blockquote { + word-break: normal; + -ms-word-wrap: break-word; + word-wrap: break-word; + -webkit-hyphens: auto; + -moz-hyphens: auto; + -ms-hyphens: auto; + hyphens: auto; + /* Note that IE will have different behavior on word-break, + * but this is required to keep the layout from breaking. */ + -ms-word-break: break-all; +} +/* Non-web-standard for webkit */ +.torrentdetails blockquote { + word-break: break-word; +} +/* Fix long filename tables overflowing (Chrome only). */ +.filelist_table td:first-child { + word-break: break-all; +} +/* Fix long overflow for Opera (doesn't support word-break). */ +.reportinfo_table { + table-layout: fixed; +} +/* Wrap release info for consistent DOM and to limit table expansion. */ +.no_overflow { + width: 100%; + overflow: hidden; +} +/* Stylesheet gallery in user profile editing */ +#css_gallery { + display: none; + overflow: hidden; + margin-top: 10px; +} +.preview_wrapper { + position: relative; + display: inline-block; + width: 29%; + height: 120px; + margin: 0 10px; +} +.preview_image { + display: block; + height: 80px; + cursor: pointer; + overflow: hidden; +} +.preview_image img { + width: 100%; +} +.preview_name { + text-align: center; + margin-top: 5px; +} + +.option_group { + margin-bottom: 10px; +} +.option_group:last-child { + margin-bottom: 0px; +} + +.autocomplete-suggestions { + color: #000; + margin-top: 5px; + border: 1px solid #999; + background: #FFF; + overflow: auto; +} +.autocomplete-suggestion { + padding: 2px 5px; + white-space: nowrap; + overflow: hidden; + cursor: pointer; +} +.autocomplete-selected { + background: #F0F0F0; +} +.autocomplete-suggestions strong { + font-weight: normal; + color: #3399FF; +} + +.process_info { + table-layout: fixed; + width: 100%; +} +.process_info_pid { + width: 70px; +} +.process_info_data { + overflow: auto; +} + +.setting_description > * { + margin: 1em 0 0 0; +} + +.settings_sidebar { + min-height: 385px; +} + +#settings_sections { + position: absolute; +} + +#settings_sections.fixed { + position: fixed; + top: 0px; +} + +#settings_sections #submit, #settings_sections #settings_search { + box-sizing: border-box; + -moz-box-sizing: border-box; + width: 100%; +} + +#settings_sections h2 { + text-align: left; +} + +.donor_icon { + margin-left: 2px; + margin-right: 2px; + max-width: 16px; + max-height: 16px; + position: relative; + top: 2px; +} + +.badge_icon { + margin: 0px 2px; + position: relative; + top: 2px; +} + +.donation_info { + padding: 10px 10px 10px 20px; + margin-left: 10px; + margin-right: 10px; + margin-bottom: 20px; +} + +.donation_info_title { + display: block; + font-size: 1.75em; + -webkit-margin-before: 1em; + -webkit-margin-after: 1em; + -webkit-margin-start: 0px; + -webkit-margin-end: 0px; + font-weight: bold; + margin: 10px 0; +} + +.number_column { + text-align: right; +} + +.wide_input_text { + width: 95%; +} + +.top_artist_list li { + margin-left: 25px; + margin-bottom: 5px; + list-style-type: decimal; + font-size: 150%; +} + +.permission_subcontainer { + margin-bottom: 10px; +} + +.vote_tag_up, .vote_artist_up, .vote_album_up { + font-weight: bolder; +} + +.vote_tag_down, .vote_artist_down, .vote_album_down { + font-weight: bolder; +} + +.noborder { + border: none; +} + +.two_columns { + float: left; + width: 50%; + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} + +.field_div { + margin-bottom: 10px; +} + +.field_div:last-of-type { + margin-bottom: 0; +} + +.field_div .label, +.submit_div .label { + float: left; + padding: 0 5px; + text-align: right; + width: 150px; +} +.field_div .input, +.submit_div .input { + padding: 0 5px; +} + +.small_label { + text-align: right; + width: auto; +} + +.scale_image { + max-width: 500px; +} + +.sidebar img { + max-width: 100%; + width: initial; +} + +.forum_post td img { + max-width: 100%; +} + +#collage #reply_box img, +#forums #reply_box img { + max-width: 650px; +} + +#artistcomments #reply_box img, +#request_comments #reply_box img, +#torrent_comments #reply_box img { + max-width: 400px; +} + +#artistcomments img, +#request_comments img, +#torrent_comments img { + max-width: 417px; +} + +.blog_post img { + max-width: 825px; +} + +.torrent_description blockquote img.scale_image { + max-width: 100%; +} + +#artist_information img, +.box_request_desc img, +.news_post img, +.torrent_description img, +.wiki_article img { + max-width: 570px; +} + +.torrentdetails img { + max-width: 100%; +} + +#inbox #preview img, +#staffpm #reply_box img, +#wiki .create_form img, +#wiki .edit_form img { + max-width: 805px; +} + +#inbox .body img { + max-width: 830px; +} + +#userform img { + max-width: 490px; +} + +video, .profileinfo img { + max-width: 100%; +} + +#reportsv2 .manage_form img { + max-width: 616px; +} + +.friends_table textarea { + max-width: 540px; +} + +div.torrent_artists { + display: inline-block; +} + +.torrent_screenshots > img { + width: 50%; + border: 1px solid transparent; + box-sizing: border-box; +} + +/* Ratio Colors */ +.r00 { color: #FF0000; } +.r01,.r02 { color: #FF1300; } +.r03 { color: #FF2600; } +.r04 { color: #FF4C00; } +.r05,.r06 { color: #FF5E00; } +.r07 { color: #FF7100; } +.r08 { color: #FF9700; } +.r09 { color: #FFAA00; } +.r10 { color: #74C42E; } +.r20,.r50,.r99 { color: #418B00; } + +#index > #coverCont { + left: 20px; + right: initial; +} + +#coverCont { + position: fixed; + right: 20px; + top: 20px; + max-width: 30%; + background-size: contain; + background-repeat: no-repeat; + z-index: 9999; +} + +#coverCont img { + max-width: 100%; +} + +.search_warning { + position: absolute; +} + +#admincommentlinks { + max-height: 300px; + overflow-y: scroll; +} + +.poll_your_answer { + font-weight: bold; +} + +.net_box { + display: inline-block; + width: calc(20% - 4px); + margin: 2px; + vertical-align: top; + font-size: 10pt; +} +.net_box > .box { + min-height: 60px; + display: flex; + align-items: center; +} +.net_box > .box > span { + width: 100%; +} + +input[type="search"] { + -webkit-appearance: textfield; +} diff --git a/static/styles/log.css b/static/styles/log.css new file mode 100755 index 0000000..724cafc --- /dev/null +++ b/static/styles/log.css @@ -0,0 +1,47 @@ +pre, blockquote { + color: #444; +} + +.log1 { + color: purple; +} + +.log2 { + color: yellow; +} + +.log3 { + color: blue; +} + +.log4 { + font-weight: bold; +} + +.log5 { + text-decoration: underline; +} + +.good { + font-weight: bold; + color: green; +} + +.bad { + font-weight: bold; + color: red; +} + +.goodish { + font-weight: bold; + color: #35BF00; +} + +.badish { + font-weight: bold; + color: #E5B244; +} + +pre { + overflow: auto; +} diff --git a/static/styles/tooltipster/custom.css b/static/styles/tooltipster/custom.css new file mode 100755 index 0000000..e643f53 --- /dev/null +++ b/static/styles/tooltipster/custom.css @@ -0,0 +1,28 @@ +/* Main */ + +body { + background-color: #dcdcdc; + color: #0b0b0b; + font-size: 16px; + line-height: 22px; +} + +.container, #container { + width: 978px; + margin: 10px auto; + padding: 60px; + box-shadow: 0px 0px 10px rgba(0,0,0,0.2); + background: #fff; + text-align: left; + display: block; + overflow: hidden; +} + +.item { + width: 200px; + float: left; + padding: 10px; + margin: 10px; + background: #000; + color: #fff; +} diff --git a/static/styles/tooltipster/reset.css b/static/styles/tooltipster/reset.css new file mode 100755 index 0000000..a6de01d --- /dev/null +++ b/static/styles/tooltipster/reset.css @@ -0,0 +1,44 @@ +@charset "UTF-8"; + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size:100%; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} +body { + line-height: 1; +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} diff --git a/static/styles/tooltipster/style.css b/static/styles/tooltipster/style.css new file mode 100755 index 0000000..07c6d7b --- /dev/null +++ b/static/styles/tooltipster/style.css @@ -0,0 +1,290 @@ +/* This is the default Tooltipster theme (feel free to modify or duplicate and create multiple themes!): */ +.tooltipster-default { + border-radius: 5px; + border: 2px solid #808080; + background: #E0E0E0; + color: #444; +} + +/* Use this next selector to style things like font-size and line-height: */ +.tooltipster-default .tooltipster-content { + font-family: Arial, sans-serif; + font-size: 11px; + line-height: 14px; + padding: 4px 5px; + overflow: hidden; +} + +/* This next selector defines the color of the border on the outside of the arrow. This will automatically match the color and size of the border set on the main tooltip styles. Set display: none; if you would like a border around the tooltip but no border around the arrow */ +.tooltipster-default .tooltipster-arrow .tooltipster-arrow-border { + /* border-color: ... !important; */ +} + + +/* If you're using the icon option, use this next selector to style them */ +.tooltipster-icon { + cursor: help; + margin-left: 4px; +} + + + + + + + + +/* This is the base styling required to make all Tooltipsters work */ +.tooltipster-base { + padding: 0; + font-size: 0; + line-height: 0; + position: absolute; + z-index: 9999999; + pointer-events: none; + width: auto; + overflow: visible; +} +.tooltipster-base .tooltipster-content { + overflow: hidden; +} + + +/* These next classes handle the styles for the little arrow attached to the tooltip. By default, the arrow will inherit the same colors and border as what is set on the main tooltip itself. */ +.tooltipster-arrow { + display: block; + text-align: center; + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + z-index: -1; +} +.tooltipster-arrow span, .tooltipster-arrow-border { + display: block; + width: 0; + height: 0; + position: absolute; +} +.tooltipster-arrow-top span, .tooltipster-arrow-top-right span, .tooltipster-arrow-top-left span { + border-left: 8px solid transparent !important; + border-right: 8px solid transparent !important; + border-top: 8px solid; + bottom: -8px; +} +.tooltipster-arrow-top .tooltipster-arrow-border, .tooltipster-arrow-top-right .tooltipster-arrow-border, .tooltipster-arrow-top-left .tooltipster-arrow-border { + border-left: 9px solid transparent !important; + border-right: 9px solid transparent !important; + border-top: 9px solid; + bottom: -8px; +} + +.tooltipster-arrow-bottom span, .tooltipster-arrow-bottom-right span, .tooltipster-arrow-bottom-left span { + border-left: 8px solid transparent !important; + border-right: 8px solid transparent !important; + border-bottom: 8px solid; + top: -8px; +} +.tooltipster-arrow-bottom .tooltipster-arrow-border, .tooltipster-arrow-bottom-right .tooltipster-arrow-border, .tooltipster-arrow-bottom-left .tooltipster-arrow-border { + border-left: 9px solid transparent !important; + border-right: 9px solid transparent !important; + border-bottom: 9px solid; + top: -8px; +} +.tooltipster-arrow-top span, .tooltipster-arrow-top .tooltipster-arrow-border, .tooltipster-arrow-bottom span, .tooltipster-arrow-bottom .tooltipster-arrow-border { + left: 0; + right: 0; + margin: 0 auto; +} +.tooltipster-arrow-top-left span, .tooltipster-arrow-bottom-left span { + left: 6px; +} +.tooltipster-arrow-top-left .tooltipster-arrow-border, .tooltipster-arrow-bottom-left .tooltipster-arrow-border { + left: 5px; +} +.tooltipster-arrow-top-right span, .tooltipster-arrow-bottom-right span { + right: 6px; +} +.tooltipster-arrow-top-right .tooltipster-arrow-border, .tooltipster-arrow-bottom-right .tooltipster-arrow-border { + right: 5px; +} +.tooltipster-arrow-left span, .tooltipster-arrow-left .tooltipster-arrow-border { + border-top: 8px solid transparent !important; + border-bottom: 8px solid transparent !important; + border-left: 8px solid; + top: 50%; + margin-top: -7px; + right: -8px; +} +.tooltipster-arrow-left .tooltipster-arrow-border { + border-top: 9px solid transparent !important; + border-bottom: 9px solid transparent !important; + border-left: 9px solid; + margin-top: -8px; +} +.tooltipster-arrow-right span, .tooltipster-arrow-right .tooltipster-arrow-border { + border-top: 8px solid transparent !important; + border-bottom: 8px solid transparent !important; + border-right: 8px solid; + top: 50%; + margin-top: -7px; + left: -8px; +} +.tooltipster-arrow-right .tooltipster-arrow-border { + border-top: 9px solid transparent !important; + border-bottom: 9px solid transparent !important; + border-right: 9px solid; + margin-top: -8px; +} + + +/* Some CSS magic for the awesome animations - feel free to make your own custom animations and reference it in your Tooltipster settings! */ + +.tooltipster-fade { + opacity: 0; + -webkit-transition-property: opacity; + -moz-transition-property: opacity; + -o-transition-property: opacity; + -ms-transition-property: opacity; + transition-property: opacity; +} +.tooltipster-fade-show { + opacity: 1; +} + +.tooltipster-grow { + -webkit-transform: scale(0,0); + -moz-transform: scale(0,0); + -o-transform: scale(0,0); + -ms-transform: scale(0,0); + transform: scale(0,0); + -webkit-transition-property: -webkit-transform; + -moz-transition-property: -moz-transform; + -o-transition-property: -o-transform; + -ms-transition-property: -ms-transform; + transition-property: transform; + -webkit-backface-visibility: hidden; +} +.tooltipster-grow-show { + -webkit-transform: scale(1,1); + -moz-transform: scale(1,1); + -o-transform: scale(1,1); + -ms-transform: scale(1,1); + transform: scale(1,1); + -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15); + -moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15); + -ms-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15); + -o-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15); + transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15); +} + +.tooltipster-swing { + opacity: 0; + -webkit-transform: rotateZ(4deg); + -moz-transform: rotateZ(4deg); + -o-transform: rotateZ(4deg); + -ms-transform: rotateZ(4deg); + transform: rotateZ(4deg); + -webkit-transition-property: -webkit-transform, opacity; + -moz-transition-property: -moz-transform; + -o-transition-property: -o-transform; + -ms-transition-property: -ms-transform; + transition-property: transform; +} +.tooltipster-swing-show { + opacity: 1; + -webkit-transform: rotateZ(0deg); + -moz-transform: rotateZ(0deg); + -o-transform: rotateZ(0deg); + -ms-transform: rotateZ(0deg); + transform: rotateZ(0deg); + -webkit-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 1); + -webkit-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4); + -moz-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4); + -ms-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4); + -o-transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4); + transition-timing-function: cubic-bezier(0.230, 0.635, 0.495, 2.4); +} + +.tooltipster-fall { + top: 0; + -webkit-transition-property: top; + -moz-transition-property: top; + -o-transition-property: top; + -ms-transition-property: top; + transition-property: top; + -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15); + -moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15); + -ms-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15); + -o-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15); + transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15); +} +.tooltipster-fall-show { +} +.tooltipster-fall.tooltipster-dying { + -webkit-transition-property: all; + -moz-transition-property: all; + -o-transition-property: all; + -ms-transition-property: all; + transition-property: all; + top: 0px !important; + opacity: 0; +} + +.tooltipster-slide { + left: -40px; + -webkit-transition-property: left; + -moz-transition-property: left; + -o-transition-property: left; + -ms-transition-property: left; + transition-property: left; + -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1); + -webkit-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15); + -moz-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15); + -ms-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15); + -o-transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15); + transition-timing-function: cubic-bezier(0.175, 0.885, 0.320, 1.15); +} +.tooltipster-slide.tooltipster-slide-show { +} +.tooltipster-slide.tooltipster-dying { + -webkit-transition-property: all; + -moz-transition-property: all; + -o-transition-property: all; + -ms-transition-property: all; + transition-property: all; + left: 0px !important; + opacity: 0; +} + + +/* CSS transition for when contenting is changing in a tooltip that is still open. The only properties that will NOT transition are: width, height, top, and left */ +.tooltipster-content-changing { + opacity: 0.5; + -webkit-transform: scale(1.1, 1.1); + -moz-transform: scale(1.1, 1.1); + -o-transform: scale(1.1, 1.1); + -ms-transform: scale(1.1, 1.1); + transform: scale(1.1, 1.1); +} + + +.gold_theme { + background: gold radial-gradient(lightyellow, gold); + color: #A25128; +} +.gold_theme .tooltipster-arrow>span+span { + border-top-color: rgb(255,228,81) !important; +} + +/* Use this next selector to style things like font-size and line-height: */ +.gold_theme .tooltipster-content { + font-family: Arial, sans-serif; + font-size: 14px; + line-height: 16px; + padding: 8px 10px; + overflow: hidden; +} diff --git a/static/styles/tooltipster/themes/tooltipster-light.css b/static/styles/tooltipster/themes/tooltipster-light.css new file mode 100755 index 0000000..6e955de --- /dev/null +++ b/static/styles/tooltipster/themes/tooltipster-light.css @@ -0,0 +1,12 @@ +.tooltipster-light { + border-radius: 5px; + border: 1px solid #cccccc; + background: #ededed; + color: #666666; +} +.tooltipster-light .tooltipster-content { + font-family: Arial, sans-serif; + font-size: 14px; + line-height: 16px; + padding: 8px 10px; +} \ No newline at end of file diff --git a/static/styles/tooltipster/themes/tooltipster-noir.css b/static/styles/tooltipster/themes/tooltipster-noir.css new file mode 100755 index 0000000..ba93e55 --- /dev/null +++ b/static/styles/tooltipster/themes/tooltipster-noir.css @@ -0,0 +1,12 @@ +.tooltipster-noir { + border-radius: 0px; + border: 3px solid #2c2c2c; + background: #fff; + color: #2c2c2c; +} +.tooltipster-noir .tooltipster-content { + font-family: 'Georgia', serif; + font-size: 14px; + line-height: 16px; + padding: 8px 10px; +} \ No newline at end of file diff --git a/static/styles/tooltipster/themes/tooltipster-punk.css b/static/styles/tooltipster/themes/tooltipster-punk.css new file mode 100755 index 0000000..393a570 --- /dev/null +++ b/static/styles/tooltipster/themes/tooltipster-punk.css @@ -0,0 +1,12 @@ +.tooltipster-punk { + border-radius: 5px; + border-bottom: 3px solid #f71169; + background: #2a2a2a; + color: #fff; +} +.tooltipster-punk .tooltipster-content { + font-family: 'Courier', monospace; + font-size: 14px; + line-height: 16px; + padding: 8px 10px; +} \ No newline at end of file diff --git a/static/styles/tooltipster/themes/tooltipster-shadow.css b/static/styles/tooltipster/themes/tooltipster-shadow.css new file mode 100755 index 0000000..e869c5e --- /dev/null +++ b/static/styles/tooltipster/themes/tooltipster-shadow.css @@ -0,0 +1,12 @@ +.tooltipster-shadow { + border-radius: 5px; + background: #fff; + box-shadow: 0px 0px 14px rgba(0,0,0,0.3); + color: #2c2c2c; +} +.tooltipster-shadow .tooltipster-content { + font-family: 'Arial', sans-serif; + font-size: 14px; + line-height: 16px; + padding: 8px 10px; +} \ No newline at end of file