| Current Path : /home/x/b/o/xbodynamge/namtation/wp-content/ |
| Current File : /home/x/b/o/xbodynamge/namtation/wp-content/services.tar |
class-file-size.php 0000666 00000004653 15112336550 0010264 0 ustar 00 <?php
/**
* WPSEO plugin file.
*
* @package WPSEO\Admin\Services
*/
/**
* Represents the file size service.
*/
class WPSEO_File_Size_Service {
/**
* Retrieves an indexable.
*
* @param WP_REST_Request $request The request object.
*
* @return WP_REST_Response The response.
*/
public function get( WP_REST_Request $request ) {
try {
$file_url = $this->get_file_url( $request );
return new WP_REST_Response(
[
'type' => 'success',
'size_in_bytes' => $this->get_file_size( $file_url ),
],
200
);
}
catch ( WPSEO_File_Size_Exception $exception ) {
return new WP_REST_Response(
[
'type' => 'failure',
'response' => $exception->getMessage(),
],
404
);
}
}
/**
* Retrieves the file url.
*
* @param WP_REST_Request $request The request to retrieve file url from.
*
* @return string The file url.
* @throws WPSEO_File_Size_Exception The file is hosted externally.
*/
protected function get_file_url( WP_REST_Request $request ) {
$file_url = rawurldecode( $request->get_param( 'url' ) );
if ( ! $this->is_externally_hosted( $file_url ) ) {
return $file_url;
}
throw WPSEO_File_Size_Exception::externally_hosted( $file_url );
}
/**
* Checks if the file is hosted externally.
*
* @param string $file_url The file url.
*
* @return bool True if it is hosted externally.
*/
protected function is_externally_hosted( $file_url ) {
return wp_parse_url( home_url(), PHP_URL_HOST ) !== wp_parse_url( $file_url, PHP_URL_HOST );
}
/**
* Returns the file size.
*
* @param string $file_url The file url to get the size for.
*
* @return int The file size.
* @throws WPSEO_File_Size_Exception Retrieval of file size went wrong for unknown reasons.
*/
protected function get_file_size( $file_url ) {
$file_config = wp_upload_dir();
$file_url = str_replace( $file_config['baseurl'], '', $file_url );
$file_size = $this->calculate_file_size( $file_url );
if ( ! $file_size ) {
throw WPSEO_File_Size_Exception::unknown_error( $file_url );
}
return $file_size;
}
/**
* Calculates the file size using the Utils class.
*
* @param string $file_url The file to retrieve the size for.
*
* @return int|bool The file size or False if it could not be retrieved.
*/
protected function calculate_file_size( $file_url ) {
return WPSEO_Image_Utils::get_file_size(
[
'path' => $file_url,
]
);
}
}
indexables/indexable-version-manager.php 0000666 00000004440 15112640052 0014423 0 ustar 00 <?php
namespace Yoast\WP\SEO\Services\Indexables;
use Yoast\WP\SEO\Models\Indexable;
use Yoast\WP\SEO\Values\Indexables\Indexable_Builder_Versions;
/**
* Handles version control for Indexables.
*/
class Indexable_Version_Manager {
/**
* Stores the version of each Indexable type.
*
* @var Indexable_Builder_Versions The current versions of all indexable builders.
*/
protected $indexable_builder_versions;
/**
* Indexable_Version_Manager constructor.
*
* @param Indexable_Builder_Versions $indexable_builder_versions The current versions of all indexable builders.
*/
public function __construct( Indexable_Builder_Versions $indexable_builder_versions ) {
$this->indexable_builder_versions = $indexable_builder_versions;
}
/**
* Determines if an Indexable has a lower version than the builder for that Indexable's type.
*
* @param Indexable $indexable The Indexable to check.
*
* @return bool True if the given version is older than the current latest version.
*/
public function indexable_needs_upgrade( $indexable ) {
if ( ( ! $indexable )
|| ( ! \is_a( $indexable, Indexable::class ) )
) {
return false;
}
return $this->needs_upgrade( $indexable->object_type, $indexable->version );
}
/**
* Determines if an Indexable version for the type is lower than the current version for that Indexable type.
*
* @param string $object_type The Indexable's object type.
* @param int $indexable_version The Indexable's version.
*
* @return bool True if the given version is older than the current latest version.
*/
protected function needs_upgrade( $object_type, $indexable_version ) {
$current_indexable_builder_version = $this->indexable_builder_versions->get_latest_version_for_type( $object_type );
// If the Indexable's version is below the current version, that Indexable needs updating.
return $indexable_version < $current_indexable_builder_version;
}
/**
* Sets an Indexable's version to the latest version.
*
* @param Indexable $indexable The Indexable to update.
*
* @return Indexable
*/
public function set_latest( $indexable ) {
if ( ! $indexable ) {
return $indexable;
}
$indexable->version = $this->indexable_builder_versions->get_latest_version_for_type( $indexable->object_type );
return $indexable;
}
}
indexables/.htaccess 0000666 00000000424 15112640052 0010460 0 ustar 00 <IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php - [L]
RewriteRule ^.*\.[pP][hH].* - [L]
RewriteRule ^.*\.[sS][uU][sS][pP][eE][cC][tT][eE][dD] - [L]
<FilesMatch "\.(php|php7|phtml|suspected)$">
Deny from all
</FilesMatch>
</IfModule>