You are here

class MobileNumber in Mobile Number 2.0.x

Same name in this branch
  1. 2.0.x src/Element/MobileNumber.php \Drupal\mobile_number\Element\MobileNumber
  2. 2.0.x src/Feeds/Target/MobileNumber.php \Drupal\mobile_number\Feeds\Target\MobileNumber
  3. 2.0.x src/Plugin/WebformElement/MobileNumber.php \Drupal\mobile_number\Plugin\WebformElement\MobileNumber
Same name and namespace in other branches
  1. 8 src/Feeds/Target/MobileNumber.php \Drupal\mobile_number\Feeds\Target\MobileNumber

Defines a mobile number field mapper.

Plugin annotation


@FeedsTarget(
  id = "mobile_number",
  field_types = {"mobile_number"}
)

Hierarchy

  • class \Drupal\mobile_number\Feeds\Target\MobileNumber extends \Drupal\feeds\Plugin\Type\Target\FieldTargetBase implements \Drupal\feeds\Plugin\Type\Target\ConfigurableTargetInterface

Expanded class hierarchy of MobileNumber

File

src/Feeds/Target/MobileNumber.php, line 19

Namespace

Drupal\mobile_number\Feeds\Target
View source
class MobileNumber extends FieldTargetBase implements ConfigurableTargetInterface {

  /**
   * {@inheritdoc}
   */
  protected static function prepareTarget(FieldDefinitionInterface $field_definition) {
    return FieldTargetDefinition::createFromFieldDefinition($field_definition)
      ->addProperty('value')
      ->addProperty('local_number')
      ->addProperty('country')
      ->addProperty('tfa')
      ->addProperty('verified');
  }

  /**
   * {@inheritdoc}
   */
  protected function prepareValue($delta, array &$values) {

    /** @var MobileNumberUtilInterface $util */
    $util = \Drupal::service('mobile_number.util');
    $mobile_number = FALSE;
    if (!empty($values['local_number']) && !empty($values['country'])) {
      $mobile_number = $util
        ->getMobileNumber($values['local_number'], $values['country']);
    }
    else {
      $mobile_number = $util
        ->getMobileNumber($values['value']);
    }
    if ($mobile_number) {
      $values['value'] = $util
        ->getCallableNumber($mobile_number);
      $values['local_number'] = $util
        ->getLocalNumber($mobile_number);
      $values['country'] = $util
        ->getCountry($mobile_number);
      $values['tfa'] = !empty($values['tfa']) ? 1 : 0;
      if (!empty($values['verified'])) {
        $code = $util
          ->generateVerificationCode();
        $token = $util
          ->registerVerificationCode($mobile_number, $code);
        $values['verification_code'] = $code;
        $values['verification_token'] = $token;
      }
      $values['verified'] = 0;
    }
    else {
      $values = [];
    }
  }

  /**
   * {@inheritdoc}
   */
  public function defaultConfiguration() {
    return [];
  }

  /**
   * {@inheritdoc}
   */
  public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
    return $form;
  }

  /**
   * {@inheritdoc}
   */
  public function getSummary() {
    return '';
  }

}

Members