Modifications from Version 6.x-2.x-dev of google appliance module SOURCE: http://drupal.org/project/google_appliance NOTES: - introduced two site variables google_appliance_default_subcollection google_appliance_restrict_by_subcollection_enabled - this update is geared/tested towards situations where we only have one collection in Google Mini and we retrict access by using the subcollection option - enabling the 'restrict by subcollection' option adds the parameter &restrict=subcollectionname which filters the results to the subcollection named in the 'default_subcollection' - if 'default_subcollection' is empty, the results are unaffected =============================== =============================== FILE: DrupalGoogleMini.php =============================== =============================== ########## ### ADD - LINE 5 define('GOOGLE_MINI_RESTRICT_BY_SUBCOLLECTION', variable_get('google_appliance_restrict_by_subcollection_enabled', FALSE)); =============================== =============================== FILE: google_appliance.info =============================== =============================== ########## ### CHANGE FROM - LINE 7 version = "6.x-2.x-dev" ### CHANGE TO version = "6.x-2.x-dev2" =============================== =============================== FILE: google_appliance.install =============================== =============================== ########## ### UPDATE function google_appliance_update_6201 ### CHANGE FROM - LINE 86 $var_names = array( 'google_debug' => 'google_appliance_debug', 'google_appliance_client' => 'google_appliance_default_client', 'google_appliance_collection' => 'google_appliance_default_collection', ); ### CHANGE TO $var_names = array( 'google_debug' => 'google_appliance_debug', 'google_appliance_client' => 'google_appliance_default_client', 'google_appliance_collection' => 'google_appliance_default_collection', 'google_appliance_subcollection' => 'google_appliance_default_subcollection', ); =============================== =============================== FILE: google_appliance.module =============================== =============================== ########## ### UPDATE function function _google_appliance_get_settings ### ADD - LINE 47 $default_subcollection = trim(variable_get('google_appliance_default_subcollection', 'default_subcollection')); ### CHANGE FROM - LINE 59 $default_tab = implode('|', array( $google_appliance_name, $default_search_path, $default_client, $default_collection )); ## CHANGE TO $default_tab = implode('|', array( $google_appliance_name, $default_search_path, $default_client, $default_collection, $default_subcollection )); ### CHANGE FROM - LINE 71 $settings = array( 'google_appliance_name' => $google_appliance_name, 'google_appliance_path' => $google_appliance_path, 'default_client' => $default_client, 'default_collection' => $default_collection, 'search_tabs' => $search_tabs, 'tabs_array' => $tabs_array, 'default_tab' => $default_tab, 'default_tab_enabled' => $default_tab_enabled, 'default_search_path' => $default_search_path, ); ### CHANGE TO $settings = array( 'google_appliance_name' => $google_appliance_name, 'google_appliance_path' => $google_appliance_path, 'default_client' => $default_client, 'default_collection' => $default_collection, 'default_subcollection' => $default_subcollection, 'search_tabs' => $search_tabs, 'tabs_array' => $tabs_array, 'default_tab' => $default_tab, 'default_tab_enabled' => $default_tab_enabled, 'default_search_path' => $default_search_path, ); ########## ### UPDATE function google_appliance_menu ### ADD - LINE 96 $default_subcollection = $settings['default_subcollection']; ########## ### UPDATE function google_appliance_admin_settings ### ADD - LINE 551 $default_subcollection = $settings['default_subcollection']; ### ADD - LINE 617 $form["config_init"]["google_appliance_restrict_by_subcollection_enabled"] = array( "#type" => "checkbox", "#title" => t("Restrict results by subcollection"), "#description" => t('Select if the rendered search results should be restricted by the default subcollection.'), "#default_value" => variable_get('google_appliance_restrict_by_subcollection_enabled', FALSE), // Default to False, "#required" => TRUE, ); $form["config_init"]["google_appliance_default_subcollection"] = array( "#type" => "textfield", "#size" => 20, "#title" => t("Default subcollection"), "#description" => t('The name of the default subcollection if restricting content by subcollection.'), "#default_value" => $default_subcollection, "#required" => FALSE, ); ########## ### UPDATE function google_appliance_admin_settings_submit ### CHANGE FROM - LINE 800 $fields = array( 'google_appliance_name', 'google_appliance_path', 'google_appliance_default_client', 'google_appliance_default_collection', 'google_appliance_default_tab_enabled', 'google_appliance_default_search_path', 'google_appliance_search_tabs', ); ### CHANGE TO $fields = array( 'google_appliance_name', 'google_appliance_path', 'google_appliance_default_client', 'google_appliance_default_collection', 'google_appliance_default_subcollection', 'google_appliance_default_tab_enabled', 'google_appliance_default_search_path', 'google_appliance_search_tabs', 'google_appliance_restrict_by_subcollection_enabled' ); ########## ### UPDATE function _google_appliance_search_initialise ### ADD - LINE 899 $gm->subcollection = $subcollection ? $subcollection : variable_get('google_appliance_default_subcollection', ''); ########## ### UPDATE function google_appliance_search_form ### CHANGE FROM - LINE 1385 function google_appliance_search_form(&$form_state, $prompt = NULL, $search_base = NULL, $client = NULL, $collection = NULL, $keys = '') { ### CHANGE TO function google_appliance_search_form(&$form_state, $prompt = NULL, $search_base = NULL, $client = NULL, $collection = NULL, $subcollection = NULL, $keys = '') { ### ADD - LINE 1396 $subcollection = $subcollection ? $subcollection : arg(2); ### ADD - LINE 1400 $collection = $subcollection ? $subcollection : variable_get('google_appliance_default_subcollection', 'default_frontend'); =============================== =============================== FILE: GoogleMini.php =============================== =============================== ########## ### ADD - LINE 8 if (!defined('GOOGLE_MINI_RESTRICT_BY_SUBCOLLECTION')) { define('GOOGLE_MINI_RESTRICT_BY_SUBCOLLECTION', 0); } ########## ### ADD - LINE 19 public $subcollection = ''; ########## ### UPDATE function buildQuery ### ADD - LINE 285 if (GOOGLE_MINI_RESTRICT_BY_SUBCOLLECTION) { $query .= "&restrict=". $this->subcollection; } ########## ### CHANGE FROM - LINE 330 $payload = simplexml_load_string($resultXML); ### CHANGE TO @$payload = simplexml_load_string($resultXML);