<commit_before><?php
//---------------------------------------------------------------------------------------------------
// Proyecto: Icasus 
// Archivo: dato_grabar.php
//---------------------------------------------------------------------------------------------------
// Graba un nuevo dato o actualiza uno existente
//---------------------------------------------------------------------------------------------------
global $usuario;
if (
	isset($_REQUEST['tipo_seleccion_responsable']) 
	AND !empty($_REQUEST["codigo"]) 
	AND !empty($_REQUEST["nombre"]) 
	AND !empty($_REQUEST["id_responsable"]) 
	AND !empty($_REQUEST["id_responsable_medicion"]) 
	AND !empty($_REQUEST["id_entidad"])
)
{
  $dato = new indicador();
  if (isset($_REQUEST["id_dato"]))
  {
    $id_dato = sanitize($_REQUEST["id_dato"], INT);
    $dato->load("id = $id_dato");         
    $es_dato_nuevo = false;
    // Preparamos el aviso para lanzarlo al final
    $aviso = "Se ha actualizado el dato";
  }
  else
  {
    $es_dato_nuevo = true;
    $aviso = "Se ha creado un nuevo dato";
  }
  // Campos obligatorios
  $dato->id_entidad = sanitize($_REQUEST['id_entidad'],INT);
  $dato->codigo = sanitize($_REQUEST['codigo'],SQL);
  $dato->nombre = sanitize($_REQUEST['nombre'],SQL);
  $dato->id_responsable = sanitize($_REQUEST["id_responsable"],INT);
  $dato->id_responsable_medicion = sanitize($_REQUEST["id_responsable_medicion"],INT);
	$dato->desagregado = sanitize($_REQUEST['tipo_seleccion_responsable'],INT);
  // Campos opcionales 
  $dato->id_visibilidad = isset($_REQUEST['id_visibilidad'])?sanitize($_REQUEST['id_visibilidad'], SQL):NULL;
  $dato->descripcion = isset($_REQUEST['descripcion'])?sanitize($_REQUEST['descripcion'], SQL):null;    
  $dato->calculo = isset($_REQUEST['calculo'])?sanitize($_REQUEST['calculo'], SQL):null;    
  $dato->periodicidad = isset($_REQUEST['periodicidad'])?sanitize($_REQUEST['periodicidad'], SQL):null;    
  $dato->nivel_desagregacion = isset($_REQUEST['nivel_desagregacion'])?sanitize($_REQUEST['nivel_desagregacion'], SQL):null;
  $dato->id_tipo_agregacion = isset($_REQUEST['id_tipo_agregacion'])?sanitize($_REQUEST['id_tipo_agregacion'], INT):0;
  $dato->fuente_datos = isset($_REQUEST['fuente_datos'])?sanitize($_REQUEST['fuente_datos'], SQL):null;   
  $dato->unidad_generadora = isset($_REQUEST['unidad_generadora'])?sanitize($_REQUEST['unidad_generadora'], SQL):null;
  $dato->indicadores_relacionados = isset($_REQUEST['indicadores_relacionados'])?sanitize($_REQUEST['indicadores_relacionados'], SQL):null;    
  $dato->activo = 1;
  $dato->fecha_creacion = date("Y-m-d");

  // Una vez grabado el dato vamos a asignar a los responsables de medicion
  // Esto sólo se hace si se trata de un nuevo dato
  if ($dato->save())
  {
    if ($es_dato_nuevo == true)
    {
      $subunidades = $_REQUEST["subunidades"];
      if (count($subunidades) > 0)
      {
        foreach ($subunidades as $subunidad)
        {
          $indicador_subunidad = new indicador_subunidad();
          $indicador_subunidad->id_indicador = $dato->id;
          $indicador_subunidad->id_entidad = $subunidad;<commit_msg>No guardaba el historico, resuelto<commit_after><?php
//---------------------------------------------------------------------------------------------------
// Proyecto: Icasus 
// Archivo: dato_grabar.php
//---------------------------------------------------------------------------------------------------
// Graba un nuevo dato o actualiza uno existente
//---------------------------------------------------------------------------------------------------
global $usuario;
if (
	isset($_REQUEST['tipo_seleccion_responsable']) 
	AND !empty($_REQUEST["codigo"]) 
	AND !empty($_REQUEST["nombre"]) 
	AND !empty($_REQUEST["id_responsable"]) 
	AND !empty($_REQUEST["id_responsable_medicion"]) 
	AND !empty($_REQUEST["id_entidad"])
)
{
  $dato = new indicador();
  if (isset($_REQUEST["id_dato"]))
  {
    $id_dato = sanitize($_REQUEST["id_dato"], INT);
    $dato->load("id = $id_dato");         
    $es_dato_nuevo = false;
    // Preparamos el aviso para lanzarlo al final
    $aviso = "Se ha actualizado el dato";
  }
  else
  {
    $es_dato_nuevo = true;
    $aviso = "Se ha creado un nuevo dato";
  }
  // Campos obligatorios
  $dato->id_entidad = sanitize($_REQUEST['id_entidad'],INT);
  $dato->codigo = sanitize($_REQUEST['codigo'],SQL);
  $dato->nombre = sanitize($_REQUEST['nombre'],SQL);
  $dato->id_responsable = sanitize($_REQUEST["id_responsable"],INT);
  $dato->id_responsable_medicion = sanitize($_REQUEST["id_responsable_medicion"],INT);
	$dato->desagregado = sanitize($_REQUEST['tipo_seleccion_responsable'],INT);
  // Campos opcionales 
  $dato->id_visibilidad = isset($_REQUEST['id_visibilidad'])?sanitize($_REQUEST['id_visibilidad'], SQL):NULL;
  $dato->descripcion = isset($_REQUEST['descripcion'])?sanitize($_REQUEST['descripcion'], SQL):null;    
  $dato->calculo = isset($_REQUEST['calculo'])?sanitize($_REQUEST['calculo'], SQL):null;    
  $dato->periodicidad = isset($_REQUEST['periodicidad'])?sanitize($_REQUEST['periodicidad'], SQL):null;    
  $dato->nivel_desagregacion = isset($_REQUEST['nivel_desagregacion'])?sanitize($_REQUEST['nivel_desagregacion'], SQL):null;
  $dato->id_tipo_agregacion = isset($_REQUEST['id_tipo_agregacion'])?sanitize($_REQUEST['id_tipo_agregacion'], INT):0;
  $dato->fuente_datos = isset($_REQUEST['fuente_datos'])?sanitize($_REQUEST['fuente_datos'], SQL):null;
	$dato->historicos = isset($_REQUEST['historicos'])?sanitize($_REQUEST['historicos'],SQL):null;
  $dato->unidad_generadora = isset($_REQUEST['unidad_generadora'])?sanitize($_REQUEST['unidad_generadora'], SQL):null;
  $dato->indicadores_relacionados = isset($_REQUEST['indicadores_relacionados'])?sanitize($_REQUEST['indicadores_relacionados'], SQL):null;    
  $dato->activo = 1;
  $dato->fecha_creacion = date("Y-m-d");

  // Una vez grabado el dato vamos a asignar a los responsables de medicion
  // Esto sólo se hace si se trata de un nuevo dato
  if ($dato->save())
  {
    if ($es_dato_nuevo == true)
    {
      $subunidades = $_REQUEST["subunidades"];
      if (count($subunidades) > 0)
      {
        foreach ($subunidades as $subunidad)
        {
          $indicador_subunidad = new indicador_subunidad();
          $indicador_subunidad->id_indicador = $dato->id;
          $indicador_subunidad->id_entidad = $subunidad;
{'fraction_non_alphanumeric': 0.24788334901222953, 'fraction_numerical': 0.0009407337723424271, 'mean_word_length': 3.2329130723291306, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 50, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6177921', 'n_tokens_mistral': 2105, 'n_tokens_neox': 2128, 'n_words': 313}