<?php

class grid_pla_actualizacion_de_datos_csv
{
   var $Db;
   var $Erro;
   var $Ini;
   var $Lookup;
   var $nm_data;

   var $Arquivo;
   var $Tit_doc;
   var $Delim_dados;
   var $Delim_line;
   var $Delim_col;
   var $Csv_label;
   var $sc_proc_grid; 
   var $NM_cmp_hidden = array();
   var $count_ger;

   //---- 
   function __construct()
   {
      $this->nm_data   = new nm_data("es");
   }


function actionBar_isValidState($buttonName, $buttonState)
{
    switch ($buttonName) {
        case 'enviarwhatsapp':
            return in_array($buttonState, array("enviar", "noenviar"));
    }

    return false;
}


function actionBar_displayState($buttonName)
{
    switch ($buttonName) {
        case 'enviarwhatsapp':
            return $this->actionBar_displayState_enviarwhatsapp();
    }
}

function actionBar_displayState_enviarwhatsapp()
{
    switch ($this->sc_actionbar_states['enviarwhatsapp']) {
        case 'enviar':
            return "<i class=\"icon_fa sc-actb-enviarwhatsapp sc-acts-enviar fas fa-share-square\"></i>";
        case 'noenviar':
            return "<i class=\"icon_fa sc-actb-enviarwhatsapp sc-acts-noenviar fas fa-hand-paper\"></i>";
    }
}

function actionBar_getStateHint($buttonName)
{
    switch ($buttonName) {
        case 'enviarwhatsapp':
            return $this->actionBar_getStateHint_enviarwhatsapp();
    }
}

function actionBar_getStateHint_enviarwhatsapp()
{
    switch ($this->sc_actionbar_states['enviarwhatsapp']) {
        case 'enviar':
            return "Enviar whatsapp";
        case 'noenviar':
            return "No enviar whatsapp";
    }
}

function actionBar_getStateConfirm($buttonName)
{
    switch ($buttonName) {
        case 'enviarwhatsapp':
            return $this->actionBar_getStateConfirm_enviarwhatsapp();
    }
}

function actionBar_getStateConfirm_enviarwhatsapp()
{
    switch ($this->sc_actionbar_states['enviarwhatsapp']) {
        case 'enviar':
            return "";
        case 'noenviar':
            return "";
    }
}

function actionBar_getStateDisable($buttonName)
{
    if (isset($this->sc_actionbar_disabled[$buttonName]) && $this->sc_actionbar_disabled[$buttonName]) {
        return ' disabled';
    }

    return '';
}

function actionBar_getStateHide($buttonName)
{
    if (isset($this->sc_actionbar_hidden[$buttonName]) && $this->sc_actionbar_hidden[$buttonName]) {
        return ' sc-actionbar-button-hidden';
    }

    return '';
}

function sc_actionbar_state($buttonName, $buttonState)
{
    if (!$this->actionBar_isValidState($buttonName, $buttonState)) {
        return;
    }

    $this->sc_actionbar_states[$buttonName] = $buttonState;
    $this->Ini->Arr_result['actionbarState'][$buttonName] = $buttonState;
}
   //---- 
   function monta_csv()
   {
      $this->inicializa_vars();
      $this->grava_arquivo();
      if ($this->Ini->sc_export_ajax)
      {
          $this->Arr_result['file_export']  = NM_charset_to_utf8($this->Csv_f);
          $this->Arr_result['title_export'] = NM_charset_to_utf8($this->Tit_doc);
          $Temp = ob_get_clean();
          if ($Temp !== false && trim($Temp) != "")
          {
              $this->Arr_result['htmOutput'] = NM_charset_to_utf8($Temp);
          }
          $oJson = new Services_JSON();
          echo $oJson->encode($this->Arr_result);
          exit;
      }
      else
      {
          $this->progress_bar_end();
      }
   }

   //----- 
   function inicializa_vars()
   {
     global $nm_lang;
      if (isset($GLOBALS['nmgp_parms']) && !empty($GLOBALS['nmgp_parms'])) 
      { 
          $GLOBALS['nmgp_parms'] = str_replace("@aspass@", "'", $GLOBALS['nmgp_parms']);
          $todox = str_replace("?#?@?@?", "?#?@ ?@?", $GLOBALS["nmgp_parms"]);
          $todo  = explode("?@?", $todox);
          foreach ($todo as $param)
          {
               $cadapar = explode("?#?", $param);
               if (1 < sizeof($cadapar))
               {
                   if (substr($cadapar[0], 0, 11) == "SC_glo_par_")
                   {
                       $cadapar[0] = substr($cadapar[0], 11);
                       $cadapar[1] = $_SESSION[$cadapar[1]];
                   }
                   if (isset($GLOBALS['sc_conv_var'][$cadapar[0]]))
                   {
                       $cadapar[0] = $GLOBALS['sc_conv_var'][$cadapar[0]];
                   }
                   elseif (isset($GLOBALS['sc_conv_var'][strtolower($cadapar[0])]))
                   {
                       $cadapar[0] = $GLOBALS['sc_conv_var'][strtolower($cadapar[0])];
                   }
                   nm_limpa_str_grid_pla_actualizacion_de_datos($cadapar[1]);
                   nm_protect_num_grid_pla_actualizacion_de_datos($cadapar[0], $cadapar[1]);
                   if ($cadapar[1] == "@ ") {$cadapar[1] = trim($cadapar[1]); }
                   $Tmp_par   = $cadapar[0];
                   $$Tmp_par = $cadapar[1];
                   if ($Tmp_par == "nmgp_opcao")
                   {
                       $_SESSION['sc_session'][$script_case_init]['grid_pla_actualizacion_de_datos']['opcao'] = $cadapar[1];
                   }
               }
          }
      }
      if (isset($hhpact)) 
      {
          $_SESSION['hhpact'] = $hhpact;
          nm_limpa_str_grid_pla_actualizacion_de_datos($_SESSION["hhpact"]);
      }
      $dir_raiz          = strrpos($_SERVER['PHP_SELF'],"/") ;  
      $dir_raiz          = substr($_SERVER['PHP_SELF'], 0, $dir_raiz + 1) ;  
      $this->nm_location = $this->Ini->sc_protocolo . $this->Ini->server . $dir_raiz; 
      require_once($this->Ini->path_aplicacao . "grid_pla_actualizacion_de_datos_total.class.php"); 
      $this->Tot      = new grid_pla_actualizacion_de_datos_total($this->Ini->sc_page);
      $this->prep_modulos("Tot");
      $Gb_geral = "quebra_geral_" . $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['SC_Ind_Groupby'];
      if (method_exists($this->Tot,$Gb_geral))
      {
          $this->Tot->$Gb_geral();
          $this->count_ger = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['tot_geral'][1];
      }
      $this->Csv_password = "";
      $this->Arquivo   = "sc_csv";
      $this->Arquivo  .= "_" . date("YmdHis") . "_" . bin2hex(random_bytes(8));
      $this->Arq_zip   = $this->Arquivo . "_grid_pla_actualizacion_de_datos.zip";
      $this->Arquivo  .= "_grid_pla_actualizacion_de_datos";
      $this->Arquivo  .= ".csv";
      $this->Tit_doc   = "grid_pla_actualizacion_de_datos.csv";
      $this->Tit_zip   = "grid_pla_actualizacion_de_datos.zip";
      $this->Label_CSV = "N";
      $this->Delim_dados = "\"";
      $this->Delim_col   = ";";
      $this->Delim_line  = "\r\n";
      $this->Tem_csv_res = false;
      if (isset($_REQUEST['nm_delim_line']) && !empty($_REQUEST['nm_delim_line']))
      {
          $this->Delim_line = str_replace(array(1,2,3), array("\r\n","\r","\n"), $_REQUEST['nm_delim_line']);
      }
      if (isset($_REQUEST['nm_delim_col']) && !empty($_REQUEST['nm_delim_col']))
      {
          $this->Delim_col = str_replace(array(1,2,3,4,5), array(";",",","\	","#",""), $_REQUEST['nm_delim_col']);
      }
      if (isset($_REQUEST['nm_delim_dados']) && !empty($_REQUEST['nm_delim_dados']))
      {
          $this->Delim_dados = str_replace(array(1,2,3,4), array('"',"'","","|"), $_REQUEST['nm_delim_dados']);
      }
      if (isset($_REQUEST['nm_label_csv']) && !empty($_REQUEST['nm_label_csv']))
      {
          $this->Label_CSV = $_REQUEST['nm_label_csv'];
      }
          $this->Tem_csv_res  = true;
          if (isset($_REQUEST['SC_module_export']) && $_REQUEST['SC_module_export'] != "")
          { 
              $this->Tem_csv_res = (strpos(" " . $_REQUEST['SC_module_export'], "resume") !== false) ? true : false;
          } 
          if ($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['SC_Ind_Groupby'] == "sc_free_total")
          {
              $this->Tem_csv_res  = false;
          }
          if ($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['SC_Ind_Groupby'] == "sc_free_group_by" && empty($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['SC_Gb_Free_cmp']))
          {
              $this->Tem_csv_res  = false;
          }
      if (!$this->Ini->sc_export_ajax) {
          require_once($this->Ini->path_lib_php . "/sc_progress_bar.php");
          $this->pb = new scProgressBar();
          $this->pb->setRoot($this->Ini->root);
          $this->pb->setDir($_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['glo_nm_path_imag_temp'] . "/");
          $this->pb->setProgressbarMd5($_GET['pbmd5']);
          $this->pb->initialize();
          $this->pb->setReturnUrl("./");
          $this->pb->setReturnOption($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['csv_return']);
          if ($this->Tem_csv_res) {
              $PB_plus = intval ($this->count_ger * 0.04);
              $PB_plus = ($PB_plus < 2) ? 2 : $PB_plus;
          }
          else {
              $PB_plus = intval ($this->count_ger * 0.02);
              $PB_plus = ($PB_plus < 1) ? 1 : $PB_plus;
          }
          $PB_tot = $this->count_ger + $PB_plus;
          $this->PB_dif = $PB_tot - $this->count_ger;
          $this->pb->setTotalSteps($PB_tot );
      }
   }

