"Full Name", "user_name" => "user_name", "passwd" => "password", "org_id" => 1), ); //$hash = Passwd::hash("/3695PEa"); //Necesario para crear los hash de los passwords require_once('class.passwd.php'); //Creo la conexion $conn = new mysqli('localhost', 'osticket', 'database_password', 'osticket'); if($conn->connect_errno > 0){ die('Unable to connect to database [' . $conn->connect_error . ']'); } //Seteo el charset (para los acentos) if (!$conn->set_charset("utf8")) { printf("Error cargando el conjunto de caracteres utf8: %s\n", $conn->error); exit(); } //Fecha y hora de ahora $date = new DateTime("now", new DateTimeZone("America/Argentina/Buenos_Aires")); $now = $date->format('Y-m-d H:i:s'); //el 'id' es autoincremental y se pone solo (despues se recupera si es necesario utilizarlo) $stmt_user = $conn->prepare("INSERT INTO ost_user (org_id, default_email_id, status, name, created, updated) VALUES (?, ?, ?, ?, ?, ?)"); $stmt_user->bind_param("iiisss", $org_id, $default_email_id, $status, $name, $created, $updated); //el 'id' es autoincremental y se pone solo (despues se recupera si es necesario utilizarlo) $stmt_user_account = $conn->prepare("INSERT INTO ost_user_account (user_id, status, timezone_id, dst, lang, username, passwd, backend, registered) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"); $stmt_user_account->bind_param("iiiisssss", $user_id, $status_user_account, $timezone_id, $dst, $lang, $username, $passwd, $backend, $registered); //el 'id' es autoincremental y se pone solo (despues se recupera si es necesario utilizarlo) $stmt_user_email = $conn->prepare("INSERT INTO ost_user_email (user_id, address) VALUES (?, ?)"); $stmt_user_email->bind_param("is", $user_id, $address); //Update necesario para solucionar las referencias cruzadas entre ost_user y ost_user_email $stmt_update_mail_id = $conn->prepare("UPDATE ost_user SET default_email_id=? WHERE id = ?"); $stmt_update_mail_id->bind_param("si", $default_email_id, $user_id); $stmt_search = $conn->prepare("INSERT INTO ost__search (object_type, object_id, title, content) VALUES (?, ?, ?, ?)"); $stmt_search->bind_param("siss", $object_type, $user_id, $name, $address); //el 'id' es autoincremental y se pone solo (despues se recupera si es necesario utilizarlo) $stmt_form_entry = $conn->prepare("INSERT INTO ost_form_entry (form_id, object_id, object_type, sort, created, updated) VALUES (?, ?, ?, ?, ?, ?)"); $stmt_form_entry->bind_param("iisiss", $form_id, $user_id, $object_type, $sort, $created, $updated); $stmt_form_entry_values = $conn->prepare("INSERT INTO ost_form_entry_values (entry_id, field_id, value, value_id) VALUES (?, ?, ?, ?)"); $stmt_form_entry_values->bind_param("iisi", $entry_id, $field_id, $value, $value_id); //Datos estaticos que no cambian //genericos $created = $now; $updated = $now; $object_type = "U"; //ost_user $default_email_id = 0; //Despues se actualiza con el id correspondiente (esto es por referencias cruzadas) $status = 0; //ost_user_account $status_user_account = 1; $timezone_id = 11; $dst = 0; $lang = "es_ES"; $backend = NULL; $registered = $now; //ost_user_email //ost__search //ost_form_entry $form_id = 1; $sort = 1; //ost_form_entry_values $fields_ids = array(3,4); $value = NULL; $value_id = NULL; foreach ($usuarios as $usuario) { $name = $usuario["nombre_completo"]; $org_id = $usuario["org_id"]; $exito = $stmt_user->execute(); if ($exito === FALSE) { echo "Error: " . $stmt_user->error; } $user_id = $conn->insert_id; $username = $usuario["user_name"]; $passwd = Passwd::hash($usuario["passwd"]); $exito = $stmt_user_account->execute(); if ($exito === FALSE) { echo "Error: " . $stmt_user_account->error; } $address = $username."@mail.com"; $exito = $stmt_user_email->execute(); if ($exito === FALSE) { echo "Error: " . $stmt_user_email->error; } $default_email_id = $conn->insert_id; $exito = $stmt_update_mail_id->execute(); if ($exito === FALSE) { echo "Error: " . $stmt_update_mail_id->error; } $exito = $stmt_search->execute(); if ($exito === FALSE) { echo "Error: " . $stmt_search->error; } $exito = $stmt_form_entry->execute(); if ($exito === FALSE) { echo "Error: " . $stmt_form_entry->error; } $entry_id = $conn->insert_id; foreach ($fields_ids as $field_id) { $exito = $stmt_form_entry_values->execute(); if ($exito === FALSE) { echo "Error: " . $stmt_form_entry_values->error; } } } $stmt_user->close(); $stmt_user_account->close(); $stmt_user_email->close(); $stmt_update_mail_id->close(); $stmt_search->close(); $stmt_form_entry->close(); $stmt_form_entry_values->close(); $conn->close(); ?>