diff --git a/htdocs/adherents/index.php b/htdocs/adherents/index.php index f5c5b1100a4..517649c4b61 100644 --- a/htdocs/adherents/index.php +++ b/htdocs/adherents/index.php @@ -1,8 +1,8 @@ - * Copyright (C) 2003 Jean-Louis Bergamo - * Copyright (C) 2004-2020 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2003 Jean-Louis Bergamo + * Copyright (C) 2004-2020 Laurent Destailleur + * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2019 Nicolas ZABOURI * Copyright (C) 2021 Frédéric France * @@ -260,253 +260,12 @@ print '
'; print $searchbox; print $boxgraph; -// List of subscription by year -$Total = array(); -$Number = array(); -$tot = 0; -$numb = 0; - -$sql = "SELECT c.subscription, c.dateadh as dateh"; -$sql .= " FROM ".MAIN_DB_PREFIX."adherent as d, ".MAIN_DB_PREFIX."subscription as c"; -$sql .= " WHERE d.entity IN (".getEntity('adherent').")"; -$sql .= " AND d.rowid = c.fk_adherent"; - - -$result = $db->query($sql); -if ($result) { - $num = $db->num_rows($result); - $i = 0; - while ($i < $num) { - $objp = $db->fetch_object($result); - $year = dol_print_date($db->jdate($objp->dateh), "%Y"); - $Total[$year] = (isset($Total[$year]) ? $Total[$year] : 0) + $objp->subscription; - $Number[$year] = (isset($Number[$year]) ? $Number[$year] : 0) + 1; - $tot += $objp->subscription; - $numb += 1; - $i++; - } -} - -print '
'; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print "\n"; - -krsort($Total); -$i = 0; -foreach ($Total as $key=>$value) { - if ($i >= 8) { - print ''; - print ""; - print ""; - print ""; - print ""; - print "\n"; - break; - } - print ''; - print ""; - print ""; - print ""; - print ""; - print "\n"; - $i++; -} - -// Total -print ''; -print ''; -print ""; -print '"; -print ""; -print "\n"; -print "
'.$langs->trans("Year").''.$langs->trans("Subscriptions").''.$langs->trans("AmountTotal").''.$langs->trans("AmountAverage").'
...
$key".$Number[$key]."".price($value)."".price(price2num($value / $Number[$key], 'MT'))."
'.$langs->trans("Total").'".$numb."'.price($tot)."".price(price2num($numb > 0 ? ($tot / $numb) : 0, 'MT'))."
"; - -print "
\n"; - print $resultboxes['boxlista']; print '
'."\n"; print '
'; -/* - * Latest modified members - */ -$max = $conf->global->MAIN_SIZE_SHORTLIST_LIMIT; - -$sql = "SELECT a.rowid, a.statut as status, a.lastname, a.firstname, a.societe as company, a.fk_soc,"; -$sql .= " a.gender, a.email, a.photo, a.morphy,"; -$sql .= " a.tms as datem, a.datefin as date_end_subscription,"; -$sql .= " ta.rowid as typeid, ta.libelle as label, ta.subscription as need_subscription"; -$sql .= " FROM ".MAIN_DB_PREFIX."adherent as a, ".MAIN_DB_PREFIX."adherent_type as ta"; -$sql .= " WHERE a.entity IN (".getEntity('adherent').")"; -$sql .= " AND a.fk_adherent_type = ta.rowid"; -$sql .= $db->order("a.tms", "DESC"); -$sql .= $db->plimit($max, 0); - -$resql = $db->query($sql); -if ($resql) { - print '
'; - print ''; - print ''; - print ''; - - $num = $db->num_rows($resql); - if ($num) { - $i = 0; - while ($i < $num) { - $obj = $db->fetch_object($resql); - - $staticmember->id = $obj->rowid; - $staticmember->ref = $obj->rowid; - $staticmember->lastname = $obj->lastname; - $staticmember->firstname = $obj->firstname; - $staticmember->gender = $obj->gender; - $staticmember->email = $obj->email; - $staticmember->photo = $obj->photo; - $staticmember->morphy = $obj->morphy; - $staticmember->statut = $obj->status; - $staticmember->need_subscription = $obj->need_subscription; - $staticmember->datefin = $db->jdate($obj->date_end_subscription); - if (!empty($obj->fk_soc)) { - $staticmember->fk_soc = $obj->fk_soc; - $staticmember->fetch_thirdparty(); - $staticmember->name = $staticmember->thirdparty->name; - } else { - $staticmember->name = $obj->company; - } - - $statictype->id = $obj->typeid; - $statictype->label = $obj->label; - $statictype->subscription = $obj->need_subscription; - - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - $i++; - } - } - print "
'.$langs->trans("LastMembersModified", $max).'
'.$staticmember->getNomUrl(-1, 32).''.$statictype->getNomUrl(1, 32).''.dol_print_date($db->jdate($obj->datem), 'dayhour').''.$staticmember->getLibStatut(3).'
"; - print "
"; -} else { - dol_print_error($db); -} - - -/* - * Last modified subscriptions - */ -$max = $conf->global->MAIN_SIZE_SHORTLIST_LIMIT; - -$sql = "SELECT a.rowid, a.statut as status, a.lastname, a.firstname, a.societe as company, a.fk_soc,"; -$sql .= " a.gender, a.email, a.photo, a.morphy,"; -$sql .= " a.datefin as date_end_subscription,"; -$sql .= " ta.rowid as typeid, ta.libelle as label, ta.subscription as need_subscription,"; -$sql .= " c.rowid as cid, c.tms as datem, c.datec as datec, c.dateadh as date_start, c.datef as date_end, c.subscription"; -$sql .= " FROM ".MAIN_DB_PREFIX."adherent as a, ".MAIN_DB_PREFIX."adherent_type as ta, ".MAIN_DB_PREFIX."subscription as c"; -$sql .= " WHERE a.entity IN (".getEntity('adherent').")"; -$sql .= " AND a.fk_adherent_type = ta.rowid"; -$sql .= " AND c.fk_adherent = a.rowid"; -$sql .= $db->order("c.tms", "DESC"); -$sql .= $db->plimit($max, 0); - -$resql = $db->query($sql); -if ($resql) { - print '
'; - print ''; - print ''; - print ''; - - $num = $db->num_rows($resql); - if ($num) { - $i = 0; - while ($i < $num) { - $obj = $db->fetch_object($resql); - - $staticmember->id = $obj->rowid; - $staticmember->ref = $obj->rowid; - $staticmember->lastname = $obj->lastname; - $staticmember->firstname = $obj->firstname; - $staticmember->gender = $obj->gender; - $staticmember->email = $obj->email; - $staticmember->photo = $obj->photo; - $staticmember->morphy = $obj->morphy; - $staticmember->statut = $obj->status; - $staticmember->need_subscription = $obj->need_subscription; - $staticmember->datefin = $db->jdate($obj->date_end_subscription); - if (!empty($obj->fk_soc)) { - $staticmember->fk_soc = $obj->fk_soc; - $staticmember->fetch_thirdparty(); - $staticmember->name = $staticmember->thirdparty->name; - } else { - $staticmember->name = $obj->company; - } - - $subscriptionstatic->id = $obj->cid; - $subscriptionstatic->ref = $obj->cid; - - print ''; - print ''; - print ''; - print ''; - print ''; - //print ''; - print ''; - print ''; - $i++; - } - } - print "
'.$langs->trans("LastSubscriptionsModified", $max).'
'.$subscriptionstatic->getNomUrl(1).''.$staticmember->getNomUrl(-1, 32, 'subscription').''.get_date_range($db->jdate($obj->date_start), $db->jdate($obj->date_end)).''.price($obj->subscription).''.$staticmember->LibStatut($obj->statut,($obj->subscription=='yes' ? 1 : 0),$db->jdate($obj->date_end_subscription),5).''.dol_print_date($db->jdate($obj->datem ? $obj->datem : $obj->datec), 'dayhour').'
"; - print "
"; -} else { - dol_print_error($db); -} - - -// Summary of members by type -print '
'; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print "\n"; - -foreach ($AdherentType as $key => $adhtype) { - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print "\n"; -} -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; - -print "
'.$langs->trans("MembersTypes").''.$langs->trans("MembersStatusToValid").''.$langs->trans("OutOfDate").''.$langs->trans("UpToDate").''.$langs->trans("MembersStatusExcluded").''.$langs->trans("MembersStatusResiliated").'
'.$adhtype->getNomUrl(1, dol_size(32)).''.(isset($MembersToValidate[$key]) && $MembersToValidate[$key] > 0 ? $MembersToValidate[$key] : '').' '.$staticmember->LibStatut(-1, $adhtype->subscription, 0, 3).''.(isset($MembersValidated[$key]) && ($MembersValidated[$key] - (isset($MembersUpToDate[$key]) ? $MembersUpToDate[$key] : 0) > 0) ? $MembersValidated[$key] - (isset($MembersUpToDate[$key]) ? $MembersUpToDate[$key] : 0) : '').' '.$staticmember->LibStatut(1, 1, 0, 3).''.(isset($MembersUpToDate[$key]) && $MembersUpToDate[$key] > 0 ? $MembersUpToDate[$key] : '').' '.$staticmember->LibStatut(1, $adhtype->subscription, $now+10, 3).''.(isset($MembersExcluded[$key]) && $MembersExcluded[$key] > 0 ? $MembersExcluded[$key] : '').' '.$staticmember->LibStatut(-2, $adhtype->subscription, 0, 3).''.(isset($MembersResiliated[$key]) && $MembersResiliated[$key] > 0 ? $MembersResiliated[$key] : '').' '.$staticmember->LibStatut(0, $adhtype->subscription, 0, 3).'
'.$langs->trans("Total").''.$SumToValidate.' '.$staticmember->LibStatut(-1, 1, 0, 3).''.$SumValidated.' '.$staticmember->LibStatut(1, 1, 0, 3).''.$SumUpToDate.' '.$staticmember->LibStatut(1, 1, $now+10, 3).''.$SumExcluded.' '.$staticmember->LibStatut(-2, 1, 0, 3).''.$SumResiliated.' '.$staticmember->LibStatut(0, 1, 0, 3).'
\n"; -print "
"; - -print '
'; - print $resultboxes['boxlistb']; print '
'."\n";