   //---- 
   function prep_modulos($modulo)
   {
      $this->$modulo->Ini    = $this->Ini;
      $this->$modulo->Db     = $this->Db;
      $this->$modulo->Erro   = $this->Erro;
      $this->$modulo->Lookup = $this->Lookup;
   }

   //----- 
   function grava_arquivo()
   {
     global $nm_lang;
      global $nm_nada, $nm_lang;

      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      $this->sc_proc_grid = false; 
      $nm_raiz_img  = ""; 
      if (isset($_SESSION['scriptcase']['sc_apl_conf']['grid_pla_actualizacion_de_datos']['field_display']) && !empty($_SESSION['scriptcase']['sc_apl_conf']['grid_pla_actualizacion_de_datos']['field_display']))
      {
          foreach ($_SESSION['scriptcase']['sc_apl_conf']['grid_pla_actualizacion_de_datos']['field_display'] as $NM_cada_field => $NM_cada_opc)
          {
              $this->NM_cmp_hidden[$NM_cada_field] = $NM_cada_opc;
          }
      }
      if (isset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['usr_cmp_sel']) && !empty($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['usr_cmp_sel']))
      {
          foreach ($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['usr_cmp_sel'] as $NM_cada_field => $NM_cada_opc)
          {
              $this->NM_cmp_hidden[$NM_cada_field] = $NM_cada_opc;
          }
      }
      if (isset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['php_cmp_sel']) && !empty($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['php_cmp_sel']))
      {
          foreach ($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['php_cmp_sel'] as $NM_cada_field => $NM_cada_opc)
          {
              $this->NM_cmp_hidden[$NM_cada_field] = $NM_cada_opc;
          }
      }
      $this->sc_where_orig   = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['where_orig'];
      $this->sc_where_atual  = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['where_pesq'];
      $this->sc_where_filtro = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['where_pesq_filtro'];
      if (isset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['campos_busca']) && !empty($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['campos_busca']))
      { 
          $Busca_temp = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['campos_busca'];
          if ($_SESSION['scriptcase']['charset'] != "UTF-8")
          {
              $Busca_temp = NM_conv_charset($Busca_temp, $_SESSION['scriptcase']['charset'], "UTF-8");
          }
          $this->fecha = (isset($Busca_temp['fecha'])) ? $Busca_temp['fecha'] : ""; 
          $tmp_pos = (is_string($this->fecha)) ? strpos($this->fecha, "##@@") : false;
          if ($tmp_pos !== false && !is_array($this->fecha))
          {
              $this->fecha = substr($this->fecha, 0, $tmp_pos);
          }
          $this->fecha_2 = (isset($Busca_temp['fecha_input_2'])) ? $Busca_temp['fecha_input_2'] : ""; 
          $this->cedula = (isset($Busca_temp['cedula'])) ? $Busca_temp['cedula'] : ""; 
          $tmp_pos = (is_string($this->cedula)) ? strpos($this->cedula, "##@@") : false;
          if ($tmp_pos !== false && !is_array($this->cedula))
          {
              $this->cedula = substr($this->cedula, 0, $tmp_pos);
          }
          $this->id_nacionalidad = (isset($Busca_temp['id_nacionalidad'])) ? $Busca_temp['id_nacionalidad'] : ""; 
          $tmp_pos = (is_string($this->id_nacionalidad)) ? strpos($this->id_nacionalidad, "##@@") : false;
          if ($tmp_pos !== false && !is_array($this->id_nacionalidad))
          {
              $this->id_nacionalidad = substr($this->id_nacionalidad, 0, $tmp_pos);
          }
          $this->talla_camisa = (isset($Busca_temp['talla_camisa'])) ? $Busca_temp['talla_camisa'] : ""; 
          $tmp_pos = (is_string($this->talla_camisa)) ? strpos($this->talla_camisa, "##@@") : false;
          if ($tmp_pos !== false && !is_array($this->talla_camisa))
          {
              $this->talla_camisa = substr($this->talla_camisa, 0, $tmp_pos);
          }
          $this->talla_zapatos = (isset($Busca_temp['talla_zapatos'])) ? $Busca_temp['talla_zapatos'] : ""; 
          $tmp_pos = (is_string($this->talla_zapatos)) ? strpos($this->talla_zapatos, "##@@") : false;
          if ($tmp_pos !== false && !is_array($this->talla_zapatos))
          {
              $this->talla_zapatos = substr($this->talla_zapatos, 0, $tmp_pos);
          }
      } 
      $this->nm_where_dinamico = "";
      
/*----- Scriptcase Locale: Event onScriptinit ------*/
$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'on';
  unset($_SESSION['desdefunciones']);
