nm_data = new nm_data("pt_br"); } //---- function monta_xml() { $this->inicializa_vars(); $this->grava_arquivo(); if (isset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao']['xml_res_grid'])) { return; } if ($this->Ini->sc_export_ajax) { $this->Arr_result['file_export'] = NM_charset_to_utf8($this->Xml_f); $this->Arr_result['title_export'] = NM_charset_to_utf8($this->Tit_doc); $Temp = ob_get_clean(); $oJson = new Services_JSON(); echo $oJson->encode($this->Arr_result); exit; } else { $this->progress_bar_end(); } } //----- function inicializa_vars() { $dir_raiz = strrpos($_SERVER['PHP_SELF'],"/") ; $dir_raiz = substr($_SERVER['PHP_SELF'], 0, $dir_raiz + 1) ; $this->New_Format = true; $this->Xml_password = ""; if (isset($_REQUEST['nm_xml_tag']) && !empty($_REQUEST['nm_xml_tag'])) { $this->New_Format = ($_REQUEST['nm_xml_tag'] == "tag") ? true : false; } $this->nm_location = $this->Ini->sc_protocolo . $this->Ini->server . $dir_raiz; require_once($this->Ini->path_aplicacao . $this->Ini->Apl_resumo); $this->array_titulos = array(); $this->array_linhas = array(); $this->campo_titulo = array(); $this->nm_data = new nm_data("pt_br"); $this->Arquivo = "sc_xml"; $this->Arquivo .= "_" . date('YmdHis') . "_" . rand(0, 1000); $this->Arq_zip = $this->Arquivo . "_grid_movimentacao.zip"; $this->Arquivo .= "_grid_movimentacao"; if (isset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao']['xml_res_grid'])) { $this->Arquivo .= "_" . $this->Ini->Nm_lang['lang_othr_smry_titl']; } $this->Arquivo_view = $this->Arquivo . "_view.xml"; $this->Arquivo .= ".xml"; $this->Tit_doc = "grid_movimentacao.xml"; $this->Tit_zip = "grid_movimentacao.zip"; $this->Grava_view = false; if (strtolower($_SESSION['scriptcase']['charset']) != strtolower($_SESSION['scriptcase']['charset_html'])) { $this->Grava_view = true; } if (isset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao']['xml_name'])) { $Pos = strrpos($_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao']['xml_name'], "."); if ($Pos === false) { $_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao']['xml_name'] .= ".xml"; } $this->Arquivo = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao']['xml_name']; $this->Arq_zip = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao']['xml_name']; $this->Tit_doc = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao']['xml_name']; $Pos = strrpos($_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao']['xml_name'], "."); if ($Pos !== false) { $this->Arq_zip = substr($_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao']['xml_name'], 0, $Pos); } $this->Arq_zip .= ".zip"; $this->Tit_zip = $this->Arq_zip; unset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao']['xml_name']); } if (!$this->Grava_view) { $this->Arquivo_view = $this->Arquivo; } $this->Res = new grid_movimentacao_resumo("out"); $this->prep_modulos("Res"); if (!isset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao']['xml_res_grid']) && !$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_movimentacao']['glo_nm_path_imag_temp'] . "/"); $this->pb->setProgressbarMd5($_GET['pbmd5']); $this->pb->initialize(); $this->pb->setReturnUrl("./"); $this->pb->setReturnOption($_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao']['xml_return']); $this->pb->setTotalSteps(100); $Mens_bar = $this->Ini->Nm_lang['lang_othr_prcs']; $Mens_smry = $this->Ini->Nm_lang['lang_othr_smry_titl']; if ($_SESSION['scriptcase']['charset'] != "UTF-8") { $Mens_bar = sc_convert_encoding($Mens_bar, "UTF-8", $_SESSION['scriptcase']['charset']); $Mens_smry = sc_convert_encoding($Mens_smry, "UTF-8", $_SESSION['scriptcase']['charset']); } $this->pb->setProgressbarMessage($Mens_bar . ": " . $Mens_smry); $this->pb->addSteps(50); } } //---- 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() { $xml_charset = $_SESSION['scriptcase']['charset']; $this->Xml_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; $xml_f = fopen($this->Ini->root . $this->Ini->path_imag_temp . "/" . $this->Arquivo, "w"); fwrite($xml_f, "\r\n"); fwrite($xml_f, "\r\n"); if ($this->New_Format) { fwrite($xml_f, "\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, "\r\n"); fwrite($xml_v, "\r\n"); if ($this->New_Format) { fwrite($xml_v, "\r\n"); } } $this->Res->resumo_export(); if (!isset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao']['xml_res_grid']) && !$this->Ini->sc_export_ajax) { $Mens_bar = $this->Ini->Nm_lang['lang_othr_prcs']; $Mens_smry = $this->Ini->Nm_lang['lang_othr_smry_titl']; if ($_SESSION['scriptcase']['charset'] != "UTF-8") { $Mens_bar = sc_convert_encoding($Mens_bar, "UTF-8", $_SESSION['scriptcase']['charset']); $Mens_smry = sc_convert_encoding($Mens_smry, "UTF-8", $_SESSION['scriptcase']['charset']); } $this->pb->setProgressbarMessage($Mens_bar . ": " . $Mens_smry); $this->pb->addSteps(30); } $label_index = 'label'; if (isset($_REQUEST['nm_xml_label']) && 'N' == $_REQUEST['nm_xml_label']) { $label_index = 'field_name'; } $this->array_titulos = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao']['arr_export']['label']; $this->array_linhas = $_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao']['arr_export']['data']; $contr_rowspan = array(); $tit_rowspan = array(); foreach ($this->array_titulos as $lines) { $col = 0; foreach ($lines as $columns) { $col_ok = false; $colspan = (isset($columns['colspan']) && 1 < $columns['colspan']) ? $columns['colspan'] : 1; while (!$col_ok) { if (isset($contr_rowspan[$col]) && 1 < $contr_rowspan[$col]) { if (isset($this->campo_titulo[$col])) { $this->campo_titulo[$col] .= "_"; } $this->campo_titulo[$col] .= $tit_rowspan[$col]; $contr_rowspan[$col]--; $col++; } else { $col_ok = true; } } $col_t = $col; if (isset($columns['rowspan']) && 1 < $columns['rowspan']) { $contr_rowspan[$col] = $columns['rowspan']; for ($x = 0; $x < $colspan; $x++) { if (isset($tit_rowspan[$col_t])) { $tit_rowspan[$col_t] .= "_"; } $tit_rowspan[$col_t] .= $columns[$label_index]; $col_t++; } } for ($x = 0; $x < $colspan; $x++) { if (isset($this->campo_titulo[$col])) { $this->campo_titulo[$col] .= "_"; } $this->campo_titulo[$col] .= $columns[$label_index]; $col++; } } foreach ($contr_rowspan as $col_t => $row) { if ($col_t >= $col && $row > 1) { $contr_rowspan[$col]--; } } } foreach ($this->campo_titulo as $col => $titulo) { if ($_SESSION['scriptcase']['charset'] == "UTF-8" && !NM_is_utf8($this->campo_titulo[$col])) { $this->campo_titulo[$col] = sc_convert_encoding($this->campo_titulo[$col], "UTF-8", $_SESSION['scriptcase']['charset']); } } $this->grava_linha($xml_f); if ($this->New_Format) { fwrite($xml_f, "\r\n"); } fwrite($xml_f, ""); fclose($xml_f); if ($this->Grava_view) { $this->grava_linha($xml_v); if ($this->New_Format) { fwrite($xml_v, "\r\n"); } fwrite($xml_v, ""); fclose($xml_v); } if (isset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao']['xml_res_grid'])) { $_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao']['xml_res_file']['xml'] = $this->Xml_f; if ($this->Grava_view) { $_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao']['xml_res_file']['view'] = $this->Ini->root . $this->Ini->path_imag_temp . "/" . $this->Arquivo_view; } } elseif ($this->Xml_password != "") { $str_zip = ""; $Zip_f = (FALSE !== strpos($this->Zip_f, ' ')) ? " \"" . $this->Zip_f . "\"" : $this->Zip_f; $Arq_input = (FALSE !== strpos($this->Xml_f, ' ')) ? " \"" . $this->Xml_f . "\"" : $this->Xml_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 -P -j " . $this->Xml_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 -p" . $this->Xml_password . " a " . $Zip_f . " " . $Arq_input; } elseif (FALSE !== strpos(strtolower(php_uname()), 'darwin')) { chdir($this->Ini->path_third . "/zip/mac/bin"); $str_zip = "./7za -p" . $this->Xml_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->Xml_f = $this->Zip_f; $this->Tit_doc = $this->Tit_zip; if ($this->Grava_view) { $str_zip = ""; $xml_view_f = $this->Ini->root . $this->Ini->path_imag_temp . "/" . $this->Arquivo_view; $zip_view_f = str_replace(".zip", "_view.zip", $this->Zip_f); $zip_arq_v = str_replace(".zip", "_view.zip", $this->Arq_zip); $Zip_f = (FALSE !== strpos(\zip_view_f, ' ')) ? " \"" . \zip_view_f . "\"" : \zip_view_f; $Arq_input = (FALSE !== strpos($xml_view_f, ' ')) ? " \"" . $xml_view_f . "\"" : $xml_view_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 -P -j " . $this->Xml_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 -p" . $this->Xml_password . " a " . $Zip_f . " " . $Arq_input; } elseif (FALSE !== strpos(strtolower(php_uname()), 'darwin')) { chdir($this->Ini->path_third . "/zip/mac/bin"); $str_zip = "./7za -p" . $this->Xml_password . " a " . $Zip_f . " " . $Arq_input; } if (!empty($str_zip)) { exec($str_zip); } unlink($Arq_input); $this->Arquivo_view = $zip_arq_v; // ----- ZIP log $fp = @fopen(str_replace(".zip", ".log", $Zip_f), 'a'); if ($fp) { @fwrite($fp, $str_zip . "\r\n\r\n"); @fclose($fp); } } else { $this->Arquivo_view = $this->Arq_zip; } } } //----- function grava_linha($xml_f) { $contr_rowspan = ""; $tit_rowspan = ""; foreach ($this->array_linhas as $lines) { $col = 0; $lab = ""; $cmp = false; $xml_registro = ""; if (!$this->New_Format) { $xml_registro = " 1) { $contr_rowspan = $columns['rowspan']; $tit_rowspan = (!empty($tit_rowspan)) ? "_" . $cada_dado : $cada_dado; } else { $lab .= (empty($lab)) ? $cada_dado : "_" . $cada_dado; } } else { if (!$cmp) { if (!empty($contr_rowspan) && $contr_rowspan > 0) { $lab = $tit_rowspan . "_" . $lab; $contr_rowspan--; } $this->clear_tag($lab); if ($this->New_Format) { $xml_registro .= "<" . $lab . ">\r\n"; } else { $xml_registro .= " Campo=\"" . $lab . "\""; } $cmp = true; } $cada_dado = $columns['value']; if (is_array($cada_dado)) { $cada_dado = ""; } $cada_tit = $this->trata_dados($this->campo_titulo[$col]); $this->clear_tag($cada_tit); if ($this->New_Format) { $xml_registro .= " <" . $cada_tit . ">" . $cada_dado . "\r\n"; } else { $xml_registro .= " " . $cada_tit . "=\"" . $cada_dado . "\""; } $col++; } } if ($this->New_Format && $cmp) { $xml_registro .= "\r\n"; } if (!$this->New_Format) { $xml_registro .= " />\r\n"; } fwrite($xml_f, $xml_registro); } } //----- function trata_dados($conteudo) { $str_temp = $conteudo; $str_temp = str_replace("
", "", $str_temp); $str_temp = str_replace("&", "&", $str_temp); $str_temp = str_replace("<", "<", $str_temp); $str_temp = str_replace(">", ">", $str_temp); $str_temp = str_replace("'", "'", $str_temp); $str_temp = str_replace('"', """, $str_temp); $str_temp = str_replace('(', "_", $str_temp); $str_temp = str_replace(')', "", $str_temp); return ($str_temp); } function clear_tag(&$conteudo) { $out = (is_numeric(substr($conteudo, 0, 1)) || substr($conteudo, 0, 1) == "") ? "_" : ""; $str_temp = "abcdefghijklmnopqrstuvwxyz0123456789"; for ($i = 0; $i < strlen($conteudo); $i++) { $char = substr($conteudo, $i, 1); $ok = false; for ($z = 0; $z < strlen($str_temp); $z++) { if (strtolower($char) == substr($str_temp, $z, 1)) { $ok = true; break; } } $out .= ($ok) ? $char : "_"; } $conteudo = $out; } 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_movimentacao']['xml_file']); if (is_file($this->Ini->root . $this->Ini->path_imag_temp . "/" . $this->Arquivo)) { $_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao']['xml_file'] = $this->Ini->root . $this->Ini->path_imag_temp . "/" . $this->Arquivo; } $path_doc_md5 = md5($this->Ini->path_imag_temp . "/" . $this->Arquivo); $_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao'][$path_doc_md5][0] = $this->Ini->path_imag_temp . "/" . $this->Arquivo; $_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao'][$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; include($this->Ini->path_btn . $this->Ini->Str_btn_grid); unset($_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao']['xml_file']); if (is_file($this->Ini->root . $this->Ini->path_imag_temp . "/" . $this->Arquivo)) { $_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao']['xml_file'] = $this->Ini->root . $this->Ini->path_imag_temp . "/" . $this->Arquivo; } $path_doc_md5 = md5($this->Ini->path_imag_temp . "/" . $this->Arquivo); $_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao'][$path_doc_md5][0] = $this->Ini->path_imag_temp . "/" . $this->Arquivo; $_SESSION['sc_session'][$this->Ini->sc_page]['grid_movimentacao'][$path_doc_md5][1] = $this->Tit_doc; ?> > Movimentação :: XML GMT"/> Ini->str_google_fonts) && !empty($this->Ini->str_google_fonts)) { ?> Ini->Ajax_result_set ?>
XML
Ini->Nm_lang['lang_othr_file_msge'] ?> arr_buttons, "bexportview", "document.Fview.submit()", "document.Fview.submit()", "idBtnView", "", "", "", "", "", "", $this->Ini->path_botoes, "", "", "", "", "", "only_text", "text_right", "", "", "", "", "", "", ""); ?> arr_buttons, "bdownload", "document.Fdown.submit()", "document.Fdown.submit()", "idBtnDown", "", "", "", "", "", "", $this->Ini->path_botoes, "", "", "", "", "", "only_text", "text_right", "", "", "", "", "", "", ""); ?> arr_buttons, "bvoltar", "document.F0.submit()", "document.F0.submit()", "idBtnBack", "", "", "", "", "", "", $this->Ini->path_botoes, "", "", "", "", "", "only_text", "text_right", "", "", "", "", "", "", ""); ?>
Arquivo_view ?>" target="_blank" style="display: none">
' && substr($nm_campo, -6) == '') { $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 css_form() { $_SESSION['scriptcase']['grid_movimentacao']['contr_erro'] = 'on'; $aux = " "; return $aux; $_SESSION['scriptcase']['grid_movimentacao']['contr_erro'] = 'off'; } function css_grid() { $_SESSION['scriptcase']['grid_movimentacao']['contr_erro'] = 'on'; $aux = " "; return $aux; $_SESSION['scriptcase']['grid_movimentacao']['contr_erro'] = 'off'; } function css_filter() { $_SESSION['scriptcase']['grid_movimentacao']['contr_erro'] = 'on'; $aux = " "; return $aux; $_SESSION['scriptcase']['grid_movimentacao']['contr_erro'] = 'off'; } } ?>