SILENT KILLERPanel

Current Path: > home > codekrsu > > escapematrixonline.com > wp-content > plugins > wordpress-seo > src > helpers


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: /home/codekrsu//escapematrixonline.com/wp-content/plugins/wordpress-seo/src/helpers

NameTypeSizeLast ModifiedActions
open-graph Directory - -
schema Directory - -
twitter Directory - -
aioseo-helper.php File 1266 bytes April 07 2025 13:46:06.
asset-helper.php File 2572 bytes March 05 2024 17:08:32.
attachment-cleanup-helper.php File 2294 bytes February 07 2023 14:53:12.
author-archive-helper.php File 5375 bytes April 07 2025 13:46:06.
blocks-helper.php File 2378 bytes November 29 2022 19:15:00.
capability-helper.php File 2116 bytes September 01 2020 16:27:02.
crawl-cleanup-helper.php File 8293 bytes January 19 2024 15:31:02.
curl-helper.php File 655 bytes September 01 2022 10:45:32.
current-page-helper.php File 12958 bytes April 07 2025 13:46:06.
date-helper.php File 3208 bytes December 21 2021 15:29:22.
environment-helper.php File 793 bytes November 29 2022 19:15:00.
first-time-configuration-notice-helper.php File 5284 bytes April 07 2025 13:46:06.
home-url-helper.php File 770 bytes September 01 2020 16:27:02.
image-helper.php File 11972 bytes September 24 2024 13:30:56.
import-cursor-helper.php File 1392 bytes April 07 2025 13:46:06.
import-helper.php File 716 bytes April 05 2022 17:50:02.
indexable-helper.php File 9204 bytes June 18 2024 13:15:02.
indexable-to-postmeta-helper.php File 6913 bytes April 07 2025 13:46:06.
indexing-helper.php File 12991 bytes April 07 2025 13:46:06.
language-helper.php File 2716 bytes January 10 2023 17:05:10.
meta-helper.php File 2982 bytes January 25 2022 15:16:10.
notification-helper.php File 1982 bytes April 07 2025 13:46:06.
options-helper.php File 4120 bytes November 05 2024 16:04:06.
pagination-helper.php File 5815 bytes April 07 2025 13:46:06.
permalink-helper.php File 1286 bytes September 29 2020 15:04:14.
post-helper.php File 5553 bytes April 07 2025 13:46:06.
post-type-helper.php File 7349 bytes January 19 2024 15:31:02.
primary-term-helper.php File 1398 bytes January 19 2024 15:31:02.
product-helper.php File 1103 bytes August 08 2023 16:52:42.
redirect-helper.php File 1764 bytes January 19 2024 15:31:02.
require-file-helper.php File 326 bytes April 07 2025 13:46:06.
robots-helper.php File 1777 bytes April 07 2025 13:46:06.
robots-txt-helper.php File 2722 bytes November 29 2022 19:15:00.
sanitization-helper.php File 1056 bytes January 25 2022 15:16:10.
score-icon-helper.php File 2846 bytes May 09 2023 13:01:36.
short-link-helper.php File 3607 bytes April 07 2025 13:46:06.
site-helper.php File 566 bytes March 22 2021 17:43:50.
social-profiles-helper.php File 10990 bytes May 14 2024 17:22:56.
string-helper.php File 1218 bytes January 25 2022 15:16:10.
taxonomy-helper.php File 5100 bytes January 24 2023 15:07:46.
url-helper.php File 8357 bytes April 07 2025 13:46:06.
user-helper.php File 4026 bytes December 03 2024 16:05:20.
wincher-helper.php File 2569 bytes June 13 2023 14:02:52.
woocommerce-helper.php File 1312 bytes March 22 2022 18:19:38.
wordpress-helper.php File 512 bytes July 07 2021 18:45:50.
wpdb-helper.php File 937 bytes April 07 2025 13:46:06.

Reading File: /home/codekrsu//escapematrixonline.com/wp-content/plugins/wordpress-seo/src/helpers/post-helper.php

<?php

namespace Yoast\WP\SEO\Helpers;

use WP_Post;
use Yoast\WP\SEO\Repositories\Indexable_Repository;

/**
 * A helper object for post related things.
 */
class Post_Helper {

	/**
	 * Holds the String_Helper instance.
	 *
	 * @var String_Helper
	 */
	private $string;

	/**
	 * Holds the Post_Type_Helper instance.
	 *
	 * @var Post_Type_Helper
	 */
	private $post_type;

	/**
	 * Represents the indexables repository.
	 *
	 * @var Indexable_Repository
	 */
	private $repository;

	/**
	 * Post_Helper constructor.
	 *
	 * @codeCoverageIgnore It only sets dependencies.
	 *
	 * @param String_Helper    $string_helper    The string helper.
	 * @param Post_Type_Helper $post_type_helper The string helper.
	 */
	public function __construct( String_Helper $string_helper, Post_Type_Helper $post_type_helper ) {
		$this->string    = $string_helper;
		$this->post_type = $post_type_helper;
	}

