| Server IP : 87.229.120.60 / Your IP : 216.73.216.245 Web Server : Apache System : Linux outside 5.4.8_Algonet_ZeroMAC_0.9.4.8 #6 SMP Mon Feb 3 20:36:07 CET 2020 x86_64 User : server ( 1002) PHP Version : 8.3.20 Disable Function : exec,passthru,shell_exec,system,proc_open,popen,curl_multi_exec,parse_ini_file,show_source MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/faktorteam/www/wp-content/plugins/wp-rocket/inc/Engine/CriticalPath/ |
Upload File : |
<?php
namespace WP_Rocket\Engine\CriticalPath;
use WP_Error;
/**
* Class RESTWPPost
*
* @package WP_Rocket\Engine\CriticalPath
*/
class RESTWPPost extends RESTWP {
/**
* Part of route namespace for this inherited class item type.
*
* @var string $route_namespace to be set with like post, term.
*/
protected $route_namespace = 'post';
/**
* Validate the item to be sent to generate CPCSS.
*
* @since 3.6
*
* @param int $post_id ID for this post to be validated.
*
* @return true|WP_Error
*/
protected function validate_item_for_generate( $post_id ) {
$status = get_post_status( $post_id );
if ( ! $status ) {
return new WP_Error(
'post_not_exists',
__( 'Requested post does not exist.', 'rocket' ),
[
'status' => 400,
]
);
}
if ( 'publish' !== $status ) {
return new WP_Error(
'post_not_published',
__( 'Cannot generate CPCSS for unpublished post.', 'rocket' ),
[
'status' => 400,
]
);
}
return true;
}
/**
* Validate the item to be sent to delete CPCSS.
*
* @since 3.6
*
* @param int $post_id ID for this post to be validated.
*
* @return true|WP_Error
*/
protected function validate_item_for_delete( $post_id ) {
if ( empty( get_permalink( $post_id ) ) ) {
return new WP_Error(
'post_not_exists',
__( 'Requested post does not exist.', 'rocket' ),
[
'status' => 400,
]
);
}
return true;
}
/**
* Get url for this item.
*
* @since 3.6
*
* @param int $post_id ID for this post to be validated.
*
* @return false|string
*/
protected function get_url( $post_id ) {
return get_permalink( $post_id );
}
/**
* Get CPCSS file path to save CPCSS code into.
*
* @since 3.6
*
* @param int $post_id ID for this post to be validated.
* @param bool $is_mobile Bool identifier for is_mobile CPCSS generation.
*
* @return string
*/
protected function get_path( $post_id, $is_mobile = false ) {
$post_type = get_post_type( $post_id );
return 'posts' . DIRECTORY_SEPARATOR . "{$post_type}-{$post_id}" . ( $is_mobile ? '-mobile' : '' ) . '.css';
}
}