$this->NM_cmp_hidden["id_periodo"] = 'off';if (!isset($this->NM_ajax_event) || !$this->NM_ajax_event) {$_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['php_cmp_sel']["id_periodo"] = 'off'; }
$this->crear_funciones_js();
$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'off';
/*----- END - Scriptcase Locale: Event onScriptinit ------*/
 
      if  (!empty($this->nm_where_dinamico)) 
      {   
          $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['where_pesq'] .= $this->nm_where_dinamico;
      }   
      if (isset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['csv_name']))
      {
          $Pos = strrpos($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['csv_name'], ".");
          if ($Pos === false) {
              $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['csv_name'] .= ".csv";
          }
          $this->Arquivo = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['csv_name'];
          $this->Arq_zip = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['csv_name'];
          $this->Tit_doc = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['csv_name'];
          $Pos = strrpos($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['csv_name'], ".");
          if ($Pos !== false) {
              $this->Arq_zip = substr($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['csv_name'], 0, $Pos);
          }
          $this->Arq_zip .= ".zip";
          $this->Tit_zip  = $this->Arq_zip;
          unset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['csv_name']);
      }
      $this->arr_export = array('label' => array(), 'lines' => array());
      $this->arr_span   = array();

      $this->Csv_f = $this->Ini->root . $this->Ini->path_imag_temp . "/" . $this->Arquivo;
      $this->Zip_f = $this->Ini->root . $this->Ini->path_imag_temp . "/" . $this->Arq_zip;
      $csv_f = fopen($this->Ini->root . $this->Ini->path_imag_temp . "/" . $this->Arquivo, "w");
      if ($this->Label_CSV == "S")
      { 
          $this->NM_prim_col  = 0;
          $this->csv_registro = "";
          foreach ($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['field_order'] as $Cada_col)
          { 
              $SC_Label = (isset($this->New_label['fecha'])) ? $this->New_label['fecha'] : "Fecha"; 
              if ($Cada_col == "fecha" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
              $SC_Label = (isset($this->New_label['cedula'])) ? $this->New_label['cedula'] : "Cedula"; 
              if ($Cada_col == "cedula" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
              $SC_Label = (isset($this->New_label['nombre'])) ? $this->New_label['nombre'] : "Nombre"; 
              if ($Cada_col == "nombre" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
              $SC_Label = (isset($this->New_label['celular_personal'])) ? $this->New_label['celular_personal'] : "Celular Personal"; 
              if ($Cada_col == "celular_personal" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
              $SC_Label = (isset($this->New_label['celular_empresa'])) ? $this->New_label['celular_empresa'] : "Celular Empresa"; 
              if ($Cada_col == "celular_empresa" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
              $SC_Label = (isset($this->New_label['correo_electronico'])) ? $this->New_label['correo_electronico'] : "Correo Electronico"; 
              if ($Cada_col == "correo_electronico" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
              $SC_Label = (isset($this->New_label['fecha_nacimiento'])) ? $this->New_label['fecha_nacimiento'] : "Fecha Nacimiento"; 
              if ($Cada_col == "fecha_nacimiento" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
              $SC_Label = (isset($this->New_label['id_periodo'])) ? $this->New_label['id_periodo'] : "Id Periodo"; 
              if ($Cada_col == "id_periodo" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
              $SC_Label = (isset($this->New_label['id'])) ? $this->New_label['id'] : "Id"; 
              if ($Cada_col == "id" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
              $SC_Label = (isset($this->New_label['periodo'])) ? $this->New_label['periodo'] : "Periodo"; 
              if ($Cada_col == "periodo" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
              $SC_Label = (isset($this->New_label['predio'])) ? $this->New_label['predio'] : "Predio"; 
              if ($Cada_col == "predio" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
              $SC_Label = (isset($this->New_label['id_predio'])) ? $this->New_label['id_predio'] : "Id Predio"; 
              if ($Cada_col == "id_predio" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
              $SC_Label = (isset($this->New_label['telefono_emergencia1'])) ? $this->New_label['telefono_emergencia1'] : "Telefono Emergencia 1"; 
              if ($Cada_col == "telefono_emergencia1" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
              $SC_Label = (isset($this->New_label['telefono_emergencia2'])) ? $this->New_label['telefono_emergencia2'] : "Telefono Emergencia 2"; 
              if ($Cada_col == "telefono_emergencia2" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
              $SC_Label = (isset($this->New_label['direccion'])) ? $this->New_label['direccion'] : "Direccion"; 
              if ($Cada_col == "direccion" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
              $SC_Label = (isset($this->New_label['estado_civil'])) ? $this->New_label['estado_civil'] : "Estado Civil"; 
              if ($Cada_col == "estado_civil" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
              $SC_Label = (isset($this->New_label['sexo'])) ? $this->New_label['sexo'] : "Sexo"; 
              if ($Cada_col == "sexo" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
              $SC_Label = (isset($this->New_label['nacionalidad'])) ? $this->New_label['nacionalidad'] : "Nacionalidad"; 
              if ($Cada_col == "nacionalidad" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
              $SC_Label = (isset($this->New_label['id_nacionalidad'])) ? $this->New_label['id_nacionalidad'] : "Id Nacionalidad"; 
              if ($Cada_col == "id_nacionalidad" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
              $SC_Label = (isset($this->New_label['talla_camisa'])) ? $this->New_label['talla_camisa'] : "Talla Camisa"; 
              if ($Cada_col == "talla_camisa" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
              $SC_Label = (isset($this->New_label['talla_zapatos'])) ? $this->New_label['talla_zapatos'] : "Talla Zapatos"; 
              if ($Cada_col == "talla_zapatos" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
              $SC_Label = (isset($this->New_label['acepta_terminos'])) ? $this->New_label['acepta_terminos'] : "Acepta Terminos"; 
              if ($Cada_col == "acepta_terminos" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
              $SC_Label = (isset($this->New_label['firma'])) ? $this->New_label['firma'] : "Firma"; 
              if ($Cada_col == "firma" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
              $SC_Label = (isset($this->New_label['enviar'])) ? $this->New_label['enviar'] : "Enviar"; 
              if ($Cada_col == "enviar" && (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off"))
              {
                  $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
                  $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $SC_Label);
                  $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
                  $this->NM_prim_col++;
              }
          } 
          $this->csv_registro .= $this->Delim_line;
          fwrite($csv_f, $this->csv_registro);
      } 
      $this->nm_field_dinamico = array();
      $this->nm_order_dinamico = array();
      $nmgp_select_count = "SELECT count(*) AS countTest from (SELECT     id,     fecha,     cedula,     nombre,     periodo,     predio,     id_predio,     celular_personal,     celular_empresa,     telefono_emergencia1,     telefono_emergencia2,     direccion,     correo_electronico,     fecha_nacimiento,     estado_civil,     sexo,     nacionalidad,     id_nacionalidad,     talla_camisa,     talla_zapatos,     acepta_terminos,     firma,     enviar,     id_periodo FROM ( select      a.id,     a.fecha,     a.cedula,     b.nombre,     a.periodo,     a.predio id_predio,     d.descripcion predio,     a.celular_personal,     a.celular_empresa,     a.telefono_emergencia1,     a.telefono_emergencia2,     a.direccion,     a.correo_electronico,     a.fecha_nacimiento,     a.estado_civil,     a.sexo,     a.nacionalidad id_nacionalidad,     c.nacionalidad,     a.talla_camisa,     a.talla_zapatos,     a.acepta_terminos,     a.firma,     if(isnull(e.id),'NO','SI') enviar,     a.periodo id_periodo     from pla_actualizacion_de_datos a     left join gen_persona b on a.cedula=b.cedula     left join gen_paises c on c.pais=a.nacionalidad     left join pre_predio d on d.codigo=a.predio     left join pla_actualizacion_enviar e on e.periodo=a.periodo and e.id=a.id     where a.periodo=" . $_SESSION['hhpact'] . "  ) a) nm_sel_esp"; 
      if (in_array(strtolower($this->Ini->nm_tpbanco), $this->Ini->nm_bases_sybase))
      { 
          $nmgp_select = "SELECT str_replace (convert(char(10),fecha,102), '.', '-') + ' ' + convert(char(8),fecha,20), cedula, nombre, celular_personal, celular_empresa, correo_electronico, str_replace (convert(char(10),fecha_nacimiento,102), '.', '-') + ' ' + convert(char(8),fecha_nacimiento,20), id_periodo, id, periodo, predio, id_predio, telefono_emergencia1, telefono_emergencia2, direccion, estado_civil, sexo, nacionalidad, id_nacionalidad, talla_camisa, talla_zapatos, acepta_terminos, firma, enviar from (SELECT     id,     fecha,     cedula,     nombre,     periodo,     predio,     id_predio,     celular_personal,     celular_empresa,     telefono_emergencia1,     telefono_emergencia2,     direccion,     correo_electronico,     fecha_nacimiento,     estado_civil,     sexo,     nacionalidad,     id_nacionalidad,     talla_camisa,     talla_zapatos,     acepta_terminos,     firma,     enviar,     id_periodo FROM ( select      a.id,     a.fecha,     a.cedula,     b.nombre,     a.periodo,     a.predio id_predio,     d.descripcion predio,     a.celular_personal,     a.celular_empresa,     a.telefono_emergencia1,     a.telefono_emergencia2,     a.direccion,     a.correo_electronico,     a.fecha_nacimiento,     a.estado_civil,     a.sexo,     a.nacionalidad id_nacionalidad,     c.nacionalidad,     a.talla_camisa,     a.talla_zapatos,     a.acepta_terminos,     a.firma,     if(isnull(e.id),'NO','SI') enviar,     a.periodo id_periodo     from pla_actualizacion_de_datos a     left join gen_persona b on a.cedula=b.cedula     left join gen_paises c on c.pais=a.nacionalidad     left join pre_predio d on d.codigo=a.predio     left join pla_actualizacion_enviar e on e.periodo=a.periodo and e.id=a.id     where a.periodo=" . $_SESSION['hhpact'] . "  ) a) nm_sel_esp"; 
      } 
      elseif (in_array(strtolower($this->Ini->nm_tpbanco), $this->Ini->nm_bases_mysql))
      { 
          $nmgp_select = "SELECT fecha, cedula, nombre, celular_personal, celular_empresa, correo_electronico, fecha_nacimiento, id_periodo, id, periodo, predio, id_predio, telefono_emergencia1, telefono_emergencia2, direccion, estado_civil, sexo, nacionalidad, id_nacionalidad, talla_camisa, talla_zapatos, acepta_terminos, firma, enviar from (SELECT     id,     fecha,     cedula,     nombre,     periodo,     predio,     id_predio,     celular_personal,     celular_empresa,     telefono_emergencia1,     telefono_emergencia2,     direccion,     correo_electronico,     fecha_nacimiento,     estado_civil,     sexo,     nacionalidad,     id_nacionalidad,     talla_camisa,     talla_zapatos,     acepta_terminos,     firma,     enviar,     id_periodo FROM ( select      a.id,     a.fecha,     a.cedula,     b.nombre,     a.periodo,     a.predio id_predio,     d.descripcion predio,     a.celular_personal,     a.celular_empresa,     a.telefono_emergencia1,     a.telefono_emergencia2,     a.direccion,     a.correo_electronico,     a.fecha_nacimiento,     a.estado_civil,     a.sexo,     a.nacionalidad id_nacionalidad,     c.nacionalidad,     a.talla_camisa,     a.talla_zapatos,     a.acepta_terminos,     a.firma,     if(isnull(e.id),'NO','SI') enviar,     a.periodo id_periodo     from pla_actualizacion_de_datos a     left join gen_persona b on a.cedula=b.cedula     left join gen_paises c on c.pais=a.nacionalidad     left join pre_predio d on d.codigo=a.predio     left join pla_actualizacion_enviar e on e.periodo=a.periodo and e.id=a.id     where a.periodo=" . $_SESSION['hhpact'] . "  ) a) nm_sel_esp"; 
      } 
      elseif (in_array(strtolower($this->Ini->nm_tpbanco), $this->Ini->nm_bases_mssql))
      { 
          $nmgp_select = "SELECT convert(char(23),fecha,121), cedula, nombre, celular_personal, celular_empresa, correo_electronico, convert(char(23),fecha_nacimiento,121), id_periodo, id, periodo, predio, id_predio, telefono_emergencia1, telefono_emergencia2, direccion, estado_civil, sexo, nacionalidad, id_nacionalidad, talla_camisa, talla_zapatos, acepta_terminos, firma, enviar from (SELECT     id,     fecha,     cedula,     nombre,     periodo,     predio,     id_predio,     celular_personal,     celular_empresa,     telefono_emergencia1,     telefono_emergencia2,     direccion,     correo_electronico,     fecha_nacimiento,     estado_civil,     sexo,     nacionalidad,     id_nacionalidad,     talla_camisa,     talla_zapatos,     acepta_terminos,     firma,     enviar,     id_periodo FROM ( select      a.id,     a.fecha,     a.cedula,     b.nombre,     a.periodo,     a.predio id_predio,     d.descripcion predio,     a.celular_personal,     a.celular_empresa,     a.telefono_emergencia1,     a.telefono_emergencia2,     a.direccion,     a.correo_electronico,     a.fecha_nacimiento,     a.estado_civil,     a.sexo,     a.nacionalidad id_nacionalidad,     c.nacionalidad,     a.talla_camisa,     a.talla_zapatos,     a.acepta_terminos,     a.firma,     if(isnull(e.id),'NO','SI') enviar,     a.periodo id_periodo     from pla_actualizacion_de_datos a     left join gen_persona b on a.cedula=b.cedula     left join gen_paises c on c.pais=a.nacionalidad     left join pre_predio d on d.codigo=a.predio     left join pla_actualizacion_enviar e on e.periodo=a.periodo and e.id=a.id     where a.periodo=" . $_SESSION['hhpact'] . "  ) a) nm_sel_esp"; 
      } 
      elseif (in_array(strtolower($this->Ini->nm_tpbanco), $this->Ini->nm_bases_oracle))
      { 
          $nmgp_select = "SELECT fecha, cedula, nombre, celular_personal, celular_empresa, correo_electronico, fecha_nacimiento, id_periodo, id, periodo, predio, id_predio, telefono_emergencia1, telefono_emergencia2, direccion, estado_civil, sexo, nacionalidad, id_nacionalidad, talla_camisa, talla_zapatos, acepta_terminos, firma, enviar from (SELECT     id,     fecha,     cedula,     nombre,     periodo,     predio,     id_predio,     celular_personal,     celular_empresa,     telefono_emergencia1,     telefono_emergencia2,     direccion,     correo_electronico,     fecha_nacimiento,     estado_civil,     sexo,     nacionalidad,     id_nacionalidad,     talla_camisa,     talla_zapatos,     acepta_terminos,     firma,     enviar,     id_periodo FROM ( select      a.id,     a.fecha,     a.cedula,     b.nombre,     a.periodo,     a.predio id_predio,     d.descripcion predio,     a.celular_personal,     a.celular_empresa,     a.telefono_emergencia1,     a.telefono_emergencia2,     a.direccion,     a.correo_electronico,     a.fecha_nacimiento,     a.estado_civil,     a.sexo,     a.nacionalidad id_nacionalidad,     c.nacionalidad,     a.talla_camisa,     a.talla_zapatos,     a.acepta_terminos,     a.firma,     if(isnull(e.id),'NO','SI') enviar,     a.periodo id_periodo     from pla_actualizacion_de_datos a     left join gen_persona b on a.cedula=b.cedula     left join gen_paises c on c.pais=a.nacionalidad     left join pre_predio d on d.codigo=a.predio     left join pla_actualizacion_enviar e on e.periodo=a.periodo and e.id=a.id     where a.periodo=" . $_SESSION['hhpact'] . "  ) a) nm_sel_esp"; 
       } 
      elseif (in_array(strtolower($this->Ini->nm_tpbanco), $this->Ini->nm_bases_informix))
      { 
          $nmgp_select = "SELECT EXTEND(fecha, YEAR TO FRACTION), cedula, nombre, celular_personal, celular_empresa, correo_electronico, EXTEND(fecha_nacimiento, YEAR TO DAY), id_periodo, id, periodo, predio, id_predio, telefono_emergencia1, telefono_emergencia2, LOTOFILE(direccion, '" . $this->Ini->root . $this->Ini->path_imag_temp . "/sc_blob_informix', 'client') as direccion, estado_civil, sexo, nacionalidad, id_nacionalidad, talla_camisa, talla_zapatos, acepta_terminos, LOTOFILE(firma, '" . $this->Ini->root . $this->Ini->path_imag_temp . "/sc_blob_informix', 'client') as firma, enviar from (SELECT     id,     fecha,     cedula,     nombre,     periodo,     predio,     id_predio,     celular_personal,     celular_empresa,     telefono_emergencia1,     telefono_emergencia2,     direccion,     correo_electronico,     fecha_nacimiento,     estado_civil,     sexo,     nacionalidad,     id_nacionalidad,     talla_camisa,     talla_zapatos,     acepta_terminos,     firma,     enviar,     id_periodo FROM ( select      a.id,     a.fecha,     a.cedula,     b.nombre,     a.periodo,     a.predio id_predio,     d.descripcion predio,     a.celular_personal,     a.celular_empresa,     a.telefono_emergencia1,     a.telefono_emergencia2,     a.direccion,     a.correo_electronico,     a.fecha_nacimiento,     a.estado_civil,     a.sexo,     a.nacionalidad id_nacionalidad,     c.nacionalidad,     a.talla_camisa,     a.talla_zapatos,     a.acepta_terminos,     a.firma,     if(isnull(e.id),'NO','SI') enviar,     a.periodo id_periodo     from pla_actualizacion_de_datos a     left join gen_persona b on a.cedula=b.cedula     left join gen_paises c on c.pais=a.nacionalidad     left join pre_predio d on d.codigo=a.predio     left join pla_actualizacion_enviar e on e.periodo=a.periodo and e.id=a.id     where a.periodo=" . $_SESSION['hhpact'] . "  ) a) nm_sel_esp"; 
       } 
      else 
      { 
          $nmgp_select = "SELECT fecha, cedula, nombre, celular_personal, celular_empresa, correo_electronico, fecha_nacimiento, id_periodo, id, periodo, predio, id_predio, telefono_emergencia1, telefono_emergencia2, direccion, estado_civil, sexo, nacionalidad, id_nacionalidad, talla_camisa, talla_zapatos, acepta_terminos, firma, enviar from (SELECT     id,     fecha,     cedula,     nombre,     periodo,     predio,     id_predio,     celular_personal,     celular_empresa,     telefono_emergencia1,     telefono_emergencia2,     direccion,     correo_electronico,     fecha_nacimiento,     estado_civil,     sexo,     nacionalidad,     id_nacionalidad,     talla_camisa,     talla_zapatos,     acepta_terminos,     firma,     enviar,     id_periodo FROM ( select      a.id,     a.fecha,     a.cedula,     b.nombre,     a.periodo,     a.predio id_predio,     d.descripcion predio,     a.celular_personal,     a.celular_empresa,     a.telefono_emergencia1,     a.telefono_emergencia2,     a.direccion,     a.correo_electronico,     a.fecha_nacimiento,     a.estado_civil,     a.sexo,     a.nacionalidad id_nacionalidad,     c.nacionalidad,     a.talla_camisa,     a.talla_zapatos,     a.acepta_terminos,     a.firma,     if(isnull(e.id),'NO','SI') enviar,     a.periodo id_periodo     from pla_actualizacion_de_datos a     left join gen_persona b on a.cedula=b.cedula     left join gen_paises c on c.pais=a.nacionalidad     left join pre_predio d on d.codigo=a.predio     left join pla_actualizacion_enviar e on e.periodo=a.periodo and e.id=a.id     where a.periodo=" . $_SESSION['hhpact'] . "  ) a) nm_sel_esp"; 
      } 
      $nmgp_select .= " " . $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['where_pesq'];
      $nmgp_select_count .= " " . $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['where_pesq'];
      $nmgp_order_by = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['order_grid'];
      $nmgp_select .= $nmgp_order_by; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nmgp_select_count;
      $rt = $this->Db->Execute($nmgp_select_count);
      if ($rt === false && !$rt->EOF && $GLOBALS["NM_ERRO_IBASE"] != 1)
      {
         $this->Erro->mensagem(__FILE__, __LINE__, "banco", $this->Ini->Nm_lang['lang_errm_dber'], $this->Db->ErrorMsg());
         exit;
      }
      $this->count_ger = $rt->fields[0];
      $rt->Close();
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nmgp_select;
      $rs = $this->Db->Execute($nmgp_select);
      if ($rs === false && !$rs->EOF && $GLOBALS["NM_ERRO_IBASE"] != 1)
      {
         $this->Erro->mensagem(__FILE__, __LINE__, "banco", $this->Ini->Nm_lang['lang_errm_dber'], $this->Db->ErrorMsg());
         exit;
      }
      $this->SC_seq_register = 0;
      $PB_tot = (isset($this->count_ger) && $this->count_ger > 0) ? "/" . $this->count_ger : "";
      while (!$rs->EOF)
      {
         $this->SC_seq_register++;
         if (!$this->Ini->sc_export_ajax) {
             $Mens_bar = NM_charset_to_utf8($this->Ini->Nm_lang['lang_othr_prcs']);
             $this->pb->setProgressbarMessage($Mens_bar . ": " . $this->SC_seq_register . $PB_tot);
             $this->pb->addSteps(1);
         }
         $this->csv_registro = "";
         $this->NM_prim_col  = 0;
         $this->fecha = $rs->fields[0] ;  
         $this->cedula = $rs->fields[1] ;  
         $this->nombre = $rs->fields[2] ;  
         $this->celular_personal = $rs->fields[3] ;  
         $this->celular_empresa = $rs->fields[4] ;  
         $this->correo_electronico = $rs->fields[5] ;  
         $this->fecha_nacimiento = $rs->fields[6] ;  
         $this->id_periodo = $rs->fields[7] ;  
         $this->id_periodo = (string)$this->id_periodo;
         $this->id = $rs->fields[8] ;  
         $this->id = (string)$this->id;
         $this->periodo = $rs->fields[9] ;  
         $this->periodo = (string)$this->periodo;
         $this->predio = $rs->fields[10] ;  
         $this->id_predio = $rs->fields[11] ;  
         $this->telefono_emergencia1 = $rs->fields[12] ;  
         $this->telefono_emergencia2 = $rs->fields[13] ;  
          if (in_array(strtolower($this->Ini->nm_tpbanco), $this->Ini->nm_bases_informix))
          { 
              $this->direccion = "";  
              if (is_file($rs_grid->fields[14])) 
              { 
                  $this->direccion = file_get_contents($rs_grid->fields[14]);  
              } 
          } 
         elseif (in_array(strtolower($this->Ini->nm_tpbanco), $this->Ini->nm_bases_ibase))
         { 
             $this->direccion = $this->Db->BlobDecode($rs->fields[14]) ;  
         } 
         elseif (in_array(strtolower($this->Ini->nm_tpbanco), $this->Ini->nm_bases_oracle))
         { 
             $this->direccion = $this->Db->BlobDecode($rs->fields[14]) ;  
         } 
         else
         { 
             $this->direccion = $rs->fields[14] ;  
         } 
         $this->estado_civil = $rs->fields[15] ;  
         $this->estado_civil = (string)$this->estado_civil;
         $this->sexo = $rs->fields[16] ;  
         $this->sexo = (string)$this->sexo;
         $this->nacionalidad = $rs->fields[17] ;  
         $this->id_nacionalidad = $rs->fields[18] ;  
         $this->talla_camisa = $rs->fields[19] ;  
         $this->talla_zapatos = $rs->fields[20] ;  
         $this->talla_zapatos = (string)$this->talla_zapatos;
         $this->acepta_terminos = $rs->fields[21] ;  
         $this->acepta_terminos = (string)$this->acepta_terminos;
          if (in_array(strtolower($this->Ini->nm_tpbanco), $this->Ini->nm_bases_informix))
          { 
              $this->firma = "";  
              if (is_file($rs_grid->fields[22])) 
              { 
                  $this->firma = file_get_contents($rs_grid->fields[22]);  
              } 
          } 
         elseif (in_array(strtolower($this->Ini->nm_tpbanco), $this->Ini->nm_bases_ibase))
         { 
             $this->firma = $this->Db->BlobDecode($rs->fields[22]) ;  
         } 
         elseif (in_array(strtolower($this->Ini->nm_tpbanco), $this->Ini->nm_bases_oracle))
         { 
             $this->firma = $this->Db->BlobDecode($rs->fields[22]) ;  
         } 
         else
         { 
             $this->firma = $rs->fields[22] ;  
         } 
         $this->enviar = $rs->fields[23] ;  
         //----- lookup - periodo
         $this->look_periodo = $this->periodo; 
         $this->Lookup->lookup_periodo($this->look_periodo, $this->periodo) ; 
         $this->look_periodo = ($this->look_periodo == "&nbsp;") ? "" : $this->look_periodo; 
         //----- lookup - estado_civil
         $this->look_estado_civil = $this->estado_civil; 
         $this->Lookup->lookup_estado_civil($this->look_estado_civil, $this->estado_civil) ; 
         $this->look_estado_civil = ($this->look_estado_civil == "&nbsp;") ? "" : $this->look_estado_civil; 
         //----- lookup - sexo
         $this->look_sexo = $this->sexo; 
         $this->Lookup->lookup_sexo($this->look_sexo, $this->sexo) ; 
         $this->look_sexo = ($this->look_sexo == "&nbsp;") ? "" : $this->look_sexo; 
         $this->sc_proc_grid = true; 
         
/*----- Scriptcase Locale: Event onRecord ------*/
$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'on';
  if ('NO'==$this->enviar ){
	$this->sc_actionbar_state('enviarwhatsapp','noenviar');
} else {
	$this->sc_actionbar_state('enviarwhatsapp','enviar');
}
$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'off';
/*----- END - Scriptcase Locale: Event onRecord ------*/
 
         foreach ($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['field_order'] as $Cada_col)
         { 
            if (!isset($this->NM_cmp_hidden[$Cada_col]) || $this->NM_cmp_hidden[$Cada_col] != "off")
            { 
                $NM_func_exp = "NM_export_" . $Cada_col;
                $this->$NM_func_exp();
            } 
         } 
         $this->csv_registro .= $this->Delim_line;
         fwrite($csv_f, $this->csv_registro);
         $rs->MoveNext();
      }
      fclose($csv_f);
      if ($this->Tem_csv_res)
      { 
          if (!$this->Ini->sc_export_ajax) {
              $this->PB_dif = intval ($this->PB_dif / 2);
              $Mens_bar  = NM_charset_to_utf8($this->Ini->Nm_lang['lang_othr_prcs']);
              $Mens_smry = NM_charset_to_utf8($this->Ini->Nm_lang['lang_othr_smry_titl']);
              $this->pb->setProgressbarMessage($Mens_bar . ": " . $Mens_smry);
              $this->pb->addSteps($this->PB_dif);
          }
          require_once($this->Ini->path_aplicacao . "grid_pla_actualizacion_de_datos_res_csv.class.php");
          $this->Res = new grid_pla_actualizacion_de_datos_res_csv();
          $this->prep_modulos("Res");
          $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['csv_res_grid'] = true;
          $this->Res->monta_csv();
      } 
      if (!$this->Ini->sc_export_ajax) {
          $Mens_bar = NM_charset_to_utf8($this->Ini->Nm_lang['lang_btns_export_finished']);
          $this->pb->setProgressbarMessage($Mens_bar);
          $this->pb->addSteps($this->PB_dif);
      }
      if ($this->Csv_password != "" || $this->Tem_csv_res)
      { 
          $str_zip    = "";
          $Parm_pass  = ($this->Csv_password != "") ? " -p" : "";
          $Zip_f      = (FALSE !== strpos($this->Zip_f, ' ')) ? " \"" . $this->Zip_f . "\"" :  $this->Zip_f;
          $Arq_input  = (FALSE !== strpos($this->Csv_f, ' ')) ? " \"" . $this->Csv_f . "\"" :  $this->Csv_f;
          if (is_file($Zip_f)) {
              unlink($Zip_f);
          }
          if (FALSE !== strpos(strtolower(php_uname()), 'windows')) 
          {
              chdir($this->Ini->path_third . "/zip/windows");
              $str_zip = "zip.exe " . strtoupper($Parm_pass) . " -j " . $this->Csv_password . " " . $Zip_f . " " . $Arq_input;
          }
          elseif (FALSE !== strpos(strtolower(php_uname()), 'linux')) 
          {
                if (FALSE !== strpos(strtolower(php_uname()), 'i686')) 
                {
                    chdir($this->Ini->path_third . "/zip/linux-i386/bin");
                }
                else
                {
                    chdir($this->Ini->path_third . "/zip/linux-amd64/bin");
                }
                $str_zip = "./7za " . $Parm_pass . $this->Csv_password . " a " . $Zip_f . " " . $Arq_input;
          }
          elseif (FALSE !== strpos(strtolower(php_uname()), 'darwin'))
          {
              chdir($this->Ini->path_third . "/zip/mac/bin");
              $str_zip = "./7za " . $Parm_pass . $this->Csv_password . " a " . $Zip_f . " " . $Arq_input;
          }
          if (!empty($str_zip)) {
              exec($str_zip);
          }
          // ----- ZIP log
          $fp = @fopen(trim(str_replace(array(".zip",'"'), array(".log",""), $Zip_f)), 'w');
          if ($fp)
          {
              @fwrite($fp, $str_zip . "\r\n\r\n");
              @fclose($fp);
          }
          if ($this->Tem_csv_res)
          { 
              $str_zip    = "";
              $Arq_res    = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['csv_res_file'];
              $Arq_input  = (FALSE !== strpos($Arq_res, ' ')) ? " \"" . $Arq_res . "\"" :  $Arq_res;
              if (FALSE !== strpos(strtolower(php_uname()), 'windows')) 
              {
                  $str_zip = "zip.exe " . strtoupper($Parm_pass) . " -j -u " . $this->Csv_password . " " . $Zip_f . " " . $Arq_input;
              }
              elseif (FALSE !== strpos(strtolower(php_uname()), 'linux')) 
              {
                  $str_zip = "./7za " . $Parm_pass . $this->Csv_password . " a " . $Zip_f . " " . $Arq_input;
              }
              elseif (FALSE !== strpos(strtolower(php_uname()), 'darwin'))
              {
                  $str_zip = "./7za " . $Parm_pass . $this->Csv_password . " a " . $Zip_f . " " . $Arq_input;
              }
              if (!empty($str_zip)) {
                  exec($str_zip);
              }
              // ----- ZIP log
              $fp = @fopen(trim(str_replace(array(".zip",'"'), array(".log",""), $Zip_f)), 'a');
              if ($fp)
              {
                  @fwrite($fp, $str_zip . "\r\n\r\n");
                  @fclose($fp);
              }
              unset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['csv_res_grid']);
              unlink($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['csv_res_file']);
          }
          unlink($Arq_input);
          $this->Arquivo = $this->Arq_zip;
          $this->Csv_f   = $this->Zip_f;
          $this->Tit_doc = $this->Tit_zip;
      } 
      if(isset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['export_sel_columns']['field_order']))
      {
          $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['field_order'] = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['export_sel_columns']['field_order'];
          unset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['export_sel_columns']['field_order']);
      }
      if(isset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['export_sel_columns']['usr_cmp_sel']))
      {
          $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['usr_cmp_sel'] = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['export_sel_columns']['usr_cmp_sel'];
          unset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['export_sel_columns']['usr_cmp_sel']);
      }
      $rs->Close();
   }
   //----- fecha
   function NM_export_fecha()
   {
             if (substr($this->fecha, 10, 1) == "-") 
             { 
                 $this->fecha = substr($this->fecha, 0, 10) . " " . substr($this->fecha, 11);
             } 
             if (substr($this->fecha, 13, 1) == ".") 
             { 
                $this->fecha = substr($this->fecha, 0, 13) . ":" . substr($this->fecha, 14, 2) . ":" . substr($this->fecha, 17);
             } 
             $conteudo_x =  $this->fecha;
             nm_conv_limpa_dado($conteudo_x, "YYYY-MM-DD HH:II:SS");
             if (is_numeric($conteudo_x) && strlen($conteudo_x) > 0) 
             { 
                 $this->nm_data->SetaData($this->fecha, "YYYY-MM-DD HH:II:SS  ");
                 $this->fecha = $this->nm_data->FormataSaida($this->nm_data->FormatRegion("DH", "ddmmaaaa;hhiiss"));
             } 
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->fecha);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }
   //----- cedula
   function NM_export_cedula()
   {
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->cedula);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }
   //----- nombre
   function NM_export_nombre()
   {
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->nombre);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }
   //----- celular_personal
   function NM_export_celular_personal()
   {
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->celular_personal);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }
   //----- celular_empresa
   function NM_export_celular_empresa()
   {
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->celular_empresa);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }
   //----- correo_electronico
   function NM_export_correo_electronico()
   {
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->correo_electronico);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }
   //----- fecha_nacimiento
   function NM_export_fecha_nacimiento()
   {
             $conteudo_x =  $this->fecha_nacimiento;
             nm_conv_limpa_dado($conteudo_x, "YYYY-MM-DD");
             if (is_numeric($conteudo_x) && strlen($conteudo_x) > 0) 
             { 
                 $this->nm_data->SetaData($this->fecha_nacimiento, "YYYY-MM-DD  ");
                 $this->fecha_nacimiento = $this->nm_data->FormataSaida($this->nm_data->FormatRegion("DT", "ddmmaaaa"));
             } 
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->fecha_nacimiento);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }
   //----- id_periodo
   function NM_export_id_periodo()
   {
             nmgp_Form_Num_Val($this->id_periodo, $_SESSION['scriptcase']['reg_conf']['grup_num'], $_SESSION['scriptcase']['reg_conf']['dec_num'], "0", "S", "2", "", "N:" . $_SESSION['scriptcase']['reg_conf']['neg_num'] , $_SESSION['scriptcase']['reg_conf']['simb_neg'], $_SESSION['scriptcase']['reg_conf']['num_group_digit']) ; 
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->id_periodo);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }
   //----- id
   function NM_export_id()
   {
             nmgp_Form_Num_Val($this->id, $_SESSION['scriptcase']['reg_conf']['grup_num'], $_SESSION['scriptcase']['reg_conf']['dec_num'], "0", "S", "2", "", "N:" . $_SESSION['scriptcase']['reg_conf']['neg_num'] , $_SESSION['scriptcase']['reg_conf']['simb_neg'], $_SESSION['scriptcase']['reg_conf']['num_group_digit']) ; 
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->id);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }
   //----- periodo
   function NM_export_periodo()
   {
         nmgp_Form_Num_Val($this->look_periodo, $_SESSION['scriptcase']['reg_conf']['grup_num'], $_SESSION['scriptcase']['reg_conf']['dec_num'], "0", "S", "2", "", "N:" . $_SESSION['scriptcase']['reg_conf']['neg_num'] , $_SESSION['scriptcase']['reg_conf']['simb_neg'], $_SESSION['scriptcase']['reg_conf']['num_group_digit']) ; 
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->look_periodo);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }
   //----- predio
   function NM_export_predio()
   {
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->predio);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }
   //----- id_predio
   function NM_export_id_predio()
   {
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->id_predio);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }
   //----- telefono_emergencia1
   function NM_export_telefono_emergencia1()
   {
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->telefono_emergencia1);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }
   //----- telefono_emergencia2
   function NM_export_telefono_emergencia2()
   {
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->telefono_emergencia2);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }
   //----- direccion
   function NM_export_direccion()
   {
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->direccion);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }
   //----- estado_civil
   function NM_export_estado_civil()
   {
         nmgp_Form_Num_Val($this->look_estado_civil, $_SESSION['scriptcase']['reg_conf']['grup_num'], $_SESSION['scriptcase']['reg_conf']['dec_num'], "0", "S", "2", "", "N:" . $_SESSION['scriptcase']['reg_conf']['neg_num'] , $_SESSION['scriptcase']['reg_conf']['simb_neg'], $_SESSION['scriptcase']['reg_conf']['num_group_digit']) ; 
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->look_estado_civil);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }
   //----- sexo
   function NM_export_sexo()
   {
         nmgp_Form_Num_Val($this->look_sexo, $_SESSION['scriptcase']['reg_conf']['grup_num'], $_SESSION['scriptcase']['reg_conf']['dec_num'], "0", "S", "2", "", "N:" . $_SESSION['scriptcase']['reg_conf']['neg_num'] , $_SESSION['scriptcase']['reg_conf']['simb_neg'], $_SESSION['scriptcase']['reg_conf']['num_group_digit']) ; 
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->look_sexo);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }
   //----- nacionalidad
   function NM_export_nacionalidad()
   {
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->nacionalidad);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }
   //----- id_nacionalidad
   function NM_export_id_nacionalidad()
   {
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->id_nacionalidad);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }
   //----- talla_camisa
   function NM_export_talla_camisa()
   {
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->talla_camisa);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }
   //----- talla_zapatos
   function NM_export_talla_zapatos()
   {
             nmgp_Form_Num_Val($this->talla_zapatos, $_SESSION['scriptcase']['reg_conf']['grup_num'], $_SESSION['scriptcase']['reg_conf']['dec_num'], "0", "S", "2", "", "N:" . $_SESSION['scriptcase']['reg_conf']['neg_num'] , $_SESSION['scriptcase']['reg_conf']['simb_neg'], $_SESSION['scriptcase']['reg_conf']['num_group_digit']) ; 
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->talla_zapatos);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }
   //----- acepta_terminos
   function NM_export_acepta_terminos()
   {
             nmgp_Form_Num_Val($this->acepta_terminos, $_SESSION['scriptcase']['reg_conf']['grup_num'], $_SESSION['scriptcase']['reg_conf']['dec_num'], "0", "S", "2", "", "N:" . $_SESSION['scriptcase']['reg_conf']['neg_num'] , $_SESSION['scriptcase']['reg_conf']['simb_neg'], $_SESSION['scriptcase']['reg_conf']['num_group_digit']) ; 
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->acepta_terminos);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }
   //----- firma
   function NM_export_firma()
   {
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->firma);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }
   //----- enviar
   function NM_export_enviar()
   {
      $col_sep = ($this->NM_prim_col > 0) ? $this->Delim_col : "";
      $conteudo = str_replace($this->Delim_dados, $this->Delim_dados . $this->Delim_dados, $this->enviar);
      $this->csv_registro .= $col_sep . $this->Delim_dados . $conteudo . $this->Delim_dados;
      $this->NM_prim_col++;
   }

   function nm_conv_data_db($dt_in, $form_in, $form_out)
   {
       $dt_out = $dt_in;
       if (strtoupper($form_in) == "DB_FORMAT") {
           if ($dt_out == "null" || $dt_out == "")
           {
               $dt_out = "";
               return $dt_out;
           }
           $form_in = "AAAA-MM-DD";
       }
       if (strtoupper($form_out) == "DB_FORMAT") {
           if (empty($dt_out))
           {
               $dt_out = "null";
               return $dt_out;
           }
           $form_out = "AAAA-MM-DD";
       }
       if (strtoupper($form_out) == "SC_FORMAT_REGION") {
           $this->nm_data->SetaData($dt_in, strtoupper($form_in));
           $prep_out  = (strpos(strtolower($form_in), "dd") !== false) ? "dd" : "";
           $prep_out .= (strpos(strtolower($form_in), "mm") !== false) ? "mm" : "";
           $prep_out .= (strpos(strtolower($form_in), "aa") !== false) ? "aaaa" : "";
           $prep_out .= (strpos(strtolower($form_in), "yy") !== false) ? "aaaa" : "";
           return $this->nm_data->FormataSaida($this->nm_data->FormatRegion("DT", $prep_out));
       }
       else {
           nm_conv_form_data($dt_out, $form_in, $form_out);
           return $dt_out;
       }
   }
   function progress_bar_end()
   {
      unset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['xml_file']);
      if (is_file($this->Ini->root . $this->Ini->path_imag_temp . "/" . $this->Arquivo))
      {
          $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['xml_file'] = $this->Ini->root . $this->Ini->path_imag_temp . "/" . $this->Arquivo;
      }
      $path_doc_md5 = md5($this->Ini->path_imag_temp . "/" . $this->Arquivo);
      $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos'][$path_doc_md5][0] = $this->Ini->path_imag_temp . "/" . $this->Arquivo;
      $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos'][$path_doc_md5][1] = $this->Tit_doc;
      $Mens_bar = $this->Ini->Nm_lang['lang_othr_file_msge'];
      if ($_SESSION['scriptcase']['charset'] != "UTF-8") {
          $Mens_bar = sc_convert_encoding($Mens_bar, "UTF-8", $_SESSION['scriptcase']['charset']);
      }
      $this->pb->setProgressbarMessage($Mens_bar);
      $this->pb->setDownloadLink($this->Ini->path_imag_temp . "/" . $this->Arquivo);
      $this->pb->setDownloadMd5($path_doc_md5);
      $this->pb->completed();
   }
   //---- 
   function monta_html()
   {
      global $nm_url_saida, $nm_lang;
      include($this->Ini->path_btn . $this->Ini->Str_btn_grid);
      unset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['csv_file']);
      if (is_file($this->Ini->root . $this->Ini->path_imag_temp . "/" . $this->Arquivo))
      {
          $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['csv_file'] = $this->Ini->root . $this->Ini->path_imag_temp . "/" . $this->Arquivo;
      }
      $path_doc_md5 = md5($this->Ini->path_imag_temp . "/" . $this->Arquivo);
      $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos'][$path_doc_md5][0] = $this->Ini->path_imag_temp . "/" . $this->Arquivo;
      $_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos'][$path_doc_md5][1] = $this->Tit_doc;
