|
@@ 692-747 (lines=56) @@
|
| 689 |
|
* |
| 690 |
|
* @return \eZ\Publish\SPI\Persistence\Content\ObjectState\InputStruct |
| 691 |
|
*/ |
| 692 |
|
protected function buildObjectStateUpdateInputStruct(APIObjectState $objectState, $identifier, $defaultLanguageCode, $names, $descriptions) |
| 693 |
|
{ |
| 694 |
|
$inputStruct = new InputStruct(); |
| 695 |
|
|
| 696 |
|
if ($identifier !== null && (!is_string($identifier) || empty($identifier))) { |
| 697 |
|
throw new InvalidArgumentValue('identifier', $identifier); |
| 698 |
|
} |
| 699 |
|
|
| 700 |
|
$inputStruct->identifier = $identifier !== null ? $identifier : $objectState->identifier; |
| 701 |
|
|
| 702 |
|
if ($defaultLanguageCode !== null && (!is_string($defaultLanguageCode) || empty($defaultLanguageCode))) { |
| 703 |
|
throw new InvalidArgumentValue('defaultLanguageCode', $defaultLanguageCode); |
| 704 |
|
} |
| 705 |
|
|
| 706 |
|
$inputStruct->defaultLanguage = $defaultLanguageCode !== null ? $defaultLanguageCode : $objectState->defaultLanguageCode; |
| 707 |
|
|
| 708 |
|
if ($names !== null && (!is_array($names) || empty($names))) { |
| 709 |
|
throw new InvalidArgumentValue('names', $names); |
| 710 |
|
} |
| 711 |
|
|
| 712 |
|
$inputStruct->name = $names !== null ? $names : $objectState->getNames(); |
| 713 |
|
|
| 714 |
|
if (!isset($inputStruct->name[$inputStruct->defaultLanguage])) { |
| 715 |
|
throw new InvalidArgumentValue('names', $inputStruct->name); |
| 716 |
|
} |
| 717 |
|
|
| 718 |
|
foreach ($inputStruct->name as $languageCode => $name) { |
| 719 |
|
try { |
| 720 |
|
$this->repository->getContentLanguageService()->loadLanguage($languageCode); |
| 721 |
|
} catch (NotFoundException $e) { |
| 722 |
|
throw new InvalidArgumentValue('names', $inputStruct->name); |
| 723 |
|
} |
| 724 |
|
|
| 725 |
|
if (!is_string($name) || empty($name)) { |
| 726 |
|
throw new InvalidArgumentValue('names', $inputStruct->name); |
| 727 |
|
} |
| 728 |
|
} |
| 729 |
|
|
| 730 |
|
if ($descriptions !== null && !is_array($descriptions)) { |
| 731 |
|
throw new InvalidArgumentValue('descriptions', $descriptions); |
| 732 |
|
} |
| 733 |
|
|
| 734 |
|
$descriptions = $descriptions !== null ? $descriptions : $objectState->getDescriptions(); |
| 735 |
|
$descriptions = $descriptions !== null ? $descriptions : array(); |
| 736 |
|
|
| 737 |
|
$inputStruct->description = array(); |
| 738 |
|
foreach ($inputStruct->name as $languageCode => $name) { |
| 739 |
|
if (isset($descriptions[$languageCode]) && !empty($descriptions[$languageCode])) { |
| 740 |
|
$inputStruct->description[$languageCode] = $descriptions[$languageCode]; |
| 741 |
|
} else { |
| 742 |
|
$inputStruct->description[$languageCode] = ''; |
| 743 |
|
} |
| 744 |
|
} |
| 745 |
|
|
| 746 |
|
return $inputStruct; |
| 747 |
|
} |
| 748 |
|
|
| 749 |
|
/** |
| 750 |
|
* Validates input for updating object state groups and builds the InputStruct object. |
|
@@ 760-815 (lines=56) @@
|
| 757 |
|
* |
| 758 |
|
* @return \eZ\Publish\SPI\Persistence\Content\ObjectState\InputStruct |
| 759 |
|
*/ |
| 760 |
|
protected function buildObjectStateGroupUpdateInputStruct(APIObjectStateGroup $objectStateGroup, $identifier, $defaultLanguageCode, $names, $descriptions) |
| 761 |
|
{ |
| 762 |
|
$inputStruct = new InputStruct(); |
| 763 |
|
|
| 764 |
|
if ($identifier !== null && (!is_string($identifier) || empty($identifier))) { |
| 765 |
|
throw new InvalidArgumentValue('identifier', $identifier); |
| 766 |
|
} |
| 767 |
|
|
| 768 |
|
$inputStruct->identifier = $identifier !== null ? $identifier : $objectStateGroup->identifier; |
| 769 |
|
|
| 770 |
|
if ($defaultLanguageCode !== null && (!is_string($defaultLanguageCode) || empty($defaultLanguageCode))) { |
| 771 |
|
throw new InvalidArgumentValue('defaultLanguageCode', $defaultLanguageCode); |
| 772 |
|
} |
| 773 |
|
|
| 774 |
|
$inputStruct->defaultLanguage = $defaultLanguageCode !== null ? $defaultLanguageCode : $objectStateGroup->defaultLanguageCode; |
| 775 |
|
|
| 776 |
|
if ($names !== null && (!is_array($names) || empty($names))) { |
| 777 |
|
throw new InvalidArgumentValue('names', $names); |
| 778 |
|
} |
| 779 |
|
|
| 780 |
|
$inputStruct->name = $names !== null ? $names : $objectStateGroup->getNames(); |
| 781 |
|
|
| 782 |
|
if (!isset($inputStruct->name[$inputStruct->defaultLanguage])) { |
| 783 |
|
throw new InvalidArgumentValue('names', $inputStruct->name); |
| 784 |
|
} |
| 785 |
|
|
| 786 |
|
foreach ($inputStruct->name as $languageCode => $name) { |
| 787 |
|
try { |
| 788 |
|
$this->repository->getContentLanguageService()->loadLanguage($languageCode); |
| 789 |
|
} catch (NotFoundException $e) { |
| 790 |
|
throw new InvalidArgumentValue('names', $inputStruct->name); |
| 791 |
|
} |
| 792 |
|
|
| 793 |
|
if (!is_string($name) || empty($name)) { |
| 794 |
|
throw new InvalidArgumentValue('names', $inputStruct->name); |
| 795 |
|
} |
| 796 |
|
} |
| 797 |
|
|
| 798 |
|
if ($descriptions !== null && !is_array($descriptions)) { |
| 799 |
|
throw new InvalidArgumentValue('descriptions', $descriptions); |
| 800 |
|
} |
| 801 |
|
|
| 802 |
|
$descriptions = $descriptions !== null ? $descriptions : $objectStateGroup->getDescriptions(); |
| 803 |
|
$descriptions = $descriptions !== null ? $descriptions : array(); |
| 804 |
|
|
| 805 |
|
$inputStruct->description = array(); |
| 806 |
|
foreach ($inputStruct->name as $languageCode => $name) { |
| 807 |
|
if (isset($descriptions[$languageCode]) && !empty($descriptions[$languageCode])) { |
| 808 |
|
$inputStruct->description[$languageCode] = $descriptions[$languageCode]; |
| 809 |
|
} else { |
| 810 |
|
$inputStruct->description[$languageCode] = ''; |
| 811 |
|
} |
| 812 |
|
} |
| 813 |
|
|
| 814 |
|
return $inputStruct; |
| 815 |
|
} |
| 816 |
|
} |
| 817 |
|
|