On gists
Nette own storage via Session - wrapper
Nette
PHP
Storage.php
Raw
#
<?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]);
}
}