<?php

class grid_fgstock_xml
{
   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 grid_fgstock_xml()
   {
      $this->nm_data   = new nm_data("en_us");
   }

   //---- 
   function monta_xml()
   {
      $this->inicializa_vars();
      $this->grava_arquivo();
      $this->monta_html();
   }

   //----- 
   function inicializa_vars()
   {
      global $nm_lang;
      $dir_raiz          = strrpos($_SERVER['PHP_SELF'],"/") ;  
      $dir_raiz          = substr($_SERVER['PHP_SELF'], 0, $dir_raiz + 1) ;  
      $this->nm_location = $this->Ini->sc_protocolo . $this->Ini->server . $dir_raiz; 
      $this->nm_data    = new nm_data("en_us");
      $this->arquivo      = "sc_xml";
      $this->arquivo     .= "_" . date("YmdHis") . "_" . rand(0, 1000);
      $this->arquivo     .= "_grid_fgstock";
      $this->arquivo_view = $this->arquivo . "_view.xml";
      $this->arquivo     .= ".xml";
      $this->tit_doc      = "grid_fgstock.xml";
      $this->Grava_view   = false;
      if (strtolower($_SESSION['scriptcase']['charset']) != strtolower($_SESSION['scriptcase']['charset_html']))
      {
          $this->Grava_view = true;
      }
   }

