Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 3.149.242.223
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/wavevlvu/diixadigital.com/wp-content/plugins/jetpack/modules/widgets/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/wavevlvu/diixadigital.com/wp-content/plugins/jetpack/modules/widgets//authors.php
<?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
/**
 * Disable direct access/execution to/of the widget code.
 */
if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

// phpcs:disable Universal.Files.SeparateFunctionsFromOO.Mixed -- TODO: Move classes to appropriately-named class files.

/**
 * Widget to display blog authors with avatars and recent posts.
 *
 * Configurable parameters include:
 * 1. Whether to display authors who haven't written any posts
 * 2. The number of posts to be displayed per author (defaults to 0)
 * 3. Avatar size
 *
 * @since 4.5.0
 */
class Jetpack_Widget_Authors extends WP_Widget {
	/**
	 * Jetpack_Widget_Authors contructor.
	 */
	public function __construct() {
		parent::__construct(
			'authors',
			/** This filter is documented in modules/widgets/facebook-likebox.php */
			apply_filters( 'jetpack_widget_name', __( 'Authors', 'jetpack' ) ),
			array(
				'classname'                   => 'widget_authors',
				'description'                 => __( 'Display blogs authors with avatars and recent posts.', 'jetpack' ),
				'customize_selective_refresh' => true,
			)
		);

		add_action( 'publish_post', array( __CLASS__, 'flush_cache' ) );
		add_action( 'deleted_post', array( __CLASS__, 'flush_cache' ) );
		add_action( 'switch_theme', array( __CLASS__, 'flush_cache' ) );
	}

	/**
	 * Enqueue stylesheet to adapt the widget to various themes.
	 *
	 * @since 4.5.0
	 */
	public function enqueue_style() {
		wp_register_style( 'jetpack-authors-widget', plugins_url( 'authors/style.css', __FILE__ ), array(), '20161228' );
		wp_enqueue_style( 'jetpack-authors-widget' );
	}

	/**
	 * Flush Authors widget cached data.
	 */
	public static function flush_cache() {
		wp_cache_delete( 'widget_authors', 'widget' );
		wp_cache_delete( 'widget_authors_ssl', 'widget' );
	}

	/**
	 * Echoes the widget content.
	 *
	 * @param array $args Display arguments.
	 * @param array $instance Widget settings for the instance.
	 */
	public function widget( $args, $instance ) {
		// Enqueue front end assets.
		$this->enqueue_style();

		$cache_bucket = is_ssl() ? 'widget_authors_ssl' : 'widget_authors';

		if ( '%BEG_OF_TITLE%' !== $args['before_title'] ) {
			$output = wp_cache_get( $cache_bucket, 'widget' );
			if ( $output ) {
				echo $output; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Cached widget display.
				return;
			}

			ob_start();
		}

		$instance           = wp_parse_args(
			$instance,
			array(
				'title'       => __( 'Authors', 'jetpack' ),
				'all'         => false,
				'number'      => 5,
				'avatar_size' => 48,
			)
		);
		$instance['number'] = min( 10, max( 0, (int) $instance['number'] ) );

		// We need to query at least one post to determine whether an author has written any posts or not.
		$query_number = max( $instance['number'], 1 );

		/**
		 * Filter authors from the Widget Authors widget.
		 *
		 * @module widgets
		 *
		 * @deprecated 7.7.0 Use jetpack_widget_authors_params instead.
		 *
		 * @since 4.5.0
		 *
		 * @param array $default_excluded_authors Array of user ID's that will be excluded
		 */
		$excluded_authors = apply_filters( 'jetpack_widget_authors_exclude', array() );

		/**
		 * Filter the parameters of `get_users` call in the Widget Authors widget.
		 *
		 * See the following for `get_users` default arguments:
		 * https://codex.wordpress.org/Function_Reference/get_users
		 *
		 * @module widgets
		 *
		 * @since 7.7.0
		 *
		 * @param array $get_author_params Array of params used in `get_user`
		 */
		$get_author_params = apply_filters(
			'jetpack_widget_authors_params',
			array(
				'capability' => array( 'edit_posts' ),
				'exclude'    => (array) $excluded_authors,
			)
		);

		$authors = get_users( $get_author_params );

		echo $args['before_widget']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
		/** This filter is documented in core/src/wp-includes/default-widgets.php */
		$title = apply_filters( 'widget_title', $instance['title'] );
		echo $args['before_title'] . $title . $args['after_title']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
		echo '<ul>';

		$default_post_type = 'post';
		/**
		 * Filter types of posts that will be counted in the widget
		 *
		 * @module widgets
		 *
		 * @since 4.5.0
		 *
		 * @param string|array $default_post_type type(s) of posts to count for the widget.
		 */
		$post_types = apply_filters( 'jetpack_widget_authors_post_types', $default_post_type );

		foreach ( $authors as $author ) {
			$r = new WP_Query(
				array(
					'author'         => $author->ID,
					'posts_per_page' => $query_number,
					'post_type'      => $post_types,
					'post_status'    => 'publish',
					'no_found_rows'  => true,
					'has_password'   => false,
				)
			);

			if ( ! $r->have_posts() && ! $instance['all'] ) {
				continue;
			}

			echo '<li>';

			// Display avatar and author name.
			if ( $r->have_posts() ) {
				echo '<a href="' . esc_url( get_author_posts_url( $author->ID ) ) . '">';

				if ( $instance['avatar_size'] > 1 ) {
					echo ' ' . get_avatar( $author->ID, $instance['avatar_size'], '', true ) . ' ';
				}

				echo '<strong>' . esc_html( $author->display_name ) . '</strong>';
				echo '</a>';
			} elseif ( $instance['all'] ) {
				if ( $instance['avatar_size'] > 1 ) {
					echo get_avatar( $author->ID, $instance['avatar_size'], '', true ) . ' ';
				}

				echo '<strong>' . esc_html( $author->display_name ) . '</strong>';
			}

			if ( 0 === (int) $instance['number'] ) {
				echo '</li>';
				continue;
			}

			// Display a short list of recent posts for this author.
			if ( $r->have_posts() ) {
				echo '<ul>';

				while ( $r->have_posts() ) {
					$r->the_post();

					printf(
						'<li><a href="%1$s" title="%2$s"%3$s>%4$s</a></li>',
						esc_url( get_permalink() ),
						esc_attr( wp_kses( get_the_title(), array() ) ),
						( get_queried_object_id() === get_the_ID() ? ' aria-current="page"' : '' ),
						esc_html( wp_kses( get_the_title(), array() ) )
					);
				}

				echo '</ul>';
			}

			echo '</li>';
		}

		echo '</ul>';
		echo $args['after_widget']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped

		wp_reset_postdata();

		if ( '%BEG_OF_TITLE%' !== $args['before_title'] ) {
			wp_cache_add( $cache_bucket, ob_get_flush(), 'widget' );
		}

		/** This action is documented in modules/widgets/gravatar-profile.php */
		do_action( 'jetpack_stats_extra', 'widget_view', 'authors' );
	}

