示例#1
0
function readCode($uDir, $fullFile)
{
    $contents = "";
    // Let's make sure the file exists and is readable first.
    if (file_exists($fullFile) == false) {
        //echo "File does not exist";
        // Create blank file
        write2File($uDir, $fullFile, "");
        if (!is_dir($uDir)) {
            // directory does not exist
            mkdir($uDir);
        }
        $handle = fopen($fullFile, 'r') or die('Cannot open file:  ' . $fullFile);
        //implicitly creates file
        //echo "File has been created";
    } else {
        //echo "File exists";
    }
    if (is_readable($fullFile)) {
        if (!($handle = fopen($fullFile, 'r'))) {
            //echo "Cannot open file ($fullFile)";
            exit;
        }
        $contents = fread($handle, filesize($fullFile));
        fclose($handle);
    } else {
        //echo "The file $fullFile is not writable";
    }
    return $contents;
}
示例#2
0
function readCode($uDir, $fullFile)
{
    echo "readCode({$uDir}, {$fullFile})\n";
    $contents = "";
    //echo "\n".$fullFile."\n";
    // Let's make sure the file exists and is readable first.
    if (file_exists($fullFile) == false) {
        //echo "File does not exist";
        // Create blank file
        write2File($uDir, $fullFile, "");
        if (!is_dir($uDir)) {
            // directory does not exist
            mkdir($uDir);
        }
        //$handle = fopen($fullFile, 'r') or die('Cannot open file:  '.$fullFile);
        //implicitly creates file
        //echo "File has been created";
    } else {
        //echo "File exists";
    }
    $handle = fopen($fullFile, 'r') or die('Cannot open file:  ' . $fullFile);
    if (is_readable($fullFile)) {
        if (!($handle = fopen($fullFile, 'r'))) {
            //echo "Cannot open file ($fullFile)";
            exit;
        }
        clearstatcache();
        $length = filesize($fullFile);
        echo "Length:" . $length . "\n";
        echo "fullFile:" . $fullFile . "\n";
        $contents = fread($handle, $length);
        fclose($handle);
    } else {
        echo "The file {$fullFile} is not readable";
    }
    echo "Contents:'" . $contents . "'\n";
    return $contents;
}
示例#3
0
function runCode($language, $filename, $inputFile)
{
    global $uDir, $code;
    $output = "";
    // Save, compile, run via selected language
    if ($language == "Python") {
        // Save $code to file
        $ext1 = ".py";
        $fullFile = $uDir . $filename . $ext1;
        write2File($uDir, $fullFile, $code);
        // Run code
        $command1 = "python " . $fullFile . " -i " . $inputFile . " 2>&1";
        $run = shell_exec($command1);
        /*
        		// Display output
        <textarea  id="output" name="output" readonly="readonly"><? echo $run; ?></textarea><br />
        */
        $output = $run . "\n" . $command1;
    } else {
        if ($language == "Java") {
            // Save $code to file
            $ext1 = ".java";
            $fullFile = $uDir . $filename . $ext1;
            //echo $fullFile;
            write2File($uDir, $fullFile, $code);
            // Compile code
            $command1 = "javac " . $fullFile . " 2>&1";
            $console = shell_exec($command1);
            $output = $console;
            if ($output == "") {
                // no errors
                // Run compiled code
                $command2 = "cd " . $uDir . "; java " . $filename . " < " . $inputFile . " 2>&1";
                $run = shell_exec($command2);
                /*
                			// Display output
                <hr> <textarea  name="output" id="output" readonly="readonly"><? echo $run; ?></textarea><br />
                }
                			else
                			{ // Errors
                			// Display errors
                <hr /> <pre  id="output" ><? echo $console; ?></pre><br />
                */
                $output = $run;
            }
        } else {
            if ($language == "C++") {
                // Save $code to file
                $ext1 = ".cpp";
                $ext2 = ".out";
                //echo $fullFile;
                write2File($uDir, $uDir . $filename . $ext1, $code);
                // Run code
                //$console = shell_exec("python -c '".$code."'");
                $command1 = "cd " . $uDir . "; g++ " . $filename . $ext1 . " -o " . $filename . $ext2 . " 2>&1";
                //echo $command1;
                $console = shell_exec($command1);
                //echo $console;
                $output = $console;
                if ($output == "") {
                    $command2 = "cd " . $uDir . "; ./" . $filename . $ext2 . " < " . $inputFile . " 2>&1";
                    //echo $command2;
                    $run = shell_exec($command2);
                    /*
                    			// Display output
                    <textarea  name="output" id="output" readonly="readonly"><? echo $run; ?></textarea><br />
                    */
                    $output = $run;
                }
            }
        }
    }
    return $output;
}
示例#4
0
function runCode($language, $filename, $inputFile)
{
    global $uDir, $code;
    $output = "";
    // Save, compile, run via selected language
    if ($language == "Python") {
        // Save $code to file
        $ext1 = ".py";
        $fullFile = $uDir . $filename . $ext1;
        write2File($uDir, $fullFile, $code);
        // Run code
        $command1 = "python " . $fullFile . " -i " . $inputFile . " 2>&1";
        $run = shell_exec($command1);
        $output = $run . "\n" . $command1;
    } else {
        if ($language == "Java") {
            // Save $code to file
            $ext1 = ".java";
            $fullFile = $uDir . $filename . $ext1;
            //echo $fullFile;
            write2File($uDir, $fullFile, $code);
            // Compile code
            $command1 = "javac " . $fullFile . " 2>&1";
            $console = shell_exec($command1);
            $output = $console;
            if ($output == "") {
                // no errors
                // Run compiled code
                $command2 = "cd " . $uDir . "; java " . $filename . " < " . $inputFile . " 2>&1";
                $run = shell_exec($command2);
                $output = $run;
            }
        } else {
            if ($language == "C++") {
                // Save $code to file
                $ext1 = ".cpp";
                $ext2 = ".out";
                //echo $fullFile;
                write2File($uDir, $uDir . $filename . $ext1, $code);
                // Run code
                //$console = shell_exec("python -c '".$code."'");
                $command1 = "cd " . $uDir . "; g++ " . $filename . $ext1 . " -o " . $filename . $ext2 . " 2>&1";
                //echo $command1;
                $console = shell_exec($command1);
                //echo $console;
                $output = $console;
                if ($output == "") {
                    $command2 = "cd " . $uDir . "; ./" . $filename . $ext2 . " < " . $inputFile . " 2>&1";
                    //echo $command2;
                    $run = shell_exec($command2);
                    $output = $run;
                }
            }
        }
    }
    return $output;
}
示例#5
0
function findAdminUsers($admLvl)
{
    global $prefix, $db;
    $sql = "select username, user_id FROM " . $prefix . "_users where user_level={$admLvl}";
    $res = $db->sql_query($sql);
    if ($res <= 0) {
        echo "<H3> Error in getting phpbb admins query: {$sql}</H3>\n";
        continue;
    }
    echo "Will now try to find admin users: ";
    while ($row = $db->sql_fetchrow($res)) {
        echo $row['username'] . " (" . $row['user_id'] . ") ";
        $admStr .= $row['user_id'] . ",";
    }
    write2File(dirname(__FILE__) . "/config_admin_users.php", '<? $admin_users=array(' . substr($admStr, 0, -1) . '); ?>');
}