2016-12-11 23:21:05 +00:00
|
|
|
<?php
|
|
|
|
|
2023-03-11 16:27:07 +00:00
|
|
|
namespace src\PointToolsBundle\DataFixtures\ORM;
|
2016-12-11 23:21:05 +00:00
|
|
|
|
|
|
|
use Doctrine\Common\DataFixtures\AbstractFixture;
|
|
|
|
use Doctrine\Common\DataFixtures\OrderedFixtureInterface;
|
|
|
|
use Doctrine\Common\Persistence\ObjectManager;
|
2023-03-11 16:27:07 +00:00
|
|
|
use src\PointToolsBundle\Entity\Subscription;
|
|
|
|
use src\PointToolsBundle\Entity\SubscriptionEvent;
|
|
|
|
use src\PointToolsBundle\Entity\User;
|
2016-12-11 23:21:05 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Load user subscriptions
|
|
|
|
*/
|
|
|
|
class LoadSubscribersData extends AbstractFixture implements OrderedFixtureInterface
|
|
|
|
{
|
|
|
|
public function load(ObjectManager $om)
|
|
|
|
{
|
|
|
|
/** @var User[] $users */
|
|
|
|
$users = [
|
2017-01-14 00:58:18 +00:00
|
|
|
99999 => $this->getReference('test_user_99999'),
|
|
|
|
99998 => $this->getReference('test_user_99998'),
|
|
|
|
99997 => $this->getReference('test_user_99997'),
|
|
|
|
99996 => $this->getReference('test_user_99996'),
|
|
|
|
99995 => $this->getReference('test_user_99995'),
|
2016-12-11 23:21:05 +00:00
|
|
|
];
|
|
|
|
|
2017-01-14 00:58:18 +00:00
|
|
|
$subscriptions = [
|
|
|
|
99999 => [99998, 99997, 99996, 99995],
|
|
|
|
99998 => [99999, 99997],
|
|
|
|
99997 => [99999],
|
|
|
|
];
|
2016-12-11 23:21:05 +00:00
|
|
|
|
2017-01-14 00:58:18 +00:00
|
|
|
foreach ($users as $key => $user) {
|
2017-01-14 01:02:04 +00:00
|
|
|
if (array_key_exists($key, $subscriptions)) {
|
|
|
|
foreach ($subscriptions[$key] as $userId) {
|
|
|
|
$subscriber = $users[$userId];
|
|
|
|
$subscription = new Subscription($user, $subscriber);
|
|
|
|
$subscriptionEvent = new SubscriptionEvent($user, $subscriber, SubscriptionEvent::ACTION_SUBSCRIBE);
|
|
|
|
$om->persist($subscription);
|
|
|
|
$om->persist($subscriptionEvent);
|
|
|
|
$user->addSubscriber($subscription);
|
|
|
|
}
|
2016-12-11 23:21:05 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
$om->flush();
|
|
|
|
}
|
|
|
|
|
2017-01-12 23:00:21 +00:00
|
|
|
public function getOrder(): int
|
2016-12-11 23:21:05 +00:00
|
|
|
{
|
|
|
|
return 4;
|
|
|
|
}
|
|
|
|
}
|