	/**
	 * Outputs the widget settings form.
	 *
	 * @param array $instance Current settings.
	 */
	public function form( $instance ) {
		$instance = wp_parse_args(
			$instance,
			array(
				'title'       => '',
				'all'         => false,
				'avatar_size' => 48,
				'number'      => 5,
			)
		);

		?>
		<p>
			<label>
				<?php esc_html_e( 'Title:', 'jetpack' ); ?>
				<input class="widefat" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" type="text" value="<?php echo esc_attr( $instance['title'] ); ?>" />
			</label>
		</p>
		<p>
			<label>
				<input class="checkbox" type="checkbox" <?php checked( $instance['all'] ); ?> name="<?php echo esc_attr( $this->get_field_name( 'all' ) ); ?>" />
				<?php esc_html_e( 'Display all authors (including those who have not written any posts)', 'jetpack' ); ?>
			</label>
		</p>
		<p>
			<label>
				<?php esc_html_e( 'Number of posts to show for each author:', 'jetpack' ); ?>
				<input style="width: 50px; text-align: center;" name="<?php echo esc_attr( $this->get_field_name( 'number' ) ); ?>" type="text" value="<?php echo esc_attr( $instance['number'] ); ?>" />
				<?php esc_html_e( '(at most 10)', 'jetpack' ); ?>
			</label>
		</p>
		<p>
			<label>
				<?php esc_html_e( 'Avatar Size (px):', 'jetpack' ); ?>
				<select name="<?php echo esc_attr( $this->get_field_name( 'avatar_size' ) ); ?>">
					<?php
					foreach ( array(
						'1'   => __( 'No Avatars', 'jetpack' ),
						'16'  => '16x16',
						'32'  => '32x32',
						'48'  => '48x48',
						'96'  => '96x96',
						'128' => '128x128',
					) as $value => $label ) {
						?>
						<option value="<?php echo esc_attr( $value ); ?>" <?php selected( $value, $instance['avatar_size'] ); ?>><?php echo esc_html( $label ); ?></option>
					<?php } ?>
				</select>
			</label>
		</p>
		<?php
	}

	/**
	 * Updates the widget on save and flushes cache.
	 *
	 * @param array $new_instance New widget instance data.
	 * @param array $old_instance Old widget instance data.
	 * @return array
	 */
	public function update( $new_instance, $old_instance ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
		$new_instance['title']       = wp_strip_all_tags( $new_instance['title'] );
		$new_instance['all']         = isset( $new_instance['all'] );
		$new_instance['number']      = (int) $new_instance['number'];
		$new_instance['avatar_size'] = (int) $new_instance['avatar_size'];

		self::flush_cache();

		return $new_instance;
	}
}

add_action( 'widgets_init', 'jetpack_register_widget_authors' );
/**
 * Register the Authors widget.
 */
function jetpack_register_widget_authors() {
	register_widget( 'Jetpack_Widget_Authors' );
}

Youez - 2016 - github.com/yon3zu
LinuXploit