![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/app/bundles/PageBundle/DataFixtures/ORM/ |
<?php namespace Mautic\PageBundle\DataFixtures\ORM; use Doctrine\Common\DataFixtures\AbstractFixture; use Doctrine\Common\DataFixtures\OrderedFixtureInterface; use Doctrine\Persistence\ObjectManager; use Mautic\CoreBundle\Helper\CsvHelper; use Mautic\CoreBundle\Helper\Serializer; use Mautic\PageBundle\Entity\Hit; use Mautic\PageBundle\Model\PageModel; class LoadPageHitData extends AbstractFixture implements OrderedFixtureInterface { public function __construct( private PageModel $pageModel ) { } public function load(ObjectManager $manager): void { $hits = CsvHelper::csv_to_array(__DIR__.'/fakepagehitdata.csv'); foreach ($hits as $rows) { $hit = new Hit(); foreach ($rows as $col => $val) { if ('NULL' != $val) { $setter = 'set'.ucfirst($col); if (in_array($col, ['page', 'ipAddress'])) { $hit->$setter($this->getReference($col.'-'.$val)); } elseif (in_array($col, ['dateHit', 'dateLeft'])) { $hit->$setter(new \DateTime($val)); } elseif ('browserLanguages' == $col) { $val = Serializer::decode(stripslashes($val)); $hit->$setter($val); } else { $hit->$setter($val); } } } $this->pageModel->getRepository()->saveEntity($hit); } } public function getOrder() { return 8; } }