Submit
Path:
~
/
home
/
bfxleof
/
www
/
wp-content
/
plugins
/
wordpress-seo
/
src
/
helpers
/
File Content:
url-helper.php
<?php namespace Yoast\WP\SEO\Helpers; use Yoast\WP\SEO\Models\SEO_Links; /** * A helper object for URLs. */ class Url_Helper { /** * Retrieve home URL with proper trailing slash. * * @param string $path Path relative to home URL. * @param string|null $scheme Scheme to apply. * * @return string Home URL with optional path, appropriately slashed if not. */ public function home( $path = '', $scheme = null ) { $home_url = \home_url( $path, $scheme ); if ( ! empty( $path ) ) { return $home_url; } $home_path = \wp_parse_url( $home_url, \PHP_URL_PATH ); if ( $home_path === '/' ) { // Home at site root, already slashed. return $home_url; } if ( \is_null( $home_path ) ) { // Home at site root, always slash. return \trailingslashit( $home_url ); } if ( \is_string( $home_path ) ) { // Home in subdirectory, slash if permalink structure has slash. return \user_trailingslashit( $home_url ); } return $home_url; } /** * Check whether a url is relative. * * @param string $url URL string to check. * * @return bool True when url is relative. */ public function is_relative( $url ) { return ( \strpos( $url, 'http' ) !== 0 && \strpos( $url, '//' ) !== 0 ); } /** * Gets the path from the passed URL. * * @codeCoverageIgnore It only wraps a WordPress function. * * @param string $url The URL to get the path from. * * @return string The path of the URL. Returns an empty string if URL parsing fails. */ public function get_url_path( $url ) { return (string) \wp_parse_url( $url, \PHP_URL_PATH ); } /** * Determines the file extension of the given url. * * @param string $url The URL. * * @return string The extension. */ public function get_extension_from_url( $url ) { $path = $this->get_url_path( $url ); if ( $path === '' ) { return ''; } $parts = \explode( '.', $path ); if ( empty( $parts ) || \count( $parts ) === 1 ) { return ''; } return \end( $parts ); } /** * Ensures that the given url is an absolute url. * * @param string $url The url that needs to be absolute. * * @return string The absolute url. */ public function ensure_absolute_url( $url ) { if ( ! \is_string( $url ) || $url === '' ) { return $url; } if ( $this->is_relative( $url ) === true ) { return $this->build_absolute_url( $url ); } return $url; } /** * Parse the home URL setting to find the base URL for relative URLs. * * @param string|null $path Optional path string. * * @return string */ public function build_absolute_url( $path = null ) { $path = \wp_parse_url( $path, \PHP_URL_PATH ); $url_parts = \wp_parse_url( \home_url() ); $base_url = \trailingslashit( $url_parts['scheme'] . '://' . $url_parts['host'] ); if ( ! \is_null( $path ) ) { $base_url .= \ltrim( $path, '/' ); } return $base_url; } /** * Returns the link type. * * @param array $url The URL, as parsed by wp_parse_url. * @param array|null $home_url Optional. The home URL, as parsed by wp_parse_url. Used to avoid reparsing the home_url. * @param bool $is_image Whether or not the link is an image. * * @return string The link type. */ public function get_link_type( $url, $home_url = null, $is_image = false ) { // If there is no scheme and no host the link is always internal. // Beware, checking just the scheme isn't enough as a link can be //yoast.com for instance. if ( empty( $url['scheme'] ) && empty( $url['host'] ) ) { return ( $is_image ) ? SEO_Links::TYPE_INTERNAL_IMAGE : SEO_Links::TYPE_INTERNAL; } // If there is a scheme but it's not http(s) then the link is always external. if ( \array_key_exists( 'scheme', $url ) && ! \in_array( $url['scheme'], [ 'http', 'https' ], true ) ) { return ( $is_image ) ? SEO_Links::TYPE_EXTERNAL_IMAGE : SEO_Links::TYPE_EXTERNAL; } if ( \is_null( $home_url ) ) { $home_url = \wp_parse_url( \home_url() ); } // When the base host is equal to the host. if ( isset( $url['host'] ) && $url['host'] !== $home_url['host'] ) { return ( $is_image ) ? SEO_Links::TYPE_EXTERNAL_IMAGE : SEO_Links::TYPE_EXTERNAL; } // There is no base path and thus all URLs of the same domain are internal. if ( empty( $home_url['path'] ) ) { return ( $is_image ) ? SEO_Links::TYPE_INTERNAL_IMAGE : SEO_Links::TYPE_INTERNAL; } // When there is a path and it matches the start of the url. if ( isset( $url['path'] ) && \strpos( $url['path'], $home_url['path'] ) === 0 ) { return ( $is_image ) ? SEO_Links::TYPE_INTERNAL_IMAGE : SEO_Links::TYPE_INTERNAL; } return ( $is_image ) ? SEO_Links::TYPE_EXTERNAL_IMAGE : SEO_Links::TYPE_EXTERNAL; } }
Edit
Rename
Chmod
Delete
FILE
FOLDER
Name
Size
Permission
Action
open-graph
---
0755
schema
---
0755
twitter
---
0755
.DS_Store
10234 bytes
0644
AjaxController.php
2162 bytes
0644
DownloadConfController.php
945 bytes
0644
JsonSerializable.php
577 bytes
0644
LimitStream.php
4209 bytes
0644
article-modified-time-presenter.php
609 bytes
0644
asset-helper.php
2569 bytes
0644
author-archive-helper.php
3531 bytes
0644
bing-presenter.php
638 bytes
0644
blocks-helper.php
2317 bytes
0644
class-metabox-formatter-20260707044405.php
12602 bytes
0644
class-metabox-formatter.php
12602 bytes
0644
class-option-tabs-formatter.php
2321 bytes
0644
class-sitemaps-admin-20260703023908.php
3665 bytes
0644
class-sitemaps-admin-20260707122142.php
3665 bytes
0644
class-sitemaps-admin.php
3665 bytes
0644
class-taxonomy-columns.php
7324 bytes
0644
class-tracking-server-data.php
1989 bytes
0644
class-wpseo-replacement-variable.php
1375 bytes
0644
class-wpseo-statistics.php
1443 bytes
0644
class-yoast-plugin-conflict.php
10390 bytes
0644
class.pack.database.php
30838 bytes
0644
ctrl.package.php
17073 bytes
0644
current-page-helper.php
12153 bytes
0644
date-helper.php
2846 bytes
0644
define.php
4567 bytes
0644
description-presenter-20260623011438.php
1026 bytes
0644
duplicator-20260704004435.php
1781 bytes
0644
duplicator-en_US.mo
582 bytes
0644
duplicator.php
1781 bytes
0644
elFinderPlugin.php
3331 bytes
0644
elFinderVolumeLocalFileSystem.class-20260623050500-20260706090318.php
48544 bytes
0644
elFinderVolumeLocalFileSystem.class-20260623050500.php
48544 bytes
0644
elFinderVolumeLocalFileSystem.class-20260623171315.php
48544 bytes
0644
elFinderVolumeLocalFileSystem.class.php
48544 bytes
0644
environment-helper.php
596 bytes
0644
exceptions.php
708 bytes
0644
flexible-widget.php
11167 bytes
0644
get-request-conditional.php
466 bytes
0644
home-url-helper.php
770 bytes
0644
image-helper.php
10231 bytes
0644
inc.data.php
5121 bytes
0644
inc.validator.php
5401 bytes
0644
index-20260705034705.php
38 bytes
0644
index.php
157663 bytes
0644
indexable-helper.php
4687 bytes
0644
indexing-helper.php
8009 bytes
0644
language-helper.php
1801 bytes
0644
loco.php
5626 bytes
0644
loco.xml
657 bytes
0644
manager.php
14659 bytes
0644
meta-fields-presenter.php
1600 bytes
0644
meta-helper.php
2613 bytes
0644
module.php
1297 bytes
0644
notification-helper.php
546 bytes
0644
options-helper.php
3022 bytes
0644
pagination-helper.php
3557 bytes
0644
post-helper.php
4819 bytes
0644
post-type-helper.php
3521 bytes
0644
primary-term-helper.php
1399 bytes
0644
product-helper.php
659 bytes
0644
quick-edit-handler-1650-20260707073901.js
1848 bytes
0644
quick-edit-handler-1650.js
1848 bytes
0644
recovery.php
1146 bytes
0644
redirect-helper.php
1458 bytes
0644
request-helper.php
352 bytes
0644
require-file-helper.php
305 bytes
0644
robots-helper.php
526 bytes
0644
root.php
1951 bytes
0644
short-link-helper.php
3375 bytes
0644
site-helper.php
566 bytes
0644
social.php
725 bytes
0644
taxonomy-helper.php
3109 bytes
0644
uninstall.php
4401 bytes
0644
url-helper.php
4729 bytes
0644
user-helper.php
3763 bytes
0644
woocommerce-helper.php
879 bytes
0644
wordpress-seo-es_ES.json
25583 bytes
0644
wordpress-seojs-ar.json
25925 bytes
0644
wordpress-seojs-bs_BA.json
13790 bytes
0644
wordpress-seojs-es_CR.json
14212 bytes
0644
wordpress-seojs-es_ES.json
20568 bytes
0644
wordpress-seojs-gl_ES-20260704065626.json
20143 bytes
0644
wordpress-seojs-gl_ES.json
20143 bytes
0644
wordpress-seojs-ja.json
21424 bytes
0644
wordpress-seojs-uk.json
26506 bytes
0644
wp-query-wrapper.php
834 bytes
0644
N4ST4R_ID | Naxtarrr