   //----- 
   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_fgstock']['field_display']) && !empty($_SESSION['scriptcase']['sc_apl_conf']['grid_fgstock']['field_display']))
      {
          foreach ($_SESSION['scriptcase']['sc_apl_conf']['grid_fgstock']['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_fgstock']['usr_cmp_sel']) && !empty($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fgstock']['usr_cmp_sel']))
      {
          foreach ($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fgstock']['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_fgstock']['php_cmp_sel']) && !empty($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fgstock']['php_cmp_sel']))
      {
          foreach ($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fgstock']['php_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_fgstock']['campos_busca']) && !empty($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fgstock']['campos_busca']))
      { 
          $this->invoice = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fgstock']['campos_busca']['invoice']; 
          $tmp_pos = strpos($this->invoice, "##@@");
          if ($tmp_pos !== false)
          {
              $this->invoice = substr($this->invoice, 0, $tmp_pos);
          }
          $this->p_o_number = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fgstock']['campos_busca']['p_o_number']; 
          $tmp_pos = strpos($this->p_o_number, "##@@");
          if ($tmp_pos !== false)
          {
              $this->p_o_number = substr($this->p_o_number, 0, $tmp_pos);
          }
          $this->dye_lot = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fgstock']['campos_busca']['dye_lot']; 
          $tmp_pos = strpos($this->dye_lot, "##@@");
          if ($tmp_pos !== false)
          {
              $this->dye_lot = substr($this->dye_lot, 0, $tmp_pos);
          }
          $this->open = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fgstock']['campos_busca']['open']; 
          $tmp_pos = strpos($this->open, "##@@");
          if ($tmp_pos !== false)
          {
              $this->open = substr($this->open, 0, $tmp_pos);
          }
      } 
      $this->nm_field_dinamico = array();
      $this->nm_order_dinamico = array();
      $this->sc_where_orig   = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fgstock']['where_orig'];
      $this->sc_where_atual  = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fgstock']['where_pesq'];
      $this->sc_where_filtro = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fgstock']['where_pesq_filtro'];
      if (isset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fgstock']['xml_name']))
      {
          $this->arquivo = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fgstock']['xml_name'];
          $this->tit_doc = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fgstock']['xml_name'];
          unset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fgstock']['xml_name']);
      }
      if (!$this->Grava_view)
      {
          $this->arquivo_view = $this->arquivo;
      }
      if (in_array(strtolower($this->Ini->nm_tpbanco), $this->Ini->nm_bases_sybase))
      { 
          $nmgp_select = "SELECT INVOICE, P_O_NUMBER, DYE_LOT, LOCATION, STYLE, COLOR, COLOR_NO, WIDTH, DESCRIPTIO, YARDS_RECD, SHIPPED, WASTE, OPEN, SELL_AT, FINISH, OTHER_LOT, COST, AMOUNT, TRANS, ALO, FIN_NO, PUTUP, RELEASED, GROSS, TARE, NET, CYARDS, RCOUNT, ESTNET, NONETCT from " . $this->Ini->nm_tabela; 
      } 
      elseif (in_array(strtolower($this->Ini->nm_tpbanco), $this->Ini->nm_bases_mysql))
      { 
          $nmgp_select = "SELECT INVOICE, P_O_NUMBER, DYE_LOT, LOCATION, STYLE, COLOR, COLOR_NO, WIDTH, DESCRIPTIO, YARDS_RECD, SHIPPED, WASTE, OPEN, SELL_AT, FINISH, OTHER_LOT, COST, AMOUNT, TRANS, ALO, FIN_NO, PUTUP, RELEASED, GROSS, TARE, NET, CYARDS, RCOUNT, ESTNET, NONETCT from " . $this->Ini->nm_tabela; 
      } 
      elseif (in_array(strtolower($this->Ini->nm_tpbanco), $this->Ini->nm_bases_mssql))
      { 
       $nmgp_select = "SELECT INVOICE, P_O_NUMBER, DYE_LOT, LOCATION, STYLE, COLOR, COLOR_NO, WIDTH, DESCRIPTIO, YARDS_RECD, SHIPPED, WASTE, OPEN, SELL_AT, FINISH, OTHER_LOT, COST, AMOUNT, TRANS, ALO, FIN_NO, PUTUP, RELEASED, GROSS, TARE, NET, CYARDS, RCOUNT, ESTNET, NONETCT from " . $this->Ini->nm_tabela; 
      } 
      elseif (in_array(strtolower($this->Ini->nm_tpbanco), $this->Ini->nm_bases_oracle))
      { 
          $nmgp_select = "SELECT INVOICE, P_O_NUMBER, DYE_LOT, LOCATION, STYLE, COLOR, COLOR_NO, WIDTH, DESCRIPTIO, YARDS_RECD, SHIPPED, WASTE, OPEN, SELL_AT, FINISH, OTHER_LOT, COST, AMOUNT, TRANS, ALO, FIN_NO, PUTUP, RELEASED, GROSS, TARE, NET, CYARDS, RCOUNT, ESTNET, NONETCT from " . $this->Ini->nm_tabela; 
      } 
      elseif (in_array(strtolower($this->Ini->nm_tpbanco), $this->Ini->nm_bases_informix))
      { 
          $nmgp_select = "SELECT INVOICE, P_O_NUMBER, DYE_LOT, LOCATION, STYLE, COLOR, COLOR_NO, WIDTH, DESCRIPTIO, YARDS_RECD, SHIPPED, WASTE, OPEN, SELL_AT, FINISH, OTHER_LOT, COST, AMOUNT, TRANS, ALO, FIN_NO, PUTUP, RELEASED, GROSS, TARE, NET, CYARDS, RCOUNT, ESTNET, NONETCT from " . $this->Ini->nm_tabela; 
      } 
      else 
      { 
          $nmgp_select = "SELECT INVOICE, P_O_NUMBER, DYE_LOT, LOCATION, STYLE, COLOR, COLOR_NO, WIDTH, DESCRIPTIO, YARDS_RECD, SHIPPED, WASTE, OPEN, SELL_AT, FINISH, OTHER_LOT, COST, AMOUNT, TRANS, ALO, FIN_NO, PUTUP, RELEASED, GROSS, TARE, NET, CYARDS, RCOUNT, ESTNET, NONETCT from " . $this->Ini->nm_tabela; 
      } 
      $nmgp_select .= " " . $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fgstock']['where_pesq'];
      $nmgp_order_by = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fgstock']['order_grid'];
      $nmgp_select .= $nmgp_order_by; 
      $_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;
      }

