187 lines
6.6 KiB
PHP
187 lines
6.6 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of the Kimai package.
|
|
*
|
|
* (c) Kevin Papst <kevin@kevinpapst.de>
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace AppBundle\DataFixtures\ORM;
|
|
|
|
use AppBundle\Entity\User;
|
|
use Doctrine\Common\DataFixtures\FixtureInterface;
|
|
use Doctrine\Common\Persistence\ObjectManager;
|
|
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
|
|
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
|
|
/**
|
|
* Sample data to load in the database when running tests or for development
|
|
*
|
|
* @author Kevin Papst <kevin@kevinpapst.de>
|
|
*/
|
|
class LoadFixtures implements FixtureInterface, ContainerAwareInterface
|
|
{
|
|
/** @var ContainerInterface */
|
|
private $container;
|
|
|
|
/**
|
|
* {@inheritdoc}
|
|
*/
|
|
public function load(ObjectManager $manager)
|
|
{
|
|
$this->loadUsers($manager);
|
|
//$this->loadPosts($manager);
|
|
}
|
|
|
|
private function loadUsers(ObjectManager $manager)
|
|
{
|
|
$passwordEncoder = $this->container->get('security.password_encoder');
|
|
|
|
$claraCustomer = new User();
|
|
$claraCustomer->setAlias('Clara Haynes');
|
|
$claraCustomer->setTitle('CFO');
|
|
$claraCustomer->setUsername('clara_customer');
|
|
$claraCustomer->setEmail('clara_customer@example.com');
|
|
$claraCustomer->setRoles(['ROLE_CUSTOMER']);
|
|
$encodedPassword = $passwordEncoder->encodePassword($claraCustomer, 'kitten');
|
|
$claraCustomer->setPassword($encodedPassword);
|
|
$manager->persist($claraCustomer);
|
|
|
|
$johnUser = new User();
|
|
$johnUser->setAlias('John Doe');
|
|
$johnUser->setTitle('Lead Developer');
|
|
$johnUser->setUsername('john_user');
|
|
$johnUser->setEmail('john_user@example.com');
|
|
$johnUser->setRoles(['ROLE_USER']);
|
|
$encodedPassword = $passwordEncoder->encodePassword($johnUser, 'kitten');
|
|
$johnUser->setPassword($encodedPassword);
|
|
$manager->persist($johnUser);
|
|
|
|
$tonyTeamlead = new User();
|
|
$tonyTeamlead->setAlias('Tony Maier');
|
|
$tonyTeamlead->setTitle('Head of Development');
|
|
$tonyTeamlead->setUsername('tony_teamlead');
|
|
$tonyTeamlead->setEmail('tony_teamlead@example.com');
|
|
$tonyTeamlead->setRoles(['ROLE_TEAMLEAD']);
|
|
$encodedPassword = $passwordEncoder->encodePassword($tonyTeamlead, 'kitten');
|
|
$tonyTeamlead->setPassword($encodedPassword);
|
|
$manager->persist($tonyTeamlead);
|
|
|
|
$annaAdmin = new User();
|
|
$annaAdmin->setAlias('Anna Smith');
|
|
$annaAdmin->setTitle('Administrator');
|
|
$annaAdmin->setUsername('anna_admin');
|
|
$annaAdmin->setEmail('anna_admin@example.com');
|
|
$annaAdmin->setRoles(['ROLE_ADMIN']);
|
|
$encodedPassword = $passwordEncoder->encodePassword($annaAdmin, 'kitten');
|
|
$annaAdmin->setPassword($encodedPassword);
|
|
$manager->persist($annaAdmin);
|
|
|
|
$manager->flush();
|
|
}
|
|
|
|
/**
|
|
* {@inheritdoc}
|
|
*/
|
|
public function setContainer(ContainerInterface $container = null)
|
|
{
|
|
$this->container = $container;
|
|
}
|
|
|
|
protected function getPostContent()
|
|
{
|
|
return <<<MARKDOWN
|
|
Lorem ipsum dolor sit amet consectetur adipisicing elit, sed do eiusmod tempor
|
|
incididunt ut labore et **dolore magna aliqua**: Duis aute irure dolor in
|
|
reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
|
|
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia
|
|
deserunt mollit anim id est laborum.
|
|
|
|
* Ut enim ad minim veniam
|
|
* Quis nostrud exercitation *ullamco laboris*
|
|
* Nisi ut aliquip ex ea commodo consequat
|
|
|
|
Praesent id fermentum lorem. Ut est lorem, fringilla at accumsan nec, euismod at
|
|
nunc. Aenean mattis sollicitudin mattis. Nullam pulvinar vestibulum bibendum.
|
|
Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos
|
|
himenaeos. Fusce nulla purus, gravida ac interdum ut, blandit eget ex. Duis a
|
|
luctus dolor.
|
|
|
|
Integer auctor massa maximus nulla scelerisque accumsan. *Aliquam ac malesuada*
|
|
ex. Pellentesque tortor magna, vulputate eu vulputate ut, venenatis ac lectus.
|
|
Praesent ut lacinia sem. Mauris a lectus eget felis mollis feugiat. Quisque
|
|
efficitur, mi ut semper pulvinar, urna urna blandit massa, eget tincidunt augue
|
|
nulla vitae est.
|
|
|
|
Ut posuere aliquet tincidunt. Aliquam erat volutpat. **Class aptent taciti**
|
|
sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Morbi
|
|
arcu orci, gravida eget aliquam eu, suscipit et ante. Morbi vulputate metus vel
|
|
ipsum finibus, ut dapibus massa feugiat. Vestibulum vel lobortis libero. Sed
|
|
tincidunt tellus et viverra scelerisque. Pellentesque tincidunt cursus felis.
|
|
Sed in egestas erat.
|
|
|
|
Aliquam pulvinar interdum massa, vel ullamcorper ante consectetur eu. Vestibulum
|
|
lacinia ac enim vel placerat. Integer pulvinar magna nec dui malesuada, nec
|
|
congue nisl dictum. Donec mollis nisl tortor, at congue erat consequat a. Nam
|
|
tempus elit porta, blandit elit vel, viverra lorem. Sed sit amet tellus
|
|
tincidunt, faucibus nisl in, aliquet libero.
|
|
MARKDOWN;
|
|
}
|
|
|
|
protected function getPhrases()
|
|
{
|
|
return [
|
|
'Lorem ipsum dolor sit amet consectetur adipiscing elit',
|
|
'Pellentesque vitae velit ex',
|
|
'Mauris dapibus risus quis suscipit vulputate',
|
|
'Eros diam egestas libero eu vulputate risus',
|
|
'In hac habitasse platea dictumst',
|
|
'Morbi tempus commodo mattis',
|
|
'Ut suscipit posuere justo at vulputate',
|
|
'Ut eleifend mauris et risus ultrices egestas',
|
|
'Aliquam sodales odio id eleifend tristique',
|
|
'Urna nisl sollicitudin id varius orci quam id turpis',
|
|
'Nulla porta lobortis ligula vel egestas',
|
|
'Curabitur aliquam euismod dolor non ornare',
|
|
'Sed varius a risus eget aliquam',
|
|
'Nunc viverra elit ac laoreet suscipit',
|
|
'Pellentesque et sapien pulvinar consectetur',
|
|
];
|
|
}
|
|
|
|
protected function getRandomPhrase()
|
|
{
|
|
return $this->getRandomPostTitle();
|
|
}
|
|
|
|
private function getRandomPostTitle()
|
|
{
|
|
$titles = $this->getPhrases();
|
|
|
|
return $titles[array_rand($titles)];
|
|
}
|
|
|
|
private function getRandomPostSummary($maxLength = 255)
|
|
{
|
|
$phrases = $this->getPhrases();
|
|
|
|
$numPhrases = mt_rand(6, 12);
|
|
shuffle($phrases);
|
|
|
|
return substr(implode(' ', array_slice($phrases, 0, $numPhrases-1)), 0, $maxLength);
|
|
}
|
|
|
|
private function getRandomCommentContent()
|
|
{
|
|
$phrases = $this->getPhrases();
|
|
|
|
$numPhrases = mt_rand(2, 15);
|
|
shuffle($phrases);
|
|
|
|
return implode(' ', array_slice($phrases, 0, $numPhrases-1));
|
|
}
|
|
}
|