FM

/home/u523506497/domains/mymelon.in/public_html/career/wp-includes UP

<?php
/**
 * Comment API: Walker_Comment class
 *
 * @package WordPress
 * @subpackage Comments
 * @since 4.4.0
 */

/**
 * Core walker class used to create an HTML list of comments.
 *
 * @since 2.7.0
 *
 * @see Walker
 */
class Walker_Comment extends Walker {

	/**
	 * What the class handles.
	 *
	 * @since 2.7.0
	 * @var string
	 *
	 * @see Walker::$tree_type
	 */
	public $tree_type = 'comment';

	/**
	 * Database fields to use.
	 *
	 * @since 2.7.0
	 * @var string[]
	 *
	 * @see Walker::$db_fields
	 * @todo Decouple this
	 */
	public $db_fields = array(
		'parent' => 'comment_parent',
		'id'     => 'comment_ID',
	);

	/**
	 * Starts the list before the elements are added.
	 *
	 * @since 2.7.0
	 *
	 * @see Walker::start_lvl()
	 * @global int $comment_depth
	 *
	 * @param string $output Used to append additional content (passed by reference).
	 * @param int    $depth  Optional. Depth of the current comment. Default 0.
	 * @param array  $args   Optional. Uses 'style' argument for type of HTML list. Default empty array.
	 */
	public function start_lvl( &$output, $depth = 0, $args = array() ) {
		$GLOBALS['comment_depth'] = $depth + 1;

		switch ( $args['style'] ) {
			case 'div':
				break;
			case 'ol':
				$output .= '<ol class="children">' . "\n";
				break;
			case 'ul':
			default:
				$output .= '<ul class="children">' . "\n";
				break;
		}
	}

	/**
	 * Ends the list of items after the elements are added.
	 *
	 * @since 2.7.0
	 *
	 * @see Walker::end_lvl()
	 * @global int $comment_depth
	 *
	 * @param string $output Used to append additional content (passed by reference).
	 * @param int    $depth  Optional. Depth of the current comment. Default 0.
	 * @param array  $args   Optional. Will only append content if style argument value is 'ol' or 'ul'.
	 *                       Default empty array.
	 */
	public function end_lvl( &$output, $depth = 0, $args = array() ) {
		$GLOBALS['comment_depth'] = $depth + 1;

		switch ( $args['style'] ) {
			case 'div':
				break;
			case 'ol':
				$output .= "</ol><!-- .children -->\n";
				break;
			case 'ul':
			default:
				$output .= "</ul><!-- .children -->\n";
				break;
		}
	}

	/**
	 * Traverses elements to create list from elements.
	 *
	 * This function is designed to enhance Walker::display_element() to
	 * display children of higher nesting levels than selected inline on
	 * the highest depth level displayed. This prevents them being orphaned
	 * at the end of the comment list.
	 *
	 * Example: max_depth = 2, with 5 levels of nested content.
	 *     1
	 *      1.1
	 *        1.1.1
	 *        1.1.1.1
	 *        1.1.1.1.1
	 *        1.1.2
	 *        1.1.2.1
	 *     2
	 *      2.2
	 *
	 * @since 2.7.0
	 *
	 * @see Walker::display_element()
	 * @see wp_list_comments()
	 *
	 * @param WP_Comment $element           Comment data object.
	 * @param array      $children_elements List of elements to continue traversing. Passed by reference.
	 * @param int        $max_depth         Max depth to traverse.
	 * @param int        $depth             Depth of the current element.
	 * @param array      $args              An array of arguments.
	 * @param string     $output            Used to append additional content. Passed by reference.
	 */
	public function display_element( $element, &$children_elements, $max_depth, $depth, $args, &$output ) {
		if ( ! $element ) {
			return;
		}

		$id_field = $this->db_fields['id'];
		$id       = $element->$id_field;

		parent::display_element( $element, $children_elements, $max_depth, $depth, $args, $output );

		/*
		 * If at the max depth, and the current element still has children, loop over those
		 * and display them at this level. This is to prevent them being orphaned to the end
		 * of the list.
		 */
		if ( $max_depth <= $depth + 1 && isset( $children_elements[ $id ] ) ) {
			foreach ( $children_elements[ $id ] as $child ) {
				$this->display_element( $child, $children_elements, $max_depth, $depth, $args, $output );
			}

			unset( $children_elements[ $id ] );
		}
	}

