Example #1
0
 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;
 }
Example #2
0
 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();
 }
Example #3
0
 /**
  * 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;
 }