47 private $objectManagerProvider;
62 $this->navigation = $navigation;
63 $this->updater = $updater;
64 $this->objectManagerProvider = $objectManagerProvider;
80 $menuItems = $this->navigation->getMenuItems();
82 foreach ($menuItems as $menuItem) {
83 if (isset($menuItem[
'type']) && $menuItem[
'type'] ===
$type) {
84 $titles[] = str_replace(
"\n",
'<br />', $menuItem[
'title']);
87 $data[
'titles'] = $titles;
89 $directoryWrite->writeFile(
'.type.json', Json::encode(
$data));
98 public function createUpdaterTasks(array $postPayload)
103 $this->createTypeFlag($jobType, $postPayload[self::KEY_POST_HEADER_TITLE]);
105 $additionalOptions = [];
107 $this->getCronTaskConfigInfo($jobType, $postPayload, $additionalOptions, $cronTaskType);
109 $errorMessage .= $this->updater->createUpdaterTask(
111 \
Magento\Setup\Model\Cron\JobFactory::JOB_MAINTENANCE_MODE_ENABLE
117 $cacheManager = $this->objectManagerProvider->get()->get(\
Magento\Framework\
App\Cache\Manager::class);
118 $cacheStatus = $cacheManager->getStatus();
120 $errorMessage .= $this->updater->createUpdaterTask(
122 \
Magento\Setup\Model\Cron\JobFactory::JOB_DISABLE_CACHE,
126 $errorMessage .= $this->updater->createUpdaterTask(
134 if ($jobType ==
'enable') {
135 $errorMessage .= $this->updater->createUpdaterTask(
137 \
Magento\Setup\Model\Cron\JobFactory::JOB_UPGRADE,
143 foreach ($cacheStatus as $cacheName =>
$value) {
145 $enabledCaches[] = $cacheName;
149 if (!empty($enabledCaches)) {
150 $errorMessage .= $this->updater->createUpdaterTask(
152 \
Magento\Setup\Model\Cron\JobFactory::JOB_ENABLE_CACHE,
153 [implode(
' ', $enabledCaches)]
157 if ($jobType ==
'disable') {
158 $errorMessage .= $this->updater->createUpdaterTask(
160 \
Magento\Setup\Model\Cron\JobFactory::JOB_MAINTENANCE_MODE_DISABLE
164 return $errorMessage;
176 private function getCronTaskConfigInfo($jobType, $postPayload, &$additionalOptions, &$cronTaskType)
178 $additionalOptions = [];
181 $additionalOptions = [
const KEY_POST_DATA_OPTION
__construct(\Magento\Framework\Filesystem $filesystem, \Magento\Setup\Model\Navigation $navigation, \Magento\Setup\Model\Updater $updater, \Magento\Setup\Model\ObjectManagerProvider $objectManagerProvider)
const KEY_POST_HEADER_TITLE
const KEY_POST_PACKAGE_VERSION
const KEY_POST_PACKAGE_NAME
const JOB_COMPONENT_UNINSTALL