MobileNumber.php in Mobile Number 2.0.x        
                          
                  
                        
  
  
  
  
File
  src/Feeds/Target/MobileNumber.php
  
    View source  
  <?php
namespace Drupal\mobile_number\Feeds\Target;
use Drupal\Core\Field\FieldDefinitionInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\feeds\FieldTargetDefinition;
use Drupal\feeds\Plugin\Type\Target\ConfigurableTargetInterface;
use Drupal\feeds\Plugin\Type\Target\FieldTargetBase;
class MobileNumber extends FieldTargetBase implements ConfigurableTargetInterface {
  
  protected static function prepareTarget(FieldDefinitionInterface $field_definition) {
    return FieldTargetDefinition::createFromFieldDefinition($field_definition)
      ->addProperty('value')
      ->addProperty('local_number')
      ->addProperty('country')
      ->addProperty('tfa')
      ->addProperty('verified');
  }
  
  protected function prepareValue($delta, array &$values) {
    
    $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 = [];
    }
  }
  
  public function defaultConfiguration() {
    return [];
  }
  
  public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
    return $form;
  }
  
  public function getSummary() {
    return '';
  }
}