| Server IP : 10.19.1.101 / Your IP : 216.73.216.158 Web Server : Apache System : Linux web1f13.kinghost.net 5.4.282-1.el8.elrepo.x86_64 #1 SMP Mon Aug 19 18:33:22 EDT 2024 x86_64 User : schererimoveisrs ( 170628) PHP Version : 7.4.33 Disable Function : apache_child_terminate,c99_buff_prepare,c99_sess_put,dl,exec,leak,link,myshellexec,openlog,passthru,pclose,pcntl_exec,php_check_syntax,php_strip_whitespace,popen,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,show_source,symlink,system,socket_listen,socket_create_listen,putenv MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /home/schererimoveisrs/www/wp-content/plugins/wp-crontrol/src/Event/ |
Upload File : |
<?php
/**
* Represents a PHP cron event.
*/
namespace Crontrol\Event;
use Crontrol\Context\UserContext;
use Crontrol\Context\FeatureContext;
/**
* Represents a PHP cron event.
*/
final class PHPCronEvent extends CrontrolEvent {
/**
* The hook name for PHP cron events.
*/
public const HOOK_NAME = 'crontrol_cron_job';
#[\Override]
public function integrity_failed(): bool {
$args = $this->args[0] ?? array();
// This is a PHP cron event saved prior to WP Crontrol 1.16.2.
if ( isset( $this->args['code'] ) ) {
return true;
}
return ! check_integrity( $args['code'] ?? null, $args['hash'] ?? null );
}
#[\Override]
public function has_error(): bool {
if ( isset( $this->args[0]['syntax_error_message'] ) ) {
return true;
}
return $this->integrity_failed();
}
#[\Override]
public function editable( UserContext $user, FeatureContext $features ): bool {
return $features->php_crons_enabled() && $user->can_edit_php_cron_events();
}
#[\Override]
public function runnable( UserContext $user, FeatureContext $features ): bool {
return $features->php_crons_enabled()
&& $user->can_run_php_cron_events()
&& ! $this->has_error()
&& ! $this->is_paused();
}
/**
* Check if this event can be deleted.
*
* Per caps.md: Feature flag is NOT checked for delete operations.
*
* @param UserContext $user User capability context.
* @param FeatureContext $features Feature flag context (not used for delete).
*/
#[\Override]
public function deletable( UserContext $user, FeatureContext $features ): bool {
return $user->can_delete_php_cron_events();
}
#[\Override]
public function get_args_display(): string {
return __( 'PHP Code', 'wp-crontrol' );
}
#[\Override]
public function is_enabled( FeatureContext $features ): bool {
return $features->php_crons_enabled();
}
}