From 31c0bf301b0708d47bb520113a141106b057d303 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 9 Dec 2018 23:41:36 +0100 Subject: [PATCH] FIX Look and feel v8 --- htdocs/adherents/list.php | 47 +- htdocs/adherents/subscription/list.php | 616 +++++++++++++++++-------- 2 files changed, 458 insertions(+), 205 deletions(-) diff --git a/htdocs/adherents/list.php b/htdocs/adherents/list.php index 39d0069ac7c..8eb7109d9ed 100644 --- a/htdocs/adherents/list.php +++ b/htdocs/adherents/list.php @@ -79,8 +79,9 @@ $pagenext = $page + 1; if (! $sortorder) { $sortorder=($filter=='outofdate'?"DESC":"ASC"); } if (! $sortfield) { $sortfield=($filter=='outofdate'?"d.datefin":"d.lastname"); } -// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context $object = new Adherent($db); + +// Initialize technical object to manage hooks of page. Note that conf->hooks_modules contains array of hook context $hookmanager->initHooks(array('memberlist')); $extrafields = new ExtraFields($db); @@ -348,8 +349,8 @@ 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"), + //'presend'=>$langs->trans("SendByMail"), + //'builddoc'=>$langs->trans("PDFMerge"), ); if ($user->rights->adherent->supprimer) $arrayofmassactions['predelete']=$langs->trans("Delete"); if (in_array($massaction, array('presend','predelete'))) $arrayofmassactions=array(); @@ -603,6 +604,7 @@ print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"],"",'','','align="c print "\n"; $i = 0; +$totalarray=array(); while ($i < min($num, $limit)) { $obj = $db->fetch_object($resql); @@ -631,6 +633,7 @@ while ($i < min($num, $limit)) if (! empty($conf->global->MAIN_SHOW_TECHNICAL_ID)) { print ''.$obj->rowid.''; + if (! $i) $totalarray['nbfield']++; } // Ref @@ -639,6 +642,7 @@ while ($i < min($num, $limit)) print ""; print $memberstatic->getNomUrl(-1, 0, 'card', 'ref'); print "\n"; + if (! $i) $totalarray['nbfield']++; } // Civility if (! empty($arrayfields['d.civility']['checked'])) @@ -646,6 +650,7 @@ while ($i < min($num, $limit)) print ""; print $obj->civility; print "\n"; + if (! $i) $totalarray['nbfield']++; } // Firstname if (! empty($arrayfields['d.firstname']['checked'])) @@ -653,6 +658,7 @@ while ($i < min($num, $limit)) print ""; print $obj->firstname; print "\n"; + if (! $i) $totalarray['nbfield']++; } // Lastname if (! empty($arrayfields['d.lastname']['checked'])) @@ -660,6 +666,7 @@ while ($i < min($num, $limit)) print ""; print $obj->lastname; print "\n"; + if (! $i) $totalarray['nbfield']++; } // Company if (! empty($arrayfields['d.company']['checked'])) @@ -672,11 +679,13 @@ while ($i < min($num, $limit)) if (! empty($arrayfields['d.login']['checked'])) { print "".$obj->login."\n"; + if (! $i) $totalarray['nbfield']++; } // Moral/Physique if (! empty($arrayfields['d.morphy']['checked'])) { print "".$memberstatic->getmorphylib($obj->morphy)."\n"; + if (! $i) $totalarray['nbfield']++; } // Type label if (! empty($arrayfields['t.libelle']['checked'])) @@ -686,6 +695,7 @@ while ($i < min($num, $limit)) print ''; print $membertypestatic->getNomUrl(1,32); print ''; + if (! $i) $totalarray['nbfield']++; } // Address if (! empty($arrayfields['d.address']['checked'])) @@ -693,6 +703,7 @@ while ($i < min($num, $limit)) print ''; print $obj->address; print ''; + if (! $i) $totalarray['nbfield']++; } // Zip if (! empty($arrayfields['d.zip']['checked'])) @@ -828,6 +839,36 @@ while ($i < min($num, $limit)) $i++; } +// Show total line +if (isset($totalarray['pos'])) +{ + print ''; + $i=0; + while ($i < $totalarray['nbfield']) + { + $i++; + if (! empty($totalarray['pos'][$i])) print ''.price($totalarray['val'][$totalarray['pos'][$i]]).''; + else + { + if ($i == 1) + { + if ($num < $limit) print ''.$langs->trans("Total").''; + else print ''.$langs->trans("Totalforthispage").''; + } + else print ''; + } + } + print ''; +} + +// If no record found +if ($num == 0) +{ + $colspan=1; + foreach($arrayfields as $key => $val) { if (! empty($val['checked'])) $colspan++; } + print ''.$langs->trans("NoRecordFound").''; +} + $db->free($resql); $parameters=array('sql' => $sql); diff --git a/htdocs/adherents/subscription/list.php b/htdocs/adherents/subscription/list.php index 4ef43e8f316..9eed2238f80 100644 --- a/htdocs/adherents/subscription/list.php +++ b/htdocs/adherents/subscription/list.php @@ -28,12 +28,18 @@ require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php'; require_once DOL_DOCUMENT_ROOT.'/adherents/class/subscription.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; -$langs->load("members"); +$langs->load(array("members","companies")); -$filter=$_GET["filter"]; -$statut=isset($_GET["statut"])?$_GET["statut"]:1; +$action=GETPOST('action','aZ09'); +$massaction=GETPOST('massaction','alpha'); +$confirm=GETPOST('confirm','alpha'); +$toselect = GETPOST('toselect', 'array'); + +$filter=GETPOST("filter","alpha"); +$statut=(GETPOSTISSET("statut")?GETPOST("statut","alpha"):1); $search_ref=GETPOST('search_ref','alpha'); $search_lastname=GETPOST('search_lastname','alpha'); +$search_firstname=GETPOST('search_firstname','alpha'); $search_login=GETPOST('search_login','alpha'); $search_note=GETPOST('search_note','alpha'); $search_account=GETPOST('search_account','int'); @@ -67,6 +73,20 @@ $search_array_options=$extrafields->getOptionalsFromPost($object->table_element, $fieldstosearchall = array( ); $arrayfields=array( + 'd.ref'=>array('label'=>$langs->trans("Ref"), 'checked'=>1), + 'd.lastname'=>array('label'=>$langs->trans("Lastname"), 'checked'=>1), + 'd.firstname'=>array('label'=>$langs->trans("Firstname"), 'checked'=>1), + 'd.login'=>array('label'=>$langs->trans("Login"), 'checked'=>1), + 't.libelle'=>array('label'=>$langs->trans("Type"), 'checked'=>1), + 'd.bank'=>array('label'=>$langs->trans("BankAccount"), 'checked'=>1, 'enabled'=>(! empty($conf->banque->enabled))), + /*'d.note_public'=>array('label'=>$langs->trans("NotePublic"), 'checked'=>0), + 'd.note_private'=>array('label'=>$langs->trans("NotePrivate"), 'checked'=>0),*/ + 'd.datedebut'=>array('label'=>$langs->trans("DateSubscription"), 'checked'=>1, 'position'=>100), + 'd.datefin'=>array('label'=>$langs->trans("EndSubscription"), 'checked'=>1, 'position'=>101), + 'd.amount'=>array('label'=>$langs->trans("Amount"), 'checked'=>1, 'position'=>102), + 'd.datec'=>array('label'=>$langs->trans("DateCreation"), 'checked'=>0, 'position'=>500), + 'd.tms'=>array('label'=>$langs->trans("DateModificationShort"), 'checked'=>0, 'position'=>500), +// 'd.statut'=>array('label'=>$langs->trans("Status"), 'checked'=>1, 'position'=>1000) ); // Security check @@ -74,7 +94,7 @@ $result=restrictedArea($user,'adherent','','','cotisation'); /* - * Actions + * Actions */ if (GETPOST('cancel','alpha')) { $action='list'; $massaction=''; } @@ -111,15 +131,16 @@ if (empty($reshook)) */ $form=new Form($db); +$subscription=new Subscription($db); +$adherent=new Adherent($db); +$accountstatic=new Account($db); -llxHeader('',$langs->trans("ListOfSubscriptions"),'EN:Module_Foundations|FR:Module_Adhérents|ES:Módulo_Miembros'); - +$now=dol_now(); // List of subscriptions $sql = "SELECT d.rowid, d.login, d.firstname, d.lastname, d.societe, d.photo,"; $sql.= " c.rowid as crowid, c.subscription,"; -$sql.= " c.dateadh,"; -$sql.= " c.datef,"; +$sql.= " c.dateadh, c.datef, c.datec as date_creation, c.tms as date_update,"; $sql.= " c.fk_bank as bank, c.note,"; $sql.= " b.fk_account"; $sql.= " FROM ".MAIN_DB_PREFIX."adherent as d, ".MAIN_DB_PREFIX."subscription as c"; @@ -136,253 +157,444 @@ if ($search_ref) if (is_numeric($search_ref)) $sql.= " AND (c.rowid = ".$db->escape($search_ref).")"; else $sql.=" AND 1 = 2"; // Always wrong } -if ($search_lastname) $sql.= natural_search(array('d.firstname','d.lastname','d.societe'), $search_lastname); +if ($search_lastname) $sql.= natural_search(array('d.lastname','d.societe'), $search_lastname); +if ($search_firstname) $sql.= natural_search(array('d.firstname'), $search_firstname); if ($search_login) $sql.= natural_search('c.subscription', $search_login); if ($search_note) $sql.= natural_search('c.note', $search_note); -if ($search_account > 0) $sql.= " AND b.fk_account = ".$search_account; +if ($search_account > 0) $sql.= " AND b.fk_account = ".urldecode($search_account); if ($search_amount) $sql.= natural_search('c.subscription', $search_amount, 1); + +// 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 with no order and no limits $nbtotalofrecords = ''; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { - $result = $db->query($sql); - $nbtotalofrecords = $db->num_rows($result); + $resql = $db->query($sql); + if ($resql) $nbtotalofrecords = $db->num_rows($resql); + else dol_print_error($db); if (($page * $limit) > $nbtotalofrecords) // if total resultset is smaller then paging size (filtering), goto and load page 0 { $page = 0; $offset = 0; } } - +// Add limit $sql.= $db->plimit($limit+1, $offset); $result = $db->query($sql); -if ($result) +if (! $result) { - $num = $db->num_rows($result); + dol_print_error($db); + exit; +} - $arrayofselected=is_array($toselect)?$toselect:array(); +$num = $db->num_rows($result); - $i = 0; +$arrayofselected=is_array($toselect)?$toselect:array(); - $title=$langs->trans("ListOfSubscriptions"); - if (! empty($date_select)) $title.=' ('.$langs->trans("Year").' '.$date_select.')'; +if ($num == 1 && ! empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && $sall) +{ + $obj = $db->fetch_object($resql); + $id = $obj->rowid; + header("Location: ".DOL_URL_ROOT.'/adherents/subscription/card.php?id='.$id); + exit; +} - $param=''; - if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage; - if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit; - if ($statut != '') $param.="&statut=".$statut; - if ($date_select) $param.="&date_select=".$date_select; - if ($search_lastname) $param.="&search_lastname=".$search_lastname; - if ($search_login) $param.="&search_login=".$search_login; - if ($search_acount) $param.="&search_account=".$search_account; - if ($search_amount) $param.="&search_amount=".$search_amount; - if ($optioncss != '') $param.='&optioncss='.$optioncss; +llxHeader('',$langs->trans("ListOfSubscriptions"),'EN:Module_Foundations|FR:Module_Adhérents|ES:Módulo_Miembros'); - // List of mass actions available - $arrayofmassactions = array( - //'presend'=>$langs->trans("SendByMail"), - //'builddoc'=>$langs->trans("PDFMerge"), - ); - if ($user->rights->adherent->supprimer) $arrayofmassactions['predelete']=$langs->trans("Delete"); - if (in_array($massaction, array('presend','predelete'))) $arrayofmassactions=array(); - $massactionbutton=$form->selectMassAction('', $arrayofmassactions); +$i = 0; - $newcardbutton=''; - if ($user->rights->adherent->cotisation->creer) - { - $newcardbutton=''.$langs->trans('NewSubscription').''; - $newcardbutton.= ''; - $newcardbutton.= ''; - } +$title=$langs->trans("ListOfSubscriptions"); +if (! empty($date_select)) $title.=' ('.$langs->trans("Year").' '.$date_select.')'; - print '
'; - if ($optioncss != '') print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; +$param=''; +if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.urlencode($contextpage); +if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.urlencode($limit); +if ($statut != '') $param.="&statut=".urlencode($statut); +if ($date_select) $param.="&date_select=".urlencode($date_select); +if ($search_lastname) $param.="&search_lastname=".urlencode($search_lastname); +if ($search_login) $param.="&search_login=".urlencode($search_login); +if ($search_acount) $param.="&search_account=".urlencode($search_account); +if ($search_amount) $param.="&search_amount=".urlencode($search_amount); +if ($optioncss != '') $param.='&optioncss='.urlencode($optioncss); +// Add $param from extra fields +include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php'; - print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'title_generic.png', 0, $newcardbutton, '', $limit); +// List of mass actions available +$arrayofmassactions = array( + //'presend'=>$langs->trans("SendByMail"), + //'builddoc'=>$langs->trans("PDFMerge"), +); +if ($user->rights->adherent->supprimer) $arrayofmassactions['predelete']=$langs->trans("Delete"); +if (in_array($massaction, array('presend','predelete'))) $arrayofmassactions=array(); +$massactionbutton=$form->selectMassAction('', $arrayofmassactions); - $topicmail="Information"; - $modelmail="subscription"; - $objecttmp=new Subscription($db); - $trackid='sub'.$object->id; - include DOL_DOCUMENT_ROOT.'/core/tpl/massactions_pre.tpl.php'; +$newcardbutton=''; +if ($user->rights->adherent->cotisation->creer) +{ + $newcardbutton=''.$langs->trans('NewSubscription').''; + $newcardbutton.= ''; + $newcardbutton.= ''; +} - if ($sall) - { - print $langs->trans("Filter")." (".$langs->trans("Ref").", ".$langs->trans("Lastname").", ".$langs->trans("Firstname").", ".$langs->trans("EMail").", ".$langs->trans("Address")." ".$langs->trans("or")." ".$langs->trans("Town")."): ".$sall; - } +print ''; +if ($optioncss != '') print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; - $moreforfilter = ''; +print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'title_generic.png', 0, $newcardbutton, '', $limit); - $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); +$topicmail="Information"; +$modelmail="subscription"; +$objecttmp=new Subscription($db); +$trackid='sub'.$object->id; +include DOL_DOCUMENT_ROOT.'/core/tpl/massactions_pre.tpl.php'; - print '
'; - print ''."\n"; +if ($sall) +{ + foreach($fieldstosearchall as $key => $val) $fieldstosearchall[$key]=$langs->trans($val); + print '
'.$langs->trans("FilterOnInto", $sall) . join(', ',$fieldstosearchall).'
'; +} - // Line for filters fields - print ''; +$moreforfilter = ''; +$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); + +print '
'; +print '
'."\n"; + + +// Line for filters fields +print ''; + +// Line numbering +if (! empty($conf->global->MAIN_SHOW_TECHNICAL_ID)) +{ + print ''; +} + +// Ref +if (! empty($arrayfields['d.ref']['checked'])) +{ print ''; +} +if (! empty($arrayfields['d.lastname']['checked'])) +{ print ''; + print ''; +} +if (! empty($arrayfields['d.firstname']['checked'])) +{ + print ''; +} + +if (! empty($arrayfields['d.login']['checked'])) +{ print ''; +} - print ''; +if (! empty($arrayfields['t.libelle']['checked'])) +{ + print ''; +} - if (! empty($conf->banque->enabled)) - { - print ''; - } +if (! empty($arrayfields['d.bank']['checked'])) +{ + print ''; +} +if (! empty($arrayfields['d.date_debut']['checked'])) +{ print ''; +} +if (! empty($arrayfields['d.date_fin']['checked'])) +{ print ''; +} +if (! empty($arrayfields['d.amount']['checked'])) +{ print ''; - - // Action column - print ''; - - print "\n"; - - - print ''; - print_liste_field_titre("Ref",$_SERVER["PHP_SELF"],"c.rowid",$param,"","",$sortfield,$sortorder); - print_liste_field_titre("Name",$_SERVER["PHP_SELF"],"d.lastname",$param,"","",$sortfield,$sortorder); - print_liste_field_titre("Login",$_SERVER["PHP_SELF"],"d.login",$param,"","",$sortfield,$sortorder); - print_liste_field_titre("Label",$_SERVER["PHP_SELF"],"c.note",$param,"",'align="left"',$sortfield,$sortorder); - if (! empty($conf->banque->enabled)) - { - print_liste_field_titre("Account",$_SERVER["PHP_SELF"],"b.fk_account",$pram,"","",$sortfield,$sortorder); - } - print_liste_field_titre("Date",$_SERVER["PHP_SELF"],"c.dateadh",$param,"",'align="center"',$sortfield,$sortorder); - print_liste_field_titre("DateEnd",$_SERVER["PHP_SELF"],"c.datef",$param,"",'align="center"',$sortfield,$sortorder); - print_liste_field_titre("Amount",$_SERVER["PHP_SELF"],"c.subscription",$param,"",'align="right"',$sortfield,$sortorder); - //print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"],"",'','','align="center"',$sortfield,$sortorder,'maxwidthsearch '); - print_liste_field_titre('', $_SERVER["PHP_SELF"],"",'','','align="center"',$sortfield,$sortorder,'maxwidthsearch '); - print "\n"; - - - // Static objects - $subscription=new Subscription($db); - $adherent=new Adherent($db); - $accountstatic=new Account($db); - - $total=0; - while ($i < min($num, $limit)) - { - $obj = $db->fetch_object($result); - $total+=$obj->subscription; - - $subscription->ref=$obj->crowid; - $subscription->id=$obj->crowid; - - $adherent->lastname=$obj->lastname; - $adherent->firstname=$obj->firstname; - $adherent->ref=$obj->rowid; - $adherent->id=$obj->rowid; - $adherent->statut=$obj->statut; - $adherent->login=$obj->login; - $adherent->photo=$obj->photo; - - - - print ''; - - // Ref - print ''; - - // Lastname - print ''; - - // Login - print ''; - - // Libelle - print ''; - - // Banque - if (! empty($conf->banque->enabled)) - { - if ($obj->fk_account > 0) - { - $accountstatic->id=$obj->fk_account; - $accountstatic->fetch($obj->fk_account); - //$accountstatic->label=$obj->label; - print ''; - } - else - { - print "\n"; - } - } - - // Date start - print '\n"; - - // Date end - print '\n"; - - // Price - print ''; - - print ''; - - print ""; - - $i++; - } - - // Total - - print ''; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - if (! empty($conf->banque->enabled)) - { - print ''; - } - print ''; - print ''; - print '\n"; - print ''; - print "\n"; - - print "
 '; print ''; - print ''; + print ''; print ''; - print ''; + print ''; + print ''; - print $form->select_comptes($search_account, 'search_account', 0, '', 1); - print ''; + print $form->select_comptes($search_account, 'search_account', 0, '', 1); + print '  '; print ''; print ''; - $searchpicto=$form->showFilterButtons(); - print $searchpicto; - print '