      $xml_charset = $_SESSION['scriptcase']['charset'];
      $xml_f = fopen($this->Ini->root . $this->Ini->path_imag_temp . "/" . $this->arquivo, "w");
      fwrite($xml_f, "<?xml version=\"1.0\" encoding=\"$xml_charset\" ?>\r\n");
      fwrite($xml_f, "<root>\r\n");
      if ($this->Grava_view)
      {
          $xml_charset_v = $_SESSION['scriptcase']['charset_html'];
          $xml_v         = fopen($this->Ini->root . $this->Ini->path_imag_temp . "/" . $this->arquivo_view, "w");
          fwrite($xml_v, "<?xml version=\"1.0\" encoding=\"$xml_charset_v\" ?>\r\n");
          fwrite($xml_v, "<root>\r\n");
      }
      while (!$rs->EOF)
      {
         $this->xml_registro = "<grid_fgstock";
         $this->invoice = $rs->fields[0] ;  
         $this->p_o_number = $rs->fields[1] ;  
         $this->dye_lot = $rs->fields[2] ;  
         $this->location = $rs->fields[3] ;  
         $this->style = $rs->fields[4] ;  
         $this->color = $rs->fields[5] ;  
         $this->color_no = $rs->fields[6] ;  
         $this->width = $rs->fields[7] ;  
         $this->descriptio = $rs->fields[8] ;  
         $this->yards_recd = $rs->fields[9] ;  
         $this->yards_recd = (strpos(strtolower($this->yards_recd), "e")) ? (float)$this->yards_recd : $this->yards_recd; 
         $this->yards_recd = (string)$this->yards_recd;
         $this->shipped = $rs->fields[10] ;  
         $this->shipped = (strpos(strtolower($this->shipped), "e")) ? (float)$this->shipped : $this->shipped; 
         $this->shipped = (string)$this->shipped;
         $this->waste = $rs->fields[11] ;  
         $this->waste = (strpos(strtolower($this->waste), "e")) ? (float)$this->waste : $this->waste; 
         $this->waste = (string)$this->waste;
         $this->open = $rs->fields[12] ;  
         $this->open = (strpos(strtolower($this->open), "e")) ? (float)$this->open : $this->open; 
         $this->open = (string)$this->open;
         $this->sell_at = $rs->fields[13] ;  
         $this->finish = $rs->fields[14] ;  
         $this->other_lot = $rs->fields[15] ;  
         $this->cost = $rs->fields[16] ;  
         $this->cost = (strpos(strtolower($this->cost), "e")) ? (float)$this->cost : $this->cost; 
         $this->cost = (string)$this->cost;
         $this->amount = $rs->fields[17] ;  
         $this->amount =  str_replace(",", ".", $this->amount);
         $this->amount = (strpos(strtolower($this->amount), "e")) ? (float)$this->amount : $this->amount; 
         $this->amount = (string)$this->amount;
         $this->trans = $rs->fields[18] ;  
         $this->alo = $rs->fields[19] ;  
         $this->alo = (strpos(strtolower($this->alo), "e")) ? (float)$this->alo : $this->alo; 
         $this->alo = (string)$this->alo;
         $this->fin_no = $rs->fields[20] ;  
         $this->putup = $rs->fields[21] ;  
         $this->released = $rs->fields[22] ;  
         $this->released = (string)$this->released;
         $this->gross = $rs->fields[23] ;  
         $this->gross = (string)$this->gross;
         $this->tare = $rs->fields[24] ;  
         $this->tare = (string)$this->tare;
         $this->net = $rs->fields[25] ;  
         $this->net = (string)$this->net;
         $this->cyards = $rs->fields[26] ;  
         $this->cyards = (strpos(strtolower($this->cyards), "e")) ? (float)$this->cyards : $this->cyards; 
         $this->cyards = (string)$this->cyards;
         $this->rcount = $rs->fields[27] ;  
         $this->rcount = (string)$this->rcount;
         $this->estnet = $rs->fields[28] ;  
         $this->estnet = (string)$this->estnet;
         $this->nonetct = $rs->fields[29] ;  
         $this->nonetct = (string)$this->nonetct;
         $this->sc_proc_grid = true; 
         foreach ($_SESSION['sc_session'][$this->Ini->sc_page]['grid_fgstock']['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->xml_registro .= " />\r\n";
         fwrite($xml_f, $this->xml_registro);
         if ($this->Grava_view)
         {
            fwrite($xml_v, $this->xml_registro);
         }
         $rs->MoveNext();
      }
      fwrite($xml_f, "</root>");
      fclose($xml_f);
      if ($this->Grava_view)
      {
         fwrite($xml_v, "</root>");
         fclose($xml_v);
      }

      $rs->Close();
   }
   //----- invoice
   function NM_export_invoice()
   {
         if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->invoice))
         {
             $this->invoice = mb_convert_encoding($this->invoice, "UTF-8");
         }
         $this->xml_registro .= " invoice =\"" . $this->trata_dados($this->invoice) . "\"";
   }
   //----- p_o_number
   function NM_export_p_o_number()
   {
         if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->p_o_number))
         {
             $this->p_o_number = mb_convert_encoding($this->p_o_number, "UTF-8");
         }
         $this->xml_registro .= " p_o_number =\"" . $this->trata_dados($this->p_o_number) . "\"";
   }
   //----- dye_lot
   function NM_export_dye_lot()
   {
         if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->dye_lot))
         {
             $this->dye_lot = mb_convert_encoding($this->dye_lot, "UTF-8");
         }
         $this->xml_registro .= " dye_lot =\"" . $this->trata_dados($this->dye_lot) . "\"";
   }
   //----- location
   function NM_export_location()
   {
         if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->location))
         {
             $this->location = mb_convert_encoding($this->location, "UTF-8");
         }
         $this->xml_registro .= " location =\"" . $this->trata_dados($this->location) . "\"";
   }
   //----- style
   function NM_export_style()
   {
         if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->style))
         {
             $this->style = mb_convert_encoding($this->style, "UTF-8");
         }
         $this->xml_registro .= " style =\"" . $this->trata_dados($this->style) . "\"";
   }
   //----- color
   function NM_export_color()
   {
         if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->color))
         {
             $this->color = mb_convert_encoding($this->color, "UTF-8");
         }
         $this->xml_registro .= " color =\"" . $this->trata_dados($this->color) . "\"";
   }
   //----- color_no
   function NM_export_color_no()
   {
         if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->color_no))
         {
             $this->color_no = mb_convert_encoding($this->color_no, "UTF-8");
         }
         $this->xml_registro .= " color_no =\"" . $this->trata_dados($this->color_no) . "\"";
   }
   //----- width
   function NM_export_width()
   {
         if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->width))
         {
             $this->width = mb_convert_encoding($this->width, "UTF-8");
         }
         $this->xml_registro .= " width =\"" . $this->trata_dados($this->width) . "\"";
   }
   //----- descriptio
   function NM_export_descriptio()
   {
         if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->descriptio))
         {
             $this->descriptio = mb_convert_encoding($this->descriptio, "UTF-8");
         }
         $this->xml_registro .= " descriptio =\"" . $this->trata_dados($this->descriptio) . "\"";
   }
   //----- yards_recd
   function NM_export_yards_recd()
   {
         nmgp_Form_Num_Val($this->yards_recd, $_SESSION['scriptcase']['reg_conf']['grup_num'], $_SESSION['scriptcase']['reg_conf']['dec_num'], "3", "S", "2", "", "N:" . $_SESSION['scriptcase']['reg_conf']['neg_num'], $_SESSION['scriptcase']['reg_conf']['simb_neg'], $_SESSION['scriptcase']['reg_conf']['num_group_digit']) ; 
         if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->yards_recd))
         {
             $this->yards_recd = mb_convert_encoding($this->yards_recd, "UTF-8");
         }
         $this->xml_registro .= " yards_recd =\"" . $this->trata_dados($this->yards_recd) . "\"";
   }
   //----- shipped
   function NM_export_shipped()
   {
         nmgp_Form_Num_Val($this->shipped, $_SESSION['scriptcase']['reg_conf']['grup_num'], $_SESSION['scriptcase']['reg_conf']['dec_num'], "3", "S", "2", "", "N:" . $_SESSION['scriptcase']['reg_conf']['neg_num'], $_SESSION['scriptcase']['reg_conf']['simb_neg'], $_SESSION['scriptcase']['reg_conf']['num_group_digit']) ; 
         if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->shipped))
         {
             $this->shipped = mb_convert_encoding($this->shipped, "UTF-8");
         }
         $this->xml_registro .= " shipped =\"" . $this->trata_dados($this->shipped) . "\"";
   }
   //----- waste
   function NM_export_waste()
   {
         nmgp_Form_Num_Val($this->waste, $_SESSION['scriptcase']['reg_conf']['grup_num'], $_SESSION['scriptcase']['reg_conf']['dec_num'], "3", "S", "2", "", "N:" . $_SESSION['scriptcase']['reg_conf']['neg_num'], $_SESSION['scriptcase']['reg_conf']['simb_neg'], $_SESSION['scriptcase']['reg_conf']['num_group_digit']) ; 
         if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->waste))
         {
             $this->waste = mb_convert_encoding($this->waste, "UTF-8");
         }
         $this->xml_registro .= " waste =\"" . $this->trata_dados($this->waste) . "\"";
   }
   //----- open
   function NM_export_open()
   {
         nmgp_Form_Num_Val($this->open, $_SESSION['scriptcase']['reg_conf']['grup_num'], $_SESSION['scriptcase']['reg_conf']['dec_num'], "3", "S", "2", "", "N:" . $_SESSION['scriptcase']['reg_conf']['neg_num'], $_SESSION['scriptcase']['reg_conf']['simb_neg'], $_SESSION['scriptcase']['reg_conf']['num_group_digit']) ; 
         if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->open))
         {
             $this->open = mb_convert_encoding($this->open, "UTF-8");
         }
         $this->xml_registro .= " open =\"" . $this->trata_dados($this->open) . "\"";
   }
   //----- sell_at
   function NM_export_sell_at()
   {
         if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->sell_at))
         {
             $this->sell_at = mb_convert_encoding($this->sell_at, "UTF-8");
         }
         $this->xml_registro .= " sell_at =\"" . $this->trata_dados($this->sell_at) . "\"";
   }
   //----- finish
   function NM_export_finish()
   {
         if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->finish))
         {
             $this->finish = mb_convert_encoding($this->finish, "UTF-8");
         }
         $this->xml_registro .= " finish =\"" . $this->trata_dados($this->finish) . "\"";
   }
   //----- other_lot
   function NM_export_other_lot()
   {
         if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->other_lot))
         {
             $this->other_lot = mb_convert_encoding($this->other_lot, "UTF-8");
         }
         $this->xml_registro .= " other_lot =\"" . $this->trata_dados($this->other_lot) . "\"";
   }
   //----- cost
   function NM_export_cost()
   {
         nmgp_Form_Num_Val($this->cost, $_SESSION['scriptcase']['reg_conf']['grup_num'], $_SESSION['scriptcase']['reg_conf']['dec_num'], "3", "S", "2", "", "N:" . $_SESSION['scriptcase']['reg_conf']['neg_num'], $_SESSION['scriptcase']['reg_conf']['simb_neg'], $_SESSION['scriptcase']['reg_conf']['num_group_digit']) ; 
         if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->cost))
         {
             $this->cost = mb_convert_encoding($this->cost, "UTF-8");
         }
         $this->xml_registro .= " cost =\"" . $this->trata_dados($this->cost) . "\"";
   }
   //----- amount
   function NM_export_amount()
   {
         nmgp_Form_Num_Val($this->amount, $_SESSION['scriptcase']['reg_conf']['grup_val'], $_SESSION['scriptcase']['reg_conf']['dec_val'], "2", "S", "2", "", "V:" . $_SESSION['scriptcase']['reg_conf']['monet_f_pos'] . ":" . $_SESSION['scriptcase']['reg_conf']['monet_f_neg'], $_SESSION['scriptcase']['reg_conf']['simb_neg'], $_SESSION['scriptcase']['reg_conf']['unid_mont_group_digit']) ; 
         if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->amount))
         {
             $this->amount = mb_convert_encoding($this->amount, "UTF-8");
         }
         $this->xml_registro .= " amount =\"" . $this->trata_dados($this->amount) . "\"";
   }
   //----- trans
   function NM_export_trans()
   {
         if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->trans))
         {
             $this->trans = mb_convert_encoding($this->trans, "UTF-8");
         }
         $this->xml_registro .= " trans =\"" . $this->trata_dados($this->trans) . "\"";
   }
   //----- alo
   function NM_export_alo()
   {
         nmgp_Form_Num_Val($this->alo, $_SESSION['scriptcase']['reg_conf']['grup_num'], $_SESSION['scriptcase']['reg_conf']['dec_num'], "3", "S", "2", "", "N:" . $_SESSION['scriptcase']['reg_conf']['neg_num'], $_SESSION['scriptcase']['reg_conf']['simb_neg'], $_SESSION['scriptcase']['reg_conf']['num_group_digit']) ; 
         if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->alo))
         {
             $this->alo = mb_convert_encoding($this->alo, "UTF-8");
         }
         $this->xml_registro .= " alo =\"" . $this->trata_dados($this->alo) . "\"";
   }
   //----- fin_no
   function NM_export_fin_no()
   {
         if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->fin_no))
         {
             $this->fin_no = mb_convert_encoding($this->fin_no, "UTF-8");
         }
         $this->xml_registro .= " fin_no =\"" . $this->trata_dados($this->fin_no) . "\"";
   }
   //----- putup
   function NM_export_putup()
   {
         if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->putup))
         {
             $this->putup = mb_convert_encoding($this->putup, "UTF-8");
         }
         $this->xml_registro .= " putup =\"" . $this->trata_dados($this->putup) . "\"";
   }
   //----- released
   function NM_export_released()
   {
         nmgp_Form_Num_Val($this->released, $_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 ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->released))
         {
             $this->released = mb_convert_encoding($this->released, "UTF-8");
         }
         $this->xml_registro .= " released =\"" . $this->trata_dados($this->released) . "\"";
   }
   //----- gross
   function NM_export_gross()
   {
         nmgp_Form_Num_Val($this->gross, $_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 ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->gross))
         {
             $this->gross = mb_convert_encoding($this->gross, "UTF-8");
         }
         $this->xml_registro .= " gross =\"" . $this->trata_dados($this->gross) . "\"";
   }
   //----- tare
   function NM_export_tare()
   {
         nmgp_Form_Num_Val($this->tare, $_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 ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->tare))
         {
             $this->tare = mb_convert_encoding($this->tare, "UTF-8");
         }
         $this->xml_registro .= " tare =\"" . $this->trata_dados($this->tare) . "\"";
   }
   //----- net
   function NM_export_net()
   {
         nmgp_Form_Num_Val($this->net, $_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 ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->net))
         {
             $this->net = mb_convert_encoding($this->net, "UTF-8");
         }
         $this->xml_registro .= " net =\"" . $this->trata_dados($this->net) . "\"";
   }
   //----- cyards
   function NM_export_cyards()
   {
         nmgp_Form_Num_Val($this->cyards, $_SESSION['scriptcase']['reg_conf']['grup_num'], $_SESSION['scriptcase']['reg_conf']['dec_num'], "3", "S", "2", "", "N:" . $_SESSION['scriptcase']['reg_conf']['neg_num'], $_SESSION['scriptcase']['reg_conf']['simb_neg'], $_SESSION['scriptcase']['reg_conf']['num_group_digit']) ; 
         if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->cyards))
         {
             $this->cyards = mb_convert_encoding($this->cyards, "UTF-8");
         }
         $this->xml_registro .= " cyards =\"" . $this->trata_dados($this->cyards) . "\"";
   }
   //----- rcount
   function NM_export_rcount()
   {
         nmgp_Form_Num_Val($this->rcount, $_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 ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->rcount))
         {
             $this->rcount = mb_convert_encoding($this->rcount, "UTF-8");
         }
         $this->xml_registro .= " rcount =\"" . $this->trata_dados($this->rcount) . "\"";
   }
   //----- estnet
   function NM_export_estnet()
   {
         nmgp_Form_Num_Val($this->estnet, $_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 ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->estnet))
         {
             $this->estnet = mb_convert_encoding($this->estnet, "UTF-8");
         }
         $this->xml_registro .= " estnet =\"" . $this->trata_dados($this->estnet) . "\"";
   }
   //----- nonetct
   function NM_export_nonetct()
   {
         nmgp_Form_Num_Val($this->nonetct, $_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 ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->nonetct))
         {
             $this->nonetct = mb_convert_encoding($this->nonetct, "UTF-8");
         }
         $this->xml_registro .= " nonetct =\"" . $this->trata_dados($this->nonetct) . "\"";
   }

   //----- 
   function trata_dados($conteudo)
   {
      $str_temp =  $conteudo;
      $str_temp =  str_replace("<br />", "",  $str_temp);
      $str_temp =  str_replace("&", "&amp;",  $str_temp);
      $str_temp =  str_replace("<", "&lt;",   $str_temp);
      $str_temp =  str_replace(">", "&gt;",   $str_temp);
      $str_temp =  str_replace("'", "&apos;", $str_temp);
      $str_temp =  str_replace('"', "&quot;",  $str_temp);
      $str_temp =  str_replace('(', "_",  $str_temp);
      $str_temp =  str_replace(')', "",  $str_temp);
      return ($str_temp);
   }

   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";
       }
       nm_conv_form_data($dt_out, $form_in, $form_out);
       return $dt_out;
   }
   //---- 
   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_fgstock']['xml_file']);
      if (is_file($this->Ini->root . $this->Ini->path_imag_temp . "/" . $this->arquivo))
      {
          $_SESSION['sc_session'][$this->Ini->sc_page]['grid_fgstock']['xml_file'] = $this->Ini->root . $this->Ini->path_imag_temp . "/" . $this->arquivo;
      }
