Projet

Général

Profil

Révision a192dc0b

Ajouté par Assos Assos il y a environ 8 ans

Weekly update of contrib modules

Voir les différences:

drupal7/sites/all/modules/feeds/plugins/FeedsParser.inc
119 119
    return $sources;
120 120
  }
121 121

  
122
  /**
123
   * Get list of mapped sources.
124
   *
125
   * @return array
126
   *   List of mapped source names in an array.
127
   */
128
  public function getMappingSourceList() {
129
    $mappings = feeds_importer($this->id)->processor->config['mappings'];
130
    $sources = array();
131
    foreach ($mappings as $mapping) {
132
      $sources[] = $mapping['source'];
133
    }
134
    return $sources;
135
  }
136

  
122 137
  /**
123 138
   * Get an element identified by $element_key of the given item.
124 139
   * The element key corresponds to the values in the array returned by
......
554 569
   * Helper method for buildDateField(). Build a FeedsDateTimeElement object
555 570
   * from a standard formatted node.
556 571
   */
557
  protected static function readDateField($entity, $field_name, $delta = 0) {
572
  protected static function readDateField($entity, $field_name, $delta = 0, $language = LANGUAGE_NONE) {
558 573
    $ret = new FeedsDateTimeElement();
559
    if (isset($entity->{$field_name}['und'][$delta]['date']) && $entity->{$field_name}['und'][$delta]['date'] instanceof FeedsDateTime) {
560
      $ret->start = $entity->{$field_name}['und'][$delta]['date'];
574
    if (isset($entity->{$field_name}[$language][$delta]['date']) && $entity->{$field_name}[$language][$delta]['date'] instanceof FeedsDateTime) {
575
      $ret->start = $entity->{$field_name}[$language][$delta]['date'];
561 576
    }
562
    if (isset($entity->{$field_name}['und'][$delta]['date2']) && $entity->{$field_name}['und'][$delta]['date2'] instanceof FeedsDateTime) {
563
      $ret->end = $entity->{$field_name}['und'][$delta]['date2'];
577
    if (isset($entity->{$field_name}[$language][$delta]['date2']) && $entity->{$field_name}[$language][$delta]['date2'] instanceof FeedsDateTime) {
578
      $ret->end = $entity->{$field_name}[$language][$delta]['date2'];
564 579
    }
565 580
    return $ret;
566 581
  }
......
575 590
   * @param int $delta
576 591
   *   The delta in the field.
577 592
   */
578
  public function buildDateField($entity, $field_name, $delta = 0) {
593
  public function buildDateField($entity, $field_name, $delta = 0, $language = LANGUAGE_NONE) {
579 594
    $info = field_info_field($field_name);
580 595

  
581
    $oldfield = FeedsDateTimeElement::readDateField($entity, $field_name, $delta);
596
    $oldfield = FeedsDateTimeElement::readDateField($entity, $field_name, $delta, $language);
582 597
    // Merge with any preexisting objects on the field; we take precedence.
583 598
    $oldfield = $this->merge($oldfield);
584 599
    $use_start = $oldfield->start;
......
611 626

  
612 627
    $db_tz = new DateTimeZone($db_tz);
613 628
    if (!isset($entity->{$field_name})) {
614
      $entity->{$field_name} = array('und' => array());
629
      $entity->{$field_name} = array($language => array());
615 630
    }
616 631
    if ($use_start) {
617
      $entity->{$field_name}['und'][$delta]['timezone'] = $use_start->getTimezone()->getName();
618
      $entity->{$field_name}['und'][$delta]['offset'] = $use_start->getOffset();
632
      $entity->{$field_name}[$language][$delta]['timezone'] = $use_start->getTimezone()->getName();
633
      $entity->{$field_name}[$language][$delta]['offset'] = $use_start->getOffset();
619 634
      $use_start->setTimezone($db_tz);
620
      $entity->{$field_name}['und'][$delta]['date'] = $use_start;
635
      $entity->{$field_name}[$language][$delta]['date'] = $use_start;
621 636
      /**
622 637
       * @todo the date_type_format line could be simplified based upon a patch
623 638
       *   DO issue #259308 could affect this, follow up on at some point.
624 639
       *   Without this, all granularity info is lost.
625 640
       *   $use_start->format(date_type_format($field['type'], $use_start->granularity));
626 641
       */
627
      $entity->{$field_name}['und'][$delta]['value'] = $use_start->format(date_type_format($info['type']));
642
      $entity->{$field_name}[$language][$delta]['value'] = $use_start->format(date_type_format($info['type']));
628 643
    }
629 644
    if ($use_end) {
630 645
      // Don't ever use end to set timezone (for now)
631
      $entity->{$field_name}['und'][$delta]['offset2'] = $use_end->getOffset();
646
      $entity->{$field_name}[$language][$delta]['offset2'] = $use_end->getOffset();
632 647
      $use_end->setTimezone($db_tz);
633
      $entity->{$field_name}['und'][$delta]['date2'] = $use_end;
634
      $entity->{$field_name}['und'][$delta]['value2'] = $use_end->format(date_type_format($info['type']));
648
      $entity->{$field_name}[$language][$delta]['date2'] = $use_end;
649
      $entity->{$field_name}[$language][$delta]['value2'] = $use_end->format(date_type_format($info['type']));
635 650
    }
636 651
  }
637 652
}

Formats disponibles : Unified diff