Spaces:
No application file
No application file
| namespace Mautic\LeadBundle\DataObject; | |
| class LeadManipulator | |
| { | |
| /** | |
| * If true then the manipulator was logged and should not be logged for the second time. | |
| */ | |
| private bool $logged = false; | |
| /** | |
| * @param ?string $bundleName | |
| * @param ?string $objectName | |
| * @param ?int $objectId | |
| * @param ?string $objectDescription | |
| */ | |
| public function __construct( | |
| private $bundleName = null, | |
| private $objectName = null, | |
| private $objectId = null, | |
| private $objectDescription = null | |
| ) { | |
| } | |
| /** | |
| * @return ?string | |
| */ | |
| public function getBundleName() | |
| { | |
| return $this->bundleName; | |
| } | |
| /** | |
| * @return ?string | |
| */ | |
| public function getObjectName() | |
| { | |
| return $this->objectName; | |
| } | |
| /** | |
| * @return ?int | |
| */ | |
| public function getObjectId() | |
| { | |
| return $this->objectId; | |
| } | |
| /** | |
| * @return ?string | |
| */ | |
| public function getObjectDescription() | |
| { | |
| return $this->objectDescription; | |
| } | |
| /** | |
| * Check if the manipulator was logged already or not. | |
| */ | |
| public function wasLogged(): bool | |
| { | |
| return $this->logged; | |
| } | |
| /** | |
| * Set manipulator as logged so it wouldn't be logged for the second time in the same request. | |
| */ | |
| public function setAsLogged(): void | |
| { | |
| $this->logged = true; | |
| } | |
| public function getManipulatedBy(): string | |
| { | |
| if ($this->objectDescription) { | |
| return (string) $this->objectDescription; | |
| } | |
| return $this->getManipulatorKey(); | |
| } | |
| public function getManipulatorKey(): string | |
| { | |
| $objectParts = []; | |
| if ($this->bundleName) { | |
| $objectParts[] = $this->bundleName; | |
| } | |
| if ($this->objectName) { | |
| $objectParts[] = $this->objectName; | |
| } | |
| if ($this->objectId) { | |
| $objectParts[] = $this->objectId; | |
| } | |
| return implode(':', $objectParts); | |
| } | |
| } | |