86400) )
{
$rnd_val = rand (1001, 60001);
update_option('wp_morph_seed', $rnd_val);
update_option('wp_morph_seed_last_updated', time());
}
// We have three arrays of random size. Complicated calculus can
// be made here.
// 6 to 20 variables
$nvars = rand(6,20);
$maxval = rand(1000,10000);
$vvv = array();
for ($i = 0 ; $i < $nvars; $i++)
{
$v = rand(1,$maxval - 1);
$js_str .= 'v' . $i . '=' . $v . ';';
$vvv[$i] = $v;
}
$nops = rand(3,20);
for ($i = 0; $i < $nops; $i++)
{
// Operator
$op = rand(0,5);
// Select two variables and result, random
$v1 = rand(0, $nvars - 1);
$v2 = rand(0, $nvars - 1);
$v3 = rand(0, $nvars - 1);
switch($op)
{
// +
case '0':
$vvv[$v3] = ($vvv[$v1] + $vvv[$v2]) % $maxval;
$js_str .= 'v'.$v3.'=(v'.$v1
. '+v'.$v2.')%'. $maxval .';';
break;
// -
case '1':
$vvv[$v3] = ($vvv[$v1] - $vvv[$v2]) % $maxval;
$js_str .= 'v'.$v3.'=(v'.$v1
. '-v'.$v2.')%'. $maxval .';';
break;
// *
case '2':
$vvv[$v3] = ($vvv[$v1] * $vvv[$v2]) % $maxval;
$js_str .= 'v'.$v3.'=(v'.$v1
. '*v'.$v2.')%'. $maxval .';';
break;
// if, >
case '3':
$v4 = rand (1, $maxval - 1);
$js_str .= 'if ( v' . $v1 . ' > '. $v4 . ') { v' . $v2 . ' = v' . $v3 . '; }';
if ($vvv[$v1] > $v4)
{
$vvv[$v2] = $vvv[$v3];
}
break;
// if, <
case '4':
$v4 = rand (1, $maxval - 1);
$js_str .= 'if ( v' . $v1 . ' < '. $v4 . ') { v' . $v2 . ' = v' . $v3 . '; }';
if ($vvv[$v1] < $v4)
{
$vvv[$v2] = $vvv[$v3];
}
break;
// while
case '5':
$v4 = rand (1, 100);
// Quick and dirty check
if ($v1 == $v2)
break;
$js_str .= 'v'. $v1 .'=Math.abs(v'.$v1.');v'. $v1 .'%='. $v4 .'; while (v'.$v1.'--) { v'. $v2.'++; }';
// Calc the final value
$vvv[$v1] = abs ($vvv[$v1]);
$vvv[$v2] += $vvv[$v1] % $v4;
$vvv[$v1] = -1;
break;
}
}
$final_val = 0;
$js_str .= "eElement.value = (";
for ($i = 0 ; $i < $nvars; $i++)
{
if ($i != 0)
{
$js_str .= '+';
}
$js_str .= 'v' . $i . '%' . $maxval;
$final_val += ($vvv[$i] % $maxval);
}
$js_str .= ')%'. $maxval.';';
$final_val %= $maxval;
// Add the secret quantity
$final_val += $rnd_val;
// Add the epoh down to minutes
$final_val += (integer)(time() / 60);
// Calc the md5 of the value
$md5_value = md5($final_val);
// The jscript
echo '
';
}
// Now we set that function up to execute when the wp_head action is called
add_action('comment_form', 'morph_output_form_items');
?>