simplepodcast-8.x-1.x-dev/src/SimplePodcastCommonFunctions.php

src/SimplePodcastCommonFunctions.php
<?php

/**
 * @file
 * Contains \Drupal\simplepodcast\Routing\PodcstRssCommonFunctions.
 */

namespace Drupal\simplepodcast;

use Drupal\image\Entity\ImageStyle;

class SimplePodcastCommonFunctions {

  /**
   * Set default values if empty value.
   *
   * @param string $config_item
   *   The config setting name.
   *
   * @return array|mixed|string|null
   */
  public static function getConfig($config_item) {
    $return_item = \Drupal::config('simplepodcast.settings')->get($config_item);

    if (trim($return_item) == '') {
      switch ($config_item) {
        case 'title':
          $return_item = \Drupal::config('system.site')->get('name');
          break;
        case 'description':
          $return_item = \Drupal::config('system.site')->get('slogan');
          break;
        case 'language':
          $return_item = \Drupal::languageManager()
            ->getCurrentLanguage()
            ->getId();
          break;
        case 'copyright':
          $site_name = \Drupal::config('system.site')->get('name');
          $return_item = date("Y") . ' ' . $site_name;
          break;
        case 'owner_name':
          $return_item = \Drupal::config('system.site')->get('name');
          break;
        case 'owner_author':
          $return_item = \Drupal::config('system.site')->get('name');
          break;
        case 'owner_email':
          $return_item = \Drupal::config('system.site')->get('mail');
          break;
        case 'channel_image':
          $return_item = '';
          break;
        case 'item_title':
          $return_item = 'title';
          break;
        case 'item_author':
          $return_item = 'uid';
          break;
        case 'item_subtitle':
          $return_item = 'title';
          break;
        case 'item_summary':
          $return_item = 'body';
          break;
      }
    }
    elseif ($return_item == 'owner@example.com' && $config_item == 'owner_email') {
      $return_item = \Drupal::config('system.site')->get('mail');
    }

    return $return_item;
  }

  /**
   * The node author or field value.
   */
  public static function getFieldValue($node, $field_name) {
    switch ($field_name) {
      case 'uid':
        $field_value = $node->getOwner()->getAccountName();
        break;
      default:
        $field_value = $node->get($field_name)->value;
    }
    return $field_value;
  }

  /**
   * URI for the image derivative or null.
   */
  public static function getFieldImage($node, $field_name) {
    if ($node->get($field_name)->entity->uri->value) {
      return ImageStyle::load('large')
        ->buildUrl($node->get($field_name)->entity->uri->value);
    }
    else {
      return NULL;
    }
  }

  /**
   * URI for the media or null.
   */
  public static function getFieldUri($node, $field_name) {
    if ($node->get($field_name)->uri) {
      return $node->get($field_name)->uri;
    }
    else {
      return NULL;
    }
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc