function add() { $response = $this->get_response(); $form = $response->form; if (!$form->get_errors() && $this->response->submit()) { $name = $form->get_request('name'); $comment = $form->get_request('comment'); $check = new appliance(); $check->get_instance_by_name($name); if ($check->id > 0) { $error = sprintf($this->lang['error_exists'], $name); } if (isset($error)) { $response->error = $error; } else { $appliance = new appliance(); $fields['appliance_id'] = (int) str_replace(".", "", str_pad(microtime(true), 15, "0")); $fields['appliance_name'] = $name; $fields['appliance_resources'] = '-1'; $fields['appliance_kernelid'] = '1'; $fields['appliance_imageid'] = '1'; $fields["appliance_virtual"] = 0; $fields["appliance_virtualization"] = '1'; $fields['appliance_wizard'] = 'wizard=step2,user='******'appliance_comment'] = $comment; $appliance->add_no_hook($fields); // wizard $rs = $this->user->set_wizard($this->user->name, 'appliance', 2, $fields['appliance_id']); // long term event $event = new event(); $event_description = sprintf($this->lang['appliance_create_in_progress_event'], $name, 1, $this->user->name); $event->log("appliance", $_SERVER['REQUEST_TIME'], 9, "add", $event_description, "", "", 0, 0, 0); // set wizard id $response->appliance_wizard_id = $fields['appliance_id']; $response->msg = sprintf($this->lang['msg'], $name); } } return $response; }
$db = openqrm_get_db_connection(); $recordSet = $db->Execute($create_hybrid_cloud_table); $db->Close(); // auto create Cloud Host Server and Storage $virtualization = new virtualization(); $virtualization->get_instance_by_type("hybrid-cloud"); $appliance = new appliance(); $fields['appliance_id'] = (int) str_replace(".", "", str_pad(microtime(true), 15, "0")); $fields['appliance_name'] = 'cloud-host-manager'; $fields['appliance_resources'] = '0'; $fields['appliance_kernelid'] = '0'; $fields['appliance_imageid'] = '0'; $fields["appliance_virtual"] = 0; $fields["appliance_virtualization"] = $virtualization->id; $fields['appliance_comment'] = 'Hybrid-Cloud Host Manager'; $appliance->add_no_hook($fields); $event->log("init", $_SERVER['REQUEST_TIME'], 5, "hybrid-cloud-ation", "Created Cloud Host Manager Object.", "", "", 0, 0, 0); $deployment = new deployment(); $deployment->get_instance_by_name('ami-deployment'); $storage = new storage(); $new_hc_id = (int) str_replace(".", "", str_pad(microtime(true), 15, "0")); $storage_fields['storage_id'] = $new_hc_id; $storage_fields['storage_name'] = 'ami-image-storage'; $storage_fields['storage_type'] = $deployment->id; $storage_fields['storage_comment'] = 'Hybrid-Cloud AMI Image Storage Object'; $storage_fields['storage_resource_id'] = 0; $storage_fields['storage_capabilities'] = ''; $storage->add($storage_fields); $event->log("init", $_SERVER['REQUEST_TIME'], 5, "hybrid-cloud-ation", "Created AMI Image Storage Object.", "", "", 0, 0, 0); // add cloud products if (file_exists($cloud_usergroup_class)) {