?>
<!DOCTYPE html>
<HTML<?php echo $_SESSION['scriptcase']['reg_conf']['html_dir'] ?>>
<HEAD>
 <TITLE><?php echo $this->Ini->Nm_lang['lang_othr_grid_title'] ?> pla_actualizacion_de_datos :: CSV</TITLE>
 <META http-equiv="Content-Type" content="text/html; charset=<?php echo $_SESSION['scriptcase']['charset_html'] ?>" />
 <META http-equiv="Expires" content="Fri, Jan 01 1900 00:00:00 GMT">
 <META http-equiv="Last-Modified" content="<?php echo gmdate("D, d M Y H:i:s"); ?>" GMT">
 <META http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate">
 <META http-equiv="Pragma" content="no-cache">
 <link rel="shortcut icon" href="../_lib/img/grp__NM__bg__NM__grant_logo_peq (1).jpg">
<?php
if ($_SESSION['scriptcase']['proc_mobile'])
{
?>
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
<?php
}
?>
 <link rel="stylesheet" type="text/css" href="../_lib/css/<?php echo $this->Ini->str_schema_all ?>_export.css" /> 
 <link rel="stylesheet" type="text/css" href="../_lib/css/<?php echo $this->Ini->str_schema_all ?>_export<?php echo $_SESSION['scriptcase']['reg_conf']['css_dir'] ?>.css" /> 
 <?php
 if(isset($this->Ini->str_google_fonts) && !empty($this->Ini->str_google_fonts))
 {
 ?>
    <link rel="stylesheet" type="text/css" href="<?php echo $this->Ini->str_google_fonts ?>" />
 <?php
 }
 ?>
 <link rel="stylesheet" type="text/css" href="../_lib/buttons/<?php echo $this->Ini->Str_btn_css ?>" /> 
