Example #1
0
 /**
  * Returns embedded artefacts in view description and
  * additional artefacts required for view export from artefact plugins
  */
 protected function get_view_extra_artefacts()
 {
     $extra = View::get_embedded_artefacts(array_keys($this->views));
     $plugins = plugins_installed('artefact');
     foreach ($plugins as &$plugin) {
         safe_require('artefact', $plugin->name);
         $classname = generate_class_name('artefact', $plugin->name);
         if (is_callable($classname . '::view_export_extra_artefacts')) {
             if ($artefacts = call_static_method($classname, 'view_export_extra_artefacts', array_keys($this->views))) {
                 $extra = array_unique(array_merge($extra, $artefacts));
             }
         }
     }
     return $extra;
 }