source: pmb4.2/trunk/fuentes/pmb/classes/calendar.class.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: 3.3 KB
RevLine 
[815]1<?php
2// +-------------------------------------------------+
3// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: calendar.class.php,v 1.15 2015-04-03 11:16:19 jpermanne Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".class.php")) die("no access");
8
9class calendar {
10
11    function calendar() {
12    }
13   
14    static function get_open_days($dd,$md,$yd,$df,$mf,$yf) {
15        global $pmb_utiliser_calendrier;
16        global $deflt2docs_location ;
17        global $pmb_pret_calcul_retard_date_debut_incluse;
18        $ndays=0;       
19                if ($pmb_utiliser_calendrier==1) {
20                        if ($pmb_pret_calcul_retard_date_debut_incluse) {
21                                $requete="select count(date_ouverture) from ouvertures where ouvert=1 and num_location=$deflt2docs_location and date_ouverture>='".$yd."-".$md."-".$dd."' and date_ouverture<='".$yf."-".$mf."-".$df."'";
22                        } else {
23                                $requete="select count(date_ouverture) from ouvertures where ouvert=1 and num_location=$deflt2docs_location and date_ouverture>'".$yd."-".$md."-".$dd."' and date_ouverture<='".$yf."-".$mf."-".$df."'";
24                        }
25                        $resultat=pmb_mysql_query($requete);                   
26                        if (pmb_mysql_result($resultat,0,0)) {
27                                $ndays=pmb_mysql_result($resultat,0,0);
28                        } else {
29                                //on regarde si un jour d'ouverture arrive prochainement..
30                                //si oui cela signifie que l'emprunteur n'est pas en retard et attend la prochaine ouverture
31                                $requete="select count(date_ouverture) from ouvertures where ouvert=1 and num_location=$deflt2docs_location and date_ouverture >'".$yf."-".$mf."-".$df."' limit 0,1";
32                                $result=pmb_mysql_query($requete);
33                                if (pmb_mysql_result($result,0,0)) {
34                                        $ndays = 0;
35                                } else {
36                                        if ($pmb_pret_calcul_retard_date_debut_incluse)
37                                                $ndays=1+(mktime(0,0,0,$mf,$df,$yf)-mktime(0,0,0,$md,$dd,$yd))/86400;
38                                        else
39                                                $ndays=(mktime(0,0,0,$mf,$df,$yf)-mktime(0,0,0,$md,$dd,$yd))/86400;
40                                }
41                        }
42        } else {
43                if ($pmb_pret_calcul_retard_date_debut_incluse) {
44                                $ndays=1+(mktime(0,0,0,$mf,$df,$yf)-mktime(0,0,0,$md,$dd,$yd))/86400;
45                } else {
46                        $ndays=(mktime(0,0,0,$mf,$df,$yf)-mktime(0,0,0,$md,$dd,$yd))/86400;
47                }
48        }
49        return $ndays;
50    }
51   
52    static function add_days($dd,$md,$yd,$days) {
53        global $pmb_utiliser_calendrier;
54        global $deflt2docs_location;
55       
56        if ($pmb_utiliser_calendrier) {         
57                        $requete="select min(date_ouverture) from ouvertures where ouvert=1 and num_location=$deflt2docs_location and date_ouverture>=adddate('".$yd."-".$md."-".$dd."', interval $days day)";
58                        $resultat=pmb_mysql_query($requete) or die ($requete." ".pmb_mysql_error());;
59                        if (!@pmb_mysql_num_rows($resultat)) {
60                                $requete="select adddate('".$yd."-".$md."-".$dd."', interval $days day)";
61                        $resultat=pmb_mysql_query($requete) or die ($requete." ".pmb_mysql_error());;
62                        }
63                        if($date=pmb_mysql_result($resultat,0,0)){
64                                return $date;
65                } 
66        }
67        $requete="select adddate('".$yd."-".$md."-".$dd."', interval $days day)";
68        $resultat=pmb_mysql_query($requete) or die ($requete." ".pmb_mysql_error());
69
70        $date=pmb_mysql_result($resultat,0,0);
71        return $date;   
72    }
73 
74        static function maketime($mysql_date) {
75                $t_date=explode("-",$mysql_date);
76                return mktime(0,0,0,$t_date[1],$t_date[2],$t_date[0]);
77        }
78}
79?>
Note: See TracBrowser for help on using the repository browser.