⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demo-zend.php.txt

📁 google的gdata api包
💻 TXT
📖 第 1 页 / 共 2 页
字号:
}/** * 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>&nbsp;' .    '<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>&nbsp;</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, $itemsFeedURL;  $client = Zend_Gdata_AuthSub::getHttpClient($_POST['token']);  $gdata = new Zend_Gdata($client);  try {    $feed = $gdata->getFeed($itemsFeedURL . "?");    foreach ($feed as $feed_entry) {      if ($feed_entry->link('edit') == $_POST['edit']) {        $splitCookingTime = split(" ", $feed_entry->cooking_time());        print '<html>' . "\n";        print '<head><title>PHP Demo: Google Base 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="' .              $feed_entry->title() . '"></td></tr>' . "\n";        print '<tr><td align="right">Main ingredient:</td>' . "\n";        print '<td><input type="text" name="main_ingredient" value="' .              $feed_entry->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 == $feed_entry->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] . '">&nbsp;' . "\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="' .              $feed_entry->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">' .              $feed_entry->content() . '</textarea></td></tr>' . "\n";        print '<td>&nbsp;</td><td><input type="submit" value="Update"></td>' . "\n";        print '</form></tr></table>' . "\n";        print '</body></html>' . "\n";        break;      }    }  } catch (Exception $e) {    showMainMenu($e->getMessage(), $_POST['token']);  }}/** * 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 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' .        '<br><font size=-1><span style="font-variant: small-caps;">Powered By</span>' .        ' <a href="http://framework.zend.com/download/gdata">' .        'Zend Google Data Client Library</a></font></th>' . "\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() {  global $gdata;  $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. */function handlePost() {  try {    $post_response = postItem();    if ($post_response->isSuccessful()) {      showMainMenu('Recipe inserted!', $_POST['token']);    } else {      showMainMenu('Recipe insertion failed: ' . $post_response->getMessage(),                   $_POST['token']);    }  } catch (Exception $e) {    showMainMenu('Recipe insertion failed: ' . $e->getMessage(), $_POST['token']);  }}function handleDelete() {  try {    deleteItem();    showMainMenu('Recipe deleted.', $_POST['token']);  } catch (Exception $e) {    showMainMenu('Recipe deletion failed: ' . $e->getMessage(), $_POST['token']);  }}function handleBatch() {  try {    $batch_response = batchDelete();    if ($batch_response->isSuccessful()) {      showMainMenu('All recipes deleted.', $_POST['token']);    } else {      showMainMenu('Batch deletion failed: ' . $batch_response->getMessage(),                   $_POST['token']);    }  } catch (Exception $e) {    showMainMenu('Batch deletion failed: ' . $e->getMessage(),                 $_POST['token']);  }}function handleUpdate() {  try {    if (updateItem()) {      showMainMenu('Recipe successfully updated.', $_POST['token']);    } else {      showMainMenu('Recipe update failed.', $_POST['token']);    }  } catch (Exception $e) {    showMainMenu('Recipe update failed: ' . $e->getMessage(),                 $_POST['token']);  }}if (count($_GET) == 1 && array_key_exists('token', $_GET)) {  showFirstAuthScreen();} else {  if (count($_POST) == 0) {    showIntroPage();  } else {    if ($_POST['action'] == 'insert') {      handlePost();    } else if ($_POST['action'] == 'delete') {      handleDelete();    } else if ($_POST['action'] == 'delete_all') {      handleBatch();    } else if ($_POST['action'] == 'edit') {      showEditMenu();    } else if ($_POST['action'] == 'update') {      handleUpdate();    } else {      showIntroPage();    }  }}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -