degov-8.x-2.0/modules/degov_social_media_instagram/degov_social_media_instagram.module
modules/degov_social_media_instagram/degov_social_media_instagram.module
<?php
/**
* @file
* Contains degov_social_media_instagram.module.
*/
use Drupal\Core\Routing\RouteMatchInterface;
/**
* Implements hook_help().
*/
function degov_social_media_instagram_help($route_name, RouteMatchInterface $route_match) {
switch ($route_name) {
// Main module help for the degov_social_media_instagram module.
case 'help.page.degov_social_media_instagram':
$output = '';
$output .= '<h3>' . t('About') . '</h3>';
$output .= '<p>' . t('This module allows you to show you the newest posts from a user') . '</p>';
return $output;
default:
}
}
/**
* Implements hook_preprocess().
*/
function degov_social_media_instagram_preprocess_block(&$variables) {
if (isset($variables['elements']['#base_plugin_id']) && $variables['elements']['#base_plugin_id'] == 'degov_social_media_instagram') {
$variables['#attached']['library'][] = 'degov_common/slick';
$markup = render($variables['content']);
if (!empty($markup)) {
$variables['#attached']['drupalSettings']['degov_social_media_settings']['code']['insta'] = $markup;
$variables['attributes']['class'][] = 'js-social-media-wrapper';
$variables['attributes']['data-social-media-source'] = 'instagram';
$variables['attributes']['data-social-media-entity'] = 'insta';
$variables['social_media_disabled'] = TRUE;
}
}
}
/**
* Implements hook_theme().
*/
function degov_social_media_instagram_theme() {
return [
'degov_social_media_instagram' => [
'render element' => 'elements',
'variables' => [
'imageUrl' => NULL,
'type' => NULL,
'link' => NULL,
'caption' => NULL,
'date' => NULL,
'views' => NULL,
'comments' => NULL,
'likes' => NULL,
'link_display' => NULL,
]
],
];
}
