From 86e546519793e40ad51eaa9cb0828d69bdd1ff16 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 28 Sep 2019 10:55:09 +0200 Subject: [PATCH] Standardize extrafields code --- htdocs/adherents/cartes/carte.php | 2 +- htdocs/adherents/list.php | 3 ++- htdocs/adherents/subscription/list.php | 3 ++- htdocs/adherents/type.php | 2 +- htdocs/admin/emailcollector_card.php | 4 +++- htdocs/admin/emailcollector_list.php | 4 +++- htdocs/admin/mails_senderprofile_list.php | 4 +++- htdocs/asset/card.php | 4 +++- htdocs/asset/document.php | 3 ++- htdocs/asset/list.php | 4 +++- htdocs/asset/note.php | 3 ++- htdocs/asset/type.php | 2 +- htdocs/bom/bom_document.php | 2 +- htdocs/bom/bom_list.php | 4 +++- htdocs/bom/bom_note.php | 3 ++- htdocs/bom/class/bom.class.php | 2 +- htdocs/comm/action/list.php | 4 +++- htdocs/comm/mailing/list.php | 3 ++- htdocs/comm/propal/list.php | 3 ++- htdocs/commande/class/commande.class.php | 2 +- htdocs/contrat/class/contrat.class.php | 2 +- htdocs/cron/list.php | 3 ++- htdocs/emailcollector/class/emailcollector.class.php | 2 +- .../emailcollector/class/emailcollectoraction.class.php | 2 +- .../emailcollector/class/emailcollectorfilter.class.php | 2 +- htdocs/modulebuilder/template/class/myobject.class.php | 2 +- htdocs/modulebuilder/template/myobject_list.php | 8 +++++++- htdocs/ticket/class/ticket.class.php | 2 +- 28 files changed, 56 insertions(+), 28 deletions(-) diff --git a/htdocs/adherents/cartes/carte.php b/htdocs/adherents/cartes/carte.php index dc02e48cbab..335b43bd041 100644 --- a/htdocs/adherents/cartes/carte.php +++ b/htdocs/adherents/cartes/carte.php @@ -48,7 +48,7 @@ $object=new Adherent($db); $extrafields = new ExtraFields($db); // Fetch optionals attributes and labels -$extralabels = $extrafields->fetch_name_optionals_label('adherent'); +$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); /* diff --git a/htdocs/adherents/list.php b/htdocs/adherents/list.php index f78059c2969..e85b5143257 100644 --- a/htdocs/adherents/list.php +++ b/htdocs/adherents/list.php @@ -88,7 +88,8 @@ $hookmanager->initHooks(array('memberlist')); $extrafields = new ExtraFields($db); // fetch optionals attributes and labels -$extralabels = $extrafields->fetch_name_optionals_label('adherent'); +$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); + $search_array_options=$extrafields->getOptionalsFromPost($object->table_element, '', 'search_'); // List of fields to search into when doing a "search in all" diff --git a/htdocs/adherents/subscription/list.php b/htdocs/adherents/subscription/list.php index 026ac9b20bf..48d1ffde363 100644 --- a/htdocs/adherents/subscription/list.php +++ b/htdocs/adherents/subscription/list.php @@ -68,7 +68,8 @@ $hookmanager->initHooks(array('subscriptionlist')); $extrafields = new ExtraFields($db); // fetch optionals attributes and labels -$extralabels = $extrafields->fetch_name_optionals_label('subscription'); +$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); + $search_array_options=$extrafields->getOptionalsFromPost($object->table_element, '', 'search_'); // List of fields to search into when doing a "search in all" diff --git a/htdocs/adherents/type.php b/htdocs/adherents/type.php index 849d787c220..352a4dc6130 100644 --- a/htdocs/adherents/type.php +++ b/htdocs/adherents/type.php @@ -73,7 +73,7 @@ $object = new AdherentType($db); $extrafields = new ExtraFields($db); // fetch optionals attributes and labels -$extralabels=$extrafields->fetch_name_optionals_label('adherent_type'); +$extralabels=$extrafields->fetch_name_optionals_label($object->table_element); 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 { diff --git a/htdocs/admin/emailcollector_card.php b/htdocs/admin/emailcollector_card.php index 4b3da666aa0..b6ba2b8742b 100644 --- a/htdocs/admin/emailcollector_card.php +++ b/htdocs/admin/emailcollector_card.php @@ -55,8 +55,10 @@ $object = new EmailCollector($db); $extrafields = new ExtraFields($db); $diroutputmassaction = $conf->emailcollector->dir_output . '/temp/massgeneration/' . $user->id; $hookmanager->initHooks(array('emailcollectorcard')); // Note that conf->hooks_modules contains array + // Fetch optionals attributes and labels -$extralabels = $extrafields->fetch_name_optionals_label('emailcollector'); +$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); + $search_array_options = $extrafields->getOptionalsFromPost($object->table_element, '', 'search_'); // Initialize array of search criterias diff --git a/htdocs/admin/emailcollector_list.php b/htdocs/admin/emailcollector_list.php index a55f6ee962e..8d7f535f1e5 100644 --- a/htdocs/admin/emailcollector_list.php +++ b/htdocs/admin/emailcollector_list.php @@ -66,8 +66,10 @@ $object = new EmailCollector($db); $extrafields = new ExtraFields($db); $diroutputmassaction = $conf->emailcollector->dir_output . '/temp/massgeneration/' . $user->id; $hookmanager->initHooks(array('emailcollectorlist')); // Note that conf->hooks_modules contains array + // Fetch optionals attributes and labels -$extralabels = $extrafields->fetch_name_optionals_label('emailcollector'); +$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); + $search_array_options = $extrafields->getOptionalsFromPost($object->table_element, '', 'search_'); // Default sort order (if not yet defined by previous GETPOST) diff --git a/htdocs/admin/mails_senderprofile_list.php b/htdocs/admin/mails_senderprofile_list.php index 7abf8247a71..dd026dd8230 100644 --- a/htdocs/admin/mails_senderprofile_list.php +++ b/htdocs/admin/mails_senderprofile_list.php @@ -59,8 +59,10 @@ $object=new EmailSenderProfile($db); $extrafields = new ExtraFields($db); $diroutputmassaction=$conf->admin->dir_output . '/temp/massgeneration/'.$user->id; $hookmanager->initHooks(array('emailsenderprofilelist')); // Note that conf->hooks_modules contains array + // Fetch optionals attributes and labels -$extralabels = $extrafields->fetch_name_optionals_label('emailsenderprofile'); +$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); + $search_array_options=$extrafields->getOptionalsFromPost($object->table_element, '', 'search_'); // Default sort order (if not yet defined by previous GETPOST) diff --git a/htdocs/asset/card.php b/htdocs/asset/card.php index 5bf3767ece1..805110806c8 100644 --- a/htdocs/asset/card.php +++ b/htdocs/asset/card.php @@ -43,8 +43,10 @@ $object=new Asset($db); $extrafields = new ExtraFields($db); $diroutputmassaction=$conf->asset->dir_output . '/temp/massgeneration/'.$user->id; $hookmanager->initHooks(array('assetcard')); // Note that conf->hooks_modules contains array + // Fetch optionals attributes and labels -$extralabels = $extrafields->fetch_name_optionals_label('asset'); +$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); + $search_array_options=$extrafields->getOptionalsFromPost($object->table_element, '', 'search_'); // Initialize array of search criterias diff --git a/htdocs/asset/document.php b/htdocs/asset/document.php index 1de1030dec9..abe3be7cdd5 100644 --- a/htdocs/asset/document.php +++ b/htdocs/asset/document.php @@ -60,8 +60,9 @@ $object=new Asset($db); $extrafields = new ExtraFields($db); $diroutputmassaction=$conf->assets->dir_output . '/temp/massgeneration/'.$user->id; $hookmanager->initHooks(array('assetdocument')); // Note that conf->hooks_modules contains array + // Fetch optionals attributes and labels -$extralabels = $extrafields->fetch_name_optionals_label('asset'); +$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); // Load object include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals diff --git a/htdocs/asset/list.php b/htdocs/asset/list.php index 26fcb76795f..13fa77b6160 100644 --- a/htdocs/asset/list.php +++ b/htdocs/asset/list.php @@ -60,8 +60,10 @@ $object=new Asset($db); $extrafields = new ExtraFields($db); $diroutputmassaction=$conf->asset->dir_output . '/temp/massgeneration/'.$user->id; $hookmanager->initHooks(array('assetlist')); // Note that conf->hooks_modules contains array + // Fetch optionals attributes and labels -$extralabels = $extrafields->fetch_name_optionals_label('asset'); +$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); + $search_array_options=$extrafields->getOptionalsFromPost($object->table_element, '', 'search_'); // Default sort order (if not yet defined by previous GETPOST) diff --git a/htdocs/asset/note.php b/htdocs/asset/note.php index cfcb5fe70bc..51dcc8615a2 100644 --- a/htdocs/asset/note.php +++ b/htdocs/asset/note.php @@ -41,8 +41,9 @@ $object=new Asset($db); $extrafields = new ExtraFields($db); $diroutputmassaction=$conf->asset->dir_output . '/temp/massgeneration/'.$user->id; $hookmanager->initHooks(array('assetnote')); // Note that conf->hooks_modules contains array + // Fetch optionals attributes and labels -$extralabels = $extrafields->fetch_name_optionals_label('asset'); +$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); // Security check - Protection if external user //if ($user->societe_id > 0) access_forbidden(); diff --git a/htdocs/asset/type.php b/htdocs/asset/type.php index 303d05b298b..1357d397709 100644 --- a/htdocs/asset/type.php +++ b/htdocs/asset/type.php @@ -65,7 +65,7 @@ $object = new AssetType($db); $extrafields = new ExtraFields($db); // fetch optionals attributes and labels -$extralabels=$extrafields->fetch_name_optionals_label('asset_type'); +$extralabels=$extrafields->fetch_name_optionals_label($object->table_element); 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 { diff --git a/htdocs/bom/bom_document.php b/htdocs/bom/bom_document.php index 3cc042941b2..ae937353c2b 100644 --- a/htdocs/bom/bom_document.php +++ b/htdocs/bom/bom_document.php @@ -63,7 +63,7 @@ $extrafields = new ExtraFields($db); $diroutputmassaction=$conf->bom->dir_output . '/temp/massgeneration/'.$user->id; $hookmanager->initHooks(array('bomdocument', 'globalcard')); // Note that conf->hooks_modules contains array // Fetch optionals attributes and labels -$extralabels = $extrafields->fetch_name_optionals_label('bom'); +$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); // Load object include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals diff --git a/htdocs/bom/bom_list.php b/htdocs/bom/bom_list.php index bbb51211137..8b7b296b929 100644 --- a/htdocs/bom/bom_list.php +++ b/htdocs/bom/bom_list.php @@ -60,8 +60,10 @@ $object = new BOM($db); $extrafields = new ExtraFields($db); $diroutputmassaction = $conf->bom->dir_output . '/temp/massgeneration/'.$user->id; $hookmanager->initHooks(array('bomlist')); // Note that conf->hooks_modules contains array + // Fetch optionals attributes and labels -$extralabels = $extrafields->fetch_name_optionals_label('bom'); // Load $extrafields->attributes['bom'] +$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); // Load $extrafields->attributes['bom'] + $search_array_options = $extrafields->getOptionalsFromPost($object->table_element, '', 'search_'); // Default sort order (if not yet defined by previous GETPOST) diff --git a/htdocs/bom/bom_note.php b/htdocs/bom/bom_note.php index 75232a74d42..dd6791c4102 100644 --- a/htdocs/bom/bom_note.php +++ b/htdocs/bom/bom_note.php @@ -42,8 +42,9 @@ $object=new BOM($db); $extrafields = new ExtraFields($db); $diroutputmassaction=$conf->bom->dir_output . '/temp/massgeneration/'.$user->id; $hookmanager->initHooks(array('bomnote','globalcard')); // Note that conf->hooks_modules contains array + // Fetch optionals attributes and labels -$extralabels = $extrafields->fetch_name_optionals_label('bom'); +$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); // Security check - Protection if external user //if ($user->societe_id > 0) access_forbidden(); diff --git a/htdocs/bom/class/bom.class.php b/htdocs/bom/class/bom.class.php index 7ad86b59ae8..e6f98b0c473 100644 --- a/htdocs/bom/class/bom.class.php +++ b/htdocs/bom/class/bom.class.php @@ -245,7 +245,7 @@ class BOM extends CommonObject // Clear extrafields that are unique if (is_array($object->array_options) && count($object->array_options) > 0) { - $extrafields->fetch_name_optionals_label($this->element); + $extrafields->fetch_name_optionals_label($object->table_element); foreach($object->array_options as $key => $option) { $shortkey = preg_replace('/options_/', '', $key); diff --git a/htdocs/comm/action/list.php b/htdocs/comm/action/list.php index 2ef4c74f765..f944cb75548 100644 --- a/htdocs/comm/action/list.php +++ b/htdocs/comm/action/list.php @@ -80,8 +80,10 @@ $object = new ActionComm($db); $hookmanager->initHooks(array('agendalist')); $extrafields = new ExtraFields($db); + // fetch optionals attributes and labels -$extralabels = $extrafields->fetch_name_optionals_label('actioncomm'); +$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); + $search_array_options=$extrafields->getOptionalsFromPost($object->table_element, '', 'search_'); // If not choice done on calendar owner, we filter on user. if (empty($filtert) && empty($conf->global->AGENDA_ALL_CALENDARS)) diff --git a/htdocs/comm/mailing/list.php b/htdocs/comm/mailing/list.php index da74efaaf98..0986050a146 100644 --- a/htdocs/comm/mailing/list.php +++ b/htdocs/comm/mailing/list.php @@ -53,7 +53,8 @@ $hookmanager->initHooks(array('mailinglist')); $extrafields = new ExtraFields($db); // fetch optionals attributes and labels -$extralabels = $extrafields->fetch_name_optionals_label('mailing'); +$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); + $search_array_options=$extrafields->getOptionalsFromPost($object->table_element, '', 'search_'); // List of fields to search into when doing a "search in all" diff --git a/htdocs/comm/propal/list.php b/htdocs/comm/propal/list.php index 768ea188174..609cfc49d43 100644 --- a/htdocs/comm/propal/list.php +++ b/htdocs/comm/propal/list.php @@ -129,7 +129,8 @@ $hookmanager->initHooks(array('propallist')); $extrafields = new ExtraFields($db); // fetch optionals attributes and labels -$extralabels = $extrafields->fetch_name_optionals_label('propal'); +$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); + $search_array_options=$extrafields->getOptionalsFromPost($object->table_element, '', 'search_'); // List of fields to search into when doing a "search in all" diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index 02ea14142fc..efaf3d5d1de 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -1266,7 +1266,7 @@ class Commande extends CommonOrder $object->fetch_optionals($object->id); $e = new ExtraFields($this->db); - $element_extrafields = $e->fetch_name_optionals_label($this->element); + $element_extrafields = $e->fetch_name_optionals_label($this->table_element); foreach($object->array_options as $options_key => $value) { if(array_key_exists(str_replace('options_', '', $options_key), $element_extrafields)){ diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php index 2bb6ece49e6..67047adea9a 100644 --- a/htdocs/contrat/class/contrat.class.php +++ b/htdocs/contrat/class/contrat.class.php @@ -2482,7 +2482,7 @@ class Contrat extends CommonObject // Clean extrafields if (is_array($clonedObj->array_options) && count($clonedObj->array_options) > 0) { - $extrafields->fetch_name_optionals_label($this->element); + $extrafields->fetch_name_optionals_label($this->table_element); foreach($clonedObj->array_options as $key => $option) { $shortkey = preg_replace('/options_/', '', $key); diff --git a/htdocs/cron/list.php b/htdocs/cron/list.php index ba868ed7b5d..bb08adc0311 100644 --- a/htdocs/cron/list.php +++ b/htdocs/cron/list.php @@ -70,7 +70,8 @@ $hookmanager->initHooks(array('cronjoblist')); $extrafields = new ExtraFields($db); // fetch optionals attributes and labels -$extralabels = $extrafields->fetch_name_optionals_label('cronjob'); +$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); + $search_array_options=$extrafields->getOptionalsFromPost($object->table_element, '', 'search_'); diff --git a/htdocs/emailcollector/class/emailcollector.class.php b/htdocs/emailcollector/class/emailcollector.class.php index 9315d773c67..9d1a713a316 100644 --- a/htdocs/emailcollector/class/emailcollector.class.php +++ b/htdocs/emailcollector/class/emailcollector.class.php @@ -263,7 +263,7 @@ class EmailCollector extends CommonObject // Clear extrafields that are unique if (is_array($object->array_options) && count($object->array_options) > 0) { - $extrafields->fetch_name_optionals_label($this->element); + $extrafields->fetch_name_optionals_label($this->table_element); foreach($object->array_options as $key => $option) { $shortkey = preg_replace('/options_/', '', $key); diff --git a/htdocs/emailcollector/class/emailcollectoraction.class.php b/htdocs/emailcollector/class/emailcollectoraction.class.php index e8062497534..c838debde50 100644 --- a/htdocs/emailcollector/class/emailcollectoraction.class.php +++ b/htdocs/emailcollector/class/emailcollectoraction.class.php @@ -226,7 +226,7 @@ class EmailCollectorAction extends CommonObject // Clear extrafields that are unique if (is_array($object->array_options) && count($object->array_options) > 0) { - $extrafields->fetch_name_optionals_label($this->element); + $extrafields->fetch_name_optionals_label($this->table_element); foreach($object->array_options as $key => $option) { $shortkey = preg_replace('/options_/', '', $key); diff --git a/htdocs/emailcollector/class/emailcollectorfilter.class.php b/htdocs/emailcollector/class/emailcollectorfilter.class.php index 69ab957040d..fbbe55d06da 100644 --- a/htdocs/emailcollector/class/emailcollectorfilter.class.php +++ b/htdocs/emailcollector/class/emailcollectorfilter.class.php @@ -201,7 +201,7 @@ class EmailCollectorFilter extends CommonObject // Clear extrafields that are unique if (is_array($object->array_options) && count($object->array_options) > 0) { - $extrafields->fetch_name_optionals_label($this->element); + $extrafields->fetch_name_optionals_label($this->table_element); foreach($object->array_options as $key => $option) { $shortkey = preg_replace('/options_/', '', $key); diff --git a/htdocs/modulebuilder/template/class/myobject.class.php b/htdocs/modulebuilder/template/class/myobject.class.php index 35f96b1588f..7b7c443df85 100644 --- a/htdocs/modulebuilder/template/class/myobject.class.php +++ b/htdocs/modulebuilder/template/class/myobject.class.php @@ -286,7 +286,7 @@ class MyObject extends CommonObject // Clear extrafields that are unique if (is_array($object->array_options) && count($object->array_options) > 0) { - $extrafields->fetch_name_optionals_label($this->element); + $extrafields->fetch_name_optionals_label($this->table_element); foreach($object->array_options as $key => $option) { $shortkey = preg_replace('/options_/', '', $key); diff --git a/htdocs/modulebuilder/template/myobject_list.php b/htdocs/modulebuilder/template/myobject_list.php index b7baf32089f..de31dae1256 100644 --- a/htdocs/modulebuilder/template/myobject_list.php +++ b/htdocs/modulebuilder/template/myobject_list.php @@ -98,8 +98,14 @@ $object = new MyObject($db); $extrafields = new ExtraFields($db); $diroutputmassaction = $conf->mymodule->dir_output . '/temp/massgeneration/'.$user->id; $hookmanager->initHooks(array('myobjectlist')); // Note that conf->hooks_modules contains array + // Fetch optionals attributes and labels -$extralabels = $extrafields->fetch_name_optionals_label('myobject'); // Load $extrafields->attributes['myobject'] +$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); + +// fetch optionals attributes lines and labels +//$extrafieldsline = new ExtraFields($db); +//$extralabelslines=$extrafieldsline->fetch_name_optionals_label($object->table_element_line); + $search_array_options = $extrafields->getOptionalsFromPost($object->table_element, '', 'search_'); // Default sort order (if not yet defined by previous GETPOST) diff --git a/htdocs/ticket/class/ticket.class.php b/htdocs/ticket/class/ticket.class.php index afe5764ec6d..9c2787cbc3a 100644 --- a/htdocs/ticket/class/ticket.class.php +++ b/htdocs/ticket/class/ticket.class.php @@ -573,7 +573,7 @@ class Ticket extends CommonObject $extrafields = new ExtraFields($this->db); // fetch optionals attributes and labels - $extralabels = $extrafields->fetch_name_optionals_label($this->element); + $extralabels = $extrafields->fetch_name_optionals_label($this->table_element); $sql = "SELECT"; $sql .= " t.rowid,";