<?php

class grid_fiche_citoyen_recues_json
{
   var $Db;
   var $Erro;
   var $Ini;
   var $Lookup;
   var $nm_data;
   var $Arquivo;
   var $Arquivo_view;
   var $Tit_doc;
   var $sc_proc_grid; 
   var $NM_cmp_hidden = array();

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


function actionBar_isValidState($buttonName, $buttonState)
{
    switch ($buttonName) {
        case 'voir_echanges':
            return in_array($buttonState, array("state1"));
    }

    return false;
}


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

function actionBar_displayState_voir_echanges()
{
    switch ($this->sc_actionbar_states['voir_echanges']) {
        case 'state1':
            return "<i class=\"icon_fa sc-actb-voir_echanges sc-acts-state1 fas fa-comments\"></i>";
    }
}

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

function actionBar_getStateHint_voir_echanges()
{
    switch ($this->sc_actionbar_states['voir_echanges']) {
        case 'state1':
            return "";
    }
}

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

function actionBar_getStateConfirm_voir_echanges()
{
    switch ($this->sc_actionbar_states['voir_echanges']) {
        case 'state1':
            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 monta_json()
   {
      $this->inicializa_vars();
      $this->grava_arquivo();
      if (!$_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['embutida'])
      {
          if ($this->Ini->sc_export_ajax)
          {
              $this->Arr_result['file_export']  = NM_charset_to_utf8($this->Json_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);
              }
              $result_json = json_encode($this->Arr_result, JSON_UNESCAPED_UNICODE);
              if ($result_json == false)
              {
                  $oJson = new Services_JSON();
                  $result_json = $oJson->encode($this->Arr_result);
              }
              echo $result_json;
              exit;
          }
          else
          {
              $this->progress_bar_end();
          }
      }
      else
      {
          $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['opcao'] = "";
      }
   }

   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_fiche_citoyen_recues($cadapar[1]);
                   nm_protect_num_grid_fiche_citoyen_recues($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_fiche_citoyen_recues']['opcao'] = $cadapar[1];
                   }
               }
          }
      }
      if (isset($usr_scope)) 
      {
          $_SESSION['usr_scope'] = $usr_scope;
          nm_limpa_str_grid_fiche_citoyen_recues($_SESSION["usr_scope"]);
      }
      if (isset($usr_wils_sql)) 
      {
          $_SESSION['usr_wils_sql'] = $usr_wils_sql;
          nm_limpa_str_grid_fiche_citoyen_recues($_SESSION["usr_wils_sql"]);
      }
      if (isset($usr_login)) 
      {
          $_SESSION['usr_login'] = $usr_login;
          nm_limpa_str_grid_fiche_citoyen_recues($_SESSION["usr_login"]);
      }
      $dir_raiz          = strrpos($_SERVER['PHP_SELF'],"/") ;  
      $dir_raiz          = substr($_SERVER['PHP_SELF'], 0, $dir_raiz + 1) ;  
      $this->Json_use_label = true;
      $this->Json_format = false;
      $this->Tem_json_res = false;
      $this->Json_password = "";
      if (isset($_REQUEST['nm_json_label']) && !empty($_REQUEST['nm_json_label']))
      {
          $this->Json_use_label = ($_REQUEST['nm_json_label'] == "S") ? true : false;
      }
      if (isset($_REQUEST['nm_json_format']) && !empty($_REQUEST['nm_json_format']))
      {
          $this->Json_format = ($_REQUEST['nm_json_format'] == "S") ? true : false;
      }
      $this->Tem_json_res  = true;
      if (isset($_REQUEST['SC_module_export']) && $_REQUEST['SC_module_export'] != "")
      { 
          $this->Tem_json_res = (strpos(" " . $_REQUEST['SC_module_export'], "resume") !== false) ? true : false;
      } 
      if ($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['SC_Ind_Groupby'] == "sc_free_total")
      {
          $this->Tem_json_res  = false;
      }
      if ($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['SC_Ind_Groupby'] == "sc_free_group_by" && empty($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['SC_Gb_Free_cmp']))
      {
          $this->Tem_json_res  = false;
      }
      if (!is_file($this->Ini->root . $this->Ini->path_link . "grid_fiche_citoyen_recues/grid_fiche_citoyen_recues_res_json.class.php"))
      {
          $this->Tem_json_res  = false;
      }
      if ($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['embutida'] && isset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['json_label']))
      {
          $this->Json_use_label = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['json_label'];
      }
      if ($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['embutida'] && isset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['json_format']))
      {
          $this->Json_format = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['json_format'];
      }
      $this->nm_location = $this->Ini->sc_protocolo . $this->Ini->server . $dir_raiz . "grid_fiche_citoyen_recues.php"; 
      require_once($this->Ini->path_aplicacao . "grid_fiche_citoyen_recues_total.class.php"); 
      $this->Tot = new grid_fiche_citoyen_recues_total($this->Ini->sc_page);
      $this->prep_modulos("Tot");
      if (!$_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['embutida'] && !$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_fiche_citoyen_recues']['glo_nm_path_imag_temp'] . "/");
          $this->pb->setProgressbarMd5($_GET['pbmd5']);
          $this->pb->initialize();
          $this->pb->setReturnUrl("grid_fiche_citoyen_recues.php");
          $this->pb->setReturnOption($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['json_return']);
          if ($this->Tem_json_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);
      }
      $this->nm_data = new nm_data("fr");
      $this->Arquivo      = "sc_json";
      $this->Arquivo     .= "_" . date("YmdHis") . "_" . rand(0, 1000);
      $this->Arq_zip      = $this->Arquivo . "_grid_fiche_citoyen_recues.zip";
      $this->Arquivo     .= "_grid_fiche_citoyen_recues";
      $this->Arquivo     .= ".json";
      $this->Tit_doc      = "grid_fiche_citoyen_recues.json";
      $this->Tit_zip      = "grid_fiche_citoyen_recues.zip";
   }

   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_fiche_citoyen_recues']['field_display']) && !empty($_SESSION['scriptcase']['sc_apl_conf']['grid_fiche_citoyen_recues']['field_display']))
      {
          foreach ($_SESSION['scriptcase']['sc_apl_conf']['grid_fiche_citoyen_recues']['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_fiche_citoyen_recues']['usr_cmp_sel']) && !empty($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['usr_cmp_sel']))
      {
          foreach ($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['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_fiche_citoyen_recues']['php_cmp_sel']) && !empty($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['php_cmp_sel']))
      {
          foreach ($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['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_fiche_citoyen_recues']['where_orig'];
      $this->sc_where_atual  = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['where_pesq'];
      $this->sc_where_filtro = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['where_pesq_filtro'];
      if (isset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['campos_busca']) && !empty($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['campos_busca']))
      { 
          $Busca_temp = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['campos_busca'];
          if ($_SESSION['scriptcase']['charset'] != "UTF-8")
          {
              $Busca_temp = NM_conv_charset($Busca_temp, $_SESSION['scriptcase']['charset'], "UTF-8");
          }
          $this->code_fiche = (isset($Busca_temp['code_fiche'])) ? $Busca_temp['code_fiche'] : ""; 
          $tmp_pos = (is_string($this->code_fiche)) ? strpos($this->code_fiche, "##@@") : false;
          if ($tmp_pos !== false && !is_array($this->code_fiche))
          {
              $this->code_fiche = substr($this->code_fiche, 0, $tmp_pos);
          }
          $this->date_declaration = (isset($Busca_temp['date_declaration'])) ? $Busca_temp['date_declaration'] : ""; 
          $tmp_pos = (is_string($this->date_declaration)) ? strpos($this->date_declaration, "##@@") : false;
          if ($tmp_pos !== false && !is_array($this->date_declaration))
          {
              $this->date_declaration = substr($this->date_declaration, 0, $tmp_pos);
          }
          $this->date_declaration_2 = (isset($Busca_temp['date_declaration_input_2'])) ? $Busca_temp['date_declaration_input_2'] : ""; 
          $this->nom_malade = (isset($Busca_temp['nom_malade'])) ? $Busca_temp['nom_malade'] : ""; 
          $tmp_pos = (is_string($this->nom_malade)) ? strpos($this->nom_malade, "##@@") : false;
          if ($tmp_pos !== false && !is_array($this->nom_malade))
          {
              $this->nom_malade = substr($this->nom_malade, 0, $tmp_pos);
          }
          $this->prenom_malade = (isset($Busca_temp['prenom_malade'])) ? $Busca_temp['prenom_malade'] : ""; 
          $tmp_pos = (is_string($this->prenom_malade)) ? strpos($this->prenom_malade, "##@@") : false;
          if ($tmp_pos !== false && !is_array($this->prenom_malade))
          {
              $this->prenom_malade = substr($this->prenom_malade, 0, $tmp_pos);
          }
          $this->age_malade = (isset($Busca_temp['age_malade'])) ? $Busca_temp['age_malade'] : ""; 
          $tmp_pos = (is_string($this->age_malade)) ? strpos($this->age_malade, "##@@") : false;
          if ($tmp_pos !== false && !is_array($this->age_malade))
          {
              $this->age_malade = substr($this->age_malade, 0, $tmp_pos);
          }
          $this->sexe_nm_fk = (isset($Busca_temp['sexe_nm_fk'])) ? $Busca_temp['sexe_nm_fk'] : ""; 
          $tmp_pos = (is_string($this->sexe_nm_fk)) ? strpos($this->sexe_nm_fk, "##@@") : false;
          if ($tmp_pos !== false && !is_array($this->sexe_nm_fk))
          {
              $this->sexe_nm_fk = substr($this->sexe_nm_fk, 0, $tmp_pos);
          }
          $this->commune = (isset($Busca_temp['commune'])) ? $Busca_temp['commune'] : ""; 
          $tmp_pos = (is_string($this->commune)) ? strpos($this->commune, "##@@") : false;
          if ($tmp_pos !== false && !is_array($this->commune))
          {
              $this->commune = substr($this->commune, 0, $tmp_pos);
          }
          $this->maladie_suspectee = (isset($Busca_temp['maladie_suspectee'])) ? $Busca_temp['maladie_suspectee'] : ""; 
          $tmp_pos = (is_string($this->maladie_suspectee)) ? strpos($this->maladie_suspectee, "##@@") : false;
          if ($tmp_pos !== false && !is_array($this->maladie_suspectee))
          {
              $this->maladie_suspectee = substr($this->maladie_suspectee, 0, $tmp_pos);
          }
      } 
      $this->nm_where_dinamico = "";
      $_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  $_SESSION['grid_fiche_citoyen_recues']['val_fiches'] = array();


$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off'; 
      if  (!empty($this->nm_where_dinamico)) 
      {   
          $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['where_pesq'] .= $this->nm_where_dinamico;
      }   
      if (isset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['json_name']))
      {
          $Pos = strrpos($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['json_name'], ".");
          if ($Pos === false) {
              $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['json_name'] .= ".json";
          }
          $this->Arquivo = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['json_name'];
          $this->Arq_zip = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['json_name'];
          $this->Tit_doc = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['json_name'];
          $Pos = strrpos($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['json_name'], ".");
          if ($Pos !== false) {
              $this->Arq_zip = substr($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['json_name'], 0, $Pos);
          }
          $this->Arq_zip .= ".zip";
          $this->Tit_zip  = $this->Arq_zip;
          unset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['json_name']);
      }
      $this->arr_export = array('label' => array(), 'lines' => array());
      $this->arr_span   = array();

      if (!$_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['embutida'])
      { 
          $this->Json_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;
          $json_f = fopen($this->Ini->root . $this->Ini->path_imag_temp . "/" . $this->Arquivo, "w");
      }
      $this->nm_field_dinamico = array();
      $this->nm_order_dinamico = array();
      $nmgp_select_count = "SELECT count(*) AS countTest from " . $this->Ini->nm_tabela; 
      if (in_array(strtolower($this->Ini->nm_tpbanco), $this->Ini->nm_bases_sybase))
      { 
          $nmgp_select = "SELECT code_fiche, str_replace (convert(char(10),date_declaration,102), '.', '-') + ' ' + convert(char(8),date_declaration,20), commune, symptomes, antecedent_medicaux, id_fiche_citoyen, wilaya, nom_declarant, nom_malade, prenom_malade, age_malade, valide, device_id, sexe_nm_fk, maladie_suspectee from " . $this->Ini->nm_tabela; 
      } 
      elseif (in_array(strtolower($this->Ini->nm_tpbanco), $this->Ini->nm_bases_mysql))
      { 
          $nmgp_select = "SELECT code_fiche, date_declaration, commune, symptomes, antecedent_medicaux, id_fiche_citoyen, wilaya, nom_declarant, nom_malade, prenom_malade, age_malade, valide, device_id, sexe_nm_fk, maladie_suspectee from " . $this->Ini->nm_tabela; 
      } 
      elseif (in_array(strtolower($this->Ini->nm_tpbanco), $this->Ini->nm_bases_mssql))
      { 
       $nmgp_select = "SELECT code_fiche, convert(char(23),date_declaration,121), commune, symptomes, antecedent_medicaux, id_fiche_citoyen, wilaya, nom_declarant, nom_malade, prenom_malade, age_malade, valide, device_id, sexe_nm_fk, maladie_suspectee from " . $this->Ini->nm_tabela; 
      } 
      elseif (in_array(strtolower($this->Ini->nm_tpbanco), $this->Ini->nm_bases_oracle))
      { 
          $nmgp_select = "SELECT code_fiche, date_declaration, commune, symptomes, antecedent_medicaux, id_fiche_citoyen, wilaya, nom_declarant, nom_malade, prenom_malade, age_malade, valide, device_id, sexe_nm_fk, maladie_suspectee from " . $this->Ini->nm_tabela; 
      } 
      elseif (in_array(strtolower($this->Ini->nm_tpbanco), $this->Ini->nm_bases_informix))
      { 
          $nmgp_select = "SELECT code_fiche, EXTEND(date_declaration, YEAR TO FRACTION), commune, symptomes, antecedent_medicaux, id_fiche_citoyen, wilaya, nom_declarant, nom_malade, prenom_malade, age_malade, valide, device_id, sexe_nm_fk, maladie_suspectee from " . $this->Ini->nm_tabela; 
      } 
      else 
      { 
          $nmgp_select = "SELECT code_fiche, date_declaration, commune, symptomes, antecedent_medicaux, id_fiche_citoyen, wilaya, nom_declarant, nom_malade, prenom_malade, age_malade, valide, device_id, sexe_nm_fk, maladie_suspectee from " . $this->Ini->nm_tabela; 
      } 
      $nmgp_select .= " " . $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['where_pesq'];
      $nmgp_select_count .= " " . $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['where_pesq'];
      $nmgp_order_by = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['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;
      $this->json_registro = array();
      $this->SC_seq_json   = 0;
      $PB_tot = (isset($this->count_ger) && $this->count_ger > 0) ? "/" . $this->count_ger : "";
      while (!$rs->EOF)
      {
         $this->SC_seq_register++;
         if (!$_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['embutida'] && !$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->code_fiche = $rs->fields[0] ;  
         $this->date_declaration = $rs->fields[1] ;  
         $this->commune = $rs->fields[2] ;  
         $this->symptomes = $rs->fields[3] ;  
         $this->antecedent_medicaux = $rs->fields[4] ;  
         $this->id_fiche_citoyen = $rs->fields[5] ;  
         $this->id_fiche_citoyen = (string)$this->id_fiche_citoyen;
         $this->wilaya = $rs->fields[6] ;  
         $this->nom_declarant = $rs->fields[7] ;  
         $this->nom_malade = $rs->fields[8] ;  
         $this->prenom_malade = $rs->fields[9] ;  
         $this->age_malade = $rs->fields[10] ;  
         $this->age_malade = (string)$this->age_malade;
         $this->valide = $rs->fields[11] ;  
         $this->device_id = $rs->fields[12] ;  
         $this->sexe_nm_fk = $rs->fields[13] ;  
         $this->maladie_suspectee = $rs->fields[14] ;  
         //----- lookup - commune
         $this->look_commune = $this->commune; 
         $this->Lookup->lookup_commune($this->look_commune, $this->commune) ; 
         $this->look_commune = ($this->look_commune == "&nbsp;") ? "" : $this->look_commune; 
         //----- lookup - symptomes
         $this->look_symptomes = $this->symptomes; 
         $this->Lookup->lookup_symptomes($this->look_symptomes, $this->symptomes) ; 
         $this->look_symptomes = ($this->look_symptomes == "&nbsp;") ? "" : $this->look_symptomes; 
         //----- lookup - wilaya
         $this->look_wilaya = $this->wilaya; 
         $this->Lookup->lookup_wilaya($this->look_wilaya, $this->wilaya) ; 
         $this->look_wilaya = ($this->look_wilaya == "&nbsp;") ? "" : $this->look_wilaya; 
         $this->sc_proc_grid = true; 
         $_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  $this->codeb  = $this->code_fiche ;


$this->state_field  = $this->get_state_icon_url($this->valide );



$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off'; 
         foreach ($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['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->SC_seq_json++;
         $rs->MoveNext();
      }
      if ($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['embutida'])
      { 
          $_SESSION['scriptcase']['export_return'] = $this->json_registro;
      }
      else
      { 
          $result_json = json_encode($this->json_registro, JSON_UNESCAPED_UNICODE);
          if ($result_json == false)
          {
              $oJson = new Services_JSON();
              $result_json = $oJson->encode($this->json_registro);
          }
          fwrite($json_f, $result_json);
          fclose($json_f);
          if ($this->Tem_json_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_fiche_citoyen_recues_res_json.class.php");
              $this->Res = new grid_fiche_citoyen_recues_res_json();
              $this->prep_modulos("Res");
              $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['json_res_grid'] = true;
              $this->Res->monta_json();
          } 
          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->Json_password != "" || $this->Tem_json_res)
          { 
              $str_zip    = "";
              $Parm_pass  = ($this->Json_password != "") ? " -p" : "";
              $Zip_f      = (FALSE !== strpos($this->Zip_f, ' ')) ? " \"" . $this->Zip_f . "\"" :  $this->Zip_f;
              $Arq_input  = (FALSE !== strpos($this->Json_f, ' ')) ? " \"" . $this->Json_f . "\"" :  $this->Json_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->Json_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->Json_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->Json_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);
              }
              unlink($Arq_input);
              $this->Arquivo = $this->Arq_zip;
              $this->Json_f   = $this->Zip_f;
              $this->Tit_doc = $this->Tit_zip;
              if ($this->Tem_json_res)
              { 
                  $str_zip   = "";
                  $Arq_res   = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['json_res_file']['json'];
                  $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->Json_password . " " . $Zip_f . " " . $Arq_input;
                  }
                  elseif (FALSE !== strpos(strtolower(php_uname()), 'linux')) 
                  {
                      $str_zip = "./7za " . $Parm_pass . $this->Json_password . " a " . $Zip_f . " " . $Arq_input;
                  }
                  elseif (FALSE !== strpos(strtolower(php_uname()), 'darwin'))
                  {
                      $str_zip = "./7za " . $Parm_pass . $this->Json_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);
                  }
                  unlink($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['json_res_file']['json']);
              }
              unset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['json_res_grid']);
          } 
      }
      if(isset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['export_sel_columns']['field_order']))
      {
          $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['field_order'] = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['export_sel_columns']['field_order'];
          unset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['export_sel_columns']['field_order']);
      }
      if(isset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['export_sel_columns']['usr_cmp_sel']))
      {
          $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['usr_cmp_sel'] = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['export_sel_columns']['usr_cmp_sel'];
          unset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['export_sel_columns']['usr_cmp_sel']);
      }
      $rs->Close();
   }
   //----- code_fiche
   function NM_export_code_fiche($Grouping=false, $Lab_Mult="")
   {
         $this->code_fiche = NM_charset_to_utf8($this->code_fiche);
         if ($this->Json_use_label)
         {
             $SC_Label = (isset($this->New_label['code_fiche'])) ? $this->New_label['code_fiche'] : "" . $this->Ini->Nm_lang['lang_public_fiche_citoyen_fld_code_fiche'] . ""; 
         }
         else
         {
             $SC_Label = "code_fiche"; 
         }
         $SC_Label = NM_charset_to_utf8($SC_Label); 
         if ($Grouping && !empty($Lab_Mult)) {
             $this->json_registro[$this->SC_seq_json][$Lab_Mult][$SC_Label] = $this->code_fiche;
         }
         else {
             $this->json_registro[$this->SC_seq_json][$SC_Label] = $this->code_fiche;
         }
   }
   //----- date_declaration
   function NM_export_date_declaration($Grouping=false, $Lab_Mult="")
   {
         if ($this->Json_format)
         {
             if (substr($this->date_declaration, 10, 1) == "-") 
             { 
                 $this->date_declaration = substr($this->date_declaration, 0, 10) . " " . substr($this->date_declaration, 11);
             } 
             if (substr($this->date_declaration, 13, 1) == ".") 
             { 
                $this->date_declaration = substr($this->date_declaration, 0, 13) . ":" . substr($this->date_declaration, 14, 2) . ":" . substr($this->date_declaration, 17);
             } 
             $conteudo_x =  $this->date_declaration;
             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->date_declaration, "YYYY-MM-DD HH:II:SS  ");
                 $this->date_declaration = $this->nm_data->FormataSaida($this->nm_data->FormatRegion("DH", "ddmmaaaa;hhii"));
             } 
         }
         if ($this->Json_use_label)
         {
             $SC_Label = (isset($this->New_label['date_declaration'])) ? $this->New_label['date_declaration'] : "" . $this->Ini->Nm_lang['lang_public_fiche_citoyen_fld_date_declaration'] . ""; 
         }
         else
         {
             $SC_Label = "date_declaration"; 
         }
         $SC_Label = NM_charset_to_utf8($SC_Label); 
         if ($Grouping && !empty($Lab_Mult)) {
             $this->json_registro[$this->SC_seq_json][$Lab_Mult][$SC_Label] = $this->date_declaration;
         }
         else {
             $this->json_registro[$this->SC_seq_json][$SC_Label] = $this->date_declaration;
         }
   }
   //----- malade
   function NM_export_malade()
   {
         $this->malade = NM_charset_to_utf8($this->malade);
         if ($this->Json_use_label)
         {
             $SC_Label = (isset($this->New_label['malade'])) ? $this->New_label['malade'] : "Malade"; 
         }
         else
         {
             $SC_Label = "malade"; 
         }
         $SC_Label = NM_charset_to_utf8($SC_Label); 
         $this->NM_export_nom_malade(true, $SC_Label);
         $this->NM_export_prenom_malade(true, $SC_Label);
         $this->NM_export_age_malade(true, $SC_Label);
   }
   //----- commune
   function NM_export_commune($Grouping=false, $Lab_Mult="")
   {
         $this->look_commune = NM_charset_to_utf8($this->look_commune);
         if ($this->Json_use_label)
         {
             $SC_Label = (isset($this->New_label['commune'])) ? $this->New_label['commune'] : "" . $this->Ini->Nm_lang['lang_public_fiche_citoyen_fld_commune'] . ""; 
         }
         else
         {
             $SC_Label = "commune"; 
         }
         $SC_Label = NM_charset_to_utf8($SC_Label); 
         if ($Grouping && !empty($Lab_Mult)) {
             $this->json_registro[$this->SC_seq_json][$Lab_Mult][$SC_Label] = $this->look_commune;
         }
         else {
             $this->json_registro[$this->SC_seq_json][$SC_Label] = $this->look_commune;
         }
   }
   //----- symptomes
   function NM_export_symptomes($Grouping=false, $Lab_Mult="")
   {
         $this->look_symptomes = NM_charset_to_utf8($this->look_symptomes);
         if ($this->Json_use_label)
         {
             $SC_Label = (isset($this->New_label['symptomes'])) ? $this->New_label['symptomes'] : "" . $this->Ini->Nm_lang['lang_public_fiche_citoyen_fld_symptomes'] . ""; 
         }
         else
         {
             $SC_Label = "symptomes"; 
         }
         $SC_Label = NM_charset_to_utf8($SC_Label); 
         if ($Grouping && !empty($Lab_Mult)) {
             $this->json_registro[$this->SC_seq_json][$Lab_Mult][$SC_Label] = $this->look_symptomes;
         }
         else {
             $this->json_registro[$this->SC_seq_json][$SC_Label] = $this->look_symptomes;
         }
   }
   //----- antecedent_medicaux
   function NM_export_antecedent_medicaux($Grouping=false, $Lab_Mult="")
   {
         $this->antecedent_medicaux = NM_charset_to_utf8($this->antecedent_medicaux);
         if ($this->Json_use_label)
         {
             $SC_Label = (isset($this->New_label['antecedent_medicaux'])) ? $this->New_label['antecedent_medicaux'] : "" . $this->Ini->Nm_lang['lang_public_fiche_citoyen_fld_antecedent_medicaux'] . ""; 
         }
         else
         {
             $SC_Label = "antecedent_medicaux"; 
         }
         $SC_Label = NM_charset_to_utf8($SC_Label); 
         if ($Grouping && !empty($Lab_Mult)) {
             $this->json_registro[$this->SC_seq_json][$Lab_Mult][$SC_Label] = $this->antecedent_medicaux;
         }
         else {
             $this->json_registro[$this->SC_seq_json][$SC_Label] = $this->antecedent_medicaux;
         }
   }
   //----- id_fiche_citoyen
   function NM_export_id_fiche_citoyen($Grouping=false, $Lab_Mult="")
   {
         if ($this->Json_format)
         {
             nmgp_Form_Num_Val($this->id_fiche_citoyen, $_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']) ; 
         }
         if ($this->Json_use_label)
         {
             $SC_Label = (isset($this->New_label['id_fiche_citoyen'])) ? $this->New_label['id_fiche_citoyen'] : "" . $this->Ini->Nm_lang['lang_public_fiche_citoyen_fld_id_fiche_citoyen'] . ""; 
         }
         else
         {
             $SC_Label = "id_fiche_citoyen"; 
         }
         $SC_Label = NM_charset_to_utf8($SC_Label); 
         if ($Grouping && !empty($Lab_Mult)) {
             $this->json_registro[$this->SC_seq_json][$Lab_Mult][$SC_Label] = $this->id_fiche_citoyen;
         }
         else {
             $this->json_registro[$this->SC_seq_json][$SC_Label] = $this->id_fiche_citoyen;
         }
   }
   //----- wilaya
   function NM_export_wilaya($Grouping=false, $Lab_Mult="")
   {
         $this->look_wilaya = NM_charset_to_utf8($this->look_wilaya);
         if ($this->Json_use_label)
         {
             $SC_Label = (isset($this->New_label['wilaya'])) ? $this->New_label['wilaya'] : "" . $this->Ini->Nm_lang['lang_public_fiche_citoyen_fld_wilaya'] . ""; 
         }
         else
         {
             $SC_Label = "wilaya"; 
         }
         $SC_Label = NM_charset_to_utf8($SC_Label); 
         if ($Grouping && !empty($Lab_Mult)) {
             $this->json_registro[$this->SC_seq_json][$Lab_Mult][$SC_Label] = $this->look_wilaya;
         }
         else {
             $this->json_registro[$this->SC_seq_json][$SC_Label] = $this->look_wilaya;
         }
   }
   //----- nom_declarant
   function NM_export_nom_declarant($Grouping=false, $Lab_Mult="")
   {
         $this->nom_declarant = NM_charset_to_utf8($this->nom_declarant);
         if ($this->Json_use_label)
         {
             $SC_Label = (isset($this->New_label['nom_declarant'])) ? $this->New_label['nom_declarant'] : "" . $this->Ini->Nm_lang['lang_public_fiche_citoyen_fld_nom_declarant'] . ""; 
         }
         else
         {
             $SC_Label = "nom_declarant"; 
         }
         $SC_Label = NM_charset_to_utf8($SC_Label); 
         if ($Grouping && !empty($Lab_Mult)) {
             $this->json_registro[$this->SC_seq_json][$Lab_Mult][$SC_Label] = $this->nom_declarant;
         }
         else {
             $this->json_registro[$this->SC_seq_json][$SC_Label] = $this->nom_declarant;
         }
   }
   //----- nom_malade
   function NM_export_nom_malade($Grouping=false, $Lab_Mult="")
   {
         $this->nom_malade = NM_charset_to_utf8($this->nom_malade);
         if ($this->Json_use_label)
         {
             $SC_Label = (isset($this->New_label['nom_malade'])) ? $this->New_label['nom_malade'] : "" . $this->Ini->Nm_lang['lang_public_fiche_citoyen_fld_nom_malade'] . ""; 
         }
         else
         {
             $SC_Label = "nom_malade"; 
         }
         $SC_Label = NM_charset_to_utf8($SC_Label); 
         if ($Grouping && !empty($Lab_Mult)) {
             $this->json_registro[$this->SC_seq_json][$Lab_Mult][$SC_Label] = $this->nom_malade;
         }
         else {
             $this->json_registro[$this->SC_seq_json][$SC_Label] = $this->nom_malade;
         }
   }
   //----- prenom_malade
   function NM_export_prenom_malade($Grouping=false, $Lab_Mult="")
   {
         $this->prenom_malade = NM_charset_to_utf8($this->prenom_malade);
         if ($this->Json_use_label)
         {
             $SC_Label = (isset($this->New_label['prenom_malade'])) ? $this->New_label['prenom_malade'] : "" . $this->Ini->Nm_lang['lang_public_fiche_citoyen_fld_prenom_malade'] . ""; 
         }
         else
         {
             $SC_Label = "prenom_malade"; 
         }
         $SC_Label = NM_charset_to_utf8($SC_Label); 
         if ($Grouping && !empty($Lab_Mult)) {
             $this->json_registro[$this->SC_seq_json][$Lab_Mult][$SC_Label] = $this->prenom_malade;
         }
         else {
             $this->json_registro[$this->SC_seq_json][$SC_Label] = $this->prenom_malade;
         }
   }
   //----- age_malade
   function NM_export_age_malade($Grouping=false, $Lab_Mult="")
   {
         if ($this->Json_format)
         {
             nmgp_Form_Num_Val($this->age_malade, $_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']) ; 
         }
         if ($this->Json_use_label)
         {
             $SC_Label = (isset($this->New_label['age_malade'])) ? $this->New_label['age_malade'] : "" . $this->Ini->Nm_lang['lang_public_fiche_citoyen_fld_age_malade'] . ""; 
         }
         else
         {
             $SC_Label = "age_malade"; 
         }
         $SC_Label = NM_charset_to_utf8($SC_Label); 
         if ($Grouping && !empty($Lab_Mult)) {
             $this->json_registro[$this->SC_seq_json][$Lab_Mult][$SC_Label] = $this->age_malade;
         }
         else {
             $this->json_registro[$this->SC_seq_json][$SC_Label] = $this->age_malade;
         }
   }

   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_fiche_citoyen_recues']['json_file']);
      if (is_file($this->Ini->root . $this->Ini->path_imag_temp . "/" . $this->Arquivo))
      {
          $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['json_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_fiche_citoyen_recues'][$path_doc_md5][0] = $this->Ini->path_imag_temp . "/" . $this->Arquivo;
      $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues'][$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_fiche_citoyen_recues']['json_file']);
      if (is_file($this->Ini->root . $this->Ini->path_imag_temp . "/" . $this->Arquivo))
      {
          $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues']['json_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_fiche_citoyen_recues'][$path_doc_md5][0] = $this->Ini->path_imag_temp . "/" . $this->Arquivo;
      $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fiche_citoyen_recues'][$path_doc_md5][1] = $this->Tit_doc;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
            "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML<?php echo $_SESSION['scriptcase']['reg_conf']['html_dir'] ?>>
<HEAD>
 <TITLE>Listes des fiches citoyens reçues :: JSON</TITLE>
 <META http-equiv="Content-Type" content="text/html; charset=<?php echo $_SESSION['scriptcase']['charset_html'] ?>" />
<?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
}
?>
 <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="Cache-Control" content="post-check=0, pre-check=0"/>
 <META http-equiv="Pragma" content="no-cache"/>
 <link rel="shortcut icon" href="../_lib/img/sys__NM__img__NM__emergency_2785811.png">
  <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">JSON</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, "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_view ?>" target="_blank" style="display: none"> 
</form>
<form name="Fdown" method="get" action="grid_fiche_citoyen_recues_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_fiche_citoyen_recues"> 
<input type="hidden" name="nm_name_doc" value="<?php echo $path_doc_md5 ?>"> 
</form>
<FORM name="F0" method=post action="grid_fiche_citoyen_recues.php" style="display: none"> 
<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_fiche_citoyen_recues']['json_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;
   } 
