Skip to content
This repository was archived by the owner on Aug 4, 2022. It is now read-only.
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 33 additions & 16 deletions app/code/community/Ovs/Magefaker/Model/Faker.php
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,7 @@ public function insertCategories($count, $parentId, $customNames, $anchor, $thum
}
}
} else {
$faker = new Faker\Generator();
$faker->addProvider(new Faker\Provider\en_US\Person($faker));
$faker->addProvider(new Faker\Provider\Lorem($faker));
$faker->addProvider(new Faker\Provider\MageFaker($faker));
$faker = $this->_getFakerInstance();

for ($i = 0; $i < $count; $i++) {
$this->_insertCategory($faker->categoryName(), $parentId, $anchor, $thumbnail);
Expand All @@ -102,10 +99,7 @@ protected function insertProduct($categories, $type, $incReviews, $color_value =
{
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);

$faker = new Faker\Generator();
$faker->addProvider(new Faker\Provider\en_US\Person($faker));
$faker->addProvider(new Faker\Provider\Lorem($faker));
$faker->addProvider(new Faker\Provider\MageFaker($faker));
$faker = $this->_getFakerInstance();

$name = $faker->productName;
$sku = $faker->sku($name);
Expand Down Expand Up @@ -325,10 +319,7 @@ protected function insertProduct($categories, $type, $incReviews, $color_value =
protected function _insertCategory($name, $parentId, $anchor, $thumbnail)
{
try {
$faker = new Faker\Generator();
$faker->addProvider(new Faker\Provider\en_US\Person($faker));
$faker->addProvider(new Faker\Provider\Lorem($faker));
$faker->addProvider(new Faker\Provider\MageFaker($faker));
$faker = $this->_getFakerInstance();

$parentCategory = Mage::getModel('catalog/category')->load($parentId);

Expand Down Expand Up @@ -424,10 +415,7 @@ protected function _insertAttribute($code, $input, $optionValues, $defaultValue,
*/
protected function _addProductReviews($productId)
{
$faker = new Faker\Generator();
$faker->addProvider(new Faker\Provider\en_US\Person($faker));
$faker->addProvider(new Faker\Provider\Lorem($faker));

$faker = $this->_getFakerInstance();
$reviewCount = mt_rand(0, 10);

$rating_options = [
Expand Down Expand Up @@ -462,4 +450,33 @@ protected function _addProductReviews($productId)
$review->aggregate();
}
}

/**
* Return a new faker instance with the locale set to the current
* admin interface locale. This is only used by the review generator.
*
* This function is basically a reimplementation of \Faker\Factory::create($locale);
* which does not seem to play nice with the Varien autoload implementation.
*
* @return \Faker\Generator
*/
protected function _getFakerInstance()
{
$fallbackLocale = 'en_US';
$currentLocale = Mage::app()->getLocale()->getLocaleCode();

$faker = new Faker\Generator();

if (class_exists("Faker\Provider\\${currentLocale}\Person")) {
$fakerPerson = "Faker\Provider\\${currentLocale}\Person";
} else {
$fakerPerson = "Faker\Provider\\${$fallbackLocale}\Person";
}

$faker->addProvider(new $fakerPerson($faker));
$faker->addProvider(new Faker\Provider\Lorem($faker));
$faker->addProvider(new Faker\Provider\MageFaker($faker));

return $faker;
}
}