Example #1
0
 public static function setUpBeforeClass()
 {
     static::$entityCollection = array();
     $settings = static::settingsProvider();
     foreach ($settings as $setting) {
         $s = new Setting();
         $s->setName($setting[0]);
         $s->setValue($setting[1]);
         Kernel::getService('em')->persist($s);
         static::$entityCollection[] = $s;
     }
     Kernel::getService('em')->flush();
 }
 /**
  * Deserializes a json file into a readable ArrayCollection of setting.
  *
  * @param string $jsonString
  *
  * @return Doctrine\Common\Collections\ArrayCollection
  */
 public static function deserialize($jsonString)
 {
     if ($jsonString == "") {
         throw new \Exception('File is empty.');
     }
     $collection = new ArrayCollection();
     $groups = json_decode($jsonString, true);
     foreach ($groups as $group) {
         if (!empty($group['name'])) {
             $newGroup = new SettingGroup();
             $newGroup->setName($group['name']);
             if (isset($group['inMenu'])) {
                 $newGroup->setInMenu($group['inMenu']);
             }
             if (!empty($group['settings'])) {
                 foreach ($group['settings'] as $setting) {
                     // do not use !empty on type as it can be 0.
                     if (!empty($setting['name']) && isset($setting['type'])) {
                         $newSetting = new Setting();
                         $newSetting->setName($setting['name']);
                         $newSetting->setType($setting['type']);
                         if ($setting['type'] == NodeTypeField::DATETIME_T) {
                             $dt = new \DateTime($setting['value']['date'], new \DateTimeZone($setting['value']['timezone']));
                             $newSetting->setValue($dt);
                         } else {
                             $newSetting->setValue($setting['value']);
                         }
                         $newSetting->setVisible($setting['visible']);
                         $newGroup->addSetting($newSetting);
                         $newSetting->setSettingGroup($newGroup);
                     }
                 }
             }
             $collection[] = $newGroup;
         }
     }
     return $collection;
 }
 /**
  * @param RZ\Roadiz\Core\Entities\Setting $setting
  *
  * @return \Symfony\Component\Form\Form
  */
 private function buildDeleteForm(Setting $setting)
 {
     $builder = $this->createFormBuilder()->add('settingId', 'hidden', ['data' => $setting->getId(), 'constraints' => [new NotBlank()]]);
     return $builder->getForm();
 }
Example #4
0
 /**
  * Get role by name, and create it if does not exist.
  * @param string $name
  *
  * @return RZ\Roadiz\Core\Entities\Role
  */
 protected function getSetting($name)
 {
     $setting = $this->entityManager->getRepository('RZ\\Roadiz\\Core\\Entities\\Setting')->findOneBy(['name' => $name]);
     if (null === $setting) {
         $setting = new Setting();
         $setting->setName($name);
         $this->entityManager->persist($setting);
         $this->entityManager->flush();
     }
     return $setting;
 }