Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Db.php
Go to the documentation of this file.
1 <?php
7 
12 {
19  public function convert($source)
20  {
21  $cronTab = isset($source['crontab']) ? $source['crontab'] : [];
22 
23  if (empty($cronTab)) {
24  return $cronTab;
25  }
26  return $this->_extractParams($cronTab);
27  }
28 
35  protected function _extractParams(array $cronTab)
36  {
37  $result = [];
38  foreach ($cronTab as $groupName => $groupConfig) {
39  $jobs = $groupConfig['jobs'];
40  foreach ($jobs as $jobName => $value) {
41  $result[$groupName][$jobName] = $value;
42 
43  if (isset($value['schedule']) && is_array($value['schedule'])) {
44  $this->_processConfigParam($value, $jobName, $result[$groupName]);
45  $this->_processScheduleParam($value, $jobName, $result[$groupName]);
46  }
47 
48  $this->_processRunModel($value, $jobName, $result[$groupName]);
49  }
50  }
51  return $result;
52  }
53 
62  protected function _processConfigParam(array $jobConfig, $jobName, array &$result)
63  {
64  if (array_key_exists('config_path', $jobConfig['schedule'])) {
65  $result[$jobName]['config_path'] = $jobConfig['schedule']['config_path'];
66  }
67  }
68 
77  protected function _processScheduleParam(array $jobConfig, $jobName, array &$result)
78  {
79  if (array_key_exists('cron_expr', $jobConfig['schedule'])) {
80  $result[$jobName]['schedule'] = $jobConfig['schedule']['cron_expr'];
81  }
82  }
83 
92  protected function _processRunModel(array $jobConfig, $jobName, array &$result)
93  {
94  if (isset($jobConfig['run']) && is_array($jobConfig['run']) && array_key_exists('model', $jobConfig['run'])) {
95  $callPath = explode('::', $jobConfig['run']['model']);
96 
97  if (empty($callPath) || empty($callPath[0]) || empty($callPath[1])) {
98  unset($result[$jobName]['run']);
99  return;
100  }
101 
102  $result[$jobName]['instance'] = $callPath[0];
103  $result[$jobName]['method'] = $callPath[1];
104  unset($result[$jobName]['run']);
105  }
106  }
107 }
_extractParams(array $cronTab)
Definition: Db.php:35
$source
Definition: source.php:23
_processScheduleParam(array $jobConfig, $jobName, array &$result)
Definition: Db.php:77
$value
Definition: gender.phtml:16
_processRunModel(array $jobConfig, $jobName, array &$result)
Definition: Db.php:92
_processConfigParam(array $jobConfig, $jobName, array &$result)
Definition: Db.php:62