From 39cd0a985639e0126dd15f61a1be4adf883f4169 Mon Sep 17 00:00:00 2001 From: Pawel Dziok Date: Wed, 20 May 2015 16:54:07 +0200 Subject: [PATCH 1/2] Added relationships searching --- lib/core/DrPublishApiClient.php | 20 ++++++++++++++++++ .../entities/DrPublishApiClientRelation.php | 21 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 lib/core/entities/DrPublishApiClientRelation.php diff --git a/lib/core/DrPublishApiClient.php b/lib/core/DrPublishApiClient.php index 69d0103..fec2546 100644 --- a/lib/core/DrPublishApiClient.php +++ b/lib/core/DrPublishApiClient.php @@ -417,6 +417,21 @@ public function getCategory($id) return $this->createDrPublishApiClientCategory($responseObject); } + public function searchRelations($query, $limit = 5, $offset = 0) + { + $url = '/relationships.json?' . $query . '&offset=' . $offset . '&limit=' . $limit; + $response = $this->curl($url); + $responseObject = json_decode($response->body); + $drPublishApiClientSearchList = new DrPublishApiClientSearchList($responseObject->search, $response->headers); + if (!empty($responseObject)) { + $relations = $responseObject->items; + foreach ($relations as $relationData) { + $drPublishApiClientSearchList->add($this->createDrPublishApiClientRelation($relationData)); + } + } + return $drPublishApiClientSearchList; + } + public function searchSources($query, $limit = 5, $offset = 0) { $url = '/sources.json?' . $query . '&offset=' . $offset . '&limit=' . $limit; @@ -482,6 +497,11 @@ public function createDrPublishApiClientCategory($category) return new DrPublishApiClientCategory($category, $this); } + public function createDrPublishApiClientRelation($relation) + { + return new DrPublishApiClientRelation($relation, $this); + } + public static function writeCache($identifier, $data) { $cacheFile = self::cacheDirGen($identifier, true); diff --git a/lib/core/entities/DrPublishApiClientRelation.php b/lib/core/entities/DrPublishApiClientRelation.php new file mode 100644 index 0000000..8900d6d --- /dev/null +++ b/lib/core/entities/DrPublishApiClientRelation.php @@ -0,0 +1,21 @@ +relationshipPriority = $this->relationship_priority; + } + + public function __toString() + { + return isset($this->$relationship) ? $this->$relationship : ''; + } +} From 660e2c4d2029269a34355db377937adf364e5831 Mon Sep 17 00:00:00 2001 From: Pawel Dziok Date: Wed, 27 May 2015 13:42:01 +0200 Subject: [PATCH 2/2] Added relationships object and subject id rewriting into proper field names --- lib/core/entities/DrPublishApiClientRelation.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/core/entities/DrPublishApiClientRelation.php b/lib/core/entities/DrPublishApiClientRelation.php index 8900d6d..054c6f0 100644 --- a/lib/core/entities/DrPublishApiClientRelation.php +++ b/lib/core/entities/DrPublishApiClientRelation.php @@ -12,6 +12,8 @@ public function __construct($data) { parent::__construct($data); $this->relationshipPriority = $this->relationship_priority; + $this->subjectId = $this->subject_id; + $this->objectId = $this->object_id; } public function __toString()