projects/genea/out/phpui/edit_place.php
1.
<?php
2.
 
3.
/*
4.
 
5.
        Formulaire d'édition pour la table : place.
6.
 
7.
        07/03/2021 10:45
8.
 
9.
        lvardon@laposte.net - 2021
10.
         
11.
        Licence libre
12.
 
13.
*/
14.
 
15.
include_once "dbconnect.php";
16.
include_once "phpdb/class_place.php";
17.
include_once "phpdb/class_place_ext.php";
18.
 
19.
if (isset($_REQUEST['a_id_value']))    $id=$_REQUEST['a_id_value'];
20.
else 
21.
    if (isset($_REQUEST['id']))    $id=$_REQUEST['id'];
22.
    else die("Erreur : _REQUEST['id'] est manquant.");  
23.
                
24.
if (isset($_REQUEST['offset']))
25.
    $offset=$_REQUEST['offset'];
26.
else 
27.
    $offset '';
28.
 
29.
$userUiMessage="";
30.
  
31.
// Class instance
32.
$myplace = new place$db );
33.
 
34.
  
35.
// Traitement des fichiers télédéposés
36.
 
37.
if ( isset($_REQUEST['a_icon_deletebefore']) && file_exists($_REQUEST["a_icon"])) {    
38.
    unlink($_REQUEST['a_icon']);
39.
    $_REQUEST['a_icon'] = '';
40.
}
41.
if(isset($_FILES['a_icon']) && $_FILES['a_icon']['name'] != '' ){
42.
 
43.
      $errors= array();
44.
      $file_name $_FILES['a_icon']['name'];
45.
      $file_size $_FILES['a_icon']['size'];
46.
      $file_tmp $_FILES['a_icon']['tmp_name'];
47.
      $file_type $_FILES['a_icon']['type'];
48.
      $file_ext=strtolower(end(explode('.',$_FILES['a_icon']['name'])));
49.
           
50.
      $extensions= array( 'jpeg''jpg''png' );
51.
      
52.
      if(in_array($file_ext,$extensions)=== false){
53.
         $errors[]="Extensions autorisées : 'jpeg', 'jpg', 'png'.";
54.
      }
55.
      
56.
      if($file_size 2097152 ) {
57.
         $errors[]='Taille maximum fichier : 2097152 octets.';
58.
      }
59.
      
60.
      if(empty($errors)==true) {
61.
        $dest_dir="documents/icons/";
62.
                    
63.
        if ( file_exists($_REQUEST['a_icon'] ) ) {
64.
            $userUiMessage='<div class="editmessageError">Le fichier existe déjà : '.$_REQUEST["a_icon"].'</div>';
65.
        }
66.
        else {
67.
            move_uploaded_file($file_tmp,$dest_dir.$file_name);
68.
            $_REQUEST['a_icon']= $dest_dir.$file_name// Database url doc update        
69.
            $userUiMessage .= '<div class="editmessageInfo">Fichier déposé : '.$dest_dir.$file_name.'</div>';        
70.
        }
71.
      }else{
72.
        $userUiMessage .= '<div class="editmessageError">';    
73.
        $userUiMessage .= 'Erreur upload :';
74.
        foreach ($errors as $verr) {
75.
            $userUiMessage .= $verr.'<br>';
76.
        }        
77.
        $userUiMessage .= '</div>';                  
78.
      }
79.
}   
80.
 
81.
 
82.
$sqlError false;
83.
 
84.
// Sauvegarde 
85.
if(isset($_POST['submitSave'])) 
86.
87.
    if ($id 0) {
88.
        $results $myplace->update
89.
$_REQUEST["a_id"], 
90.
$_REQUEST["a_name"], 
91.
$_REQUEST["a_description"], 
92.
$_REQUEST["a_private"], 
93.
$_REQUEST["a_icon"], 
94.
$_REQUEST["a_adress1"], 
95.
$_REQUEST["a_adress2"], 
96.
$_REQUEST["a_zipcode"], 
97.
$_REQUEST["a_city"], 
98.
$_REQUEST["a_cityinsee"], 
99.
$_REQUEST["a_country"], 
100.
$_REQUEST["a_url"], 
101.
$_REQUEST["a_gpslat"], 
102.
$_REQUEST["a_gpslon"], 
103.
$_REQUEST["a_datecreated"] ); 
104.
 
