Пример #1
0
 /**
  * Gets article types array collection needed for the form
  *
  * @return ArrayCollection
  */
 private function getArticleTypesCollection()
 {
     $articleTypes = $this->em->getRepository('Newscoop\\Entity\\ArticleType')->getAllTypes()->getArrayResult();
     $settings = new Settings();
     foreach ($articleTypes as $key => $type) {
         $position = new Position();
         $position->articleTypeName = $type['name'];
         $settings->getPositions()->add($position);
     }
     return $settings->getPositions();
 }
 /**
  * Setting up new default settings, when isGlobal is set to true for given setting,
  * there will be the possibility to change this setting for all users.
  *
  * @param array $settings Array of settings
  * @param bool  $isGlobal If edit settings for all users
  */
 private function setUpSettings($settings, $isGlobal = false)
 {
     $qb = $this->em->createQueryBuilder();
     foreach ($settings as $option => $value) {
         $setting = $this->em->getRepository('Newscoop\\EditorBundle\\Entity\\Settings')->createQueryBuilder('s')->select('s')->where($qb->expr()->isNull('s.user'))->andWhere('s.option = :option')->setParameter('option', $option)->getQuery()->getOneOrNullResult();
         if (!$setting) {
             $setting = new Settings();
             $setting->setOption($option);
             $setting->setValue($value);
             $setting->setUser(null);
             $setting->setIsGlobal($isGlobal);
             $this->em->persist($setting);
         } else {
             $setting->setValue($value);
         }
     }
     $this->em->flush();
 }