From 9ca1a37aba709b7e19922168230a771c49398592 Mon Sep 17 00:00:00 2001 From: thewilkybarkid <chriswilkinson84@gmail.com> Date: Fri, 13 Sep 2013 15:35:53 +0100 Subject: [PATCH] Move base install code to a separate file --- cambridge.install | 4 +- cambridge.profile | 10 +- cambridge_base.inc | 795 +++++++++++++++++++++++++++++++++++++++++ cambridge_lite.install | 770 +-------------------------------------- cambridge_lite.profile | 10 +- 5 files changed, 803 insertions(+), 786 deletions(-) create mode 100644 cambridge_base.inc diff --git a/cambridge.install b/cambridge.install index 20aa2ad..cd538e3 100644 --- a/cambridge.install +++ b/cambridge.install @@ -13,9 +13,9 @@ * @see system_install() */ function cambridge_install() { - require_once 'cambridge_lite.install'; + require_once 'cambridge_base.inc'; - cambridge_lite_install(); + cambridge_base_install(); // Force a main-menu link on Basic Pages. variable_set('menu_force_page', TRUE); diff --git a/cambridge.profile b/cambridge.profile index 3b5d9a4..f8c0190 100644 --- a/cambridge.profile +++ b/cambridge.profile @@ -11,13 +11,7 @@ * Allows the profile to alter the site configuration form. */ function cambridge_form_install_configure_form_alter(&$form, $form_state) { - // Pre-populate the default country with United Kingdom. - $form['server_settings']['site_default_country']['#default_value'] = 'GB'; + require_once 'cambridge_base.inc'; - // Make sure the timezone is Europe/London. - $form['server_settings']['date_default_timezone']['#default_value'] = 'Europe/London'; - unset($form['server_settings']['date_default_timezone']['#attributes']['class']); - - // Only check for updates, no need for email notifications. - $form['update_notifications']['update_status_module']['#default_value'] = array(1); + cambridge_base_install_configure_form_alter($form, $form_state); } diff --git a/cambridge_base.inc b/cambridge_base.inc new file mode 100644 index 0000000..a8fafe4 --- /dev/null +++ b/cambridge_base.inc @@ -0,0 +1,795 @@ +<?php + +/** + * @file + * Base functions for the University of Cambridge installation profiles. + */ + +/** + * Perform actions to set up the site for the profiles. + */ +function cambridge_base_install() { + // Add text formats. + + $filtered_html_format = array( + 'format' => 'filtered_html', + 'name' => 'Filtered HTML', + 'weight' => 0, + 'filters' => array( + // URL filter. + 'filter_url' => array( + 'weight' => 0, + 'status' => 1, + ), + // HTML filter. + 'filter_html' => array( + 'weight' => 1, + 'status' => 1, + ), + // Line break filter. + 'filter_autop' => array( + 'weight' => 2, + 'status' => 1, + ), + // HTML corrector filter. + 'filter_htmlcorrector' => array( + 'weight' => 10, + 'status' => 1, + ), + ), + ); + $filtered_html_format = (object) $filtered_html_format; + filter_format_save($filtered_html_format); + + $full_html_format = array( + 'format' => 'full_html', + 'name' => 'Full HTML', + 'weight' => 1, + 'filters' => array( + // URL filter. + 'filter_url' => array( + 'weight' => 0, + 'status' => 1, + ), + // Line break filter. + 'filter_autop' => array( + 'weight' => 1, + 'status' => 1, + ), + // HTML corrector filter. + 'filter_htmlcorrector' => array( + 'weight' => 10, + 'status' => 1, + ), + ), + ); + $full_html_format = (object) $full_html_format; + filter_format_save($full_html_format); + + // Add image styles + + $carousel = image_style_save(array('name' => 'carousel', 'label' => 'Carousel')); + + image_effect_save( + array( + 'name' => 'image_scale', + 'data' => array( + 'width' => 885, + 'height' => NULL, + 'upscale' => TRUE, + ), + 'isid' => $carousel['isid'], + 'weight' => 1, + ) + ); + + image_effect_save( + array( + 'name' => 'image_crop', + 'data' => array( + 'width' => 885, + 'height' => 432, + 'anchor' => 'center-center', + ), + 'isid' => $carousel['isid'], + 'weight' => 2, + ) + ); + + $leading = image_style_save(array('name' => 'leading', 'label' => 'Leading')); + + image_effect_save( + array( + 'name' => 'image_scale', + 'data' => array( + 'width' => 590, + 'height' => NULL, + 'upscale' => TRUE, + ), + 'isid' => $leading['isid'], + 'weight' => 1, + ) + ); + + image_effect_save( + array( + 'name' => 'image_crop', + 'data' => array( + 'width' => 590, + 'height' => 288, + 'anchor' => 'center-center', + ), + 'isid' => $leading['isid'], + 'weight' => 2, + ) + ); + + $inline = image_style_save(array('name' => 'inline', 'label' => 'Inline/teaser')); + + image_effect_save( + array( + 'name' => 'image_scale', + 'data' => array( + 'width' => 250, + 'height' => NULL, + 'upscale' => TRUE, + ), + 'isid' => $inline['isid'], + 'weight' => 1, + ) + ); + + image_effect_save( + array( + 'name' => 'image_crop', + 'data' => array( + 'width' => 250, + 'height' => 250, + 'anchor' => 'center-center', + ), + 'isid' => $inline['isid'], + 'weight' => 2, + ) + ); + + // Add content types. + + $types = array( + array( + 'type' => 'page', + 'name' => st('Basic Page'), + 'base' => 'node_content', + 'description' => st("Use <em>basic pages</em> for your static content, such as an 'About us' page."), + 'custom' => 1, + 'modified' => 1, + 'locked' => 0, + 'has_body' => 1, + ), + array( + 'type' => 'carousel_item', + 'name' => st('Carousel Item'), + 'base' => 'node_content', + 'description' => st("Use <em>carousel item</em> to promote key messages on section pages."), + 'custom' => 1, + 'modified' => 1, + 'locked' => 0, + 'has_body' => 0, + 'title_label' => 'Administrative title', + ), + ); + + foreach ($types as $type) { + $type = node_type_set_defaults($type); + node_type_save($type); + if ($type->has_body) { + node_add_body_field($type); + } + + // Not promoted to front page. + variable_set('node_options_' . $type->type, array('status')); + + // Don't display date and author information. + variable_set('node_submitted_' . $type->type, FALSE); + } + + $fields = array( + 'field_leading_image' => array( + 'field_name' => 'field_leading_image', + 'label' => st('Leading image'), + 'cardinality' => 1, + 'type' => 'image', + 'settings' => array( + 'default_image' => 0, + 'uri_scheme' => 'public', + ), + ), + 'field_related_links' => array( + 'field_name' => 'field_related_links', + 'label' => st('Related links'), + 'cardinality' => -1, + 'type' => 'link_field', + ), + 'field_carousel_image' => array( + 'field_name' => 'field_carousel_image', + 'label' => st('Carousel image'), + 'cardinality' => 1, + 'type' => 'image', + 'settings' => array( + 'default_image' => 0, + 'uri_scheme' => 'public', + ), + ), + 'field_carousel_caption' => array( + 'field_name' => 'field_carousel_caption', + 'label' => st('Carousel caption'), + 'cardinality' => 1, + 'type' => 'text', + 'settings' => array( + 'max_length' => 255, + ), + ), + 'field_carousel_link' => array( + 'field_name' => 'field_carousel_link', + 'label' => st('Carousel link'), + 'cardinality' => 1, + 'type' => 'link_field', + ), + ); + + foreach ($fields as $field) { + field_create_field($field); + } + + $instances = array( + 'field_leading_image' => array( + 'entity_type' => 'node', + 'bundle' => 'page', + 'field_name' => 'field_leading_image', + 'label' => st('Leading image'), + 'cardinality' => 1, + 'type' => 'field_leading_image', + 'settings' => array( + 'alt_field' => 1, + 'file_directory' => '', + 'file_extensions' => 'png gif jpg jpeg', + 'max_filesize' => '', + 'max_resolution' => '', + 'min_resolution' => '590x288', + 'title_field' => 1, + 'user_register_form' => FALSE, + ), + 'widget' => array( + 'settings' => array( + 'preview_image_style' => 'thumbnail', + 'progress_indicator' => 'throbber', + ), + ), + 'display' => array( + 'default' => array( + 'label' => 'hidden', + 'type' => 'image', + 'settings' => array('image_style' => 'leading', 'image_link' => ''), + 'weight' => -1, + ), + 'teaser' => array( + 'label' => 'hidden', + 'type' => 'image', + 'settings' => array('image_style' => 'inline', 'image_link' => 'content'), + 'weight' => -1, + ), + ), + ), + 'field_related_links' => array( + 'entity_type' => 'node', + 'bundle' => 'page', + 'field_name' => 'field_related_links', + 'label' => st('Related links'), + 'cardinality' => -1, + 'type' => 'field_related_links', + 'settings' => array( + 'title' => 'required', + ), + 'display' => array( + 'default' => array( + 'label' => 'above', + 'type' => 'hidden', + ), + 'teaser' => array( + 'label' => 'hidden', + 'type' => 'hidden', + ), + ), + ), + 'field_carousel_image' => array( + 'entity_type' => 'node', + 'bundle' => 'carousel_item', + 'field_name' => 'field_carousel_image', + 'label' => st('Image'), + 'required' => 1, + 'cardinality' => 1, + 'type' => 'field_carousel_image', + 'settings' => array( + 'alt_field' => 1, + 'file_directory' => '', + 'file_extensions' => 'png gif jpg jpeg', + 'max_filesize' => '', + 'max_resolution' => '', + 'min_resolution' => '885x432', + 'title_field' => 1, + 'user_register_form' => FALSE, + ), + 'widget' => array( + 'settings' => array( + 'preview_image_style' => 'thumbnail', + 'progress_indicator' => 'throbber', + ), + ), + 'display' => array( + 'default' => array( + 'label' => 'hidden', + 'type' => 'image', + 'settings' => array('image_style' => 'carousel', 'image_link' => ''), + 'weight' => 0, + ), + 'teaser' => array( + 'label' => 'hidden', + 'type' => 'image', + 'settings' => array('image_style' => 'inline', 'image_link' => 'content'), + 'weight' => 0, + ), + ), + ), + 'field_carousel_caption' => array( + 'entity_type' => 'node', + 'bundle' => 'carousel_item', + 'field_name' => 'field_carousel_caption', + 'label' => st('Caption'), + 'description' => st('The text to show with the image. If blank, the administrative title will be used.'), + 'required' => 0, + 'cardinality' => 1, + 'type' => 'field_carousel_caption', + 'settings' => array( + 'size' => 60, + 'text_processing' => 0, + ), + 'display' => array( + 'default' => array( + 'label' => 'hidden', + 'type' => 'text_plain', + 'weight' => 1, + ), + 'teaser' => array( + 'label' => 'hidden', + 'type' => 'text_plain', + 'weight' => 1, + ), + ), + ), + 'field_carousel_link' => array( + 'entity_type' => 'node', + 'bundle' => 'carousel_item', + 'field_name' => 'field_carousel_link', + 'label' => st('Link'), + 'required' => 1, + 'cardinality' => 1, + 'type' => 'field_carousel_caption', + 'settings' => array( + 'title' => 'none', + ), + 'display' => array( + 'default' => array( + 'label' => 'hidden', + 'type' => 'link_url', + 'weight' => 2, + ), + 'teaser' => array( + 'label' => 'hidden', + 'type' => 'link_url', + 'weight' => 2, + ), + ), + ), + ); + + foreach ($instances as $instance) { + field_create_instance($instance); + } + + // Basic Pages can have a main-menu item. + variable_set('menu_options_page', array('main-menu')); + + // Carousel Items shouldn't be on a menu. + variable_set('menu_options_carousel_item', array()); + + // Allow visitor account creation with administrative approval. + variable_set('user_register', USER_REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL); + + // Enable the default and admin theme. + $enable = array( + 'theme_default' => 'cambridge_theme', + 'admin_theme' => 'seven', + ); + theme_enable($enable); + + foreach ($enable as $var => $theme) { + if (!is_numeric($var)) { + variable_set($var, $theme); + } + } + + theme_disable(array('bartik')); + + // Use the admin theme for creating/editing nodes + variable_set('node_admin_theme', 1); + + // Insert the page_title block required by the theme + db_insert('block_custom') + ->fields( + array( + 'body' => "<h1>\n<?php\nprint drupal_get_title();\n?>\n</h1>", + 'info' => 'Page title', + 'format' => 'php_code', + ) + ) + ->execute(); + + // Insert the horizontal menu block required by the theme + variable_set("menu_block_1_title_link", 0); + variable_set("menu_block_1_admin_title", 'Horizontal menu'); + variable_set("menu_block_1_parent", 'main-menu:0'); + variable_set("menu_block_1_level", 1); + variable_set("menu_block_1_follow", 0); + variable_set("menu_block_1_depth", 0); + variable_set("menu_block_1_expanded", 1); + variable_set("menu_block_1_sort", 0); + + // Insert the vertical menu block required by the theme + variable_set("menu_block_2_title_link", 0); + variable_set("menu_block_2_admin_title", 'Vertical menu'); + variable_set("menu_block_2_parent", 'main-menu:0'); + variable_set("menu_block_2_level", 1); + variable_set("menu_block_2_follow", 1); + variable_set("menu_block_2_depth", 0); + variable_set("menu_block_2_expanded", 0); + variable_set("menu_block_2_sort", 1); + + variable_set('menu_block_ids', array(1, 2)); + + // Hide Drupal's standard menu blocks + variable_set('menu_block_suppress_core', 1); + + $theme = 'cambridge_theme'; + + $blocks = array( + array( + 'module' => 'system', + 'delta' => 'help', + 'theme' => $theme, + 'status' => TRUE, + 'weight' => 0, + 'region' => 'content', + 'pages' => '', + 'title' => '', + 'cache' => DRUPAL_NO_CACHE, + ), + array( + 'module' => 'user', + 'delta' => 'login', + 'theme' => $theme, + 'status' => TRUE, + 'weight' => 10, + 'region' => 'sidebar', + 'pages' => '', + 'title' => '', + 'cache' => DRUPAL_NO_CACHE, + ), + array( + 'module' => 'block', + 'delta' => 1, + 'theme' => $theme, + 'status' => TRUE, + 'weight' => 0, + 'region' => 'page_title', + 'pages' => '<front>', + 'title' => '', + 'cache' => DRUPAL_NO_CACHE, + ), + array( + 'module' => 'menu_block', + 'delta' => 1, + 'theme' => $theme, + 'status' => TRUE, + 'weight' => 0, + 'region' => 'horizontal_navigation', + 'pages' => '', + 'title' => '<none>', + 'cache' => DRUPAL_NO_CACHE, + ), + array( + 'module' => 'menu_block', + 'delta' => 2, + 'theme' => $theme, + 'status' => TRUE, + 'weight' => 0, + 'region' => 'left_navigation', + 'pages' => "<front>\ncarousel/*\nuser\nuser/*", + 'title' => '<none>', + 'cache' => DRUPAL_NO_CACHE, + ), + ); + + $query = db_insert('block') + ->fields(array('module', 'delta', 'theme', 'status', 'weight', 'region', 'pages', 'title', 'cache')); + + foreach ($blocks as $block) { + $query->values($block); + } + + $query->execute(); + + // Insert default pre-defined RDF mapping into the database. + $rdf_mappings = array( + array( + 'type' => 'node', + 'bundle' => 'page', + 'mapping' => array( + 'rdftype' => array('foaf:Document'), + ), + ), + ); + foreach ($rdf_mappings as $rdf_mapping) { + rdf_mapping_save($rdf_mapping); + } + + // Enable default permissions for system roles. + $filtered_html_permission = filter_permission_name($filtered_html_format); + user_role_grant_permissions(DRUPAL_ANONYMOUS_RID, array('access content', $filtered_html_permission)); + user_role_grant_permissions(DRUPAL_AUTHENTICATED_RID, array('access content', $filtered_html_permission)); + + // Create a default role for site administrators, with all available permissions assigned. + $admin_role = new stdClass(); + $admin_role->name = 'administrator'; + $admin_role->weight = 2; + user_role_save($admin_role); + user_role_grant_permissions($admin_role->rid, array_keys(module_invoke_all('permission'))); + // Set this as the administrator role. + variable_set('user_admin_role', $admin_role->rid); + + // Assign user 1 the "administrator" role. + db_insert('users_roles') + ->fields(array('uid' => 1, 'rid' => $admin_role->rid)) + ->execute(); + + // Reset anonymous and authenticated user permissions. + + user_role_grant_permissions(1, array('access content', 'search content')); + user_role_grant_permissions(2, array('access content', 'search content')); + + // Create a Home link in the main menu. + $item = array( + 'link_title' => st('Home'), + 'link_path' => '<front>', + 'menu_name' => 'main-menu', + 'weight' => -100, + ); + menu_link_save($item); + + // Update the menu router information. + menu_rebuild(); + + // Create a carousel view and make it visible on the front page. + + $view = new view(); + $view->name = 'carousel'; + $view->description = 'Used to promote key messages on section pages.'; + $view->tag = 'default'; + $view->base_table = 'node'; + $view->human_name = 'Carousel'; + $view->core = 7; + $view->api_version = '3.0'; + $view->disabled = FALSE; + + $handler = $view->new_display('default', 'Master', 'default'); + $handler->display->display_options['title'] = 'Carousel'; + $handler->display->display_options['use_more_always'] = FALSE; + $handler->display->display_options['access']['type'] = 'perm'; + $handler->display->display_options['cache']['type'] = 'none'; + $handler->display->display_options['query']['type'] = 'views_query'; + $handler->display->display_options['exposed_form']['type'] = 'basic'; + $handler->display->display_options['pager']['type'] = 'some'; + $handler->display->display_options['pager']['options']['items_per_page'] = '5'; + $handler->display->display_options['style_plugin'] = 'list'; + $handler->display->display_options['style_options']['row_class'] = 'campl-slide campl-column12'; + $handler->display->display_options['style_options']['default_row_class'] = FALSE; + $handler->display->display_options['style_options']['row_class_special'] = FALSE; + $handler->display->display_options['style_options']['class'] = 'campl-unstyled-list campl-slides'; + $handler->display->display_options['style_options']['wrapper_class'] = ''; + $handler->display->display_options['row_plugin'] = 'fields'; + $handler->display->display_options['fields']['title']['id'] = 'title'; + $handler->display->display_options['fields']['title']['table'] = 'node'; + $handler->display->display_options['fields']['title']['field'] = 'title'; + $handler->display->display_options['fields']['title']['label'] = ''; + $handler->display->display_options['fields']['title']['exclude'] = TRUE; + $handler->display->display_options['fields']['title']['element_label_colon'] = FALSE; + $handler->display->display_options['fields']['title']['element_default_classes'] = FALSE; + $handler->display->display_options['fields']['title']['link_to_node'] = FALSE; + $handler->display->display_options['fields']['field_carousel_link']['id'] = 'field_carousel_link'; + $handler->display->display_options['fields']['field_carousel_link']['table'] = 'field_data_field_carousel_link'; + $handler->display->display_options['fields']['field_carousel_link']['field'] = 'field_carousel_link'; + $handler->display->display_options['fields']['field_carousel_link']['label'] = ''; + $handler->display->display_options['fields']['field_carousel_link']['exclude'] = TRUE; + $handler->display->display_options['fields']['field_carousel_link']['element_label_colon'] = FALSE; + $handler->display->display_options['fields']['field_carousel_link']['element_default_classes'] = FALSE; + $handler->display->display_options['fields']['field_carousel_link']['click_sort_column'] = 'url'; + $handler->display->display_options['fields']['field_carousel_link']['type'] = 'link_plain'; + $handler->display->display_options['fields']['field_carousel_image']['id'] = 'field_carousel_image'; + $handler->display->display_options['fields']['field_carousel_image']['table'] = 'field_data_field_carousel_image'; + $handler->display->display_options['fields']['field_carousel_image']['field'] = 'field_carousel_image'; + $handler->display->display_options['fields']['field_carousel_image']['label'] = ''; + $handler->display->display_options['fields']['field_carousel_image']['alter']['make_link'] = TRUE; + $handler->display->display_options['fields']['field_carousel_image']['alter']['path'] = '[field_carousel_link]'; + $handler->display->display_options['fields']['field_carousel_image']['element_type'] = 'div'; + $handler->display->display_options['fields']['field_carousel_image']['element_class'] = 'image-container'; + $handler->display->display_options['fields']['field_carousel_image']['element_label_colon'] = FALSE; + $handler->display->display_options['fields']['field_carousel_image']['element_default_classes'] = FALSE; + $handler->display->display_options['fields']['field_carousel_image']['click_sort_column'] = 'fid'; + $handler->display->display_options['fields']['field_carousel_image']['settings'] = array( + 'image_style' => 'carousel', + 'image_link' => '', + ); + $handler->display->display_options['fields']['field_carousel_caption']['id'] = 'field_carousel_caption'; + $handler->display->display_options['fields']['field_carousel_caption']['table'] = 'field_data_field_carousel_caption'; + $handler->display->display_options['fields']['field_carousel_caption']['field'] = 'field_carousel_caption'; + $handler->display->display_options['fields']['field_carousel_caption']['label'] = ''; + $handler->display->display_options['fields']['field_carousel_caption']['alter']['alter_text'] = TRUE; + $handler->display->display_options['fields']['field_carousel_caption']['alter']['text'] = '<span class="campl-slide-caption-txt">[field_carousel_caption]</span>'; + $handler->display->display_options['fields']['field_carousel_caption']['alter']['make_link'] = TRUE; + $handler->display->display_options['fields']['field_carousel_caption']['alter']['path'] = '[field_carousel_link]'; + $handler->display->display_options['fields']['field_carousel_caption']['element_type'] = 'div'; + $handler->display->display_options['fields']['field_carousel_caption']['element_class'] = 'campl-slide-caption'; + $handler->display->display_options['fields']['field_carousel_caption']['element_label_colon'] = FALSE; + $handler->display->display_options['fields']['field_carousel_caption']['element_default_classes'] = FALSE; + $handler->display->display_options['fields']['field_carousel_caption']['empty'] = '<span class="campl-slide-caption-txt">[title]</span>'; + $handler->display->display_options['fields']['field_carousel_caption']['hide_alter_empty'] = FALSE; + $handler->display->display_options['sorts']['created']['id'] = 'created'; + $handler->display->display_options['sorts']['created']['table'] = 'node'; + $handler->display->display_options['sorts']['created']['field'] = 'created'; + $handler->display->display_options['sorts']['created']['order'] = 'DESC'; + $handler->display->display_options['filters']['status']['id'] = 'status'; + $handler->display->display_options['filters']['status']['table'] = 'node'; + $handler->display->display_options['filters']['status']['field'] = 'status'; + $handler->display->display_options['filters']['status']['value'] = 1; + $handler->display->display_options['filters']['status']['group'] = 1; + $handler->display->display_options['filters']['status']['expose']['operator'] = FALSE; + $handler->display->display_options['filters']['type']['id'] = 'type'; + $handler->display->display_options['filters']['type']['table'] = 'node'; + $handler->display->display_options['filters']['type']['field'] = 'type'; + $handler->display->display_options['filters']['type']['value'] = array('carousel_item' => 'carousel_item',); + + $view->new_display('block', 'Block', 'block'); + + $view->update(); + + $view->init_display(); + + $view->save(); + + db_insert('block') + ->fields( + array( + 'module' => 'views', + 'delta' => 'carousel-block', + 'theme' => 'cambridge_theme', + 'status' => TRUE, + 'weight' => 0, + 'region' => 'carousel', + 'custom' => BLOCK_CUSTOM_FIXED, + 'visibility' => BLOCK_VISIBILITY_LISTED, + 'pages' => '<front>', + 'title' => '<none>', + 'cache' => DRUPAL_NO_CACHE, + ) + ) + ->execute(); + + // Create a view for the related links field and make it visible in the sidebar. + + $view = new view(); + $view->name = 'related_links'; + $view->description = 'Display a list of related links for a node.'; + $view->tag = 'default'; + $view->base_table = 'node'; + $view->human_name = 'Related links'; + $view->core = 7; + $view->api_version = '3.0'; + $view->disabled = FALSE; + + $handler = $view->new_display('default', 'Master', 'default'); + $handler->display->display_options['title'] = 'Related links'; + $handler->display->display_options['use_more_always'] = FALSE; + $handler->display->display_options['access']['type'] = 'perm'; + $handler->display->display_options['cache']['type'] = 'none'; + $handler->display->display_options['query']['type'] = 'views_query'; + $handler->display->display_options['exposed_form']['type'] = 'basic'; + $handler->display->display_options['pager']['type'] = 'none'; + $handler->display->display_options['style_plugin'] = 'list'; + $handler->display->display_options['style_options']['default_row_class'] = FALSE; + $handler->display->display_options['style_options']['row_class_special'] = FALSE; + $handler->display->display_options['style_options']['class'] = 'campl-unstyled-list campl-related-links'; + $handler->display->display_options['style_options']['wrapper_class'] = ''; + $handler->display->display_options['row_plugin'] = 'fields'; + $handler->display->display_options['fields']['field_related_links']['id'] = 'field_related_links'; + $handler->display->display_options['fields']['field_related_links']['table'] = 'field_data_field_related_links'; + $handler->display->display_options['fields']['field_related_links']['field'] = 'field_related_links'; + $handler->display->display_options['fields']['field_related_links']['label'] = ''; + $handler->display->display_options['fields']['field_related_links']['element_label_colon'] = FALSE; + $handler->display->display_options['fields']['field_related_links']['element_default_classes'] = FALSE; + $handler->display->display_options['fields']['field_related_links']['click_sort_column'] = 'url'; + $handler->display->display_options['fields']['field_related_links']['group_rows'] = FALSE; + $handler->display->display_options['fields']['field_related_links']['delta_offset'] = '0'; + $handler->display->display_options['arguments']['nid']['id'] = 'nid'; + $handler->display->display_options['arguments']['nid']['table'] = 'node'; + $handler->display->display_options['arguments']['nid']['field'] = 'nid'; + $handler->display->display_options['arguments']['nid']['default_action'] = 'default'; + $handler->display->display_options['arguments']['nid']['default_argument_type'] = 'node'; + $handler->display->display_options['arguments']['nid']['summary']['number_of_records'] = '0'; + $handler->display->display_options['arguments']['nid']['summary']['format'] = 'default_summary'; + $handler->display->display_options['arguments']['nid']['summary_options']['items_per_page'] = '25'; + $handler->display->display_options['arguments']['nid']['specify_validation'] = TRUE; + $handler->display->display_options['arguments']['nid']['validate']['type'] = 'node'; + $handler->display->display_options['arguments']['nid']['validate_options']['types'] = array( + 'page' => 'page', + ); + $handler->display->display_options['arguments']['nid']['validate']['fail'] = 'empty'; + $handler->display->display_options['filters']['status']['id'] = 'status'; + $handler->display->display_options['filters']['status']['table'] = 'node'; + $handler->display->display_options['filters']['status']['field'] = 'status'; + $handler->display->display_options['filters']['status']['value'] = 1; + $handler->display->display_options['filters']['status']['group'] = 1; + $handler->display->display_options['filters']['status']['expose']['operator'] = FALSE; + $handler->display->display_options['filters']['field_related_links_url']['id'] = 'field_related_links_url'; + $handler->display->display_options['filters']['field_related_links_url']['table'] = 'field_data_field_related_links'; + $handler->display->display_options['filters']['field_related_links_url']['field'] = 'field_related_links_url'; + $handler->display->display_options['filters']['field_related_links_url']['operator'] = 'not empty'; + + $view->new_display('block', 'Block', 'block'); + + $view->update(); + + $view->init_display(); + + $view->save(); + + db_insert('block') + ->fields( + array( + 'module' => 'views', + 'delta' => 'related_links-block', + 'theme' => 'cambridge_theme', + 'status' => TRUE, + 'weight' => 1, + 'region' => 'sidebar', + 'custom' => BLOCK_CUSTOM_FIXED, + 'visibility' => BLOCK_VISIBILITY_NOTLISTED, + 'pages' => '', + 'title' => '', + 'cache' => DRUPAL_NO_CACHE, + ) + ) + ->execute(); +} + +/** + * Allows the profile to alter the site configuration form. + */ +function cambridge_base_install_configure_form_alter(&$form, $form_state) { + // Pre-populate the default country with United Kingdom. + $form['server_settings']['site_default_country']['#default_value'] = 'GB'; + + // Make sure the timezone is Europe/London. + $form['server_settings']['date_default_timezone']['#default_value'] = 'Europe/London'; + unset($form['server_settings']['date_default_timezone']['#attributes']['class']); + + // Only check for updates, no need for email notifications. + $form['update_notifications']['update_status_module']['#default_value'] = array(1); +} diff --git a/cambridge_lite.install b/cambridge_lite.install index bd5cf18..0b1c4c8 100644 --- a/cambridge_lite.install +++ b/cambridge_lite.install @@ -13,773 +13,7 @@ * @see system_install() */ function cambridge_lite_install() { + require_once 'cambridge_base.inc'; - // Add text formats. - - $filtered_html_format = array( - 'format' => 'filtered_html', - 'name' => 'Filtered HTML', - 'weight' => 0, - 'filters' => array( - // URL filter. - 'filter_url' => array( - 'weight' => 0, - 'status' => 1, - ), - // HTML filter. - 'filter_html' => array( - 'weight' => 1, - 'status' => 1, - ), - // Line break filter. - 'filter_autop' => array( - 'weight' => 2, - 'status' => 1, - ), - // HTML corrector filter. - 'filter_htmlcorrector' => array( - 'weight' => 10, - 'status' => 1, - ), - ), - ); - $filtered_html_format = (object) $filtered_html_format; - filter_format_save($filtered_html_format); - - $full_html_format = array( - 'format' => 'full_html', - 'name' => 'Full HTML', - 'weight' => 1, - 'filters' => array( - // URL filter. - 'filter_url' => array( - 'weight' => 0, - 'status' => 1, - ), - // Line break filter. - 'filter_autop' => array( - 'weight' => 1, - 'status' => 1, - ), - // HTML corrector filter. - 'filter_htmlcorrector' => array( - 'weight' => 10, - 'status' => 1, - ), - ), - ); - $full_html_format = (object) $full_html_format; - filter_format_save($full_html_format); - - // Add image styles - - $carousel = image_style_save(array('name' => 'carousel', 'label' => 'Carousel')); - - image_effect_save( - array( - 'name' => 'image_scale', - 'data' => array( - 'width' => 885, - 'height' => NULL, - 'upscale' => TRUE, - ), - 'isid' => $carousel['isid'], - 'weight' => 1, - ) - ); - - image_effect_save( - array( - 'name' => 'image_crop', - 'data' => array( - 'width' => 885, - 'height' => 432, - 'anchor' => 'center-center', - ), - 'isid' => $carousel['isid'], - 'weight' => 2, - ) - ); - - $leading = image_style_save(array('name' => 'leading', 'label' => 'Leading')); - - image_effect_save( - array( - 'name' => 'image_scale', - 'data' => array( - 'width' => 590, - 'height' => NULL, - 'upscale' => TRUE, - ), - 'isid' => $leading['isid'], - 'weight' => 1, - ) - ); - - image_effect_save( - array( - 'name' => 'image_crop', - 'data' => array( - 'width' => 590, - 'height' => 288, - 'anchor' => 'center-center', - ), - 'isid' => $leading['isid'], - 'weight' => 2, - ) - ); - - $inline = image_style_save(array('name' => 'inline', 'label' => 'Inline/teaser')); - - image_effect_save( - array( - 'name' => 'image_scale', - 'data' => array( - 'width' => 250, - 'height' => NULL, - 'upscale' => TRUE, - ), - 'isid' => $inline['isid'], - 'weight' => 1, - ) - ); - - image_effect_save( - array( - 'name' => 'image_crop', - 'data' => array( - 'width' => 250, - 'height' => 250, - 'anchor' => 'center-center', - ), - 'isid' => $inline['isid'], - 'weight' => 2, - ) - ); - - // Add content types. - - $types = array( - array( - 'type' => 'page', - 'name' => st('Basic Page'), - 'base' => 'node_content', - 'description' => st("Use <em>basic pages</em> for your static content, such as an 'About us' page."), - 'custom' => 1, - 'modified' => 1, - 'locked' => 0, - 'has_body' => 1, - ), - array( - 'type' => 'carousel_item', - 'name' => st('Carousel Item'), - 'base' => 'node_content', - 'description' => st("Use <em>carousel item</em> to promote key messages on section pages."), - 'custom' => 1, - 'modified' => 1, - 'locked' => 0, - 'has_body' => 0, - 'title_label' => 'Administrative title', - ), - ); - - foreach ($types as $type) { - $type = node_type_set_defaults($type); - node_type_save($type); - if ($type->has_body) { - node_add_body_field($type); - } - - // Not promoted to front page. - variable_set('node_options_' . $type->type, array('status')); - - // Don't display date and author information. - variable_set('node_submitted_' . $type->type, FALSE); - } - - $fields = array( - 'field_leading_image' => array( - 'field_name' => 'field_leading_image', - 'label' => st('Leading image'), - 'cardinality' => 1, - 'type' => 'image', - 'settings' => array( - 'default_image' => 0, - 'uri_scheme' => 'public', - ), - ), - 'field_related_links' => array( - 'field_name' => 'field_related_links', - 'label' => st('Related links'), - 'cardinality' => -1, - 'type' => 'link_field', - ), - 'field_carousel_image' => array( - 'field_name' => 'field_carousel_image', - 'label' => st('Carousel image'), - 'cardinality' => 1, - 'type' => 'image', - 'settings' => array( - 'default_image' => 0, - 'uri_scheme' => 'public', - ), - ), - 'field_carousel_caption' => array( - 'field_name' => 'field_carousel_caption', - 'label' => st('Carousel caption'), - 'cardinality' => 1, - 'type' => 'text', - 'settings' => array( - 'max_length' => 255, - ), - ), - 'field_carousel_link' => array( - 'field_name' => 'field_carousel_link', - 'label' => st('Carousel link'), - 'cardinality' => 1, - 'type' => 'link_field', - ), - ); - - foreach ($fields as $field) { - field_create_field($field); - } - - $instances = array( - 'field_leading_image' => array( - 'entity_type' => 'node', - 'bundle' => 'page', - 'field_name' => 'field_leading_image', - 'label' => st('Leading image'), - 'cardinality' => 1, - 'type' => 'field_leading_image', - 'settings' => array( - 'alt_field' => 1, - 'file_directory' => '', - 'file_extensions' => 'png gif jpg jpeg', - 'max_filesize' => '', - 'max_resolution' => '', - 'min_resolution' => '590x288', - 'title_field' => 1, - 'user_register_form' => FALSE, - ), - 'widget' => array( - 'settings' => array( - 'preview_image_style' => 'thumbnail', - 'progress_indicator' => 'throbber', - ), - ), - 'display' => array( - 'default' => array( - 'label' => 'hidden', - 'type' => 'image', - 'settings' => array('image_style' => 'leading', 'image_link' => ''), - 'weight' => -1, - ), - 'teaser' => array( - 'label' => 'hidden', - 'type' => 'image', - 'settings' => array('image_style' => 'inline', 'image_link' => 'content'), - 'weight' => -1, - ), - ), - ), - 'field_related_links' => array( - 'entity_type' => 'node', - 'bundle' => 'page', - 'field_name' => 'field_related_links', - 'label' => st('Related links'), - 'cardinality' => -1, - 'type' => 'field_related_links', - 'settings' => array( - 'title' => 'required', - ), - 'display' => array( - 'default' => array( - 'label' => 'above', - 'type' => 'hidden', - ), - 'teaser' => array( - 'label' => 'hidden', - 'type' => 'hidden', - ), - ), - ), - 'field_carousel_image' => array( - 'entity_type' => 'node', - 'bundle' => 'carousel_item', - 'field_name' => 'field_carousel_image', - 'label' => st('Image'), - 'required' => 1, - 'cardinality' => 1, - 'type' => 'field_carousel_image', - 'settings' => array( - 'alt_field' => 1, - 'file_directory' => '', - 'file_extensions' => 'png gif jpg jpeg', - 'max_filesize' => '', - 'max_resolution' => '', - 'min_resolution' => '885x432', - 'title_field' => 1, - 'user_register_form' => FALSE, - ), - 'widget' => array( - 'settings' => array( - 'preview_image_style' => 'thumbnail', - 'progress_indicator' => 'throbber', - ), - ), - 'display' => array( - 'default' => array( - 'label' => 'hidden', - 'type' => 'image', - 'settings' => array('image_style' => 'carousel', 'image_link' => ''), - 'weight' => 0, - ), - 'teaser' => array( - 'label' => 'hidden', - 'type' => 'image', - 'settings' => array('image_style' => 'inline', 'image_link' => 'content'), - 'weight' => 0, - ), - ), - ), - 'field_carousel_caption' => array( - 'entity_type' => 'node', - 'bundle' => 'carousel_item', - 'field_name' => 'field_carousel_caption', - 'label' => st('Caption'), - 'description' => st('The text to show with the image. If blank, the administrative title will be used.'), - 'required' => 0, - 'cardinality' => 1, - 'type' => 'field_carousel_caption', - 'settings' => array( - 'size' => 60, - 'text_processing' => 0, - ), - 'display' => array( - 'default' => array( - 'label' => 'hidden', - 'type' => 'text_plain', - 'weight' => 1, - ), - 'teaser' => array( - 'label' => 'hidden', - 'type' => 'text_plain', - 'weight' => 1, - ), - ), - ), - 'field_carousel_link' => array( - 'entity_type' => 'node', - 'bundle' => 'carousel_item', - 'field_name' => 'field_carousel_link', - 'label' => st('Link'), - 'required' => 1, - 'cardinality' => 1, - 'type' => 'field_carousel_caption', - 'settings' => array( - 'title' => 'none', - ), - 'display' => array( - 'default' => array( - 'label' => 'hidden', - 'type' => 'link_url', - 'weight' => 2, - ), - 'teaser' => array( - 'label' => 'hidden', - 'type' => 'link_url', - 'weight' => 2, - ), - ), - ), - ); - - foreach ($instances as $instance) { - field_create_instance($instance); - } - - // Basic Pages can have a main-menu item. - variable_set('menu_options_page', array('main-menu')); - - // Carousel Items shouldn't be on a menu. - variable_set('menu_options_carousel_item', array()); - - // Allow visitor account creation with administrative approval. - variable_set('user_register', USER_REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL); - - // Enable the default and admin theme. - $enable = array( - 'theme_default' => 'cambridge_theme', - 'admin_theme' => 'seven', - ); - theme_enable($enable); - - foreach ($enable as $var => $theme) { - if (!is_numeric($var)) { - variable_set($var, $theme); - } - } - - theme_disable(array('bartik')); - - // Use the admin theme for creating/editing nodes - variable_set('node_admin_theme', 1); - - // Insert the page_title block required by the theme - db_insert('block_custom') - ->fields( - array( - 'body' => "<h1>\n<?php\nprint drupal_get_title();\n?>\n</h1>", - 'info' => 'Page title', - 'format' => 'php_code', - ) - ) - ->execute(); - - // Insert the horizontal menu block required by the theme - variable_set("menu_block_1_title_link", 0); - variable_set("menu_block_1_admin_title", 'Horizontal menu'); - variable_set("menu_block_1_parent", 'main-menu:0'); - variable_set("menu_block_1_level", 1); - variable_set("menu_block_1_follow", 0); - variable_set("menu_block_1_depth", 0); - variable_set("menu_block_1_expanded", 1); - variable_set("menu_block_1_sort", 0); - - // Insert the vertical menu block required by the theme - variable_set("menu_block_2_title_link", 0); - variable_set("menu_block_2_admin_title", 'Vertical menu'); - variable_set("menu_block_2_parent", 'main-menu:0'); - variable_set("menu_block_2_level", 1); - variable_set("menu_block_2_follow", 1); - variable_set("menu_block_2_depth", 0); - variable_set("menu_block_2_expanded", 0); - variable_set("menu_block_2_sort", 1); - - variable_set('menu_block_ids', array(1, 2)); - - // Hide Drupal's standard menu blocks - variable_set('menu_block_suppress_core', 1); - - $theme = 'cambridge_theme'; - - $blocks = array( - array( - 'module' => 'system', - 'delta' => 'help', - 'theme' => $theme, - 'status' => TRUE, - 'weight' => 0, - 'region' => 'content', - 'pages' => '', - 'title' => '', - 'cache' => DRUPAL_NO_CACHE, - ), - array( - 'module' => 'user', - 'delta' => 'login', - 'theme' => $theme, - 'status' => TRUE, - 'weight' => 10, - 'region' => 'sidebar', - 'pages' => '', - 'title' => '', - 'cache' => DRUPAL_NO_CACHE, - ), - array( - 'module' => 'block', - 'delta' => 1, - 'theme' => $theme, - 'status' => TRUE, - 'weight' => 0, - 'region' => 'page_title', - 'pages' => '<front>', - 'title' => '', - 'cache' => DRUPAL_NO_CACHE, - ), - array( - 'module' => 'menu_block', - 'delta' => 1, - 'theme' => $theme, - 'status' => TRUE, - 'weight' => 0, - 'region' => 'horizontal_navigation', - 'pages' => '', - 'title' => '<none>', - 'cache' => DRUPAL_NO_CACHE, - ), - array( - 'module' => 'menu_block', - 'delta' => 2, - 'theme' => $theme, - 'status' => TRUE, - 'weight' => 0, - 'region' => 'left_navigation', - 'pages' => "<front>\ncarousel/*\nuser\nuser/*", - 'title' => '<none>', - 'cache' => DRUPAL_NO_CACHE, - ), - ); - - $query = db_insert('block') - ->fields(array('module', 'delta', 'theme', 'status', 'weight', 'region', 'pages', 'title', 'cache')); - - foreach ($blocks as $block) { - $query->values($block); - } - - $query->execute(); - - // Insert default pre-defined RDF mapping into the database. - $rdf_mappings = array( - array( - 'type' => 'node', - 'bundle' => 'page', - 'mapping' => array( - 'rdftype' => array('foaf:Document'), - ), - ), - ); - foreach ($rdf_mappings as $rdf_mapping) { - rdf_mapping_save($rdf_mapping); - } - - // Enable default permissions for system roles. - $filtered_html_permission = filter_permission_name($filtered_html_format); - user_role_grant_permissions(DRUPAL_ANONYMOUS_RID, array('access content', $filtered_html_permission)); - user_role_grant_permissions(DRUPAL_AUTHENTICATED_RID, array('access content', $filtered_html_permission)); - - // Create a default role for site administrators, with all available permissions assigned. - $admin_role = new stdClass(); - $admin_role->name = 'administrator'; - $admin_role->weight = 2; - user_role_save($admin_role); - user_role_grant_permissions($admin_role->rid, array_keys(module_invoke_all('permission'))); - // Set this as the administrator role. - variable_set('user_admin_role', $admin_role->rid); - - // Assign user 1 the "administrator" role. - db_insert('users_roles') - ->fields(array('uid' => 1, 'rid' => $admin_role->rid)) - ->execute(); - - // Reset anonymous and authenticated user permissions. - - user_role_grant_permissions(1, array('access content', 'search content')); - user_role_grant_permissions(2, array('access content', 'search content')); - - // Create a Home link in the main menu. - $item = array( - 'link_title' => st('Home'), - 'link_path' => '<front>', - 'menu_name' => 'main-menu', - 'weight' => -100, - ); - menu_link_save($item); - - // Update the menu router information. - menu_rebuild(); - - // Create a carousel view and make it visible on the front page. - - $view = new view(); - $view->name = 'carousel'; - $view->description = 'Used to promote key messages on section pages.'; - $view->tag = 'default'; - $view->base_table = 'node'; - $view->human_name = 'Carousel'; - $view->core = 7; - $view->api_version = '3.0'; - $view->disabled = FALSE; - - $handler = $view->new_display('default', 'Master', 'default'); - $handler->display->display_options['title'] = 'Carousel'; - $handler->display->display_options['use_more_always'] = FALSE; - $handler->display->display_options['access']['type'] = 'perm'; - $handler->display->display_options['cache']['type'] = 'none'; - $handler->display->display_options['query']['type'] = 'views_query'; - $handler->display->display_options['exposed_form']['type'] = 'basic'; - $handler->display->display_options['pager']['type'] = 'some'; - $handler->display->display_options['pager']['options']['items_per_page'] = '5'; - $handler->display->display_options['style_plugin'] = 'list'; - $handler->display->display_options['style_options']['row_class'] = 'campl-slide campl-column12'; - $handler->display->display_options['style_options']['default_row_class'] = FALSE; - $handler->display->display_options['style_options']['row_class_special'] = FALSE; - $handler->display->display_options['style_options']['class'] = 'campl-unstyled-list campl-slides'; - $handler->display->display_options['style_options']['wrapper_class'] = ''; - $handler->display->display_options['row_plugin'] = 'fields'; - $handler->display->display_options['fields']['title']['id'] = 'title'; - $handler->display->display_options['fields']['title']['table'] = 'node'; - $handler->display->display_options['fields']['title']['field'] = 'title'; - $handler->display->display_options['fields']['title']['label'] = ''; - $handler->display->display_options['fields']['title']['exclude'] = TRUE; - $handler->display->display_options['fields']['title']['element_label_colon'] = FALSE; - $handler->display->display_options['fields']['title']['element_default_classes'] = FALSE; - $handler->display->display_options['fields']['title']['link_to_node'] = FALSE; - $handler->display->display_options['fields']['field_carousel_link']['id'] = 'field_carousel_link'; - $handler->display->display_options['fields']['field_carousel_link']['table'] = 'field_data_field_carousel_link'; - $handler->display->display_options['fields']['field_carousel_link']['field'] = 'field_carousel_link'; - $handler->display->display_options['fields']['field_carousel_link']['label'] = ''; - $handler->display->display_options['fields']['field_carousel_link']['exclude'] = TRUE; - $handler->display->display_options['fields']['field_carousel_link']['element_label_colon'] = FALSE; - $handler->display->display_options['fields']['field_carousel_link']['element_default_classes'] = FALSE; - $handler->display->display_options['fields']['field_carousel_link']['click_sort_column'] = 'url'; - $handler->display->display_options['fields']['field_carousel_link']['type'] = 'link_plain'; - $handler->display->display_options['fields']['field_carousel_image']['id'] = 'field_carousel_image'; - $handler->display->display_options['fields']['field_carousel_image']['table'] = 'field_data_field_carousel_image'; - $handler->display->display_options['fields']['field_carousel_image']['field'] = 'field_carousel_image'; - $handler->display->display_options['fields']['field_carousel_image']['label'] = ''; - $handler->display->display_options['fields']['field_carousel_image']['alter']['make_link'] = TRUE; - $handler->display->display_options['fields']['field_carousel_image']['alter']['path'] = '[field_carousel_link]'; - $handler->display->display_options['fields']['field_carousel_image']['element_type'] = 'div'; - $handler->display->display_options['fields']['field_carousel_image']['element_class'] = 'image-container'; - $handler->display->display_options['fields']['field_carousel_image']['element_label_colon'] = FALSE; - $handler->display->display_options['fields']['field_carousel_image']['element_default_classes'] = FALSE; - $handler->display->display_options['fields']['field_carousel_image']['click_sort_column'] = 'fid'; - $handler->display->display_options['fields']['field_carousel_image']['settings'] = array( - 'image_style' => 'carousel', - 'image_link' => '', - ); - $handler->display->display_options['fields']['field_carousel_caption']['id'] = 'field_carousel_caption'; - $handler->display->display_options['fields']['field_carousel_caption']['table'] = 'field_data_field_carousel_caption'; - $handler->display->display_options['fields']['field_carousel_caption']['field'] = 'field_carousel_caption'; - $handler->display->display_options['fields']['field_carousel_caption']['label'] = ''; - $handler->display->display_options['fields']['field_carousel_caption']['alter']['alter_text'] = TRUE; - $handler->display->display_options['fields']['field_carousel_caption']['alter']['text'] = '<span class="campl-slide-caption-txt">[field_carousel_caption]</span>'; - $handler->display->display_options['fields']['field_carousel_caption']['alter']['make_link'] = TRUE; - $handler->display->display_options['fields']['field_carousel_caption']['alter']['path'] = '[field_carousel_link]'; - $handler->display->display_options['fields']['field_carousel_caption']['element_type'] = 'div'; - $handler->display->display_options['fields']['field_carousel_caption']['element_class'] = 'campl-slide-caption'; - $handler->display->display_options['fields']['field_carousel_caption']['element_label_colon'] = FALSE; - $handler->display->display_options['fields']['field_carousel_caption']['element_default_classes'] = FALSE; - $handler->display->display_options['fields']['field_carousel_caption']['empty'] = '<span class="campl-slide-caption-txt">[title]</span>'; - $handler->display->display_options['fields']['field_carousel_caption']['hide_alter_empty'] = FALSE; - $handler->display->display_options['sorts']['created']['id'] = 'created'; - $handler->display->display_options['sorts']['created']['table'] = 'node'; - $handler->display->display_options['sorts']['created']['field'] = 'created'; - $handler->display->display_options['sorts']['created']['order'] = 'DESC'; - $handler->display->display_options['filters']['status']['id'] = 'status'; - $handler->display->display_options['filters']['status']['table'] = 'node'; - $handler->display->display_options['filters']['status']['field'] = 'status'; - $handler->display->display_options['filters']['status']['value'] = 1; - $handler->display->display_options['filters']['status']['group'] = 1; - $handler->display->display_options['filters']['status']['expose']['operator'] = FALSE; - $handler->display->display_options['filters']['type']['id'] = 'type'; - $handler->display->display_options['filters']['type']['table'] = 'node'; - $handler->display->display_options['filters']['type']['field'] = 'type'; - $handler->display->display_options['filters']['type']['value'] = array('carousel_item' => 'carousel_item',); - - $view->new_display('block', 'Block', 'block'); - - $view->update(); - - $view->init_display(); - - $view->save(); - - db_insert('block') - ->fields( - array( - 'module' => 'views', - 'delta' => 'carousel-block', - 'theme' => 'cambridge_theme', - 'status' => TRUE, - 'weight' => 0, - 'region' => 'carousel', - 'custom' => BLOCK_CUSTOM_FIXED, - 'visibility' => BLOCK_VISIBILITY_LISTED, - 'pages' => '<front>', - 'title' => '<none>', - 'cache' => DRUPAL_NO_CACHE, - ) - ) - ->execute(); - - // Create a view for the related links field and make it visible in the sidebar. - - $view = new view(); - $view->name = 'related_links'; - $view->description = 'Display a list of related links for a node.'; - $view->tag = 'default'; - $view->base_table = 'node'; - $view->human_name = 'Related links'; - $view->core = 7; - $view->api_version = '3.0'; - $view->disabled = FALSE; - - $handler = $view->new_display('default', 'Master', 'default'); - $handler->display->display_options['title'] = 'Related links'; - $handler->display->display_options['use_more_always'] = FALSE; - $handler->display->display_options['access']['type'] = 'perm'; - $handler->display->display_options['cache']['type'] = 'none'; - $handler->display->display_options['query']['type'] = 'views_query'; - $handler->display->display_options['exposed_form']['type'] = 'basic'; - $handler->display->display_options['pager']['type'] = 'none'; - $handler->display->display_options['style_plugin'] = 'list'; - $handler->display->display_options['style_options']['default_row_class'] = FALSE; - $handler->display->display_options['style_options']['row_class_special'] = FALSE; - $handler->display->display_options['style_options']['class'] = 'campl-unstyled-list campl-related-links'; - $handler->display->display_options['style_options']['wrapper_class'] = ''; - $handler->display->display_options['row_plugin'] = 'fields'; - $handler->display->display_options['fields']['field_related_links']['id'] = 'field_related_links'; - $handler->display->display_options['fields']['field_related_links']['table'] = 'field_data_field_related_links'; - $handler->display->display_options['fields']['field_related_links']['field'] = 'field_related_links'; - $handler->display->display_options['fields']['field_related_links']['label'] = ''; - $handler->display->display_options['fields']['field_related_links']['element_label_colon'] = FALSE; - $handler->display->display_options['fields']['field_related_links']['element_default_classes'] = FALSE; - $handler->display->display_options['fields']['field_related_links']['click_sort_column'] = 'url'; - $handler->display->display_options['fields']['field_related_links']['group_rows'] = FALSE; - $handler->display->display_options['fields']['field_related_links']['delta_offset'] = '0'; - $handler->display->display_options['arguments']['nid']['id'] = 'nid'; - $handler->display->display_options['arguments']['nid']['table'] = 'node'; - $handler->display->display_options['arguments']['nid']['field'] = 'nid'; - $handler->display->display_options['arguments']['nid']['default_action'] = 'default'; - $handler->display->display_options['arguments']['nid']['default_argument_type'] = 'node'; - $handler->display->display_options['arguments']['nid']['summary']['number_of_records'] = '0'; - $handler->display->display_options['arguments']['nid']['summary']['format'] = 'default_summary'; - $handler->display->display_options['arguments']['nid']['summary_options']['items_per_page'] = '25'; - $handler->display->display_options['arguments']['nid']['specify_validation'] = TRUE; - $handler->display->display_options['arguments']['nid']['validate']['type'] = 'node'; - $handler->display->display_options['arguments']['nid']['validate_options']['types'] = array( - 'page' => 'page', - ); - $handler->display->display_options['arguments']['nid']['validate']['fail'] = 'empty'; - $handler->display->display_options['filters']['status']['id'] = 'status'; - $handler->display->display_options['filters']['status']['table'] = 'node'; - $handler->display->display_options['filters']['status']['field'] = 'status'; - $handler->display->display_options['filters']['status']['value'] = 1; - $handler->display->display_options['filters']['status']['group'] = 1; - $handler->display->display_options['filters']['status']['expose']['operator'] = FALSE; - $handler->display->display_options['filters']['field_related_links_url']['id'] = 'field_related_links_url'; - $handler->display->display_options['filters']['field_related_links_url']['table'] = 'field_data_field_related_links'; - $handler->display->display_options['filters']['field_related_links_url']['field'] = 'field_related_links_url'; - $handler->display->display_options['filters']['field_related_links_url']['operator'] = 'not empty'; - - $view->new_display('block', 'Block', 'block'); - - $view->update(); - - $view->init_display(); - - $view->save(); - - db_insert('block') - ->fields( - array( - 'module' => 'views', - 'delta' => 'related_links-block', - 'theme' => 'cambridge_theme', - 'status' => TRUE, - 'weight' => 1, - 'region' => 'sidebar', - 'custom' => BLOCK_CUSTOM_FIXED, - 'visibility' => BLOCK_VISIBILITY_NOTLISTED, - 'pages' => '', - 'title' => '', - 'cache' => DRUPAL_NO_CACHE, - ) - ) - ->execute(); + cambridge_base_install(); } diff --git a/cambridge_lite.profile b/cambridge_lite.profile index 8d2ecd2..3f0c310 100644 --- a/cambridge_lite.profile +++ b/cambridge_lite.profile @@ -11,13 +11,7 @@ * Allows the profile to alter the site configuration form. */ function cambridge_lite_form_install_configure_form_alter(&$form, $form_state) { - // Pre-populate the default country with United Kingdom. - $form['server_settings']['site_default_country']['#default_value'] = 'GB'; + require_once 'cambridge_base.inc'; - // Make sure the timezone is Europe/London. - $form['server_settings']['date_default_timezone']['#default_value'] = 'Europe/London'; - unset($form['server_settings']['date_default_timezone']['#attributes']['class']); - - // Only check for updates, no need for email notifications. - $form['update_notifications']['update_status_module']['#default_value'] = array(1); + cambridge_base_install_configure_form_alter($form, $form_state); } -- GitLab