setBreadcrum([]); $this->access = 'AW'; $this->task = []; $this->msg = $msg; $this->icon = $icon; $this->class = $class_style; $this->label = $label; $this->page = $page; $this->url = ui_get_full_url( 'index.php?sec=gservers&sec2=godmode/servers/discovery&wiz=app' ); return $this; } /** * Run wizard manager. * * @return mixed Returns null if wizard is ongoing. Result if done. */ public function run() { global $config; // Load styles. parent::run(); // Load current wiz. sub-styles. ui_require_css_file( 'application', ENTERPRISE_DIR.'/include/styles/wizards/' ); $mode = get_parameter('mode', null); // Load application wizards. $enterprise_classes = glob( $config['homedir'].'/'.ENTERPRISE_DIR.'/include/class/*.app.php' ); $extensions = new ExtensionsDiscovery('app', $mode); foreach ($enterprise_classes as $classpath) { enterprise_include_once( 'include/class/'.basename($classpath) ); } switch ($mode) { case 'DB2': $classname_selected = 'DB2'; break; case 'SAP': $classname_selected = 'SAP'; break; case 'vmware': $classname_selected = 'VMware'; break; case 'mysql': $classname_selected = 'MySQL'; break; case 'oracle': $classname_selected = 'Oracle'; break; case 'MicrosoftSQLServer': $classname_selected = 'MicrosoftSQLServer'; break; default: $classname_selected = null; break; } // Else: class not found pseudo exception. if ($classname_selected !== null) { $wiz = new $classname_selected($this->page); $result = $wiz->run(); if (is_array($result) === true) { return $result; } } if ($classname_selected === null) { if ($mode !== null) { // Load extension if exist. $extensions->run(); return; } // Load classes and print selector. $wiz_data = []; foreach ($enterprise_classes as $classpath) { $classname = basename($classpath, '.app.php'); $obj = new $classname(); $wiz_data[] = $obj->load(); } $wiz_data = array_merge($wiz_data, $extensions->loadExtensions()); $this->prepareBreadcrum( [ [ 'link' => ui_get_full_url( 'index.php?sec=gservers&sec2=godmode/servers/discovery' ), 'label' => __('Discovery'), ], [ 'link' => ui_get_full_url( 'index.php?sec=gservers&sec2=godmode/servers/discovery&wiz=app' ), 'label' => __('Applications'), 'selected' => true, ], ] ); // Header. ui_print_page_header( __('Applications'), '', false, '', true, '', false, '', GENERIC_SIZE_TEXT, '', $this->printHeader(true) ); Wizard::printBigButtonsList($wiz_data); echo '
*'.__('All company names used here are for identification purposes only. Use of these names, logos, and brands does not imply endorsement.').'
'; } return $result; } /** * Check if section have extensions. * * @return boolean Return true if section is empty. */ public function isEmpty() { $extensions = new ExtensionsDiscovery('app'); $listExtensions = $extensions->getExtensionsApps(); if ($listExtensions > 0 || enterprise_installed() === true) { return false; } else { return true; } } }