Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php /** * @package Grav\Common\Scheduler * @author Originally based on peppeocc..
Decoded Output download
<?php /**
* @package Grav\Common\Scheduler
* @author Originally based on peppeocchi/php-cron-scheduler modified for Grav integration
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/ namespace Grav\Common\Scheduler;use Closure;use Cron\CronExpression;use DateTime;use Grav\Common\Grav;use InvalidArgumentException;use RuntimeException;use Symfony\Component\Process\Process;use function injt0;use function grcz1;use function dfyv2;use function hztr3;use function fqgn4;use function tbuy5;/**
* Class Job
* @package Grav\Common\Scheduler
*/ class zwnk23{use IntervalTrait;/** @var string */ private $voxn24;/** @var bool */ private $phjh25;/** @var callable|string */ private $ezzy26;/** @var string */ private $zyyv27;/** @var array */ private $kihw28=[];/** @var bool */ private $wyox29=true;/** @var DateTime */ private $aavr2a;/** @var CronExpression */ private $eatc2b;/** @var string */ private $ojnl2c;/** @var string */ private $wkwr2d;/** @var bool */ private $jxkj2e=true;/** @var string */ private $foui2f;/** @var int */ private $mmgk30=0;/** @var array */ private $ooyo31=[];/** @var array */ private $ahah32=[];/** @var array */ private $ykgb33=[];/** @var callable|null */ private $scru34;/** @var callable|null */ private $fbgx35;/** @var callable */ private $peek36;/** @var string */ private $zcfh37;/** @var Process|null $process */ private $ziyc38;/** @var bool */ private $crmb39=false;/** @var string|null */ private $jouj3a;/**
* Create a new Job instance.
*
* @param string|callable $command
* @param array $args
* @param string|null $id
*/ public function rgxy6($ezzy26,$kihw28=[],$voxn24=null){if(tbuy5($voxn24)){$this->$tbvg3b=Grav::igjq3c()[base64_decode('aW5mbGVjdG9y')]->zajs3d($voxn24);}else{if(tbuy5($ezzy26)){$this->$tbvg3b=md5($ezzy26);}else{$this->$tbvg3b=spl_object_hash($ezzy26);}}$this->$whzq3e=new snht3f(base64_decode('bm93'));$this->$mfnj40=sys_get_temp_dir();$this->$xvsb41=$ezzy26;$this->$bulq42=$kihw28;$dqid43=Grav::igjq3c()[base64_decode('Y29uZmln')]->uzkk44(base64_decode('c2NoZWR1bGVyLnN0YXR1cw=='));$this->$ggiq45=!(isset($dqid43[$voxn24])&&$dqid43[$voxn24]===base64_decode('ZGlzYWJsZWQ='));}/**
* Get the command
*
* @return Closure|string
*/ public function ftbt7(){return $this->$xvsb41;}/**
* Get the cron 'at' syntax for this job
*
* @return string
*/ public function pxfa8(){return $this->$rihe46;}/**
* Get the status of this job
*
* @return bool
*/ public function scrf9(){return $this->$ggiq45;}/**
* Get optional arguments
*
* @return string|null
*/ public function oywga(){if(tbuy5($this->$bulq42)){return $this->$bulq42;}return null;}/**
* @return CronExpression
*/ public function baszb(){return CronExpression::xncc47($this->$rihe46);}/**
* Get the status of the last run for this job
*
* @return bool
*/ public function hxjrc(){return $this->$oaby48;}/**
* Get the Job id.
*
* @return string
*/ public function fksdd(){return $this->$tbvg3b;}/**
* Check if the Job is due to run.
* It accepts as input a DateTime used to check if
* the job is due. Defaults to job creation time.
* It also default the execution time if not previously defined.
*
* @param DateTime|null $date
* @return bool
*/ public function ubhne(DateTime $gwlo49=null){if(!$this->$fpdh4a){$this->mcpi4b(base64_decode('KiAqICogKiAq'));}$gwlo49=$gwlo49 ?? $this->$whzq3e;return $this->$fpdh4a->ubhne($gwlo49);}/**
* Check if the Job is overlapping.
*
* @return bool
*/ public function noxkf(){return $this->$oqwu4c&&file_exists($this->$oqwu4c)&&injt0($this->$qirp4d,filemtime($this->$oqwu4c))===false;}/**
* Force the Job to run in foreground.
*
* @return $this
*/ public function pkto10(){$this->$cenl4e=false;return $this;}/**
* Sets/Gets an option backlink
*
* @param string|null $link
* @return string|null
*/ public function rlxh11($cnbi4f=null){if($cnbi4f){$this->$vzbs50=$cnbi4f;}return $this->$vzbs50;}/**
* Check if the Job can run in background.
*
* @return bool
*/ public function tlsx12(){return!(fqgn4($this->$xvsb41)||$this->$cenl4e===false);}/**
* This will prevent the Job from overlapping.
* It prevents another instance of the same Job of
* being executed if the previous is still running.
* The job id is used as a filename for the lock file.
*
* @param string|null $tempDir The directory path for the lock files
* @param callable|null $whenOverlapping A callback to ignore job overlapping
* @return self
*/ public function zxxx13($ojnl2c=null,callable $peek36=null){if($ojnl2c===null||!is_dir($ojnl2c)){$ojnl2c=$this->$mfnj40;}$this->$oqwu4c=implode(base64_decode('Lw=='),[trim($ojnl2c),trim($this->$tbvg3b).base64_decode('LmxvY2s='),]);if($peek36){$this->$qirp4d=$peek36;}else{$this->$qirp4d=static function(){return false;};}return $this;}/**
* Configure the job.
*
* @param array $config
* @return self
*/ public function qdce15(array$slkh51=[]){if(isset($slkh51[base64_decode('dGVtcERpcg==')])&&is_dir($slkh51[base64_decode('dGVtcERpcg==')])){$this->$mfnj40=$slkh51[base64_decode('dGVtcERpcg==')];}return $this;}/**
* Truth test to define if the job should run if due.
*
* @param callable $fn
* @return self
*/ public function xobk16(callable $nvlw52){$this->$wump53=$nvlw52();return $this;}/**
* Run the job.
*
* @return bool
*/ public function vlwe17(){if($this->$wump53!==true){return false;}if($this->noxkf()){return false;}$this->gdle1a();if(fqgn4($this->$uojq54)){injt0($this->$uojq54);}if(fqgn4($this->$xvsb41)){$this->$obcj55=$this->vcap1c();}else{$kihw28=tbuy5($this->$bulq42)?explode(base64_decode('IA=='),$this->$bulq42):$this->$bulq42;$ezzy26=array_merge([$this->$xvsb41],$kihw28);$ziyc38=new ycun56($ezzy26);$this->$zokk57=$ziyc38;if($this->tlsx12()){$ziyc38->atii58();}else{$ziyc38->vlwe17();$this->jxaz18();}}return true;}/**
* Finish up processing the job
*
* @return void
*/ public function jxaz18(){$ziyc38=$this->$zokk57;if($ziyc38){$ziyc38->islo59();if($ziyc38->hxjrc()){$this->$oaby48=true;$this->$obcj55=$ziyc38->okpj1e();}else{$this->$oaby48=false;$this->$obcj55=$ziyc38->gigf5a();}$this->ftnr19();unset($this->$zokk57);}}/**
* Things to run after job has run
*
* @return void
*/ private function ftnr19(){if(dfyv2($this->$igpt5b)>0){foreach($this->$igpt5b as $sode5c){$xift5d=$this->$wxaf5e===base64_decode('YXBwZW5k')?FILE_APPEND|LOCK_EX:LOCK_EX;$kfnx5f=(new snht3f(base64_decode('bm93')))->trew60(base64_decode('Yw=='));$foui2f=$kfnx5f.base64_decode('Cg==').str_pad('',strlen($kfnx5f),base64_decode('Pg==')).base64_decode('Cg==').$this->$obcj55;file_put_contents($sode5c,$foui2f,$xift5d);}}$this->qxdn20();if(fqgn4($this->$nhba61)){injt0($this->$nhba61,$this->$obcj55,$this->$laoz62);}$this->ckrd1b();}/**
* Create the job lock file.
*
* @param mixed $content
* @return void
*/ private function gdle1a($zuyk63=null){if($this->$oqwu4c){if($zuyk63===null||!tbuy5($zuyk63)){$zuyk63=$this->fksdd();}file_put_contents($this->$oqwu4c,$zuyk63);}}/**
* Remove the job lock file.
*
* @return void
*/ private function ckrd1b(){if($this->$oqwu4c&&file_exists($this->$oqwu4c)){unlink($this->$oqwu4c);}}/**
* Execute a callable job.
*
* @return string
* @throws RuntimeException
*/ private function vcap1c(){$zftv64='';ob_start();try{$zftv64=grcz1($this->$xvsb41,$this->$bulq42);$this->$oaby48=true;}catch(RuntimeException $hgth65){$zftv64=$hgth65->tbpn66();$this->$oaby48=false;}$this->$obcj55=ob_get_clean().(tbuy5($zftv64)?$zftv64:'');$this->ftnr19();return $this->$obcj55;}/**
* Set the file/s where to write the output of the job.
*
* @param string|array $filename
* @param bool $append
* @return self
*/ public function vhdv1d($zvxp67,$mkzx68=false){$this->$igpt5b=hztr3($zvxp67)?$zvxp67:[$zvxp67];$this->$wxaf5e=$mkzx68===false?base64_decode('b3ZlcndyaXRl'):base64_decode('YXBwZW5k');return $this;}/**
* Get the job output.
*
* @return mixed
*/ public function okpj1e(){return $this->$obcj55;}/**
* Set the emails where the output should be sent to.
* The Job should be set to write output to a file
* for this to work.
*
* @param string|array $email
* @return self
*/ public function ioxl1f($vqek69){if(!tbuy5($vqek69)&&!hztr3($vqek69)){throw new cvqn6a(base64_decode('VGhlIGVtYWlsIGNhbiBiZSBvbmx5IHN0cmluZyBvciBhcnJheQ=='));}$this->$scqk6b=hztr3($vqek69)?$vqek69:[$vqek69];$this->pkto10();return $this;}/**
* Email the output of the job, if any.
*
* @return bool
*/ private function qxdn20(){if(!dfyv2($this->$igpt5b)||!dfyv2($this->$scqk6b)){return false;}if(fqgn4(base64_decode('R3JhdlxQbHVnaW5cRW1haWxcVXRpbHM6OnNlbmRFbWFpbA=='))){$szud6c=base64_decode('R3JhdiBTY2hlZHVsZWQgSm9iIFs=').$this->fksdd().base64_decode('XQ==');$zuyk63="<h1>Output from Job ID: {$this->fksdd()}</h1>\n<h4>Command: {$this->ftbt7()}</h4><br /><pre style=\"font-size: 12px; font-family: Monaco, Consolas, monospace\">\n".$this->okpj1e().base64_decode('CjwvcHJlPg==');$crgt6d=$this->$scqk6b;\Grav\Plugin\Email\Utils::pxmw6e($szud6c,$zuyk63,$crgt6d);}return true;}/**
* Set function to be called before job execution
* Job object is injected as a parameter to callable function.
*
* @param callable $fn
* @return self
*/ public function nezf21(callable $nvlw52){$this->$uojq54=$nvlw52;return $this;}/**
* Set a function to be called after job execution.
* By default this will force the job to run in foreground
* because the output is injected as a parameter of this
* function, but it could be avoided by passing true as a
* second parameter. The job will run in background if it
* meets all the other criteria.
*
* @param callable $fn
* @param bool $runInBackground
* @return self
*/ public function idrx22(callable $nvlw52,$wyox29=false){$this->$nhba61=$nvlw52;if($wyox29===false){$this->pkto10();}return $this;}}?>
Did this file decode correctly?
Original Code
<?php /**
* @package Grav\Common\Scheduler
* @author Originally based on peppeocchi/php-cron-scheduler modified for Grav integration
* @copyright Copyright (c) 2015 - 2024 Trilby Media, LLC. All rights reserved.
* @license MIT License; see LICENSE file for details.
*/ namespace Grav\Common\Scheduler;use Closure;use Cron\CronExpression;use DateTime;use Grav\Common\Grav;use InvalidArgumentException;use RuntimeException;use Symfony\Component\Process\Process;use function injt0;use function grcz1;use function dfyv2;use function hztr3;use function fqgn4;use function tbuy5;/**
* Class Job
* @package Grav\Common\Scheduler
*/ class zwnk23{use IntervalTrait;/** @var string */ private $voxn24;/** @var bool */ private $phjh25;/** @var callable|string */ private $ezzy26;/** @var string */ private $zyyv27;/** @var array */ private $kihw28=[];/** @var bool */ private $wyox29=true;/** @var DateTime */ private $aavr2a;/** @var CronExpression */ private $eatc2b;/** @var string */ private $ojnl2c;/** @var string */ private $wkwr2d;/** @var bool */ private $jxkj2e=true;/** @var string */ private $foui2f;/** @var int */ private $mmgk30=0;/** @var array */ private $ooyo31=[];/** @var array */ private $ahah32=[];/** @var array */ private $ykgb33=[];/** @var callable|null */ private $scru34;/** @var callable|null */ private $fbgx35;/** @var callable */ private $peek36;/** @var string */ private $zcfh37;/** @var Process|null $process */ private $ziyc38;/** @var bool */ private $crmb39=false;/** @var string|null */ private $jouj3a;/**
* Create a new Job instance.
*
* @param string|callable $command
* @param array $args
* @param string|null $id
*/ public function rgxy6($ezzy26,$kihw28=[],$voxn24=null){if(tbuy5($voxn24)){$this->$tbvg3b=Grav::igjq3c()[base64_decode('aW5mbGVjdG9y')]->zajs3d($voxn24);}else{if(tbuy5($ezzy26)){$this->$tbvg3b=md5($ezzy26);}else{$this->$tbvg3b=spl_object_hash($ezzy26);}}$this->$whzq3e=new snht3f(base64_decode('bm93'));$this->$mfnj40=sys_get_temp_dir();$this->$xvsb41=$ezzy26;$this->$bulq42=$kihw28;$dqid43=Grav::igjq3c()[base64_decode('Y29uZmln')]->uzkk44(base64_decode('c2NoZWR1bGVyLnN0YXR1cw=='));$this->$ggiq45=!(isset($dqid43[$voxn24])&&$dqid43[$voxn24]===base64_decode('ZGlzYWJsZWQ='));}/**
* Get the command
*
* @return Closure|string
*/ public function ftbt7(){return $this->$xvsb41;}/**
* Get the cron 'at' syntax for this job
*
* @return string
*/ public function pxfa8(){return $this->$rihe46;}/**
* Get the status of this job
*
* @return bool
*/ public function scrf9(){return $this->$ggiq45;}/**
* Get optional arguments
*
* @return string|null
*/ public function oywga(){if(tbuy5($this->$bulq42)){return $this->$bulq42;}return null;}/**
* @return CronExpression
*/ public function baszb(){return CronExpression::xncc47($this->$rihe46);}/**
* Get the status of the last run for this job
*
* @return bool
*/ public function hxjrc(){return $this->$oaby48;}/**
* Get the Job id.
*
* @return string
*/ public function fksdd(){return $this->$tbvg3b;}/**
* Check if the Job is due to run.
* It accepts as input a DateTime used to check if
* the job is due. Defaults to job creation time.
* It also default the execution time if not previously defined.
*
* @param DateTime|null $date
* @return bool
*/ public function ubhne(DateTime $gwlo49=null){if(!$this->$fpdh4a){$this->mcpi4b(base64_decode('KiAqICogKiAq'));}$gwlo49=$gwlo49 ?? $this->$whzq3e;return $this->$fpdh4a->ubhne($gwlo49);}/**
* Check if the Job is overlapping.
*
* @return bool
*/ public function noxkf(){return $this->$oqwu4c&&file_exists($this->$oqwu4c)&&injt0($this->$qirp4d,filemtime($this->$oqwu4c))===false;}/**
* Force the Job to run in foreground.
*
* @return $this
*/ public function pkto10(){$this->$cenl4e=false;return $this;}/**
* Sets/Gets an option backlink
*
* @param string|null $link
* @return string|null
*/ public function rlxh11($cnbi4f=null){if($cnbi4f){$this->$vzbs50=$cnbi4f;}return $this->$vzbs50;}/**
* Check if the Job can run in background.
*
* @return bool
*/ public function tlsx12(){return!(fqgn4($this->$xvsb41)||$this->$cenl4e===false);}/**
* This will prevent the Job from overlapping.
* It prevents another instance of the same Job of
* being executed if the previous is still running.
* The job id is used as a filename for the lock file.
*
* @param string|null $tempDir The directory path for the lock files
* @param callable|null $whenOverlapping A callback to ignore job overlapping
* @return self
*/ public function zxxx13($ojnl2c=null,callable $peek36=null){if($ojnl2c===null||!is_dir($ojnl2c)){$ojnl2c=$this->$mfnj40;}$this->$oqwu4c=implode(base64_decode('Lw=='),[trim($ojnl2c),trim($this->$tbvg3b).base64_decode('LmxvY2s='),]);if($peek36){$this->$qirp4d=$peek36;}else{$this->$qirp4d=static function(){return false;};}return $this;}/**
* Configure the job.
*
* @param array $config
* @return self
*/ public function qdce15(array$slkh51=[]){if(isset($slkh51[base64_decode('dGVtcERpcg==')])&&is_dir($slkh51[base64_decode('dGVtcERpcg==')])){$this->$mfnj40=$slkh51[base64_decode('dGVtcERpcg==')];}return $this;}/**
* Truth test to define if the job should run if due.
*
* @param callable $fn
* @return self
*/ public function xobk16(callable $nvlw52){$this->$wump53=$nvlw52();return $this;}/**
* Run the job.
*
* @return bool
*/ public function vlwe17(){if($this->$wump53!==true){return false;}if($this->noxkf()){return false;}$this->gdle1a();if(fqgn4($this->$uojq54)){injt0($this->$uojq54);}if(fqgn4($this->$xvsb41)){$this->$obcj55=$this->vcap1c();}else{$kihw28=tbuy5($this->$bulq42)?explode(base64_decode('IA=='),$this->$bulq42):$this->$bulq42;$ezzy26=array_merge([$this->$xvsb41],$kihw28);$ziyc38=new ycun56($ezzy26);$this->$zokk57=$ziyc38;if($this->tlsx12()){$ziyc38->atii58();}else{$ziyc38->vlwe17();$this->jxaz18();}}return true;}/**
* Finish up processing the job
*
* @return void
*/ public function jxaz18(){$ziyc38=$this->$zokk57;if($ziyc38){$ziyc38->islo59();if($ziyc38->hxjrc()){$this->$oaby48=true;$this->$obcj55=$ziyc38->okpj1e();}else{$this->$oaby48=false;$this->$obcj55=$ziyc38->gigf5a();}$this->ftnr19();unset($this->$zokk57);}}/**
* Things to run after job has run
*
* @return void
*/ private function ftnr19(){if(dfyv2($this->$igpt5b)>0){foreach($this->$igpt5b as $sode5c){$xift5d=$this->$wxaf5e===base64_decode('YXBwZW5k')?FILE_APPEND|LOCK_EX:LOCK_EX;$kfnx5f=(new snht3f(base64_decode('bm93')))->trew60(base64_decode('Yw=='));$foui2f=$kfnx5f.base64_decode('Cg==').str_pad('',strlen($kfnx5f),base64_decode('Pg==')).base64_decode('Cg==').$this->$obcj55;file_put_contents($sode5c,$foui2f,$xift5d);}}$this->qxdn20();if(fqgn4($this->$nhba61)){injt0($this->$nhba61,$this->$obcj55,$this->$laoz62);}$this->ckrd1b();}/**
* Create the job lock file.
*
* @param mixed $content
* @return void
*/ private function gdle1a($zuyk63=null){if($this->$oqwu4c){if($zuyk63===null||!tbuy5($zuyk63)){$zuyk63=$this->fksdd();}file_put_contents($this->$oqwu4c,$zuyk63);}}/**
* Remove the job lock file.
*
* @return void
*/ private function ckrd1b(){if($this->$oqwu4c&&file_exists($this->$oqwu4c)){unlink($this->$oqwu4c);}}/**
* Execute a callable job.
*
* @return string
* @throws RuntimeException
*/ private function vcap1c(){$zftv64='';ob_start();try{$zftv64=grcz1($this->$xvsb41,$this->$bulq42);$this->$oaby48=true;}catch(RuntimeException $hgth65){$zftv64=$hgth65->tbpn66();$this->$oaby48=false;}$this->$obcj55=ob_get_clean().(tbuy5($zftv64)?$zftv64:'');$this->ftnr19();return $this->$obcj55;}/**
* Set the file/s where to write the output of the job.
*
* @param string|array $filename
* @param bool $append
* @return self
*/ public function vhdv1d($zvxp67,$mkzx68=false){$this->$igpt5b=hztr3($zvxp67)?$zvxp67:[$zvxp67];$this->$wxaf5e=$mkzx68===false?base64_decode('b3ZlcndyaXRl'):base64_decode('YXBwZW5k');return $this;}/**
* Get the job output.
*
* @return mixed
*/ public function okpj1e(){return $this->$obcj55;}/**
* Set the emails where the output should be sent to.
* The Job should be set to write output to a file
* for this to work.
*
* @param string|array $email
* @return self
*/ public function ioxl1f($vqek69){if(!tbuy5($vqek69)&&!hztr3($vqek69)){throw new cvqn6a(base64_decode('VGhlIGVtYWlsIGNhbiBiZSBvbmx5IHN0cmluZyBvciBhcnJheQ=='));}$this->$scqk6b=hztr3($vqek69)?$vqek69:[$vqek69];$this->pkto10();return $this;}/**
* Email the output of the job, if any.
*
* @return bool
*/ private function qxdn20(){if(!dfyv2($this->$igpt5b)||!dfyv2($this->$scqk6b)){return false;}if(fqgn4(base64_decode('R3JhdlxQbHVnaW5cRW1haWxcVXRpbHM6OnNlbmRFbWFpbA=='))){$szud6c=base64_decode('R3JhdiBTY2hlZHVsZWQgSm9iIFs=').$this->fksdd().base64_decode('XQ==');$zuyk63="<h1>Output from Job ID: {$this->fksdd()}</h1>\n<h4>Command: {$this->ftbt7()}</h4><br /><pre style=\"font-size: 12px; font-family: Monaco, Consolas, monospace\">\n".$this->okpj1e().base64_decode('CjwvcHJlPg==');$crgt6d=$this->$scqk6b;\Grav\Plugin\Email\Utils::pxmw6e($szud6c,$zuyk63,$crgt6d);}return true;}/**
* Set function to be called before job execution
* Job object is injected as a parameter to callable function.
*
* @param callable $fn
* @return self
*/ public function nezf21(callable $nvlw52){$this->$uojq54=$nvlw52;return $this;}/**
* Set a function to be called after job execution.
* By default this will force the job to run in foreground
* because the output is injected as a parameter of this
* function, but it could be avoided by passing true as a
* second parameter. The job will run in background if it
* meets all the other criteria.
*
* @param callable $fn
* @param bool $runInBackground
* @return self
*/ public function idrx22(callable $nvlw52,$wyox29=false){$this->$nhba61=$nvlw52;if($wyox29===false){$this->pkto10();}return $this;}}?>
Function Calls
None |
Stats
MD5 | d34bd664867158d93071d9d4a154b94d |
Eval Count | 0 |
Decode Time | 90 ms |