public function load($filename, $directory, $default) { $data = []; $_ = []; //load extension language default $file = Extension::dirExtension() . '*/*/' . Util::getConfig('environment') . '/language/' . $default . '/' . $filename . '.php'; $file_extensions = glob($file); foreach ($file_extensions as $file_extension) { if (file_exists($file_extension)) { require \Vqmod::modCheck($file_extension); } } $data = array_merge($data, $_); //load extension language $file = Extension::dirExtension() . '*/*/' . Util::getConfig('environment') . '/language/' . $directory . '/' . $filename . '.php'; $file_extensions = glob($file); foreach ($file_extensions as $file_extension) { if (file_exists($file_extension)) { require $file_extension; } } $data = array_merge($data, $_); //load theme language $file_theme = Theme::dirCurrentTheme() . '/language/' . $default . '/' . $filename . '.php'; if (file_exists($file_theme)) { require $file_theme; } $data = array_merge($data, $_); $file_theme = Theme::dirCurrentTheme() . '/language/' . $directory . '/' . $filename . '.php'; if (file_exists($file_theme)) { require $file_theme; } $data = array_merge($data, $_); return $data; }
protected function execute(InputInterface $input, OutputInterface $output) { $extensions = glob(Extension::dirExtension() . '*/*', GLOB_ONLYDIR); $output->writeln('Extensions List'); $table = new Table($output); $table->setHeaders(['Vendor', 'Name']); foreach ($extensions as $extension_dir) { $name = str_replace(dirname($extension_dir), '', $extension_dir); $name = str_replace('/', '', $name); $vendor = str_replace('/' . $name, '', $extension_dir); $vendor = str_replace(dirname($vendor), '', $vendor); $vendor = str_replace('/', '', $vendor); $table->addRow([$vendor, $name]); } $table->render(); }
/** * Modification view opencart * @param $template * @param array $data * @return string */ public function view($template, $data = array()) { //se o twig for desativado if (!Util::getConfig('enable_twig')) { return $this->viewRaw($template, $data); } \Twig_Autoloader::register(); $paths = []; //pega o nome do template atual $current_theme = Util::getConfig('config_template'); //remove theme paths $view = str_replace(['default/template/', $current_theme . '/template/'], '', $template); //check vqmod view $vqmod_template = Vqmod::modCheck(DIR_TEMPLATE . $current_theme . '/' . $view); if (strpos($vqmod_template, DIR_VQMOD_CACHE) !== false) { $paths[] = DIR_VQMOD_CACHE; $view = str_replace(DIR_VQMOD_CACHE, '', $vqmod_template); } else { if (Util::getConfig('is_admin')) { $paths[] = DIR_TEMPLATE; } else { //load theme view if (is_dir(DIR_TEMPLATE . $current_theme . '/template/')) { $paths[] = DIR_TEMPLATE . $current_theme . '/template/'; } //load theme default if (is_dir(DIR_TEMPLATE . Util::getConfig('theme_default') . '/template/')) { $paths[] = DIR_TEMPLATE . Util::getConfig('theme_default') . '/template/'; } } } //Get all extensions $extensions = Extension::getAll(); if ($extensions) { //load extension view if (Util::getConfig('is_admin')) { foreach (Util::getConfig('admin_extensions_paths') as $path_extension) { $extensions_path = glob(DIR_ROOT . '/' . Util::getConfig('extension_path') . '/*/*/' . $path_extension . '/view/template/', GLOB_ONLYDIR); if ($extensions_path && is_array($extensions_path) && count($extensions_path)) { $paths = array_merge($paths, $extensions_path); } } } else { $extensions_path = glob(DIR_ROOT . '/' . Util::getConfig('extension_path') . '/*/*/' . Util::getConfig('theme_path') . '/template/', GLOB_ONLYDIR); if ($extensions_path && is_array($extensions_path) && count($extensions_path)) { foreach ($extensions_path as $item) { if (file_exists($item . $view)) { $template = $view; $paths = array_merge($paths, $extensions_path); } } } } } $fileSystem = new \Twig_Loader_Filesystem($paths); $cache = false; if (Util::getConfig('twig_cache')) { $cache = DIR_STORAGE . '/' . Util::getConfig('twig_cache'); } $twig = new \Twig_Environment($fileSystem, array('autoescape' => Util::getConfig('twig_autoescape'), 'cache' => $cache, 'debug' => Util::getConfig('twig_debug'))); $twig->addExtension(new \Twig_Extension_Debug()); $twig->addExtension(new Ecommerce(Util::getRegistry())); Util::getRegistry()->set('twig', $twig); extract($data); ob_start(); if ($fileSystem->exists(str_replace('.tpl', '', $view) . '.twig', $data)) { $output = Util::getRegistry()->get('twig')->render(str_replace('.tpl', '', $view) . '.twig', $data); } else { if ($fileSystem->exists($view, $data)) { $output = Util::getRegistry()->get('twig')->render($view, $data); } else { trigger_error('Error: Could not load template ' . $template . '!'); exit; } } eval(' ?>' . $output); $output = ob_get_contents(); ob_end_clean(); return $output; }