From 80f7cef0a8ef4526b28a9c10fb3eb7a54c4307a1 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Mar 2019 09:20:05 +0100 Subject: [PATCH 1/6] Better translation --- htdocs/admin/index.php | 4 ++-- htdocs/langs/en_US/admin.lang | 4 ++-- htdocs/langs/en_US/errors.lang | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/htdocs/admin/index.php b/htdocs/admin/index.php index 62f5443d693..9e0acb0ff62 100644 --- a/htdocs/admin/index.php +++ b/htdocs/admin/index.php @@ -100,8 +100,8 @@ print '
'.$moreinfo; if (count($conf->modules) <= (empty($conf->global->MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING)?1:$conf->global->MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING)) // If only user module enabled { $langs->load("errors"); - $warnpicto=img_warning($langs->trans("WarningMandatorySetupNotComplete"), 'style="padding-right: 6px;"'); - print '
'.$warnpicto.$langs->trans("WarningMandatorySetupNotComplete").'
'; + $warnpicto=img_warning($langs->trans("WarningEnableYourModulesApplications"), 'style="padding-right: 6px;"'); + print '
'.$warnpicto.$langs->trans("WarningEnableYourModulesApplications").'
'; } print '
'; print '
'; diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index dde854f1925..92431aad538 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1053,8 +1053,8 @@ Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Check deposit not done Delays_MAIN_DELAY_EXPENSEREPORTS=Expense report to approve SetupDescription1=Before starting to use Dolibarr some initial parameters must be defined and modules enabled/configured. SetupDescription2=The following two sections are mandatory (the two first entries in the Setup menu): -SetupDescription3=%s -> %s
Basic parameters used to customize the default behavior of Dolibarr (e.g for country-related features). -SetupDescription4=%s -> %s
Dolibarr ERP/CRM is a collection of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. +SetupDescription3=%s -> %s
Basic parameters used to customize the default behavior of your application (e.g for country-related features). +SetupDescription4=%s -> %s
This software is a suite of many modules/applications, all more or less independent. The modules relevant to your needs must be enabled and configured. New items/options are added to menus with the activation of a module. SetupDescription5=Other Setup menu entries manage optional parameters. LogEvents=Security audit events Audit=Audit diff --git a/htdocs/langs/en_US/errors.lang b/htdocs/langs/en_US/errors.lang index 5e1e8fcd32e..6f12bd4ca37 100644 --- a/htdocs/langs/en_US/errors.lang +++ b/htdocs/langs/en_US/errors.lang @@ -218,7 +218,8 @@ ErrorVariableKeyForContentMustBeSet=Error, the constant with name %s (with text ErrorURLMustStartWithHttp=URL %s must start with http:// or https:// # Warnings WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. -WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined +WarningMandatorySetupNotComplete=Click here to setup mandatory parameters +WarningEnableYourModulesApplications=Click here to enable your modules and applications WarningSafeModeOnCheckExecDir=Warning, PHP option safe_mode is on so command must be stored inside a directory declared by php parameter safe_mode_exec_dir. WarningBookmarkAlreadyExists=A bookmark with this title or this target (URL) already exists. WarningPassIsEmpty=Warning, database password is empty. This is a security hole. You should add a password to your database and change your conf.php file to reflect this. From 1818e22be92ea4ceabe905c4ed7fe66317799943 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Mar 2019 09:56:01 +0100 Subject: [PATCH 2/6] Add some font awesome icons on buttons --- htdocs/takepos/customers.php | 2 +- htdocs/takepos/floors.php | 6 ++++++ htdocs/takepos/freezone.php | 9 ++++++++- htdocs/takepos/invoice.php | 14 +++++++++++--- htdocs/takepos/receipt.php | 6 ++++++ htdocs/takepos/takepos.php | 14 ++++++++++---- 6 files changed, 42 insertions(+), 9 deletions(-) diff --git a/htdocs/takepos/customers.php b/htdocs/takepos/customers.php index 05fdf5537c9..6bb96e478d3 100644 --- a/htdocs/takepos/customers.php +++ b/htdocs/takepos/customers.php @@ -26,7 +26,7 @@ /** * \file htdocs/takepos/customers.php - * \ingroup societe + * \ingroup takepos * \brief Page to show list of third parties. TODO Merge with societe/list.php */ diff --git a/htdocs/takepos/floors.php b/htdocs/takepos/floors.php index 0206fe1a8e0..9401d61b9a0 100644 --- a/htdocs/takepos/floors.php +++ b/htdocs/takepos/floors.php @@ -15,6 +15,12 @@ * along with this program. If not, see . */ +/** + * \file htdocs/takepos/floors.php + * \ingroup takepos + * \brief Page to edit floors and tables. + */ + //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'); diff --git a/htdocs/takepos/freezone.php b/htdocs/takepos/freezone.php index f9a270b247c..64c21a30304 100644 --- a/htdocs/takepos/freezone.php +++ b/htdocs/takepos/freezone.php @@ -15,6 +15,12 @@ * along with this program. If not, see . */ +/** + * \file htdocs/takepos/floors.php + * \ingroup takepos + * \brief Popup to enter a free line + */ + //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'); @@ -33,7 +39,8 @@ $place = (GETPOST('place', 'int') > 0 ? GETPOST('place', 'int') : 0); // $plac $posnb = (GETPOST('posnb', 'int') > 0 ? GETPOST('posnb', 'int') : 0); // $posnb is id of POS $idline = GETPOST('idline', 'int'); -$action = GETPOST('action'); +$action = GETPOST('action', 'alpha'); + /* * View diff --git a/htdocs/takepos/invoice.php b/htdocs/takepos/invoice.php index ed3f133b2d4..856616ee7b0 100644 --- a/htdocs/takepos/invoice.php +++ b/htdocs/takepos/invoice.php @@ -16,6 +16,12 @@ * along with this program. If not, see . */ +/** + * \file htdocs/takepos/invoice.php + * \ingroup takepos + * \brief Page to generate section with list of lines + */ + // 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'); @@ -48,8 +54,8 @@ $amountofpayment = price2num(GETPOST('amount', 'alpha')); $invoiceid = GETPOST('invoiceid', 'int'); $paycode = $pay; -if ($pay == 'cash') $paycode = 'LIQ'; // For backward compatibility -if ($pay == 'card') $paycode = 'CB'; // For backward compatibility +if ($pay == 'cash') $paycode = 'LIQ'; // For backward compatibility +if ($pay == 'card') $paycode = 'CB'; // For backward compatibility if ($pay == 'cheque') $paycode = 'CHQ'; // For backward compatibility // Retrieve paiementid @@ -477,9 +483,11 @@ if ($placeid > 0) else { print ''.$langs->trans("Empty").''; - } } +else { // No invoice generated yet + print ''.$langs->trans("Empty").''; +} print ''; diff --git a/htdocs/takepos/receipt.php b/htdocs/takepos/receipt.php index 7e560a0d40f..262231f72b5 100644 --- a/htdocs/takepos/receipt.php +++ b/htdocs/takepos/receipt.php @@ -19,6 +19,12 @@ * along with this program. If not, see . */ +/** + * \file htdocs/takepos/floors.php + * \ingroup takepos + * \brief Page to show a receipt. + */ + require '../main.inc.php'; // Load $user and permissions include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; diff --git a/htdocs/takepos/takepos.php b/htdocs/takepos/takepos.php index 9fa2154eaf1..959bc0baac5 100644 --- a/htdocs/takepos/takepos.php +++ b/htdocs/takepos/takepos.php @@ -16,6 +16,12 @@ * along with this program. If not, see . */ +/** + * \file htdocs/takepos/floors.php + * \ingroup takepos + * \brief Main TakePOS screen + */ + //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'); @@ -493,17 +499,17 @@ if (count($maincategories)==0) { // User menu and external TakePOS modules $menus = array(); $r=0; -$menus[$r++]=array('title'=>$langs->trans("SearchProduct"), +$menus[$r++]=array('title'=>''.$langs->trans("SearchProduct"), 'action'=>'Search();'); $menus[$r++]=array('title'=>$langs->trans("FreeZone"), 'action'=>'FreeZone();'); -$menus[$r++]=array('title'=>$langs->trans("Customer"), +$menus[$r++]=array('title'=>''.$langs->trans("Customer"), 'action'=>'Customer();'); -$menus[$r++]=array('title'=>$langs->trans("BackOffice"), +$menus[$r++]=array('title'=>''.$langs->trans("BackOffice"), 'action'=>'window.open(\''.(DOL_URL_ROOT ? DOL_URL_ROOT : '/').'\', \'_backoffice\');'); $menus[$r++]=array('title'=>$langs->trans("DoPayment"), 'action'=>'CloseBill();'); -$menus[$r++]=array('title'=>$langs->trans("Logout"), +$menus[$r++]=array('title'=>''.$langs->trans("Logout"), 'action'=>'window.location.href=\''.DOL_URL_ROOT.'/user/logout.php\';'); // BAR RESTAURANT specific menu From 3de82ad345f90ea8cc79d9bccce06761edb49c9f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Mar 2019 12:27:31 +0100 Subject: [PATCH 3/6] Prepare removal of duplicate page --- htdocs/societe/list.php | 2 +- htdocs/takepos/customers.php | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/htdocs/societe/list.php b/htdocs/societe/list.php index c716604fd7c..4b9e83461ea 100644 --- a/htdocs/societe/list.php +++ b/htdocs/societe/list.php @@ -150,7 +150,7 @@ if (! empty($conf->global->THIRDPARTY_QUICKSEARCH_ON_FIELDS)) $fieldstosearchall // Define list of fields to show into list -$checkedcustomercode=(in_array($contextpage, array('thirdpartylist', 'customerlist', 'prospectlist')) ? 1 : 0); +$checkedcustomercode=(in_array($contextpage, array('thirdpartylist', 'customerlist', 'prospectlist', 'poslist')) ? 1 : 0); $checkedsuppliercode=(in_array($contextpage, array('supplierlist')) ? 1 : 0); $checkedcustomeraccountcode=(in_array($contextpage, array('customerlist')) ? 1 : 0); $checkedsupplieraccountcode=(in_array($contextpage, array('supplierlist')) ? 1 : 0); diff --git a/htdocs/takepos/customers.php b/htdocs/takepos/customers.php index 6bb96e478d3..d32ae82e25d 100644 --- a/htdocs/takepos/customers.php +++ b/htdocs/takepos/customers.php @@ -27,7 +27,8 @@ /** * \file htdocs/takepos/customers.php * \ingroup takepos - * \brief Page to show list of third parties. TODO Merge with societe/list.php + * \brief Page to show list of third parties. + * TODO replace use of this page by societe/list.php?contextpage=poslist */ require '../main.inc.php'; // Load $user and permissions @@ -168,7 +169,7 @@ if (($tmp = $langs->transnoentities("ProfId6".$mysoc->country_code)) && $tmp != if (!empty($conf->barcode->enabled)) $fieldstosearchall['s.barcode']='Gencod'; // Define list of fields to show into list -$checkedcustomercode=(in_array($contextpage, array('thirdpartylist', 'customerlist', 'prospectlist')) ? 1 : 0); +$checkedcustomercode=(in_array($contextpage, array('thirdpartylist', 'customerlist', 'prospectlist', 'poslist')) ? 1 : 0); $checkedsuppliercode=(in_array($contextpage, array('supplierlist')) ? 1 : 0); $checkedcustomeraccountcode=(in_array($contextpage, array('customerlist')) ? 1 : 0); $checkedsupplieraccountcode=(in_array($contextpage, array('supplierlist')) ? 1 : 0); From 396e79199c935be8610d4bb7342bc6b4ad4d1d00 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Mar 2019 12:32:32 +0100 Subject: [PATCH 4/6] Add contextpage to open popup to change customers --- htdocs/takepos/customers.php | 2 +- htdocs/takepos/takepos.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/takepos/customers.php b/htdocs/takepos/customers.php index d32ae82e25d..a9ec90776e8 100644 --- a/htdocs/takepos/customers.php +++ b/htdocs/takepos/customers.php @@ -1007,7 +1007,7 @@ while ($i < min($num, $limit)) $companystatic->fk_prospectlevel=$obj->fk_prospectlevel; - print ''; + print ''; if (! empty($arrayfields['s.rowid']['checked'])) { print ''; diff --git a/htdocs/takepos/takepos.php b/htdocs/takepos/takepos.php index 959bc0baac5..ed31674cf64 100644 --- a/htdocs/takepos/takepos.php +++ b/htdocs/takepos/takepos.php @@ -278,7 +278,7 @@ function deleteline() { } function Customer() { - $.colorbox({href:"customers.php?nomassaction=1&place="+place, width:"90%", height:"80%", transition:"none", iframe:"true", title:"trans("Customer");?>"}); + $.colorbox({href:"customers.php?contextpage=poslist&nomassaction=1&place="+place, width:"90%", height:"80%", transition:"none", iframe:"true", title:"trans("Customer");?>"}); } function CloseBill() { From c888c071e5b82a53c2b5a879cfce0b32b8d38cb1 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Mar 2019 13:10:44 +0100 Subject: [PATCH 5/6] Removed duplicate file --- htdocs/societe/list.php | 50 +- htdocs/takepos/customers.php | 1273 ---------------------------------- htdocs/takepos/takepos.php | 2 +- 3 files changed, 44 insertions(+), 1281 deletions(-) delete mode 100644 htdocs/takepos/customers.php diff --git a/htdocs/societe/list.php b/htdocs/societe/list.php index 4b9e83461ea..ad16c9adb25 100644 --- a/htdocs/societe/list.php +++ b/htdocs/societe/list.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2005-2019 Regis Houssin * Copyright (C) 2012 Marcos García * Copyright (C) 2013-2015 Raphaël Doursenaud * Copyright (C) 2015 Florian Henry @@ -38,7 +38,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; require_once DOL_DOCUMENT_ROOT.'/societe/class/client.class.php'; -$langs->loadLangs(array("companies", "commercial", "customers", "suppliers", "bills", "compta", "categories")); +$langs->loadLangs(array("companies", "commercial", "customers", "suppliers", "bills", "compta", "categories", "cashdesk")); $action=GETPOST('action', 'alpha'); $massaction=GETPOST('massaction', 'alpha'); @@ -47,6 +47,11 @@ $confirm=GETPOST('confirm', 'alpha'); $toselect = GETPOST('toselect', 'array'); $contextpage=GETPOST('contextpage', 'aZ')?GETPOST('contextpage', 'aZ'):'thirdpartylist'; +if ($contextpage == 'poslist') +{ + $_GET['optioncss'] = 'print'; +} + // Security check $socid = GETPOST('socid', 'int'); if ($user->societe_id) $socid=$user->societe_id; @@ -218,6 +223,25 @@ $object = new Societe($db); * Actions */ +if ($action=="change") +{ + $idcustomer = GETPOST('idcustomer', 'int'); + $place = (GETPOST('place', 'int') > 0 ? GETPOST('place', 'int') : 0); // $place is id of table for Ba or Restaurant + $posnb = (GETPOST('posnb', 'int') > 0 ? GETPOST('posnb', 'int') : 0); // $posnb is id of POS + + $sql="UPDATE ".MAIN_DB_PREFIX."facture set fk_soc=".$idcustomer." where ref='(PROV-POS-".$place.")'"; + $resql = $db->query($sql); + ?> + + global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $obj = $db->fetch_object($resql); $id = $obj->rowid; if (!empty($conf->global->SOCIETE_ON_SEARCH_AND_LIST_GO_ON_CUSTOMER_OR_SUPPLIER_CARD)) { - if ( $obj->client > 0) { + if ($obj->client > 0) { header("Location: ".DOL_URL_ROOT.'/comm/card.php?socid='.$id); exit; } - if ( $obj->fournisseur > 0){ + if ($obj->fournisseur > 0) { header("Location: ".DOL_URL_ROOT.'/fourn/card.php?socid='.$id); exit; } @@ -545,7 +569,7 @@ if (GETPOST('nomassaction', 'int') || in_array($massaction, array('presend','pre $massactionbutton=$form->selectMassAction('', $arrayofmassactions); $newcardbutton=''; -if ($user->rights->societe->creer) +if ($user->rights->societe->creer && $contextpage != 'postlist') { $typefilter=''; $label='MenuNewThirdParty'; @@ -975,7 +999,12 @@ while ($i < min($num, $limit)) $companystatic->fk_prospectlevel=$obj->fk_prospectlevel; $companystatic->fk_parent = $obj->fk_parent; - print ''; + print ''; + } + print '>'; if (! empty($arrayfields['s.rowid']['checked'])) { print ''; @@ -988,7 +1017,14 @@ while ($i < min($num, $limit)) $savalias = $obj->name_alias; if (! empty($arrayfields['s.name_alias']['checked'])) $companystatic->name_alias=''; print ''; - print $companystatic->getNomUrl(1, '', 100, 0, 1); + if ($contextpage == 'poslist') + { + print $obj->name; + } + else + { + print $companystatic->getNomUrl(1, '', 100, 0, 1); + } print "\n"; $companystatic->name_alias = $savalias; if (! $i) $totalarray['nbfield']++; diff --git a/htdocs/takepos/customers.php b/htdocs/takepos/customers.php deleted file mode 100644 index a9ec90776e8..00000000000 --- a/htdocs/takepos/customers.php +++ /dev/null @@ -1,1273 +0,0 @@ - - * Copyright (C) 2004-2016 Laurent Destailleur - * Copyright (C) 2005-2019 Regis Houssin - * Copyright (C) 2012 Marcos García - * Copyright (C) 2013-2015 Raphaël Doursenaud - * Copyright (C) 2015 Florian Henry - * Copyright (C) 2016 Josep Lluis Amador - * Copyright (C) 2016 Ferran Marcet - * Copyright (C) 2017 Rui Strecht - * Copyright (C) 2017 Juanjo Menent - * - * 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/takepos/customers.php - * \ingroup takepos - * \brief Page to show list of third parties. - * TODO replace use of this page by societe/list.php?contextpage=poslist - */ - -require '../main.inc.php'; // Load $user and permissions -include_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; -require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; -require_once DOL_DOCUMENT_ROOT.'/societe/class/client.class.php'; - -$langs->loadLangs(array("companies", "commercial", "customers", "suppliers", "bills", "compta", "categories", "cashdesk")); - -$action=GETPOST('action', 'alpha'); -$massaction=GETPOST('massaction', 'alpha'); -$show_files=GETPOST('show_files', 'int'); -$confirm=GETPOST('confirm', 'alpha'); -$toselect = GETPOST('toselect', 'array'); -$idcustomer = GETPOST('idcustomer', 'int'); -$place = (GETPOST('place', 'int') > 0 ? GETPOST('place', 'int') : 0); // $place is id of table for Ba or Restaurant -$posnb = (GETPOST('posnb', 'int') > 0 ? GETPOST('posnb', 'int') : 0); // $posnb is id of POS - -$_GET['optioncss'] = 'print'; - - -/* - * Actions - */ - -if ($action=="change") { - $sql="UPDATE ".MAIN_DB_PREFIX."facture set fk_soc=".$idcustomer." where ref='(PROV-POS-".$place.")'"; - $resql = $db->query($sql); - ?> - - societe_id) $socid=$user->societe_id; -$result = restrictedArea($user, 'societe', $socid, ''); - -$search_all=trim(GETPOST('search_all', 'alphanohtml')?GETPOST('search_all', 'alphanohtml'):GETPOST('sall', 'alphanohtml')); -$search_cti=preg_replace('/^0+/', '', preg_replace('/[^0-9]/', '', GETPOST('search_cti', 'alphanohtml'))); // Phone number without any special chars - -$search_id=trim(GETPOST("search_id", "int")); -$search_nom=trim(GETPOST("search_nom")); -$search_alias=trim(GETPOST("search_alias")); -$search_nom_only=trim(GETPOST("search_nom_only")); -$search_barcode=trim(GETPOST("search_barcode")); -$search_customer_code=trim(GETPOST('search_customer_code')); -$search_supplier_code=trim(GETPOST('search_supplier_code')); -$search_account_customer_code=trim(GETPOST('search_account_customer_code')); -$search_account_supplier_code=trim(GETPOST('search_account_supplier_code')); -$search_town=trim(GETPOST("search_town")); -$search_zip=trim(GETPOST("search_zip")); -$search_state=trim(GETPOST("search_state")); -$search_region=trim(GETPOST("search_region")); -$search_email=trim(GETPOST('search_email')); -$search_phone=trim(GETPOST('search_phone')); -$search_url=trim(GETPOST('search_url')); -$search_idprof1=trim(GETPOST('search_idprof1')); -$search_idprof2=trim(GETPOST('search_idprof2')); -$search_idprof3=trim(GETPOST('search_idprof3')); -$search_idprof4=trim(GETPOST('search_idprof4')); -$search_idprof5=trim(GETPOST('search_idprof5')); -$search_idprof6=trim(GETPOST('search_idprof6')); -$search_vat=trim(GETPOST('search_vat')); -$search_sale=trim(GETPOST("search_sale", 'int')); -$search_categ_cus=trim(GETPOST("search_categ_cus", 'int')); -$search_categ_sup=trim(GETPOST("search_categ_sup", 'int')); -$search_country=GETPOST("search_country", 'intcomma'); -$search_type_thirdparty=GETPOST("search_type_thirdparty", 'int'); -$search_status=GETPOST("search_status", 'int'); -$search_type=GETPOST('search_type', 'alpha'); -$search_level_from = GETPOST("search_level_from", "alpha"); -$search_level_to = GETPOST("search_level_to", "alpha"); -$search_stcomm=GETPOST('search_stcomm', 'int'); -$search_import_key = GETPOST("search_import_key", "alpha"); - -$type=GETPOST('type'); -$optioncss=GETPOST('optioncss', 'alpha'); -$mode=GETPOST("mode"); - -$diroutputmassaction=$conf->societe->dir_output . '/temp/massgeneration/'.$user->id; - -$limit = GETPOST('limit', 'int')?GETPOST('limit', 'int'):$conf->liste_limit; -$sortfield=GETPOST("sortfield", 'alpha'); -$sortorder=GETPOST("sortorder", 'alpha'); -$page=GETPOST("page", 'int'); -if (! $sortorder) $sortorder="ASC"; -if (! $sortfield) $sortfield="s.nom"; -if (empty($page) || $page == -1) { $page = 0; } -$offset = $limit * $page; -$pageprev = $page - 1; -$pagenext = $page + 1; - -// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context -$contextpage='thirdpartylist'; -/*if ($search_type == '1,3') { $contextpage='customerlist'; $type='c'; } -if ($search_type == '2,3') { $contextpage='prospectlist'; $type='p'; } -if ($search_type == '4') { $contextpage='supplierlist'; $type='f'; } -*/ -if ($type == 'c') { $contextpage='customerlist'; if ($search_type=='') $search_type='1,3'; } -if ($type == 'p') { $contextpage='prospectlist'; if ($search_type=='') $search_type='2,3'; } -if ($type == 'f') { $contextpage='supplierlist'; if ($search_type=='') $search_type='4'; } - -// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context -$hookmanager->initHooks(array($contextpage)); -$extrafields = new ExtraFields($db); - -// fetch optionals attributes and labels -$extralabels = $extrafields->fetch_name_optionals_label('societe'); -$search_array_options=$extrafields->getOptionalsFromPost('societe', '', 'search_'); - -// List of fields to search into when doing a "search in all" -$fieldstosearchall = array( - 's.nom'=>"ThirdPartyName", - 's.name_alias'=>"AliasNameShort", - 's.code_client'=>"CustomerCode", - 's.code_fournisseur'=>"SupplierCode", - 's.code_compta'=>"CustomerAccountancyCodeShort", - 's.code_compta_fournisseur'=>"SupplierAccountancyCodeShort", - 's.email'=>"EMail", - 's.url'=>"URL", - 's.tva_intra'=>"VATIntra", - 's.siren'=>"ProfId1", - 's.siret'=>"ProfId2", - 's.ape'=>"ProfId3", -); -if (($tmp = $langs->transnoentities("ProfId4".$mysoc->country_code)) && $tmp != "ProfId4".$mysoc->country_code && $tmp != '-') $fieldstosearchall['s.idprof4']='ProfId4'; -if (($tmp = $langs->transnoentities("ProfId5".$mysoc->country_code)) && $tmp != "ProfId5".$mysoc->country_code && $tmp != '-') $fieldstosearchall['s.idprof5']='ProfId5'; -if (($tmp = $langs->transnoentities("ProfId6".$mysoc->country_code)) && $tmp != "ProfId6".$mysoc->country_code && $tmp != '-') $fieldstosearchall['s.idprof6']='ProfId6'; -if (!empty($conf->barcode->enabled)) $fieldstosearchall['s.barcode']='Gencod'; - -// Define list of fields to show into list -$checkedcustomercode=(in_array($contextpage, array('thirdpartylist', 'customerlist', 'prospectlist', 'poslist')) ? 1 : 0); -$checkedsuppliercode=(in_array($contextpage, array('supplierlist')) ? 1 : 0); -$checkedcustomeraccountcode=(in_array($contextpage, array('customerlist')) ? 1 : 0); -$checkedsupplieraccountcode=(in_array($contextpage, array('supplierlist')) ? 1 : 0); -$checkedtypetiers=1; -$checkedprofid1=0; -$checkedprofid2=0; -$checkedprofid3=0; -$checkedprofid4=0; -$checkedprofid5=0; -$checkedprofid6=0; -//$checkedprofid4=((($tmp = $langs->transnoentities("ProfId4".$mysoc->country_code)) && $tmp != "ProfId4".$mysoc->country_code && $tmp != '-') ? 1 : 0); -//$checkedprofid5=((($tmp = $langs->transnoentities("ProfId5".$mysoc->country_code)) && $tmp != "ProfId5".$mysoc->country_code && $tmp != '-') ? 1 : 0); -//$checkedprofid6=((($tmp = $langs->transnoentities("ProfId6".$mysoc->country_code)) && $tmp != "ProfId6".$mysoc->country_code && $tmp != '-') ? 1 : 0); -$checkprospectlevel=(in_array($contextpage, array('prospectlist')) ? 1 : 0); -$checkstcomm=(in_array($contextpage, array('prospectlist')) ? 1 : 0); -$arrayfields=array( - 's.rowid'=>array('label'=>"TechnicalID", 'checked'=>($conf->global->MAIN_SHOW_TECHNICAL_ID?1:0), 'enabled'=>($conf->global->MAIN_SHOW_TECHNICAL_ID?1:0)), - 's.nom'=>array('label'=>"ThirdPartyName", 'checked'=>1), - 's.name_alias'=>array('label'=>"AliasNameShort", 'checked'=>1), - 's.barcode'=>array('label'=>"Gencod", 'checked'=>1, 'enabled'=>(! empty($conf->barcode->enabled))), - 's.code_client'=>array('label'=>"CustomerCodeShort", 'checked'=>$checkedcustomercode), - 's.code_fournisseur'=>array('label'=>"SupplierCodeShort", 'checked'=>$checkedsuppliercode, 'enabled'=>(! empty($conf->fournisseur->enabled))), - 's.code_compta'=>array('label'=>"CustomerAccountancyCodeShort", 'checked'=>$checkedcustomeraccountcode), - 's.code_compta_fournisseur'=>array('label'=>"SupplierAccountancyCodeShort", 'checked'=>$checkedsupplieraccountcode, 'enabled'=>(! empty($conf->fournisseur->enabled))), - 's.town'=>array('label'=>"Town", 'checked'=>1), - 's.zip'=>array('label'=>"Zip", 'checked'=>1), - 'state.nom'=>array('label'=>"State", 'checked'=>0), - 'region.nom'=>array('label'=>"Region", 'checked'=>0), - 'country.code_iso'=>array('label'=>"Country", 'checked'=>0), - 's.email'=>array('label'=>"Email", 'checked'=>0), - 's.url'=>array('label'=>"Url", 'checked'=>0), - 's.phone'=>array('label'=>"Phone", 'checked'=>1), - 'typent.code'=>array('label'=>"ThirdPartyType", 'checked'=>$checkedtypetiers), - 's.siren'=>array('label'=>"ProfId1Short", 'checked'=>$checkedprofid1), - 's.siret'=>array('label'=>"ProfId2Short", 'checked'=>$checkedprofid2), - 's.ape'=>array('label'=>"ProfId3Short", 'checked'=>$checkedprofid3), - 's.idprof4'=>array('label'=>"ProfId4Short", 'checked'=>$checkedprofid4), - 's.idprof5'=>array('label'=>"ProfId5Short", 'checked'=>$checkedprofid5), - 's.idprof6'=>array('label'=>"ProfId6Short", 'checked'=>$checkedprofid6), - 's.tva_intra'=>array('label'=>"VATIntra", 'checked'=>0), - 'customerorsupplier'=>array('label'=>'Nature', 'checked'=>1), - 's.fk_prospectlevel'=>array('label'=>"ProspectLevelShort", 'checked'=>$checkprospectlevel), - 's.fk_stcomm'=>array('label'=>"StatusProsp", 'checked'=>$checkstcomm), - 's.datec'=>array('label'=>"DateCreation", 'checked'=>0, 'position'=>500), - 's.tms'=>array('label'=>"DateModificationShort", 'checked'=>0, 'position'=>500), - 's.status'=>array('label'=>"Status", 'checked'=>1, 'position'=>1000), - 's.import_key'=>array('label'=>"ImportId", 'checked'=>0, 'position'=>1100), -); -// Extra fields -if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label)) -{ - foreach($extrafields->attribute_label as $key => $val) - { - if (! empty($extrafields->attribute_list[$key])) $arrayfields["ef.".$key]=array('label'=>$extrafields->attribute_label[$key], 'checked'=>(($extrafields->attribute_list[$key]<0)?0:1), 'position'=>$extrafields->attribute_pos[$key], 'enabled'=>(abs($extrafields->attribute_list[$key])!=3 && $extrafields->attribute_perms[$key])); - } -} - -$object = new Societe($db); - - -/* - * Actions - */ - -if (GETPOST('cancel', 'alpha')) { $action='list'; $massaction=''; } -if (! GETPOST('confirmmassaction', 'alpha') && $massaction != 'presend' && $massaction != 'confirm_presend') { $massaction=''; } - -$parameters=array(); -$reshook=$hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks -if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); - -if (empty($reshook)) -{ - // Selection of new fields - include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php'; - - // Did we click on purge search criteria ? - if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) // All tests are required to be compatible with all browsers - { - $search_id=''; - $search_nom=''; - $search_alias=''; - $search_categ_cus=0; - $search_categ_sup=0; - $search_sale=''; - $search_barcode=""; - $search_customer_code=''; - $search_supplier_code=''; - $search_account_customer_code=''; - $search_account_supplier_code=''; - $search_town=""; - $search_zip=""; - $search_state=""; - $search_country=''; - $search_email=''; - $search_phone=''; - $search_url=''; - $search_idprof1=''; - $search_idprof2=''; - $search_idprof3=''; - $search_idprof4=''; - $search_idprof5=''; - $search_idprof6=''; - $search_vat=''; - $search_type=''; - $search_type_thirdparty=''; - $search_status=-1; - $search_stcomm=''; - $search_level_from=''; - $search_level_to=''; - $search_import_key=''; - $toselect=''; - $search_array_options=array(); - } - - // Mass actions - $objectclass='Societe'; - $objectlabel='ThirdParty'; - $permtoread = $user->rights->societe->lire; - $permtodelete = $user->rights->societe->supprimer; - $uploaddir = $conf->societe->dir_output; - include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php'; - - if ($action == 'setstcomm') - { - $object = new Client($db); - $result=$object->fetch(GETPOST('stcommsocid')); - $object->stcomm_id=dol_getIdFromCode($db, GETPOST('stcomm', 'alpha'), 'c_stcomm'); - $result=$object->update($object->id, $user); - if ($result < 0) setEventMessages($object->error, $object->errors, 'errors'); - - $action=''; - } -} - -if ($search_status=='') $search_status=1; // always display active thirdparty first - - - -/* - * View - */ - -/* - REM: Rules on permissions to see thirdparties - Internal or External user + No permission to see customers => See nothing - Internal user socid=0 + Permission to see ALL customers => See all thirdparties - Internal user socid=0 + No permission to see ALL customers => See only thirdparties linked to user that are sale representative - External user socid=x + Permission to see ALL customers => Can see only himself - External user socid=x + No permission to see ALL customers => Can see only himself - */ - -$form=new Form($db); -$formother=new FormOther($db); -$companystatic=new Societe($db); -$formcompany=new FormCompany($db); -$prospectstatic=new Client($db); -$prospectstatic->client=2; -$prospectstatic->loadCacheOfProspStatus(); - - -$title=$langs->trans("ListOfThirdParties"); -if ($type == 'c' && (empty($search_type) || ($search_type == '1,3'))) $title=$langs->trans("ListOfCustomers"); -if ($type == 'p' && (empty($search_type) || ($search_type == '2,3'))) $title=$langs->trans("ListOfProspects"); -if ($type == 'f' && (empty($search_type) || ($search_type == '4'))) $title=$langs->trans("ListOfSuppliers"); - -// If both parameters are set, search for everything BETWEEN them -if ($search_level_from != '' && $search_level_to != '') -{ - // Ensure that these parameters are numbers - $search_level_from = (int) $search_level_from; - $search_level_to = (int) $search_level_to; - - // If from is greater than to, reverse orders - if ($search_level_from > $search_level_to) - { - $tmp = $search_level_to; - $search_level_to = $search_level_from; - $search_level_from = $tmp; - } - - // Generate the SQL request - $sortwhere = '(sortorder BETWEEN '.$search_level_from.' AND '.$search_level_to.') AS is_in_range'; -} -// If only "from" parameter is set, search for everything GREATER THAN it -elseif ($search_level_from != '') -{ - // Ensure that this parameter is a number - $search_level_from = (int) $search_level_from; - - // Generate the SQL request - $sortwhere = '(sortorder >= '.$search_level_from.') AS is_in_range'; -} -// If only "to" parameter is set, search for everything LOWER THAN it -elseif ($search_level_to != '') -{ - // Ensure that this parameter is a number - $search_level_to = (int) $search_level_to; - - // Generate the SQL request - $sortwhere = '(sortorder <= '.$search_level_to.') AS is_in_range'; -} -// If no parameters are set, dont search for anything -else -{ - $sortwhere = '0 as is_in_range'; -} - -// Select every potentiels, and note each potentiels which fit in search parameters -dol_syslog('societe/list.php', LOG_DEBUG); -$sql = "SELECT code, label, sortorder, ".$sortwhere; -$sql.= " FROM ".MAIN_DB_PREFIX."c_prospectlevel"; -$sql.= " WHERE active > 0"; -$sql.= " ORDER BY sortorder"; - -$resql = $db->query($sql); -if ($resql) -{ - $tab_level = array(); - $search_levels = array(); - - while ($obj = $db->fetch_object($resql)) - { - // Compute level text - $level=$langs->trans($obj->code); - if ($level == $obj->code) $level=$langs->trans($obj->label); - - // Put it in the array sorted by sortorder - $tab_level[$obj->sortorder] = $level; - - // If this potentiel fit in parameters, add its code to the $search_levels array - if ($obj->is_in_range == 1) - { - $search_levels[] = '"'.preg_replace('[^A-Za-z0-9_-]', '', $obj->code).'"'; - } - } - - // Implode the $search_levels array so that it can be use in a "IN (...)" where clause. - // If no paramters was set, $search_levels will be empty - $search_levels = implode(',', $search_levels); -} -else dol_print_error($db); - -$sql = "SELECT s.rowid, s.nom as name, s.name_alias, s.barcode, s.town, s.zip, s.datec, s.code_client, s.code_fournisseur, s.logo,"; -$sql.= " st.libelle as stcomm, s.fk_stcomm as stcomm_id, s.fk_prospectlevel, s.prefix_comm, s.client, s.fournisseur, s.canvas, s.status as status,"; -$sql.= " s.email, s.phone, s.url, s.siren as idprof1, s.siret as idprof2, s.ape as idprof3, s.idprof4 as idprof4, s.idprof5 as idprof5, s.idprof6 as idprof6, s.tva_intra, s.fk_pays,"; -$sql.= " s.tms as date_update, s.datec as date_creation,"; -$sql.= " s.code_compta,s.code_compta_fournisseur,"; -$sql.= " typent.code as typent_code,"; -$sql.= " state.code_departement as state_code, state.nom as state_name,"; -$sql.= " region.code_region as region_code, region.nom as region_name"; -// We'll need these fields in order to filter by sale (including the case where the user can only see his prospects) -if ($search_sale) $sql .= ", sc.fk_soc, sc.fk_user"; -// We'll need these fields in order to filter by categ -if ($search_categ_cus) $sql .= ", cc.fk_categorie, cc.fk_soc"; -if ($search_categ_sup) $sql .= ", cs.fk_categorie, cs.fk_soc"; -// Add fields from extrafields -foreach ($extrafields->attribute_label as $key => $val) $sql.=($extrafields->attribute_type[$key] != 'separate' ? ",ef.".$key.' as options_'.$key : ''); -// Add fields from hooks -$parameters=array(); -$reshook=$hookmanager->executeHooks('printFieldListSelect', $parameters); // Note that $action and $object may have been modified by hook -$sql.=$hookmanager->resPrint; -$sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; -if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label)) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe_extrafields as ef on (s.rowid = ef.fk_object)"; -$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as country on (country.rowid = s.fk_pays)"; -$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_typent as typent on (typent.id = s.fk_typent)"; -$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_departements as state on (state.rowid = s.fk_departement)"; -$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_regions as region on (region. code_region = state.fk_region)"; -// We'll need this table joined to the select in order to filter by categ -if (! empty($search_categ_cus)) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX."categorie_societe as cc ON s.rowid = cc.fk_soc"; // We'll need this table joined to the select in order to filter by categ -if (! empty($search_categ_sup)) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX."categorie_fournisseur as cs ON s.rowid = cs.fk_soc"; // We'll need this table joined to the select in order to filter by categ -$sql.= " ,".MAIN_DB_PREFIX."c_stcomm as st"; -// We'll need this table joined to the select in order to filter by sale -if ($search_sale || (!$user->rights->societe->client->voir && !$socid)) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; -$sql.= " WHERE s.fk_stcomm = st.id"; -$sql.= " AND s.entity IN (".getEntity('societe').")"; -if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; -if ($socid) $sql.= " AND s.rowid = ".$socid; -if ($search_sale) $sql.= " AND s.rowid = sc.fk_soc"; // Join for the needed table to filter by sale -if (! $user->rights->fournisseur->lire) $sql.=" AND (s.fournisseur <> 1 OR s.client <> 0)"; // client=0, fournisseur=0 must be visible -if ($search_sale) $sql.= " AND sc.fk_user = ".$db->escape($search_sale); -if ($search_categ_cus > 0) $sql.= " AND cc.fk_categorie = ".$db->escape($search_categ_cus); -if ($search_categ_sup > 0) $sql.= " AND cs.fk_categorie = ".$db->escape($search_categ_sup); -if ($search_categ_cus == -2) $sql.= " AND cc.fk_categorie IS NULL"; -if ($search_categ_sup == -2) $sql.= " AND cs.fk_categorie IS NULL"; - -if ($search_all) $sql.= natural_search(array_keys($fieldstosearchall), $search_all); -if (strlen($search_cti)) $sql.= natural_search('s.phone', $search_cti); - -if ($search_id > 0) $sql.= natural_search("s.rowid", $search_id, 1); -if ($search_nom) $sql.= natural_search("s.nom", $search_nom); -if ($search_alias) $sql.= natural_search("s.name_alias", $search_alias); -if ($search_nom_only) $sql.= natural_search("s.nom", $search_nom_only); -if ($search_customer_code) $sql.= natural_search("s.code_client", $search_customer_code); -if ($search_supplier_code) $sql.= natural_search("s.code_fournisseur", $search_supplier_code); -if ($search_account_customer_code) $sql.= natural_search("s.code_compta", $search_account_customer_code); -if ($search_account_supplier_code) $sql.= natural_search("s.code_compta_fournisseur", $search_account_supplier_code); -if ($search_town) $sql.= natural_search("s.town", $search_town); -if (strlen($search_zip)) $sql.= natural_search("s.zip", $search_zip); -if ($search_state) $sql.= natural_search("state.nom", $search_state); -if ($search_region) $sql.= natural_search("region.nom", $search_region); -if ($search_country) $sql .= " AND s.fk_pays IN (".$search_country.')'; -if ($search_email) $sql.= natural_search("s.email", $search_email); -if (strlen($search_phone)) $sql.= natural_search("s.phone", $search_phone); -if ($search_url) $sql.= natural_search("s.url", $search_url); -if (strlen($search_idprof1)) $sql.= natural_search("s.siren", $search_idprof1); -if (strlen($search_idprof2)) $sql.= natural_search("s.siret", $search_idprof2); -if (strlen($search_idprof3)) $sql.= natural_search("s.ape", $search_idprof3); -if (strlen($search_idprof4)) $sql.= natural_search("s.idprof4", $search_idprof4); -if (strlen($search_idprof5)) $sql.= natural_search("s.idprof5", $search_idprof5); -if (strlen($search_idprof6)) $sql.= natural_search("s.idprof6", $search_idprof6); -if (strlen($search_vat)) $sql.= natural_search("s.tva_intra", $search_vat); -// Filter on type of thirdparty -if ($search_type > 0 && in_array($search_type, array('1,3','2,3'))) $sql .= " AND s.client IN (".$db->escape($search_type).")"; -if ($search_type > 0 && in_array($search_type, array('4'))) $sql .= " AND s.fournisseur = 1"; -if ($search_type == '0') $sql .= " AND s.client = 0 AND s.fournisseur = 0"; -if ($search_status!='' && $search_status >= 0) $sql .= " AND s.status = ".$db->escape($search_status); -if (!empty($conf->barcode->enabled) && $search_barcode) $sql.= natural_search("s.barcode", $search_barcode); -if ($search_type_thirdparty) $sql .= " AND s.fk_typent IN (".$search_type_thirdparty.')'; -if ($search_levels) $sql .= " AND s.fk_prospectlevel IN (".$search_levels.')'; -if ($search_stcomm != '' && $search_stcomm != -2) $sql.= natural_search("s.fk_stcomm", $search_stcomm, 2); -if ($search_import_key) $sql.= natural_search("s.import_key", $search_import_key); -// Add where from extra fields -include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_sql.tpl.php'; - -// Add where from hooks -$parameters=array(); -$reshook=$hookmanager->executeHooks('printFieldListWhere', $parameters); // Note that $action and $object may have been modified by hook -$sql.=$hookmanager->resPrint; - -$sql.= $db->order($sortfield, $sortorder); - -// Count total nb of records -$nbtotalofrecords = ''; -if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) -{ - $result = $db->query($sql); - $nbtotalofrecords = $db->num_rows($result); -} - -$sql.= $db->plimit($limit+1, $offset); - -$resql = $db->query($sql); -if (! $resql) -{ - dol_print_error($db); - exit; -} - -$num = $db->num_rows($resql); - -$arrayofselected=is_array($toselect)?$toselect:array(); - -if ($num == 1 && ! empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && ($search_all != '' || $search_cti != '') && $action != 'list') -{ - $obj = $db->fetch_object($resql); - $id = $obj->rowid; - header("Location: ".DOL_URL_ROOT.'/societe/card.php?socid='.$id); - exit; -} - -$help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; -llxHeader('', $langs->trans("ThirdParty"), $help_url); - -$param=''; -if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage; -if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit; -if ($search_all != '') $param = "&sall=".urlencode($search_all); -if ($sall != '') $param .= "&sall=".urlencode($sall); -if ($search_categ_cus > 0) $param.='&search_categ_cus='.urlencode($search_categ_cus); -if ($search_categ_sup > 0) $param.='&search_categ_sup='.urlencode($search_categ_sup); -if ($search_sale > 0) $param.='&search_sale='.urlencode($search_sale); -if ($search_id > 0) $param.= "&search_id=".urlencode($search_id); -if ($search_nom != '') $param.= "&search_nom=".urlencode($search_nom); -if ($search_alias != '') $param.= "&search_alias=".urlencode($search_alias); -if ($search_town != '') $param.= "&search_town=".urlencode($search_town); -if ($search_zip != '') $param.= "&search_zip=".urlencode($search_zip); -if ($search_phone != '') $param.= "&search_phone=".urlencode($search_phone); -if ($search_email != '') $param.= "&search_email=".urlencode($search_email); -if ($search_url != '') $param.= "&search_url=".urlencode($search_url); -if ($search_state != '') $param.= "&search_state=".urlencode($search_state); -if ($search_country != '') $param.= "&search_country=".urlencode($search_country); -if ($search_customer_code != '') $param.= "&search_customer_code=".urlencode($search_customer_code); -if ($search_supplier_code != '') $param.= "&search_supplier_code=".urlencode($search_supplier_code); -if ($search_account_customer_code != '') $param.= "&search_account_customer_code=".urlencode($search_account_customer_code); -if ($search_account_supplier_code != '') $param.= "&search_account_supplier_code=".urlencode($search_account_supplier_code); -if ($search_barcode != '') $param.= "&search_barcode=".urlencode($search_barcode); -if ($search_idprof1 != '') $param.= '&search_idprof1='.urlencode($search_idprof1); -if ($search_idprof2 != '') $param.= '&search_idprof2='.urlencode($search_idprof2); -if ($search_idprof3 != '') $param.= '&search_idprof3='.urlencode($search_idprof3); -if ($search_idprof4 != '') $param.= '&search_idprof4='.urlencode($search_idprof4); -if ($search_idprof5 != '') $param.= '&search_idprof5='.urlencode($search_idprof5); -if ($search_idprof6 != '') $param.= '&search_idprof6='.urlencode($search_idprof6); -if ($search_vat != '') $param.= '&search_vat='.urlencode($search_vat); -if ($search_type_thirdparty != '') $param.='&search_type_thirdparty='.urlencode($search_type_thirdparty); -if ($search_type != '') $param.='&search_type='.urlencode($search_type); -if ($optioncss != '') $param.='&optioncss='.urlencode($optioncss); -if ($search_status != '') $param.='&search_status='.urlencode($search_status); -if ($search_stcomm != '') $param.='&search_stcomm='.urlencode($search_stcomm); -if ($search_level_from != '') $param.='&search_level_from='.urlencode($search_level_from); -if ($search_level_to != '') $param.='&search_level_to='.urlencode($search_level_to); -if ($search_import_key != '') $param.='&search_import_key='.urlencode($search_import_key); -if ($type != '') $param.='&type='.urlencode($type); -// Add $param from extra fields -include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php'; - -// Show delete result message -if (GETPOST('delsoc')) -{ - setEventMessages($langs->trans("CompanyDeleted", GETPOST('delsoc')), null, 'mesgs'); -} - -// List of mass actions available -$arrayofmassactions = array( - 'presend'=>$langs->trans("SendByMail"), -// 'builddoc'=>$langs->trans("PDFMerge"), -); -//if($user->rights->societe->creer) $arrayofmassactions['createbills']=$langs->trans("CreateInvoiceForThisCustomer"); -if ($user->rights->societe->supprimer) $arrayofmassactions['predelete']=$langs->trans("Delete"); -if (GETPOST('nomassaction', 'int') || in_array($massaction, array('presend','predelete'))) $arrayofmassactions=array(); -$massactionbutton=$form->selectMassAction('', $arrayofmassactions); - -print '
'; -if ($optioncss != '') print ''; -print ''; -print ''; -print ''; -print ''; -print ''; - -print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'title_companies', 0, '', '', $limit); - -$langs->load("other"); -$textprofid=array(); -foreach(array(1,2,3,4,5,6) as $key) -{ - $label=$langs->transnoentities("ProfId".$key.$mysoc->country_code); - $textprofid[$key]=''; - if ($label != "ProfId".$key.$mysoc->country_code) - { // Get only text between () - if (preg_match('/\((.*)\)/i', $label, $reg)) $label=$reg[1]; - $textprofid[$key]=$langs->trans("ProfIdShortDesc", $key, $mysoc->country_code, $label); - } -} - -$topicmail="Information"; -$modelmail="thirdparty"; -$objecttmp=new Societe($db); -$trackid='thi'.$object->id; -include DOL_DOCUMENT_ROOT.'/core/tpl/massactions_pre.tpl.php'; - -if ($search_all) -{ - foreach($fieldstosearchall as $key => $val) $fieldstosearchall[$key]=$langs->trans($val); - print $langs->trans("FilterOnInto", $search_all) . join(', ', $fieldstosearchall); -} - -// Filter on categories -$moreforfilter=''; -if (empty($type) || $type == 'c' || $type == 'p') -{ - if (! empty($conf->categorie->enabled)) - { - require_once DOL_DOCUMENT_ROOT . '/categories/class/categorie.class.php'; - $moreforfilter.='
'; - $moreforfilter.=$langs->trans('CustomersProspectsCategoriesShort').': '; - $moreforfilter.=$formother->select_categories('customer', $search_categ_cus, 'search_categ_cus', 1, $langs->trans('CustomersProspectsCategoriesShort')); - $moreforfilter.='
'; - } -} -if (empty($type) || $type == 'f') -{ - if (! empty($conf->categorie->enabled)) - { - require_once DOL_DOCUMENT_ROOT . '/categories/class/categorie.class.php'; - $moreforfilter.='
'; - $moreforfilter.=$langs->trans('SuppliersCategoriesShort').': '; - $moreforfilter.=$formother->select_categories('supplier', $search_categ_sup, 'search_categ_sup', 1); - $moreforfilter.='
'; - } -} - -// If the user can view prospects other than his' -if ($user->rights->societe->client->voir || $socid) -{ - $moreforfilter.='
'; - $moreforfilter.=$langs->trans('SalesRepresentatives'). ': '; - $moreforfilter.=$formother->select_salesrepresentatives($search_sale, 'search_sale', $user, 0, 1, 'maxwidth300'); - $moreforfilter.='
'; -} -if ($moreforfilter) -{ - print '
'; - print $moreforfilter; - $parameters=array('type'=>$type); - $reshook=$hookmanager->executeHooks('printFieldPreListTitle', $parameters); // Note that $action and $object may have been modified by hook - print $hookmanager->resPrint; - print '
'; -} - -$varpage=empty($contextpage)?$_SERVER["PHP_SELF"]:$contextpage; -$selectedfields=$form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields -if ($massactionbutton) $selectedfields.=$form->showCheckAddButtons('checkforselect', 1); - -if (empty($arrayfields['customerorsupplier']['checked'])) print ''; - -print '
'; -print ''."\n"; - -// Fields title search -print ''; -if (! empty($arrayfields['s.rowid']['checked'])) -{ - print ''; -} -if (! empty($arrayfields['s.nom']['checked'])) -{ - print ''; -} -if (! empty($arrayfields['s.name_alias']['checked'])) -{ - print ''; -} -// Barcode -if (! empty($arrayfields['s.barcode']['checked'])) -{ - print ''; -} -// Customer code -if (! empty($arrayfields['s.code_client']['checked'])) -{ - print ''; -} -// Supplier code -if (! empty($arrayfields['s.code_fournisseur']['checked'])) -{ - print ''; -} -// Account Customer code -if (! empty($arrayfields['s.code_compta']['checked'])) -{ - print ''; -} -// Account Supplier code -if (! empty($arrayfields['s.code_compta_fournisseur']['checked'])) -{ - print ''; -} -// Town -if (! empty($arrayfields['s.town']['checked'])) -{ - print ''; -} -// Zip -if (! empty($arrayfields['s.zip']['checked'])) -{ - print ''; -} -// State -if (! empty($arrayfields['state.nom']['checked'])) -{ - print ''; -} -// Region -if (! empty($arrayfields['region.nom']['checked'])) -{ - print ''; -} -// Country -if (! empty($arrayfields['country.code_iso']['checked'])) -{ - print ''; -} -// Company type -if (! empty($arrayfields['typent.code']['checked'])) -{ - print ''; -} -if (! empty($arrayfields['s.email']['checked'])) -{ - // Email - print ''; -} -if (! empty($arrayfields['s.phone']['checked'])) -{ - // Phone - print ''; -} -if (! empty($arrayfields['s.url']['checked'])) -{ - // Url - print ''; -} -if (! empty($arrayfields['s.siren']['checked'])) -{ - // IdProf1 - print ''; -} -if (! empty($arrayfields['s.siret']['checked'])) -{ - // IdProf2 - print ''; -} -if (! empty($arrayfields['s.ape']['checked'])) -{ - // IdProf3 - print ''; -} -if (! empty($arrayfields['s.idprof4']['checked'])) -{ - // IdProf4 - print ''; -} -if (! empty($arrayfields['s.idprof5']['checked'])) -{ - // IdProf5 - print ''; -} -if (! empty($arrayfields['s.idprof6']['checked'])) -{ - // IdProf6 - print ''; -} -if (! empty($arrayfields['s.tva_intra']['checked'])) -{ - // Vat number - print ''; -} - -// Type (customer/prospect/supplier) -if (! empty($arrayfields['customerorsupplier']['checked'])) -{ - print ''; -} -if (! empty($arrayfields['s.fk_prospectlevel']['checked'])) -{ - // Prospect level - print ''; -} - -if (! empty($arrayfields['s.fk_stcomm']['checked'])) -{ - // Prospect status - print ''; -} -// Extra fields -include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_input.tpl.php'; - -// Fields from hook -$parameters=array('arrayfields'=>$arrayfields); -$reshook=$hookmanager->executeHooks('printFieldListOption', $parameters); // Note that $action and $object may have been modified by hook -print $hookmanager->resPrint; -// Date creation -if (! empty($arrayfields['s.datec']['checked'])) -{ - print ''; -} -// Date modification -if (! empty($arrayfields['s.tms']['checked'])) -{ - print ''; -} -// Status -if (! empty($arrayfields['s.status']['checked'])) -{ - print ''; -} -if (! empty($arrayfields['s.import_key']['checked'])) -{ - print ''; -} -// Action column -print ''; - -print "\n"; - -print ''; -if (! empty($arrayfields['s.rowid']['checked'])) print_liste_field_titre($arrayfields['s.rowid']['label'], $_SERVER["PHP_SELF"], "s.rowid", "", $param, "", $sortfield, $sortorder); -if (! empty($arrayfields['s.nom']['checked'])) print_liste_field_titre($arrayfields['s.nom']['label'], $_SERVER["PHP_SELF"], "s.nom", "", $param, "", $sortfield, $sortorder); -if (! empty($arrayfields['s.name_alias']['checked'])) print_liste_field_titre($arrayfields['s.name_alias']['label'], $_SERVER["PHP_SELF"], "s.name_alias", "", $param, "", $sortfield, $sortorder); -if (! empty($arrayfields['s.barcode']['checked'])) print_liste_field_titre($arrayfields['s.barcode']['label'], $_SERVER["PHP_SELF"], "s.barcode", $param, '', '', $sortfield, $sortorder); -if (! empty($arrayfields['s.code_client']['checked'])) print_liste_field_titre($arrayfields['s.code_client']['label'], $_SERVER["PHP_SELF"], "s.code_client", "", $param, '', $sortfield, $sortorder); -if (! empty($arrayfields['s.code_fournisseur']['checked'])) print_liste_field_titre($arrayfields['s.code_fournisseur']['label'], $_SERVER["PHP_SELF"], "s.code_fournisseur", "", $param, '', $sortfield, $sortorder); -if (! empty($arrayfields['s.code_compta']['checked'])) print_liste_field_titre($arrayfields['s.code_compta']['label'], $_SERVER["PHP_SELF"], "s.code_compta", "", $param, '', $sortfield, $sortorder); -if (! empty($arrayfields['s.code_compta_fournisseur']['checked'])) print_liste_field_titre($arrayfields['s.code_compta_fournisseur']['label'], $_SERVER["PHP_SELF"], "s.code_compta_fournisseur", "", $param, '', $sortfield, $sortorder); -if (! empty($arrayfields['s.town']['checked'])) print_liste_field_titre($arrayfields['s.town']['label'], $_SERVER["PHP_SELF"], "s.town", "", $param, '', $sortfield, $sortorder); -if (! empty($arrayfields['s.zip']['checked'])) print_liste_field_titre($arrayfields['s.zip']['label'], $_SERVER["PHP_SELF"], "s.zip", "", $param, '', $sortfield, $sortorder); -if (! empty($arrayfields['state.nom']['checked'])) print_liste_field_titre($arrayfields['state.nom']['label'], $_SERVER["PHP_SELF"], "state.nom", "", $param, '', $sortfield, $sortorder); -if (! empty($arrayfields['region.nom']['checked'])) print_liste_field_titre($arrayfields['region.nom']['label'], $_SERVER["PHP_SELF"], "region.nom", "", $param, '', $sortfield, $sortorder); -if (! empty($arrayfields['country.code_iso']['checked'])) print_liste_field_titre($arrayfields['country.code_iso']['label'], $_SERVER["PHP_SELF"], "country.code_iso", "", $param, 'align="center"', $sortfield, $sortorder); -if (! empty($arrayfields['typent.code']['checked'])) print_liste_field_titre($arrayfields['typent.code']['label'], $_SERVER["PHP_SELF"], "typent.code", "", $param, 'align="center"', $sortfield, $sortorder); -if (! empty($arrayfields['s.email']['checked'])) print_liste_field_titre($arrayfields['s.email']['label'], $_SERVER["PHP_SELF"], "s.email", "", $param, '', $sortfield, $sortorder); -if (! empty($arrayfields['s.phone']['checked'])) print_liste_field_titre($arrayfields['s.phone']['label'], $_SERVER["PHP_SELF"], "s.phone", "", $param, '', $sortfield, $sortorder); -if (! empty($arrayfields['s.url']['checked'])) print_liste_field_titre($arrayfields['s.url']['label'], $_SERVER["PHP_SELF"], "s.url", "", $param, '', $sortfield, $sortorder); -if (! empty($arrayfields['s.siren']['checked'])) print_liste_field_titre($form->textwithpicto($langs->trans("ProfId1Short"), $textprofid[1], 1, 0), $_SERVER["PHP_SELF"], "s.siren", "", $param, 'class="nowrap"', $sortfield, $sortorder); -if (! empty($arrayfields['s.siret']['checked'])) print_liste_field_titre($form->textwithpicto($langs->trans("ProfId2Short"), $textprofid[2], 1, 0), $_SERVER["PHP_SELF"], "s.siret", "", $param, 'class="nowrap"', $sortfield, $sortorder); -if (! empty($arrayfields['s.ape']['checked'])) print_liste_field_titre($form->textwithpicto($langs->trans("ProfId3Short"), $textprofid[3], 1, 0), $_SERVER["PHP_SELF"], "s.ape", "", $param, 'class="nowrap"', $sortfield, $sortorder); -if (! empty($arrayfields['s.idprof4']['checked'])) print_liste_field_titre($form->textwithpicto($langs->trans("ProfId4Short"), $textprofid[4], 1, 0), $_SERVER["PHP_SELF"], "s.idprof4", "", $param, 'class="nowrap"', $sortfield, $sortorder); -if (! empty($arrayfields['s.idprof5']['checked'])) print_liste_field_titre($form->textwithpicto($langs->trans("ProfId5Short"), $textprofid[4], 1, 0), $_SERVER["PHP_SELF"], "s.idprof5", "", $param, 'class="nowrap"', $sortfield, $sortorder); -if (! empty($arrayfields['s.idprof6']['checked'])) print_liste_field_titre($form->textwithpicto($langs->trans("ProfId6Short"), $textprofid[4], 1, 0), $_SERVER["PHP_SELF"], "s.idprof6", "", $param, 'class="nowrap"', $sortfield, $sortorder); -if (! empty($arrayfields['s.tva_intra']['checked'])) print_liste_field_titre($arrayfields['s.tva_intra']['label'], $_SERVER["PHP_SELF"], "s.tva_intra", "", $param, 'class="nowrap"', $sortfield, $sortorder); -if (! empty($arrayfields['customerorsupplier']['checked'])) print_liste_field_titre(''); // type of customer -if (! empty($arrayfields['s.fk_prospectlevel']['checked'])) print_liste_field_titre($arrayfields['s.fk_prospectlevel']['label'], $_SERVER["PHP_SELF"], "s.fk_prospectlevel", "", $param, 'align="center"', $sortfield, $sortorder); -if (! empty($arrayfields['s.fk_stcomm']['checked'])) print_liste_field_titre($arrayfields['s.fk_stcomm']['label'], $_SERVER["PHP_SELF"], "s.fk_stcomm", "", $param, 'align="center"', $sortfield, $sortorder); -// Extra fields -include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_title.tpl.php'; -// Hook fields -$parameters=array('arrayfields'=>$arrayfields,'param'=>$param,'sortfield'=>$sortfield,'sortorder'=>$sortorder); -$reshook=$hookmanager->executeHooks('printFieldListTitle', $parameters); // Note that $action and $object may have been modified by hook -print $hookmanager->resPrint; -if (! empty($arrayfields['s.datec']['checked'])) print_liste_field_titre($arrayfields['s.datec']['label'], $_SERVER["PHP_SELF"], "s.datec", "", $param, 'align="center" class="nowrap"', $sortfield, $sortorder); -if (! empty($arrayfields['s.tms']['checked'])) print_liste_field_titre($arrayfields['s.tms']['label'], $_SERVER["PHP_SELF"], "s.tms", "", $param, 'align="center" class="nowrap"', $sortfield, $sortorder); -if (! empty($arrayfields['s.status']['checked'])) print_liste_field_titre($arrayfields['s.status']['label'], $_SERVER["PHP_SELF"], "s.status", "", $param, 'align="center"', $sortfield, $sortorder); -if (! empty($arrayfields['s.import_key']['checked'])) print_liste_field_titre($arrayfields['s.import_key']['label'], $_SERVER["PHP_SELF"], "s.import_key", "", $param, 'align="center"', $sortfield, $sortorder); -print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', 'align="center"', $sortfield, $sortorder, 'maxwidthsearch '); -print "\n"; - - -$i = 0; -$totalarray=array(); -while ($i < min($num, $limit)) -{ - $obj = $db->fetch_object($resql); - - $companystatic->id=$obj->rowid; - $companystatic->name=$obj->name; - $companystatic->name_alias=$obj->name_alias; - $companystatic->logo=$obj->logo; - $companystatic->canvas=$obj->canvas; - $companystatic->client=$obj->client; - $companystatic->status=$obj->status; - $companystatic->email=$obj->email; - $companystatic->fournisseur=$obj->fournisseur; - $companystatic->code_client=$obj->code_client; - $companystatic->code_fournisseur=$obj->code_fournisseur; - - $companystatic->code_compta_client=$obj->code_compta; - $companystatic->code_compta_fournisseur=$obj->code_compta_fournisseur; - - $companystatic->fk_prospectlevel=$obj->fk_prospectlevel; - - print ''; - if (! empty($arrayfields['s.rowid']['checked'])) - { - print '\n"; - if (! $i) $totalarray['nbfield']++; - } - if (! empty($arrayfields['s.nom']['checked'])) - { - $savalias = $obj->name_alias; - if (! empty($arrayfields['s.name_alias']['checked'])) $companystatic->name_alias=''; - print '\n"; - if (! $i) $totalarray['nbfield']++; - } - if (! empty($arrayfields['s.name_alias']['checked'])) - { - print '\n"; - if (! $i) $totalarray['nbfield']++; - } - // Barcode - if (! empty($arrayfields['s.barcode']['checked'])) - { - print ''; - if (! $i) $totalarray['nbfield']++; - } - // Customer code - if (! empty($arrayfields['s.code_client']['checked'])) - { - print ''; - if (! $i) $totalarray['nbfield']++; - } - // Supplier code - if (! empty($arrayfields['s.code_fournisseur']['checked'])) - { - print ''; - if (! $i) $totalarray['nbfield']++; - } - // Account customer code - if (! empty($arrayfields['s.code_compta']['checked'])) - { - print ''; - if (! $i) $totalarray['nbfield']++; - } - // Account supplier code - if (! empty($arrayfields['s.code_compta_fournisseur']['checked'])) - { - print ''; - if (! $i) $totalarray['nbfield']++; - } - // Town - if (! empty($arrayfields['s.town']['checked'])) - { - print "\n"; - if (! $i) $totalarray['nbfield']++; - } - // Zip - if (! empty($arrayfields['s.zip']['checked'])) - { - print "\n"; - if (! $i) $totalarray['nbfield']++; - } - // State - if (! empty($arrayfields['state.nom']['checked'])) - { - print "\n"; - if (! $i) $totalarray['nbfield']++; - } - // Region - if (! empty($arrayfields['region.nom']['checked'])) - { - print "\n"; - if (! $i) $totalarray['nbfield']++; - } - // Country - if (! empty($arrayfields['country.code_iso']['checked'])) - { - print ''; - if (! $i) $totalarray['nbfield']++; - } - // Type ent - if (! empty($arrayfields['typent.code']['checked'])) - { - print ''; - if (! $i) $totalarray['nbfield']++; - } - if (! empty($arrayfields['s.email']['checked'])) - { - print "\n"; - if (! $i) $totalarray['nbfield']++; - } - if (! empty($arrayfields['s.phone']['checked'])) - { - print "\n"; - if (! $i) $totalarray['nbfield']++; - } - if (! empty($arrayfields['s.url']['checked'])) - { - print "\n"; - if (! $i) $totalarray['nbfield']++; - } - if (! empty($arrayfields['s.siren']['checked'])) - { - print "\n"; - if (! $i) $totalarray['nbfield']++; - } - if (! empty($arrayfields['s.siret']['checked'])) - { - print "\n"; - if (! $i) $totalarray['nbfield']++; - } - if (! empty($arrayfields['s.ape']['checked'])) - { - print "\n"; - if (! $i) $totalarray['nbfield']++; - } - if (! empty($arrayfields['s.idprof4']['checked'])) - { - print "\n"; - if (! $i) $totalarray['nbfield']++; - } - if (! empty($arrayfields['s.idprof5']['checked'])) - { - print "\n"; - if (! $i) $totalarray['nbfield']++; - } - if (! empty($arrayfields['s.idprof6']['checked'])) - { - print "\n"; - if (! $i) $totalarray['nbfield']++; - } - if (! empty($arrayfields['s.tva_intra']['checked'])) - { - print "\n"; - if (! $i) $totalarray['nbfield']++; - } - // Type - if (! empty($arrayfields['customerorsupplier']['checked'])) - { - print ''; - if (! $i) $totalarray['nbfield']++; - } - - if (! empty($arrayfields['s.fk_prospectlevel']['checked'])) - { - // Prospect level - print '"; - if (! $i) $totalarray['nbfield']++; - } - - if (! empty($arrayfields['s.fk_stcomm']['checked'])) - { - // Prospect status - print ''; - if (! $i) $totalarray['nbfield']++; - } - // Extra fields - include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_print_fields.tpl.php'; - // Fields from hook - $parameters=array('arrayfields'=>$arrayfields, 'obj'=>$obj); - $reshook=$hookmanager->executeHooks('printFieldListValue', $parameters); // Note that $action and $object may have been modified by hook - print $hookmanager->resPrint; - // Date creation - if (! empty($arrayfields['s.datec']['checked'])) - { - print ''; - if (! $i) $totalarray['nbfield']++; - } - // Date modification - if (! empty($arrayfields['s.tms']['checked'])) - { - print ''; - if (! $i) $totalarray['nbfield']++; - } - // Status - if (! empty($arrayfields['s.status']['checked'])) - { - print ''; - if (! $i) $totalarray['nbfield']++; - } - if (! empty($arrayfields['s.import_key']['checked'])) - { - print '\n"; - if (! $i) $totalarray['nbfield']++; - } - - // Action column - print ''; - if (! $i) $totalarray['nbfield']++; - - print ''."\n"; - $i++; -} - -$db->free($resql); - -$parameters=array('arrayfields'=>$arrayfields, 'sql'=>$sql); -$reshook=$hookmanager->executeHooks('printFieldListFooter', $parameters); // Note that $action and $object may have been modified by hook -print $hookmanager->resPrint; - -print "
'; - print ''; - print ''; - if (! empty($search_nom_only) && empty($search_nom)) $search_nom=$search_nom_only; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print $form->select_country($search_country, 'search_country', '', 0, 'minwidth100imp maxwidth100'); - print ''; - print $form->selectarray("search_type_thirdparty", $formcompany->typent_array(0), $search_type_thirdparty, 0, 0, 0, '', 0, 0, 0, (empty($conf->global->SOCIETE_SORT_ON_TYPEENT)?'ASC':$conf->global->SOCIETE_SORT_ON_TYPEENT)); - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - if ($type != '') print ''; - print ''; - $options_from = ''; // Generate in $options_from the list of each option sorted - foreach ($tab_level as $tab_level_sortorder => $tab_level_label) - { - $options_from .= ''; - } - array_reverse($tab_level, true); // Reverse the list - $options_to = ''; // Generate in $options_to the list of each option sorted in the reversed order - foreach ($tab_level as $tab_level_sortorder => $tab_level_label) - { - $options_to .= ''; - } - - // Print these two select - print $langs->trans("From").' '; - print ' '; - print $langs->trans("to").' '; - - print ''; - $arraystcomm=array(); - foreach($prospectstatic->cacheprospectstatus as $key => $val) - { - $arraystcomm[$val['id']]=($langs->trans("StatusProspect".$val['id']) != "StatusProspect".$val['id'] ? $langs->trans("StatusProspect".$val['id']) : $val['label']); - } - print $form->selectarray('search_stcomm', $arraystcomm, $search_stcomm, -2); - print ''; - print ''; - print ''; - print $form->selectarray('search_status', array('0'=>$langs->trans('ActivityCeased'),'1'=>$langs->trans('InActivity')), $search_status, 1); - print ''; - print ''; - print ''; -$searchpicto=$form->showFilterButtons(); -print $searchpicto; -print '
'; - print $obj->rowid; - print "'; - print $obj->name; - print "'; - print $companystatic->name_alias; - print "'.$obj->barcode.''.$obj->code_client.''.$obj->code_fournisseur.''.$obj->code_compta.''.$obj->code_compta_fournisseur.'".$obj->town."".$obj->zip."".$obj->state_name."".$obj->region_name."'; - $tmparray=getCountry($obj->fk_pays, 'all'); - print $tmparray['label']; - print ''; - if (! is_array($typenArray) || count($typenArray)==0) $typenArray = $formcompany->typent_array(1); - print $typenArray[$obj->typent_code]; - print '".$obj->email."".$obj->phone."".$obj->url."".$obj->idprof1."".$obj->idprof2."".$obj->idprof3."".$obj->idprof4."".$obj->idprof5."".$obj->idprof6."".$obj->tva_intra."'; - $s=''; - if (($obj->client==1 || $obj->client==3) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) - { - $companystatic->name=$langs->trans("Customer"); - $companystatic->name_alias=''; - $s.=$companystatic->getNomUrl(0, 'customer', 0, 1); - } - if (($obj->client==2 || $obj->client==3) && empty($conf->global->SOCIETE_DISABLE_PROSPECTS)) - { - if ($s) $s.=" / "; - $companystatic->name=$langs->trans("Prospect"); - $companystatic->name_alias=''; - $s.=$companystatic->getNomUrl(0, 'prospect', 0, 1); - } - if (! empty($conf->fournisseur->enabled) && $obj->fournisseur) - { - if ($s) $s.=" / "; - $companystatic->name=$langs->trans("Supplier"); - $companystatic->name_alias=''; - $s.=$companystatic->getNomUrl(0, 'supplier', 0, 1); - } - print $s; - print ''; - print $companystatic->getLibProspLevel(); - print "
'; - print '
'.$companystatic->LibProspCommStatut($obj->stcomm_id, 2, $prospectstatic->cacheprospectstatus[$obj->stcomm_id]['label']); - print '
-
'; - foreach($prospectstatic->cacheprospectstatus as $key => $val) - { - $titlealt='default'; - if (! empty($val['code']) && ! in_array($val['code'], array('ST_NO', 'ST_NEVER', 'ST_TODO', 'ST_PEND', 'ST_DONE'))) $titlealt=$val['label']; - if ($obj->stcomm_id != $val['id']) print ''.img_action($titlealt, $val['code']).''; - } - print '
'; - print dol_print_date($db->jdate($obj->date_creation), 'dayhour', 'tzuser'); - print ''; - print dol_print_date($db->jdate($obj->date_update), 'dayhour', 'tzuser'); - print ''.$companystatic->getLibStatut(3).''; - print $obj->import_key; - print "'; - if ($massactionbutton || $massaction) // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined - { - $selected=0; - if (in_array($obj->rowid, $arrayofselected)) $selected=1; - print ''; - } - print '
"; -print "
"; - -print '
'; - -llxFooter(); -$db->close(); diff --git a/htdocs/takepos/takepos.php b/htdocs/takepos/takepos.php index ed31674cf64..8e48a606483 100644 --- a/htdocs/takepos/takepos.php +++ b/htdocs/takepos/takepos.php @@ -278,7 +278,7 @@ function deleteline() { } function Customer() { - $.colorbox({href:"customers.php?contextpage=poslist&nomassaction=1&place="+place, width:"90%", height:"80%", transition:"none", iframe:"true", title:"trans("Customer");?>"}); + $.colorbox({href:"../societe/list.php?contextpage=poslist&nomassaction=1&place="+place, width:"90%", height:"80%", transition:"none", iframe:"true", title:"trans("Customer");?>"}); } function CloseBill() { From eef95a8a783cf615cadf19bcb2a762ec1a2cf83b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Mar 2019 13:17:51 +0100 Subject: [PATCH 6/6] Fix syntax error --- htdocs/societe/list.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/societe/list.php b/htdocs/societe/list.php index ad16c9adb25..d13c7c52254 100644 --- a/htdocs/societe/list.php +++ b/htdocs/societe/list.php @@ -228,7 +228,7 @@ if ($action=="change") $idcustomer = GETPOST('idcustomer', 'int'); $place = (GETPOST('place', 'int') > 0 ? GETPOST('place', 'int') : 0); // $place is id of table for Ba or Restaurant $posnb = (GETPOST('posnb', 'int') > 0 ? GETPOST('posnb', 'int') : 0); // $posnb is id of POS - + $sql="UPDATE ".MAIN_DB_PREFIX."facture set fk_soc=".$idcustomer." where ref='(PROV-POS-".$place.")'"; $resql = $db->query($sql); ?> @@ -569,7 +569,7 @@ if (GETPOST('nomassaction', 'int') || in_array($massaction, array('presend','pre $massactionbutton=$form->selectMassAction('', $arrayofmassactions); $newcardbutton=''; -if ($user->rights->societe->creer && $contextpage != 'postlist') +if ($user->rights->societe->creer && $contextpage != 'poslist') { $typefilter=''; $label='MenuNewThirdParty'; @@ -1002,7 +1002,7 @@ while ($i < min($num, $limit)) print ''; + print ' onclick="location.href=\'list.php?action=change&contextpage=poslist&idcustomer='.$obj->rowid.'&place='.$place.'\'"'; } print '>'; if (! empty($arrayfields['s.rowid']['checked']))