diff --git a/htdocs/comm/propal/list.php b/htdocs/comm/propal/list.php index f52641dc63a6e..3595d871c728f 100644 --- a/htdocs/comm/propal/list.php +++ b/htdocs/comm/propal/list.php @@ -992,7 +992,7 @@ $i++; if ($i == 1) { - if ($num < $limit) print ''.$langs->trans("Total").''; + if ($num < $limit && empty($offset)) print ''.$langs->trans("Total").''; else print ''.$langs->trans("Totalforthispage").''; } elseif ($totalarray['totalhtfield'] == $i) print ''.price($totalarray['totalht']).''; diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index c88b3d552c1cf..8cab07c978022 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -1403,7 +1403,7 @@ $i++; if ($i == 1) { - if ($num < $limit) print ''.$langs->trans("Total").''; + if ($num < $limit && empty($offset)) print ''.$langs->trans("Total").''; else print ''.$langs->trans("Totalforthispage").''; } elseif ($totalarray['totalhtfield'] == $i) print ''.price($totalarray['totalht']).''; diff --git a/htdocs/compta/bank/bankentries.php b/htdocs/compta/bank/bankentries.php index bddf1292214d6..286836b010322 100644 --- a/htdocs/compta/bank/bankentries.php +++ b/htdocs/compta/bank/bankentries.php @@ -1264,7 +1264,7 @@ $i++; if ($i == 1) { - if ($num < $limit) print ''.$langs->trans("Total").''; + if ($num < $limit && empty($offset)) print ''.$langs->trans("Total").''; else print ''.$langs->trans("Totalforthispage").''; } elseif ($totalarray['totaldebfield'] == $i) print ''.price(-1 * $totalarray['totaldeb']).''; diff --git a/htdocs/compta/bank/index.php b/htdocs/compta/bank/index.php index b808fa8f596a0..f98f9b9cb49d5 100644 --- a/htdocs/compta/bank/index.php +++ b/htdocs/compta/bank/index.php @@ -606,7 +606,7 @@ $i++; if ($i == 1) { - if ($num < $limit) print ''.$langs->trans("Total").''; + if ($num < $limit && empty($offset)) print ''.$langs->trans("Total").''; else print ''.$langs->trans("Totalforthispage").''; } elseif ($totalarray['totalbalancefield'] == $i) print ''.price($totalarray['totalbalance'], 0, $langs, 0, 0, -1, $lastcurrencycode).''; diff --git a/htdocs/compta/facture/list.php b/htdocs/compta/facture/list.php index 8946dc84bd4d8..5b01c4459606d 100644 --- a/htdocs/compta/facture/list.php +++ b/htdocs/compta/facture/list.php @@ -517,7 +517,7 @@ $nbtotalofrecords = $db->num_rows($result); } -$sql.= $db->plimit($limit,$offset); +$sql.= $db->plimit($limit+1,$offset); //print $sql; $resql = $db->query($sql); @@ -1270,7 +1270,7 @@ $i++; if ($i == 1) { - if ($num < $limit) print ''.$langs->trans("Total").''; + if ($num < $limit && empty($offset)) print ''.$langs->trans("Total").''; else print ''.$langs->trans("Totalforthispage").''; } elseif ($totalarray['totalhtfield'] == $i) print ''.price($totalarray['totalht']).''; diff --git a/htdocs/compta/sociales/index.php b/htdocs/compta/sociales/index.php index 706c75fab0743..e76a6edc49ab8 100644 --- a/htdocs/compta/sociales/index.php +++ b/htdocs/compta/sociales/index.php @@ -273,7 +273,7 @@ if (isset($totalarray['totalttcfield'])) { print ''; - if ($num < $limit) print ''.$langs->trans("Total").''; + if ($num < $limit && empty($offset)) print ''.$langs->trans("Total").''; else print ''.$langs->trans("Totalforthispage").''; print ''; print ''; diff --git a/htdocs/expensereport/list.php b/htdocs/expensereport/list.php index e9712816b3424..204115d811242 100644 --- a/htdocs/expensereport/list.php +++ b/htdocs/expensereport/list.php @@ -694,7 +694,7 @@ $i++; if ($i == 1) { - if ($num < $limit) print ''.$langs->trans("Total").''; + if ($num < $limit && empty($offset)) print ''.$langs->trans("Total").''; else print ''.$langs->trans("Totalforthispage").''; } elseif ($totalarray['totalhtfield'] == $i) print ''.price($totalarray['totalht']).''; diff --git a/htdocs/fichinter/list.php b/htdocs/fichinter/list.php index 3b6f1be10ffb2..b5a6bcb0e94b1 100644 --- a/htdocs/fichinter/list.php +++ b/htdocs/fichinter/list.php @@ -592,7 +592,7 @@ $i++; if ($i == 1) { - if ($num < $limit) print ''.$langs->trans("Total").''; + if ($num < $limit && empty($offset)) print ''.$langs->trans("Total").''; else print ''.$langs->trans("Totalforthispage").''; } elseif ($totalarray['totaldurationfield'] == $i) print ''.convertSecondToTime($totalarray['totalduration'], 'allhourmin').''; diff --git a/htdocs/fourn/facture/list.php b/htdocs/fourn/facture/list.php index 6ff901521c62b..2924a40001a26 100644 --- a/htdocs/fourn/facture/list.php +++ b/htdocs/fourn/facture/list.php @@ -1167,7 +1167,7 @@ $i++; if ($i == 1) { - if ($num < $limit) print ''.$langs->trans("Total").''; + if ($num < $limit && empty($offset)) print ''.$langs->trans("Total").''; else print ''.$langs->trans("Totalforthispage").''; } elseif ($totalarray['totalhtfield'] == $i) print ''.price($totalarray['totalht']).''; diff --git a/htdocs/modulebuilder/skeletons/skeleton_card.php b/htdocs/modulebuilder/skeletons/skeleton_card.php index 42fce48e2cbc3..84cbcbb216070 100644 --- a/htdocs/modulebuilder/skeletons/skeleton_card.php +++ b/htdocs/modulebuilder/skeletons/skeleton_card.php @@ -84,11 +84,11 @@ -/******************************************************************* -* ACTIONS -* -* Put here all code to do according to value of "action" parameter -********************************************************************/ +/* + * ACTIONS + * + * Put here all code to do according to value of "action" parameter + */ $parameters=array(); $reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks @@ -210,11 +210,11 @@ -/*************************************************** -* VIEW -* -* Put here all code to build page -****************************************************/ +/* + * VIEW + * + * Put here all code to build page + */ $form=new Form($db); diff --git a/htdocs/modulebuilder/skeletons/skeleton_list.php b/htdocs/modulebuilder/skeletons/skeleton_list.php index c7b728617eadf..51158664889dc 100644 --- a/htdocs/modulebuilder/skeletons/skeleton_list.php +++ b/htdocs/modulebuilder/skeletons/skeleton_list.php @@ -137,11 +137,11 @@ -/******************************************************************* -* ACTIONS -* -* Put here all code to do according to value of "action" parameter -********************************************************************/ +/* + * ACTIONS + * + * Put here all code to do according to value of "action" parameter + */ if (GETPOST('cancel')) { $action='list'; $massaction=''; } if (! GETPOST('confirmmassaction') && $massaction != 'presend' && $massaction != 'confirm_presend') { $massaction=''; } @@ -177,11 +177,11 @@ -/*************************************************** -* VIEW -* -* Put here all code to build page -****************************************************/ +/* + * VIEW + * + * Put here all code to build page + */ $now=dol_now(); @@ -244,7 +244,6 @@ function init_myfunc() $reshook=$hookmanager->executeHooks('printFieldListWhere',$parameters); // Note that $action and $object may have been modified by hook $sql.=$hookmanager->resPrint; $sql.=$db->order($sortfield,$sortorder); -//$sql.= $db->plimit($conf->liste_limit+1, $offset); // Count total nb of records $nbtotalofrecords = ''; diff --git a/htdocs/modulebuilder/template/myobject_list.php b/htdocs/modulebuilder/template/myobject_list.php new file mode 100644 index 0000000000000..c249f16524295 --- /dev/null +++ b/htdocs/modulebuilder/template/myobject_list.php @@ -0,0 +1,175 @@ + + * Copyright (C) + * + * 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 myobject_list.php + * \ingroup mymodule + * \brief Page with list of myobject. + * + * List of myobject + */ + +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER','1'); +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB','1'); +//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1'); +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1'); +//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK','1'); // Do not check anti CSRF attack test +//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK','1'); // Do not check style html tag into posted data +//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL','1'); // Do not check anti POST attack test +//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU','1'); // If there is no need to load and show top and left menu +//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML','1'); // If we don't need to load the html.form.class.php +//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1'); +//if (! defined("NOLOGIN")) define("NOLOGIN",'1'); // If this page is public (can be called outside logged session) + +// Change the following lines to use the correct relative path (../, ../../, etc) + +// Load Dolibarr environment +if (false === (@include '../../main.inc.php')) { // From htdocs directory + require '../../../main.inc.php'; // From "custom" directory +} + +require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; +dol_include_once('/mymodule/class/myclass.class.php'); + +// Load translation files required by the page +$langs->load("mymodule@mymodule"); + +// Get parameters +$action = GETPOST('action','alpha'); +$massaction = GETPOST('massaction','alpha'); +$show_files = GETPOST('show_files','int'); +$confirm = GETPOST('confirm','alpha'); +$toselect = GETPOST('toselect', 'array'); + +$id = GETPOST('id','int'); +$backtopage = GETPOST('backtopage'); +// TODO Add here list of search params +$myparam = GETPOST('myparam','alpha'); + +// Load variable for pagination +$limit = GETPOST("limit")?GETPOST("limit","int"):$conf->liste_limit; +$sortfield = GETPOST('sortfield','alpha'); +$sortorder = GETPOST('sortorder','alpha'); +$page = GETPOST('page','int'); +if ($page == -1) { $page = 0; } +$offset = $limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +if (! $sortfield) $sortfield="t.rowid"; // Set here default search field +if (! $sortorder) $sortorder="ASC"; + +// Protection if external user +if ($user->societe_id > 0) +{ + //accessforbidden(); +} +//$result = restrictedArea($user, 'mymodule', $id); + +// Initialize technical object to manage context to save list fields +$contextpage=GETPOST('contextpage','aZ')?GETPOST('contextpage','aZ'):'mymodulelist'; + +// Initialize technical object to manage hooks. Note that conf->hooks_modules contains array +$hookmanager->initHooks(array('mymodulelist')); +$extrafields = new ExtraFields($db); + +// Load object if id or ref is provided as parameter +$object = new MyClass($db); +if (($id > 0 || ! empty($ref)) && $action != 'add') { + $result = $object->fetch($id, $ref); + if ($result < 0) dol_print_error($db); +} + + +/* + * ACTIONS + * + * Put here all code to do according to value of "action" parameter + */ + +if (GETPOST('cancel')) { $action='list'; $massaction=''; } +if (! GETPOST('confirmmassaction') && $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") || GETPOST("button_removefilter.x") ||GETPOST("button_removefilter")) // All tests are required to be compatible with all browsers + { + $search_field1=''; + $search_field2=''; + $search_date_creation=''; + $search_date_update=''; + $toselect=''; + $search_array_options=array(); + } + + // Mass actions + $objectclass='Skeleton'; + $objectlabel='Skeleton'; + $permtoread = $user->rights->skeleton->read; + $permtodelete = $user->rights->skeleton->delete; + $uploaddir = $conf->skeleton->dir_output; + include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php'; +} + + +/* + * VIEW + * + * Put here all code to build page + */ + +llxHeader('', $langs->trans('MyPageName'), ''); + +$form = new Form($db); + +// Put here content of your page +// Example 1: Adding jquery code +print ''; + + + +// TODO + + + + +// Example 2: Adding links to objects +// The class must extend CommonObject for this method to be available +$somethingshown = $form->showLinkedObjectBlock($myobject); + +// End of page +llxFooter(); diff --git a/htdocs/modulebuilder/template/mypage.php b/htdocs/modulebuilder/template/mypage.php deleted file mode 100644 index 368fd86c0a442..0000000000000 --- a/htdocs/modulebuilder/template/mypage.php +++ /dev/null @@ -1,135 +0,0 @@ - - * Copyright (C) - * - * 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 mypage.php - * \ingroup mymodule - * \brief Example PHP page. - * - * Put detailed description here. - */ - -//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER','1'); -//if (! defined('NOREQUIREDB')) define('NOREQUIREDB','1'); -//if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1'); -//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1'); -// Do not check anti CSRF attack test -//if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK','1'); -// Do not check style html tag into posted data -//if (! defined('NOSTYLECHECK')) define('NOSTYLECHECK','1'); -// Do not check anti POST attack test -//if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL','1'); -// If there is no need to load and show top and left menu -//if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU','1'); -// If we don't need to load the html.form.class.php -//if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML','1'); -//if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1'); -// If this page is public (can be called outside logged session) -//if (! defined("NOLOGIN")) define("NOLOGIN",'1'); -// Change the following lines to use the correct relative path -// (../, ../../, etc) - -// Load Dolibarr environment -if (false === (@include '../../main.inc.php')) { // From htdocs directory - require '../../../main.inc.php'; // From "custom" directory -} - -global $db, $langs, $user; - -dol_include_once('/mymodule/class/myclass.class.php'); - -// Load translation files required by the page -$langs->load("mymodule@mymodule"); - -// Get parameters -$id = GETPOST('id', 'int'); -$action = GETPOST('action', 'alpha'); -$myparam = GETPOST('myparam', 'alpha'); - -// Access control -if ($user->socid > 0) { - // External user - accessforbidden(); -} - -// Default action -if (empty($action) && empty($id) && empty($ref)) { - $action='create'; -} - -// Load object if id or ref is provided as parameter -$object = new MyClass($db); -if (($id > 0 || ! empty($ref)) && $action != 'add') { - $result = $object->fetch($id, $ref); - if ($result < 0) { - dol_print_error($db); - } -} - -/* - * ACTIONS - * - * Put here all code to do according to value of "action" parameter - */ - -if ($action == 'add') { - $myobject = new MyClass($db); - $myobject->prop1 = $_POST["field1"]; - $myobject->prop2 = $_POST["field2"]; - $result = $myobject->create($user); - if ($result > 0) { - // Creation OK - } { - // Creation KO - $mesg = $myobject->error; - } -} - -/* - * VIEW - * - * Put here all code to build page - */ - -llxHeader('', $langs->trans('MyPageName'), ''); - -$form = new Form($db); - -// Put here content of your page -// Example 1: Adding jquery code -echo ''; - -// Example 2: Adding links to objects -// The class must extend CommonObject for this method to be available -$somethingshown = $form->showLinkedObjectBlock($myobject); - -// End of page -llxFooter(); diff --git a/htdocs/product/stock/productlot_list.php b/htdocs/product/stock/productlot_list.php index b3c4737b1a52e..d8879d1fa28dc 100644 --- a/htdocs/product/stock/productlot_list.php +++ b/htdocs/product/stock/productlot_list.php @@ -569,7 +569,7 @@ function init_myfunc() $i++; if ($i == 1) { - if ($num < $limit) print ''.$langs->trans("Total").''; + if ($num < $limit && empty($offset)) print ''.$langs->trans("Total").''; else print ''.$langs->trans("Totalforthispage").''; } elseif ($totalarray['totalhtfield'] == $i) print ''.price($totalarray['totalht']).''; diff --git a/htdocs/projet/list.php b/htdocs/projet/list.php index e5cab88609a00..a7285e1f410fd 100644 --- a/htdocs/projet/list.php +++ b/htdocs/projet/list.php @@ -883,7 +883,7 @@ $i++; if ($i == 1) { - if ($num < $limit) print ''.$langs->trans("Total").''; + if ($num < $limit && empty($offset)) print ''.$langs->trans("Total").''; else print ''.$langs->trans("Totalforthispage").''; } elseif ($totalarray['totaloppfield'] == $i) print ''.price($totalarray['totalopp']).''; diff --git a/htdocs/projet/tasks/list.php b/htdocs/projet/tasks/list.php index 9450a2620ed41..8579d436d71f2 100644 --- a/htdocs/projet/tasks/list.php +++ b/htdocs/projet/tasks/list.php @@ -858,7 +858,7 @@ $i++; if ($i == 1) { - if ($num < $limit) print ''.$langs->trans("Total").''; + if ($num < $limit && empty($offset)) print ''.$langs->trans("Total").''; else print ''.$langs->trans("Totalforthispage").''; } elseif ($totalarray['totalplannedworkloadfield'] == $i) print ''.convertSecondToTime($totalarray['totalplannedworkload'],$plannedworkloadoutputformat).''; diff --git a/htdocs/projet/tasks/time.php b/htdocs/projet/tasks/time.php index b090680b6bcb7..eed7bae2734f3 100644 --- a/htdocs/projet/tasks/time.php +++ b/htdocs/projet/tasks/time.php @@ -996,7 +996,7 @@ $i++; if ($i == 1) { - if ($num < $limit) print ''.$langs->trans("Total").''; + if ($num < $limit && empty($offset)) print ''.$langs->trans("Total").''; else print ''.$langs->trans("Totalforthispage").''; } elseif ($totalarray['totaldurationfield'] == $i) print ''.convertSecondToTime($totalarray['totalduration'],'allhourmin').'';