Completed
Push — master ( 6c3e1a...f2dfe9 )
by André
17:55
created

ContentService::loadContentDrafts()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 1
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
3
/**
4
 * ContentService class.
5
 *
6
 * @copyright Copyright (C) eZ Systems AS. All rights reserved.
7
 * @license For full copyright and license information view LICENSE file distributed with this source code.
8
 */
9
namespace eZ\Publish\Core\Repository\SiteAccessAware;
10
11
use eZ\Publish\API\Repository\ContentService as ContentServiceInterface;
12
use eZ\Publish\API\Repository\Values\Content\ContentCreateStruct;
13
use eZ\Publish\API\Repository\Values\Content\ContentUpdateStruct;
14
use eZ\Publish\API\Repository\Values\Content\ContentMetadataUpdateStruct;
15
use eZ\Publish\API\Repository\Values\Content\LocationCreateStruct;
16
use eZ\Publish\API\Repository\Values\ContentType\ContentType;
17
use eZ\Publish\API\Repository\Values\User\User;
18
use eZ\Publish\API\Repository\Values\Content\VersionInfo;
19
use eZ\Publish\API\Repository\Values\Content\ContentInfo;
20
use eZ\Publish\Core\Repository\SiteAccessAware\Language\LanguageResolver;
21
22
/**
23
 * SiteAccess aware implementation of ContentService injecting languages where needed.
24
 */