	/**
	 * Starts the element output.
	 *
	 * @since 2.7.0
	 * @since 5.9.0 Renamed `$comment` to `$data_object` and `$id` to `$current_object_id`
	 *              to match parent class for PHP 8 named parameter support.
	 *
	 * @see Walker::start_el()
	 * @see wp_list_comments()
	 * @global int        $comment_depth
	 * @global WP_Comment $comment       Global comment object.
	 *
	 * @param string     $output            Used to append additional content. Passed by reference.
	 * @param WP_Comment $data_object       Comment data object.
	 * @param int        $depth             Optional. Depth of the current comment in reference to parents. Default 0.
	 * @param array      $args              Optional. An array of arguments. Default empty array.
	 * @param int        $current_object_id Optional. ID of the current comment. Default 0.
	 */
	public function start_el( &$output, $data_object, $depth = 0, $args = array(), $current_object_id = 0 ) {
		// Restores the more descriptive, specific name for use within this method.
		$comment = $data_object;

		++$depth;
		$GLOBALS['comment_depth'] = $depth;
		$GLOBALS['comment']       = $comment;

		if ( ! empty( $args['callback'] ) ) {
			ob_start();
			call_user_func( $args['callback'], $comment, $args, $depth );
			$output .= ob_get_clean();
			return;
		}

		if ( 'comment' === $comment->comment_type ) {
			add_filter( 'comment_text', array( $this, 'filter_comment_text' ), 40, 2 );
		}

		if ( ( 'pingback' === $comment->comment_type || 'trackback' === $comment->comment_type ) && $args['short_ping'] ) {
			ob_start();
			$this->ping( $comment, $depth, $args );
			$output .= ob_get_clean();
		} elseif ( 'html5' === $args['format'] ) {
			ob_start();
			$this->html5_comment( $comment, $depth, $args );
			$output .= ob_get_clean();
		} else {
			ob_start();
			$this->comment( $comment, $depth, $args );
			$output .= ob_get_clean();
		}

		if ( 'comment' === $comment->comment_type ) {
			remove_filter( 'comment_text', array( $this, 'filter_comment_text' ), 40 );
		}
	}

	/**
	 * Ends the element output, if needed.
	 *
	 * @since 2.7.0
	 * @since 5.9.0 Renamed `$comment` to `$data_object` to match parent class for PHP 8 named parameter support.
	 *
	 * @see Walker::end_el()
	 * @see wp_list_comments()
	 *
	 * @param string     $output      Used to append additional content. Passed by reference.
	 * @param WP_Comment $data_object Comment data object.
	 * @param int        $depth       Optional. Depth of the current comment. Default 0.
	 * @param array      $args        Optional. An array of arguments. Default empty array.
	 */
	public function end_el( &$output, $data_object, $depth = 0, $args = array() ) {
		if ( ! empty( $args['end-callback'] ) ) {
			ob_start();
			call_user_func(
				$args['end-callback'],
				$data_object, // The current comment object.
				$args,
				$depth
			);
			$output .= ob_get_clean();
			return;
		}
		if ( 'div' === $args['style'] ) {
			$output .= "</div><!-- #comment-## -->\n";
		} else {
			$output .= "</li><!-- #comment-## -->\n";
		}
	}

