/** * {@inheritdoc} * * @param Page $entity * @param bool $unlock */ public function saveEntity($entity, $unlock = true) { $pageIds = $entity->getRelatedEntityIds(); if (empty($this->inConversion)) { $alias = $entity->getAlias(); if (empty($alias)) { $alias = $entity->getTitle(); } $alias = $this->cleanAlias($alias, '', false, '-'); //make sure alias is not already taken $repo = $this->getRepository(); $testAlias = $alias; $count = $repo->checkPageUniqueAlias($testAlias, $pageIds); $aliasTag = 1; while ($count) { $testAlias = $alias . $aliasTag; $count = $repo->checkPageUniqueAlias($testAlias, $pageIds); ++$aliasTag; } if ($testAlias != $alias) { $alias = $testAlias; } $entity->setAlias($alias); } // Set the author for new pages $isNew = $entity->isNew(); if (!$isNew) { //increase the revision $revision = $entity->getRevision(); ++$revision; $entity->setRevision($revision); } // Reset a/b test if applicable $variantStartDate = new \DateTime(); $resetVariants = $this->preVariantSaveEntity($entity, ['setVariantHits'], $variantStartDate); parent::saveEntity($entity, $unlock); $this->postVariantSaveEntity($entity, $resetVariants, $pageIds, $variantStartDate); $this->postTranslationEntitySave($entity); }
/** * {@inheritDoc} */ public function setRevision($revision) { $this->__initializer__ && $this->__initializer__->__invoke($this, 'setRevision', array($revision)); return parent::setRevision($revision); }