addMetasRelationshipToMenuElement(); $this->updateMegaMenuBlade(); $this->addFooterMenuSupport(); $this->addFooterMenuColorSettings(); $this->updateProfileMenu(); $this->addMobileHeaderForStaffLogin(); $this->addGJSPageRelationshipToMenuElement(); $this->addGJSPageSupportToMegaMenu(); } public static function addMetasRelationshipToMenuElement() { if (isModuleActive('Menu')) { $path = module_path('Menu', 'Entities/MenuElement.php'); if (file_exists($path)) { $update = false; $content = file_get_contents($path); if (!preg_match("/public function metas\(\) {[.\s\S]+?}/", $content)) { $matches = null; preg_match("/public function childs\(\){[.\s\S]+?}/", $content, $matches); if (count($matches) > 0) { $code = $matches[0]; $snippet = " public function metas() { return \$this->hasMany(Meta::class, 'element_id', 'id'); } "; $code .= $snippet; $content = preg_replace("/public function childs\(\){[.\s\S]+?}/", $code, $content); //file_put_contents($path, $content); $update = true; } } if (!preg_match("/use Modules\\\MenuPlus\\\Entities\\\Meta;/", $content)) { $matches = null; preg_match("/use Modules\\\Setup\\\Entities\\\Tag;/", $content, $matches); if (count($matches) > 0) { $code = $matches[0]; $snippet = " use Modules\MenuPlus\Entities\Meta; "; $code .= $snippet; $content = preg_replace("/use Modules\\\Setup\\\Entities\\\Tag;/", $code, $content); //file_put_contents($path, $content); $update = true; } } if ($update) { file_put_contents($path, $content); } } } } public function updateMegaMenuBlade() { $theme = app('theme'); if ($theme) { $theme_name = app('theme')->folder_path; $path = resource_path('views/frontend/amazy/partials/_mega_menu.blade.php'); if (file_exists($path)) { $update = false; $content = file_get_contents($path); if (!preg_match("/MMSES/", $content)) { $content = preg_replace_callback('|