cakecal / branches / master / models / event.php

history
<?php

class Event extends AppModel {

	function beforeSave() {
	
		if (!isset($this->data['Event']['start']) || empty($this->data['Event']['start'])) {
			if (!isset($this->data['Event']['start_Date']) || empty($this->data['Event']['start_Date'])) {
				$this->data['Event']['start_Date'] = date("m/d/Y");
			}
			if (!isset($this->data['Event']['start_Date']) || empty($this->data['Event']['start_Date'])) {
				$this->data['Event']['start_Time'] = "12 pm";
			}
			$this->data['Event']['start'] = $this->data['Event']['start_Date'] . " " . $this->data['Event']['start_Time'];
		}

		if (!isset($this->data['Event']['end']) || empty($this->data['Event']['end'])) {
			if (!isset($this->data['Event']['end_Date']) || empty($this->data['Event']['end_Date'])) {
				$this->data['Event']['end_Date'] = $this->data['Event']['start_Date'];
			}
			if (!isset($this->data['Event']['end_Time']) || empty($this->data['Event']['end_Time'])) {
				$endsecs  = strtotime($this->data['Event']['start']) + 3600;
				$this->data['Event']['end_Time'] = date("g:i a",$endsecs);
				if(date("m/d/Y",$endsecs) != date("m/d/Y",strtotime($this->data['Event']['start']))) {
					$this->data['Event']['end_Date'] = date("m/d/Y",$endsecs);
				}
			}
			$this->data['Event']['end'] = $this->data['Event']['end_Date'] . " " . $this->data['Event']['end_Time'];
		}

		// Sanitize the data
		$this->data['Event']['start'] = date('Y-m-d H:i:s', strtotime($this->data['Event']['start']));
		$this->data['Event']['end'] = date('Y-m-d H:i:s', strtotime($this->data['Event']['end']));

		
		$startTS 	= strtotime($this->data['Event']['start']);
		$endTS 		= strtotime($this->data['Event']['end']);
		
		// if end datetime is less that start datetime then switch em
		if($endTS < $startTS) {
			$this->data['Event']['start'] = $this->data['Event']['end'];
			$this->data['Event']['end'] = date('Y-m-d H:i:s', $startTS);
		}
		return true;
	}
}

?>