source: pmb4.1/trunk/fuentes/pmb/classes/editions_state_filter_date.class.php @ 478

Last change on this file since 478 was 478, checked in by mabarracus, 4 years ago

copy trusty code 4.1

  • Property svn:executable set to *
File size: 3.0 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2012 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: editions_state_filter_date.class.php,v 1.4.6.1 2014-10-28 17:44:26 mbertin Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".class.php")) die("no access");
8
9require_once($class_path."/editions_state_filter.class.php");
10
11class editions_state_filter_date extends editions_state_filter {
12       
13        public function __construct($elem,$params=array()){
14                parent::__construct($elem,$params);
15        }
16       
17        public function get_from_form(){
18                $filter_value = $this->elem['id']."_filter";
19                global $$filter_value;
20                if(isset($$filter_value)){
21                        $this->value = $$filter_value;
22                }
23        }
24       
25       
26        public function get_form($draggable=false){
27                global $msg,$charset;
28               
29                $form= "
30                        <div class='row'>&nbsp;</div>
31                        <div class='row' >";
32                if($draggable){
33                        $form.= "<div class='colonne3' id='filters_".$this->elem['id']."_drag' draggable='yes' dragtype='editionsstatefilterslist'>";
34                }else{
35                        $form.= "<div class='colonne3' id='filters_".$this->elem['id']."' >";
36                }
37                $form.= "<label style='cursor: pointer;'>".htmlentities($this->elem['label'],ENT_QUOTES,$charset)."</label>
38                                </div>
39                                <div class='colonne_suite'>
40                                        ".$msg['editions_state_filter_date_start']."&nbsp;<input type='text' name='".$this->elem['id']."_filter[start]' value ='".htmlentities(stripslashes($this->value['start']),ENT_QUOTES,$charset)."'/>
41                                                &nbsp;".$msg['editions_state_filter_date_end']."&nbsp;
42                                                <input type='text' name='".$this->elem['id']."_filter[end]' value ='".htmlentities(stripslashes($this->value['end']),ENT_QUOTES,$charset)."'/>
43                                </div>
44                        </div>
45                        <!--<script type='text/javascript'>
46                                       
47                                function filter_date_change_form_".$this->elem['id']."(op){
48                                document.getElementById('filters_pret_archive_arc_debut').setAttribute('draggable', 'no');
49                                        var div = document.getElementById('filter_date_".$this->elem['id']."');
50                                        if(op == 'between'){
51                                                div.style.display = 'inline';
52                                        }else{
53                                                div.style.display = 'none';
54                                        }
55                                }
56                        </script>-->
57                        ";     
58                return $form;           
59        }
60       
61        public function get_sql_filter(){
62                $sql_filter = "";
63                $start = detectFormatDate($this->value['start']);
64                $end = detectFormatDate($this->value['end']);
65                if(($start && $start != "0000-00-00") || ($end && $end != "0000-00-00")) {
66                        if($this->elem['field_join']){
67                                $champ=$this->elem['field_join'];
68                        }elseif($this->elem['field_alias']){
69                                $champ=$this->elem['field_alias'];
70                        }else{
71                                $champ=$this->elem['field'];
72                        }
73                       
74                        if($start != "0000-00-00" && $end != "0000-00-00"){
75                                $sql_filter = $champ." between '".$start." 00:00:00' and '".$end." 23:59:59'";
76                        }else if($start != "0000-00-00"){
77                                $sql_filter = $champ." >= '".$start." 00:00:00'";       
78                        }else{
79                                $sql_filter = $champ." <= '".$end." 23:59:59'";         
80                        }
81                        if($this->elem['authorized_null']){
82                                $sql_filter="((".$sql_filter.") OR (".$champ." IS NULL))";
83                        }
84                }
85                return $sql_filter;
86        } 
87}
Note: See TracBrowser for help on using the repository browser.