2022-10-21 18:39:45 +00:00
|
|
|
{% macro cf_2fa_verify() %}
|
2022-11-11 13:52:18 +00:00
|
|
|
{% if SITE == 'rdrama.net' %}
|
2022-10-21 18:39:45 +00:00
|
|
|
<meta name="cf-2fa-verify" content="4f40ca1ca249313">
|
|
|
|
{% elif SITE == 'watchpeopledie.tv' %}
|
|
|
|
<meta name="cf-2fa-verify" content="372aba5b9338e00">
|
|
|
|
{% endif %}
|
|
|
|
{% endmacro %}
|
|
|
|
|
|
|
|
{% macro javascript() %}
|
2022-11-18 19:16:40 +00:00
|
|
|
<script defer src="{{'js/vendor/bootstrap.js' | asset}}"></script>
|
2022-10-21 18:39:45 +00:00
|
|
|
<script defer src="{{'js/core.js' | asset}}"></script>
|
2023-03-17 14:23:42 +00:00
|
|
|
{% if v and v.admin_level %}
|
|
|
|
<script defer src="{{'js/admin/core.js' | asset}}"></script>
|
|
|
|
{% endif %}
|
2022-10-21 18:39:45 +00:00
|
|
|
{% endmacro %}
|
|
|
|
|
2022-11-21 08:52:22 +00:00
|
|
|
{% macro page_meta(title=none) %}
|
2023-03-04 15:45:37 +00:00
|
|
|
{% if 'post/' in request.path and p %}
|
2022-11-17 21:08:39 +00:00
|
|
|
{% if not v_forbid_deleted -%}
|
|
|
|
{% set image = p.thumb_url if p.has_thumb %}
|
|
|
|
{% set image = p.realurl(v) if p.is_image %}
|
|
|
|
{% set video = p.realurl(v) if p.is_video %}
|
|
|
|
{% set audio = p.realurl(v) if p.is_audio %}
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
{% if comment_info and not comment_info.is_banned and not comment_info.deleted_utc %}
|
|
|
|
{% set p, title = comment_info, ['@', comment_info.author_name, ' comments on ',
|
|
|
|
'"', title, '"'] | join %}
|
|
|
|
{% endif %}
|
|
|
|
|
2023-03-04 15:45:37 +00:00
|
|
|
{% set author, description, a_author, published, modified, url =
|
|
|
|
'@'+p.author_name, p.plainbody(v), '@'+p.author_name,
|
|
|
|
p.created_datetime, p.edited_string, p.permalink %}
|
2022-11-17 21:08:39 +00:00
|
|
|
|
2022-11-17 21:20:21 +00:00
|
|
|
{% elif '@' in request.path and u %}
|
2022-11-17 21:08:39 +00:00
|
|
|
{% set author, a_author, published, url, title, image, section =
|
2022-12-07 09:03:02 +00:00
|
|
|
'@'~u.username,
|
|
|
|
'@'~u.username,
|
2022-11-18 19:44:05 +00:00
|
|
|
u.created_date,
|
|
|
|
u.url,
|
2022-12-07 09:03:02 +00:00
|
|
|
u.username ~ "'s profile",
|
2022-11-18 19:44:05 +00:00
|
|
|
u.banner_url,
|
2022-12-07 09:03:02 +00:00
|
|
|
u.username ~ "'s profile" %}
|
2022-11-17 21:08:39 +00:00
|
|
|
|
|
|
|
{% set description %}
|
2022-11-21 08:52:22 +00:00
|
|
|
{{u.coins}} coins - Joined {{u.created_date}} -
|
|
|
|
{%- if u.stored_subscriber_count >=1 and not u.is_private -%}
|
2022-11-17 21:08:39 +00:00
|
|
|
{{u.stored_subscriber_count}} Followers -
|
2022-11-21 08:52:22 +00:00
|
|
|
{%- endif -%}
|
|
|
|
{%- if not u.is_private -%}
|
2023-02-28 17:54:01 +00:00
|
|
|
{{0 if u.shadowbanned else u.real_post_count(v)}}
|
2022-11-17 21:08:39 +00:00
|
|
|
Posts -
|
2023-02-28 17:54:01 +00:00
|
|
|
{{0 if u.shadowbanned else u.real_comment_count(v)}}
|
2022-11-17 21:08:39 +00:00
|
|
|
Comments
|
2022-11-21 08:52:22 +00:00
|
|
|
{%- endif -%}
|
2023-03-11 07:11:58 +00:00
|
|
|
{% if u.bio and u.can_see_my_shit %}
|
2022-11-17 21:08:39 +00:00
|
|
|
- {{u.bio}}
|
2022-11-21 08:52:22 +00:00
|
|
|
{% endif %}
|
2022-11-17 21:08:39 +00:00
|
|
|
{% endset %}
|
|
|
|
{% elif sub %}
|
|
|
|
{% set title, description =
|
2022-11-17 21:25:10 +00:00
|
|
|
'/h/'+sub.name, sub.sidebar if sub.sidebar %}
|
2022-10-21 18:39:45 +00:00
|
|
|
{% endif %}
|
2022-11-17 21:08:39 +00:00
|
|
|
|
2023-06-29 20:14:30 +00:00
|
|
|
<link rel="icon" type="image/webp" href="/icon.webp?x=6">
|
2023-04-25 14:34:09 +00:00
|
|
|
|
2023-06-30 19:39:19 +00:00
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover">
|
2022-11-17 21:08:39 +00:00
|
|
|
<meta name="thumbnail" content="{{'site_preview.webp' | asset_siteimg}}">
|
|
|
|
<meta name="description" content="{{DESCRIPTION}}">
|
|
|
|
|
2022-10-21 18:39:45 +00:00
|
|
|
<meta property="og:type" content="article">
|
|
|
|
<meta property="og:site_name" content="{{SITE}}">
|
|
|
|
<meta property="og:url" content="{{request.full_path}}">
|
2022-11-17 21:08:39 +00:00
|
|
|
|
|
|
|
<meta property="og:title" content="{{title}}">
|
2022-10-21 18:39:45 +00:00
|
|
|
<meta property="og:author" name="author" content="{{author | default(SITE_FULL, true)}}">
|
2022-12-07 09:03:02 +00:00
|
|
|
<meta property="og:description" name="description" content="{{description | default(SITE_NAME ~ ' - ' ~ DESCRIPTION)}}">
|
2022-11-18 20:37:30 +00:00
|
|
|
|
|
|
|
{% if not comment_info %}
|
|
|
|
<meta property="og:image" content="{{image | default('site_preview.webp' | asset_siteimg)}}">
|
2022-11-21 08:52:22 +00:00
|
|
|
{% if video %}<meta property="og:video" content="{{video}}">{% endif %}
|
|
|
|
{% if audio %}<meta property="og:audio" content="{{audio}}">{% endif %}
|
2022-11-18 20:39:36 +00:00
|
|
|
<meta name="twitter:image" content="{{image | default('site_preview.webp' | asset_siteimg)}}">
|
2022-11-18 20:37:30 +00:00
|
|
|
{% endif %}
|
2022-11-17 21:08:39 +00:00
|
|
|
|
|
|
|
<meta property="og:article:author" content="{{a_author}}">
|
|
|
|
<meta property="og:article:published_time" content="{{published}}">
|
|
|
|
<meta property="og:article:modified_time" content="{{modified}}">
|
|
|
|
<meta property="og:article:section" content="{{section}}">
|
2022-10-21 18:39:45 +00:00
|
|
|
|
|
|
|
<meta name="twitter:card" content="summary_large_image">
|
|
|
|
<meta name="twitter:site" content="{{SITE_FULL}}">
|
2022-11-17 21:08:39 +00:00
|
|
|
|
|
|
|
<meta name="twitter:title" content="{{title}}">
|
|
|
|
<meta name="twitter:creator" content="{{author | default(SITE_FULL)}}">
|
2022-12-07 09:03:02 +00:00
|
|
|
<meta name="twitter:description" content="{{description | default(SITE_NAME ~ ' - ' ~ DESCRIPTION)}}">
|
2022-11-17 21:08:39 +00:00
|
|
|
<meta name="twitter:url" content="{{url}}">
|
2022-10-21 18:39:45 +00:00
|
|
|
{% endmacro %}
|
|
|
|
|
2022-11-17 21:08:39 +00:00
|
|
|
{% macro stylesheets(include_user_css) %}
|
2022-10-31 22:35:47 +00:00
|
|
|
<link rel="stylesheet" href="{{'css/main.css' | asset}}">
|
2022-10-21 18:39:45 +00:00
|
|
|
{% if v %}
|
2023-06-23 11:07:47 +00:00
|
|
|
{% if v.chud %}
|
|
|
|
<link rel="stylesheet" href="{{('css/chud.css') | asset}}">
|
2022-10-21 18:39:45 +00:00
|
|
|
{% endif %}
|
2023-03-08 06:51:40 +00:00
|
|
|
{% if include_user_css and not IS_FISTMAS() %}
|
2022-12-07 17:53:29 +00:00
|
|
|
{% if v.theme == 'classic_dark' %}
|
|
|
|
<link rel="stylesheet" href="{{('css/classic.css') | asset}}">
|
2022-12-07 08:23:03 +00:00
|
|
|
{% endif %}
|
2022-10-21 18:39:45 +00:00
|
|
|
<link rel="stylesheet" href="{{('css/'~v.theme~'.css') | asset}}">
|
2022-12-29 14:20:27 +00:00
|
|
|
{% if (v.css or v.background) and not request.path.startswith('/settings') %}
|
|
|
|
<link rel="stylesheet" href="/{{v.id}}/css">
|
2022-10-21 18:39:45 +00:00
|
|
|
{% endif %}
|
|
|
|
{% if v.themecolor == '30409f' %}
|
2022-12-29 14:20:27 +00:00
|
|
|
<link rel="stylesheet" href="{{('css/30409f.css') | asset}}">
|
2022-10-21 18:39:45 +00:00
|
|
|
{% endif %}
|
2022-10-23 00:11:07 +00:00
|
|
|
{% else %}
|
2022-12-29 14:20:27 +00:00
|
|
|
<link rel="stylesheet" href="{{('css/'~DEFAULT_THEME~'.css') | asset}}">
|
2022-10-21 18:39:45 +00:00
|
|
|
{% endif %}
|
|
|
|
{% else %}
|
2022-12-29 14:20:27 +00:00
|
|
|
<link rel="stylesheet" href="{{('css/'~DEFAULT_THEME~'.css') | asset}}">
|
2022-10-21 18:39:45 +00:00
|
|
|
{% endif %}
|
2022-12-07 08:23:03 +00:00
|
|
|
|
2022-10-23 00:11:07 +00:00
|
|
|
<link rel="stylesheet" href="{{'css/awards.css' | asset}}">
|
2022-10-21 18:39:45 +00:00
|
|
|
|
|
|
|
{% if sub and sub.css and not request.path.endswith('settings') and not request.values.get('nocss') %}
|
2022-12-31 07:51:35 +00:00
|
|
|
<link rel="stylesheet" href="/h/{{sub}}/css">
|
2022-10-21 18:39:45 +00:00
|
|
|
{% endif %}
|
|
|
|
|
2023-03-08 06:51:40 +00:00
|
|
|
{% if IS_FISTMAS() %}
|
2023-04-25 15:59:16 +00:00
|
|
|
<link rel="stylesheet" href="{{'events/fistmas/css/fistmas.css' | asset}}">
|
2022-12-19 01:20:14 +00:00
|
|
|
|
2023-07-02 22:55:56 +00:00
|
|
|
{% if v and v.theme in LIGHT_THEMES %}
|
2023-04-25 15:59:16 +00:00
|
|
|
<link rel="stylesheet" href="{{'events/fistmas/css/themes/light.css'| asset}}">
|
2023-07-02 22:55:56 +00:00
|
|
|
{% else %}
|
|
|
|
<link rel="stylesheet" href="{{'events/fistmas/css/themes/dark.css'| asset}}">
|
2022-12-19 01:20:14 +00:00
|
|
|
{% endif %}
|
2022-11-29 20:20:26 +00:00
|
|
|
{% endif %}
|
|
|
|
|
2023-07-03 00:36:25 +00:00
|
|
|
{% if request.path.endswith('/chat') or request.path.endswith('/old_chat') %}
|
2023-01-21 10:36:21 +00:00
|
|
|
<link rel="stylesheet" href="{{'css/chat.css' | asset}}">
|
2023-07-03 00:36:25 +00:00
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
{% if request.path.endswith('/chat') %}
|
Bring back orgies (watchparties), now controllable by admins, and generally better in all ways (#165)
This PR adds orgies back into rdrama. Long ago, snakes made the original orgy code, and it was super fun. But he had to rush it out, and ended up making it a bit unsustainable, and had a couple questionable coding decisions, which meant that it had to be removed. Hey, the man literally did it in a few hours before the DB trial continued, lmao.
Anyways, I took my own approach to it. I do not use iframes, i just just repurpose code from /chat window. Because I had that freedom, I also moved things around to make the user experience a bit better. I also added a title to give users some context about what's happening. Check it out
![image](/attachments/6719146c-4922-4d75-967d-8d424a09b198)
Most importantly, this is all configurable from the site. Admins with the permission "ORGIES" will see this in their control panel
![image](/attachments/423d6046-a11d-4e84-bd2c-a2a641afd552)
Nigga, idk where to put it, so I made my own category.
If there is no orgy in progress, admins will see this:
![image](/attachments/7c64b9fa-cdf4-4986-a0c4-f2324878062e)
Click the button, and, viola, the orgy begins.
If there is an orgy in progress, the page will look like this:
![image](/attachments/b65be4b3-5db1-43cb-8857-7d3a8ea24ca7)
Click the button, and the orgy stops.
If an orgy is in progress, navigating to /chat will take the user to the orgy seemlessly. But what if they don't want to participate, liek some kind of spoilsport? Just navigate to /old_chat.
That's just about it, it's really that simple. I have lots of ideas for the future, but I'll let that wait til later :).
A few notes about implementation:
- I moved some functionality out of /templates/chat.html and into /templates/util/macros.html. This is just so I could reference the code directly from my new template, /templates/orgy.html.
- The orgy is stored as a single row in the new table "orgies". Okay, I know this is a little silly, but you know what they say: "if it's stupid and it works, it's not stupid". (tbf the oceangate ceo also said that)
Co-authored-by: Chuck Sneed <sneed@formerlychucks.net>
Reviewed-on: https://fsdfsd.net/rDrama/rDrama/pulls/165
Co-authored-by: HeyMoon <heymoon@noreply.fsdfsd.net>
Co-committed-by: HeyMoon <heymoon@noreply.fsdfsd.net>
2023-07-02 23:55:37 +00:00
|
|
|
<link rel="stylesheet" href="{{'css/orgy.css' | asset}}">
|
2022-11-17 21:08:39 +00:00
|
|
|
{% endif %}
|
2022-10-21 18:39:45 +00:00
|
|
|
{% endmacro %}
|
|
|
|
|
2022-11-28 22:48:15 +00:00
|
|
|
{% macro stylesheets_lower() %}
|
2022-12-05 05:01:20 +00:00
|
|
|
{% if not (request.path.startswith('/@') and u) %}
|
2023-06-23 11:07:47 +00:00
|
|
|
{% if SITE_NAME == 'rDrama' and v and v.chud %}
|
2023-06-29 20:14:30 +00:00
|
|
|
{% set background = '/i/backgrounds/anime/1.webp?x=6' %}
|
2022-12-05 04:05:20 +00:00
|
|
|
{% elif v and v.background %}
|
|
|
|
{% set background = v.background %}
|
|
|
|
{% endif %}
|
2022-11-29 03:37:53 +00:00
|
|
|
|
2022-12-05 04:05:20 +00:00
|
|
|
{% if background %}
|
2022-12-30 12:17:44 +00:00
|
|
|
<link rel="stylesheet" href="{{('css/transparent.css') | asset}}">
|
2022-12-05 04:05:20 +00:00
|
|
|
{% endif %}
|
2022-11-28 22:48:15 +00:00
|
|
|
{% endif %}
|
|
|
|
{% endmacro %}
|
|
|
|
|
2022-10-21 18:39:45 +00:00
|
|
|
{% macro seo() %}
|
2022-11-17 21:08:39 +00:00
|
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
|
|
<meta name="apple-touch-fullscreen" content="yes">
|
2023-06-30 19:39:19 +00:00
|
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
2022-11-17 21:08:39 +00:00
|
|
|
<meta name="format-detection" content="telephone=no">
|
2023-06-30 19:39:19 +00:00
|
|
|
<meta name="viewport" content="width=device-width,initial-scale=1, viewport-fit=cover">
|
2022-10-21 18:39:45 +00:00
|
|
|
|
2023-06-29 20:14:30 +00:00
|
|
|
<link rel="apple-touch-icon" sizes="180x180" href="/icon.webp?x=6">
|
2023-06-07 03:31:10 +00:00
|
|
|
<link rel="manifest" href="/assets/manifest_{{SITE_NAME}}.json?x=7">
|
2023-06-29 20:14:30 +00:00
|
|
|
<link rel="mask-icon" href="/icon.webp?x=6">
|
|
|
|
<link rel="shortcut icon" href="/icon.webp?x=6">
|
2022-10-21 18:39:45 +00:00
|
|
|
<meta name="apple-mobile-web-app-title" content="{{SITE_NAME}}">
|
|
|
|
<meta name="application-name" content="{{SITE_NAME}}">
|
|
|
|
<meta name="msapplication-TileColor" content="#{% if v %}{{v.themecolor}}{% else %}{{DEFAULT_COLOR}}{% endif %}">
|
2023-06-29 20:14:30 +00:00
|
|
|
<meta name="msapplication-config" content="/assets/browserconfig.xml?x=6">
|
2022-10-21 18:39:45 +00:00
|
|
|
<meta name="theme-color" content="#{% if v %}{{v.themecolor}}{% else %}{{DEFAULT_COLOR}}{% endif %}">
|
|
|
|
|
2022-11-21 08:52:22 +00:00
|
|
|
{% for size in ('320x480', '640x960', '640x1136', '750x1334', '768x1004', '828x1792',
|
|
|
|
'1024x748', '1024x768', '1125x2436', '1242x2208', '1356x2048',
|
|
|
|
'1668x2224', '1792x828', '2048x1496', '2048x2732', '2208x1242',
|
|
|
|
'2224x1668', '2436x1125', '2668x1242', '2737x2048') %}
|
2023-06-29 20:14:30 +00:00
|
|
|
<link rel="apple-touch-startup-image" sizes="{{size}}" href="/icon.webp?x=6">
|
2022-11-21 08:52:22 +00:00
|
|
|
{% endfor %}
|
2022-11-01 00:14:24 +00:00
|
|
|
{% endmacro %}
|