📄 demo.php.txt
字号:
print '<tr><td>Before you get started, please <a href="' . $redirect_url . '">sign in</a> to your personal Google Base account.</td></tr>' . "\n"; print '</table>' . "\n"; print '</center></body></html>' . "\n";}/** * Prints the table of recipes the user has already entered * on the left-hand side of the page. */function showRecipeListPane($token) { global $parsedEntries; print '<td style="width:50%; text-align:center; vertical-align:top">' . "\n"; print '<table>' . "\n"; print '<tr><th colspan="5" style="text-align:center">Recipes you have added</th></tr>' . "\n"; getItems($token); if(count($parsedEntries) == 0) { print '<tr><td colspan="5" style="text-align:center"><i>(none)</i></td></tr>' . "\n"; } else { print '<tr>' . "\n"; print '<td style="text-align:center"><i>Name</i></td>' . "\n"; print '<td style="text-align:center"><i>Cuisine</i></td>' . "\n"; print '<td style="text-align:center"><i>Serves</i></td>' . "\n"; print '<td colspan="2" style="text-align:center"><i>Actions</i></td>' . "\n"; print '</tr>' . "\n"; for($i = 0; $i < count($parsedEntries); $i++) { print '<tr>' . "\n"; print '<td align="left" valign="top"><b><a href="' . $parsedEntries[$i]['alternate'] . '">' . $parsedEntries[$i]['title'] . '</a></b></td>' . "\n"; print '<td style="text-align:center;vertical-align:top">' . $parsedEntries[$i]['g:cuisine'] . '</td>' . "\n"; print '<td style="text-align:center;vertical-align:top">' . $parsedEntries[$i]['g:serving_count'] . '</td>' . "\n"; /* Create an Edit button for each existing recipe. */ print '<td style="text-align:center;vertical-align:top">' . "\n"; print '<form method="post" action="' . $_SERVER[PHP_SELF] . '" style="margin-top:0;margin-bottom:0;">' . "\n"; print '<input type="hidden" name="action" value="edit">' . "\n"; print '<input type="hidden" name="token" value="' . $token . '">' . "\n"; foreach ($parsedEntries[$i] as $key => $value) { print '<input type="hidden" name="' . $key . '" value="' . $value . '">' . "\n"; } print '<input type="submit" value="Edit">' . "\n"; print '</form>' . "\n"; print '</td>' . "\n"; /* Create a Delete button for each existing recipe. */ print '<td style="text-align:center; vertical-align:top">' . "\n"; print '<form method="post" action="' . $_SERVER[PHP_SELF] . '" style="margin-top:0;margin-bottom:0;">' . "\n"; print '<input type="hidden" name="action" value="delete">' . "\n"; print '<input type="hidden" name="token" value="' . $token . '">' . "\n"; print '<input type="hidden" name="link" value="' . $parsedEntries[$i]['id'] . '">' . "\n"; print '<input type="submit" value="Delete">' . "\n"; print '</form>' . "\n"; print '</td>' . "\n"; print '</tr>' . "\n"; } } /* Create a "Delete all" button" to demonstrate batch requests. */ print '<tr><td colspan="5" style="text-align:center">' . "\n"; print '<form method="post" action="' . $_SERVER[PHP_SELF] . '" style="margin-top:0;margin-bottom:0">' . "\n"; print '<input type="hidden" name="action" value="delete_all">' . "\n"; print '<input type="hidden" name="token" value="' . $token . '">' . "\n"; for($i = 0; $i < count($parsedEntries); $i++) { print '<input type="hidden" name="link_' . $i . '" value="' . $parsedEntries[$i]['id'] . '">' . "\n"; } print '<input type="submit" value="Delete All"'; if(count($parsedEntries) == 0) { print ' disabled="true"'; } print '></form></td></tr>' . "\n"; print '</table>' . "\n"; print '</td>' . "\n";}/** * Prints a small form allowing the user to insert a new * recipe. */function showRecipeInsertPane($token) { global $cuisines; print '<td valign="top" width="50%">' . "\n"; print '<table width="100%">' . "\n"; print '<tr><th colspan="2" style="text-align:center">Insert a new recipe</th></tr>' . "\n"; print '<form method="post" action="' . $_SERVER[PHP_SELF] . '">' . "\n"; print '<input type="hidden" name="action" value="insert">' . "\n"; print '<input type="hidden" name="token" value="' . $token . '">' . "\n"; print '<tr><td align="right">Title:</td>' . "\n"; print '<td><input type="text" name="recipe_title" class="half">' . '</td></tr>' . "\n"; print '<tr><td align="right">Main ingredient:</td>' . "\n"; print '<td><input type="text" name="main_ingredient" class="half">' . '</td></tr>' . "\n"; print '<tr><td align="right">Cuisine:</td>' . "\n"; print '<td><select name="cuisine" class="half">' . "\n"; foreach ($cuisines as $curCuisine) { print '<option value=' . $curCuisine . '>' . $curCuisine . '</option>' . "\n"; } print '</select></td></tr>' . "\n"; print '<tr><td align="right">Cooking Time:</td>' . '<td><input type="text" name="time_val" size=2 maxlength=2> ' . '<select name="time_units"><option value="minutes">minutes</option>' . '<option value="hours">hours</option></select></td></tr>' . "\n"; print '<tr><td align="right">Serves:</td>' . "\n"; print '<td><input type="text" name="serves" size=2 maxlength=3></td></tr>' . "\n"; print '<tr><td align="right">Recipe:</td>' . "\n"; print '<td><textarea class="full" name="recipe_text"></textarea></td></tr>' . "\n"; print '<td> </td><td><input type="submit" value="Submit"></td>' . "\n"; print '</form></tr></table>' . "\n"; print '</td>' . "\n";}/** * Shows a menu allowing the user to update an existing * recipe with the Base API update feature. */function showEditMenu() { global $cuisines; $splitCookingTime = split(" ", $_POST['g:cooking_time']); print '<html>' . "\n"; print '<head><title>PHP Demo: Google Base data API</title>' . "\n"; print '<link rel="stylesheet" type="text/css" href="../../../css/dev_docs.css">' . "\n"; print '</head>' . "\n"; print '<body><center>' . "\n"; print '<table style="width:50%">' . "\n"; print '<tr><th colspan="2" style="text-align:center">Edit recipe:</th></tr>' . "\n"; print '<form method="post" action="' . $_SERVER[PHP_SELF] . '">' . "\n"; print '<input type="hidden" name="action" value="update">' . "\n"; print '<input type="hidden" name="link" value="' . $_POST['edit'] . '">' . "\n"; print '<input type="hidden" name="token" value="' . $_POST['token'] . '">' . "\n"; print '<tr><td align="right">Title:</td>' . "\n"; print '<td><input type="text" name="recipe_title" class="half" value="' . $_POST['title'] . '"></td></tr>' . "\n"; print '<tr><td align="right">Main ingredient:</td>' . "\n"; print '<td><input type="text" name="main_ingredient" value="' . $_POST['g:main_ingredient'] . '" class="half"></td></tr>' . "\n"; print '<tr><td align="right">Cuisine:</td>' . "\n"; print '<td><select name="cuisine" class="half">' . "\n"; foreach ($cuisines as $curCuisine) { print '<option value="' . $curCuisine . '"'; if($curCuisine == $_POST['g:cuisine']) { print ' selected="selected"'; } print '>' . $curCuisine . "</option>\n"; } print '</select></td></tr>' . "\n"; print '<tr><td align="right">Cooking Time:</td>' . '<td><input type="text" name="time_val" size=2 maxlength=2 value="' . $splitCookingTime[0] . '"> ' . "\n"; print '<select name="time_units">' . "\n"; if($splitCookingTime[1] == "minutes") { print '<option value="minutes" selected="selected">minutes</option>' . "\n"; print '<option value="hours">hours</option>' . "\n"; } else { print '<option value="minutes">minutes</option>' . "\n"; print '<option value="hours" selected="selected">hours</option>' . "\n"; } print '</select></td></tr>' . "\n"; print '<tr><td align="right">Serves:</td>' . "\n"; print '<td><input type="text" name="serves" value="' . $_POST['g:serving_count'] . '" size=2 maxlength=3></td></tr>' . "\n"; print '<tr><td align="right">Recipe:</td>' . "\n"; print '<td><textarea class="full" name="recipe_text">' . $_POST['content'] . '</textarea></td></tr>' . "\n"; print '<td> </td><td><input type="submit" value="Update"></td>' . "\n"; print '</form></tr></table>' . "\n"; print '</body></html>' . "\n";}/** * Displays both the "List of current recipes" and * "Insert a new recipe" panels in a single table. */function showMainMenu($tableTitle, $sessionToken) { print '<html>' . "\n"; print '<head><title>PHP Demo: Google Base data API</title>' . "\n"; print '<link rel="stylesheet" type="text/css" href="../../../css/dev_docs.css">' . "\n"; print '</head>' . "\n"; print '<body><center>' . "\n"; print '<table style="width: 75%;text-align:center">' . "\n"; print '<tr>' . "\n"; print '<th colspan="2" style="text-align:center">PHP Demo: Google Base data API' . "\n"; print '</tr>' . "\n"; print '<tr><td colspan="2" align="center">' . $tableTitle . '</td></tr>' . "\n"; print '<tr>' . "\n"; // Create the two sub-tables. showRecipeListPane($sessionToken); showRecipeInsertPane($sessionToken); // Add a "Sign out" link. print '<tr><th colspan="2" style="text-align: center">Or click here to' . ' <a href="http://www.google.com/accounts/Logout">sign out</a>' . ' of your Google account.</th></tr>' . "\n"; // Close the master table. print '</table>' . "\n"; print '</center></body></html>' . "\n";}/** * We arrive here after the user first authenticates and we get back * a single-use token. */function showFirstAuthScreen() { $singleUseToken = $_GET['token']; $sessionToken = exchangeToken($singleUseToken); if(!$sessionToken) { showIntroPage(); } else { $tableTitle = 'Here\'s your <b>single use token:</b> <code>' . $singleUseToken . '</code>' . "\n" . '<br>And here\'s the <b>session token:</b> <code>' . $sessionToken . '</code>'; showMainMenu($tableTitle, $sessionToken); }}/** * Main logic. Take action based on the GET and POST * parameters, which reflect whether the user has * authenticated and which action they want to perform. */if(count($_GET) == 1 && array_key_exists('token', $_GET)) { showFirstAuthScreen();} else { if(count($_POST) == 0) { showIntroPage(); } else { if($_POST['action'] == 'insert') { if(postItem()) { showMainMenu('Recipe inserted!', $_POST['token']); } else { showMainMenu('Recipe insertion failed.', $_POST['token']); } } else if($_POST['action'] == 'delete') { if(deleteItem()) { showMainMenu('Recipe deleted.', $_POST['token']); } else { showMainMenu('Recipe deletion failed.', $_POST['token']); } } else if($_POST['action'] == 'delete_all') { if(batchDelete()) { showMainMenu('All recipes deleted.', $_POST['token']); } else { showMainMenu('Batch deletion failed.', $_POST['token']); } } else if($_POST['action'] == 'edit') { showEditMenu(); } else if($_POST['action'] == 'update') { if(updateItem()) { showMainMenu('Recipe successfully updated.', $_POST['token']); } else { showMainMenu('Recipe update failed.', $_POST['token']); } } else { showIntroPage(); } }}?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -