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.
208 lines
9.5 KiB
208 lines
9.5 KiB
<?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; |
|
} |
|
}
|
|
|