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'); ?>