source: pmb4.2/trunk/fuentes/pmb/admin/connecteurs/in/sync.inc.php @ 815

Last change on this file since 815 was 815, checked in by jrpelegrina, 4 years ago

Initial release of pmb 4.2

  • Property svn:executable set to *
File size: 5.2 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: sync.inc.php,v 1.12 2015-04-03 11:16:29 jpermanne Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9@set_time_limit(0);
10//@register_shutdown_function("cancel_sync");
11//ignore_user_abort(true);
12
13/*
14Cette page ne fait pas la synchro, elle génère une requete ajax qui elle la fera
15* */
16$conn->get_sources();
17print "<div style='width:710px'>
18<div class='row' style='text-align:center'><h3>".htmlentities($msg["connecteurs_sync_de"]." ".$conn->sources[$source_id]["NAME"],ENT_QUOTES,$charset)."</h3></div>
19<div class='row' style='border:#000000 1px solid;padding:4px'>
20<div class='row' style='text-align:center'>".htmlentities($msg["pbar_progress"],ENT_QUOTES,$charset)."<span id='percent'>0%</span></div>
21<div class='row' style='text-align:left'><img src='images/jauge.png' width='1%' height='16px' id='progress_bar'/><div class='row'>
22<div class='row' style='text-align:center'>".htmlentities($msg["connecteurs_sync_recu"],ENT_QUOTES,$charset)." : <span id='nlu'>&nbsp;</span>/".htmlentities($msg["connecteurs_sync_nbtotal"],ENT_QUOTES,$charset)." : <span id='ntotal'>&nbsp;</span><div class='row'>
23<div class='row' style='text-align:center' id='sync_message'></div>
24<div id='erreurpos'></div>
25</div>";
26
27//Vérification qu'il n'y a pas de synchronisation en cours...
28$is_already_sync=false;
29$recover_env="";
30$recover=false;
31$requete="select * from source_sync where source_id=$source_id";
32$resultat=pmb_mysql_query($requete);
33$env = array();
34
35if (pmb_mysql_num_rows($resultat)) {
36        $rs_s=pmb_mysql_fetch_object($resultat);
37        if (!$rs_s->cancel) {
38                print "<div class='row' style='text-align:center'><div class='erreur'>".htmlentities($msg["connecteurs_sync_currentexists"],ENT_QUOTES,$charset)."</div>";
39                $is_already_sync=true;
40        } else {
41                $recover=true;
42                $recover_env=$rs_s->env;
43                print "<div class='row' style='text-align:center'><div class='erreur'>".htmlentities($msg["connecteurs_sync_resuming"],ENT_QUOTES,$charset)."</div>";
44        }
45} else {
46        if (isset($_GET["env"])) {
47                $env = unserialize($_GET["env"]);
48        } else {
49                $env = $conn->get_maj_environnement($source_id);
50        }
51        if (isset($_GET["converted"])) {
52                $env["converted"] = 1;
53        }
54        if (isset($_GET["outputtype"])) {
55                $env["outputtype"] = $_GET["outputtype"];
56        }
57        if (isset($_GET["suffix"])) {
58                $env["suffix"] = $_GET["suffix"];
59        }
60}
61//Le bouton annuler abort la requète de synchro et en génère une autre synchrone cette fois qui fait l'annulation.
62print "<div class='row' style='text-align:center'><input type='button' id='cancel_sync' class='bouton' value ='".htmlentities($msg["76"],ENT_QUOTES,$charset)."' onClick='document.getElementById(\"sync_message\").innerHTML=\"<blink>".htmlentities($msg["connecteurs_sync_annulation"],ENT_QUOTES,$charset)."</blink>\"; request.abort();abort_request(); document.location=\"admin.php?categ=connecteurs&sub=in\";'/><br /><input type='button' style='visibility:hidden;' id='get_back' class='bouton' value ='".htmlentities($msg["654"],ENT_QUOTES,$charset)."' onClick='document.location=\"admin.php?categ=connecteurs&sub=in\";'/></div>
63</div>";
64
65//highlight_string(print_r($env, true));
66
67?>
68<script type="text/javascript">
69        function abort_request() {
70                //Envoi une requete synchrone pour annuler la synchro en cours
71                var request = false;
72                   try {
73                     request = new XMLHttpRequest();
74                   } catch (trymicrosoft) {
75                     try {
76                       request = new ActiveXObject("Msxml2.XMLHTTP");
77                     } catch (othermicrosoft) {
78                       try {
79                         request = new ActiveXObject("Microsoft.XMLHTTP");
80                       } catch (failed) {
81                         request = false;
82                       } 
83                     }
84                   }
85
86                   if (!request)
87                     alert("Error initializing XMLHttpRequest!");
88
89             var url = "ajax.php?module=admin&categ=sync&cancel=1&id=<?php echo $id;?>&source_id=<?php echo $source_id; ?>";
90             request.open("GET", url, false);
91             request.send(null);
92        }
93
94        //Génère la requete de synchronisation:
95       
96        var request = false;
97        try {
98        request = new XMLHttpRequest();
99        } catch (trymicrosoft) {
100        try {
101                request = new ActiveXObject("Msxml2.XMLHTTP");
102        } catch (othermicrosoft) {
103                try {
104                        request = new ActiveXObject("Microsoft.XMLHTTP");
105                } catch (failed) {
106                        request = false;
107                } 
108                }
109        }
110
111   function updatePage() {
112           var IE6 = false /*@cc_on || @_jscript_version < 5.7 @*/;
113                if (IE6 && (request.readyState == 3)) {
114                        return;
115                }
116               
117                if ((request.readyState > 2)) {
118                if (request.status == 200) {
119                                var serverResponse = request.responseText;
120                                //alert(serverResponse);
121                            eval(serverResponse);
122                }
123                }
124   }
125   
126   if (!request) {
127     alert("Error initializing XMLHttpRequest!");
128   }
129   var url = "ajax.php?module=admin&categ=sync&id=<?php echo $id;?>&source_id=<?php echo $source_id; ?>&env=<?php echo urlencode(serialize($env)) ?>";
130   request.open("GET", url, true);
131   request.onreadystatechange = updatePage;
132   //Il faut mettre ces lignes sinon sous ie6 on obtient une "unspecified error"
133   if(!document.all) {
134         request.setRequestHeader("Connection", "close");
135   }
136   request.send(null);
137</script>
138<?
139
140
141
142?>
Note: See TracBrowser for help on using the repository browser.