</HEAD>
<BODY class="scExportPage">
<?php echo $this->Ini->Ajax_result_set ?>
<table style="border-collapse: collapse; border-width: 0; height: 100%; width: 100%"><tr><td style="padding: 0; text-align: center; vertical-align: middle">
 <table class="scExportTable" align="center">
  <tr>
   <td class="scExportTitle" style="height: 25px">CSV</td>
  </tr>
  <tr>
   <td class="scExportLine" style="width: 100%">
    <table style="border-collapse: collapse; border-width: 0; width: 100%"><tr><td class="scExportLineFont" style="padding: 3px 0 0 0" id="idMessage">
    <?php echo $this->Ini->Nm_lang['lang_othr_file_msge'] ?>
    </td><td class="scExportLineFont" style="text-align:right; padding: 3px 0 0 0">
     <?php echo nmButtonOutput($this->arr_buttons, "bexportview", "document.Fview.submit()", "document.Fview.submit()", "idBtnView", "", "", "", "", "", "", $this->Ini->path_botoes, "", "", "", "", "", "only_text", "text_right", "", "", "", "", "", "", "");
 ?>
     <?php echo nmButtonOutput($this->arr_buttons, "bdownload", "document.Fdown.submit()", "document.Fdown.submit()", "idBtnDown", "", "", "", "", "", "", $this->Ini->path_botoes, "", "", "", "", "", "only_text", "text_right", "", "", "", "", "", "", "");
 ?>
     <?php echo nmButtonOutput($this->arr_buttons, "bvoltar", "document.F0.submit()", "document.F0.submit()", "idBtnBack", "", "", "", "", "", "", $this->Ini->path_botoes, "", "", "", "", "", "only_text", "text_right", "", "", "", "", "", "", "");
 ?>
    </td></tr></table>
   </td>
  </tr>
 </table>