	/**
	 * Outputs a pingback comment.
	 *
	 * @since 3.6.0
	 *
	 * @see wp_list_comments()
	 *
	 * @param WP_Comment $comment The comment object.
	 * @param int        $depth   Depth of the current comment.
	 * @param array      $args    An array of arguments.
	 */
	protected function ping( $comment, $depth, $args ) {
		$tag = ( 'div' === $args['style'] ) ? 'div' : 'li';
		?>
		<<?php echo $tag; ?> id="comment-<?php comment_ID(); ?>" <?php comment_class( '', $comment ); ?>>
			<div class="comment-body">
				<?php _e( 'Pingback:' ); ?> <?php comment_author_link( $comment ); ?> <?php edit_comment_link( __( 'Edit' ), '<span class="edit-link">', '</span>' ); ?>
			</div>
		<?php
	}

	/**
	 * Filters the comment text.
	 *
	 * Removes links from the pending comment's text if the commenter did not consent
	 * to the comment cookies.
	 *
	 * @since 5.4.2
	 *
	 * @param string          $comment_text Text of the current comment.
	 * @param WP_Comment|null $comment      The comment object. Null if not found.
	 * @return string Filtered text of the current comment.
	 */
	public function filter_comment_text( $comment_text, $comment ) {
		$commenter          = wp_get_current_commenter();
		$show_pending_links = ! empty( $commenter['comment_author'] );

		if ( $comment && '0' === $comment->comment_approved && ! $show_pending_links ) {
			$comment_text = wp_kses( $comment_text, array() );
		}

		return $comment_text;
	}

	/**
	 * Outputs a single comment.
	 *
	 * @since 3.6.0
	 *
	 * @see wp_list_comments()
	 *
	 * @param WP_Comment $comment Comment to display.
	 * @param int        $depth   Depth of the current comment.
	 * @param array      $args    An array of arguments.
	 */
	protected function comment( $comment, $depth, $args ) {
		if ( 'div' === $args['style'] ) {
			$tag       = 'div';
			$add_below = 'comment';
		} else {
			$tag       = 'li';
			$add_below = 'div-comment';
		}

		$commenter          = wp_get_current_commenter();
		$show_pending_links = isset( $commenter['comment_author'] ) && $commenter['comment_author'];

		if ( $commenter['comment_author_email'] ) {
			$moderation_note = __( 'Your comment is awaiting moderation.' );
		} else {
			$moderation_note = __( 'Your comment is awaiting moderation. This is a preview; your comment will be visible after it has been approved.' );
		}
		?>
		<<?php echo $tag; ?> <?php comment_class( $this->has_children ? 'parent' : '', $comment ); ?> id="comment-<?php comment_ID(); ?>">
		<?php if ( 'div' !== $args['style'] ) : ?>
		<div id="div-comment-<?php comment_ID(); ?>" class="comment-body">
		<?php endif; ?>
		<div class="comment-author vcard">
			<?php
			if ( 0 !== $args['avatar_size'] ) {
				echo get_avatar( $comment, $args['avatar_size'] );
			}
			?>
			<?php
			$comment_author = get_comment_author_link( $comment );

			if ( '0' === $comment->comment_approved && ! $show_pending_links ) {
				$comment_author = get_comment_author( $comment );
			}

			printf(
				/* translators: %s: Comment author link. */
				__( '%s <span class="says">says:</span>' ),
				sprintf( '<cite class="fn">%s</cite>', $comment_author )
			);
			?>
		</div>
		<?php if ( '0' === $comment->comment_approved ) : ?>
		<em class="comment-awaiting-moderation"><?php echo $moderation_note; ?></em>
		<br />
		<?php endif; ?>

		<div class="comment-meta commentmetadata">
			<?php
			printf(
				'<a href="%s">%s</a>',
				esc_url( get_comment_link( $comment, $args ) ),
				sprintf(
					/* translators: 1: Comment date, 2: Comment time. */
					__( '%1$s at %2$s' ),
					get_comment_date( '', $comment ),
					get_comment_time()
				)
			);

			edit_comment_link( __( '(Edit)' ), ' &nbsp;&nbsp;', '' );
			?>
		</div>

		<?php
		comment_text(
			$comment,
			array_merge(
				$args,
				array(
					'add_below' => $add_below,
					'depth'     => $depth,
					'max_depth' => $args['max_depth'],
				)
			)
		);
		?>

		<?php
		comment_reply_link(
			array_merge(
				$args,
				array(
					'add_below' => $add_below,
					'depth'     => $depth,
					'max_depth' => $args['max_depth'],
					'before'    => '<div class="reply">',
					'after'     => '</div>',
				)
			)
		);
		?>

		<?php if ( 'div' !== $args['style'] ) : ?>
		</div>
		<?php endif; ?>
		<?php
	}

