/** * * @param Tag $tag_ * @throws InvalidArgumentException */ public function updateTag(Tag $tag_) { try { if (is_null($this->table)) { throw new InvalidArgumentException('Attribute "table" can\'t be NULL !'); } if (isset($this->id) && !is_null($this->id)) { $where = 'id = ' . $this->id; } $tagMapper = new TagMapper(); $tagMapper->setId($this->getFirstId()); $tag = $tagMapper->selectTag(); if (!is_null($tag->getId())) { return parent::update($this->table, $tag_, $where); } elseif (is_null($tag->getId())) { throw new Exception('Tag does not exist !'); } } catch (InvalidArgumentException $e) { print $e->getMessage(); exit; } catch (Exception $e) { print $e->getMessage(); exit; } }
public function testDelete() { $tagMapper = new TagMapper(); $tagMapper->setId(50); $tagMapper->deleteTag(); $this->assertEquals(new Tag(), $tagMapper->selectTag()); }
/** * @test */ function タグをentryに紐づけて保存() { $emapper = new EntryMapper(self::$pdo); $entry = new Entry(); $entry->author = 'Mr. Dummy'; $entry->title = 'Hello'; $entry->content = 'Hello World'; $entry->published = new DateTime(); $emapper->insert($entry); $tmapper = new TagMapper(self::$pdo); $funny = new Tag('funny'); $tmapper->insert($entry, $funny); $entries = $emapper->findByTag($funny); $this->assertSame($entry->entryId, $entries->fetch()->entryId, 'タグを保存できた'); $tmapper->delete($entry, $funny); $entries = $emapper->findByTag($funny); $this->assertEmpty($entries->fetchAll(), 'タグを消したのでヒットしなくなる'); }
$options = array('indent' => ' ', 'addDecl' => false, XML_SERIALIZER_OPTION_RETURN_RESULT => true, "defaultTagName" => "tag"); $serializer = new XML_Serializer($options); Rest::sendResponse(200, $serializer->serialize($tagsArray), 'application/xml'); } } } else { Rest::sendResponse(204); } break; case 'post': try { $tag = new Tag(); $data_tag = $http->getRequestVars(); $tagObject = initObject($data_tag, $tag, true); if (!emptyObject($tagObject)) { $tagMapper = new TagMapper(); if ($tagMapper->insertTag($tagObject)) { Rest::sendResponse(200); } } else { throw new InvalidArgumentException('Need arguments to POST data !'); } } catch (InvalidArgumentException $e) { $e->getMessage(); exit; } break; default: Rest::sendResponse(501); break; }
public function goAssociate(stdClass $object_) { try { if (isset($object_) && !emptyObject($object_)) { $announcementMapper = new AnnouncementMapper(); $announcementMapper->setId($object_->id_announcement); $announcement = $announcementMapper->selectAnnouncement(); $tagMapper = new TagMapper(); $tagMapper->setId($object_->id_tag); $tag = $tagMapper->selectTag(); if (!is_null($announcement->getId()) && !is_null($tag->getId())) { if (is_null($user->getId())) { return parent::insert('TO_ASSOCIATE', $object_); } else { throw new Exception('The user is already followed by this user !'); } return parent::insert($this->table, $message_, $arrayFilter); } elseif (is_null($announcement->getId())) { throw new Exception('Announcement is inexistant !'); } elseif (is_null($tag->getId())) { throw new Exception('Tag is inexistant !'); } } elseif (empty($id_announcement_)) { throw new Exception('Id announcement is required !'); } elseif (empty($id_tag_)) { throw new Exception('Id tag is required !'); } } catch (Exception $e) { print $e->getMessage(); exit; } }
} break; case 'delete': $tag_ = new \Tag(); $tagMapper = new \TagMapper(); if ($tagMapper->deleteTag()) { Rest::sendResponse(200); } break; case 'put': try { $tag = new \Tag(); $data_tag = $http->getRequestVars(); $tagObject = initObject($data_tag, $tag, true); if (!emptyObject($tagObject)) { $tagMapper = new \TagMapper(); if ($tagMapper->updateTag($tagObject)) { Rest::sendResponse(200); } } else { throw new InvalidArgumentException('Need arguments to UPDATE data !'); } } catch (InvalidArgumentException $e) { print $e->getMessage(); exit; } break; default: Rest::sendResponse(501); break; }