'Zen', 'description' => 'The theme "Zen" is missing. Install it and try again.', 'severity' => REQUIREMENT_ERROR, ); } } return $ret; } /* * Implementation of hook_install. */ function sbws_install() { // Use Zen theme if (array_key_exists('zen', list_themes())) { variable_set('theme_default', 'zen'); if (!($settings = variable_get('theme_zen_settings', FALSE))) { $settings = array(); } $settings['toggle_logo'] = FALSE; $settings['toggle_main_menu'] = FALSE; $settings['zen_breadcrumb'] = 'no'; // Use SB favicon if (($favicon = drupal_http_request('http://spraakbanken.gu.se/sites/spraakbanken.gu.se/files/gu_sb_favicon.ico')) && ($favicon->code == 200) && ($file = file_save_data($favicon->data, 'public://gu_sb_favicon.ico', FILE_EXISTS_REPLACE))) { $settings['default_favicon'] = FALSE; $settings['favicon_path'] = $file->uri; } variable_set('theme_zen_settings', $settings); // Disable all blocks in the first sidebar foreach ( array( 'system' => array('powered-by', 'navigation'), 'user' => array('login'), 'search' => array('form'), ) as $module => $deltas ) { foreach ($deltas as $delta) { db_update('block') ->condition('module', $module) ->condition('delta', $delta) ->condition('theme', 'zen') ->fields(array('status' => 0)) ->execute(); } } } // Site settings variable_set('site_name', 'ws.spraakbanken.gu.se'); variable_set('site_mail', 'sb-info@svenska.gu.se'); variable_set('site_frontpage', 'user'); variable_set('site_default_country', 'SE'); variable_set('date_default_timezone', 'Europe/Stockholm'); variable_set('user_register', 0); // Only administrators can create accounts variable_set('user_pictures', 0); variable_set('clean_url', 1); variable_set('wsauth_secret_key', md5(uniqid())); // Random secret variable_set('cache', 1); variable_set('block_cache', 1); variable_set('page_compression', 1); variable_set('preprocess_css', 1); variable_set('preprocess_js', 1); } /* * Implementation of hook_multilingual_settings_changed. */ function sbws_multilingual_settings_changed() { // Update translations if (function_exists('drush_l10n_update')) { //drush_set_options('languages', language_list()); drush_l10n_update(); } // Set the default language if (($languages = language_list()) && (isset($languages[SBWS_DEFAULT_LANGUAGE]))) { variable_set('language_default', (object) $languages[SBWS_DEFAULT_LANGUAGE]); } // Language negotiation // FIXA: Snyggare sätt? variable_set( 'language_negotiation_language', array( 'locale-user' => array( 'callbacks' => array( 'language' => 'locale_language_from_user', ), 'file' => 'includes/locale.inc', ), 'locale-browser' => array( 'callbacks' => array( 'language' => 'locale_language_from_browser', ), 'file' => 'includes/locale.inc', 'cache' => FALSE, ), 'language-default' => array( 'callbacks' => array( 'language' => 'language_from_default', ), ), ) ); variable_set( 'locale_language_providers_weight_language', array( 'locale-user' => -4, 'locale-browser' => -2, 'language-default' => 10, ) ); // Import translations foreach (array('sbws', 'wsauth') as $module) { if (($path = drupal_get_path('module', $module)) && (function_exists('_locale_import_po'))) { foreach (glob($path . '/translations/*.po') as $po) { if (!is_file($po)) { continue; } $file = new StdClass(); $file->filename = basename($po); $file->uri = $path . '/translations/' . $file->filename; $file->filemime = file_get_mimetype($file->uri); _locale_import_po($file, basename($po, '.po'), LOCALE_IMPORT_KEEP, 'default'); } } } }