| @@ 125-147 (lines=23) @@ | ||
| 122 | * |
|
| 123 | * @return \eZ\Publish\SPI\Persistence\Content\VersionInfo[] |
|
| 124 | */ |
|
| 125 | public function listVersions($contentId, $status = null, $limit = -1) |
|
| 126 | { |
|
| 127 | $rows = $this->contentGateway->listVersions($contentId, $status, $limit); |
|
| 128 | if (empty($rows)) { |
|
| 129 | return array(); |
|
| 130 | } |
|
| 131 | ||
| 132 | $idVersionPairs = array_map( |
|
| 133 | function ($row) use ($contentId) { |
|
| 134 | return array( |
|
| 135 | 'id' => $contentId, |
|
| 136 | 'version' => $row['ezcontentobject_version_version'], |
|
| 137 | ); |
|
| 138 | }, |
|
| 139 | $rows |
|
| 140 | ); |
|
| 141 | $nameRows = $this->contentGateway->loadVersionedNameData($idVersionPairs); |
|
| 142 | ||
| 143 | return $this->contentMapper->extractVersionInfoListFromRows( |
|
| 144 | $rows, |
|
| 145 | $nameRows |
|
| 146 | ); |
|
| 147 | } |
|
| 148 | ||
| 149 | /** |
|
| 150 | * Loads the data for the location identified by $locationId. |
|
| @@ 402-421 (lines=20) @@ | ||
| 399 | * |
|
| 400 | * @return \eZ\Publish\SPI\Persistence\Content\VersionInfo[] |
|
| 401 | */ |
|
| 402 | public function loadDraftsForUser($userId) |
|
| 403 | { |
|
| 404 | $rows = $this->contentGateway->listVersionsForUser($userId, VersionInfo::STATUS_DRAFT); |
|
| 405 | if (empty($rows)) { |
|
| 406 | return array(); |
|
| 407 | } |
|
| 408 | ||
| 409 | $idVersionPairs = array_map( |
|
| 410 | function ($row) { |
|
| 411 | return array( |
|
| 412 | 'id' => $row['ezcontentobject_version_contentobject_id'], |
|
| 413 | 'version' => $row['ezcontentobject_version_version'], |
|
| 414 | ); |
|
| 415 | }, |
|
| 416 | $rows |
|
| 417 | ); |
|
| 418 | $nameRows = $this->contentGateway->loadVersionedNameData($idVersionPairs); |
|
| 419 | ||
| 420 | return $this->mapper->extractVersionInfoListFromRows($rows, $nameRows); |
|
| 421 | } |
|
| 422 | ||
| 423 | /** |
|
| 424 | * Sets the status of object identified by $contentId and $version to $status. |
|