Index: branches/RC/core/install/install_toolkit.php =================================================================== diff -u -r11504 -r11610 --- branches/RC/core/install/install_toolkit.php (.../install_toolkit.php) (revision 11504) +++ branches/RC/core/install/install_toolkit.php (.../install_toolkit.php) (revision 11610) @@ -99,14 +99,21 @@ */ function CheckPrerequisites($module_path, $versions, $mode) { + static $prerequisit_classes = Array (); + $prerequisites_file = sprintf(PREREQUISITE_FILE, $module_path); if (!file_exists($prerequisites_file) || !$versions) { return Array (); } - include_once $prerequisites_file; + if (!isset($prerequisit_classes[$module_path])) { + // save class name, because 2nd time + // (in after call $prerequisite_class variable will not be present) + include_once $prerequisites_file; + $prerequisit_classes[$module_path] = $prerequisite_class; + } - $prerequisite_object = new $prerequisite_class(); + $prerequisite_object = new $prerequisit_classes[$module_path](); if (method_exists($prerequisite_object, 'setToolkit')) { $prerequisite_object->setToolkit($this); } @@ -554,7 +561,7 @@ $fields['description'] => $description, 'Status' => $status, ); - $category_fields['ParentId'] = $this->Application->findModule('Name', 'Proj-CMS', 'RootCat'); + $category_fields['ParentId'] = $this->Application->findModule('Name', 'Core', 'RootCat'); if (isset($category_template)) { $category_fields['Template'] = $category_template; @@ -580,7 +587,10 @@ { $this->Application->removeObject('c-cdata'); + // recreate all fields, because custom fields are added during install script $category->defineFields(); + $category->prepareConfigOptions(); // creates ml fields + $category->SetDBField('cust_' . $prefix .'_ItemTemplate', $item_template); $category->Update(); }