</td></tr></table>
<form name="Fview" method="get" action="<?php echo $this->Ini->path_imag_temp . "/" . $this->Arquivo ?>" target="_blank" style="display: none"> 
</form>
<form name="Fdown" method="get" action="grid_pla_actualizacion_de_datos_download.php" target="_blank" style="display: none"> 
<input type="hidden" name="script_case_init" value="<?php echo NM_encode_input($this->Ini->sc_page); ?>"> 
<input type="hidden" name="nm_tit_doc" value="grid_pla_actualizacion_de_datos"> 
<input type="hidden" name="nm_name_doc" value="<?php echo $path_doc_md5 ?>"> 
</form>
<FORM name="F0" method=post action="./"> 
<INPUT type="hidden" name="script_case_init" value="<?php echo NM_encode_input($this->Ini->sc_page); ?>"> 
<INPUT type="hidden" name="nmgp_opcao" value="<?php echo NM_encode_input($_SESSION['sc_session'][$this->Ini->sc_page]['grid_pla_actualizacion_de_datos']['csv_return']); ?>"> 
</FORM> 
</BODY>
</HTML>
<?php
   }
   function nm_gera_mask(&$nm_campo, $nm_mask)
   { 
      $trab_campo = $nm_campo;
      $trab_mask  = $nm_mask;
      $tam_campo  = strlen($nm_campo);
      $trab_saida = "";
      $str_highlight_ini = "";
      $str_highlight_fim = "";
      if(substr($nm_campo, 0, 23) == '<div class="highlight">' && substr($nm_campo, -6) == '</div>')
      {
           $str_highlight_ini = substr($nm_campo, 0, 23);
           $str_highlight_fim = substr($nm_campo, -6);

           $trab_campo = substr($nm_campo, 23, -6);
           $tam_campo  = strlen($trab_campo);
      }      $mask_num = false;
      for ($x=0; $x < strlen($trab_mask); $x++)
      {
          if (substr($trab_mask, $x, 1) == "#")
          {
              $mask_num = true;
              break;
          }
      }
      if ($mask_num )
      {
          $ver_duas = explode(";", $trab_mask);
          if (isset($ver_duas[1]) && !empty($ver_duas[1]))
          {
              $cont1 = count(explode("#", $ver_duas[0])) - 1;
              $cont2 = count(explode("#", $ver_duas[1])) - 1;
              if ($tam_campo >= $cont2)
              {
                  $trab_mask = $ver_duas[1];
              }
              else
              {
                  $trab_mask = $ver_duas[0];
              }
          }
          $tam_mask = strlen($trab_mask);
          $xdados = 0;
          for ($x=0; $x < $tam_mask; $x++)
          {
              if (substr($trab_mask, $x, 1) == "#" && $xdados < $tam_campo)
              {
                  $trab_saida .= substr($trab_campo, $xdados, 1);
                  $xdados++;
              }
              elseif ($xdados < $tam_campo)
              {
                  $trab_saida .= substr($trab_mask, $x, 1);
              }
          }
          if ($xdados < $tam_campo)
          {
              $trab_saida .= substr($trab_campo, $xdados);
          }
          $nm_campo = $str_highlight_ini . $trab_saida . $str_highlight_ini;
          return;
      }
      for ($ix = strlen($trab_mask); $ix > 0; $ix--)
      {
           $char_mask = substr($trab_mask, $ix - 1, 1);
           if ($char_mask != "x" && $char_mask != "z")
           {
               $trab_saida = $char_mask . $trab_saida;
           }
           else
           {
               if ($tam_campo != 0)
               {
                   $trab_saida = substr($trab_campo, $tam_campo - 1, 1) . $trab_saida;
                   $tam_campo--;
               }
               else
               {
                   $trab_saida = "0" . $trab_saida;
               }
           }
      }
      if ($tam_campo != 0)
      {
          $trab_saida = substr($trab_campo, 0, $tam_campo) . $trab_saida;
          $trab_mask  = str_repeat("z", $tam_campo) . $trab_mask;
      }
   
      $iz = 0; 
      for ($ix = 0; $ix < strlen($trab_mask); $ix++)
      {
           $char_mask = substr($trab_mask, $ix, 1);
           if ($char_mask != "x" && $char_mask != "z")
           {
               if ($char_mask == "." || $char_mask == ",")
               {
                   $trab_saida = substr($trab_saida, 0, $iz) . substr($trab_saida, $iz + 1);
               }
               else
               {
                   $iz++;
               }
           }
           elseif ($char_mask == "x" || substr($trab_saida, $iz, 1) != "0")
           {
               $ix = strlen($trab_mask) + 1;
           }
           else
           {
               $trab_saida = substr($trab_saida, 0, $iz) . substr($trab_saida, $iz + 1);
           }
      }
      $nm_campo = $str_highlight_ini . $trab_saida . $str_highlight_ini;
   } 

