diff --git a/src/Command/DaemonCommand.php b/src/Command/DaemonCommand.php index 17f544b..7e46a4c 100644 --- a/src/Command/DaemonCommand.php +++ b/src/Command/DaemonCommand.php @@ -56,14 +56,19 @@ class DaemonCommand extends Command $jobsToRun = $jobRepo->getJobsDue(); if(!empty($jobsToRun)) { foreach($jobsToRun as $key=>$job) { - if($job->getData('crontype') == 'reboot') { - $str = @file_get_contents('/proc/uptime'); - $num = floatval($str); + if ($job->getData('crontype') == 'reboot') { + $str = @file_get_contents('/proc/uptime'); + $num = floatval($str); $rebootedself = ($num < $job->getData('reboot-duration') * 60); $consolerun = $jobRepo->getTempVar($job, 'consolerun', false); - if($consolerun && !$rebootedself) continue; + if ($consolerun && !$rebootedself) continue; } - $manual = ($job->getRunning() > 1); + $manual = ''; + if($jobRepo->getTempVar($job, 'webhook', false)) { + $manual = 'Webhook'; + } elseif($job->getRunning() > 1) { + $manual = 'Manual'; + }; $jobRepo->setJobRunning($job, true); $output->writeln('Running Job ' . $job->getId()); if($async) { diff --git a/src/Command/DemoInstallCommand.php b/src/Command/DemoInstallCommand.php index 8716262..18264e0 100755 --- a/src/Command/DemoInstallCommand.php +++ b/src/Command/DemoInstallCommand.php @@ -86,6 +86,7 @@ class DemoInstallCommand extends Command false, ] ]); + $job1->addToken(); $job2 = $jobRepo->prepareJob([ 'name' => '[Website] Update texts to latest version', @@ -111,6 +112,8 @@ class DemoInstallCommand extends Command true, ] ]); + $job2->addToken(); + $job3 = $jobRepo->prepareJob([ 'name' => '[Server][Reboot] Monthly reboot', 'interval' => (60*60*24*30), @@ -136,6 +139,8 @@ class DemoInstallCommand extends Command 'var-issecret' => [ ] ]); + $job3->addToken(); + $em->persist($job1); $em->persist($job2); $em->persist($job3); @@ -220,6 +225,15 @@ rtt min/avg/max/mdev = 101.362/101.362/101.362/0.000 ms') ->setFlags(RunRepository::SUCCESS); $em->persist($run); + $run = new Run(); + $run->setExitcode(200) + ->setJob($job2) + ->setRuntime(rand(0, 10000) / 1000) + ->setOutput(json_encode(['success' => true, 'message' => 'Texts are updated succesfully'])) + ->setTimestamp(7200 * ceil( time() / 7200) - (3542)) + ->setFlags(RunRepository::SUCCESS . RunRepository::TRIGGERED); + $em->persist($run); + $run = new Run(); $run->setExitcode(200) ->setJob($job2) diff --git a/src/Controller/JobController.php b/src/Controller/JobController.php index 09aef0d..a787c9a 100644 --- a/src/Controller/JobController.php +++ b/src/Controller/JobController.php @@ -117,6 +117,7 @@ class JobController extends AbstractController $jobRepo = $doctrine->getRepository(Job::class); $job = $jobRepo->find($id); if(!empty($job->getToken()) && $job->getToken() == $token && $job->getRunning() != 1) { + $jobRepo->setTempVar($job, 'webhook', true); return new JsonResponse($jobRepo->run($job, false, time())); } diff --git a/src/Repository/JobRepository.php b/src/Repository/JobRepository.php index 9e5fe9b..1ec2d4f 100644 --- a/src/Repository/JobRepository.php +++ b/src/Repository/JobRepository.php @@ -317,7 +317,7 @@ class JobRepository extends EntityRepository * @return array|string[] * @throws \Doctrine\DBAL\Exception */ - private function runRebootJob(Job &$job, float &$starttime, bool &$manual): array + private function runRebootJob(Job &$job, float &$starttime, string &$manual): array { $em = $this->getEntityManager(); if($this->getTempVar($job, 'rebooting', false) === false) { @@ -463,7 +463,7 @@ class JobRepository extends EntityRepository * @return array|string[] * @throws \Doctrine\DBAL\Exception */ - public function runJob(Job &$job, bool $manual): array + public function runJob(Job &$job, string $manual): array { $em = $this->getEntityManager(); $starttime = microtime(true); @@ -486,8 +486,10 @@ class JobRepository extends EntityRepository $flags[] = RunRepository::SUCCESS; } - if ($manual === true) { + if ($manual == 'Manual') { $flags[] = RunRepository::MANUAL; + } elseif ($manual == 'Webhook') { + $flags[] = RunRepository::TRIGGERED; } // Remove secrets from output diff --git a/src/Repository/RunRepository.php b/src/Repository/RunRepository.php index 775e239..b4eb36e 100644 --- a/src/Repository/RunRepository.php +++ b/src/Repository/RunRepository.php @@ -14,6 +14,7 @@ class RunRepository extends EntityRepository const FAILED = 'F'; const SUCCESS = 'S'; const MANUAL = 'M'; + const TRIGGERED = 'T'; public function getRunsForJob(Job $job, bool $onlyfailed = false, int $maxage = NULL, bool $ordered = true): array { diff --git a/templates/job/view.html.twig b/templates/job/view.html.twig index c2081f5..85072b0 100644 --- a/templates/job/view.html.twig +++ b/templates/job/view.html.twig @@ -19,6 +19,8 @@
({{ "job.view.results.exitcode"| trans }}: {{ run.exitcode }} | {{ "job.view.results.runtime"| trans }}: {{ run.runtime | interval }})
{% if 'M' in run.flags %}
{{ "job.view.results.manual"| trans }}
+ {% elseif 'T' in run.flags %} +
{{ "job.view.results.webhook"| trans }}
{% endif %} diff --git a/translations/messages.en.xlf b/translations/messages.en.xlf index fab062d..cefa871 100644 --- a/translations/messages.en.xlf +++ b/translations/messages.en.xlf @@ -637,6 +637,10 @@ job.view.webhookurl Webhook URL + + job.view.results.webhook + Triggered run + diff --git a/translations/messages.leet.xlf b/translations/messages.leet.xlf index 4dd9508..a5f32a4 100644 --- a/translations/messages.leet.xlf +++ b/translations/messages.leet.xlf @@ -7,635 +7,639 @@ title - W3bcr0n m4n4g3m3nt + W3bcr0n m4n4g3m3nt header - W3bcr0n m4n4g3m3nt + W3bcr0n m4n4g3m3nt demomode.flashnotice - d1z 4ppL1c4t10n b 1n d3m0 m0d3. Ch4ng3z 1z p3rs1st3d 1n t3h d4t4b4s3, but j0bz 1z n0t b31n' 3x3cut3d + d1z 4ppL1c4t10n b 1n d3m0 m0d3. Ch4ng3z 1z p3rs1st3d 1n t3h d4t4b4s3, but j0bz 1z n0t b31n' 3x3cut3d demomode.credentials.header - L0g1n 4 d3m0 m0d3 + L0g1n 4 d3m0 m0d3 demomode.credentials.username - Us3rn4m3 + Us3rn4m3 demomode.credentials.password - P4ssw0rd + P4ssw0rd menu.overview - 0v3rv13w + 0v3rv13w menu.add - 4dd @ n3w cr0nj0b + 4dd @ n3w cr0nj0b menu.settings - S3tt1ngz + S3tt1ngz menu.logout - L0g0ut + L0g0ut security.login.username.label - Us3rn4m3 + Us3rn4m3 security.login.username.placeholder - j3r03n@h4x0r.L33t + j3r03n@h4x0r.L33t security.login.password.label - P4ssw0rd + P4ssw0rd security.login.password.placeholder - C0rr3ct H0rs3 B4tt3ry St4pL3 + C0rr3ct H0rs3 B4tt3ry St4pL3 security.login.remember.label - D0 n0t f0rg3t + D0 n0t f0rg3t security.login.submit-btn.label - 3nt3r + 3nt3r settings.title - S3tt1ngz + S3tt1ngz settings.header - S3tt1ngz + S3tt1ngz settings.flashes.inexistinglocale - L0c4L3 d03z n0t 3x1st + L0c4L3 d03z n0t 3x1st settings.flashes.localesaved - L0c4L3 b s4v3d + L0c4L3 b s4v3d settings.flashes.repeatpasswordnotok - P4ssw0rdz 1z n0t 3qu4L + P4ssw0rdz 1z n0t 3qu4L settings.flashes.currentpassnotok - P4ssw0rd b n0t c0rr3ct + P4ssw0rd b n0t c0rr3ct settings.flashes.passwordsaved - P4ssw0rd b s4v3d + P4ssw0rd b s4v3d settings.password.header - P4ssw0rd + P4ssw0rd settings.password.current.label - Curr3nt p4ssw0rd + Curr3nt p4ssw0rd settings.password.current.placeholder - qwerty + qwerty settings.password.password.label - N3w p4ssw0rd + N3w p4ssw0rd settings.password.password.placeholder - azerty + azerty settings.password.repeat.label - R3p34t p4ssw0rd + R3p34t p4ssw0rd settings.password.repeat.placeholder - azerty + azerty settings.other.header - 0th3r s3tt1ngz + 0th3r s3tt1ngz settings.other.locale.label - L0c4L3 + L0c4L3 settings.submit.label - Subm1t + Subm1t job.index.title - 0v3rv13w + 0v3rv13w job.index.header - 0v3rv13w 0f t3h cr0nj0bz + 0v3rv13w 0f t3h cr0nj0bz job.index.table.headers.name - N4m3 + N4m3 job.index.table.headers.host - H0st + H0st job.index.table.headers.interval - 1nt3rv4L + 1nt3rv4L job.index.table.headers.nextrun - N3xtrun + N3xtrun job.index.flashes.jobdeleted - Cr0nj0b b succ3ssfuLLy d3L3t3d + Cr0nj0b b succ3ssfuLLy d3L3t3d job.view.title - 0v3rv13w 0f runz 4 _jobname_ + 0v3rv13w 0f runz 4 _jobname_ job.view.header - 0v3rv13w 0f runz 4 _jobname_ + 0v3rv13w 0f runz 4 _jobname_ job.view.edit - 3d1t j0b + 3d1t j0b job.view.show.onlyfailed - 0nLy sh0w f41L3d runz + 0nLy sh0w f41L3d runz job.view.show.all - Sh0w 4LL runz + Sh0w 4LL runz job.view.results.exitcode - 3x1t c0d3 + 3x1t c0d3 job.view.results.runtime - Runt1m3 + Runt1m3 job.view.results.manual - M4nu4L run + M4nu4L run job.view.results.noresults.failed - N0 f41L3d runz f0und + N0 f41L3d runz f0und job.view.results.noresults.all - N0 runz f0und + N0 runz f0und job.edit.title - 3d1t j0b + 3d1t j0b job.edit.header - 3d1t j0b _jobname_ + 3d1t j0b _jobname_ job.edit.flashes.jobedited - Cr0nj0b b succ3ssfuLLy d3L3t3d + Cr0nj0b b succ3ssfuLLy d3L3t3d job.add.title - 4dd j0b + 4dd j0b job.add.header - 4dd n3w j0b + 4dd n3w j0b job.add.flashes.jobadded - Cr0nj0b succ3ssfuLLy 4dd3d + Cr0nj0b succ3ssfuLLy 4dd3d job.addedit.generalinfo.header - G3n3r4L 1nf0 + G3n3r4L 1nf0 job.addedit.generalinfo.name.label - N4m3 + N4m3 job.addedit.generalinfo.name.placeholder - Syst3m upd4t3 + Syst3m upd4t3 job.addedit.generalinfo.name.helptext - j00 c4n cr34t3 c0L0r3d t4gz by us1n' [t4g] + j00 c4n cr34t3 c0L0r3d t4gz by us1n' [t4g] job.addedit.generalinfo.interval.label - 1nt3rv4L (1n s3c0ndz) + 1nt3rv4L (1n s3c0ndz) job.addedit.generalinfo.interval.placeholder - 3600 + 3600 job.addedit.generalinfo.interval.patterns.label - P4tt3rnz + P4tt3rnz job.addedit.generalinfo.interval.patterns.minute - 3v3ry m1nut3 + 3v3ry m1nut3 job.addedit.generalinfo.interval.patterns.hour - 3v3ry h0ur + 3v3ry h0ur job.addedit.generalinfo.interval.patterns.day - 3v3ry d4y + 3v3ry d4y job.addedit.generalinfo.interval.patterns.week - 3v3ry w33k + 3v3ry w33k job.addedit.generalinfo.interval.patterns.4week - 3v3ry 4 w33kz + 3v3ry 4 w33kz job.addedit.generalinfo.nextrun.label - N3xt run + N3xt run job.addedit.generalinfo.lastrun.label - L4st run + L4st run job.addedit.generalinfo.lastrun.eternal.label - 3t3rn4L + 3t3rn4L job.addedit.generalinfo.retention.label - R3t3nt10n (1n d4yz) + R3t3nt10n (1n d4yz) job.addedit.generalinfo.retention.placeholder - 180 + 180 job.addedit.generalinfo.retention.helptext - H0w m4ny d4yz (4t l34st) 2 k33p runz 0f d1z j0b 1n t3h d4t4b4s3 + H0w m4ny d4yz (4t l34st) 2 k33p runz 0f d1z j0b 1n t3h d4t4b4s3 job.addedit.generalinfo.failpercentage.label - M4x f41L p3rc3nt4g3 + M4x f41L p3rc3nt4g3 job.addedit.generalinfo.faildays.label - Numb3r 0f d4yz c4LcuL4t3d 4 f41L p3rc3nt4g3 + Numb3r 0f d4yz c4LcuL4t3d 4 f41L p3rc3nt4g3 job.addedit.generalinfo.faildays.placeholder - 7 + 7 job.addedit.generalinfo.hostlabel.label - H0st l4b3L + H0st l4b3L job.addedit.generalinfo.hostlabel.placeholder - N3wb13 s3rv3r + N3wb13 s3rv3r job.addedit.generalinfo.hostlabel.helptext - Wh1ch l4b3L 4 t3h h0stn4m3 sh0uLd b d1spL4y3d? 1f 3mpty t3h d1z w1LL b t3h h0stn4m3 pr0v1d3d b3L0w + Wh1ch l4b3L 4 t3h h0stn4m3 sh0uLd b d1spL4y3d? 1f 3mpty t3h d1z w1LL b t3h h0stn4m3 pr0v1d3d b3L0w job.addedit.jobdetails.header - J0b d3t41Lz + J0b d3t41Lz job.addedit.crontype.label - J0b typ3 + J0b typ3 job.addedit.crontype.command.label - C0mm4nd + C0mm4nd job.addedit.crontype.command.header - C0mm4nd d3t41Lz + C0mm4nd d3t41Lz job.addedit.crontype.command.command.label - C0mm4nd + C0mm4nd job.addedit.crontype.command.command.placeholder - sudo rm -rf / + sudo rm -rf / job.addedit.crontype.command.response.label - 3xp3ct3d 3x1t c0d3 + 3xp3ct3d 3x1t c0d3 job.addedit.crontype.command.response.placeholder - 0 + 0 job.addedit.crontype.reboot.label - R3b00t + R3b00t job.addedit.crontype.reboot.header - R3b00t j0b d3t41Lz + R3b00t j0b d3t41Lz job.addedit.crontype.reboot.reboot.command.label - R3b00t c0mm4nd + R3b00t c0mm4nd job.addedit.crontype.reboot.reboot.command.placeholder - sudo telinit 6 + sudo telinit 6 job.addedit.crontype.reboot.reboot.command.helptext - Us3 {reboot-delay} 0r {reboot-delay-secs} 2 4dd t3h d3L4y 1n y0 c0mm4nd + Us3 {reboot-delay} 0r {reboot-delay-secs} 2 4dd t3h d3L4y 1n y0 c0mm4nd job.addedit.crontype.reboot.reboot.delay.label - R3b00t d3L4y (1n m1nut3z) + R3b00t d3L4y (1n m1nut3z) job.addedit.crontype.reboot.reboot.delay.placeholder - 5 + 0 job.addedit.crontype.reboot.reboot.delay.helptext - D3L4y b3tw33n tr1gg3r1n' r3b00t n 4ctu4L r3b00t + D3L4y b3tw33n tr1gg3r1n' r3b00t n 4ctu4L r3b00t job.addedit.crontype.reboot.reboot.duration.label - R3b00t dur4t10n (1n m1nut3z) + R3b00t dur4t10n (1n m1nut3z) job.addedit.crontype.reboot.reboot.duration.placeholder - 10 + 10 job.addedit.crontype.reboot.reboot.duration.helptext - t3h 4m0unt 0f t1m3 t3h syst3m t4k3z 2 4ctu4LLy r3b00t + t3h 4m0unt 0f t1m3 t3h syst3m t4k3z 2 4ctu4LLy r3b00t job.addedit.crontype.reboot.getservices.command.label - G3t s3rv1c3z c0mm4nd + G3t s3rv1c3z c0mm4nd job.addedit.crontype.reboot.getservices.command.placeholder - ps -aux + ps -aux job.addedit.crontype.reboot.getservices.response.label - G3t s3rv1c3z c0mm4nd 3x1t c0d3 + G3t s3rv1c3z c0mm4nd 3x1t c0d3 job.addedit.crontype.reboot.getservices.response.placeholder - 0 + 0 job.addedit.crontype.http.label - HTTP r3qu3st + HTTP r3qu3st job.addedit.crontype.http.header - HTTP r3qu3st d3t41Lz + HTTP r3qu3st d3t41Lz job.addedit.crontype.http.url.label - UrL + UrL job.addedit.crontype.http.url.placeholder - https://www.h4x0r.l33t + https://www.h4x0r.l33t job.addedit.crontype.http.basic-auth.username.label - Us3rn4m3 4 b4s1c 4uth + Us3rn4m3 4 b4s1c 4uth job.addedit.crontype.http.basic-auth.username.placeholder - root + root job.addedit.crontype.http.basic-auth.password.label - P4ssw0rd 4 b4s1c 4uth + P4ssw0rd 4 b4s1c 4uth job.addedit.crontype.http.basic-auth.password.placeholder - c0rr3ct h0rs3 b4tt3ry st4pL3 + c0rr3ct h0rs3 b4tt3ry st4pL3 job.addedit.crontype.http.basic-auth.password.helptext - d1z f13Ld b b31n' s4v3d 4z @ s3cr3t + d1z f13Ld b b31n' s4v3d 4z @ s3cr3t job.addedit.crontype.http.response.label - 3xp3ct3d http st4tuz c0d3 + 3xp3ct3d http st4tuz c0d3 job.addedit.crontype.http.response.placeholder - 503 + 503 job.addedit.hosttype.label - H0st typ3 + H0st typ3 job.addedit.hosttype.local.label - L0c4L + L0c4L job.addedit.hosttype.local.header - L0c4Lh0st d3t41Lz + L0c4Lh0st d3t41Lz job.addedit.hosttype.local.nodetails - N0 0pt10nz + N0 0pt10nz job.addedit.hosttype.ssh.label - SSH + SSH job.addedit.hosttype.ssh.header - SSH h0st d3t41Lz + SSH h0st d3t41Lz job.addedit.hosttype.ssh.hostname.label - H0stn4m3 + H0stn4m3 job.addedit.hosttype.ssh.hostname.placeholder - g4t3w4y.n00b.0rg + g4t3w4y.n00b.0rg job.addedit.hosttype.ssh.username.label - Us3rn4m3 + Us3rn4m3 job.addedit.hosttype.ssh.username.placeholder - anonymous + anonymous job.addedit.hosttype.ssh.privatekey.label - Pr1v4t3 k3y + Pr1v4t3 k3y job.addedit.hosttype.ssh.privatekey.helptext - d1z f1L3 b b31n' s4v3z 4z @ s3cr3t + d1z f1L3 b b31n' s4v3z 4z @ s3cr3t job.addedit.hosttype.ssh.privatekey.keep.label - K33p + K33p job.addedit.hosttype.ssh.passphrase.label - P4ssphr4s3 4 pr1v4t3 k3y + P4ssphr4s3 4 pr1v4t3 k3y job.addedit.hosttype.ssh.passphrase.placeholder - w00t w00t + w00t w00t job.addedit.hosttype.ssh.passphrase.helptext - 1f pr1v4t3 k3y b 3mpty d1z f13Ld b b31n' us3d 4z ssh-p4ssw0rd d1z f13Ld b b31n' s4v3d 4z @ s3cr3t + 1f pr1v4t3 k3y b 3mpty d1z f13Ld b b31n' us3d 4z ssh-p4ssw0rd d1z f13Ld b b31n' s4v3d 4z @ s3cr3t job.addedit.containertype.label - C0nt41n3r typ3 + C0nt41n3r typ3 job.addedit.containertype.none.label - N0n3 + N0n3 job.addedit.containertype.docker.label - D0ck3r + D0ck3r job.addedit.containertype.docker.header - D0ck3r c0nt41n3r d3t41Lz + D0ck3r c0nt41n3r d3t41Lz job.addedit.containertype.docker.service.label - S3rv1c3 + S3rv1c3 job.addedit.containertype.docker.service.placeholder - gopher + gopher job.addedit.containertype.docker.username.label - Us3rn4m3 + Us3rn4m3 job.addedit.containertype.docker.username.placeholder - root + root job.addedit.variables.header - V4r14bL3z + V4r14bL3z job.addedit.variables.secret.label - S3cr3t + S3cr3t job.addedit.variables.name.placeholder - N4m3 + N4m3 job.addedit.variables.value.placeholder - V4Lu3 + V4Lu3 job.addedit.variables.helptext - j00 c4n 4dd v4r14bL3z by us1n' {v4r14bL3-n4m3} 1n j0b d3t41Lz + j00 c4n 4dd v4r14bL3z by us1n' {v4r14bL3-n4m3} 1n j0b d3t41Lz job.addedit.variables.add.label - 4dd variable + 4dd variable job.addedit.submit.label - Subm1t! + Subm1t! footer.title - W3bcr0n m4n4g3m3nt + W3bcr0n m4n4g3m3nt footer.source - S0urc3 + S0urc3 job.index.run.selecttime.header - Wh3n 2 run d1z j0b? + Wh3n 2 run d1z j0b? job.index.run.selecttime.description - PL34s3 s3L3ct t3h t1m3 2 run d1z j0b + PL34s3 s3L3ct t3h t1m3 2 run d1z j0b job.index.run.selecttime.btnschedule.label - Sch3duL3 + Sch3duL3 job.index.run.selecttime.btnrunnow.label - Run n0w + Run n0w job.index.run.ran.btnclose.label - CL0s3 + CL0s3 job.index.run.deferred.title - Cr0nj0b h4z b33n sch3duL3d + Cr0nj0b h4z b33n sch3duL3d job.index.run.deferred.message - J0b wuz sch3duL3d 2 b run. j00 w1LL f1nd t3h 0utput s00n 1n t3h j0b d3t41Lz + J0b wuz sch3duL3d 2 b run. j00 w1LL f1nd t3h 0utput s00n 1n t3h j0b d3t41Lz job.index.run.ran.title.success - Cr0nj0b succ3sfuLLy r4n + Cr0nj0b succ3sfuLLy r4n job.index.run.ran.title.failed - Cr0nj0b f41L3d. PL34s3 ch3ck 0utput b3L0w + Cr0nj0b f41L3d. PL34s3 ch3ck 0utput b3L0w job.index.run.ran.message - Cr0nj0b r4n 1n _runtime_ s3c0ndz w1th 3x1t c0d3 _exitcode_ + Cr0nj0b r4n 1n _runtime_ s3c0ndz w1th 3x1t c0d3 _exitcode_ job.view.webhookurl - W3bh00k URL + W3bh00k URL + + + job.view.results.webhook + Tr1gg3r3d run diff --git a/translations/messages.nl.xlf b/translations/messages.nl.xlf index 4462adc..2f8667e 100644 --- a/translations/messages.nl.xlf +++ b/translations/messages.nl.xlf @@ -7,635 +7,639 @@ title - Webcron management + Webcron management header - Webcron management + Webcron management demomode.flashnotice - Deze applicatie is in demo modus. Alle functies zijn actief, maar taken worden niet uitgevoerd + Deze applicatie is in demo modus. Alle functies zijn actief, maar taken worden niet uitgevoerd demomode.credentials.header - Aanmeldgegevens voor demo modus: + Aanmeldgegevens voor demo modus: demomode.credentials.username - Gebruikersnaam + Gebruikersnaam demomode.credentials.password - Wachtwoord + Wachtwoord menu.overview - Overzicht + Overzicht menu.add - Taak toevoegen + Taak toevoegen menu.settings - Instellingen + Instellingen menu.logout - Afmelden + Afmelden security.login.username.label - Gebruikersnaam + Gebruikersnaam security.login.username.placeholder - jeroen@example.com + jeroen@example.com security.login.password.label - Wachtwoord + Wachtwoord security.login.password.placeholder - abc123 + abc123 security.login.remember.label - Onthoud mij! + Onthoud mij! security.login.submit-btn.label - Aanmelden + Aanmelden settings.title - Instellingen + Instellingen settings.header - Instellingen + Instellingen settings.flashes.inexistinglocale - Taal bestaat niet + Taal bestaat niet settings.flashes.localesaved - Taal werd opgeslagen + Taal werd opgeslagen settings.flashes.repeatpasswordnotok - Wachtwoorden zijn niet gelijk + Wachtwoorden zijn niet gelijk settings.flashes.currentpassnotok - Wachtwoord is not correct + Wachtwoord is not correct settings.flashes.passwordsaved - Wachtwoord werd opgeslagen + Wachtwoord werd opgeslagen settings.password.header - Wachtwoord + Wachtwoord settings.password.current.label - Huidig wachtwoord + Huidig wachtwoord settings.password.current.placeholder - abc123 + abc123 settings.password.password.label - Nieuw wachtwoord + Nieuw wachtwoord settings.password.password.placeholder - 123abc + 123abc settings.password.repeat.label - Herhaal wachtwoord + Herhaal wachtwoord settings.password.repeat.placeholder - 123abc + 123abc settings.other.header - Andere instellingen + Andere instellingen settings.other.locale.label - Taal + Taal settings.submit.label - Verzend! + Verzend! job.index.title - Overzicht + Overzicht job.index.header - Overzicht van de geplande taken + Overzicht van de geplande taken job.index.table.headers.name - Naam + Naam job.index.table.headers.host - Host + Host job.index.table.headers.interval - Interval + Interval job.index.table.headers.nextrun - Volgende uitvoering + Volgende uitvoering job.index.flashes.jobdeleted - Taak werd succesvol verwijderd + Taak werd succesvol verwijderd job.view.title - Overzicht van uitvoeringen van _jobname_ + Overzicht van uitvoeringen van _jobname_ job.view.header - Overzicht van uitvoeringen van _jobname_ + Overzicht van uitvoeringen van _jobname_ job.view.edit - Bewerk taak + Bewerk taak job.view.show.onlyfailed - Toon alleen gefaalde uitvoeringen + Toon alleen gefaalde uitvoeringen job.view.show.all - Toon alle uitvoeringen + Toon alle uitvoeringen job.view.results.exitcode - Resultaat + Resultaat job.view.results.runtime - Duurtijd + Duurtijd job.view.results.manual - Manuele uitvoering + Manuele uitvoering job.view.results.noresults.failed - Geen gefaalde uitvoeringen gevonden + Geen gefaalde uitvoeringen gevonden job.view.results.noresults.all - Geen uitvoeringen gevonden + Geen uitvoeringen gevonden job.edit.title - Bewerk taak + Bewerk taak job.edit.header - Bewerk taak _jobname_ + Bewerk taak _jobname_ job.edit.flashes.jobedited - Taak werd succesvol bijgewerkt + Taak werd succesvol bijgewerkt job.add.title - Taak toevoegen + Taak toevoegen job.add.header - Nieuwe taak toevoegen + Nieuwe taak toevoegen job.add.flashes.jobadded - Taak werd succesvol toegevoegd + Taak werd succesvol toegevoegd job.addedit.generalinfo.header - Algemene info + Algemene info job.addedit.generalinfo.name.label - Naam + Naam job.addedit.generalinfo.name.placeholder - Systemen updaten + Systemen updaten job.addedit.generalinfo.name.helptext - Je kan gekleurde tags toevoegen met [tag] + Je kan gekleurde tags toevoegen met [tag] job.addedit.generalinfo.interval.label - Interval (in seconden) + Interval (in seconden) job.addedit.generalinfo.interval.placeholder - 3600 + 3600 job.addedit.generalinfo.interval.patterns.label - Patronen + Patronen job.addedit.generalinfo.interval.patterns.minute - Iedere minuut + Iedere minuut job.addedit.generalinfo.interval.patterns.hour - Ieder uur + Ieder uur job.addedit.generalinfo.interval.patterns.day - Iedere dag + Iedere dag job.addedit.generalinfo.interval.patterns.week - Iedere week + Iedere week job.addedit.generalinfo.interval.patterns.4week - Iedere 4 weken + Iedere 4 weken job.addedit.generalinfo.nextrun.label - Volgende uitvoering + Volgende uitvoering job.addedit.generalinfo.lastrun.label - Laatste uitvoering + Laatste uitvoering job.addedit.generalinfo.lastrun.eternal.label - Eeuwig + Eeuwig job.addedit.generalinfo.retention.label - Opslag (in dagen) + Opslag (in dagen) job.addedit.generalinfo.retention.placeholder - 180 + 180 job.addedit.generalinfo.retention.helptext - Hoeveel dagen moeten uitvoeringen van een job bewaard worden + Hoeveel dagen moeten uitvoeringen van een job bewaard worden job.addedit.generalinfo.failpercentage.label - Max faalpercentage + Max faalpercentage job.addedit.generalinfo.faildays.label - Aantal dagen berekend voor faalpercentage + Aantal dagen berekend voor faalpercentage job.addedit.generalinfo.faildays.placeholder - 7 + 7 job.addedit.generalinfo.hostlabel.label - Host label + Host label job.addedit.generalinfo.hostlabel.placeholder - petrosian.jeroened.be + petrosian.jeroened.be job.addedit.generalinfo.hostlabel.helptext - Geef hier een eenvoudig te herkennen hostnaam. Indien leeg zal hostnaam uit de taak details gebruikt worden + Geef hier een eenvoudig te herkennen hostnaam. Indien leeg zal hostnaam uit de taak details gebruikt worden job.addedit.jobdetails.header - Taak details + Taak details job.addedit.crontype.label - Taak type + Taak type job.addedit.crontype.command.label - Commando + Commando job.addedit.crontype.command.header - Commando details + Commando details job.addedit.crontype.command.command.label - Commando + Commando job.addedit.crontype.command.command.placeholder - sudo apt update + sudo apt update job.addedit.crontype.command.response.label - Verwacht resultaat + Verwacht resultaat job.addedit.crontype.command.response.placeholder - 0 + 0 job.addedit.crontype.reboot.label - Herstart + Herstart job.addedit.crontype.reboot.header - Herstart details + Herstart details job.addedit.crontype.reboot.reboot.command.label - Herstart commando + Herstart commando job.addedit.crontype.reboot.reboot.command.placeholder - systemctl reboot + systemctl reboot job.addedit.crontype.reboot.reboot.command.helptext - Gebruik {reboot-delay} of {reboot-delay-secs} om de vertraging toe te voegen in je commando + Gebruik {reboot-delay} of {reboot-delay-secs} om de vertraging toe te voegen in je commando job.addedit.crontype.reboot.reboot.delay.label - Herstart vertraging (in minuten) + Herstart vertraging (in minuten) job.addedit.crontype.reboot.reboot.delay.placeholder - 5 + 5 job.addedit.crontype.reboot.reboot.delay.helptext - Tijd tussen het aanroepen van herstart commando en de eigenlijke herstart + Tijd tussen het aanroepen van herstart commando en de eigenlijke herstart job.addedit.crontype.reboot.reboot.duration.label - Duurtijd van herstart (in minuten) + Duurtijd van herstart (in minuten) job.addedit.crontype.reboot.reboot.duration.placeholder - 10 + 10 job.addedit.crontype.reboot.reboot.duration.helptext - De tijd dat de effectieve herstart duurt + De tijd dat de effectieve herstart duurt job.addedit.crontype.reboot.getservices.command.label - Commando voor ophalen services + Commando voor ophalen services job.addedit.crontype.reboot.getservices.command.placeholder - systemctl list-units + systemctl list-units job.addedit.crontype.reboot.getservices.response.label - Resultaat van commando voor ophalen services + Resultaat van commando voor ophalen services job.addedit.crontype.reboot.getservices.response.placeholder - 0 + 0 job.addedit.crontype.http.label - HTTP request + HTTP request job.addedit.crontype.http.header - HTTP request details + HTTP request details job.addedit.crontype.http.url.label - Url + Url job.addedit.crontype.http.url.placeholder - https://www.example.com + https://www.example.com job.addedit.crontype.http.basic-auth.username.label - Gebruikersnaam voor basic auth + Gebruikersnaam voor basic auth job.addedit.crontype.http.basic-auth.username.placeholder - www-data + www-data job.addedit.crontype.http.basic-auth.password.label - Wachtwoord voor basic auth + Wachtwoord voor basic auth job.addedit.crontype.http.basic-auth.password.placeholder - correct horse battery staple + correct horse battery staple job.addedit.crontype.http.basic-auth.password.helptext - Dit veld word opgeslagen als geheime waarde + Dit veld word opgeslagen als geheime waarde job.addedit.crontype.http.response.label - Verwachte http status code + Verwachte http status code job.addedit.crontype.http.response.placeholder - 418 + 418 job.addedit.hosttype.label - Host type + Host type job.addedit.hosttype.local.label - Lokaal + Lokaal job.addedit.hosttype.local.header - Localhost details + Localhost details job.addedit.hosttype.local.nodetails - Geen opties + Geen opties job.addedit.hosttype.ssh.label - SSH + SSH job.addedit.hosttype.ssh.header - SSH host details + SSH host details job.addedit.hosttype.ssh.hostname.label - Hostnaam + Hostnaam job.addedit.hosttype.ssh.hostname.placeholder - ssh.abc.xyz + ssh.abc.xyz job.addedit.hosttype.ssh.username.label - Gebruikersnaam + Gebruikersnaam job.addedit.hosttype.ssh.username.placeholder - larry + larry job.addedit.hosttype.ssh.privatekey.label - Privésleutel + Privésleutel job.addedit.hosttype.ssh.privatekey.helptext - Dit bestand word opgeslagen als geheime waarde + Dit bestand word opgeslagen als geheime waarde job.addedit.hosttype.ssh.privatekey.keep.label - Behoud + Behoud job.addedit.hosttype.ssh.passphrase.label - Wachtwoord voor privésleutel + Wachtwoord voor privésleutel job.addedit.hosttype.ssh.passphrase.placeholder - abc123 + abc123 job.addedit.hosttype.ssh.passphrase.helptext - Indien er geen privésleutel is meegegeven zal dit gebruikt worden als gewoon wachtwoord. Dit veld word opgeslagen als geheime waarde + Indien er geen privésleutel is meegegeven zal dit gebruikt worden als gewoon wachtwoord. Dit veld word opgeslagen als geheime waarde job.addedit.containertype.label - Container type + Container type job.addedit.containertype.none.label - Geen + Geen job.addedit.containertype.docker.label - Docker + Docker job.addedit.containertype.docker.header - Docker container details + Docker container details job.addedit.containertype.docker.service.label - Service + Service job.addedit.containertype.docker.service.placeholder - mysql + mysql job.addedit.containertype.docker.username.label - Gebruikersnaam + Gebruikersnaam job.addedit.containertype.docker.username.placeholder - larry + larry job.addedit.variables.header - Variabelen + Variabelen job.addedit.variables.secret.label - Geheim + Geheim job.addedit.variables.name.placeholder - Naam + Naam job.addedit.variables.value.placeholder - Waarde + Waarde job.addedit.variables.helptext - Je kan variabelen gebruiken via {variabele-naam} in de taak details + Je kan variabelen gebruiken via {variabele-naam} in de taak details job.addedit.variables.add.label - Variable toevoegen + Variable toevoegen job.addedit.submit.label - Verzend! + Verzend! footer.title - Webcron Management + Webcron Management footer.source - Broncode + Broncode job.index.run.selecttime.header - Wanneer moet deze taak uitgevoerd worden? + Wanneer moet deze taak uitgevoerd worden? job.index.run.selecttime.description - Gelieve de datum en tijd te selecteren om deze taak uit te voeren + Gelieve de datum en tijd te selecteren om deze taak uit te voeren job.index.run.selecttime.btnschedule.label - Plan + Plan job.index.run.selecttime.btnrunnow.label - Nu uitvoeren + Nu uitvoeren job.index.run.ran.btnclose.label - Sluiten + Sluiten job.index.run.deferred.title - Taak werd doorgestuurd naar de daemon + Taak werd doorgestuurd naar de daemon job.index.run.deferred.message - Taak werd doorgestuurd naar de daemon. De output vind u binnenkort in de taakdetails + Taak werd doorgestuurd naar de daemon. De output vind u binnenkort in de taakdetails job.index.run.ran.title.success - Taak werd succesvol uitgevoerd + Taak werd succesvol uitgevoerd job.index.run.ran.title.failed - Taak faalde. Hieronder vind u de output ter controle + Taak faalde. Hieronder vind u de output ter controle job.index.run.ran.message - Taak werd in _runtime_ seconden uitgevoerd met resultaat _exitcode_ + Taak werd in _runtime_ seconden uitgevoerd met resultaat _exitcode_ job.view.webhookurl - Webhook-URL + Webhook-URL + + + job.view.results.webhook + Getriggerde uitvoering