'.$subscription->getNomUrl(1).''.$adherent->getNomUrl(-1).''.$adherent->login.''; - print dol_trunc($obj->note,32); - print ''.$accountstatic->getNomUrl(1).'"; - print "'.dol_print_date($db->jdate($obj->dateadh),'day')."'.dol_print_date($db->jdate($obj->datef),'day')."'.price($obj->subscription).'
".$langs->trans("Total")."      '.price($total)."
"; - print '
'; - print '
'; } -else +// 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['d.datec']['checked'])) { - dol_print_error($db); + print ''; + print ''; } +// Date modification +if (! empty($arrayfields['d.tms']['checked'])) +{ + print ''; + print ''; +} + +// Action column +print ''; +$searchpicto=$form->showFilterButtons(); +print $searchpicto; +print ''; + +print "\n"; + + +print ''; +if (! empty($arrayfields['d.ref']['checked'])) +{ + print_liste_field_titre("Ref",$_SERVER["PHP_SELF"],"c.rowid",$param,"","",$sortfield,$sortorder); +} +if (! empty($arrayfields['d.lastname']['checked'])) +{ + print_liste_field_titre("LastName",$_SERVER["PHP_SELF"],"d.lastname",$param,"","",$sortfield,$sortorder); +} +if (! empty($arrayfields['d.firstname']['checked'])) +{ + print_liste_field_titre("FirstName",$_SERVER["PHP_SELF"],"d.firstname",$param,"","",$sortfield,$sortorder); +} +if (! empty($arrayfields['d.login']['checked'])) +{ + print_liste_field_titre("Login",$_SERVER["PHP_SELF"],"d.login",$param,"","",$sortfield,$sortorder); +} +if (! empty($arrayfields['t.libelle']['checked'])) +{ + print_liste_field_titre("Label",$_SERVER["PHP_SELF"],"c.note",$param,"",'align="left"',$sortfield,$sortorder); +} +if (! empty($arrayfields['d.bank']['checked'])) +{ + print_liste_field_titre("Account",$_SERVER["PHP_SELF"],"b.fk_account",$pram,"","",$sortfield,$sortorder); +} +if (! empty($arrayfields['d.date_debut']['checked'])) +{ + print_liste_field_titre("Date",$_SERVER["PHP_SELF"],"c.dateadh",$param,"",'align="center"',$sortfield,$sortorder); +} +if (! empty($arrayfields['d.date_fin']['checked'])) +{ + print_liste_field_titre("DateEnd",$_SERVER["PHP_SELF"],"c.datef",$param,"",'align="center"',$sortfield,$sortorder); +} +if (! empty($arrayfields['d.amount']['checked'])) +{ + print_liste_field_titre("Amount",$_SERVER["PHP_SELF"],"c.subscription",$param,"",'align="right"',$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['d.datec']['checked'])) print_liste_field_titre($arrayfields['d.datec']['label'],$_SERVER["PHP_SELF"],"d.datec","",$param,'align="center" class="nowrap"',$sortfield,$sortorder); +if (! empty($arrayfields['d.tms']['checked'])) print_liste_field_titre($arrayfields['d.tms']['label'],$_SERVER["PHP_SELF"],"d.tms","",$param,'align="center" class="nowrap"',$sortfield,$sortorder); +print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"],"",'','','align="center"',$sortfield,$sortorder,'maxwidthsearch '); +print "\n"; + + +$total=0; +$totalarray=array(); +while ($i < min($num, $limit)) +{ + $obj = $db->fetch_object($result); + $total+=$obj->subscription; + + $subscription->ref=$obj->crowid; + $subscription->id=$obj->crowid; + + $adherent->lastname=$obj->lastname; + $adherent->firstname=$obj->firstname; + $adherent->ref=$obj->rowid; + $adherent->id=$obj->rowid; + $adherent->statut=$obj->statut; + $adherent->login=$obj->login; + $adherent->photo=$obj->photo; + + + print ''; + + // Ref + if (! empty($arrayfields['d.ref']['checked'])) + { + print ''.$subscription->getNomUrl(1).''; + if (! $i) $totalarray['nbfield']++; + } + + // Lastname + if (! empty($arrayfields['d.lastname']['checked'])) + { + $adherent->firstname = ''; + print ''.$adherent->getNomUrl(-1).''; + $adherent->firstname = $obj->firstname; + if (! $i) $totalarray['nbfield']++; + } + // Firstname + if (! empty($arrayfields['d.firstname']['checked'])) + { + print ''.$adherent->firstname.''; + if (! $i) $totalarray['nbfield']++; + } + + // Login + if (! empty($arrayfields['d.login']['checked'])) + { + print ''.$adherent->login.''; + if (! $i) $totalarray['nbfield']++; + } + + // Label + if (! empty($arrayfields['t.libelle']['checked'])) + { + print ''; + print dol_trunc($obj->note,128); + print ''; + if (! $i) $totalarray['nbfield']++; + } + + // Banque + if (! empty($arrayfields['d.bank']['checked'])) + { + print ""; + if ($obj->fk_account > 0) + { + $accountstatic->id=$obj->fk_account; + $accountstatic->fetch($obj->fk_account); + //$accountstatic->label=$obj->label; + print $accountstatic->getNomUrl(1); + } + print "\n"; + if (! $i) $totalarray['nbfield']++; + } + + // Date start + if (! empty($arrayfields['d.date_start']['checked'])) + { + print ''.dol_print_date($db->jdate($obj->dateadh),'day')."\n"; + if (! $i) $totalarray['nbfield']++; + } + // Date end + if (! empty($arrayfields['d.date_end']['checked'])) + { + print ''.dol_print_date($db->jdate($obj->datef),'day')."\n"; + if (! $i) $totalarray['nbfield']++; + } + // Price + if (! empty($arrayfields['d.amount']['checked'])) + { + print ''.price($obj->subscription).''; + if (! $i) $totalarray['nbfield']++; + if (! $i) $totalarray['pos'][$totalarray['nbfield']]='d.amount'; + $totalarray['val']['d.amount'] += $obj->subscription; + } + // 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['d.datec']['checked'])) + { + print ''; + print dol_print_date($db->jdate($obj->date_creation), 'dayhour', 'tzuser'); + print ''; + if (! $i) $totalarray['nbfield']++; + } + // Date modification + if (! empty($arrayfields['d.tms']['checked'])) + { + print ''; + print dol_print_date($db->jdate($obj->date_update), 'dayhour', 'tzuser'); + print ''; + if (! $i) $totalarray['nbfield']++; + } + // Action column + 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 ''; + if (! $i) $totalarray['nbfield']++; + + print "\n"; + $i++; +} + +// Show total line +if (isset($totalarray['pos'])) +{ + print ''; + $i=0; + while ($i < $totalarray['nbfield']) + { + $i++; + if (! empty($totalarray['pos'][$i])) print ''.price($totalarray['val'][$totalarray['pos'][$i]]).''; + else + { + if ($i == 1) + { + if ($num < $limit) print ''.$langs->trans("Total").''; + else print ''.$langs->trans("Totalforthispage").''; + } + else print ''; + } + } + print ''; +} + +// If no record found +if ($num == 0) +{ + $colspan=1; + foreach($arrayfields as $key => $val) { if (! empty($val['checked'])) $colspan++; } + print ''.$langs->trans("NoRecordFound").''; +} + +$db->free($resql); + +$parameters=array('sql' => $sql); +$reshook=$hookmanager->executeHooks('printFieldListFooter',$parameters); // Note that $action and $object may have been modified by hook +print $hookmanager->resPrint; + +print ""; +print ''; +print ''; + // End of page llxFooter();