/*----- Scriptcase Locale: PHP Method: crear_funciones_js ------*/

function crear_funciones_js()
{
$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'on';
  
?>
<script>
function scAjaxProcOn(bForce){
if (null == bForce) {
bForce = false;
}
if (document.getElementById("id_div_process")){
if ($ && $.blockUI && !bForce) {
$.blockUI({
message: $("#id_div_process_block"),
overlayCSS: { backgroundColor: sc_ajaxBg },
css: {
borderColor: sc_ajaxBordC,
borderStyle: sc_ajaxBordS,
borderWidth: sc_ajaxBordW
}
});
}
else{
document.getElementById("id_div_process").style.display = "";
document.getElementById("id_fatal_error").style.display = "none";
if (null != scCenterElement){
scCenterElement(document.getElementById("id_div_process"));
}
}
}
} 

function scAjaxProcOff(bForce){
if (null == bForce){
bForce = false;
}
if (document.getElementById("id_div_process")){
if ($ && $.unblockUI && !bForce){
$.unblockUI();
} else {
document.getElementById("id_div_process").style.display = "none";
}
}
} 
</script>
<?php



$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'off';
}

/*----- END - Scriptcase Locale: PHP Method: crear_funciones_js ------*/


/*----- Scriptcase Locale: PHP Method: marcar_para_envio ------*/

function marcar_para_envio($elid, $marcar, $elperiodo)
{
$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'on';
  
$strsql="delete from pla_actualizacion_enviar where id='".$elid."' and periodo='".$elperiodo."'";
 
      $nm_select = $strsql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      $this->quitarmarca = array();
      if ($SCrx = $this->Db->Execute($nm_select)) 
      { 
          $SCy = 0; 
          $nm_count = $SCrx->FieldCount();
          while (!$SCrx->EOF)
          { 
                 for ($SCx = 0; $SCx < $nm_count; $SCx++)
                 { 
                        $this->quitarmarca[$SCy] [$SCx] = $SCrx->fields[$SCx];
                 }
                 $SCy++; 
                 $SCrx->MoveNext();
          } 
          $SCrx->Close();
      } 
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->quitarmarca = false;
          $this->quitarmarca_erro = $this->Db->ErrorMsg();
      } 

if ($this->quitarmarca ===false){
	return array("error"=>"Error #4:".$this->quitarmarca_erro .' '.$strsql);
}
if (0==$marcar){
	return array("error"=>"");
}
$strsql="insert into pla_actualizacion_enviar (id,periodo) values (".$elid.",".$elperiodo.")";
 
      $nm_select = $strsql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      $this->ponermarca = array();
      if ($SCrx = $this->Db->Execute($nm_select)) 
      { 
          $SCy = 0; 
          $nm_count = $SCrx->FieldCount();
          while (!$SCrx->EOF)
          { 
                 for ($SCx = 0; $SCx < $nm_count; $SCx++)
                 { 
                        $this->ponermarca[$SCy] [$SCx] = $SCrx->fields[$SCx];
                 }
                 $SCy++; 
                 $SCrx->MoveNext();
          } 
          $SCrx->Close();
      } 
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->ponermarca = false;
          $this->ponermarca_erro = $this->Db->ErrorMsg();
      } 

if ($this->ponermarca ===false){
	return array("error"=>"Error #12:".$this->ponermarca_erro .' '.$strsql);
}
return array("error"=>"");
$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'off';
}

/*----- END - Scriptcase Locale: PHP Method: marcar_para_envio ------*/


/*----- Scriptcase Locale: PHP Method: rwsp-api.php => function base64_to_jpeg ------*/

function base64_to_jpeg($base64_string, $output_file) {
$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'on';
  
    $ifp = fopen( $output_file, 'wb' ); 
	if ($ifp===false){
		return;
	} 
    $data = explode( ',', $base64_string );

	
    fwrite( $ifp, base64_decode( $data[ 1 ] ) );

    fclose( $ifp ); 

    return $output_file; 

$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'off';
}

/*----- END - Scriptcase Locale: PHP Method: rwsp-api.php => function base64_to_jpeg ------*/


/*----- Scriptcase Locale: PHP Method: rwsp-api.php => function rwspapiconectar ------*/

function rwspapiconectar($id_elservidor,$linea,$patroot,$elusuario){
$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'on';
  
   $msj=$this->elservidor($id_elservidor);
	if (''<>$msj['error']){
		return $msj;
	}
	$elservidor=$msj['elservidor'];
	
    $api = new WhatsAppAPI($elservidor);
	try {
		$connection_response = $api->createConnection($linea, 2);  
		$imggg='data:image/jsignature;base30,'.$connection_response["qrPath"];
		
		$archivoo=$patroot.'qr_con_'.$linea.'.png';
		
		$this->base64_to_jpeg($imggg, $archivoo);
		if (file_exists($archivoo)){
			$error='';
		} else {
			$error="No pude generar imagen QR del archivo:".$archivoo.' servidor:'.$elservidor;
		}
		if (''==$error){
			$elerrorsql=$this->rwspapi_asignar_cfg($id_elservidor,$linea,$patroot,$elusuario);
		}
		$datos=array("error"=>$error,
		"msjstatus"=>"Connection created successfully!",
		"status"=>$connection_response["status"],
		"response: "=>$connection_response["response"],
		"qrpath"=>$connection_response["qrPath"],
		"sessionpath"=>$connection_response["sessionPath"],
		"elerrorsql"=>$elerrorsql,
		"archivo"=>$archivoo);

		
	} catch (Exception $e) {
		$datos=array("error"=>'Error en la funcion '.$e->getMessage().' servidor:'.$elservidor);
	} 
	return $datos;

$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'off';
}

