public function buildForm(FormBuilderInterface $builder, array $options) { /** @var \Claroline\CoreBundle\Entity\User $user */ $user = $this->tokenStorage->getToken()->getUser(); $locale = null === $user->getLocale() ? $this->platformConfigHandler->getParameter('locale_language') : $user->getLocale(); $builder->add('badge', 'zenstruck_ajax_entity', array('attr' => array('class' => 'fullwidth'), 'theme_options' => array('control_width' => 'col-md-3'), 'placeholder' => $this->translator->trans('badge_form_badge_selection', array(), 'icap_badge'), 'class' => 'IcapBadgeBundle:Badge', 'use_controller' => true, 'repo_method' => sprintf('findByNameForAjax'), 'extra_data' => array('userId' => $user->getId(), 'locale' => $locale))); }
public function buildForm(FormBuilderInterface $builder, array $options) { $platformLanguage = $this->platformConfigHandler->getParameter('locale_language'); $languages = array_values($this->localeManager->getAvailableLocales()); $sortedLanguages = array(); usort($languages, function ($language1, $language2) use($platformLanguage) { if ($language1 === $platformLanguage) { return -1; } elseif ($language2 === $platformLanguage) { return 1; } else { return 0; } }); $translationBuilder = $builder->create('translations', 'form', array('virtual' => true)); foreach ($languages as $language) { $fieldName = sprintf('%sTranslation', $language); $translationBuilder->add($fieldName, new BadgeTranslationType()); } $builder->add($translationBuilder)->add('automatic_award', 'checkbox', array('required' => false))->add('file', 'file', array('label' => 'badge_form_image'))->add('is_expiring', 'checkbox', array('required' => false))->add('expire_duration', 'integer', array('attr' => array('class' => 'input-sm', 'min' => 1)))->add('expire_period', 'choice', array('choices' => Badge::getExpirePeriodLabels(), 'attr' => array('class' => 'input-sm'))); $builder->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event) { /** @var \Icap\BadgeBundle\Entity\Badge $badge */ $badge = $event->getData(); if ($badge && null !== $badge) { $this->badgeRuleType->setBadgeId($badge->getId()); $form = $event->getForm(); $form->add('rules', 'collection', array('type' => $this->badgeRuleType, 'by_reference' => false, 'attr' => array('class' => 'rule-collections'), 'theme_options' => array('label_width' => 'col-md-3'), 'prototype' => true, 'allow_add' => true, 'allow_delete' => true)); } }); }
/** * @InjectParams({ * "configHandler" = @Inject("claroline.config.platform_config_handler"), * "userManager" = @Inject("claroline.manager.user_manager"), * "tokenStorage" = @Inject("security.token_storage") * }) */ public function __construct(PlatformConfigurationHandler $configHandler, UserManager $userManager, TokenStorageInterface $tokenStorage) { $this->configHandler = $configHandler; $this->userManager = $userManager; $this->defaultLocale = $configHandler->getParameter('locale_language'); $this->finder = new Finder(); $this->tokenStorage = $tokenStorage; }
protected function addPortfolioLink(ItemInterface $menu) { $menuItemConfig = ['route' => 'icap_portfolio_index']; if ($this->platformConfigHandler->getParameter('portfolio_url')) { $menuItemConfig = ['uri' => $this->platformConfigHandler->getParameter('portfolio_url')]; } $menu->addChild($this->translator->trans('my_portfolios', array(), 'icap_portfolio'), $menuItemConfig)->setAttribute('class', 'dropdown')->setAttribute('role', 'presentation')->setExtra('icon', 'fa fa-list-alt'); }
public function __construct(ConnectionFactory $connectionFactory, PlatformConfigurationHandler $configHandler) { $this->connectionFactory = $connectionFactory; $this->platformName = $configHandler->getParameter("name"); if ($this->platformName === null || empty($this->platformName)) { $this->platformName = "ClarolineNoName"; } }
/** * transform. * * @param \Icap\BadgeBundle\Entity\Badge $entity * @param string $format * * @return string */ public function transform($entity, $format) { $templatePath = __DIR__ . '/../../Resources/exporter/Badge'; $this->container->get('twig.loader')->addPath($templatePath); $templateNameFormat = $this->getTemplateNameFormat($entity, $format); $template = sprintf($templateNameFormat, $format); $entity->setLocale($this->platformConfigHandler->getParameter('locale_language')); return $this->getTemplate()->render($template, array('entity' => $entity)); }
/** * @DI\InjectParams({ * "configHandler" = @DI\Inject("claroline.config.platform_config_handler"), * "container" = @DI\Inject("service_container"), * "contentManager" = @DI\Inject("claroline.manager.content_manager"), * "userManager" = @DI\Inject("claroline.manager.user_manager"), * "workspaceManager" = @DI\Inject("claroline.manager.workspace_manager") * }) */ public function __construct(PlatformConfigurationHandler $configHandler, ContainerInterface $container, ContentManager $contentManager, UserManager $userManager, WorkspaceManager $workspaceManager) { $this->configHandler = $configHandler; $this->container = $container; $this->contentManager = $contentManager; $this->isActive = $configHandler->getParameter('terms_of_service'); $this->userManager = $userManager; $this->workspaceManager = $workspaceManager; }
public function buildForm(FormBuilderInterface $builder, array $options) { $actionChoices = $this->eventManager->getSortedEventsForFilter(); /** @var \Claroline\CoreBundle\Entity\User $user */ $user = $this->tokenStorage->getToken()->getUser(); $locale = null === $user->getLocale() ? $this->platformConfigHandler->getParameter('locale_language') : $user->getLocale(); $builder->add('action', 'twolevelselect', array('translation_domain' => 'log', 'attr' => array('class' => 'input-sm'), 'choices' => $actionChoices, 'choices_as_values' => true))->add('isUserReceiver', 'checkbox')->add('occurrence', 'integer', array('attr' => array('class' => 'input-sm')))->add('result', 'text')->add('resource', 'resourcePicker', array('required' => false))->add('resultComparison', 'choice', array('choices' => BadgeRule::getResultComparisonTypes())); $builder->addEventListener(FormEvents::PRE_SET_DATA, array($this, 'onPreSetData')); }
/** * Sets the locale on a badge. * * @param Badge $badge * @param LifecycleEventArgs $event */ public function postLoad(Badge $badge, LifecycleEventArgs $event) { $platformLocale = $this->platformConfigHandler->getParameter('locale_language'); $userLocale = null; if ($token = $this->tokenStorage->getToken()) { if ('anon.' !== ($user = $token->getUser())) { $userLocale = $user->getLocale(); } } $badge->setLocale($userLocale ?: $platformLocale); }
/** * @DI\InjectParams({ * "templating" = @DI\Inject("templating"), * "badgeUsageForm" = @DI\Inject("icap_badge.widget.form.badge_usage"), * "badgeManager" = @DI\Inject("icap_badge.manager.badge"), * "badgeClaimManager" = @DI\Inject("icap_badge.manager.badge_claim"), * "badgeWidgetManager" = @DI\Inject("icap_badge.manager.badge_widget"), * "configHandler" = @DI\Inject("claroline.config.platform_config_handler"), * "tokenStorage" = @DI\Inject("security.token_storage") * }) */ public function __construct(TwigEngine $templating, FormInterface $badgeUsageForm, BadgeManager $badgeManager, BadgeWidgetManager $badgeWidgetManager, PlatformConfigurationHandler $configHandler, TokenStorageInterface $tokenStorage) { $this->templating = $templating; $this->badgeUsageForm = $badgeUsageForm; $this->badgeManager = $badgeManager; $this->badgeWidgetManager = $badgeWidgetManager; $this->platformName = $configHandler->getParameter('name'); if ($this->platformName === null || empty($this->platformName)) { $this->platformName = 'Claroline'; } $this->tokenStorage = $tokenStorage; }
/** * Constructor. * * @DI\InjectParams({ * "em" = @DI\Inject("doctrine.orm.entity_manager"), * "tokenStorage" = @DI\Inject("security.token_storage"), * "eventDispatcher" = @DI\Inject("event_dispatcher"), * "configHandler" = @DI\Inject("claroline.config.platform_config_handler"), * "notificationParametersManager" = @DI\Inject("icap.notification.manager.notification_user_parameters"), * "notificationPluginConfigurationManager" = @DI\Inject("icap.notification.manager.plugin_configuration") * }) */ public function __construct(EntityManager $em, TokenStorageInterface $tokenStorage, EventDispatcherInterface $eventDispatcher, PlatformConfigurationHandler $configHandler, NotificationUserParametersManager $notificationParametersManager, NotificationPluginConfigurationManager $notificationPluginConfigurationManager) { $this->em = $em; $this->tokenStorage = $tokenStorage; $this->eventDispatcher = $eventDispatcher; $this->platformName = $configHandler->getParameter('name'); if ($this->platformName === null || empty($this->platformName)) { $this->platformName = 'Claroline'; } $this->notificationParametersManager = $notificationParametersManager; $this->notificationPluginConfigurationManager = $notificationPluginConfigurationManager; }
public function createNewAccount(Request $request, $translator, $service) { $user = new User(); $form = $this->getRegistrationForm($user, $translator); $form->handleRequest($request); $session = $request->getSession(); if ($form->isValid()) { $user = $this->userManager->createUser($user); $oauthUser = new OauthUser($service['name'], $service['id'], $user); $this->em->persist($oauthUser); $this->em->flush(); $session->remove('icap.oauth.resource_owner'); $facets = $this->facetManager->findForcedRegistrationFacet(); //then we adds the differents value for facets. foreach ($facets as $facet) { foreach ($facet->getPanelFacets() as $panel) { foreach ($panel->getFieldsFacet() as $field) { $this->facetManager->setFieldValue($user, $field, $form->get($field->getName())->getData(), true); } } } $msg = $translator->trans('account_created', array(), 'platform'); $session->getFlashBag()->add('success', $msg); if ($this->platformConfigHandler->getParameter('registration_mail_validation')) { $msg = $translator->trans('please_validate_your_account', array(), 'platform'); $session->getFlashBag()->add('success', $msg); } return $this->loginUser($user, $request); } return array('form' => $form->createView()); }
public function export(Workspace $workspace, array &$files, Path $path) { $data = []; // Get path data $pathData = []; $pathData['description'] = $path->getDescription(); $pathData['breadcrumbs'] = $path->hasBreadcrumbs(); $pathData['modified'] = $path->isModified(); $pathData['published'] = $path->isPublished(); $pathData['summaryDisplayed'] = $path->isSummaryDisplayed(); $pathData['completeBlockingCondition'] = $path->isCompleteBlockingCondition(); $pathData['manualProgressionAllowed'] = $path->isManualProgressionAllowed(); // Get path structure into a file (to replace resources ID with placeholders) $uid = uniqid() . '.txt'; $tmpPath = $this->ch->getParameter('tmp_dir') . DIRECTORY_SEPARATOR . $uid; $structure = $path->getStructure(); file_put_contents($tmpPath, $structure); $files[$uid] = $tmpPath; $pathData['structure'] = $uid; $data['path'] = $pathData; // Process Steps $data['steps'] = []; if ($path->isPublished()) { $stepsData = []; foreach ($path->getSteps() as $step) { $stepsData[] = $this->stepManager->export($step); } $data['steps'] = $stepsData; } return $data; }
public function testExistentParameterCanBeAccessed() { $this->handler->setParameter('name', 'foo'); $this->assertEquals('foo', $this->handler->getParameter('name')); }
public function buildForm(FormBuilderInterface $builder, array $options) { parent::buildForm($builder, $options); $language = $this->platformConfigHandler->getParameter('locale_language'); $builder->add('label', 'text')->add('children', 'collection', array('type' => 'icap_badge_portfolio_widget_form_badges_badge', 'by_reference' => false, 'allow_add' => true, 'allow_delete' => true, 'property_path' => 'badges')); }
/** * Return a user if need to accept the terms of service. * * @param \Symfony\Component\HttpFoundation\Request $request * * @return Claroline\CoreBundle\Entity\User */ private function getUser(Request $request) { if ($this->configurationHandler->getParameter('terms_of_service') && $request->get('_route') !== 'claroline_locale_change' && $request->get('_route') !== 'claroline_locale_select' && $request->get('_route') !== 'bazinga_exposetranslation_js' && ($token = $this->tokenStorage->getToken()) && ($user = $token->getUser()) && $user instanceof User) { return $user; } }
public function buildForm(FormBuilderInterface $builder, array $options) { parent::buildForm($builder, $options); $language = $this->platformConfigHandler->getParameter('locale_language'); $builder->add('name', 'text')->add('startDate', 'datepicker', ['required' => false, 'language' => $language, 'format' => 'Y/M/d'])->add('endDate', 'datepicker', ['required' => false, 'language' => $language, 'format' => 'Y/M/d'])->add('establishmentName', 'text')->add('diploma', 'text')->add('children', 'collection', ['type' => 'icap_portfolio_widget_form_formations_formation', 'by_reference' => false, 'allow_add' => true, 'allow_delete' => true, 'property_path' => 'resources']); }
public function buildForm(FormBuilderInterface $builder, array $options) { parent::buildForm($builder, $options); $language = $this->platformConfigHandler->getParameter('locale_language'); $builder->add('birthDate', 'datepicker', ['required' => false, 'language' => $language, 'format' => 'Y/M/d'])->add('city', 'text')->add('show_avatar', 'checkbox', ['required' => false])->add('show_mail', 'checkbox', ['required' => false])->add('show_phone', 'checkbox', ['required' => false])->add('show_description', 'checkbox', ['required' => false])->add('text', 'tinymce'); }
public function buildForm(FormBuilderInterface $builder, array $options) { parent::buildForm($builder, $options); $language = $this->platformConfigHandler->getParameter('locale_language'); $builder->add('post', 'text')->add('companyName', 'text')->add('startDate', 'datepicker', ['required' => false, 'language' => $language, 'format' => 'Y/M/d'])->add('endDate', 'datepicker', ['required' => false, 'language' => $language, 'format' => 'Y/M/d'])->add('description', 'tinymce')->add('website', 'url', ['required' => false]); }
public function setPortalEnabledResourceTypes($resourceTypes) { $this->configHandler->setParameter('portal_enabled_resources', $resourceTypes); }