function send_request($_url, $_action, $_params){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
	$url = $_url;
	
	$params = $_params;

	$params['action'] = $_action;

	$payload = json_encode($_params);


	$ch = curl_init($url);

	curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);

	curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));

	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);


	curl_setopt($ch, CURLOPT_POST, 1);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
	curl_setopt($ch, CURLOPT_MAXREDIRS, 10);


	$result = curl_exec($ch);

	$uuid_results = json_decode($result, true);

	$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
	
	curl_close($ch);

	if ($httpCode==200 || $httpCode==201){
	
		return $uuid_results;

	}
	else{
		
		return array(0=>array('error'=>'999', 'message'=>"Erreur, code http:$httpCode, URL: $_url-$_action, Sended JSON:".json_encode($_params).'- Returned JSON:'.json_encode($uuid_results)));
		
	}
	

$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function add_private_notification($_user, $_subject, $_excerpt, $_details, $_alert = 'N', $_code_fiche=''){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
	$_dt = date('Y-m-d H:i:s');
	
	$insert_table  = 'public.alert_notification_private';      
	$insert_fields = array(   
					'user_fk' => "'".$_user."'",
					'notification_title' => "'".$_subject."'",
					'notification_excerpt' => "'".$_excerpt."'",
					'notification_details' => "'".$_details."'",
					'code_fiche' => (empty($_code_fiche)?'NULL':"'".$_code_fiche."'"),
		 			'notification_datetime' => "'".$_dt."'",
					'ai_alert' => (empty($_alert)?'NULL':"'".$_alert."'"),
					'readed' => "'N'",
				 );

	$insert_sql = 'INSERT INTO ' . $insert_table
					. ' ('   . implode(', ', array_keys($insert_fields))   . ')'
					. ' VALUES ('    . implode(', ', array_values($insert_fields)) . ')';

	
     $nm_select = $insert_sql; 
         $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select;
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
         $rf = $this->Db->Execute($nm_select);
         if ($rf === false)
         {
             $this->Erro->mensagem (__FILE__, __LINE__, "banco", $this->Ini->Nm_lang['lang_errm_dber'], $this->Db->ErrorMsg());
             if ($this->Ini->sc_tem_trans_banco)
             {
                 $this->Db->RollbackTrans(); 
                 $this->Ini->sc_tem_trans_banco = false;
             }
             exit;
         }
         $rf->Close();
      
	
		
	$_url = $this->get_setting('url_device_mgm_ws');
	$_action = 'getDeviceByUser';
	$request_array = array(
    	'action' => "$_action",
		'user_name'  => $_user,
		'name_space' => "AL",
	);
	
	$r = $this->send_request($_url, $_action, $request_array);
	
	$this->push_api_log('send_to_firebase', $_user.'.1'.json_encode($r));

	if (isset($r[0]['error']) && $r[0]['error']=='0'){
		
		$_device_id = $r[0]['device_id'];
		
		
		if (!empty($_device_id)){
		
			if ($this->send_notification_to_firebase($_device_id, $_subject, $_excerpt, $_details)){

				$this->push_api_log('send_to_firebase', $_user.'.2'.json_encode($r));
			}
			else{

				$this->push_api_log('send_to_firebase', $_user.'.'.$_device_id);
			}
		}
		
	}
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function send_notification_to_firebase($_device_id, $_subject, $_excerpt, $_message){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
	
	
	$_url = $this->get_setting('alerts_notifification_ws_url');
	$_action = 'getSettings';
	$request_array = array(
    	'action' => "$_action",
		/*'code_declaration' => "$_code_declaration",
		'status' => "$_status",*/
	);
	
	$r = $this->send_request($_url, $_action, $request_array);

	if (isset($r[0]['error'])){
		
		if ($r[0]['error']=='0'){
			
			$_settings = $r[0]['settings'];
			
			$_url = $_settings['firebase_notification_url'];

			$_key = $_settings['firebase_notification_key'];


			/*------------------------------------------------*/


			$url = $_url;

			$params = array(

				'notification' => array('title'=>$_subject, 'body'=>$_excerpt),
				'to' => $_device_id,
				'data' => array('type'=>'personnel', 'contenu'=>$_message),

			);


			$payload = json_encode($params);

			$ch = curl_init($url);


			$authorization = "Authorization: " . $_key;

			$headers = array(
			   "Accept: application/json",
			   "Content-Type: application/json",
			   $authorization,	
			);


			curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);

			curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

			curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);


			curl_setopt($ch, CURLOPT_POST, 1);
			curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
			curl_setopt($ch, CURLOPT_MAXREDIRS, 10);


			$result = curl_exec($ch);

			$uuid_results = json_decode($result, true);
			
			$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
	
			curl_close($ch);

			if ($httpCode==200 || $httpCode==201){

				
				
				return $uuid_results['success']==1;

			}
			else{

				return false;

			}

						
		}
		else{
			
			return false;
						
		}
	}
	else{
		
		return false;
				
	}