	/**
	 * Sets the indexable repository. Done to avoid circular dependencies.
	 *
	 * @required
	 *
	 * @param Indexable_Repository $repository The indexable repository.
	 *
	 * @return void
	 */
	public function set_indexable_repository( Indexable_Repository $repository ) {
		$this->repository = $repository;
	}

	/**
	 * Removes all shortcode tags from the given content.
	 *
	 * @codeCoverageIgnore It only wraps a WordPress function.
	 *
	 * @param string $content Content to remove all the shortcode tags from.
	 *
	 * @return string Content without shortcode tags.
	 */
	public function strip_shortcodes( $content ) {
		return \strip_shortcodes( $content );
	}

	/**
	 * Retrieves the post excerpt (without tags).
	 *
	 * @codeCoverageIgnore It only wraps another helper method.
	 *
	 * @param int $post_id Post ID.
	 *
	 * @return string Post excerpt (without tags).
	 */
	public function get_the_excerpt( $post_id ) {
		return $this->string->strip_all_tags( \get_the_excerpt( $post_id ) );
	}

	/**
	 * Retrieves the post type of the current post.
	 *
	 * @codeCoverageIgnore It only wraps a WordPress function.
	 *
	 * @param WP_Post|null $post The post.
	 *
	 * @return string|false Post type on success, false on failure.
	 */
	public function get_post_type( $post = null ) {
		return \get_post_type( $post );
	}

	/**
	 * Retrieves the post title with fallback to `No title`.
	 *
	 * @param int $post_id Optional. Post ID.
	 *
	 * @return string The post title with fallback to `No title`.
	 */
	public function get_post_title_with_fallback( $post_id = 0 ) {
		$post_title = \get_the_title( $post_id );
		if ( $post_title ) {
			return $post_title;
		}

		return \__( 'No title', 'wordpress-seo' );
	}

	/**
	 * Retrieves post data given a post ID.
	 *
	 * @codeCoverageIgnore It wraps a WordPress function.
	 *
	 * @param int $post_id Post ID.
	 *
	 * @return WP_Post|null The post.
	 */
	public function get_post( $post_id ) {
		return \get_post( $post_id );
	}

	/**
	 * Updates the has_public_posts field on attachments for a post_parent.
	 *
	 * An attachment is represented by their post parent when:
	 * - The attachment has a post parent.
	 * - The attachment inherits the post status.
	 *
	 * @codeCoverageIgnore It relies too much on dependencies.
	 *
	 * @param int $post_parent      Post ID.
	 * @param int $has_public_posts Whether the parent is public.
	 *
	 * @return bool Whether the update was successful.
	 */
	public function update_has_public_posts_on_attachments( $post_parent, $has_public_posts ) {
		$query = $this->repository->query()
			->select( 'id' )
			->where( 'object_type', 'post' )
			->where( 'object_sub_type', 'attachment' )
			->where( 'post_status', 'inherit' )
			->where( 'post_parent', $post_parent );

		if ( $has_public_posts !== null ) {
			$query->where_raw( '( has_public_posts IS NULL OR has_public_posts <> %s )', [ $has_public_posts ] );
		}
		else {
			$query->where_not_null( 'has_public_posts' );
		}
		$results = $query->find_array();

		if ( empty( $results ) ) {
			return true;
		}

		$updated = $this->repository->query()
			->set( 'has_public_posts', $has_public_posts )
			->where_id_in( \wp_list_pluck( $results, 'id' ) )
			->update_many();

		return $updated !== false;
	}

	/**
	 * Determines if the post can be indexed.
	 *
	 * @param int $post_id Post ID to check.
	 *
	 * @return bool True if the post can be indexed.
	 */
	public function is_post_indexable( $post_id ) {
		// Don't index posts which are not public (i.e. viewable).
		$post_type = \get_post_type( $post_id );

		if ( ! $this->post_type->is_of_indexable_post_type( $post_type ) ) {
			return false;
		}

		// Don't index excluded post statuses.
		if ( \in_array( \get_post_status( $post_id ), $this->get_excluded_post_statuses(), true ) ) {
			return false;
		}

		// Don't index revisions of posts.
		if ( \wp_is_post_revision( $post_id ) ) {
			return false;
		}

		// Don't index autosaves that are not caught by the auto-draft check.
		if ( \wp_is_post_autosave( $post_id ) ) {
			return false;
		}

		return true;
	}

	/**
	 * Retrieves the list of excluded post statuses.
	 *
	 * @return array The excluded post statuses.
	 */
	public function get_excluded_post_statuses() {
		return [ 'auto-draft' ];
	}

	/**
	 * Retrieves the list of public posts statuses.
	 *
	 * @return array The public post statuses.
	 */
	public function get_public_post_statuses() {
		/**
		 * Filter: 'wpseo_public_post_statuses' - List of public post statuses.
		 *
		 * @param array $post_statuses Post status list, defaults to array( 'publish' ).
		 */
		return \apply_filters( 'wpseo_public_post_statuses', [ 'publish' ] );
	}
}

SILENT KILLER Tool