prefix . 'aicc_generado';
}
function aicc_version_requerida_db() {
// Versión de la estructura que el plugin actual maneja
return '0.05';
}
function aicc_requiere_actualizar_db() {
$requerido = false;
$version_db_actual = get_option( 'aicc_dbversion' );
$version_db_requerida = aicc_version_requerida_db();
if ( version_compare( $version_db_actual, $version_db_requerida ) < 0 ) {
$requerido = true;
echo aicc_admin_notice( sprintf( __( 'The database will be updated from %s to %s.'), $version_db_actual, $version_db_requerida ), 'notice' );
}
return $requerido;
}
function aicc_actualizar_db() {
// Al usar dbdelta, es lo mismo crearla que actualizarla
return aicc_crear_db();
return true;
}
function aicc_crear_db() {
global $wpdb;
require_once plugin_dir_path( __FILE__ ) . 'lista_opciones.php';
require_once plugin_dir_path( __FILE__ ) . 'admin/configuracion.php';
$plugin_version = aicc_get_version();
$db_version = aicc_version_requerida_db();
$charset_collate = $wpdb->get_charset_collate();
$tabla = aicc_tabla_generaciones();
// Para usar dbDelta()
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
/**********************************************************************************/
/*** Actualizar la función aicc_version_requerida_db si se cambia la estructura ***/
/**********************************************************************************/
// No poner lineas en blanco o dará error.
// dbDelta no elimina ni ordena columnas.
$sql = "CREATE TABLE $tabla (
id mediumint(9) NOT NULL AUTO_INCREMENT,
fecha datetime DEFAULT '0000-00-00 00:00:00',
plugin_version varchar(16) NOT NULL DEFAULT '" . $plugin_version . "',
generador varchar(25) NOT NULL DEFAULT '',
modelo varchar(25) NOT NULL DEFAULT '',
idioma varchar(25) NOT NULL DEFAULT '',
longitud_solicitada smallint(4) NOT NULL DEFAULT 0,
tono varchar(25) NOT NULL DEFAULT '',
mensaje_sistema text NOT NULL DEFAULT '',
contexto text NOT NULL DEFAULT '',
titulo varchar(255) NOT NULL DEFAULT '',
directrices_adicionales text NOT NULL DEFAULT '',
prompt text NOT NULL DEFAULT '',
solicitud text NOT NULL DEFAULT '',
respuesta text NOT NULL DEFAULT '',
error tinyint(1) NOT NULL DEFAULT 0,
contenido text NOT NULL DEFAULT '',
meta_description varchar(255) NOT NULL DEFAULT '',
meta_keywords varchar(255) NOT NULL DEFAULT '',
valida tinyint(1) NOT NULL DEFAULT 0,
validacion_errores text NOT NULL DEFAULT '',
validacion_advertencias text NOT NULL DEFAULT '',
validacion_notificaciones text NOT NULL DEFAULT '',
validada_por varchar(255) NOT NULL DEFAULT '',
validada_fecha datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
autor varchar(255) NOT NULL DEFAULT '',
publicada_post_id bigint(20) NOT NULL DEFAULT 0,
publicable_slug varchar(255) NOT NULL DEFAULT '',
publicada_fecha datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
UNIQUE KEY id (id)
) $charset_collate;";
$resultado = dbDelta( $sql );
// trigger_error( "Intentando crear la tabla de la BBDD llamando a aicc_crear_db" , E_USER_WARNING );
$error = $wpdb->last_error;
if ( ! empty( $error ) ) {
// Desactiva el plugin
deactivate_plugins( plugin_basename( __FILE__ ) );
// Muestra el mensaje de error
$error = __( 'An error occurred while trying to create the database table for the plugin', 'ai-content-creator' ) . ':
' . $error;
wp_die( $error );
} else {
// Tabla creada correctamente
update_option( 'aicc_dbversion', $db_version );
}
return;
}