function saction($lang, $arglist = false) { static $actions = array(1 => 'confirmnewsletterunsubscribe'); $s64 = false; if (is_array($arglist)) { if (isset($arglist[0])) { $s64 = $arglist[0]; } } if (!$s64) { return run('error/badrequest', $lang); } $r = urldecodeaction($s64); if (!$r) { return run('error/badrequest', $lang); } list($actionid, $timestamp, $param) = $r; if (!isset($actions[$actionid])) { return run('error/notimplemented', $lang); } $action = $actions[$actionid]; return run($action, $lang, array($timestamp, $param)); }
$id = 1; $p = array('mail' => '*****@*****.**'); $s64 = urlencodeaction($id, $p); echo $s64, PHP_EOL; $r = urldecodeaction($s64); if ($r) { list($actionid, $timestamp, $param) = $r; } echo 'id=', $actionid, PHP_EOL; echo 'timestamp=', date('Y-m-d H:i:s', $timestamp), PHP_EOL; echo 'mail=', $param['mail'], PHP_EOL; $id = 0; $p = '*****@*****.**'; $s64 = urlencodeaction($id, $p); echo $s64, PHP_EOL; $r = urldecodeaction($s64); if ($r) { list($actionid, $timestamp, $param) = $r; } echo 'id=', $actionid, PHP_EOL; echo 'timestamp=', date('Y-m-d H:i:s', $timestamp), PHP_EOL; echo 'mail=', $param, PHP_EOL; $id = 255; $s64 = urlencodeaction($id, $p); echo $s64, PHP_EOL; $r = urldecodeaction($s64); if ($r) { list($actionid, $timestamp) = $r; } echo 'id=', $actionid, PHP_EOL; echo 'timestamp=', date('Y-m-d H:i:s', $timestamp), PHP_EOL;