function __construct($package, $type, $installItem) { $steps = array(); $steps[] = array('id' => 'site_access', 'name' => ezpI18n::tr('kernel/package', 'Site access mapping'), 'methods' => array('initialize' => 'initializeSiteAccess', 'validate' => 'validateSiteAccess'), 'template' => 'site_access.tpl'); $steps[] = array('id' => 'top_nodes', 'name' => ezpI18n::tr('kernel/package', 'Top node placements'), 'methods' => array('initialize' => 'initializeTopNodes', 'validate' => 'validateTopNodes'), 'template' => 'top_nodes.tpl'); $steps[] = array('id' => 'advanced_options', 'name' => ezpI18n::tr('kernel/package', 'Advanced options'), 'methods' => array('initialize' => 'initializeAdvancedOptions', 'validate' => 'validateAdvancedOptions'), 'template' => 'advanced_options.tpl'); parent::__construct($package, $type, $installItem, ezpI18n::tr('kernel/package', 'Content object import'), $steps); }
private function installPackage($package) { $persistentData = array(); $persistentData['package_name'] = $package->attribute('name'); $persistentData['currentItem'] = 0; $persistentData['doItemInstall'] = true; $persistentData['error'] = array(); $persistentData['error_default_actions'] = array(); $installItemArray = $package->installItemsList(false, eZSys::osType()); foreach ($installItemArray as $installItem) { $installer = eZPackageInstallationHandler::instance($package, $installItem['type'], $installItem); if (!$installer || isset($persistentData['error']['choosen_action'])) { $result = $package->installItem($installItem, $persistentData); if (!$result) { $templateName = "design:package/install_error.tpl"; break; } else { $persistentData['error'] = array(); } } else { $persistentData['doItemInstall'] = false; $installer->generateStepMap($package, $persistentData); $displayStep = true; break; } } $package->setInstalled(); }
} } } $tpl->setVariable( 'install_elements', $installElements ); $templateName = 'design:package/install.tpl'; } if ( $persistentData['doItemInstall'] ) { $persistentData['language_map'] = $package->defaultLanguageMap(); while( $currentItem < count( $installItemArray ) ) { $installItem = $installItemArray[$currentItem]; $installer = eZPackageInstallationHandler::instance( $package, $installItem['type'], $installItem ); if ( !$installer || isset( $persistentData['error']['choosen_action'] ) ) { $result = $package->installItem( $installItem, $persistentData ); if ( !$result ) { $templateName = "design:package/install_error.tpl"; break; } else { $persistentData['error'] = array(); $currentItem++; }