main/core/Manager/FacetManager.php
public function setFieldValue(User $user, FieldFacet $field, $value, $force = false)
    {
        if (!$this->authorization->isGranted('edit', new FieldFacetCollection([$field], $user)) && !$force) {
            throw new AccessDeniedException();
        }

        $fieldFacetValue = $this->om->getRepository('ClarolineCoreBundle:Facet\FieldFacetValue')
            ->findOneBy(['user' => $user, 'fieldFacet' => $field]);

        if (null === $fieldFacetValue) {
            $fieldFacetValue = new FieldFacetValue();
            $fieldFacetValue->setUser($user);
            $fieldFacetValue->setFieldFacet($field);
        }

        switch ($field->getType()) {
            case FieldFacet::DATE_TYPE:
                $date = is_string($value) ?
                    new \DateTime($value) :
                    $value;
                $fieldFacetValue->setDateValue($date);
                break;
            case FieldFacet::NUMBER_TYPE:
                $fieldFacetValue->setFloatValue($value);
                break;
            case FieldFacet::CHOICE_TYPE:
                $options = $field->getOptions();

                if (isset($options['multiple']) && $options['multiple']) {
                    $fieldFacetValue->setArrayValue($value);
                } else {
                    $fieldFacetValue->setStringValue($value);
                }
                break;
            case FieldFacet::CASCADE_TYPE:
                $fieldFacetValue->setArrayValue($value);
                break;
            default:
                $fieldFacetValue->setStringValue($value);
        }

        $this->om->persist($fieldFacetValue);
        $this->om->flush();
    }
public function setFieldValue(User $user, FieldFacet $field, $value, $force = false)
    {
        if (!$this->authorization->isGranted('edit', new FieldFacetCollection([$field], $user)) && !$force) {
            throw new AccessDeniedException();
        }

        $fieldFacetValue = $this->om->getRepository('ClarolineCoreBundle:Facet\FieldFacetValue')
            ->findOneBy(['user' => $user, 'fieldFacet' => $field]);

        if (null === $fieldFacetValue) {
            $fieldFacetValue = new FieldFacetValue();
            $fieldFacetValue->setUser($user);
            $fieldFacetValue->setFieldFacet($field);
        }

        switch ($field->getType()) {
            case FieldFacet::DATE_TYPE:
                $date = is_string($value) ?
                    new \DateTime($value) :
                    $value;
                $fieldFacetValue->setDateValue($date);
                break;
            case FieldFacet::NUMBER_TYPE:
                $fieldFacetValue->setFloatValue($value);
                break;
            case FieldFacet::CHOICE_TYPE:
                $options = $field->getOptions();

                if (isset($options['multiple']) && $options['multiple']) {
                    $fieldFacetValue->setArrayValue($value);
                } else {
                    $fieldFacetValue->setStringValue($value);
                }
                break;
            case FieldFacet::CASCADE_TYPE:
                $fieldFacetValue->setArrayValue($value);
                break;
            default:
                $fieldFacetValue->setStringValue($value);
        }

        $this->om->persist($fieldFacetValue);
        $this->om->flush();
    }
public function setFieldValue ( User $ user , FieldFacet $ field , $ value , $ force = false ) { if ( ! $ this -> authorization -> isGranted ( 'edit' , new FieldFacetCollection ( [ $ field ] , $ user ) ) && ! $ force ) { throw new AccessDeniedException ( ) ; } $ fieldFacetValue = $ this -> om -> getRepository ( 'ClarolineCoreBundle:Facet\FieldFacetValue' ) -> findOneBy ( [ 'user' => $ user , 'fieldFacet' => $ field ] ) ; if ( null === $ fieldFacetValue ) { $ fieldFacetValue = new FieldFacetValue ( ) ; $ fieldFacetValue -> setUser ( $ user ) ; $ fieldFacetValue -> setFieldFacet ( $ field ) ; } switch ( $ field -> getType ( ) ) { case FieldFacet :: DATE_TYPE : $ date = is_string ( $ value ) ? new \ DateTime ( $ value ) : $ value ; $ fieldFacetValue -> setDateValue ( $ date ) ; break ; case FieldFacet :: NUMBER_TYPE : $ fieldFacetValue -> setFloatValue ( $ value ) ; break ; case FieldFacet :: CHOICE_TYPE : $ options = $ field -> getOptions ( ) ; if ( isset ( $ options [ 'multiple' ] ) && $ options [ 'multiple' ] ) { $ fieldFacetValue -> setArrayValue ( $ value ) ; } else { $ fieldFacetValue -> setStringValue ( $ value ) ; } break ; case FieldFacet :: CASCADE_TYPE : $ fieldFacetValue -> setArrayValue ( $ value ) ; break ; default : $ fieldFacetValue -> setStringValue ( $ value ) ; } $ this -> om -> persist ( $ fieldFacetValue ) ; $ this -> om -> flush ( ) ; }
Set the value of a field for a user.

@param User       $user
@param FieldFacet $field
@param mixed      $value

Has some use at the registration/csv import.
Should be removed eventually

@deprecated

@throws \Exception
Set the value of a field for a user .