Created
December 12, 2018 12:53
-
-
Save Kcko/68d73b620c3f48507f18874e52e10004 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace Model; | |
use Nette; | |
class DemandStorage extends Nette\Object | |
{ | |
protected $session; | |
public function __construct(Nette\Http\Session $session) | |
{ | |
$this->session = $session->getSection('demandForm'); | |
} | |
public function flush() | |
{ | |
$this->session->remove(); | |
} | |
public function getRawData() | |
{ | |
return isset($this->session['formData']) ? $this->session['formData'] : array(); | |
} | |
public function getStepNumber() | |
{ | |
return isset($this->session['step']) ? $this->session['step'] : 1; | |
} | |
public function setRawData($data) | |
{ | |
$this->session['formData'] = $data; | |
return $this; | |
} | |
public function addRawData($data) | |
{ | |
$originalData = $this->getRawData(); | |
$data = array_merge($originalData, $data); | |
$this->setRawData($data); | |
return $this; | |
} | |
public function setStepNumber($step = 1) | |
{ | |
$this->session['step'] = $step; | |
return $this; | |
} | |
public function getValue($name, $default = NULL) | |
{ | |
$data = $this->getRawData(); | |
return Nette\Utils\Arrays::get($data, $name, $default); | |
} | |
public function setValue($name, $value) | |
{ | |
$data = $this->getRawData(); | |
$data[$name] = $value; | |
$this->setRawData($data); | |
return $this; | |
} | |
public function unsetValue($name) | |
{ | |
$data = $this->getRawData(); | |
if(isset($data[$name])) | |
unset($data[$name]); | |
$this->setRawData($data); | |
return $this; | |
} | |
public function issetValue($name) | |
{ | |
$data = $this->getRawData(); | |
return isset($data[$name]); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment