| Server IP : 104.21.25.182 / Your IP : 216.73.216.140 Web Server : Apache System : Linux server.rehabsharif.com 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64 User : nobi37te ( 1003) PHP Version : 8.2.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/nobi37te/public_html/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();
}
}