/** * Deletes this entry to the server using the referenced * Zend_Http_Client to do a HTTP DELETE to the edit link stored in this * entry's link collection. * * @return boolean The success of the delete operation * @throws Zend_Gdata_App_Exception */ public function delete() { if ($this->id) { // If id is set, look for link rel="edit" in the // entry object and DELETE. $editLink = $this->getLink('edit'); $editUri = $editLink->href; if (!$editUri) { throw new Zend_Gdata_App_Exception('Cannot delete entry; no link rel="edit" is present.'); } $client = $this->getHttpClient(); if (is_null($client)) { $client = Zend_Gdata_App::getStaticHttpClient(); } $client->resetParameters(); $client->setUri($editUri); $client->setHeaders('Content-Type', null); $client->setRawData(''); if (Zend_Gdata_App::getHttpMethodOverride()) { $client->setHeaders('X-HTTP-Method-Override', 'DELETE'); $response = $client->request('DELETE'); } else { $response = $client->request('DELETE'); } if ($response->getStatus() !== 200) { require_once 'Zend/Gdata/App/HttpException.php'; $exception = new Zend_Gdata_App_HttpException('Expected response code 200, got ' . $response->getStatus()); $exception->setResponse($response); throw $exception; } return true; } else { throw new Zend_Gdata_App_Exception('Cannot edit entry; no id is present'); } }