diff --git a/htdocs/core/class/interfaces.class.php b/htdocs/core/class/interfaces.class.php
index f442038c51d..d069bb0da23 100644
--- a/htdocs/core/class/interfaces.class.php
+++ b/htdocs/core/class/interfaces.class.php
@@ -346,7 +346,7 @@ class Interfaces
}
// We set info of modules
- $triggers[$j]['picto'] = $objMod->picto ?img_object('', $objMod->picto, 'class="valignmiddle pictomodule "') : img_object('', 'generic', 'class="valignmiddle pictomodule "');
+ $triggers[$j]['picto'] = (!empty($objMod->picto)) ? img_object('', $objMod->picto, 'class="valignmiddle pictomodule "') : img_object('', 'generic', 'class="valignmiddle pictomodule "');
$triggers[$j]['file'] = $files[$key];
$triggers[$j]['fullpath'] = $fullpath[$key];
$triggers[$j]['relpath'] = $relpath[$key];
@@ -377,7 +377,14 @@ class Interfaces
}
}
} else {
- print 'Error: Trigger '.$modName.' does not extends DolibarrTriggers
';
+ $triggers[$j]['picto'] = (!empty($objMod->picto)) ? img_object('', $objMod->picto, 'class="valignmiddle pictomodule "') : img_object('', 'generic', 'class="valignmiddle pictomodule "');
+ $triggers[$j]['file'] = $files[$key];
+ $triggers[$j]['fullpath'] = $fullpath[$key];
+ $triggers[$j]['relpath'] = $relpath[$key];
+ $triggers[$j]['status'] = img_picto('Error: Trigger '.$modName.' does not extends DolibarrTriggers', 'warning');
+
+ //print 'Error: Trigger '.$modName.' does not extends DolibarrTriggers
';
+ $text = 'Error: Trigger '.$modName.' does not extends DolibarrTriggers';
}
} catch (Exception $e) {
print $e->getMessage();
diff --git a/htdocs/core/modules/modZapier.class.php b/htdocs/core/modules/modZapier.class.php
index 4f25e05190e..5685a30c701 100644
--- a/htdocs/core/modules/modZapier.class.php
+++ b/htdocs/core/modules/modZapier.class.php
@@ -269,53 +269,6 @@ class modZapier extends DolibarrModules
// Main menu entries
$this->menu = array(); // List of menus to add
$r = 0;
-
- // Add here entries to declare new menus
- // $this->menu[$r++]=array(
- // 'fk_menu' => '', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode
- // 'type' => 'top', // This is a Top menu entry
- // 'titre' => 'Zapier',
- // 'mainmenu' => 'zapier',
- // 'leftmenu' => '',
- // 'url' => '/zapier/zapierindex.php',
- // 'langs' => 'zapier@zapier', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
- // 'position' => 1000+$r,
- // 'enabled' => '$conf->zapier->enabled', // Define condition to show or hide menu entry. Use '$conf->zapier->enabled' if entry must be visible if module is enabled.
- // 'perms' => '1', // Use 'perms'=>'$user->rights->zapier->level1->level2' if you want your menu with a permission rules
- // 'target' => '',
- // 'user' => 2, // 0=Menu for internal users, 1=external users, 2=both
- // );
-
- /*
- $this->menu[$r++]=array(
- 'fk_menu'=>'fk_mainmenu=zapier', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode
- 'type'=>'left', // This is a Left menu entry
- 'titre'=>'List MyObject',
- 'mainmenu'=>'zapier',
- 'leftmenu'=>'zapier_myobject_list',
- 'url'=>'/zapier/myobject_list.php',
- 'langs'=>'zapier@zapier', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
- 'position'=>1000+$r,
- 'enabled'=>'$conf->zapier->enabled', // Define condition to show or hide menu entry. Use '$conf->zapier->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected.
- 'perms'=>'1', // Use 'perms'=>'$user->rights->zapier->level1->level2' if you want your menu with a permission rules
- 'target'=>'',
- 'user'=>2, // 0=Menu for internal users, 1=external users, 2=both
- );
- $this->menu[$r++]=array(
- 'fk_menu'=>'fk_mainmenu=zapier,fk_leftmenu=zapier', // '' if this is a top menu. For left menu, use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode
- 'type'=>'left', // This is a Left menu entry
- 'titre'=>'New MyObject',
- 'mainmenu'=>'zapier',
- 'leftmenu'=>'zapier_myobject_new',
- 'url'=>'/zapier/myobject_page.php?action=create',
- 'langs'=>'zapier@zapier', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
- 'position'=>1000+$r,
- 'enabled'=>'$conf->zapier->enabled', // Define condition to show or hide menu entry. Use '$conf->zapier->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected.
- 'perms'=>'1', // Use 'perms'=>'$user->rights->zapier->level1->level2' if you want your menu with a permission rules
- 'target'=>'',
- 'user'=>2, // 0=Menu for internal users, 1=external users, 2=both
- );
- */
}
/**
diff --git a/htdocs/zapier/admin/about.php b/htdocs/zapier/admin/about.php
index 28dd30eb41d..27f281d549c 100644
--- a/htdocs/zapier/admin/about.php
+++ b/htdocs/zapier/admin/about.php
@@ -60,7 +60,8 @@ if (empty($user->admin)) accessforbidden();
$form = new Form($db);
$page_name = "ZapierAbout";
-llxHeader('', $langs->trans($page_name));
+$help_url = 'EN:Module_Zapier';
+llxHeader('', $langs->trans($page_name), $help_url);
// Subheader
$linkback = ''.$langs->trans("BackToModuleList").'';
diff --git a/htdocs/zapier/admin/setup.php b/htdocs/zapier/admin/setup.php
index 958a13328ff..6f9de26f97c 100644
--- a/htdocs/zapier/admin/setup.php
+++ b/htdocs/zapier/admin/setup.php
@@ -64,7 +64,8 @@ if ((float) DOL_VERSION >= 6) {
*/
$page_name = "ZapierForDolibarrSetup";
-llxHeader('', $langs->trans($page_name));
+$help_url = 'EN:Module_Zapier';
+llxHeader('', $langs->trans($page_name), $help_url);
// Subheader
$linkback = ''.$langs->trans("BackToModuleList").'';
diff --git a/htdocs/zapier/hook_card.php b/htdocs/zapier/hook_card.php
deleted file mode 100644
index a4405ae1f85..00000000000
--- a/htdocs/zapier/hook_card.php
+++ /dev/null
@@ -1,406 +0,0 @@
-
- * Copyright (C) ---Put here your own copyright and developer email---
- *
- * 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/zapier/myobject_card.php
- * \ingroup mymodule
- * \brief Page to create/edit/view myobject
- */
-
-// Load Dolibarr environment
-require '../main.inc.php';
-require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
-require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
-dol_include_once('/mymodule/class/myobject.class.php');
-dol_include_once('/mymodule/lib/mymodule_myobject.lib.php');
-
-// Load translation files required by the page
-$langs->loadLangs(array("mymodule@mymodule", "other"));
-
-// Get parameters
-$id = GETPOST('id', 'int');
-$ref = GETPOST('ref', 'alpha');
-$action = GETPOST('action', 'aZ09');
-$confirm = GETPOST('confirm', 'alpha');
-$cancel = GETPOST('cancel', 'aZ09');
-$contextpage = GETPOST('contextpage', 'aZ') ?GETPOST('contextpage', 'aZ') : 'zapiercard'; // To manage different context of search
-$backtopage = GETPOST('backtopage', 'alpha');
-
-// Initialize technical objects
-$object = new MyObject($db);
-$extrafields = new ExtraFields($db);
-$diroutputmassaction = $conf->mymodule->dir_output.'/temp/massgeneration/'.$user->id;
-$hookmanager->initHooks(array('myobjectcard', 'globalcard')); // Note that conf->hooks_modules contains array
-
-// Fetch optionals attributes and labels
-$extrafields->fetch_name_optionals_label($object->table_element);
-
-$search_array_options = $extrafields->getOptionalsFromPost($object->table_element, '', 'search_');
-
-// Initialize array of search criterias
-$search_all = GETPOST("search_all", 'alpha');
-$search = array();
-foreach ($object->fields as $key => $val) {
- if (GETPOST('search_'.$key, 'alpha')) {
- $search[$key] = GETPOST('search_'.$key, 'alpha');
- }
-}
-
-if (empty($action) && empty($id) && empty($ref)) {
- $action = 'view';
-}
-
-// 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
-
-// Security check - Protection if external user
-//if ($user->socid > 0) accessforbidden();
-//if ($user->socid > 0) $socid = $user->socid;
-//$isdraft = (($object->statut == MyObject::STATUS_DRAFT) ? 1 : 0);
-//$result = restrictedArea($user, 'mymodule', $object->id, '', '', 'fk_soc', 'rowid', $isdraft);
-if (empty($conf->zapier->enabled)) accessforbidden();
-if (empty($user->admin)) accessforbidden();
-
-
-/*
- * Actions
- */
-
-$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)) {
- $error = 0;
-
- $permissiontoadd = $user->rights->mymodule->write;
- $permissiontodelete = $user->rights->mymodule->delete || ($permissiontoadd && $object->status == 0);
- $backurlforlist = dol_buildpath('/mymodule/myobject_list.php', 1);
- if (empty($backtopage)) {
- if (empty($id)) {
- $backtopage = $backurlforlist;
- } else {
- $backtopage = dol_buildpath('/mymodule/myobject_card.php', 1).($id > 0 ? $id : '__ID__');
- }
- }
- $triggermodname = 'MYMODULE_MYOBJECT_MODIFY'; // Name of trigger action code to execute when we modify record
-
- // Actions cancel, add, update, delete or clone
- include DOL_DOCUMENT_ROOT.'/core/actions_addupdatedelete.inc.php';
-
- // Actions when linking object each other
- include DOL_DOCUMENT_ROOT.'/core/actions_dellink.inc.php';
-
- // Actions when printing a doc from card
- include DOL_DOCUMENT_ROOT.'/core/actions_printing.inc.php';
-}
-
-
-
-
-/*
- * View
- *
- * Put here all code to build page
- */
-
-$form = new Form($db);
-$formfile = new FormFile($db);
-
-llxHeader('', 'MyObject', '');
-
-// Example : Adding jquery code
-print '';
-
-
-// Part to create
-if ($action == 'create') {
- print load_fiche_titre($langs->trans("NewObject", $langs->transnoentitiesnoconv("MyObject")));
-
- print '
';
-}
-
-// Part to edit record
-if (($id || $ref) && $action == 'edit') {
- print load_fiche_titre($langs->trans("MyObject"));
-
- print '';
-}
-
-// Part to show record
-if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'create'))) {
- $res = $object->fetch_optionals();
-
- $head = myobjectPrepareHead($object);
- print dol_get_fiche_head($head, 'card', $langs->trans("MyObject"), -1, 'myobject@mymodule');
-
- $formconfirm = '';
-
- // Confirmation to delete
- if ($action == 'delete') {
- $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('DeleteMyObject'), $langs->trans('ConfirmDeleteMyObject'), 'confirm_delete', '', 0, 1);
- }
-
- // Clone confirmation
- if ($action == 'clone') {
- // Create an array for form
- $formquestion = array();
- $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ToClone'), $langs->trans('ConfirmCloneMyObject', $object->ref), 'confirm_clone', $formquestion, 'yes', 1);
- }
-
- // Confirmation of action xxxx
- if ($action == 'xxx') {
- $formquestion = array();
- /*
- $forcecombo=0;
- if ($conf->browser->name == 'ie') $forcecombo = 1; // There is a bug in IE10 that make combo inside popup crazy
- $formquestion = array(
- // 'text' => $langs->trans("ConfirmClone"),
- // array('type' => 'checkbox', 'name' => 'clone_content', 'label' => $langs->trans("CloneMainAttributes"), 'value' => 1),
- // array('type' => 'checkbox', 'name' => 'update_prices', 'label' => $langs->trans("PuttingPricesUpToDate"), 'value' => 1),
- // array('type' => 'other', 'name' => 'idwarehouse', 'label' => $langs->trans("SelectWarehouseForStockDecrease"), 'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse')?GETPOST('idwarehouse'):'ifone', 'idwarehouse', '', 1, 0, 0, '', 0, $forcecombo))
- );
- */
- $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('XXX'), $text, 'confirm_xxx', $formquestion, 0, 1, 220);
- }
-
- // Call Hook formConfirm
- $parameters = array('formConfirm' => $formconfirm, 'lineid' => $lineid);
- $reshook = $hookmanager->executeHooks('formConfirm', $parameters, $object, $action); // Note that $action and $object may have been modified by hook
- if (empty($reshook)) {
- $formconfirm .= $hookmanager->resPrint;
- } elseif ($reshook > 0) {
- $formconfirm = $hookmanager->resPrint;
- }
-
- // Print form confirm
- print $formconfirm;
-
-
- // Object card
- // ------------------------------------------------------------
- $linkback = ''.$langs->trans("BackToList").'';
-
- $morehtmlref = '';
- /*
- // Ref bis
- $morehtmlref.=$form->editfieldkey("RefBis", 'ref_client', $object->ref_client, $object, $user->rights->mymodule->creer, 'string', '', 0, 1);
- $morehtmlref.=$form->editfieldval("RefBis", 'ref_client', $object->ref_client, $object, $user->rights->mymodule->creer, 'string', '', null, null, '', 1);
- // Thirdparty
- $morehtmlref.='
'.$langs->trans('ThirdParty') . ' : ' . $soc->getNomUrl(1);
- // Project
- if (! empty($conf->projet->enabled))
- {
- $langs->load("projects");
- $morehtmlref.='
'.$langs->trans('Project') . ' ';
- if ($user->rights->mymodule->write)
- {
- if ($action != 'classify')
- $morehtmlref.='
' . img_edit($langs->transnoentitiesnoconv('SetProject')) . ' : ';
- if ($action == 'classify') {
- //$morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1, 1);
- $morehtmlref.='
';
- } else {
- $morehtmlref.=$form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none', 0, 0, 0, 1);
- }
- } else {
- if (! empty($object->fk_project)) {
- $proj = new Project($db);
- $proj->fetch($object->fk_project);
- $morehtmlref.=$proj->getNomUrl();
- } else {
- $morehtmlref.='';
- }
- }
- }
- */
- $morehtmlref .= '
';
-
-
- dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
-
-
- print '';
- print '
';
- print '
';
- print '
'."\n";
-
- // Common attributes
- //$keyforbreak='fieldkeytoswithonsecondcolumn';
- include DOL_DOCUMENT_ROOT.'/core/tpl/commonfields_view.tpl.php';
-
- // Other attributes
- include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_view.tpl.php';
-
- print '
';
- print '
';
- print '
';
-
- print '
';
-
- print dol_get_fiche_end();
-
-
- // Buttons for actions
- if ($action != 'presend' && $action != 'editline') {
- print ''."\n";
- }
-
-
- // Select mail models is same action as presend
- if (GETPOST('modelselected')) {
- $action = 'presend';
- }
-
- if ($action != 'presend') {
- print '';
- print '
'; // ancre
-
- // Show links to link elements
- $linktoelem = $form->showLinkToObjectBlock($object, null, array('myobject'));
- $somethingshown = $form->showLinkedObjectBlock($object, $linktoelem);
-
-
- print '
';
-
- $MAXEVENT = 10;
-
- $morehtmlright = '
';
- $morehtmlright .= $langs->trans("SeeAll");
- $morehtmlright .= '';
-
- // List of actions on element
- include_once DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php';
- $formactions = new FormActions($db);
- $somethingshown = $formactions->showactions($object, 'myobject', $socid, 1, '', $MAXEVENT, '', $morehtmlright);
-
- print '
';
- }
-}
-
-// End of page
-llxFooter();
-$db->close();
diff --git a/htdocs/zapier/hook_list.php b/htdocs/zapier/hook_list.php
deleted file mode 100644
index e717f0fe457..00000000000
--- a/htdocs/zapier/hook_list.php
+++ /dev/null
@@ -1,648 +0,0 @@
-
- * Copyright (C) 2019 Frédéric France
- *
- * 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/zapier/hook_list.php
- * \ingroup zapier
- * \brief List page for hook
- */
-
-
-// Load Dolibarr environment
-require '../main.inc.php';
-require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
-require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
-require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
-require_once DOL_DOCUMENT_ROOT.'/zapier/class/hook.class.php';
-
-// Load translation files required by the page
-$langs->loadLangs(array("zapier", "other"));
-
-// The action 'add', 'create', 'edit', 'update', 'view', ...
-$action = GETPOST('action', 'aZ09') ?GETPOST('action', 'aZ09') : 'view';
-// The bulk action (combo box choice into lists)
-$massaction = GETPOST('massaction', 'alpha');
-$show_files = GETPOST('show_files', 'int'); // Show files area generated by bulk actions ?
-$confirm = GETPOST('confirm', 'alpha'); // Result of a confirmation
-$cancel = GETPOST('cancel', 'alpha'); // We click on a Cancel button
-$toselect = GETPOST('toselect', 'array'); // Array of ids of elements selected into a list
-$contextpage = GETPOST('contextpage', 'aZ') ?GETPOST('contextpage', 'aZ') : 'zapierlist'; // To manage different context of search
-$backtopage = GETPOST('backtopage', 'alpha'); // Go back to a dedicated page
-$optioncss = GETPOST('optioncss', 'aZ'); // Option for the css output (always '' except when 'print')
-
-$id = GETPOST('id', 'int');
-
-// Load variable for pagination
-$limit = GETPOST('limit', 'int') ?GETPOST('limit', 'int') : $conf->liste_limit;
-$sortfield = GETPOST('sortfield', 'aZ09comma');
-$sortorder = GETPOST('sortorder', 'aZ09comma');
-$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : (int) GETPOST("page", 'int');
-if (empty($page) || $page == -1 || GETPOST('button_search', 'alpha') || GETPOST('button_removefilter', 'alpha') || (empty($toselect) && $massaction === '0')) {
- // If $page is not defined, or '' or -1 or if we click on clear filters or if we select empty mass action
- $page = 0;
-}
-$offset = $limit * $page;
-$pageprev = $page - 1;
-$pagenext = $page + 1;
-//if (! $sortfield) $sortfield="p.date_fin";
-//if (! $sortorder) $sortorder="DESC";
-
-// Initialize technical objects
-$object = new Hook($db);
-$extrafields = new ExtraFields($db);
-$diroutputmassaction = $conf->zapier->dir_output.'/temp/massgeneration/'.$user->id;
-// Note that conf->hooks_modules contains array
-$hookmanager->initHooks(array('zapierhooklist'));
-
-// Fetch optionals attributes and labels
-$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)
-if (!$sortfield) {
- // Set here default search field. By default 1st field in definition.
- $sortfield = "t.".key($object->fields);
-}
-if (!$sortorder) {
- $sortorder = "ASC";
-}
-
-// Security check
-$socid = 0;
-if ($user->socid > 0) {
- // Protection if external user
- //$socid = $user->socid;
- accessforbidden();
-}
-//$result = restrictedArea($user, 'zapier', $id, '');
-
-// Initialize array of search criterias
-$search_all = GETPOST("search_all", 'alpha');
-$search = array();
-foreach ($object->fields as $key => $val) {
- if (GETPOST('search_'.$key, 'alpha')) {
- $search[$key] = GETPOST('search_'.$key, 'alpha');
- }
-}
-
-// List of fields to search into when doing a "search in all"
-$fieldstosearchall = array();
-foreach ($object->fields as $key => $val) {
- if ($val['searchall']) {
- $fieldstosearchall['t.'.$key] = $val['label'];
- }
-}
-
-// Definition of fields for list
-$arrayfields = array();
-foreach ($object->fields as $key => $val) {
- // If $val['visible']==0, then we never show the field
- if (!empty($val['visible'])) {
- $arrayfields['t.'.$key] = array('label'=>$val['label'], 'checked'=>(($val['visible'] < 0) ? 0 : 1), 'enabled'=>$val['enabled'], 'position'=>$val['position']);
- }
-}
-// Extra fields
-include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_array_fields.tpl.php';
-
-$object->fields = dol_sort_array($object->fields, 'position');
-$arrayfields = dol_sort_array($arrayfields, 'position');
-
-if (empty($conf->zapier->enabled)) accessforbidden();
-if (empty($user->admin)) accessforbidden();
-
-
-/*
- * 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';
-
- // 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
- foreach ($object->fields as $key => $val) {
- $search[$key] = '';
- }
- $toselect = '';
- $search_array_options = array();
- }
- if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')
- || GETPOST('button_search_x', 'alpha') || GETPOST('button_search.x', 'alpha') || GETPOST('button_search', 'alpha')) {
- $massaction = ''; // Protection to avoid mass action if we force a new search during a mass action confirmation
- }
-
- // Mass actions
- $objectclass = 'Hook';
- $objectlabel = 'Hook';
- $permissiontoread = $user->rights->zapier->read;
- $permissiontodelete = $user->rights->zapier->delete;
- $uploaddir = $conf->zapier->dir_output;
- include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php';
-}
-
-
-
-/*
- * View
- */
-
-$form = new Form($db);
-
-$now = dol_now();
-
-//$help_url="EN:Module_Hook|FR:Module_Hook_FR|ES:Módulo_Hook";
-$help_url = '';
-$title = $langs->trans('ListOf', $langs->transnoentitiesnoconv("Hooks"));
-
-
-// Build and execute select
-// --------------------------------------------------------------------
-$sql = 'SELECT ';
-foreach ($object->fields as $key => $val) {
- $sql .= 't.'.$key.', ';
-}
-// Add fields from extrafields
-if (!empty($extrafields->attributes[$object->table_element]['label'])) {
- foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) {
- $sql .= ($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? "ef.".$key.' as options_'.$key.', ' : '');
- }
-}
-// Add fields from hooks
-$parameters = array();
-$reshook = $hookmanager->executeHooks('printFieldListSelect', $parameters, $object); // Note that $action and $object may have been modified by hook
-$sql .= $hookmanager->resPrint;
-$sql = preg_replace('/, $/', '', $sql);
-$sql .= " FROM ".MAIN_DB_PREFIX.$object->table_element." as t";
-if (is_array($extrafields->attributes[$object->table_element]['label']) && count($extrafields->attributes[$object->table_element]['label'])) {
- $sql .= " LEFT JOIN ".MAIN_DB_PREFIX.$object->table_element."_extrafields as ef on (t.rowid = ef.fk_object)";
-}
-if ($object->ismultientitymanaged == 1) {
- $sql .= " WHERE t.entity IN (".getEntity($object->element).")";
-} else {
- $sql .= " WHERE 1 = 1";
-}
-foreach ($search as $key => $val) {
- if ($key == 'status' && $search[$key] == -1) {
- continue;
- }
- $mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0);
- if ($search[$key] != '') {
- $sql .= natural_search($key, $search[$key], (($key == 'status') ? 2 : $mode_search));
- }
-}
-if ($search_all) {
- $sql .= natural_search(array_keys($fieldstosearchall), $search_all);
-}
-// 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, $object); // Note that $action and $object may have been modified by hook
-$sql .= $hookmanager->resPrint;
-
-/* If a group by is required
-$sql.= " GROUP BY "
-foreach($object->fields as $key => $val)
-{
- $sql.='t.'.$key.', ';
-}
-// Add fields from extrafields
-if (! empty($extrafields->attributes[$object->table_element]['label'])) {
- foreach ($extrafields->attributes[$object->table_element]['label'] as $key => $val) $sql.=($extrafields->attributes[$object->table_element]['type'][$key] != 'separate' ? "ef.".$key.', ' : '');
-// Add where from hooks
-$parameters=array();
-$reshook=$hookmanager->executeHooks('printFieldListGroupBy',$parameters); // Note that $action and $object may have been modified by hook
-$sql.=$hookmanager->resPrint;
-$sql=preg_replace('/, $/','', $sql);
-*/
-
-$sql .= $db->order($sortfield, $sortorder);
-
-// Count total nb of records
-$nbtotalofrecords = '';
-if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) {
- $resql = $db->query($sql);
- $nbtotalofrecords = $db->num_rows($resql);
- if (($page * $limit) > $nbtotalofrecords) {
- // if total of record found is smaller than page * limit, goto and load page 0
- $page = 0;
- $offset = 0;
- }
-}
-// if total of record found is smaller than limit, no need to do paging and to restart another select with limits set.
-if (is_numeric($nbtotalofrecords) && $limit > $nbtotalofrecords) {
- $num = $nbtotalofrecords;
-} else {
- $sql .= $db->plimit($limit + 1, $offset);
-
- $resql = $db->query($sql);
- if (!$resql) {
- dol_print_error($db);
- exit;
- }
-
- $num = $db->num_rows($resql);
-}
-
-// Direct jump if only one record found
-if ($num == 1 && !empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $search_all) {
- $obj = $db->fetch_object($resql);
- $id = $obj->rowid;
- header("Location: ".dol_buildpath('/zapier/hook_card.php', 1).'?id='.$id);
- exit;
-}
-
-
-// Output page
-// --------------------------------------------------------------------
-
-llxHeader('', $title, $help_url);
-
-// Example : Adding jquery code
-// print '';
-
-$arrayofselected = is_array($toselect) ? $toselect : array();
-
-$param = '';
-if (!empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) {
- $param .= '&contextpage='.urlencode($contextpage);
-}
-if ($limit > 0 && $limit != $conf->liste_limit) {
- $param .= '&limit='.urlencode($limit);
-}
-foreach ($search as $key => $val) {
- if (is_array($search[$key]) && count($search[$key])) {
- foreach ($search[$key] as $skey) {
- $param .= '&search_'.$key.'[]='.urlencode($skey);
- }
- } else {
- $param .= '&search_'.$key.'='.urlencode($search[$key]);
- }
-}
-if ($optioncss != '') {
- $param .= '&optioncss='.urlencode($optioncss);
-}
-// Add $param from extra fields
-include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php';
-
-// List of mass actions available
-$arrayofmassactions = array(
- //'presend'=>$langs->trans("SendByMail"),
- //'builddoc'=>$langs->trans("PDFMerge"),
-);
-if ($user->rights->zapier->delete) {
- $arrayofmassactions['predelete'] = ''.$langs->trans("Delete");
-}
-if (GETPOST('nomassaction', 'int') || in_array($massaction, array('presend', 'predelete'))) {
- $arrayofmassactions = array();
-}
-$massactionbutton = $form->selectMassAction('', $arrayofmassactions);
-
-print ''."\n";
-
-if (in_array('builddoc', $arrayofmassactions) && ($nbtotalofrecords === '' || $nbtotalofrecords)) {
- $hidegeneratedfilelistifempty = 1;
- if ($massaction == 'builddoc' || $action == 'remove_file' || $show_files) {
- $hidegeneratedfilelistifempty = 0;
- }
-
- require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
- $formfile = new FormFile($db);
-
- // Show list of available documents
- $urlsource = $_SERVER['PHP_SELF'].'?sortfield='.$sortfield.'&sortorder='.$sortorder;
- $urlsource .= str_replace('&', '&', $param);
-
- $filedir = $diroutputmassaction;
- $genallowed = $user->rights->zapier->read;
- $delallowed = $user->rights->zapier->create;
-
- print $formfile->showdocuments('massfilesarea_zapier', '', $filedir, $urlsource, 0, $delallowed, '', 1, 1, 0, 48, 1, $param, $title, '', '', '', null, $hidegeneratedfilelistifempty);
-}
-
-// End of page
-llxFooter();
-$db->close();
diff --git a/htdocs/zapier/img/object_hook.png b/htdocs/zapier/img/object_hook.png
deleted file mode 100644
index b421fe3c9e0..00000000000
Binary files a/htdocs/zapier/img/object_hook.png and /dev/null differ
diff --git a/htdocs/zapier/img/object_zapier.png b/htdocs/zapier/img/object_zapier.png
deleted file mode 100644
index de31be865a1..00000000000
Binary files a/htdocs/zapier/img/object_zapier.png and /dev/null differ
diff --git a/htdocs/zapier/zapierindex.php b/htdocs/zapier/zapierindex.php
deleted file mode 100644
index 481bc16694b..00000000000
--- a/htdocs/zapier/zapierindex.php
+++ /dev/null
@@ -1,82 +0,0 @@
-
- * Copyright (C) 2004-2015 Laurent Destailleur
- * Copyright (C) 2005-2012 Regis Houssin
- * Copyright (C) 2015 Jean-François Ferry
- *
- * 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/zapier/zapierindex.php
- * \ingroup zapier
- * \brief Home page of zapier top menu
- */
-
-// Load Dolibarr environment
-require '../main.inc.php';
-require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
-
-// Load translation files required by the page
-$langs->loadLangs(array("zapier"));
-
-$action = GETPOST('action', 'aZ09');
-
-
-// Securite acces client
-if (!$user->rights->zapier->read) {
- accessforbidden();
-}
-$socid = GETPOST('socid', 'int');
-if (isset($user->socid) && $user->socid > 0) {
- $action = '';
- $socid = $user->socid;
-}
-
-$max = 5;
-$now = dol_now();
-
-if (empty($conf->zapier->enabled)) accessforbidden();
-if (empty($user->admin)) accessforbidden();
-
-
-/*
- * Actions
- */
-
-// None
-
-
-/*
- * View
- */
-
-$form = new Form($db);
-$formfile = new FormFile($db);
-
-llxHeader("", $langs->trans("ZapierForDolibarrArea"));
-
-print load_fiche_titre($langs->trans("ZapierForDolibarrArea"), '', 'zapier.png@zapier');
-
-print '';
-
-// End of page
-llxFooter();
-$db->close();