source: spip-zone/_plugins_/spip_resa/resa.php @ 30136

Last change on this file since 30136 was 30136, checked in by glims@…, 12 years ago

Premier Import

File size: 3.5 KB
Line 
1<?php
2
3function resa_header_prive($flux)
4{
5        $exec = _request('exec') ;
6       
7        $flux .= '<link rel="stylesheet" href="' . _DIR_PLUGIN_RESA . 'css/resa.css" type="text/css" />'. "\n" ;
8       
9        if( $exec == 'voir_calendrier' ) {
10                $flux .= '<link rel="stylesheet" href="' . _DIR_PLUGIN_RESA . 'css/calendrier.css" type="text/css" />'. "\n" ;
11                $flux .= '<script type="text/javascript" src="' . _DIR_PLUGIN_RESA . 'scripts/calendrier.js"></script>'. "\n" ;
12        } elseif( $exec == 'voir_calendriers' ) {
13                $flux .= '<link rel="stylesheet" href="' . _DIR_PLUGIN_RESA . 'css/liste_calendriers.css" type="text/css" />' . "\n" ;
14        }
15       
16        return $flux;
17}
18
19function resa_mois_wrapper($mois)
20{
21        $l = strlen(trim($mois)) ;
22        $flag = false ;
23        $tmp = '' ;
24        $new_mois = '' ;
25        for( $i = 0 ; $i < $l ; $i++ )
26        {
27                if( $mois[$i] == '&' ) $flag = true ;
28                if( !$flag )
29                        $new_mois .= '<span>' . utf8_encode($mois[$i]) . '</span>' ;
30                else
31                        $tmp .= $mois[$i] ;
32                if( $mois[$i] == ';' ) {
33                        $flag = false ;
34                        $new_mois .= '<span>' . $tmp . '</span>' ;
35                }
36        }
37       
38        return $new_mois ;
39}
40
41function resa_afficher_calendrier($idCal, $admin=false)
42{
43        require_once _DIR_PLUGIN_RESA . 'inc/Calendrier.php' ;
44       
45        $resCal = sql_select('ts', 'spip_resa_reservation', 'id_calendrier=' . sql_quote($idCal)) ;
46        if( !$resCal ) return ;
47
48        global $joursReserves ;
49                       
50        $joursReserves = array() ;
51        while( $resa = sql_fetch($resCal) )
52                $joursReserves[] = (int) $resa['ts'] ;
53               
54        if( sql_getfetsel('id_calendrier', 'spip_resa_calendrier', 'id_calendrier=' . sql_quote($idCal)) === null )
55                return ;
56               
57        try
58        {
59                $cal = new Calendrier($idCal, lire_config('resa/mois_depart'), 0, lire_config('resa/nb_mois')) ;
60               
61                Mois::$moisFr = array(1 => _T('resa:janvier'), _T('resa:fevrier'), _T('resa:mars'), _T('resa:avril'), _T('resa:mai'), _T('resa:juin'), _T('resa:juillet'), _T('resa:aout'), _T('resa:septembre'), _T('resa:octobre'), _T('resa:novembre'), _T('resa:decembre')) ;
62               
63                if( lire_config('resa/type_affichage_mois') == 'vertical' )
64                {
65                        Mois::$moisFr = array_map('resa_mois_wrapper', Mois::$moisFr) ;
66                }
67               
68                Jour::$joursFr = array(1 => _T('resa:lundi'), _T('resa:mardi'), _T('resa:mercredi'), _T('resa:jeudi'), _T('resa:vendredi'), _T('resa:samedi'), _T('resa:dimanche')) ;
69               
70                // Le code commenté nécessite PHP >= 5.3 (closures)
71                $cal -> setCallbackReserve(
72                        create_function('$ts', 'global $joursReserves ; return in_array((int) $ts, $joursReserves) ;')
73                        /*function($ts) {
74                                global $joursReserves ;
75                                return in_array($ts, $joursReserves) ;
76                        }*/
77                ) ;
78                $func =
79                        $admin ?
80                                create_function('$idCal,$ts', 'return \'<a href="#" onclick="reserverJour(\' . $idCal . \', \' . $ts . \');">\' . date(\'d\', $ts) . \'</a>\' ;')
81                                /*function($idCal, $ts) {
82                                        return '<a href="#" onclick="reserverJour(' . $idCal . ', ' . $ts . ');">' . date('d', $ts) . '</a>' ;
83                                }*/
84                        :
85                                create_function('$idCal,$ts', 'return date(\'d\', $ts) ;') ;
86                                /*function($idCal, $ts) {
87                                        return date('d', $ts) ;
88                                }*/
89                ;
90               
91                $cal -> setCallbackFormat($func) ;
92                echo $cal ;     
93        } catch (Exception $e) {
94                debut_boite_alerte() ;
95                echo $e -> getMessage() ;
96                fin_boite_alerte() ;
97        }
98}
99
100function resa_supprimer_calendrier_article($idArticle, $idCalendrier)
101{
102        $texte = sql_getfetsel('texte', 'spip_articles', 'id_article=' . sql_quote((int) $idArticle)) ;
103        sql_updateq(
104                'spip_articles',
105                array('texte' => str_replace('<calendrier1|id_calendrier=' . $idCalendrier . '>', '', $texte)),
106                'id_article=' . sql_quote((int) $idArticle)
107        ) ;
108}
Note: See TracBrowser for help on using the repository browser.