?>
<!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><?php echo $this->Ini->Nm_lang['lang_othr_grid_titl'] ?> - fgstock :: XML</TITLE>
 <META http-equiv="Content-Type" content="text/html; charset=<?php echo $_SESSION['scriptcase']['charset_html'] ?>" />
 <META http-equiv="Expires" content="Fri, Jan 01 1900 00:00:00 GMT"/>
 <META http-equiv="Last-Modified" content="<?php echo gmdate("D, d M Y H:i:s"); ?> GMT"/>
 <META http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate"/>
 <META http-equiv="Cache-Control" content="post-check=0, pre-check=0"/>
 <META http-equiv="Pragma" content="no-cache"/>
  <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/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">XML</td>
  </tr>
  <tr>
   <td class="scExportLine" style="width: 100%">
    <table style="border-collapse: collapse; border-width: 0; width: 100%"><tr><td class="scExportLineFont" style="padding: 3px 0 0 0" id="idMessage">
    <?php echo $this->Ini->Nm_lang['lang_othr_file_msge'] ?>
    </td><td class="scExportLineFont" style="text-align:right; padding: 3px 0 0 0">
     <?php echo nmButtonOutput($this->arr_buttons, "bexportview", "document.Fview.submit()", "document.Fview.submit()", "idBtnView", "", "", "", "", "", "", $this->Ini->path_botoes, "", "", "", "", "", "only_text", "text_right", "", "");
 ?>
     <?php echo nmButtonOutput($this->arr_buttons, "bdownload", "document.Fdown.submit()", "document.Fdown.submit()", "idBtnDown", "", "", "", "", "", "", $this->Ini->path_botoes, "", "", "", "", "", "only_text", "text_right", "", "");
 ?>
     <?php echo nmButtonOutput($this->arr_buttons, "bvoltar", "document.F0.submit()", "document.F0.submit()", "idBtnBack", "", "", "", "", "", "", $this->Ini->path_botoes, "", "", "", "", "", "only_text", "text_right", "", "");
 ?>
    </td></tr></table>
   </td>
  </tr>
 </table>
</td></tr></table>
<form name="Fview" method="get" action="<?php echo $this->Ini->path_imag_temp . "/" . $this->arquivo_view ?>" target="_blank" style="display: none"> 
</form>
<form name="Fdown" method="get" action="grid_fgstock_download.php" target="_blank" style="display: none"> 
<input type="hidden" name="nm_tit_doc" value="<?php echo NM_encode_input($this->tit_doc); ?>"> 
<input type="hidden" name="nm_name_doc" value="<?php echo NM_encode_input($this->Ini->path_imag_temp . "/" . $this->arquivo) ?>"> 
</form>
<FORM name="F0" method=post action="./" style="display: none"> 
<INPUT type="hidden" name="script_case_init" value="<?php echo NM_encode_input($this->Ini->sc_page); ?>"> 
<INPUT type="hidden" name="script_case_session" value="<?php echo NM_encode_input(session_id()); ?>"> 
<INPUT type="hidden" name="nmgp_opcao" value="volta_grid"> 
</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 = "";
      $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 ($cont2 >= $tam_campo)
              {
                  $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 = $trab_saida;
          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 = $trab_saida;
   } 
}

?>
