Skip to content
  • Tyler R Lemburg's avatar
    Updated Google Search API to version 2 · e6fe3a1c
    Tyler R Lemburg authored
    Google is deprecating version 1 of their custom search element API
    sometime in April. While we don't generate actual elements using their
    code, we use their javascript libraries to call the search. This
    change updates the code for version 2, removing the deprecation warning
    and keeping things in compliance.
    
    Before working with this, read
    https://developers.google.com/custom-search/docs/element
    very carefully. The flow of the Google Search as it relates to UNL_Search
    is:
    
    1) end-scripts.tpl.php is rendered with variables that include the custom
    search engine ID
    
    2) This script, using search.js (or search.min.js), adds the google search
    javascript to the end of the page asynchronously. It also gives the callback
    for its loading as window.searchInit, which loads the UNLSearch.initialize
    function.
    
    3) This sets up the various search capabilities, binds callbacks onto those
    actions, and has all the JS functions that we operate on in the search.
    
    I didn't need to use the <gsce> element as described in the docs,
    as we already have a text box to search, and I bind the results to
    the unl_results div (local_results if a site-search is executed).
    
    Lastly, this new code does not use the "Linked Search Engine" specification.
    Instead, the as_sitesearch parameter is passed into the Google API,
    or, if a specific Custom Search Engine is specified (cx parameter),
    that is used vs. our regular UNL one.
    e6fe3a1c