コード例 #1
0
 /**
  * 
  * @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;
     }
 }
コード例 #2
0
ファイル: TagMapperTest.php プロジェクト: noxa02/REST_ANNONCE
 public function testDelete()
 {
     $tagMapper = new TagMapper();
     $tagMapper->setId(50);
     $tagMapper->deleteTag();
     $this->assertEquals(new Tag(), $tagMapper->selectTag());
 }
コード例 #3
0
 /**
  * @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(), 'タグを消したのでヒットしなくなる');
 }
コード例 #4
0
                    $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;
}
コード例 #5
0
 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;
     }
 }
コード例 #6
0
        }
        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;
}