105.
        if ($results === false) {           
106.
            $userUiMessage .= '<div class="editmessageError">Erreur sauvegarde (id='.$id.') :'.$myplace->lasterror.'</div>';        
107.
            $sqlError true;
108.
        }
109.
        else 
110.
            $userUiMessage .= '<div class="editmessageInfo">Sauvegarde effectuée (id='.$id.')</div>';        
111.
    }
112.
    else 
113.
    {
114.
        $results $myplace->insert
115.
$_REQUEST["a_name"], 
116.
$_REQUEST["a_description"], 
117.
$_REQUEST["a_private"], 
118.
$_REQUEST["a_icon"], 
119.
$_REQUEST["a_adress1"], 
120.
$_REQUEST["a_adress2"], 
121.
$_REQUEST["a_zipcode"], 
122.
$_REQUEST["a_city"], 
123.
$_REQUEST["a_cityinsee"], 
124.
$_REQUEST["a_country"], 
125.
$_REQUEST["a_url"], 
126.
$_REQUEST["a_gpslat"], 
127.
$_REQUEST["a_gpslon"], 
128.
$_REQUEST["a_datecreated"]  ); 
129.
        echo '<div class="editmessage">';
130.
        if ($results === false) {
131.
            $userUiMessage .= '<div class="editmessageError">Erreur de création :'.$myplace->lasterror.'</div>';        
132.
            $sqlError true;
133.
        }
134.
        else {
135.
            $id=$myplace->lastInsertId;
136.
            $userUiMessage .= '<div class="editmessageInfo">Création effectuée (id='.$id.')</div>';
137.
        }        
138.
    }
139.
}
140.
 
141.
// Suppression
142.
if(isset($_POST['submitDelete'])) 
143.
144.
    if ($id 0) {
145.
        $results $myplace->delete$id ); 
146.
 
147.
        if ($results === false) {
148.
            $userUiMessage .= '<div class="editmessageError">Erreur Suppression (id='.$id.') :'.$myplace->lasterror.'</div>';
149.
            $sqlError true;
150.
        }
151.
        else {
152.
            $userUiMessage .= '<div class="editmessageInfo">Suppression effectuée (id='.$id.')</div>';
153.
            $id = -1;
154.
        }
155.
        
156.
    }
157.
}
158.
 
159.
// Select reccord by id :
160.
if ($sqlError === false ) {
161.
    
162.
    if ( isset($_POST['submitSave']) || isset($_POST['submitDelete']) ) 
163.
        $results $myplace->select$id );
164.
    else {
165.
        switch ($offset) {
166.
            case '_PREV':
167.
                $results $myplace->selectPrev$id );
168.
                $id $results[0]['a.id'];
169.
                break;
170.
            case '_NEXT':
171.
                $results $myplace->selectNext$id );
172.
                $id $results[0]['a.id'];
173.
                break;
174.
            default:
175.
                $results $myplace->select$id );
176.
                break;
177.
        }                
178.
    }
179.
        
180.
    if ($results === false) {           
181.
        $userUiMessage .= '<div class="editmessageError">Erreur Sql : '.$myplace->lasterror.'</div>';        
182.
        $sqlError true;
183.
    }
184.
    /*if ( empty($results) ) {           
185.
        $userUiMessage .= '<div class="editmessageInfo">Cet enregistrement n\'existe plus. id = '.$id.'  </div>';        
186.
        $sqlError = true;
187.
    }
188.
    */    
189.
}
190.
else {     
191.
        $results[0]["a.id"] = $_REQUEST['a_id'];    
192.
        $results[0]["a.name"] = $_REQUEST['a_name'];
193.
        $results[0]["a.description"] = $_REQUEST['a_description'];
194.
        $results[0]["a.private"] = $_REQUEST['a_private'];
195.
        $results[0]["a.icon"] = $_REQUEST['a_icon'];
196.
        $results[0]["a.adress1"] = $_REQUEST['a_adress1'];
197.
        $results[0]["a.adress2"] = $_REQUEST['a_adress2'];
198.
        $results[0]["a.zipcode"] = $_REQUEST['a_zipcode'];
199.
        $results[0]["a.city"] = $_REQUEST['a_city'];
200.
        $results[0]["a.cityinsee"] = $_REQUEST['a_cityinsee'];
201.
        $results[0]["a.country"] = $_REQUEST['a_country'];
202.
        $results[0]["a.gpslat"] = $_REQUEST['a_gpslat'];
203.
        $results[0]["a.gpslon"] = $_REQUEST['a_gpslon'];
204.
        $results[0]["a.datecreated"] = $_REQUEST['a_datecreated'];
205.
        $results[0]["a.url"] = $_REQUEST['a_url'];
206.
        
207.
    }
