98 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
| <?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);
 | |
|     if ($this->expiration_date_db) $this->is_trash=true;
 | |
|   }
 | |
| 
 | |
|   function human_display() {
 | |
|     return strftime("%d/%m/%Y",$this->expiration_date);
 | |
|   }
 | |
| 
 | |
|   function getfromform() {
 | |
|     $fields = array (
 | |
| 		     "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", ""),
 | |
|     );
 | |
|     $champs=getFields($fields);
 | |
|     foreach($champs as $k=>$v) $$k = $v; 
 | |
| 
 | |
|     if (!$istrash) $trash_type_expiration="no_exp";
 | |
| 
 | |
|     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');
 | |
|   }
 | |
| 
 | |
| }
 |