You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
209 lines
9.5 KiB
209 lines
9.5 KiB
2 years ago
|
<?php
|
||
|
/**
|
||
|
* @file
|
||
|
* Extra Functions for Edu X theme.
|
||
|
*/
|
||
|
use Drupal\file\Entity\File;
|
||
|
/**
|
||
|
* Sanitise input urls.
|
||
|
*/
|
||
|
function santise_val_url($url) {
|
||
|
if ($url != '') {
|
||
|
|
||
|
// Sanitise (remove all illegal characters) from url.
|
||
|
$url = filter_var($url, FILTER_SANITIZE_URL);
|
||
|
|
||
|
// Validate url.
|
||
|
if (filter_var($url, FILTER_VALIDATE_URL) == TRUE) {
|
||
|
$url = $url;
|
||
|
} else {
|
||
|
$url = '#';
|
||
|
}
|
||
|
return $url;
|
||
|
}
|
||
|
}
|
||
|
function rdm_preprocess_page(array &$variables) {
|
||
|
// theme path
|
||
|
$variables['page_rdm_path'] = drupal_get_path('theme', 'rdm');
|
||
|
|
||
|
// Layout
|
||
|
$variables['container_width'] = theme_get_setting('container_width');
|
||
|
$variables['header_width'] = theme_get_setting('header_width');
|
||
|
$variables['main_width'] = theme_get_setting('main_width');
|
||
|
$variables['footer_width'] = theme_get_setting('footer_width');
|
||
|
|
||
|
// homepage slider
|
||
|
$variables['slider_show'] = theme_get_setting('slider_show');
|
||
|
$variables['slider_code'] = theme_get_setting('slider_code');
|
||
|
$variables['slider_image'] = theme_get_setting('slider_image', 'rdm');
|
||
|
$slider_image_id = theme_get_setting('slider_image', 'rdm');
|
||
|
if(!empty($slider_image_file)) {
|
||
|
$imageuri = $slider_image_file->getFileUri();
|
||
|
$variables['slider_image_path'] = file_create_url($imageuri);
|
||
|
};
|
||
|
$variables['slider_image_bg'] = theme_get_setting('slider_image_bg', 'rdm');
|
||
|
|
||
|
// Header
|
||
|
$variables['header_main_default'] = theme_get_setting('header_main_default');
|
||
|
$variables['header_main_padding_top'] = theme_get_setting('header_main_padding_top');
|
||
|
$variables['header_main_padding_bottom'] = theme_get_setting('header_main_padding_bottom');
|
||
|
$variables['header_page_default'] = theme_get_setting('header_page_default');
|
||
|
$variables['header_page_padding_top'] = theme_get_setting('header_page_padding_top');
|
||
|
$variables['header_page_padding_bottom'] = theme_get_setting('header_page_padding_bottom');
|
||
|
$variables['header_page_content_position'] = theme_get_setting('header_page_content_position');
|
||
|
$variables['header_login_links'] = theme_get_setting('header_login_links');
|
||
|
|
||
|
// Sidebar
|
||
|
$variables['front_sidebar'] = theme_get_setting('front_sidebar');
|
||
|
$variables['sidebar_width_default'] = theme_get_setting('sidebar_width_default');
|
||
|
$variables['sidebar_width_left'] = theme_get_setting('sidebar_width_left');
|
||
|
$variables['sidebar_width_right'] = theme_get_setting('sidebar_width_right');
|
||
|
$variables['sidebar_block_default'] = theme_get_setting('sidebar_block_default');
|
||
|
$variables['sidebar_padding'] = theme_get_setting('sidebar_padding');
|
||
|
$variables['sidebar_radius'] = theme_get_setting('sidebar_radius');
|
||
|
$variables['sidebar_margin'] = theme_get_setting('sidebar_margin');
|
||
|
$variables['sidebar_title_font_size'] = theme_get_setting('sidebar_title_font_size');
|
||
|
$variables['sidebar_title_transform'] = theme_get_setting('sidebar_title_transform');
|
||
|
|
||
|
// Footer
|
||
|
$variables['copyright_text'] = theme_get_setting('copyright_text');
|
||
|
|
||
|
// content
|
||
|
$variables['rtl'] = theme_get_setting('rtl');
|
||
|
|
||
|
// Social
|
||
|
$variables['all_icons_show'] = theme_get_setting('all_icons_show');
|
||
|
$variables['facebook_url'] = santise_val_url(theme_get_setting('facebook_url'));
|
||
|
$variables['twitter_url'] = santise_val_url(theme_get_setting('twitter_url'));
|
||
|
$variables['instagram_url'] = santise_val_url(theme_get_setting('instagram_url'));
|
||
|
$variables['linkedin_url'] = santise_val_url(theme_get_setting('linkedin_url'));
|
||
|
$variables['youtube_url'] = santise_val_url(theme_get_setting('youtube_url'));
|
||
|
$variables['vimeo_url'] = santise_val_url(theme_get_setting('vimeo_url'));
|
||
|
$variables['telegram_url'] = santise_val_url(theme_get_setting('telegram_url'));
|
||
|
$variables['whatsapp_url'] = santise_val_url(theme_get_setting('whatsapp_url'));
|
||
|
$variables['github_url'] = santise_val_url(theme_get_setting('github_url'));
|
||
|
$variables['vk_url'] = santise_val_url(theme_get_setting('vk_url'));
|
||
|
|
||
|
// Typography
|
||
|
$variables['body_font_size'] = theme_get_setting('body_font_size');
|
||
|
$variables['body_line_height'] = theme_get_setting('body_line_height');
|
||
|
$variables['paragraph_bottom'] = theme_get_setting('paragraph_bottom');
|
||
|
$variables['headings_default'] = theme_get_setting('headings_default');
|
||
|
$variables['h1_size'] = theme_get_setting('h1_size');
|
||
|
$variables['h1_weight'] = theme_get_setting('h1_weight');
|
||
|
$variables['h1_transform'] = theme_get_setting('h1_transform');
|
||
|
$variables['h1_height'] = theme_get_setting('h1_height');
|
||
|
$variables['h2_size'] = theme_get_setting('h2_size');
|
||
|
$variables['h2_weight'] = theme_get_setting('h2_weight');
|
||
|
$variables['h2_transform'] = theme_get_setting('h2_transform');
|
||
|
$variables['h2_height'] = theme_get_setting('h2_height');
|
||
|
$variables['h3_size'] = theme_get_setting('h3_size');
|
||
|
$variables['h3_weight'] = theme_get_setting('h3_weight');
|
||
|
$variables['h3_transform'] = theme_get_setting('h3_transform');
|
||
|
$variables['h3_height'] = theme_get_setting('h3_height');
|
||
|
$variables['h4_size'] = theme_get_setting('h4_size');
|
||
|
$variables['h4_weight'] = theme_get_setting('h4_weight');
|
||
|
$variables['h4_transform'] = theme_get_setting('h4_transform');
|
||
|
$variables['h4_height'] = theme_get_setting('h4_height');
|
||
|
$variables['h5_size'] = theme_get_setting('h5_size');
|
||
|
$variables['h5_weight'] = theme_get_setting('h5_weight');
|
||
|
$variables['h5_transform'] = theme_get_setting('h5_transform');
|
||
|
$variables['h5_height'] = theme_get_setting('h5_height');
|
||
|
$variables['h6_size'] = theme_get_setting('h6_size');
|
||
|
$variables['h6_weight'] = theme_get_setting('h6_weight');
|
||
|
$variables['h6_transform'] = theme_get_setting('h6_transform');
|
||
|
$variables['h6_height'] = theme_get_setting('h6_height');
|
||
|
|
||
|
// Element -> Logo
|
||
|
$variables['logo_default'] = theme_get_setting('logo_default');
|
||
|
$variables['site_name_size'] = theme_get_setting('site_name_size');
|
||
|
$variables['site_name_weight'] = theme_get_setting('site_name_weight');
|
||
|
$variables['site_name_transform'] = theme_get_setting('site_name_transform');
|
||
|
$variables['site_name_height'] = theme_get_setting('site_name_height');
|
||
|
$variables['slogan_size'] = theme_get_setting('slogan_size');
|
||
|
$variables['slogan_transform'] = theme_get_setting('slogan_transform');
|
||
|
$variables['slogan_height'] = theme_get_setting('slogan_height');
|
||
|
$variables['slogan_style'] = theme_get_setting('slogan_style');
|
||
|
$variables['main_menu_default'] = theme_get_setting('main_menu_default');
|
||
|
$variables['main_menu_top_size'] = theme_get_setting('main_menu_top_size');
|
||
|
$variables['main_menu_top_weight'] = theme_get_setting('main_menu_top_weight');
|
||
|
$variables['main_menu_top_transform'] = theme_get_setting('main_menu_top_transform');
|
||
|
$variables['main_menu_sub_size'] = theme_get_setting('main_menu_sub_size');
|
||
|
$variables['main_menu_sub_weight'] = theme_get_setting('main_menu_sub_weight');
|
||
|
$variables['main_menu_sub_transform'] = theme_get_setting('main_menu_sub_transform');
|
||
|
|
||
|
// Element -> Page title
|
||
|
$variables['page_title_default'] = theme_get_setting('page_title_default');
|
||
|
$variables['page_title_size_desktop'] = theme_get_setting('page_title_size_desktop');
|
||
|
$variables['page_title_size_mobile'] = theme_get_setting('page_title_size_mobile');
|
||
|
$variables['page_title_transform'] = theme_get_setting('page_title_transform');
|
||
|
|
||
|
// Element -> Button
|
||
|
$variables['button_default'] = theme_get_setting('button_default');
|
||
|
$variables['button_padding'] = theme_get_setting('button_padding');
|
||
|
$variables['button_radius'] = theme_get_setting('button_radius');
|
||
|
|
||
|
// Components -> Font icons
|
||
|
$variables['fontawesome_four'] = theme_get_setting('fontawesome_four');
|
||
|
$variables['fontawesome_five'] = theme_get_setting('fontawesome_five');
|
||
|
|
||
|
// Components -> scroll to top
|
||
|
$variables['scrolltotop_on'] = theme_get_setting('scrolltotop_on');
|
||
|
$variables['scrolltotop_default'] = theme_get_setting('scrolltotop_default');
|
||
|
$variables['scrolltotop_icon_style'] = theme_get_setting('scrolltotop_icon_style');
|
||
|
$variables['scrolltotop_icon_size'] = theme_get_setting('scrolltotop_icon_size');
|
||
|
$variables['scrolltotop_position'] = theme_get_setting('scrolltotop_position');
|
||
|
$variables['scrolltotop_bottom'] = theme_get_setting('scrolltotop_bottom');
|
||
|
$variables['scrolltotop_icon_radius'] = theme_get_setting('scrolltotop_icon_radius');
|
||
|
|
||
|
// Comment
|
||
|
$variables['highlight_author_comment'] = theme_get_setting('highlight_author_comment');
|
||
|
}
|
||
|
|
||
|
function rdm_preprocess_html(&$variables) {
|
||
|
$variables['base_path'] = base_path();
|
||
|
$variables['rdm_path'] = drupal_get_path('theme', 'rdm');
|
||
|
$variables['font_src'] = theme_get_setting('font_src');
|
||
|
$variables['styling'] = theme_get_setting('styling');
|
||
|
$variables['styling_code'] = theme_get_setting('styling_code');
|
||
|
$variables['slider_speed'] = theme_get_setting('slider_speed');
|
||
|
}
|
||
|
/**
|
||
|
* Node preprocess.
|
||
|
*/
|
||
|
function rdm_preprocess_node(array &$variables) {
|
||
|
$variables['node_author_pic'] = theme_get_setting('node_author_pic');
|
||
|
$variables['node_tags'] = theme_get_setting('node_tags');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Comment preprocess.
|
||
|
*/
|
||
|
function rdm_preprocess_comment(array &$variables) {
|
||
|
$variables['comment_user_pic'] = theme_get_setting('comment_user_pic');
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Breadcrumb preprocess.
|
||
|
*/
|
||
|
function rdm_preprocess_breadcrumb(&$variables) {
|
||
|
$variables['breadcrumb_icon_style'] = theme_get_setting('breadcrumb_icon_style');
|
||
|
}
|
||
|
/**
|
||
|
* Implements hook_theme_suggestions_HOOK_alter().
|
||
|
*/
|
||
|
function rdm_theme_suggestions_page_alter(array &$suggestions, array $variables) {
|
||
|
|
||
|
if ($node = \Drupal::routeMatch()->getParameter('node')) {
|
||
|
$content_type = $node->bundle();
|
||
|
$suggestions[] = 'page__'.$content_type;
|
||
|
}
|
||
|
}
|
||
|
function rdm_theme_suggestions_html_alter(array &$suggestions, array $variables) {
|
||
|
|
||
|
if ($node = \Drupal::routeMatch()->getParameter('node')) {
|
||
|
$content_type = $node->bundle();
|
||
|
$suggestions[] = 'html__'.$content_type;
|
||
|
}
|
||
|
}
|