208.
 
209.
$recordcount $myplace->getCount();
210.
 
211.
echo '<div class="formtable">';
212.
 
213.
$protocol strpos(strtolower($_SERVER['SERVER_PROTOCOL']),'https'
214.
                === FALSE 'http' 'https';
215.
$host     $_SERVER['HTTP_HOST'];
216.
$script   $_SERVER['SCRIPT_NAME'];
217.
$params   $_SERVER['QUERY_STRING'];
218.
 
219.
$currentUrl $protocol '://' $host $script '?' $params;
220.
 
221.
// xxx  fix enctype
222.
echo '<form id="editform" class="formedit pure-form pure-form-aligned" method="post" action="'.$currentUrl.'"  enctype="multipart/form-data" >';
223.
 
224.
echo '<fieldset>';
225.
 
226.
echo '<legend style="display:inline-block" class="titleedit"><span title="Liste des adresses des &eacute;v&eacute;nements" class="titleedit">Lieu</span> #'.($id==-1?'?':$id).'/'.$recordcount['count'];
227.
 
228.
echo '<div style="font-size:80%; float:right; display:inline-block;">'.$userUiMessage.'</div>';
229.
 
230.
echo '</legend>';
231.
?>
232.
233.
<input type="hidden" readonly name="a.id.value" value="<?php echo $results[0]["a.id"]; ?>" >
234.
 
235.
<div class="pure-control-group"><label for="aligned-name">id</label>
236.
        <input type="{{edithidden}}" readonly name="a.id" value="<?php echo $results[0]["a.id"]; ?>"         
237.
        style="width:6em;" ><span class="pure-form-message-inline"></span>
238.
</div>
239.
        
240.
        <div class="pure-control-group"><label title="name" for="aligned-name">name</label>
241.
    
242.
            
243.
            
244.
            
245.
                <input type="text"  class="" name="a.name" id="a_name" 
246.
                value="<?php if ( $results[0]["a.name"] !='') echo $results[0]["a.name"]; else echo ''?>"
247.
                style="width:30em;" 
248.
                >            
249.
                <div style="display:inline-block; color:red">*</div>
250.
                
251.
            
252.
                        
253.
            <span class="pure-form-message-inline"></span>    
254.
                                
255.
        </div>
256.
        
257.
        <div class="pure-control-group"><label title="description" for="aligned-name">description</label>
258.
    
259.
            
260.
                        
261.
            
262.
                <textarea  text rows="4" cols="40" name="a.description" rows="4" cols="30" ><?php if ( $results[0]["a.description"] !='') echo $results[0]["a.description"]; else echo ''?></textarea>
263.
            
264.
                        
265.
            <span class="pure-form-message-inline"></span>    
266.
                                
267.
        </div>
268.
        
269.
        <div class="pure-control-group"><label title="private" for="aligned-name">private</label>
270.
    
271.
            
272.
            
273.
            
274.
                <input type="checkbox"  name="a.private" 
275.
                value="1" 
276.
                <?php echo ($results[0]["a.private"]==1?"checked='checked'":""?>
277.
                >
278.
                <div style="display:inline-block; color:red">&nbsp;</div>
279.
            
280.
                        
281.
            <span class="pure-form-message-inline"></span>    
282.
                                
283.
        </div>
284.
        
285.
        <div class="pure-control-group"><label title="icon" for="aligned-name">icon</label>
286.
    
287.
                
288.
            
289.
            
290.
                <input style="display:inline-block" type="file" class="" name="a.icon" id="a_icon" 
291.
                style="width:12em;" 
292.
                >    
293.
                
294.
                <input type="checkbox" name="a_icon_deletebefore" id="a_icon_deletebefore" title="Supprimer le fichier.">
295.
                                                
296.
                <input type="hidden" class="" name="a_icon" id="a_icon" 
297.
                value="<?php echo $results[0]["a.icon"]; ?>"
298.
                >    
299.
                <div style="display:inline-block; vertical-align:middle" >
300.
                    
301.
                    <?php
302.
                    
303.
                    if (file_exists($results[0]["a.icon"])) {
304.
                        
305.
                        echo '<img width="50" height="50" style="width: 50px; height: 50px;" alt="'.$results[0]["a.icon"].'" title="'.$results[0]["a.icon"].'" src="'.$results[0]["a.icon"].' ">';
306.
                    } else {
307.
                        
308.
                        echo '<img width="50" height="50" style="width: 50px; height: 50px;" alt="Image inexistante" title="Image inexistante" src="img/missing.png">';            
309.
                    }            
310.
                        
311.
                    ?>                    
312.
                    
313.
                </div>
314.
            
315.
                        
316.
            <span class="pure-form-message-inline"></span>    
317.
                                
318.
        </div>
319.
        
320.
        <div class="pure-control-group"><label title="adress1" for="aligned-name">adress1</label>
321.
    
322.
            
323.
            
324.
            
325.
                <input type="text"  class="" name="a.adress1" id="a_adress1" 
326.
                value="<?php if ( $results[0]["a.adress1"] !='') echo $results[0]["a.adress1"]; else echo ''?>"
327.
                style="width:30em;" 
328.
                >            
329.
                <div style="display:inline-block; color:red">&nbsp;</div>
330.
                
331.
            
332.
                        
333.
            <span class="pure-form-message-inline"></span>    
334.
                                
335.
        </div>
336.
        
337.
        <div class="pure-control-group"><label title="adress2" for="aligned-name">adress2</label>
338.
    
339.
            
340.
            
341.
            
342.
                <input type="text"  class="" name="a.adress2" id="a_adress2" 
343.
                value="<?php if ( $results[0]["a.adress2"] !='') echo $results[0]["a.adress2"]; else echo ''?>"
344.
                style="width:30em;" 
345.
                >            
346.
                <div style="display:inline-block; color:red">&nbsp;</div>
347.
                
348.
            
349.
                        
350.
            <span class="pure-form-message-inline"></span>    
351.
                                
352.
        </div>
353.
        
354.
        <div class="pure-control-group"><label title="zipcode" for="aligned-name">zipcode</label>
355.
    
356.
            
357.
            
358.
            
359.
                <input type="text"  class="" name="a.zipcode" id="a_zipcode" 
360.
                value="<?php if ( $results[0]["a.zipcode"] !='') echo $results[0]["a.zipcode"]; else echo ''?>"
361.
                style="width:5em;" 
362.
                >            
363.
                <div style="display:inline-block; color:red">&nbsp;</div>
364.
                
365.
            
366.
                        
367.
            <span class="pure-form-message-inline"></span>    
368.
                                
369.
        </div>
370.
        
371.
        <div class="pure-control-group"><label title="city" for="aligned-name">city</label>
372.
    
373.
            
374.
            
375.
            
376.
                <input type="text"  class="" name="a.city" id="a_city" 
377.
                value="<?php if ( $results[0]["a.city"] !='') echo $results[0]["a.city"]; else echo ''?>"
378.
                style="width:12em;" 
379.
                >            
380.
                <div style="display:inline-block; color:red">&nbsp;</div>
381.
                
382.
            
383.
                        
384.
            <span class="pure-form-message-inline"></span>    
385.
                                
386.
        </div>
387.
        
388.
        <div class="pure-control-group"><label title="cityinsee" for="aligned-name">cityinsee</label>
389.
    
390.
            
391.
            
392.
            
393.
                <input type="text"  class="" name="a.cityinsee" id="a_cityinsee" 
394.
                value="<?php if ( $results[0]["a.cityinsee"] !='') echo $results[0]["a.cityinsee"]; else echo ''?>"
395.
                style="width:5em;" 
396.
                >            
397.
                <div style="display:inline-block; color:red">&nbsp;</div>
398.
                
399.
            
400.
                        
401.
            <span class="pure-form-message-inline"></span>    
402.
                                
403.
        </div>
404.
        
405.
        <div class="pure-control-group"><label title="country" for="aligned-name">country</label>
406.
    
407.
            
408.
            
409.
            
410.
                <input type="text"  class="" name="a.country" id="a_country" 
411.
                value="<?php if ( $results[0]["a.country"] !='') echo $results[0]["a.country"]; else echo ''?>"
412.
                style="width:15em;" 
413.
                >            
414.
                <div style="display:inline-block; color:red">&nbsp;</div>
415.
                
416.
            
417.
                        
418.
            <span class="pure-form-message-inline"></span>    
419.
                                
420.
        </div>
421.
        
422.
        <div class="pure-control-group"><label title="gpslat" for="aligned-name">Lat</label>
423.
    
424.
            
425.
            
426.
            
427.
                <input type="text"  class="" name="a.gpslat" id="a_gpslat" 
428.
                value="<?php if ( $results[0]["a.gpslat"] !='') echo $results[0]["a.gpslat"]; else echo ''?>"
429.
                style="width:8em;" 
430.
                >            
431.
                <div style="display:inline-block; color:red">&nbsp;</div>
432.
                
433.
            
434.
                        
435.
            <span class="pure-form-message-inline"></span>    
436.
                                
437.
        </div>
438.
        
439.
        <div class="pure-control-group"><label title="gpslon" for="aligned-name">Lon</label>
440.
    
441.
            
442.
            
443.
            
444.
                <input type="text"  class="" name="a.gpslon" id="a_gpslon" 
445.
                value="<?php if ( $results[0]["a.gpslon"] !='') echo $results[0]["a.gpslon"]; else echo ''?>"
446.
                style="width:8em;" 
447.
                >            
448.
                <div style="display:inline-block; color:red">&nbsp;</div>
449.
                
450.
            
451.
                        
452.
            <span class="pure-form-message-inline"></span>    
453.
                                
454.
        </div>
455.
        
456.
        <div class="pure-control-group"><label title="datecreated" for="aligned-name">datecreated</label>
457.
    
458.
            
459.
                        
460.
            <span class="pure-form-message-inline"></span>    
461.
                                
462.
        </div>
463.
        
464.
        <div class="pure-control-group"><label title="" for="aligned-name">url</label>
465.
    
466.
            
467.
            
468.
            
469.
                <input type="text"  class="" name="a.url" id="a_url" 
470.
                value="<?php if ( $results[0]["a.url"] !='') echo $results[0]["a.url"]; else echo ''?>"
471.
                style="width:30em;" 
472.
                >            
473.
                <div style="display:inline-block; color:red">&nbsp;</div>
474.
                
475.
            
476.
                        
477.
            <span class="pure-form-message-inline"></span>    
478.
                                
479.
        </div>
480.
 
481.
<?
482.
 
483.
echo ' <div class="pure-controls">'."\n";
484.
echo '<button type="submit" name = "submitSave" class="formbutton xpure-button xpure-button-primary">Enregistrer</button>'."\n";
485.
$confirmBox "onclick=\"return confirm('Etes vous sûr de vouloir supprimer cet article ?')\"";
486.
if ($id 0)
487.
    echo '<button type="submit" name = "submitDelete" class="formbutton xpure-button xpure-button-primary" '.$confirmBox.'  >Supprimer</button>'."\n";
488.
 
489.
 
490.
parse_str($_SERVER['QUERY_STRING'], $query_string);
491.
 
492.
if ($id != -and $id $recordcount['minid'] ) {     
493.
    $urlPrev='';
494.
    $query_string['id'] = $id;
495.
    $query_string['offset'] = '_PREV';
496.
    $paramPrev http_build_query($query_string);
497.
    $urlPrev $protocol '://' $host $script '?' $paramPrev;
498.
    echo "<a class='formbutton' href='$urlPrev'>Précédent</a>\n";
499.
}
500.
else echo "<a class='formbutton' style='color:gray; pointer-events: none' href=''>Précédent</a>\n";
501.
 
502.
if ($id != -and $id $recordcount['maxid']  ) { 
503.
    $urlNext='';
504.
    $query_string['id'] = $id;
505.
    $query_string['offset'] = '_NEXT';
506.
    $paramNext http_build_query($query_string);
507.
    $urlNext $protocol '://' $host $script '?' $paramNext;
508.
    echo "<a class='formbutton' href='$urlNext'>Suivant</a>\n";
509.
}
510.
else echo "<a class='formbutton' style='color:gray; pointer-events: none' href=''>Suivant</a>\n";
511.
 
512.
    
513.
echo '</div>'."\n";
514.
echo '</fieldset>'."\n";
515.
echo '</form>'."\n";
516.
 
517.
echo '</div>';
518.
 
519.
?>
520.
521.
 
522.
<script type="text/javascript">
523.
    
524.
    $(document).ready(function(){
525.
        
526.
        $(".selectlist").on("click", function() {            
527.
            startModal('selectplaceholder');                                    
528.
            //alert("Id du champ à remplir au retour : [" + $(this).attr('valuebackval')  + "]");
529.
            var url = "phpui/select_" + $(this).attr('valuetable') + ".php?valuebackfield=" + $(this).attr('valuebackfield') + '&valuebackval=' + $(this).attr('valuebackval');
530.
            
531.
            $('#selectplaceholder').load(url, function() {
532.
                $('#selectplaceholder').css("background-color", "white");
533.
                $('#selectplaceholder').css("border", "1px solid #034668");
534.
                //box-shadow: 5px 10px 12px -4px rgba(0,0,0,0.75);
535.
                //-webkit-box-shadow: 5px 10px 12px -4px rgba(0,0,0,0.75);
536.
                //-moz-box-shadow: 5px 10px 12px -4px rgba(0,0,0,0.75);
537.
                $('#selectplaceholder').css("box-shadow", "5px 10px 12px -4px rgba(0,0,0,0.75)");                
538.
                $('#selectplaceholder').css("border-radius", "7px");
539.
            });            
540.
            
541.
        });
542.
    });
543.
 
544.
    function startModal(id) {
545.
        $("body").prepend(
546.
            "<div id='PopupMask' style='position:fixed;width:100%;height:100%;z-index:10;background-color:gray;'></div>"+
547.
            "<div style='position: fixed;top: 50%;left: 50%; transform: translate(-50%, -50%);' "+
548.
                "id='selectplaceholder'><img  width='180' height='60' src='img/loading.gif'></div>");
549.
        $("#PopupMask").css('opacity', 0.5);  
550.
        $("#"+id).data('saveZindex', $("#"+id).css( "z-index"));
551.
        $("#"+id).data('savePosition', $("#"+id).css( "position"));
552.
        $("#"+id).css( "z-index" , 11 );
553.
        $("#"+id).css( "position" , "fixed" );
554.
    }
555.
 
556.
</script>
557.
 
558.
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
559.
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
560.
 
561.
<script>
562.
 
563.
    // Disable autofill
564.
    $(".datepicker").prop("autocomplete", "off");
565.
 
566.
    $( function() {
567.
        
568.
        $.datepicker.regional['fr'] = {
569.
                yearRange: '1:2099',
570.
                changeMonth: true,
571.
                changeYear: true,
572.
                closeText: 'Fermer',
573.
                prevText: '&#x3c;Préc',
574.
                nextText: 'Suiv&#x3e;',
575.
                currentText: 'Aujourd\'hui',
576.
                monthNames: ['Janvier','Fevrier','Mars','Avril','Mai','Juin',
577.
                'Juillet','Aout','Septembre','Octobre','Novembre','Decembre'],
578.
                monthNamesShort: ['Jan','Fev','Mar','Avr','Mai','Jun',
579.
                'Jul','Aou','Sep','Oct','Nov','Dec'],
580.
                dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'],
581.
                dayNamesShort: ['Dim','Lun','Mar','Mer','Jeu','Ven','Sam'],
582.
                dayNamesMin: ['Di','Lu','Ma','Me','Je','Ve','Sa'],
583.
                weekHeader: 'Sm',
584.
                dateFormat: 'dd/mm/yy',
585.
                firstDay: 1,
586.
                /*isRTL: false,*/
587.
                /*showMonthAfterYear: false,*/
588.
                /*yearSuffix: '',*/
589.
                /*minDate: 0,*/
590.
                /*maxDate: '+12M +0D',*/
591.
                numberOfMonths: 1,
592.
                showButtonPanel: true
593.
            };
594.
                        
595.
        $.datepicker.setDefaults($.datepicker.regional['fr']);
596.
                
597.
        $(".datepicker" ).datepicker().on("show", function() {
598.
                            var formDate = $(this).val()                            
599.
                            $(this).val(formDate).datepicker('update');
600.
                        });
601.
                                
602.
    } );
603.
 
604.
    $("#over").remove();
605.
    
606.
    // Page quit confirmation
607.
    var form = $('#editform'),
608.
      original = form.serialize()
609.
 
610.
    form.submit(function(){
611.
        $('body').append('<div id="over" style="background:rgba(0,0,0, 0.05); position:fixed; top:0; left:0; width:100%; height:100%;"> <img style="position:absolute; top:0; left:0; right:0; bottom:0; margin:auto;"  width="180" height="60" src="img/loading.gif"> </div> ');
612.
        window.onbeforeunload = null
613.
    })
614.
 
615.
    window.onbeforeunload = function(){
616.
      if (form.serialize() != original)
617.
        return "Confirmez-vous l'abandon de vos modifications ?"
618.
    }
619.
 
620.
</script>
621.
  
622.