From 0741d8e32320f4578853ae92b242c2f7cd2d339a Mon Sep 17 00:00:00 2001
From: Dries Buytaert <dries@buytaert.net>
Date: Mon, 21 Sep 2009 06:36:54 +0000
Subject: [PATCH] - Patch #550742 by douggreen | Zarabadoo: remove Search box
 from theme system, default to block system instead.

---
 includes/theme.inc                       |  2 --
 modules/search/search-theme-form.tpl.php | 38 ------------------------
 modules/search/search.install            |  7 +++++
 modules/search/search.module             | 37 +----------------------
 modules/search/search.test               |  2 +-
 modules/system/page.tpl.php              |  5 ----
 profiles/default/default.install         | 10 +++++++
 themes/garland/maintenance-page.tpl.php  |  1 -
 themes/garland/page.tpl.php              |  2 --
 9 files changed, 19 insertions(+), 85 deletions(-)
 delete mode 100644 modules/search/search-theme-form.tpl.php

diff --git a/includes/theme.inc b/includes/theme.inc
index c134df5bb3fa..cf90b98bad7c 100644
--- a/includes/theme.inc
+++ b/includes/theme.inc
@@ -2208,7 +2208,6 @@ function template_preprocess_page(&$variables) {
   $variables['main_menu']         = theme_get_setting('toggle_main_menu') ? menu_main_menu() : array();
   $variables['secondary_menu']    = theme_get_setting('toggle_secondary_menu') ? menu_secondary_menu() : array();
   $variables['action_links']      = menu_local_actions();
-  $variables['search_box']        = (theme_get_setting('toggle_search') ? drupal_render(drupal_get_form('search_theme_form')) : '');
   $variables['site_name']         = (theme_get_setting('toggle_name') ? filter_xss_admin(variable_get('site_name', 'Drupal')) : '');
   $variables['site_slogan']       = (theme_get_setting('toggle_slogan') ? filter_xss_admin(variable_get('site_slogan', '')) : '');
   $variables['tabs']              = theme('menu_local_tasks');
@@ -2357,7 +2356,6 @@ function template_preprocess_maintenance_page(&$variables) {
   $variables['messages']          = $variables['show_messages'] ? theme('status_messages') : '';
   $variables['main_menu']         = array();
   $variables['secondary_menu']    = array();
-  $variables['search_box']        = '';
   $variables['site_name']         = (theme_get_setting('toggle_name') ? variable_get('site_name', 'Drupal') : '');
   $variables['site_slogan']       = (theme_get_setting('toggle_slogan') ? variable_get('site_slogan', '') : '');
   $variables['css']               = drupal_add_css();
diff --git a/modules/search/search-theme-form.tpl.php b/modules/search/search-theme-form.tpl.php
deleted file mode 100644
index bee1ad28b2ea..000000000000
--- a/modules/search/search-theme-form.tpl.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-// $Id$
-
-/**
- * @file
- * Default theme implementation for displaying a search form directly into the
- * theme layout. Not to be confused with the search block or the search page.
- *
- * Available variables:
- * - $search_form: The complete search form ready for print.
- * - $search: Array of keyed search elements. Can be used to print each form
- *   element separately.
- *
- * Default keys within $search:
- * - $search['search_theme_form']: Text input area wrapped in a div.
- * - $search['submit']: Form submit button.
- * - $search['hidden']: Hidden form elements. Used to validate forms when submitted.
- *
- * Since $search is keyed, a direct print of the form element is possible.
- * Modules can add to the search form so it is recommended to check for their
- * existence before printing. The default keys will always exist.
- *
- *   <?php if (isset($search['extra_field'])): ?>
- *     <div class="extra-field">
- *       <?php print $search['extra_field']; ?>
- *     </div>
- *   <?php endif; ?>
- *
- * To check for all available data within $search, use the code below.
- *
- *   <?php print '<pre>'. check_plain(print_r($search, 1)) .'</pre>'; ?>
- *
- * @see template_preprocess_search_theme_form()
- */
-?>
-<div id="search" class="container-inline">
-  <?php print $search_form; ?>
-</div>
diff --git a/modules/search/search.install b/modules/search/search.install
index 5cb6f887b7dd..7711df0e379b 100644
--- a/modules/search/search.install
+++ b/modules/search/search.install
@@ -15,6 +15,13 @@ function search_uninstall() {
   variable_del('search_cron_limit');
 }
 
+/**
+ * Implement hook_install().
+ */
+function search_install() {
+  drupal_set_message(t('You can <a href="@url">add the search block</a> now.', array('@url' => url('admin/structure/block'))));
+}
+
 /**
  * Implement hook_schema().
  */
diff --git a/modules/search/search.module b/modules/search/search.module
index c72dfe5b72e4..35b817d3f0bd 100644
--- a/modules/search/search.module
+++ b/modules/search/search.module
@@ -117,10 +117,6 @@ function search_help($path, $arg) {
  */
 function search_theme() {
   return array(
-    'search_theme_form' => array(
-      'arguments' => array('form' => NULL),
-      'template' => 'search-theme-form',
-    ),
     'search_block_form' => array(
       'arguments' => array('form' => NULL),
       'template' => 'search-block-form',
@@ -892,7 +888,7 @@ function search_form($form, &$form_state, $action = '', $keys = '', $type = NULL
 }
 
 /**
- * Form builder; Output a search form for the search block and the theme's search box.
+ * Form builder; Output a search form for the search block's search box.
  *
  * @ingroup forms
  * @see search_box_form_submit()
@@ -929,33 +925,6 @@ function search_box_form_submit($form, &$form_state) {
   $form_state['redirect'] = 'search/node/' . trim($form_state['values'][$form_id]);
 }
 
-/**
- * Process variables for search-theme-form.tpl.php.
- *
- * The $variables array contains the following arguments:
- * - $form
- *
- * @see search-theme-form.tpl.php
- */
-function template_preprocess_search_theme_form(&$variables) {
-  $variables['search'] = array();
-  $hidden = array();
-  // Provide variables named after form keys so themers can print each element independently.
-  foreach (element_children($variables['form']) as $key) {
-    $type = $variables['form'][$key]['#type'];
-    if ($type == 'hidden' || $type == 'token') {
-      $hidden[] = drupal_render($variables['form'][$key]);
-    }
-    else {
-      $variables['search'][$key] = drupal_render($variables['form'][$key]);
-    }
-  }
-  // Hidden form elements have no value to themers. No need for separation.
-  $variables['search']['hidden'] = implode($hidden);
-  // Collect all form elements to make it easier to print the whole form.
-  $variables['search_form'] = implode($variables['search']);
-}
-
 /**
  * Process variables for search-block-form.tpl.php.
  *
@@ -1127,10 +1096,6 @@ function _search_excerpt_replace(&$text) {
 }
 
 function search_forms() {
-  $forms['search_theme_form']= array(
-    'callback' => 'search_box',
-    'callback arguments' => array('search_theme_form'),
-  );
   $forms['search_block_form']= array(
     'callback' => 'search_box',
     'callback arguments' => array('search_block_form'),
diff --git a/modules/search/search.test b/modules/search/search.test
index e0fae433d790..6472dc14df00 100644
--- a/modules/search/search.test
+++ b/modules/search/search.test
@@ -503,7 +503,7 @@ class SearchCommentTestCase extends DrupalWebTestCase {
 
     // Search for $title.
     $edit = array(
-      'search_theme_form' => $comment_body,
+      'search_block_form' => $comment_body,
     );
     $this->drupalPost('', $edit, t('Search'));
     $this->assertText($node->title, t('Node found in search results.'));
diff --git a/modules/system/page.tpl.php b/modules/system/page.tpl.php
index be4921656a65..417a18c3fc98 100644
--- a/modules/system/page.tpl.php
+++ b/modules/system/page.tpl.php
@@ -26,7 +26,6 @@
  *   in theme settings.
  *
  * Navigation:
- * - $search_box: HTML to display the search box, empty if search has been disabled.
  * - $main_menu (array): An array containing the Main menu links for the
  *   site, if they have been configured.
  * - $secondary_menu (array): An array containing the Secondary menu links for
@@ -87,10 +86,6 @@
         </div> <!-- /#name-and-slogan -->
       <?php endif; ?>
 
-      <?php if ($search_box): ?>
-        <div id="search-box"><?php print $search_box; ?></div>
-      <?php endif; ?>
-
       <?php if ($page['header']): ?>
         <div id="header-region" class="region">
           <?php print render($page['header']); ?>
diff --git a/profiles/default/default.install b/profiles/default/default.install
index 46b6869dc1a8..b04a87bff2d3 100644
--- a/profiles/default/default.install
+++ b/profiles/default/default.install
@@ -20,6 +20,16 @@ function default_install() {
       'pages' => '',
       'cache' => -1,
     ),
+    array(
+      'module' => 'search',
+      'delta' => 'form',
+      'theme' => 'garland',
+      'status' => 1,
+      'weight' => -1,
+      'region' => 'sidebar_first',
+      'pages' => '',
+      'cache' => -1,
+    ),
     array(
       'module' => 'user',
       'delta' => 'login',
diff --git a/themes/garland/maintenance-page.tpl.php b/themes/garland/maintenance-page.tpl.php
index 3d888541ffa2..900ee8a71bf7 100644
--- a/themes/garland/maintenance-page.tpl.php
+++ b/themes/garland/maintenance-page.tpl.php
@@ -63,7 +63,6 @@
 
       <?php if ($sidebar_first): ?>
         <div id="sidebar-first" class="sidebar">
-          <?php if ($search_box): ?><div class="block block-theme"><?php print $search_box ?></div><?php endif; ?>
           <?php print $sidebar_first ?>
         </div>
       <?php endif; ?>
diff --git a/themes/garland/page.tpl.php b/themes/garland/page.tpl.php
index 5d70f9630b5f..fffc233b1a80 100644
--- a/themes/garland/page.tpl.php
+++ b/themes/garland/page.tpl.php
@@ -24,7 +24,6 @@
 
       <?php if ($page['sidebar_first']): ?>
         <div id="sidebar-first" class="sidebar">
-          <?php if ($search_box): ?><div class="block block-theme"><?php print $search_box ?></div><?php endif; ?>
           <?php print render($page['sidebar_first']); ?>
         </div>
       <?php endif; ?>
@@ -48,7 +47,6 @@
 
       <?php if ($page['sidebar_second']): ?>
         <div id="sidebar-second" class="sidebar">
-          <?php if (!$page['sidebar_first'] && $search_box): ?><div class="block block-theme"><?php print $search_box ?></div><?php endif; ?>
           <?php print render($page['sidebar_second']); ?>
         </div>
       <?php endif; ?>
-- 
GitLab