$sql.=" AND f.datef BETWEEN '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'";
}
if($month_lim>0)
{
if($year_lim>0&&empty($day_lim))
$sql.=" AND f.date_lim_reglement BETWEEN '".$db->idate(dol_get_first_day($year_lim,$month_lim,false))."' AND '".$db->idate(dol_get_last_day($year_lim,$month_lim,false))."'";
elseif($year_lim>0&&!empty($day_lim))
$sql.=" AND f.date_lim_reglement BETWEEN '".$db->idate(dol_mktime(0,0,0,$month_lim,$day_lim,$year_lim))."' AND '".$db->idate(dol_mktime(23,59,59,$month_lim,$day_lim,$year_lim))."'";
else
$sql.=" AND date_format(f.date_lim_reglement, '%m') = '".$month_lim."'";
}
elseif($year_lim>0)
{
$sql.=" AND f.date_lim_reglement BETWEEN '".$db->idate(dol_get_first_day($year_lim,1,false))."' AND '".$db->idate(dol_get_last_day($year_lim,12,false))."'";
if($month_lim>0)
{
if($year_lim>0&&empty($day_lim))
$sql.=" AND f.date_lim_reglement BETWEEN '".$db->idate(dol_get_first_day($year_lim,$month_lim,false))."' AND '".$db->idate(dol_get_last_day($year_lim,$month_lim,false))."'";
elseif($year_lim>0&&!empty($day_lim))
$sql.=" AND f.date_lim_reglement BETWEEN '".$db->idate(dol_mktime(0,0,0,$month_lim,$day_lim,$year_lim))."' AND '".$db->idate(dol_mktime(23,59,59,$month_lim,$day_lim,$year_lim))."'";
else
$sql.=" AND date_format(f.date_lim_reglement, '%m') = '".$month_lim."'";
}
elseif($year_lim>0)
{
$sql.=" AND f.date_lim_reglement BETWEEN '".$db->idate(dol_get_first_day($year_lim,1,false))."' AND '".$db->idate(dol_get_last_day($year_lim,12,false))."'";
}
if($search_sale>0)$sql.=" AND s.rowid = sc.fk_soc AND sc.fk_user = ".$search_sale;
$sql.=" AND fac.datef BETWEEN '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'";
}
if($month_lim>0)
{
if($year_lim>0&&empty($day_lim))
$sql.=" AND fac.date_lim_reglement BETWEEN '".$db->idate(dol_get_first_day($year_lim,$month_lim,false))."' AND '".$db->idate(dol_get_last_day($year_lim,$month_lim,false))."'";
elseif($year_lim>0&&!empty($day_lim))
$sql.=" AND fac.date_lim_reglement BETWEEN '".$db->idate(dol_mktime(0,0,0,$month_lim,$day_lim,$year_lim))."' AND '".$db->idate(dol_mktime(23,59,59,$month_lim,$day_lim,$year_lim))."'";
else
$sql.=" AND date_format(fac.date_lim_reglement, '%m') = '".$month_lim."'";
}
elseif($year_lim>0)
{
$sql.=" AND fac.datef BETWEEN '".$db->idate(dol_get_first_day($year_lim,1,false))."' AND '".$db->idate(dol_get_last_day($year_lim,12,false))."'";
if($month_lim>0)
{
if($year_lim>0&&empty($day_lim))
$sql.=" AND fac.date_lim_reglement BETWEEN '".$db->idate(dol_get_first_day($year_lim,$month_lim,false))."' AND '".$db->idate(dol_get_last_day($year_lim,$month_lim,false))."'";
elseif($year_lim>0&&!empty($day_lim))
$sql.=" AND fac.date_lim_reglement BETWEEN '".$db->idate(dol_mktime(0,0,0,$month_lim,$day_lim,$year_lim))."' AND '".$db->idate(dol_mktime(23,59,59,$month_lim,$day_lim,$year_lim))."'";
else
$sql.=" AND date_format(fac.date_lim_reglement, '%m') = '".$month_lim."'";
}
elseif($year_lim>0)
{
$sql.=" AND fac.datef BETWEEN '".$db->idate(dol_get_first_day($year_lim,1,false))."' AND '".$db->idate(dol_get_last_day($year_lim,12,false))."'";