| Conditions | 4 |
| Paths | 4 |
| Total Lines | 33 |
| Code Lines | 19 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 1 | ||
| Bugs | 0 | Features | 0 |
| 1 | <?php |
||
| 29 | public function collect(): array |
||
| 30 | { |
||
| 31 | $cronJobs = shell_exec('crontab -l 2>&1'); |
||
| 32 | |||
| 33 | if (strpos($cronJobs, 'no crontab for') !== false) { |
||
| 34 | return []; |
||
| 35 | } |
||
| 36 | |||
| 37 | $cronJobs = explode("\n", $cronJobs); |
||
| 38 | |||
| 39 | $cronJobsResult = []; |
||
| 40 | |||
| 41 | foreach ($cronJobs as $key => $cronJob) { |
||
| 42 | $cronJobs[$key] = trim($cronJob); |
||
| 43 | if ($cronJob == "") { |
||
| 44 | unset($cronJobs[$key]); |
||
| 45 | continue; |
||
| 46 | } |
||
| 47 | |||
| 48 | $parts = preg_split('/\s+/', $cronJobs[$key], 6); |
||
| 49 | |||
| 50 | $cronJobsResult[] = [ |
||
| 51 | 'minute' => $parts[0], |
||
| 52 | 'hour' => $parts[1], |
||
| 53 | 'dayOfMonth' => $parts[2], |
||
| 54 | 'month' => $parts[3], |
||
| 55 | 'dayOfWeek' => $parts[4], |
||
| 56 | 'command' => $parts[5] |
||
| 57 | ]; |
||
| 58 | } |
||
| 59 | |||
| 60 | |||
| 61 | return ['cronjobs' => $cronJobsResult]; |
||
| 62 | } |
||
| 64 |