From dc5cc523952b032b601e24f88de668dffb12cee1 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 16 Oct 2015 10:52:49 +0200 Subject: [PATCH] NEW Merge all search fields of an area page into one search box --- htdocs/comm/index.php | 87 +++++++++++++----------------------------- htdocs/core/search.php | 78 +++++++++++++++++++++++++++++++++++++ 2 files changed, 105 insertions(+), 60 deletions(-) create mode 100644 htdocs/core/search.php diff --git a/htdocs/comm/index.php b/htdocs/comm/index.php index 79dfafa7a76..534b7af4572 100644 --- a/htdocs/comm/index.php +++ b/htdocs/comm/index.php @@ -75,84 +75,51 @@ print '
'; // Search proposal if (! empty($conf->propal->enabled) && $user->rights->propal->lire) { - $var=false; - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print "
'.$langs->trans("SearchAProposal").'
:
:
\n"; - print "
\n"; + $listofsearchfields['search_proposal']=array('text'=>'Proposal'); } - // Search customer order if (! empty($conf->commande->enabled) && $user->rights->commande->lire) { - $var=false; - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print "
'.$langs->trans("SearchACustomerOrder").'
'; - print ':
:

\n"; + $listofsearchfields['search_customer_order']=array('text'=>'CustomerOrder'); } - // Search supplier order if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->commande->lire) { - $var=false; - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print "
'.$langs->trans("SearchASupplierOrder").'
'; - print ':
:

\n"; + $listofsearchfields['search_supplier_order']=array('text'=>'SupplierOrder'); +} +// Search intervention +if (! empty($conf->ficheinter->enabled) && $user->rights->ficheinter->lire) +{ + $listofsearchfields['search_intervention']=array('text'=>'Intervention'); } - // Search contract if (! empty($conf->contrat->enabled) && $user->rights->contrat->lire) { - $var=false; - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print "
'.$langs->trans("SearchAContract").'
:
:
\n"; - print "
"; + $listofsearchfields['search_contract']=array('text'=>'Contrat'); } -// Search contract -if (! empty($conf->ficheinter->enabled) && $user->rights->ficheinter->lire) +if (count($listofsearchfields)) { - $var=false; - print '
'; + print ''; print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print "
'.$langs->trans("SearchAnIntervention").'
:
:
\n"; - print "
"; + print ''; + $i=0; + foreach($listofsearchfields as $key => $value) + { + if ($i == 0) print ''; + print ''; + print ''; + if ($i == 0) print ''; + print ''; + $i++; + } + print '
'.$langs->trans("Search").'
:
'; + print ''; + print '
'; } + + /* * Draft proposals */ diff --git a/htdocs/core/search.php b/htdocs/core/search.php new file mode 100644 index 00000000000..6dd5d46c72f --- /dev/null +++ b/htdocs/core/search.php @@ -0,0 +1,78 @@ + + * + * This file is a modified version of datepicker.php from phpBSM to fix some + * bugs, to add new features and to dramatically increase speed. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/core/search.php + * \brief Wrapper that receive any search. Depending on input field, make a redirect to correct URL. + */ + +if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER','1'); // Not disabled cause need to load personalized language +if (! defined('NOREQUIREDB')) define('NOREQUIREDB','1'); // Not disabled cause need to load personalized language +if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1'); +if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1'); // Not disabled cause need to do translations +if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK',1); +if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL',1); +if (! defined('NOLOGIN')) define('NOLOGIN',1); // Not disabled cause need to load personalized language +if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU',1); +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML',1); + +require_once '../main.inc.php'; + +/* + * Actions + */ + +if (GETPOST('search_proposal') != '') +{ + header("Location: ".DOL_URL_ROOT.'/comm/propal/list.php?sall='.urlencode(GETPOST('search_proposal'))); + exit; +} +if (GETPOST('search_customer_order') != '') +{ + header("Location: ".DOL_URL_ROOT.'/commande/list.php?sall='.urlencode(GETPOST('search_customer_order'))); + exit; +} +if (GETPOST('search_supplier_order') != '') +{ + header("Location: ".DOL_URL_ROOT.'/fourn/commande/list.php?search_all='.urlencode(GETPOST('search_supplier_order'))); + exit; +} +if (GETPOST('search_intervention') != '') +{ + header("Location: ".DOL_URL_ROOT.'/fichinter/list.php?sall='.urlencode(GETPOST('search_intervention'))); + exit; +} +if (GETPOST('search_contract') != '') +{ + header("Location: ".DOL_URL_ROOT.'/contrat/list.php?sall='.urlencode(GETPOST('search_contract'))); + exit; +} + +// If we are here, search was called with no supported criteria +if (! empty($_SERVER['HTTP_REFERER'])) +{ + header("Location: ".$_SERVER['HTTP_REFERER']); + exit; +} +else +{ + print 'The wrapper search.php was called without any search criteria'; +} +