class FileLink in Open Social 8.5
Same name and namespace in other branches
- 8.9 themes/socialbase/src/Plugin/Preprocess/FileLink.php \Drupal\socialbase\Plugin\Preprocess\FileLink
- 8 themes/socialbase/src/Plugin/Preprocess/FileLink.php \Drupal\socialbase\Plugin\Preprocess\FileLink
- 8.2 themes/socialbase/src/Plugin/Preprocess/FileLink.php \Drupal\socialbase\Plugin\Preprocess\FileLink
- 8.3 themes/socialbase/src/Plugin/Preprocess/FileLink.php \Drupal\socialbase\Plugin\Preprocess\FileLink
- 8.4 themes/socialbase/src/Plugin/Preprocess/FileLink.php \Drupal\socialbase\Plugin\Preprocess\FileLink
- 8.6 themes/socialbase/src/Plugin/Preprocess/FileLink.php \Drupal\socialbase\Plugin\Preprocess\FileLink
- 8.7 themes/socialbase/src/Plugin/Preprocess/FileLink.php \Drupal\socialbase\Plugin\Preprocess\FileLink
- 8.8 themes/socialbase/src/Plugin/Preprocess/FileLink.php \Drupal\socialbase\Plugin\Preprocess\FileLink
Pre-processes variables for the "file_link" theme hook.
Plugin annotation
@BootstrapPreprocess("file_link",
  replace = "template_preprocess_file_link"
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait- class \Drupal\bootstrap\Plugin\PluginBase- class \Drupal\bootstrap\Plugin\Preprocess\PreprocessBase implements PreprocessInterface
 
 
- class \Drupal\bootstrap\Plugin\PluginBase
 
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of FileLink
File
- themes/socialbase/ src/ Plugin/ Preprocess/ FileLink.php, line 17 
Namespace
Drupal\socialbase\Plugin\PreprocessView source
class FileLink extends BaseFileLink {
  /**
   * {@inheritdoc}
   */
  public function preprocess(array &$variables, $hook, array $info) {
    parent::preprocess($variables, $hook, $info);
    // Find out what the active theme is first.
    $theme = \Drupal::theme()
      ->getActiveTheme();
    // Check if socialbase is one of the base themes.
    // Then get the path to socialbase theme and provide a variable
    // that can be used in the template for a path to the icons.
    if (array_key_exists('socialbase', $theme
      ->getBaseThemes())) {
      $basethemes = $theme
        ->getBaseThemes();
      $variables['path_to_socialbase'] = $basethemes['socialbase']
        ->getPath();
    }
    $file = $variables['file'] instanceof File ? $variables['file'] : File::load($variables['file']->fid);
    $mime_type = $file
      ->getMimeType();
    $generic_mime_type = file_icon_class($mime_type);
    if (isset($generic_mime_type)) {
      // Set new icons for the mime types.
      switch ($generic_mime_type) {
        case 'application-pdf':
          $node_icon = 'pdf';
          break;
        case 'x-office-document':
          $node_icon = 'document';
          break;
        case 'x-office-presentation':
          $node_icon = 'presentation';
          break;
        case 'x-office-spreadsheet':
          $node_icon = 'spreadsheet';
          break;
        case 'package-x-generic':
          $node_icon = 'archive';
          break;
        case 'audio':
          $node_icon = 'audio';
          break;
        case 'video':
          $node_icon = 'video';
          break;
        case 'image':
          $node_icon = 'image';
          break;
        default:
          $node_icon = 'text';
      }
    }
    // Set a new variable to be used in the template file.
    $variables['node_icon'] = $node_icon;
  }
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| DependencySerializationTrait:: | protected | property | An array of entity type IDs keyed by the property name of their storages. | |
| DependencySerializationTrait:: | protected | property | An array of service IDs keyed by property name used for serialization. | |
| DependencySerializationTrait:: | public | function | 1 | |
| DependencySerializationTrait:: | public | function | 2 | |
| FileLink:: | public | function | Preprocess theme hook variables. Overrides PreprocessBase:: | |
| FileLink:: | public | function | Preprocess the variables array. Overrides PreprocessBase:: | |
| MessengerTrait:: | protected | property | The messenger. | 29 | 
| MessengerTrait:: | public | function | Gets the messenger. | 29 | 
| MessengerTrait:: | public | function | Sets the messenger. | |
| PluginBase:: | protected | property | Configuration information passed into the plugin. | 1 | 
| PluginBase:: | protected | property | The plugin implementation definition. | 1 | 
| PluginBase:: | protected | property | The plugin_id. | |
| PluginBase:: | protected | property | The currently set theme object. | |
| PluginBase:: | constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
| PluginBase:: | public | function | Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: | |
| PluginBase:: | public | function | Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: | |
| PluginBase:: | public | function | Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: | 3 | 
| PluginBase:: | public | function | Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: | |
| PluginBase:: | public | function | Determines if the plugin is configurable. | |
| PluginBase:: | public | function | Constructs a \Drupal\Component\Plugin\PluginBase object. Overrides PluginBase:: | 1 | 
| PreprocessBase:: | protected | property | The theme hook invoked. | |
| PreprocessBase:: | protected | property | The theme hook info array from the theme registry. | |
| PreprocessBase:: | protected | property | The Variables object. | |
| PreprocessBase:: | protected | function | Ensures all attributes have been converted to an Attribute object. | |
| PreprocessBase:: | protected | function | Converts any set description variable into a traversable array. | |
| PreprocessBase:: | protected | function | Preprocess the variables array if an element is present. | 8 | 
| StringTranslationTrait:: | protected | property | The string translation service. | 1 | 
| StringTranslationTrait:: | protected | function | Formats a string containing a count of items. | |
| StringTranslationTrait:: | protected | function | Returns the number of plurals supported by a given language. | |
| StringTranslationTrait:: | protected | function | Gets the string translation service. | |
| StringTranslationTrait:: | public | function | Sets the string translation service to use. | 2 | 
| StringTranslationTrait:: | protected | function | Translates a string to the current language or to a given language. | 
