2010-12-20 15:04:19 +00:00
|
|
|
<?php
|
|
|
|
/*
|
|
|
|
$Id: m_trash.php,v 0.1 2010/11/17 15:51:00 fufroma Exp $
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
LICENSE
|
|
|
|
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
|
|
modify it under the terms of the GNU General Public License (GPL)
|
|
|
|
as published by the Free Software Foundation; either version 2
|
|
|
|
of the License, or (at your option) any later version.
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
To read the license please visit http://www.gnu.org/copyleft/gpl.html
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Original Author of file: Alan Garcia
|
|
|
|
Purpose of file: Manage trash class
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
*/
|
|
|
|
|
|
|
|
class m_trash {
|
|
|
|
|
|
|
|
var $is_trash=false;
|
|
|
|
var $expiration_date=null;
|
|
|
|
var $expiration_date_db=null;
|
|
|
|
|
|
|
|
/* ----------------------------------------------------------------- */
|
|
|
|
/**
|
|
|
|
* Constructeur
|
|
|
|
*/
|
|
|
|
function m_trash() {
|
|
|
|
}
|
|
|
|
|
|
|
|
function set_from_db($expiration_date_db) {
|
|
|
|
$this->expiration_date_db=$expiration_date_db;
|
|
|
|
$this->expiration_date=strtotime($this->expiration_date_db);
|
2011-03-27 16:25:51 +00:00
|
|
|
if ($this->expiration_date_db) $this->is_trash=true;
|
2010-12-20 15:04:19 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
function human_display() {
|
2011-03-27 16:25:51 +00:00
|
|
|
return strftime("%d/%m/%Y",$this->expiration_date);
|
2010-12-20 15:04:19 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
function getfromform() {
|
|
|
|
$fields = array (
|
2011-03-27 16:25:51 +00:00
|
|
|
"istrash" => array ("request", "boolean", false),
|
|
|
|
"trash_type_expiration" => array ("request", "string", ""),
|
|
|
|
"trash_exp_in_value" => array ("request", "string", ""),
|
|
|
|
"trash_exp_in_unit" => array ("request", "string", ""),
|
|
|
|
"trash_datepicker" => array ("request", "string", ""),
|
2010-12-20 15:04:19 +00:00
|
|
|
);
|
|
|
|
$champs=getFields($fields);
|
|
|
|
foreach($champs as $k=>$v) $$k = $v;
|
|
|
|
|
2011-03-27 16:25:51 +00:00
|
|
|
if (!$istrash) $trash_type_expiration="no_exp";
|
|
|
|
|
2010-12-20 15:04:19 +00:00
|
|
|
switch($trash_type_expiration) {
|
|
|
|
case "trash_at_x":
|
|
|
|
// We can use date_parse_from_format if we have php 5.3
|
|
|
|
//$this->expiration_date=date_parse_from_format("%d/%m/%Y",$trash_datepicker);
|
|
|
|
$mydate=strptime($trash_datepicker, "%d/%m/%Y");
|
|
|
|
if ($mydate){
|
|
|
|
$this->expiration_date=new DateTime("@".mktime( 0, 0, 0, $mydate['tm_mon']+1, $mydate['tm_mday']+1, 1900+$mydate['tm_year']));
|
|
|
|
} else {
|
|
|
|
$this->expiration_date=new DateTime("@".(time() + (7*24*3600)));
|
|
|
|
}
|
|
|
|
$this->is_trash=true;
|
|
|
|
break;
|
|
|
|
case "trash_in_x":
|
|
|
|
$this->is_trash=true;
|
|
|
|
switch ($trash_exp_in_unit) {
|
|
|
|
case "weeks":
|
|
|
|
$trash_unit = 7*24*3600;
|
|
|
|
break;
|
|
|
|
case "days":
|
|
|
|
$trash_unit = 24*3600;
|
|
|
|
break;
|
|
|
|
case "hours":
|
|
|
|
$trash_unit = 3600;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
$this->expiration_date= new DateTime("@".(time() + ($trash_exp_in_value*$trash_unit)) );
|
|
|
|
break;
|
|
|
|
case "no_exp":
|
|
|
|
$this->is_trash=false;
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
$this->is_trash=false;
|
|
|
|
} // switch
|
|
|
|
|
|
|
|
if (!is_null($this->expiration_date)) $this->expiration_date_db=$this->expiration_date->format('Y-m-d H:i:s');
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|