Esempio n. 1
0
 /**
  * Put ToDo
  *
  * @param Batchblue_Service_BatchBook_ToDo $todo
  * @return Batchblue_Service_BatchBook_ToDoService   Provides a fluent interface
  */
 public function putToDo(Batchblue_Service_BatchBook_ToDo $todo)
 {
     $httpClient = new Zend_Http_Client('https://' . $this->_accountName . '.batchbook.com/service/todos/' . $todo->getId() . '.xml');
     if ($todo->getFlagged() == null || $todo->getFlagged() == false) {
         $flaggedParam = "false";
     } else {
         $flaggedParam = "true";
     }
     if ($todo->getComplete() == null || $todo->getComplete() == false) {
         $completeParam = "false";
     } else {
         $completeParam = "true";
     }
     $paramsPut = array('todo[title]' => $todo->getTitle(), 'todo[description]' => $todo->getDescription(), 'todo[due_date]' => $this->formatDateForBatchbook($todo->getDueDate()), 'todo[flagged]' => $flaggedParam, 'todo[complete]' => $completeParam);
     $httpClient->setAuth($this->_token, 'x');
     $httpClient->setHeaders(Zend_Http_Client::CONTENT_TYPE, Zend_Http_Client::ENC_URLENCODED);
     $httpClient->setRawData(http_build_query($paramsPut, '', '&'), Zend_Http_Client::ENC_URLENCODED);
     $response = $httpClient->request(Zend_Http_Client::PUT);
     if (200 != $response->getStatus()) {
         //TODO: throw more specific exception
         echo $httpClient->getLastRequest();
         throw new Exception('ToDo not updated:' . $response->getMessage() . "\n" . $response->getBody());
     }
     return $this;
 }