|
@@ -21,7 +21,8 @@ use Doctrine\Common\Persistence\ObjectManager;
|
|
|
* @link http://www.gediminasm.org
|
|
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
|
|
*/
|
|
|
-class SluggableListener extends MappedEventSubscriber {
|
|
|
+class SluggableListener extends MappedEventSubscriber
|
|
|
+{
|
|
|
|
|
|
/**
|
|
|
* The power exponent to jump
|
|
@@ -59,7 +60,8 @@ class SluggableListener extends MappedEventSubscriber {
|
|
|
*
|
|
|
* @return array
|
|
|
*/
|
|
|
- public function getSubscribedEvents() {
|
|
|
+ public function getSubscribedEvents()
|
|
|
+ {
|
|
|
return array(
|
|
|
'onFlush',
|
|
|
'loadClassMetadata',
|
|
@@ -73,7 +75,8 @@ class SluggableListener extends MappedEventSubscriber {
|
|
|
*
|
|
|
* @param mixed $callable
|
|
|
*/
|
|
|
- public function setTransliterator($callable) {
|
|
|
+ public function setTransliterator($callable)
|
|
|
+ {
|
|
|
if (!is_callable($callable)) {
|
|
|
throw new \Gedmo\Exception\InvalidArgumentException('Invalid transliterator callable parameter given');
|
|
|
}
|
|
@@ -85,7 +88,8 @@ class SluggableListener extends MappedEventSubscriber {
|
|
|
*
|
|
|
* @return callable
|
|
|
*/
|
|
|
- public function getTransliterator() {
|
|
|
+ public function getTransliterator()
|
|
|
+ {
|
|
|
return $this->transliterator;
|
|
|
}
|
|
|
|
|
@@ -95,7 +99,8 @@ class SluggableListener extends MappedEventSubscriber {
|
|
|
* @param EventArgs $eventArgs
|
|
|
* @return void
|
|
|
*/
|
|
|
- public function loadClassMetadata(EventArgs $eventArgs) {
|
|
|
+ public function loadClassMetadata(EventArgs $eventArgs)
|
|
|
+ {
|
|
|
$ea = $this->getEventAdapter($eventArgs);
|
|
|
$this->loadMetadataForObjectClass($ea->getObjectManager(), $eventArgs->getClassMetadata());
|
|
|
}
|
|
@@ -106,7 +111,8 @@ class SluggableListener extends MappedEventSubscriber {
|
|
|
* @param EventArgs $args
|
|
|
* @return void
|
|
|
*/
|
|
|
- public function prePersist(EventArgs $args) {
|
|
|
+ public function prePersist(EventArgs $args)
|
|
|
+ {
|
|
|
$ea = $this->getEventAdapter($args);
|
|
|
$om = $ea->getObjectManager();
|
|
|
$object = $ea->getObject();
|
|
@@ -128,7 +134,8 @@ class SluggableListener extends MappedEventSubscriber {
|
|
|
* @param EventArgs $args
|
|
|
* @return void
|
|
|
*/
|
|
|
- public function onFlush(EventArgs $args) {
|
|
|
+ public function onFlush(EventArgs $args)
|
|
|
+ {
|
|
|
$ea = $this->getEventAdapter($args);
|
|
|
$om = $ea->getObjectManager();
|
|
|
$uow = $om->getUnitOfWork();
|
|
@@ -164,7 +171,8 @@ class SluggableListener extends MappedEventSubscriber {
|
|
|
/**
|
|
|
* {@inheritDoc}
|
|
|
*/
|
|
|
- protected function getNamespace() {
|
|
|
+ protected function getNamespace()
|
|
|
+ {
|
|
|
return __NAMESPACE__;
|
|
|
}
|
|
|
|
|
@@ -174,7 +182,8 @@ class SluggableListener extends MappedEventSubscriber {
|
|
|
* @param string $class
|
|
|
* @return Gedmo\Sluggable\Handler\SlugHandlerInterface
|
|
|
*/
|
|
|
- private function getHandler($class) {
|
|
|
+ private function getHandler($class)
|
|
|
+ {
|
|
|
if (!isset($this->handlers[$class])) {
|
|
|
$this->handlers[$class] = new $class($this);
|
|
|
}
|
|
@@ -190,7 +199,8 @@ class SluggableListener extends MappedEventSubscriber {
|
|
|
* or invalid
|
|
|
* @return void
|
|
|
*/
|
|
|
- private function generateSlug(SluggableAdapter $ea, $object) {
|
|
|
+ private function generateSlug(SluggableAdapter $ea, $object)
|
|
|
+ {
|
|
|
$om = $ea->getObjectManager();
|
|
|
$meta = $om->getClassMetadata(get_class($object));
|
|
|
$uow = $om->getUnitOfWork();
|
|
@@ -300,7 +310,8 @@ class SluggableListener extends MappedEventSubscriber {
|
|
|
* @param array $config[$slugField]
|
|
|
* @return string - unique slug
|
|
|
*/
|
|
|
- private function makeUniqueSlug(SluggableAdapter $ea, $object, $preferedSlug, $recursing = false, $config = array()) {
|
|
|
+ private function makeUniqueSlug(SluggableAdapter $ea, $object, $preferedSlug, $recursing = false, $config = array())
|
|
|
+ {
|
|
|
$om = $ea->getObjectManager();
|
|
|
$meta = $om->getClassMetadata(get_class($object));
|
|
|
// load similar slugs
|
|
@@ -348,7 +359,8 @@ class SluggableListener extends MappedEventSubscriber {
|
|
|
* @param string $slugField
|
|
|
* @return array
|
|
|
*/
|
|
|
- private function getSimilarPersistedSlugs($class, $preferedSlug, $slugField) {
|
|
|
+ private function getSimilarPersistedSlugs($class, $preferedSlug, $slugField)
|
|
|
+ {
|
|
|
$result = array();
|
|
|
if (isset($this->persistedSlugs[$class][$slugField])) {
|
|
|
array_walk($this->persistedSlugs[$class][$slugField], function($val) use ($preferedSlug, &$result, $slugField) {
|
|
@@ -368,7 +380,8 @@ class SluggableListener extends MappedEventSubscriber {
|
|
|
* @param array $config
|
|
|
* @param string $prefered
|
|
|
*/
|
|
|
- private function filterSimilarSlugs(array &$slugs, array &$config, $prefered) {
|
|
|
+ private function filterSimilarSlugs(array &$slugs, array &$config, $prefered)
|
|
|
+ {
|
|
|
foreach ($slugs as $key => $similar) {
|
|
|
if (!preg_match("@{$prefered}($|{$config['separator']}[\d]+$)@smi", $similar[$config['slug']])) {
|
|
|
unset($slugs[$key]);
|