| <?php | |
| /** | |
| * Copyright 2007 Google Inc. | |
| * | |
| * Licensed under the Apache License, Version 2.0 (the "License"); | |
| * you may not use this file except in compliance with the License. | |
| * You may obtain a copy of the License at | |
| * | |
| * http://www.apache.org/licenses/LICENSE-2.0 | |
| * | |
| * Unless required by applicable law or agreed to in writing, software | |
| * distributed under the License is distributed on an "AS IS" BASIS, | |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| * See the License for the specific language governing permissions and | |
| * limitations under the License. | |
| */ | |
| /** | |
| * Template for rendering the frontpage of the PHP shell. | |
| * TODO: get rid of the logic and use a templating system, like Smarty. | |
| */ | |
| require_once 'google/appengine/api/users/UserService.php'; | |
| use google\appengine\api\users\UserService; | |
| session_start(); | |
| ?> | |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" | |
| "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | |
| <html> | |
| <head> | |
| <meta http-equiv="content-type" content="text/html; charset=utf-8" /> | |
| <title> Interactive Shell </title> | |
| <link rel="stylesheet" type="text/css" href="/static/style.css"> | |
| <script type="text/javascript" src="/static/shell.js"></script> | |
| </head> | |
| <body> | |
| <p> Interactive server-side PHP shell for | |
| <a href="http://code.google.com/appengine/">Google App Engine</a>. | |
| <!-- TODO: update this link with one to codesite. --> | |
| </p> | |
| <textarea id="output" rows="22" readonly="readonly"> | |
| <?php echo "$_SERVER[SERVER_SOFTWARE]\n"; ?> | |
| PHP <?php echo phpversion(); ?> | |
| </textarea> | |
| <?php | |
| $salt = sprintf("%s%d", getenv("HTTP_X_APPENGINE_CITY"), mt_rand()); | |
| $token = md5(uniqid($salt, true)); | |
| $_SESSION['token'] = $token; | |
| ?> | |
| <form id="form" action="shell.do" method="get"> | |
| <nobr> | |
| <textarea class="prompt" id="caret" readonly="readonly" rows="4" | |
| onfocus="document.getElementById('statement').focus()" | |
| >>>></textarea> | |
| <textarea class="prompt" name="statement" id="statement" rows="4" | |
| onkeydown="return shell.onPromptKeyDown(event);"></textarea> | |
| </nobr> | |
| <input type="hidden" name="token" value="<?php echo $token; ?>" /> | |
| <input type="submit" style="display: none" /> | |
| </form> | |
| <p id="ajax-status"></p> | |
| <p id="toolbar"> | |
| <?php $user = UserService::getCurrentUser(); | |
| if ($user) { | |
| ?> | |
| <span class="username"><?php echo $user->getNickname(); ?></span> | |
| <a href="<?php echo UserService::createLogoutURL('', "google.com");?>">log out</a> | |
| <?php } else { ?> | |
| <a href="<?php echo UserService::createLoginURL('');?>">log in</a> | |
| <?php } ?> | |
| | <a href="reset.do">Reset Session</a> | |
| | Shift-Enter for newline | |
| | Ctrl-Up/Down for history | |
| | <a href="http://code.google.com/appengine/"> | |
| <img id="logo" src="/static/appengine_button_noborder.gif" width="120px" height="30px" /></a> | |
| </p> | |
| <script type="text/javascript"> | |
| document.getElementById('statement').focus(); | |
| </script> | |
| </body> | |
| </html> |