From 247b14afac51b952f81c8eea66520f7a456e7564 Mon Sep 17 00:00:00 2001
From: squarou <squarou@users.noreply.github.com>
Date: Thu, 10 Apr 2014 22:13:59 +0200
Subject: [PATCH] Add region stats and tab

Added ($mode == 'memberbystate')
---
 htdocs/adherents/stats/geo.php | 41 +++++++++++++++++++++++++++++-----
 1 file changed, 36 insertions(+), 5 deletions(-)

diff --git a/htdocs/adherents/stats/geo.php b/htdocs/adherents/stats/geo.php
index 090e414c548..65bf4f3f22b 100644
--- a/htdocs/adherents/stats/geo.php
+++ b/htdocs/adherents/stats/geo.php
@@ -1,4 +1,4 @@
-<?php
+<?php //ligne 86
 /* Copyright (c) 2004-2011 Laurent Destailleur  <eldy@users.sourceforge.net>
  *
  * This program is free software; you can redistribute it and/or modify
@@ -60,6 +60,8 @@ $title=$langs->trans("Statistics");
 if ($mode == 'memberbycountry') $title=$langs->trans("MembersStatisticsByCountries");
 if ($mode == 'memberbystate') $title=$langs->trans("MembersStatisticsByState");
 if ($mode == 'memberbytown') $title=$langs->trans("MembersStatisticsByTown");
+if ($mode == 'memberbyregion') $title=$langs->trans("MembersStatisticsByRegion");
+
 
 print_fiche_titre($title, $mesg);
 
@@ -67,7 +69,7 @@ dol_mkdir($dir);
 
 if ($mode)
 {
-    // Define sql
+    // Define sql	
     if ($mode == 'memberbycountry')
     {
         $label=$langs->trans("Country");
@@ -81,14 +83,15 @@ if ($mode)
         $sql.=" GROUP BY c.libelle, c.code";
         //print $sql;
     }
-    if ($mode == 'memberbystate')
+
+	if ($mode == 'memberbystate')
     {
         $label=$langs->trans("Country");
         $label2=$langs->trans("State");
         $tab='statsstate';
 
         $data = array();
-        $sql.="SELECT COUNT(d.rowid) as nb, MAX(d.datevalid) as lastdate, p.code, p.libelle as label, c.nom as label2";
+        $sql.="SELECT COUNT(d.rowid) as nb, MAX(d.datevalid) as lastdate, p.code, p.libelle as label, c.nom as label2"; //
         $sql.=" FROM ".MAIN_DB_PREFIX."adherent as d LEFT JOIN ".MAIN_DB_PREFIX."c_departements as c on d.state_id = c.rowid";
         $sql.=" LEFT JOIN ".MAIN_DB_PREFIX."c_regions as r on c.fk_region = r.code_region";
         $sql.=" LEFT JOIN ".MAIN_DB_PREFIX."c_pays as p on d.country = p.rowid";
@@ -97,6 +100,22 @@ if ($mode)
         $sql.=" GROUP BY p.libelle, p.code, c.nom";
         //print $sql;
     }
+    if ($mode == 'memberbyregion') //
+    {
+        $label=$langs->trans("Country"); //pays
+        $label2=$langs->trans("Region"); //département
+        $tab='statsregion'; //onglet
+
+        $data = array(); //tableau de donnée
+        $sql.="SELECT COUNT(d.rowid) as nb, MAX(d.datevalid) as lastdate, p.code, p.libelle as label, r.nom as label2";
+        $sql.=" FROM ".MAIN_DB_PREFIX."adherent as d LEFT JOIN ".MAIN_DB_PREFIX."c_departements as c on d.state_id = c.rowid";
+        $sql.=" LEFT JOIN ".MAIN_DB_PREFIX."c_regions as r on c.fk_region = r.code_region";
+        $sql.=" LEFT JOIN ".MAIN_DB_PREFIX."c_pays as p on d.country = p.rowid";
+        $sql.=" WHERE d.entity IN (".getEntity().")";
+        $sql.=" AND d.statut = 1";
+        $sql.=" GROUP BY p.libelle, p.code, r.nom"; //+
+        //print $sql;
+    }
     if ($mode == 'memberbytown')
     {
         $label=$langs->trans("Country");
@@ -137,6 +156,15 @@ if ($mode)
 							'lastdate'=>$db->jdate($obj->lastdate)
                 );
             }
+	    if ($mode == 'memberbyregion') //+
+            {
+                $data[]=array('label'=>(($obj->code && $langs->trans("Country".$obj->code)!="Country".$obj->code)?$langs->trans("Country".$obj->code):($obj->label?$obj->label:$langs->trans("Unknown"))),
+                            'label_en'=>(($obj->code && $langsen->transnoentitiesnoconv("Country".$obj->code)!="Country".$obj->code)?$langsen->transnoentitiesnoconv("Country".$obj->code):($obj->label?$obj->label:$langs->trans("Unknown"))),
+				            'label2'=>($obj->label2?$obj->label2:$langs->trans("Unknown")),
+							'nb'=>$obj->nb,
+							'lastdate'=>$db->jdate($obj->lastdate)
+                );
+	}
             if ($mode == 'memberbystate')
             {
                 $data[]=array('label'=>(($obj->code && $langs->trans("Country".$obj->code)!="Country".$obj->code)?$langs->trans("Country".$obj->code):($obj->label?$obj->label:$langs->trans("Unknown"))),
@@ -183,6 +211,7 @@ else
     if ($mode == 'memberbycountry') print $langs->trans("MembersByCountryDesc").'<br>';
     else if ($mode == 'memberbystate') print $langs->trans("MembersByStateDesc").'<br>';
     else if ($mode == 'memberbytown') print $langs->trans("MembersByTownDesc").'<br>';
+    else if ($mode == 'memberbyregion') print $langs->trans("MembersByRegion").'<br>';//+
     else
     {
         print $langs->trans("MembersStatisticsDesc").'<br>';
@@ -192,6 +221,8 @@ else
         print '<a href="'.$_SERVER["PHP_SELF"].'?mode=memberbystate">'.$langs->trans("MembersStatisticsByState").'</a><br>';
         print '<br>';
         print '<a href="'.$_SERVER["PHP_SELF"].'?mode=memberbytown">'.$langs->trans("MembersStatisticsByTown").'</a><br>';
+        print '<br>';//+
+	print '<a href="'.$_SERVER["PHP_SELF"].'?mode=memberbyregion">'.$langs->trans("MembersStatisticsByRegion").'</a><br>';//+
     }
     print '<br>';
 }
@@ -249,7 +280,7 @@ if (count($arrayjs) && $mode == 'memberbycountry')
 
 if ($mode)
 {
-    // Print array
+    // Print array / Affiche le tableau
     print '<table class="border" width="100%">';
     print '<tr class="liste_titre">';
     print '<td align="center">'.$label.'</td>';
-- 
GitLab