$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_setting($_setting_name){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	

	$check_sql = "SELECT set_value"
	   . " FROM sec_settings"
	   . " WHERE set_name = '$_setting_name'";
	 
      $nm_select = $check_sql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      $this->rs = 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->rs[$SCy] [$SCx] = $SCrx->fields[$SCx];
                 }
                 $SCy++; 
                 $SCrx->MoveNext();
          } 
          $SCrx->Close();
      } 
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->rs = false;
          $this->rs_erro = $this->Db->ErrorMsg();
      } 


	$url = '';
	
	if (isset($this->rs[0][0]))     
	{
		$url = $this->rs[0][0];
		
		
	}
		
	return $url;
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function stop_notification($_code_notif){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
	$_url = $this->get_setting('alerts_notifification_ws_url');	
	$_action = 'stop';
	
	$request_array = array(
		'action' => "$_action",
		'notification_code' => "$_code_notif",
		
	);
	
	$_results = $this->send_request($_url, $_action, $request_array);
	
	return $_results;
	

$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function remove_notification($_code_notif){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
	$_url = $this->get_setting('alerts_notifification_ws_url');	
	$_action = 'remove';
	
	$request_array = array(
		'action' => "$_action",
		'notification_code' => "$_code_notif",
		
	);
	
	$_results = $this->send_request($_url, $_action, $request_array);
	
	return $_results;
	

$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function restart_notification($_code_notif){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
	$_url = $this->get_setting('alerts_notifification_ws_url');	
	$_action = 'restart';
	
	$request_array = array(
		'action' => "$_action",
		'notification_code' => "$_code_notif",
		
	);
	
	$_results = $this->send_request($_url, $_action, $request_array);
	
	return $_results;
	

$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function disable_queue(){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
	$_url = $this->get_setting('alerts_notifification_ws_url');	
	
	$_action = 'disableQueue';
	
	$request_array = array(
		
		'action' => "$_action",
		
	);
	
	$_results = $this->send_request($_url, $_action, $request_array);
	
	return $_results;
	

$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function enable_queue(){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
	$_url = $this->get_setting('alerts_notifification_ws_url');	
	
	$_action = 'enableQueue';
	
	$request_array = array(
		
		'action' => "$_action",
		
	);
	
	$_results = $this->send_request($_url, $_action, $request_array);
	
	return $_results;
	

$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function add_notification_to_queue($_code_notif, $_subject, $_excerpt, $_message, $_wilayas, $_time, $_scope, $_notype, $_facilities, $_ref_users){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	


	$_url = $this->get_setting('alerts_notifification_ws_url');	
	
	
	$_action = 'addToQueue';
	
	$request_array = array(
		'action' => "$_action",
		'notification_code' => "$_code_notif",
		'subject' => "$_subject",
		'message' => "$_message",
		'excerpt' => "$_excerpt",
		'wilaya_targets' => "$_wilayas",
		'scheduled' => "$_time",
		'scope' => "$_scope",
		
		'notype' => $_notype,
		'facilities' => $_facilities,
		'alert_ref_users' => $_ref_users,
	);
	
	
	
	$_results = $this->send_request($_url, $_action, $request_array);
	
	return $_results;
	
/*
	$payload = json_encode($request_array);

	
	$ch = curl_init($url);
	
	
	curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);

	curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));

	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

	$result = curl_exec($ch);

	$uuid_results = json_decode($result, true);

	curl_close($ch);


	return $uuid_results;	
	*/

$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function backgroundPost($url){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	$parts=parse_url($url);
  
  
	
    $fp = fsockopen($parts['host'], 
          isset($parts['port'])?$parts['port']:80, 
          $errno, $errstr, 30);
 
  if (!$fp) {
      return false;
  } else {
      $out = "POST ".$parts['path']." HTTP/1.1\r\n";
      $out.= "Host: ".$parts['host']."\r\n";
      $out.= "Content-Type: application/x-www-form-urlencoded\r\n";
      if (isset($parts['query'])) $out.= "Content-Length: ".strlen($parts['query'])."\r\n";
      $out.= "Connection: Close\r\n\r\n";
      if (isset($parts['query'])) $out.= $parts['query'];
 		
      fwrite($fp, $out);
	  
      fclose($fp);
      return true;
	}	

$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function clean_array($a){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	$b=array();
	if (count($a)>0){
		
		$k=0; 
		while ($k<count($a)){
				
			if (!in_array($a[$k], $b)){
					$b[] = $a[$k];
					
				}
				$k++;
			}
	}
	return $b;

$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function getMessage($temp, $maladie, $statut_maladie, $date_declaration, $etablissement, $dsp, $tel_medecin){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
	$txt = '';
	$txt = eregi_replace('<%Maladie>',$maladie,$temp);
	$txt = eregi_replace('<%Etablissement>',$etablissement,$txt);
	$txt = eregi_replace('<%Wilaya>',$dsp,$txt);
	$txt = eregi_replace('<%Tel_Medecin>',$tel_medecin,$txt);
	$txt = eregi_replace('<%Statut>',$statut_maladie,$txt);
	$txt = eregi_replace('<%Date_Declaration>',$this->date_declaration,$txt);
	

	return $txt;

$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function getAggregatedMessage($temp, $maladie, $nb_cas, $fenobs, $niveau, $region){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  

	$txt = ''; 	
	$txt = eregi_replace('<%Maladie>',$maladie,$temp);	
	$txt = eregi_replace('<%NB_cas>',$nb_cas,$txt);
	$txt = eregi_replace('<%Niveau>',$niveau,$txt);
	$txt = eregi_replace('<%Region>',$region,$txt);	
	$txt = eregi_replace('<%Periode>',$fenobs,$txt);	
	return $txt;

$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function push_api_log($_source, $_data){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
		$d = date('Y-m-d H:i:s');
	
		$_data = pg_escape_string($_data);
			
			
	
		$insert_table  = 'public.api_log';      
		$insert_fields = array(   
					'source' => "'".$_source."'",
					'input' => "'".$_data."'",
					'dateheure' => "'".$d."'",
					
				 );

		$insert_sql = 'INSERT INTO ' . $insert_table
					. ' ('   . implode(', ', array_keys($insert_fields))   . ')'
					. ' VALUES ('    . implode(', ', array_values($insert_fields)) . ')';

		
     $nm_select = $insert_sql; 
         $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select;
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
         $rf = $this->Db->Execute($nm_select);
         if ($rf === false)
         {
             $this->Erro->mensagem (__FILE__, __LINE__, "banco", $this->Ini->Nm_lang['lang_errm_dber'], $this->Db->ErrorMsg());
             if ($this->Ini->sc_tem_trans_banco)
             {
                 $this->Db->RollbackTrans(); 
                 $this->Ini->sc_tem_trans_banco = false;
             }
             exit;
         }
         $rf->Close();
      
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_params($profil){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
		
		$check_sql = 'SELECT geoserver_url, protocol, geoserver_user, geoserver_pwd, timeout_value, max_file_size, maintenance_mode, maintenance_message, admin_contact, geoserver_url_local, url_qr_code'
		   . ' FROM public.app_params'
		   . ' WHERE "profil" = ' ."'" . $profil. "'";
		
		 
      $nm_select = $check_sql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      $this->rs = 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->rs[$SCy] [$SCx] = $SCrx->fields[$SCx];
                 }
                 $SCy++; 
                 $SCrx->MoveNext();
          } 
          $SCrx->Close();
      } 
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->rs = false;
          $this->rs_erro = $this->Db->ErrorMsg();
      } 


		$_params = array();

		if (isset($this->rs[0][0]))     
		{
			$_params['geoserver_url'] = $this->rs[0][0];
			$_params['protocol'] = $this->rs[0][1];
			$_params['geoserver_user'] = $this->rs[0][2];
			$_params['geoserver_pwd'] = $this->rs[0][3];
			$_params['timeout_value'] = $this->rs[0][4];
			$_params['max_file_size'] = $this->rs[0][5];
			$_params['maintenance_mode'] = $this->rs[0][6];
			$_params['maintenance_message'] = $this->rs[0][7];
			$_params['admin_contact'] = $this->rs[0][8];
			$_params['geoserver_url_local'] = $this->rs[0][9];
			$_params['url_qr_code'] = $this->rs[0][10];
	
		}

		return $_params;
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_uuid_url($profil){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
		
		$check_sql = 'SELECT url_uuid_ws'
		   . ' FROM public.app_params'
		   . ' WHERE "profil" = ' ."'" . $profil. "'";
		
		 
      $nm_select = $check_sql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      $this->rs = 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->rs[$SCy] [$SCx] = $SCrx->fields[$SCx];
                 }
                 $SCy++; 
                 $SCrx->MoveNext();
          } 
          $SCrx->Close();
      } 
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->rs = false;
          $this->rs_erro = $this->Db->ErrorMsg();
      } 


		$_url = '';

		if (isset($this->rs[0][0]))     
		{
			$_url = $this->rs[0][0];

		}

		return $_url;
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_device_mgm_url($profil){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
		
		$check_sql = 'SELECT url_device_mgm_ws'
		   . ' FROM public.app_params'
		   . ' WHERE "profil" = ' ."'" . $profil. "'";
		
		 
      $nm_select = $check_sql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      $this->rs = 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->rs[$SCy] [$SCx] = $SCrx->fields[$SCx];
                 }
                 $SCy++; 
                 $SCrx->MoveNext();
          } 
          $SCrx->Close();
      } 
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->rs = false;
          $this->rs_erro = $this->Db->ErrorMsg();
      } 


		$_url = '';

		if (isset($this->rs[0][0]))     
		{
			$_url = $this->rs[0][0];

		}

		return $_url;
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_id($domain_code, $facility_code, $user_name){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
			
			$url = $this->get_uuid_url('A');
		
			$ch = curl_init($url);


			$request_example = array(
				'name_space' => $domain_code,
				'facility_code' => $facility_code,
				'user_name' => $user_name,

			);

			

			$payload = json_encode(array("domain" => $request_example));

			curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);

			curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));

			curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

		
			$result = curl_exec($ch);

			$uuid_results = json_decode($result, true);
	
	
			
			curl_close($ch);
			
			
			
			return $uuid_results;
	
	
	
	
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_nmc($code_nmc){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  

		$check_sql = "SELECT nomenclature_item"
		   . " FROM ref_nomenclature_items"
		   . " WHERE nomenclature_item_code = '" . $code_nmc . "'";
		 
      $nm_select = $check_sql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      $this->rs = 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->rs[$SCy] [$SCx] = $SCrx->fields[$SCx];
                 }
                 $SCy++; 
                 $SCrx->MoveNext();
          } 
          $SCrx->Close();
      } 
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->rs = false;
          $this->rs_erro = $this->Db->ErrorMsg();
      } 


		$nmc = '';

		if (isset($this->rs[0][0]))     
		{
			$nmc = $this->rs[0][0];

		}


		return $nmc;
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_wilaya_of_facility($code_facility){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  

		$check_sql = "SELECT wilaya_structure"
		   . " FROM structures_sante"
		   . " WHERE code_structure = '" . $code_facility . "'";
		 
      $nm_select = $check_sql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      $this->rs = 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->rs[$SCy] [$SCx] = $SCrx->fields[$SCx];
                 }
                 $SCy++; 
                 $SCrx->MoveNext();
          } 
          $SCrx->Close();
      } 
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->rs = false;
          $this->rs_erro = $this->Db->ErrorMsg();
      } 


		$w = '';

		if (isset($this->rs[0][0]))     
		{
			$w = $this->rs[0][0];

		}


		return $w;
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_services_of_facility($facility){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  

		$check_sql = "SELECT code_service_sisdz, nom_service"
		   . " FROM structures_services"
		   . " WHERE code_etablissement_sisdz = '" . $facility . "' order by nom_service";
		 
      $nm_select = $check_sql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      if ($this->rsnmc = $this->Db->Execute($nm_select)) 
      { }
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->rsnmc = false;
          $this->rsnmc_erro = $this->Db->ErrorMsg();
      } 


		$nmc = array();

				
		if (false == $this->rsnmc )     
		{
			$nmc[] = 'Error while accessing database (Services sante)';
		}
		else
		{
			$i=1;
		   while(!$this->rsnmc->EOF)
			{
				$nmc[$this->rsnmc->fields[0]] = $this->rsnmc->fields[1];
				$this->rsnmc->MoveNext();
			   
			}
			$this->rsnmc->Close();
		}


		return $nmc;
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_nmc_abrege($code_nmc){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  

		$check_sql = "SELECT nomenclature_item_abrege"
		   . " FROM ref_nomenclature_items"
		   . " WHERE nomenclature_item_code = '" . $code_nmc . "'";
		 
      $nm_select = $check_sql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      $this->rs = 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->rs[$SCy] [$SCx] = $SCrx->fields[$SCx];
                 }
                 $SCy++; 
                 $SCrx->MoveNext();
          } 
          $SCrx->Close();
      } 
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->rs = false;
          $this->rs_erro = $this->Db->ErrorMsg();
      } 


		$nmc = '';

		if (isset($this->rs[0][0]))     
		{
			$nmc = $this->rs[0][0];

		}


		return $nmc;
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_items_of_nmc($code_nmc){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  

		$check_sql = "SELECT nomenclature_item_code, nomenclature_item"
		   . " FROM ref_nomenclature_items"
		   . " WHERE nomenclature_fk = '" . $code_nmc . "' order by nomenclature_item_order";
		 
      $nm_select = $check_sql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      if ($this->rsnmc = $this->Db->Execute($nm_select)) 
      { }
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->rsnmc = false;
          $this->rsnmc_erro = $this->Db->ErrorMsg();
      } 


		$nmc = array();

				
		if (false == $this->rsnmc )     
		{
			$nmc[] = 'Error while accessing database (ref_nomenclatures)';
		}
		else
		{
			$i=1;
		   while(!$this->rsnmc->EOF)
			{
				$nmc[$this->rsnmc->fields[0]] = $this->rsnmc->fields[1];
				$this->rsnmc->MoveNext();
			   
			}
			$this->rsnmc->Close();
		}


		return $nmc;
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function is_nmc_secured($code_nmc){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  


		$check_table = 'ref_nomenclatures';    
		$check_where = "nomenclature_code = '".$code_nmc."' and nc_secured='O'"; 

		$check_sql = 'SELECT *'
		   . ' FROM '  . $check_table
		   . ' WHERE ' . $check_where;
		
		 
      $nm_select = $check_sql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      if ($this->dataset = $this->Db->Execute($nm_select)) 
      { }
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->dataset = false;
          $this->dataset_erro = $this->Db->ErrorMsg();
      } 


		if (false == $this->dataset )
		{
			return false;
		}
		elseif ($this->dataset->EOF)
		{
			return false;
		}
		else
		{
			return true;
		}
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function is_nmc_exist($code_nmc){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  


		$check_table = 'ref_nomenclatures';    
		$check_where = "nomenclature_code = '".$code_nmc."'"; 

		$check_sql = 'SELECT *'
		   . ' FROM '  . $check_table
		   . ' WHERE ' . $check_where;
		
		 
      $nm_select = $check_sql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      if ($this->dataset = $this->Db->Execute($nm_select)) 
      { }
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->dataset = false;
          $this->dataset_erro = $this->Db->ErrorMsg();
      } 


		if (false == $this->dataset )
		{
			return false;
		}
		elseif ($this->dataset->EOF)
		{
			return false;
		}
		else
		{
			return true;
		}
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function is_item_nmc_exists($code_item, $code_nmc=''){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  


		$check_table = 'ref_nomenclature_items';    
		
		if (empty($code_nmc)){
			$check_where = "nomenclature_item_code = '".$code_item."'"; 
		}
		else{
			
			$check_where = "nomenclature_item_code = '".$code_item."' and nomenclature_fk ='".$code_nmc."'"; 
		}

		$check_sql = 'SELECT *'
		   . ' FROM '  . $check_table
		   . ' WHERE ' . $check_where;
		
		 
      $nm_select = $check_sql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      if ($this->dataset = $this->Db->Execute($nm_select)) 
      { }
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->dataset = false;
          $this->dataset_erro = $this->Db->ErrorMsg();
      } 


		if (false == $this->dataset )
		{
			return false;
		}
		elseif ($this->dataset->EOF)
		{
			return false;
		}
		else
		{
			return true;
		}
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_communes_of_wilaya($wil){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
		
		$check_sql = "SELECT code_commune, nom_commune"
			   . " FROM commune"
			   . " WHERE code_wilaya='".$wil."'"
			   . " ORDER BY code_commune";
			 
      $nm_select = $check_sql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      if ($this->rscom = $this->Db->Execute($nm_select)) 
      { }
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->rscom = false;
          $this->rscom_erro = $this->Db->ErrorMsg();
      } 


			$communes = array();


			if (false == $this->rscom )     
			{
				$communes[] = 'Error while accessing database (commune)';
			}
			else
			{
				
				
				$i=1;
			   while(!$this->rscom->EOF)
				{
					$communes[$this->rscom->fields[0]] = $this->rscom->fields[1];
				    
					$this->rscom->MoveNext();

				}
				$this->rscom->Close();
			}


			return $communes;
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_all_wilayas(){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
		
		$check_sql = "SELECT code_wilaya, nom_wilaya"
			   . " FROM wilaya"
			   . " ORDER BY code_wilaya";
			 
      $nm_select = $check_sql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      if ($this->rswil = $this->Db->Execute($nm_select)) 
      { }
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->rswil = false;
          $this->rswil_erro = $this->Db->ErrorMsg();
      } 


			$wilayas = array();


			if (false == $this->rswil )     
			{
				$wilayas[] = 'Error while accessing database (ref_nomenclatures)';
			}
			else
			{
				$i=1;
			   while(!$this->rswil->EOF)
				{
					$wilayas[$this->rswil->fields[0]]['name'] = $this->rswil->fields[1];
				    $wilayas[$this->rswil->fields[0]]['communes'] = $this->get_communes_of_wilaya($this->rswil->fields[0]);
					$this->rswil->MoveNext();

				}
				$this->rswil->Close();
			}


			return $wilayas;
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function is_wilaya_exists($_wilaya){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
		
		$check_table = 'wilaya';    
		$check_where = "code_wilaya = '".$_wilaya."'"; 

		$check_sql = 'SELECT *'
		   . ' FROM '  . $check_table
		   . ' WHERE ' . $check_where;
		
		 
      $nm_select = $check_sql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      if ($this->dataset = $this->Db->Execute($nm_select)) 
      { }
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->dataset = false;
          $this->dataset_erro = $this->Db->ErrorMsg();
      } 


		if (false == $this->dataset )
		{
			return false;
		}
		elseif ($this->dataset->EOF)
		{
			return false;
		}
		else
		{
			return true;
		}
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_facilities_by_wilaya($_wilaya){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
		
		$check_sql = "SELECT code_structure, nom_structure, wilaya_structure, type_structure, longitude, latitude"
			   . " FROM structures_sante"
			   . " WHERE wilaya_structure = '" .$_wilaya. "'"
			   . " ORDER BY wilaya_structure, type_structure";
			 
      $nm_select = $check_sql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      if ($this->rswil = $this->Db->Execute($nm_select)) 
      { }
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->rswil = false;
          $this->rswil_erro = $this->Db->ErrorMsg();
      } 


			$structures = array();


			if (false == $this->rswil )     
			{
				$structures[] = 'Error while accessing database (structures_sante)';
			}
			else
			{
				$i=1;
			   while(!$this->rswil->EOF)
				{
					$structures[$this->rswil->fields[0]]['name'] = $this->rswil->fields[1] . " - " . get_nom_wilaya($this->rswil->fields[2]);
				    $structures[$this->rswil->fields[0]]['wilaya'] = $this->rswil->fields[2];
				    $structures[$this->rswil->fields[0]]['type'] = $this->rswil->fields[3];
				    $structures[$this->rswil->fields[0]]['lng'] = $this->rswil->fields[4];
				    $structures[$this->rswil->fields[0]]['lat'] = $this->rswil->fields[5];
					$this->rswil->MoveNext();

				}
				$this->rswil->Close();
			}


			return $structures;
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_all_facilities($_details=false){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
		
			$d_sql = '';
			if ($_details){
				$d_sql = ', type_structure, longitude, latitude';
				
			}
				
			
		
			$check_sql = "SELECT code_structure, nom_structure, wilaya_structure" . $d_sql
			   . " FROM structures_sante"
			   . " ORDER BY wilaya_structure, type_structure";
			 
      $nm_select = $check_sql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      if ($this->rswil = $this->Db->Execute($nm_select)) 
      { }
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->rswil = false;
          $this->rswil_erro = $this->Db->ErrorMsg();
      } 


			$structures = array();


			if (false == $this->rswil )     
			{
				$structures[] = 'Error while accessing database (structures_sante)';
			}
			else
			{
				$i=1;
			   while(!$this->rswil->EOF)
				{
					
				    if ($d_sql){
						$structures[$this->rswil->fields[0]]['name'] = $this->rswil->fields[1] . " - " . get_nom_wilaya($this->rswil->fields[2]);
						$structures[$this->rswil->fields[0]]['wilaya'] = $this->rswil->fields[2];
						$structures[$this->rswil->fields[0]]['type'] = $this->rswil->fields[3];
						$structures[$this->rswil->fields[0]]['lng'] = $this->rswil->fields[4];
						$structures[$this->rswil->fields[0]]['lat'] = $this->rswil->fields[5];
					}
				    else{
						$structures[$this->rswil->fields[0]] = $this->rswil->fields[1] . " - " . get_nom_wilaya($this->rswil->fields[2]);
						
					}
					$this->rswil->MoveNext();

				}
				$this->rswil->Close();
			}


			return $structures;
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_sended_icon_url($var_status){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
        
               
        switch ($var_status){
            
            case 'TERMINATED':
                
                $icon_url = sc_url_library('sys', 'images_ressources', 'img_messages/sended-1.png');
                $_text = $this->get_nmc('TERMINATED');
                
                break;    
			
			
				
            case 'SCHEDULED':
                
                $icon_url = sc_url_library('sys', 'images_ressources', 'img_messages/waiting-1.png');
                $_text = $this->get_nmc('SCHEDULED');
                
                break;
				
			 case 'INPROGRESS':
                
                $icon_url = sc_url_library('sys', 'images_ressources', 'img_messages/ongoing.png');
                $_text = $this->get_nmc('INPROGRESS');
                
                break;
				
			case 'STOPED':
                
                $icon_url = sc_url_library('sys', 'images_ressources', 'img_messages/not_sended.png');
                $_text = $this->get_nmc('STOPED');
                
                break;
				
				
			case 'RESTARTED':
                
                $icon_url = sc_url_library('sys', 'images_ressources', 'img_messages/returned.png');
                $_text = $this->get_nmc('RESTARTED');
                
                break;
			
		
				
			           
            default:
                
                $icon_url = sc_url_library('sys', 'images_ressources', 'img_messages/not_sended.png');
                $_text = $this->get_nmc('STOPED');
        }        
        
        
        $_icon = '<img  width="32" height="32" style="vertical-align:middle;" title="'.$_text.'" src="'.$icon_url.'" />';
        
        return $_icon;        
        
    
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_state_icon_url($var_state){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
        
               
        switch ($var_state){
            
            case 'V':
                
                $icon_url = sc_url_library('sys', 'images_ressources', 'imgmap/check_24.png');
                $_text = $this->get_nmc('VALIDE');
                
                break;    
			
			
				
            case 'I':
                
                $icon_url = sc_url_library('sys', 'images_ressources', 'imgmap/circle-24_red.png');
                $_text = $this->get_nmc('ERRONE');
                
                break;
			
			
				
			           
            default:
                
                $icon_url = sc_url_library('sys', 'images_ressources', 'imgmap/circle-24_orange.png');
                $_text = $this->get_nmc('ATTENTE');
        }        
        
        
        $_icon = '<img  width="20" height="20" style="vertical-align:middle;" title="'.$_text.'" src="'.$icon_url.'" />';
        
        return $_icon;        
        
    
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function is_valid_email($email){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  

		if (filter_var($email, FILTER_VALIDATE_EMAIL)) {

			return true;
		}
		else{

			return false;

		}

	
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function is_valid_tel($phone){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  

		if(preg_match('/^[0-9]{10}+$/', $phone)) {
			return true;
		} 
		else {
			return false;
		}


	
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_state_confirmation_icon_url($var_state){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
	
		switch ($var_state){
            
            case 'C':
                
                $icon_url = sc_url_library('sys', 'images_ressources', 'imgmap/check_24.png');
                $_text = 'Cas confirmé';
                
                break;    
			
							
            case 'I':
                
                $icon_url = sc_url_library('sys', 'images_ressources', 'imgmap/circle-24_blue.png');
                $_text = 'Cas infirmé';
                
                break;
			
			case 'D':
                
                $icon_url = sc_url_library('sys', 'images_ressources', 'imgmap/delete_24.png');
                $_text = 'Résultat indeterminé';
                
                break;	
			
			case 'S':
                
                $icon_url = sc_url_library('sys', 'images_ressources', 'imgmap/circle-24_orange.png');
                $_text = 'Cas suspect - Déclaration en attente de confirmation';
                
                break;					
		
			           
            default:
                
                $icon_url = sc_url_library('sys', 'images_ressources', 'imgmap/circle-24_orange.png');
                $_text = 'Déclaration en attente de confirmation';
		}
		
		$_icon = '<img  width="24" height="24" title="'.$_text.'" src="'.$icon_url.'" />';
        
        return $_icon;
		
	
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_suspect_state_icon_url($var_state){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
        
               
        
        if ($var_state == 'R'){    
 
			$icon_url = sc_url_library('sys', 'images_ressources', 'img/lock_open_24.png');
			$_text = $this->get_nmc('EFRAP');
 			
		}
		elseif ($var_state == 'L'){
			
			
			
			$icon_url = sc_url_library('sys', 'images_ressources', 'img/lock_ok_24.png');
  			$_text = $this->get_nmc('EFLAB');
			
		}
		elseif ($var_state == 'S'){
			
					
			$icon_url = sc_url_library('sys', 'images_ressources', 'img/lock_ok_24.png');
  			$_text = $this->get_nmc('EFSEM');
			
		}
       
        $_icon = "<img  width='24' height='24' title='".$_text."' src='".$icon_url."' style='vertical-align:middle' />";
        
        return $_icon;        
        
    
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_suspect_state_flag_icon_url($var_state){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
        
               
        
        if ($var_state == 'R'){    
 
			$icon_url = sc_url_library('sys', 'images_ressources', 'img/signal_flag_white_24.png');
			$_text = $this->get_nmc('EFRAP');
 			
		}
		elseif ($var_state == 'L'){
			
			
			
			$icon_url = sc_url_library('sys', 'images_ressources', 'img/signal_flag_blue_24.png');
  			$_text = $this->get_nmc('EFLAB');
			
		}
		elseif ($var_state == 'S'){
			
					
			$icon_url = sc_url_library('sys', 'images_ressources', 'img/signal_flag_green_24.png');
  			$_text = $this->get_nmc('EFSEM');
			
		}
       
        $_icon = "<img  width='24' height='24' title='".$_text."' src='".$icon_url."' style='vertical-align:middle' />";
        
        return $_icon;        
        
    
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_count_fiche_patient_instance($wilaya){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
	$check_sql = 'SELECT count(*) as nombre_instance '
	   . ' FROM "public"."fiche_patient" '
	   . " WHERE wilaya_patient = '".$wilaya."' and valide = 'N' and deleted IS DISTINCT FROM 'O' and draft IS DISTINCT FROM 'O'";

	
	
	 
      $nm_select = $check_sql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      $this->rs = 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->rs[$SCy] [$SCx] = $SCrx->fields[$SCx];
                 }
                 $SCy++; 
                 $SCrx->MoveNext();
          } 
          $SCrx->Close();
      } 
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->rs = false;
          $this->rs_erro = $this->Db->ErrorMsg();
      } 

	
	
		
	
	
	$nombre = '';

	if (isset($this->rs[0][0]))     
	{
		$nombre = $this->rs[0][0];

	}

	return $nombre;
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_count_fiche_patient_validee($wilaya, $from_date){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
	$check_sql = 'SELECT count(*) as nombre_instance '
	   . ' FROM "public"."fiche_patient" '
	   . " WHERE wilaya_patient = '".$wilaya."' and valide = 'V' and lue = 'N' and deleted IS DISTINCT FROM 'O' and draft IS DISTINCT FROM 'O' and date_declaration >= '" . $from_date ."'";

	 
      $nm_select = $check_sql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      $this->rs = 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->rs[$SCy] [$SCx] = $SCrx->fields[$SCx];
                 }
                 $SCy++; 
                 $SCrx->MoveNext();
          } 
          $SCrx->Close();
      } 
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->rs = false;
          $this->rs_erro = $this->Db->ErrorMsg();
      } 


	
	$nombre = '';

	if (isset($this->rs[0][0]))     
	{
		$nombre = $this->rs[0][0];

	}

	return $nombre;
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_count_fiche_patient_retournee($wilaya){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
	$check_sql = 'SELECT count(*) as nombre_instance '
	   . ' FROM "public"."fiche_patient" '
	   . " WHERE wilaya_patient = '".$wilaya."' and valide = 'I' and deleted IS DISTINCT FROM 'O' and draft IS DISTINCT FROM 'O'";

	 
      $nm_select = $check_sql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      $this->rs = 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->rs[$SCy] [$SCx] = $SCrx->fields[$SCx];
                 }
                 $SCy++; 
                 $SCrx->MoveNext();
          } 
          $SCrx->Close();
      } 
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->rs = false;
          $this->rs_erro = $this->Db->ErrorMsg();
      } 


	$nombre = '';

	if (isset($this->rs[0][0]))     
	{
		$nombre = $this->rs[0][0];

	}

	return $nombre;
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function set_lue_fiche($code_fp, $_supervisor){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
		/**
	 * Declarer la Fiche lue, manque la journalisation dans l'historique
	 */


	$update_table  = 'fiche_patient';      // Table name
	$update_where  = "code_fiche = '$code_fp'"; // Where clause
	$update_fields = array(   // Field list, add as many as needed
		 "lue = 'O'",
		 

	 );

	$update_sql = 'UPDATE ' . $update_table
		. ' SET '   . implode(', ', $update_fields)
		. ' WHERE ' . $update_where;
	
     $nm_select = $update_sql; 
         $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select;
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
         $rf = $this->Db->Execute($nm_select);
         if ($rf === false)
         {
             $this->Erro->mensagem (__FILE__, __LINE__, "banco", $this->Ini->Nm_lang['lang_errm_dber'], $this->Db->ErrorMsg());
             if ($this->Ini->sc_tem_trans_banco)
             {
                 $this->Db->RollbackTrans(); 
                 $this->Ini->sc_tem_trans_banco = false;
             }
             exit;
         }
         $rf->Close();
      
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function validate_fiche($code_fp, $_validator, $_mess=''){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
		/**
	 * Valider une fiche
	 */


	$update_table  = 'fiche_patient';      // Table name
	$update_where  = "code_fiche = '$code_fp'"; // Where clause
	$update_fields = array(   // Field list, add as many as needed
		 "valide = 'V'",
		 "validator_fk = '$_validator'",
		 "lue = 'N'" ,
		 

	 );
	
	if (!empty($_mess)){
		$update_fields[] = "commentaires = '$_mess'";
		
	}

	$update_sql = 'UPDATE ' . $update_table
		. ' SET '   . implode(', ', $update_fields)
		. ' WHERE ' . $update_where;
	
	if (strpos(strtolower($this->Ini->nm_tpbanco), "access") === false && !$this->Ini->sc_tem_trans_banco)
{
    $this->Db->BeginTrans();
    $this->Ini->sc_tem_trans_banco = true;
}

	
	
     $nm_select = $update_sql; 
         $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select;
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
         $rf = $this->Db->Execute($nm_select);
         if ($rf === false)
         {
             $this->Erro->mensagem (__FILE__, __LINE__, "banco", $this->Ini->Nm_lang['lang_errm_dber'], $this->Db->ErrorMsg());
             if ($this->Ini->sc_tem_trans_banco)
             {
                 $this->Db->RollbackTrans(); 
                 $this->Ini->sc_tem_trans_banco = false;
             }
             exit;
         }
         $rf->Close();
      	
	
	if ($this->Ini->sc_tem_trans_banco)
{
    $this->Db->CommitTrans();
    $this->Ini->sc_tem_trans_banco = false;
}

$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function set_message_fiche($_type_fiche, $_fiche_id, $_message, $_user, $_dateh, $_type_message){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
	
	$insert_table  = 'fiche_historique';      // Table name
	$insert_fields = array(   // Field list, add as many as needed
		 'fiche_fk' => "'$_fiche_id'",
		 'login' => "'$_user'",
		 'datetime_intervention' => "'$_dateh'",
		 'notes' => "'$_message'",
		 'type_intervention_nm_fk' => "'$_type_message'",
		
	 );

	$insert_sql = 'INSERT INTO ' . $insert_table
		. ' ('   . implode(', ', array_keys($insert_fields))   . ')'
		. ' VALUES ('    . implode(', ', array_values($insert_fields)) . ')';

	
	if (strpos(strtolower($this->Ini->nm_tpbanco), "access") === false && !$this->Ini->sc_tem_trans_banco)
{
    $this->Db->BeginTrans();
    $this->Ini->sc_tem_trans_banco = true;
}

	
	
     $nm_select = $insert_sql; 
         $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select;
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
         $rf = $this->Db->Execute($nm_select);
         if ($rf === false)
         {
             $this->Erro->mensagem (__FILE__, __LINE__, "banco", $this->Ini->Nm_lang['lang_errm_dber'], $this->Db->ErrorMsg());
             if ($this->Ini->sc_tem_trans_banco)
             {
                 $this->Db->RollbackTrans(); 
                 $this->Ini->sc_tem_trans_banco = false;
             }
             exit;
         }
         $rf->Close();
      
	
	if ($this->Ini->sc_tem_trans_banco)
{
    $this->Db->CommitTrans();
    $this->Ini->sc_tem_trans_banco = false;
}

$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function invalidate_fiche($code_fp, $_validator, $_mess=''){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
		/**
	 * Invalider une fiche
	 */

	$update_table  = 'fiche_patient';      // Table name
	$update_where  = "code_fiche = '$code_fp'"; // Where clause
	$update_fields = array(   // Field list, add as many as needed
		 "valide = 'I'",
		 "validator_fk = '$_validator'",
		 "lue = 'N'" ,
	 );

	if (!empty($_mess)){
		$update_fields[] = "commentaires = '$_mess'";
		
	}
	
	$update_sql = 'UPDATE ' . $update_table
		. ' SET '   . implode(', ', $update_fields)
		. ' WHERE ' . $update_where;
	
	if (strpos(strtolower($this->Ini->nm_tpbanco), "access") === false && !$this->Ini->sc_tem_trans_banco)
{
    $this->Db->BeginTrans();
    $this->Ini->sc_tem_trans_banco = true;
}

	
	
     $nm_select = $update_sql; 
         $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select;
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
         $rf = $this->Db->Execute($nm_select);
         if ($rf === false)
         {
             $this->Erro->mensagem (__FILE__, __LINE__, "banco", $this->Ini->Nm_lang['lang_errm_dber'], $this->Db->ErrorMsg());
             if ($this->Ini->sc_tem_trans_banco)
             {
                 $this->Db->RollbackTrans(); 
                 $this->Ini->sc_tem_trans_banco = false;
             }
             exit;
         }
         $rf->Close();
      
	
	if ($this->Ini->sc_tem_trans_banco)
{
    $this->Db->CommitTrans();
    $this->Ini->sc_tem_trans_banco = false;
}

$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function delete_fiche($code_fp){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
		/**
	 * Supprimer une fiche
	 */


	$update_table  = 'fiche_patient';      // Table name
	$update_where  = "code_fiche = '$code_fp'"; // Where clause
	$update_fields = array(   // Field list, add as many as needed
		 "deleted = 'O'",

	 );

	$update_sql = 'UPDATE ' . $update_table
		. ' SET '   . implode(', ', $update_fields)
		. ' WHERE ' . $update_where;
	
	if (strpos(strtolower($this->Ini->nm_tpbanco), "access") === false && !$this->Ini->sc_tem_trans_banco)
{
    $this->Db->BeginTrans();
    $this->Ini->sc_tem_trans_banco = true;
}

	
	
     $nm_select = $update_sql; 
         $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select;
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
         $rf = $this->Db->Execute($nm_select);
         if ($rf === false)
         {
             $this->Erro->mensagem (__FILE__, __LINE__, "banco", $this->Ini->Nm_lang['lang_errm_dber'], $this->Db->ErrorMsg());
             if ($this->Ini->sc_tem_trans_banco)
             {
                 $this->Db->RollbackTrans(); 
                 $this->Ini->sc_tem_trans_banco = false;
             }
             exit;
         }
         $rf->Close();
      

	if ($this->Ini->sc_tem_trans_banco)
{
    $this->Db->CommitTrans();
    $this->Ini->sc_tem_trans_banco = false;
}

$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function restore_fiche($code_fp){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
		/**
	 * Supprimer une fiche
	 */


	$update_table  = 'fiche_patient';      // Table name
	$update_where  = "code_fiche = '$code_fp'"; // Where clause
	$update_fields = array(   // Field list, add as many as needed
		 "deleted = 'N'",

	 );

	$update_sql = 'UPDATE ' . $update_table
		. ' SET '   . implode(', ', $update_fields)
		. ' WHERE ' . $update_where;
	
	if (strpos(strtolower($this->Ini->nm_tpbanco), "access") === false && !$this->Ini->sc_tem_trans_banco)
{
    $this->Db->BeginTrans();
    $this->Ini->sc_tem_trans_banco = true;
}

	
	
     $nm_select = $update_sql; 
         $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select;
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
         $rf = $this->Db->Execute($nm_select);
         if ($rf === false)
         {
             $this->Erro->mensagem (__FILE__, __LINE__, "banco", $this->Ini->Nm_lang['lang_errm_dber'], $this->Db->ErrorMsg());
             if ($this->Ini->sc_tem_trans_banco)
             {
                 $this->Db->RollbackTrans(); 
                 $this->Ini->sc_tem_trans_banco = false;
             }
             exit;
         }
         $rf->Close();
      

	if ($this->Ini->sc_tem_trans_banco)
{
    $this->Db->CommitTrans();
    $this->Ini->sc_tem_trans_banco = false;
}

$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_code_fiche($_id_fiche){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
	$check_sql = 'SELECT code_fiche '
	   . ' FROM "public"."fiche_pharmaco" '
	   . " WHERE id_phar = $_id_fiche";

	 
      $nm_select = $check_sql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      $this->rs = 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->rs[$SCy] [$SCx] = $SCrx->fields[$SCx];
                 }
                 $SCy++; 
                 $SCrx->MoveNext();
          } 
          $SCrx->Close();
      } 
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->rs = false;
          $this->rs_erro = $this->Db->ErrorMsg();
      } 


	$cp = '';

	if (isset($this->rs[0][0]))     // Row found
	{
		$cp = $this->rs[0][0];

	}

	return $cp;
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function get_id_fiche_by_code($_code_fiche){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
	$check_sql = 'SELECT id_phar '
	   . ' FROM "public"."fiche_pharmaco" '
	   . " WHERE code_fiche = '$_code_fiche'";

	 
      $nm_select = $check_sql; 
      $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select; 
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
      $this->rs = 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->rs[$SCy] [$SCx] = $SCrx->fields[$SCx];
                 }
                 $SCy++; 
                 $SCrx->MoveNext();
          } 
          $SCrx->Close();
      } 
      elseif (isset($GLOBALS["NM_ERRO_IBASE"]) && $GLOBALS["NM_ERRO_IBASE"] != 1)  
      { 
          $this->rs = false;
          $this->rs_erro = $this->Db->ErrorMsg();
      } 


	$cp = '';

	if (isset($this->rs[0][0]))     // Row found
	{
		$cp = $this->rs[0][0];

	}

	return $cp;
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function delete_fiche_pharmaco($code_fp){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
		/**
	 * Supprimer une fiche
	 */


	$update_table  = 'fiche_pharmaco';      // Table name
	$update_where  = "code_fiche = '$code_fp'"; // Where clause
	$update_fields = array(   // Field list, add as many as needed
		 "deleted = 'O'",

	 );

	$update_sql = 'UPDATE ' . $update_table
		. ' SET '   . implode(', ', $update_fields)
		. ' WHERE ' . $update_where;
	
	
	$_id = $this->get_id_fiche_by_code($code_fp);
	
	$update_table2  = 'dossier_malade';      // Table name
	$update_where2  = "phar_fk = '$_id'"; // Where clause
	$update_fields2 = array(   // Field list, add as many as needed
		 "deleted = 'O'",

	 );

	$update_sql2 = 'UPDATE ' . $update_table2
		. ' SET '   . implode(', ', $update_fields2)
		. ' WHERE ' . $update_where2;
	
	
	
	if (strpos(strtolower($this->Ini->nm_tpbanco), "access") === false && !$this->Ini->sc_tem_trans_banco)
{
    $this->Db->BeginTrans();
    $this->Ini->sc_tem_trans_banco = true;
}

	
	
     $nm_select = $update_sql; 
         $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select;
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
         $rf = $this->Db->Execute($nm_select);
         if ($rf === false)
         {
             $this->Erro->mensagem (__FILE__, __LINE__, "banco", $this->Ini->Nm_lang['lang_errm_dber'], $this->Db->ErrorMsg());
             if ($this->Ini->sc_tem_trans_banco)
             {
                 $this->Db->RollbackTrans(); 
                 $this->Ini->sc_tem_trans_banco = false;
             }
             exit;
         }
         $rf->Close();
      
	
     $nm_select = $update_sql2; 
         $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select;
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
         $rf = $this->Db->Execute($nm_select);
         if ($rf === false)
         {
             $this->Erro->mensagem (__FILE__, __LINE__, "banco", $this->Ini->Nm_lang['lang_errm_dber'], $this->Db->ErrorMsg());
             if ($this->Ini->sc_tem_trans_banco)
             {
                 $this->Db->RollbackTrans(); 
                 $this->Ini->sc_tem_trans_banco = false;
             }
             exit;
         }
         $rf->Close();
      

	if ($this->Ini->sc_tem_trans_banco)
{
    $this->Db->CommitTrans();
    $this->Ini->sc_tem_trans_banco = false;
}

$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function restore_fiche_pharmaco($code_fp){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
		/**
	 * Restaurer une fiche
	 */


	$update_table  = 'fiche_pharmaco';      // Table name
	$update_where  = "code_fiche = '$code_fp'"; // Where clause
	$update_fields = array(   // Field list, add as many as needed
		 "deleted = 'N'",

	 );

	$update_sql = 'UPDATE ' . $update_table
		. ' SET '   . implode(', ', $update_fields)
		. ' WHERE ' . $update_where;
	
	
	$_id = $this->get_id_fiche_by_code($code_fp);
	
	$update_table2  = 'dossier_malade';      // Table name
	$update_where2  = "phar_fk = '$_id'"; // Where clause
	$update_fields2 = array(   // Field list, add as many as needed
		 "deleted = 'N'",

	 );

	$update_sql2 = 'UPDATE ' . $update_table2
		. ' SET '   . implode(', ', $update_fields2)
		. ' WHERE ' . $update_where2;
	
	
	
	if (strpos(strtolower($this->Ini->nm_tpbanco), "access") === false && !$this->Ini->sc_tem_trans_banco)
{
    $this->Db->BeginTrans();
    $this->Ini->sc_tem_trans_banco = true;
}

	
	
     $nm_select = $update_sql; 
         $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select;
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
         $rf = $this->Db->Execute($nm_select);
         if ($rf === false)
         {
             $this->Erro->mensagem (__FILE__, __LINE__, "banco", $this->Ini->Nm_lang['lang_errm_dber'], $this->Db->ErrorMsg());
             if ($this->Ini->sc_tem_trans_banco)
             {
                 $this->Db->RollbackTrans(); 
                 $this->Ini->sc_tem_trans_banco = false;
             }
             exit;
         }
         $rf->Close();
      
	
     $nm_select = $update_sql2; 
         $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select;
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
         $rf = $this->Db->Execute($nm_select);
         if ($rf === false)
         {
             $this->Erro->mensagem (__FILE__, __LINE__, "banco", $this->Ini->Nm_lang['lang_errm_dber'], $this->Db->ErrorMsg());
             if ($this->Ini->sc_tem_trans_banco)
             {
                 $this->Db->RollbackTrans(); 
                 $this->Ini->sc_tem_trans_banco = false;
             }
             exit;
         }
         $rf->Close();
      

	if ($this->Ini->sc_tem_trans_banco)
{
    $this->Db->CommitTrans();
    $this->Ini->sc_tem_trans_banco = false;
}

$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function delete_fiche_materio($code_fp){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
		/**
	 * Supprimer une fiche
	 */


	$update_table  = 'fiche_materio';      // Table name
	$update_where  = "code_fiche = '$code_fp'"; // Where clause
	$update_fields = array(   // Field list, add as many as needed
		 "deleted = 'O'",

	 );

	$update_sql = 'UPDATE ' . $update_table
		. ' SET '   . implode(', ', $update_fields)
		. ' WHERE ' . $update_where;
	
	
	
	if (strpos(strtolower($this->Ini->nm_tpbanco), "access") === false && !$this->Ini->sc_tem_trans_banco)
{
    $this->Db->BeginTrans();
    $this->Ini->sc_tem_trans_banco = true;
}

	
	
     $nm_select = $update_sql; 
         $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select;
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
         $rf = $this->Db->Execute($nm_select);
         if ($rf === false)
         {
             $this->Erro->mensagem (__FILE__, __LINE__, "banco", $this->Ini->Nm_lang['lang_errm_dber'], $this->Db->ErrorMsg());
             if ($this->Ini->sc_tem_trans_banco)
             {
                 $this->Db->RollbackTrans(); 
                 $this->Ini->sc_tem_trans_banco = false;
             }
             exit;
         }
         $rf->Close();
      
	
	if ($this->Ini->sc_tem_trans_banco)
{
    $this->Db->CommitTrans();
    $this->Ini->sc_tem_trans_banco = false;
}

$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function restore_fiche_materio($code_fp){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
		/**
	 * Restaurer une fiche
	 */


	$update_table  = 'fiche_materio';      // Table name
	$update_where  = "code_fiche = '$code_fp'"; // Where clause
	$update_fields = array(   // Field list, add as many as needed
		 "deleted = 'N'",

	 );

	$update_sql = 'UPDATE ' . $update_table
		. ' SET '   . implode(', ', $update_fields)
		. ' WHERE ' . $update_where;
	
	
	if (strpos(strtolower($this->Ini->nm_tpbanco), "access") === false && !$this->Ini->sc_tem_trans_banco)
{
    $this->Db->BeginTrans();
    $this->Ini->sc_tem_trans_banco = true;
}

	
	
     $nm_select = $update_sql; 
         $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select;
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
         $rf = $this->Db->Execute($nm_select);
         if ($rf === false)
         {
             $this->Erro->mensagem (__FILE__, __LINE__, "banco", $this->Ini->Nm_lang['lang_errm_dber'], $this->Db->ErrorMsg());
             if ($this->Ini->sc_tem_trans_banco)
             {
                 $this->Db->RollbackTrans(); 
                 $this->Ini->sc_tem_trans_banco = false;
             }
             exit;
         }
         $rf->Close();
      
	
	if ($this->Ini->sc_tem_trans_banco)
{
    $this->Db->CommitTrans();
    $this->Ini->sc_tem_trans_banco = false;
}

$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function delete_fiche_vaccino($code_fp){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
		/**
	 * Supprimer une fiche
	 */


	$update_table  = 'fiche_vaccino';      // Table name
	$update_where  = "code_fiche = '$code_fp'"; // Where clause
	$update_fields = array(   // Field list, add as many as needed
		 "deleted = 'O'",

	 );

	$update_sql = 'UPDATE ' . $update_table
		. ' SET '   . implode(', ', $update_fields)
		. ' WHERE ' . $update_where;
	
	
	
	if (strpos(strtolower($this->Ini->nm_tpbanco), "access") === false && !$this->Ini->sc_tem_trans_banco)
{
    $this->Db->BeginTrans();
    $this->Ini->sc_tem_trans_banco = true;
}

	
	
     $nm_select = $update_sql; 
         $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select;
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
         $rf = $this->Db->Execute($nm_select);
         if ($rf === false)
         {
             $this->Erro->mensagem (__FILE__, __LINE__, "banco", $this->Ini->Nm_lang['lang_errm_dber'], $this->Db->ErrorMsg());
             if ($this->Ini->sc_tem_trans_banco)
             {
                 $this->Db->RollbackTrans(); 
                 $this->Ini->sc_tem_trans_banco = false;
             }
             exit;
         }
         $rf->Close();
      
	
	if ($this->Ini->sc_tem_trans_banco)
{
    $this->Db->CommitTrans();
    $this->Ini->sc_tem_trans_banco = false;
}

$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'off';
}
function restore_fiche_vaccino($code_fp){
$_SESSION['scriptcase']['grid_fiche_citoyen_recues']['contr_erro'] = 'on';
  
	
		/**
	 * Restaurer une fiche
	 */


	$update_table  = 'fiche_vaccino';      // Table name
	$update_where  = "code_fiche = '$code_fp'"; // Where clause
	$update_fields = array(   // Field list, add as many as needed
		 "deleted = 'N'",

	 );

	$update_sql = 'UPDATE ' . $update_table
		. ' SET '   . implode(', ', $update_fields)
		. ' WHERE ' . $update_where;
	
	
	if (strpos(strtolower($this->Ini->nm_tpbanco), "access") === false && !$this->Ini->sc_tem_trans_banco)
{
    $this->Db->BeginTrans();
    $this->Ini->sc_tem_trans_banco = true;
}

	
	
     $nm_select = $update_sql; 
         $_SESSION['scriptcase']['sc_sql_ult_comando'] = $nm_select;
      $_SESSION['scriptcase']['sc_sql_ult_conexao'] = ''; 
         $rf = $this->Db->Execute($nm_select);
         if ($rf === false)
         {
             $this->Erro->mensagem (__FILE__, __LINE__, "banco", $this->Ini->Nm_lang['lang_errm_dber'], $this->Db->ErrorMsg());
             if ($this->Ini->sc_tem_trans_banco)
             {
                 $this->Db->RollbackTrans(); 
                 $this->Ini->sc_tem_trans_banco = false;
             }
             exit;
         }
         $rf->Close();
      
	
	if ($this->Ini->sc_tem_trans_banco)
{
    $this->Db->CommitTrans();
    $this->Ini->sc_tem_trans_banco = false;
}

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

?>