25
class ContentService implements ContentServiceInterface
26
{
27
    /** @var \eZ\Publish\API\Repository\ContentService */
28
    protected $service;
29
30
    /** @var \eZ\Publish\Core\Repository\SiteAccessAware\Language\LanguageResolver */
31
    protected $languageResolver;
32
33
    /**
34
     * Construct service object from aggregated service and LanguageResolver.
35
     *
36
     * @param \eZ\Publish\API\Repository\ContentService $service
37
     * @param \eZ\Publish\Core\Repository\SiteAccessAware\Language\LanguageResolver $languageResolver
38
     */
39
    public function __construct(
40
        ContentServiceInterface $service,
41
        LanguageResolver $languageResolver
42
    ) {
43
        $this->service = $service;
44
        $this->languageResolver = $languageResolver;
45
    }
46
47
    public function loadContentInfo($contentId)
48
    {
49
        return $this->service->loadContentInfo($contentId);
50
    }
51
52
    /**
53
     * {@inheritdoc}
54
     */
55
    public function loadContentInfoList(array $contentIds): iterable
56
    {
57
        return $this->service->loadContentInfoList($contentIds);
58
    }
59
60
    public function loadContentInfoByRemoteId($remoteId)
61
    {
62
        return $this->service->loadContentInfoByRemoteId($remoteId);
63
    }
64
65
    public function loadVersionInfo(ContentInfo $contentInfo, $versionNo = null)
66
    {
67
        return $this->service->loadVersionInfo($contentInfo, $versionNo);
68
    }
69
70
    public function loadVersionInfoById($contentId, $versionNo = null)
71
    {
72
        return $this->service->loadVersionInfoById($contentId, $versionNo);
73
    }
74
75
    public function loadContentByContentInfo(ContentInfo $contentInfo, array $languages = null, $versionNo = null, $useAlwaysAvailable = null)
76
    {
77
        return $this->service->loadContentByContentInfo(
78
            $contentInfo,
79
            $this->languageResolver->getPrioritizedLanguages($languages),
80
            $versionNo,
81
            $this->languageResolver->getUseAlwaysAvailable($useAlwaysAvailable)
82
        );
83
    }
84
85
    public function loadContentByVersionInfo(VersionInfo $versionInfo, array $languages = null, $useAlwaysAvailable = null)
86
    {
87
        return $this->service->loadContentByVersionInfo(
88
            $versionInfo,
89
            $this->languageResolver->getPrioritizedLanguages($languages),
90
            $this->languageResolver->getUseAlwaysAvailable($useAlwaysAvailable)
91
        );
92
    }
93
94 View Code Duplication
    public function loadContent($contentId, array $languages = null, $versionNo = null, $useAlwaysAvailable = null)
95
    {
96
        return $this->service->loadContent(
97
            $contentId,
98
            $this->languageResolver->getPrioritizedLanguages($languages),
99
            $versionNo,
100
            $this->languageResolver->getUseAlwaysAvailable($useAlwaysAvailable)
101
        );
102
    }
103
104 View Code Duplication
    public function loadContentByRemoteId($remoteId, array $languages = null, $versionNo = null, $useAlwaysAvailable = null)
105
    {
106
        return $this->service->loadContentByRemoteId(
107
            $remoteId,
108
            $this->languageResolver->getPrioritizedLanguages($languages),
109
            $versionNo,
110
            $this->languageResolver->getUseAlwaysAvailable($useAlwaysAvailable)
111
        );
112
    }
113
114
    public function createContent(ContentCreateStruct $contentCreateStruct, array $locationCreateStructs = array())
115
    {
116
        return $this->service->createContent($contentCreateStruct, $locationCreateStructs);
117
    }
118
119
    public function updateContentMetadata(ContentInfo $contentInfo, ContentMetadataUpdateStruct $contentMetadataUpdateStruct)
120
    {
121
        return $this->service->updateContentMetadata($contentInfo, $contentMetadataUpdateStruct);
122
    }
123
124
    public function deleteContent(ContentInfo $contentInfo)
125
    {
126
        return $this->service->deleteContent($contentInfo);
127
    }
128
129
    public function createContentDraft(ContentInfo $contentInfo, VersionInfo $versionInfo = null, User $user = null)
130
    {
131
        return $this->service->createContentDraft($contentInfo, $versionInfo, $user);
132
    }
133
134
    public function loadContentDrafts(User $user = null)
135
    {
136
        return $this->service->loadContentDrafts($user);
137
    }
138
139
    public function updateContent(VersionInfo $versionInfo, ContentUpdateStruct $contentUpdateStruct)
140
    {
141
        return $this->service->updateContent($versionInfo, $contentUpdateStruct);
142
    }
143
144
    public function publishVersion(VersionInfo $versionInfo)
145
    {
146
        return $this->service->publishVersion($versionInfo);
147
    }
148
149
    public function deleteVersion(VersionInfo $versionInfo)
150
    {
151
        return $this->service->deleteVersion($versionInfo);
152
    }
153
154
    public function loadVersions(ContentInfo $contentInfo)
155
    {
156
        return $this->service->loadVersions($contentInfo);
157
    }
158
159
    public function copyContent(ContentInfo $contentInfo, LocationCreateStruct $destinationLocationCreateStruct, VersionInfo $versionInfo = null)
160
    {
161
        return $this->service->copyContent($contentInfo, $destinationLocationCreateStruct, $versionInfo);
162
    }
163
164
    public function loadRelations(VersionInfo $versionInfo)
165
    {
166
        return $this->service->loadRelations($versionInfo);
167
    }
168
169
    public function loadReverseRelations(ContentInfo $contentInfo)
170
    {
171
        return $this->service->loadReverseRelations($contentInfo);
172
    }
173
174
    public function addRelation(VersionInfo $sourceVersion, ContentInfo $destinationContent)
175
    {
176
        return $this->service->addRelation($sourceVersion, $destinationContent);
177
    }
178
179
    public function deleteRelation(VersionInfo $sourceVersion, ContentInfo $destinationContent)
180
    {
181
        return $this->service->deleteRelation($sourceVersion, $destinationContent);
182
    }
183
184
    public function removeTranslation(ContentInfo $contentInfo, $languageCode)
185
    {
186
        return $this->service->removeTranslation($contentInfo, $languageCode);
0 ignored issues
show
Deprecated Code introduced by
The method eZ\Publish\API\Repositor...ce::removeTranslation() has been deprecated with message: since 6.13, use {@see deleteTranslation} instead

This method has been deprecated. The supplier of the class has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the method will be removed from the class and what other method or class to use instead.

Loading history...
187
    }
188
189
    public function deleteTranslation(ContentInfo $contentInfo, $languageCode)
190
    {
191
        return $this->service->deleteTranslation($contentInfo, $languageCode);
192
    }
193
194
    public function deleteTranslationFromDraft(VersionInfo $versionInfo, $languageCode)
195
    {
196
        return $this->service->deleteTranslationFromDraft($versionInfo, $languageCode);
197
    }
198
199
    public function loadContentListByContentInfo(array $contentInfoList, array $languages = [], $useAlwaysAvailable = true)
200
    {
201
        return $this->service->loadContentListByContentInfo($contentInfoList, $languages, $useAlwaysAvailable);
202
    }
203
204
    public function newContentCreateStruct(ContentType $contentType, $mainLanguageCode)
205
    {
206
        return $this->service->newContentCreateStruct($contentType, $mainLanguageCode);
207
    }
208
209
    public function newContentMetadataUpdateStruct()
210
    {
211
        return $this->service->newContentMetadataUpdateStruct();
212
    }
213
214
    public function newContentUpdateStruct()
215
    {
216
        return $this->service->newContentUpdateStruct();
217
    }
218
}
219