/*----- END - Scriptcase Locale: PHP Method: rwsp-api.php => function rwspapiconectar ------*/


/*----- Scriptcase Locale: PHP Method: rwsp-api.php => function rwspapidesconectar ------*/

function rwspapidesconectar($id_elservidor,$linea,$elusuario){
$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'on';
  
	
   $msj=$this->elservidor($id_elservidor);
	if (''<>$msj['error']){
		return $msj;
	}
	$elservidor=$msj['elservidor'];
	$api = new WhatsAppAPI($elservidor);
 try {
     $logout_response = $api->logout($linea);
	 if ($logout_response['status']){
	  $strsql="update whatsapp_rwsp_api_cfg set status=0,fecha='".date('Y-m-d H:i:s')."'  
				            where usuario='".$elusuario."' and linea='".$linea."' and server='".$id_elservidor."'";
	    
      $nm_select = $strsql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      $this->insxvghsk = array();
      if ($SCrx = $this->Db->Execute($nm_select)) 
      { 
          $SCy = 0; 
          $nm_count = $SCrx->FieldCount();
          while (!$SCrx->EOF)
          { 
                 for ($SCx = 0; $SCx < $nm_count; $SCx++)
                 { 
                        $this->insxvghsk[$SCy] [$SCx] = $SCrx->fields[$SCx];
                 }
                 $SCy++; 
                 $SCrx->MoveNext();
          } 
          $SCrx->Close();
      } 
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->insxvghsk = false;
          $this->insxvghsk_erro = $this->Db->ErrorMsg();
      } 

	   if ($this->insxvghsk ===false){
		   $elerrorsql="Error #68:".$this->insxvghsk_erro .' '.$strsql;
	   }	 
		return array("error"=>"","status"=>1); 
	 }
      return array("error"=>'Error en desconexion:'.$logout_response['MESSAGE'].' '.' srv:'.$elservidor.':'.$linea,"status"=>0);
 } catch (Exception $e) {
     return array("error"=>$e->getMessage().' srv:'.$elservidor.':'.$linea,"status"=>2);
 }
$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'off';
}

/*----- END - Scriptcase Locale: PHP Method: rwsp-api.php => function rwspapidesconectar ------*/


/*----- Scriptcase Locale: PHP Method: rwsp-api.php => function rwspapienviar_mensaje ------*/

function rwspapienviar_mensaje($id_elservidor,$linea,$destino,$mensaje,$archivos){
$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'on';
  

	if (strlen($destino)<11){
		$destino='506'.$destino;
	}
	$listaarcs=explode( ';', $archivos );
	$strfiles='';
    $arc_name='';
	$arc_ubic='';
	for ($i=0;$i<22;$i++){
		if (file_exists($listaarcs[1])){
			$arc_name=$listaarcs[0];
			$arc_ubic=$listaarcs[1];
		}
	}
   $msj=$this->elservidor($id_elservidor);
	if (''<>$msj['error']){
		return $msj;
	}
	$elservidor=$msj['elservidor'];
	
	$api = new WhatsAppAPI($elservidor);
	try {
		if (''==$arc_name){
		 $response = $api->sendMessage(
			 $linea,
			 $destino,
			 $mensaje,
			 "texto");
		} else {
		 $response = $api->sendMessage(
			 $linea,
			 $destino,
			 $mensaje,
			 "archivo",
			 $arc_name,
		  	 $arc_ubic);
		}
	  if ($response['status']){
		  return array("error"=>'','status'=>1,"elerrorsql"=>'');
	  } else {
		  return array("error"=>' rwsp-api.#136.rwspapienviar_mensaje'.json_encode($response));
	  }
	 } catch (Exception $e) {
		 return array("error"=>$e->getMessage().$elservidor.' rwsp-api.#139.rwspapienviar_mensaje origen:'.$linea.' destino:'.$destino);
	 }

	

$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'off';
}

/*----- END - Scriptcase Locale: PHP Method: rwsp-api.php => function rwspapienviar_mensaje ------*/


/*----- Scriptcase Locale: PHP Method: rwsp-api.php => function rwspapi_validar_numero ------*/

function rwspapi_validar_numero($id_elservidor,$linea,$destino){
$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'on';
  
   $msj=$this->elservidor($id_elservidor);
	if (''<>$msj['error']){
		return $msj;
	}
	$elservidor=$msj['elservidor'];
	if (strlen($destino)<11){
		$destino='506'.$destino;
	}
	$api = new WhatsAppAPI($elservidor);
   return $api->validateNumber($destino, $linea);	

$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'off';
}

/*----- END - Scriptcase Locale: PHP Method: rwsp-api.php => function rwspapi_validar_numero ------*/


/*----- Scriptcase Locale: PHP Method: rwsp-api.php => function rwspapicargar_grupos ------*/

function rwspapicargar_grupos($id_elservidor,$linea){
$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'on';
  
   $msj=$this->elservidor($id_elservidor);
	if (''<>$msj['error']){
		return $msj;
	}
	$elservidor=$msj['elservidor'];
	$api = new WhatsAppAPI($elservidor);
	try {
		 $response = $api->getGroups($linea);
	  if ($response['status']){
		  return array("error"=>'','status'=>1,"grupos"=>$response['groups']);
	  } else {
		  return array("error"=>' rwsp-api.#136.rwspapicargar_grupos'.json_encode($response));
	  }
	 } catch (Exception $e) {
		 return array("error"=>$e->getMessage().$elservidor.' rwsp-api.#139.rwspapicargar_grupos origen:'.$linea.' destino:'.$destino);
	 }
    
	

$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'off';
}

/*----- END - Scriptcase Locale: PHP Method: rwsp-api.php => function rwspapicargar_grupos ------*/


/*----- Scriptcase Locale: PHP Method: rwsp-api.php => function elservidor ------*/

function elservidor($id_elservidor){
$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'on';
  
	$strsql="SELECT id, concat(ip_servidor,':',puerto)
               FROM whatsapp_rwsp_api_servidores 
               where id='".$id_elservidor."'";
	 
      $nm_select = $strsql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      $this->datasrevidro = array();
      if ($SCrx = $this->Db->Execute($nm_select)) 
      { 
          $SCy = 0; 
          $nm_count = $SCrx->FieldCount();
          while (!$SCrx->EOF)
          { 
                 for ($SCx = 0; $SCx < $nm_count; $SCx++)
                 { 
                        $this->datasrevidro[$SCy] [$SCx] = $SCrx->fields[$SCx];
                 }
                 $SCy++; 
                 $SCrx->MoveNext();
          } 
          $SCrx->Close();
      } 
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->datasrevidro = false;
          $this->datasrevidro_erro = $this->Db->ErrorMsg();
      } 

	if ($this->datasrevidro ===false){
		return array("error"=>"Error:".$this->datasrevidro_erro .' '.$strsql);
	} else {
		if (count($this->datasrevidro )==0){
			return array("error"=>"Error rwsp-api.#154.elservidor en el id del servidor:".$id_elservidor);
		} else {
			$elservidor=$this->datasrevidro[0][1];
		}
	}
	return array("error"=>"","elservidor"=>$elservidor);
$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'off';
}

/*----- END - Scriptcase Locale: PHP Method: rwsp-api.php => function elservidor ------*/


/*----- Scriptcase Locale: PHP Method: rwsp-api.php => function rwspapi_asignar_cfg ------*/

function rwspapi_asignar_cfg($id_elservidor,$linea,$patroot,$elusuario){
$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'on';
  
	   $strsql="select linea from whatsapp_rwsp_api_cfg where usuario='".$elusuario."' and linea='".$linea."'";
	    
      $nm_select = $strsql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      $this->datasevyz = array();
      if ($SCrx = $this->Db->Execute($nm_select)) 
      { 
          $SCy = 0; 
          $nm_count = $SCrx->FieldCount();
          while (!$SCrx->EOF)
          { 
                 for ($SCx = 0; $SCx < $nm_count; $SCx++)
                 { 
                        $this->datasevyz[$SCy] [$SCx] = $SCrx->fields[$SCx];
                 }
                 $SCy++; 
                 $SCrx->MoveNext();
          } 
          $SCrx->Close();
      } 
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->datasevyz = false;
          $this->datasevyz_erro = $this->Db->ErrorMsg();
      } 

		$elerrorsql='';
	   if ($this->datasevyz ===false){
		   $elerrorsql="Error #56:".$this->datasevyz_erro .' '.$strsql;
	   } else {
		  if (count($this->datasevyz )==0){
			 $strsql="insert into whatsapp_rwsp_api_cfg (usuario,linea,SERVER,STATUS,fecha) VALUES
				   ('".$elusuario."','".$linea."','".$id_elservidor."',1,'".date('Y-m-d H:i:s')."')";
		  } else {
			  $strsql="update whatsapp_rwsp_api_cfg set status=1,fecha='".date('Y-m-d H:i:s')."'  
						where usuario='".$elusuario."' and linea='".$linea."' and server='".$id_elservidor."'";
		  }
		    
      $nm_select = $strsql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      $this->insvghsk = array();
      if ($SCrx = $this->Db->Execute($nm_select)) 
      { 
          $SCy = 0; 
          $nm_count = $SCrx->FieldCount();
          while (!$SCrx->EOF)
          { 
                 for ($SCx = 0; $SCx < $nm_count; $SCx++)
                 { 
                        $this->insvghsk[$SCy] [$SCx] = $SCrx->fields[$SCx];
                 }
                 $SCy++; 
                 $SCrx->MoveNext();
          } 
          $SCrx->Close();
      } 
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->insvghsk = false;
          $this->insvghsk_erro = $this->Db->ErrorMsg();
      } 

		   if ($this->insvghsk ===false){
			   $elerrorsql="Error rwsp-api.#68.rwspapi_asignar_cfg:".$this->insvghsk_erro .' '.$strsql;
		   }
	   }	
	return $elerrorsql;
$_SESSION['scriptcase']['grid_pla_actualizacion_de_datos']['contr_erro'] = 'off';
}

/*----- END - Scriptcase Locale: PHP Method: rwsp-api.php => function rwspapi_asignar_cfg ------*/

}

?>
