PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /home/trave494/mytube.pm/wp-content/plugins/wp-simple-firewall/src/lib/src/Crons/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : /home/trave494/mytube.pm/wp-content/plugins/wp-simple-firewall/src/lib/src/Crons/StandardCron.php |
<?php namespace FernleafSystems\Wordpress\Plugin\Shield\Crons; use FernleafSystems\Wordpress\Services\Services; trait StandardCron { /** * @var int */ private $nCronFirstRun; protected function setupCron() { try { Services::WpCron() ->setRecurrence( $this->getCronRecurrence() ) ->setNextRun( $this->getFirstRunTimestamp() ) ->createCronJob( $this->getCronName(), [ $this, 'runCron' ] ); } catch ( \Exception $e ) { } add_action( $this->getCon()->prefix( 'deactivate_plugin' ), [ $this, 'deleteCron' ] ); } /** * @return string */ protected function getCronRecurrence() { $sFreq = $this->getCronFrequency(); $aStdIntervals = array_keys( wp_get_schedules() ); return in_array( $sFreq, $aStdIntervals ) ? $sFreq : $this->getCon()->prefix( sprintf( 'per-day-%s', $sFreq ) ); } /** * @return int|string */ protected function getCronFrequency() { return 'daily'; } abstract protected function getCronName() :string; public function getFirstRunTimestamp() :int { return empty( $this->nCronFirstRun ) ? ( Services::Request()->ts() + MINUTE_IN_SECONDS ) : $this->nCronFirstRun; } /** * @return int */ protected function getNextCronRun() { $nNext = wp_next_scheduled( $this->getCronName() ); return is_numeric( $nNext ) ? $nNext : 0; } public function deleteCron() { Services::WpCron()->deleteCronJob( $this->getCronName() ); } protected function resetCron() { $this->deleteCron(); $this->setupCron(); } public function runCron() { // Override to run the actual Cron activity } public function setFirstRun( int $firstRunAt ) :self { $this->nCronFirstRun = $firstRunAt; return $this; } }