protected function encode($data)
{
switch (Utilities::encoding($data)) {
case 'bool':
$dataString = (bool) $data ? 'true' : 'false';
break;
case 'string':
$dataString = sprintf('"%s"', addcslashes($data, "\t\"\$\\"));
break;
case 'numeric':
$dataString = (string) $data;
break;
default:
case 'serialize':
$dataString = 'unserialize(base64_decode(\'' . base64_encode(serialize($data)) . '\'))';
break;
}
return $dataString;
}