	/**
	 * Outputs a comment in the HTML5 format.
	 *
	 * @since 3.6.0
	 *
	 * @see wp_list_comments()
	 *
	 * @param WP_Comment $comment Comment to display.
	 * @param int        $depth   Depth of the current comment.
	 * @param array      $args    An array of arguments.
	 */
	protected function html5_comment( $comment, $depth, $args ) {
		$tag = ( 'div' === $args['style'] ) ? 'div' : 'li';

		$commenter          = wp_get_current_commenter();
		$show_pending_links = ! empty( $commenter['comment_author'] );

		if ( $commenter['comment_author_email'] ) {
			$moderation_note = __( 'Your comment is awaiting moderation.' );
		} else {
			$moderation_note = __( 'Your comment is awaiting moderation. This is a preview; your comment will be visible after it has been approved.' );
		}
		?>
		<<?php echo $tag; ?> id="comment-<?php comment_ID(); ?>" <?php comment_class( $this->has_children ? 'parent' : '', $comment ); ?>>
			<article id="div-comment-<?php comment_ID(); ?>" class="comment-body">
				<footer class="comment-meta">
					<div class="comment-author vcard">
						<?php
						if ( 0 !== $args['avatar_size'] ) {
							echo get_avatar( $comment, $args['avatar_size'] );
						}
						?>
						<?php
						$comment_author = get_comment_author_link( $comment );

						if ( '0' === $comment->comment_approved && ! $show_pending_links ) {
							$comment_author = get_comment_author( $comment );
						}

						printf(
							/* translators: %s: Comment author link. */
							__( '%s <span class="says">says:</span>' ),
							sprintf( '<b class="fn">%s</b>', $comment_author )
						);
						?>
					</div><!-- .comment-author -->

					<div class="comment-metadata">
						<?php
						printf(
							'<a href="%s"><time datetime="%s">%s</time></a>',
							esc_url( get_comment_link( $comment, $args ) ),
							get_comment_time( 'c' ),
							sprintf(
								/* translators: 1: Comment date, 2: Comment time. */
								__( '%1$s at %2$s' ),
								get_comment_date( '', $comment ),
								get_comment_time()
							)
						);

						edit_comment_link( __( 'Edit' ), ' <span class="edit-link">', '</span>' );
						?>
					</div><!-- .comment-metadata -->

					<?php if ( '0' === $comment->comment_approved ) : ?>
					<em class="comment-awaiting-moderation"><?php echo $moderation_note; ?></em>
					<?php endif; ?>
				</footer><!-- .comment-meta -->

				<div class="comment-content">
					<?php comment_text(); ?>
				</div><!-- .comment-content -->

				<?php
				if ( '1' === $comment->comment_approved || $show_pending_links ) {
					comment_reply_link(
						array_merge(
							$args,
							array(
								'add_below' => 'div-comment',
								'depth'     => $depth,
								'max_depth' => $args['max_depth'],
								'before'    => '<div class="reply">',
								'after'     => '</div>',
							)
						)
					);
				}
				?>
			</article><!-- .comment-body -->
		<?php
	}
}
ID3-
IXR-
PHPMailer-
Requests-
SimplePie-
Text-
admin-bar.php37100V
assets-
atomlib.php12078V
author-template.php18951V
block-bindings-
block-bindings.php5594V
block-editor.php28340V
block-i18n.json316V
block-patterns-
block-patterns.php13119V
block-supports-
block-template-utils.php60145V
block-template.php14142V
blocks-
blocks.php104889V
bookmark-template.php12948V
bookmark.php15427V
cache-compat.php5969V
cache.php13474V
canonical.php34523V
capabilities.php42718V
category-template.php57003V
category.php12709V
certificates-
class-IXR.php2543V
class-avif-info.php29615V
class-feed.php539V
class-http.php367V
class-json.php43684V
class-oembed.php401V
class-phpass.php6771V
class-phpmailer.php664V
class-pop3.php21174V
class-requests.php2237V
class-simplepie.php453V
class-smtp.php457V
class-snoopy.php37715V
class-walker-category-dropdown.php2469V
class-walker-category.php8477V
class-walker-comment.php14221V
class-walker-nav-menu.php11784V
class-walker-page-dropdown.php2710V
class-walker-page.php7612V
class-wp-admin-bar.php17874V
class-wp-ajax-response.php5266V
class-wp-application-passwords.php15617V
class-wp-block-bindings-registry.php8463V
class-wp-block-bindings-source.php2992V
class-wp-block-editor-context.php1350V
class-wp-block-list.php4757V
class-wp-block-metadata-registry.php10227V
class-wp-block-parser-block.php2555V
class-wp-block-parser-frame.php2017V
class-wp-block-parser.php11532V
class-wp-block-pattern-categories-registry.php5371V
class-wp-block-patterns-registry.php10783V
class-wp-block-styles-registry.php6262V
class-wp-block-supports.php5612V
class-wp-block-template.php2033V
class-wp-block-templates-registry.php7231V
class-wp-block-type-registry.php5013V
class-wp-block-type.php17265V
class-wp-block.php20438V
class-wp-classic-to-block-menu-converter.php4088V
class-wp-comment-query.php48395V
class-wp-comment.php9372V
class-wp-customize-control.php25730V
class-wp-customize-manager.php202539V
class-wp-customize-nav-menus.php57185V
class-wp-customize-panel.php10637V
class-wp-customize-section.php11209V
class-wp-customize-setting.php29889V
class-wp-customize-widgets.php72157V
class-wp-date-query.php35726V
class-wp-dependencies.php15139V
class-wp-dependency.php2627V
class-wp-duotone.php40783V
class-wp-editor.php72335V
class-wp-embed.php15994V
class-wp-error.php7502V
class-wp-exception.php253V
class-wp-fatal-error-handler.php8150V
class-wp-feed-cache-transient.php3176V
class-wp-feed-cache.php969V
class-wp-hook.php16000V
class-wp-http-cookie.php7389V
class-wp-http-curl.php12541V
class-wp-http-encoding.php6689V
class-wp-http-ixr-client.php3501V
class-wp-http-proxy.php5980V
class-wp-http-requests-hooks.php2022V
class-wp-http-requests-response.php4400V
class-wp-http-response.php2977V
class-wp-http-streams.php16859V
class-wp-http.php41506V
class-wp-image-editor-gd.php19886V
class-wp-image-editor-imagick.php32668V
class-wp-image-editor.php16938V
class-wp-list-util.php7443V
class-wp-locale-switcher.php6630V
class-wp-locale.php16111V
class-wp-matchesmapregex.php1828V
class-wp-meta-query.php30531V
class-wp-metadata-lazyloader.php6833V
class-wp-navigation-fallback.php9211V
class-wp-network-query.php19857V
class-wp-network.php12296V
class-wp-object-cache.php17524V
class-wp-oembed-controller.php6905V
class-wp-oembed.php31475V
class-wp-paused-extensions-storage.php5111V
class-wp-plugin-dependencies.php25319V
class-wp-post-type.php30340V
class-wp-post.php6484V
class-wp-query.php154081V
class-wp-recovery-mode-cookie-service.php6877V
class-wp-recovery-mode-email-service.php11183V
class-wp-recovery-mode-key-service.php4608V
class-wp-recovery-mode-link-service.php3463V
class-wp-recovery-mode.php11435V
class-wp-rewrite.php63688V
class-wp-role.php2523V
class-wp-roles.php8586V
class-wp-script-modules.php19366V
class-wp-scripts.php28344V
class-wp-session-tokens.php7451V
class-wp-simplepie-file.php3408V
class-wp-simplepie-sanitize-kses.php1837V
class-wp-site-query.php31625V
class-wp-site.php7454V
class-wp-styles.php11010V
class-wp-tax-query.php19555V
class-wp-taxonomy.php18567V
class-wp-term-query.php40869V
class-wp-term.php5298V
class-wp-text-diff-renderer-inline.php979V
class-wp-text-diff-renderer-table.php18807V
class-wp-textdomain-registry.php10481V
class-wp-theme-json-data.php1809V
class-wp-theme-json-resolver.php35805V
class-wp-theme-json-schema.php7367V
class-wp-theme-json.php160780V
class-wp-theme.php65413V
class-wp-token-map.php28618V
class-wp-user-meta-session-tokens.php2990V
class-wp-user-query.php43654V
class-wp-user-request.php2222V
class-wp-user.php22827V
class-wp-walker.php13322V
class-wp-widget-factory.php3347V
class-wp-widget.php18424V
class-wp-xmlrpc-server.php214948V
class-wp.php26119V
class-wpdb.php118389V
class.wp-dependencies.php373V
class.wp-scripts.php343V
class.wp-styles.php338V
comment-template.php102773V
comment.php130275V
compat.php16974V
cron.php41594V
css-
customize-
date.php400V
default-constants.php11365V
default-filters.php35685V
default-widgets.php2222V
deprecated.php190130V
embed-template.php338V
embed.php37908V
error-protection.php4121V
feed-atom-comments.php5504V
feed-atom.php3048V
feed-rdf.php2668V
feed-rss.php1189V
feed-rss2-comments.php4136V
feed-rss2.php3799V
feed.php23411V
fonts-
fonts.php9751V
formatting.php335229V
functions.php283163V
functions.wp-scripts.php14558V
functions.wp-styles.php8583V
general-template.php169492V
global-styles-and-settings.php21205V
html-api-
http.php25312V
https-detection.php5661V
https-migration.php4741V
images-
interactivity-api-
js-
kses.php74403V
l10n-
l10n.php68415V
link-template.php157710V
load.php55658V
locale.php162V
media-template.php63043V
media.php218424V
meta.php64409V
ms-blogs.php25772V
ms-default-constants.php4921V
ms-default-filters.php6636V
ms-deprecated.php21759V
ms-files.php2711V
ms-functions.php91249V
ms-load.php19883V
ms-network.php3782V
ms-settings.php4124V
ms-site.php40490V
nav-menu-template.php25917V
nav-menu.php44373V
option.php101759V
php-compat-
pluggable-deprecated.php6263V
pluggable.php115970V
plugin.php35465V
pomo-
post-formats.php7102V
post-template.php66880V
post-thumbnail-template.php10826V
post.php289894V
query.php37035V
registration-functions.php200V
registration.php200V
rest-api-
rest-api.php99593V
revision.php30890V
rewrite.php19541V
robots-template.php5185V
rss-functions.php255V
rss.php23113V
script-loader.php130735V
script-modules.php7712V
session.php258V
shortcodes.php24051V
sitemaps-
sitemaps.php3238V
sodium_compat-
spl-autoload-compat.php441V
style-engine-
style-engine.php7563V
taxonomy.php175438V
template-canvas.php544V
template-loader.php3012V
template.php24154V
theme-compat-
theme-i18n.json1292V
theme-previews.php2832V
theme-templates.php6223V
theme.json8704V
theme.php133985V
update.php36788V
user.php174410V
vars.php6489V
version.php931V
widgets-
widgets.php70682V
wp-db.php445V
wp-diff.php726V
Blog - Page 290 of 508 - My Melon - Digital Marketing & Creative Agency
Skip to content Skip to footer