New: Add a tab into members statistics to count members by nature.

This commit is contained in:
Laurent Destailleur 2012-11-21 23:01:36 +01:00
parent 59a305f6f1
commit e76ef823b8
29 changed files with 190 additions and 26 deletions

View File

@ -26,6 +26,7 @@ For users:
- New: Can insert URL links into elements lines. Also reported into PDF.
- New: When a member is validated, we can subscribe to mailing-lists
according to its type.
- New: Add a tab into members statistics to count members by nature.
- New: Add link to third party into sells and purchase journal.
- New: Suggest a method to generate a backup file for user with no access
to mysqldump binary.

View File

@ -0,0 +1,151 @@
<?php
/* Copyright (c) 2012 Laurent Destailleur <eldy@users.sourceforge.net>
*
* 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 2 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 <http://www.gnu.org/licenses/>.
*/
/**
* \file htdocs/adherents/stats/byproperties.php
* \ingroup member
* \brief Page with statistics on members
*/
require '../../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/member.lib.php';
require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
$graphwidth = 700;
$mapratio = 0.5;
$graphheight = round($graphwidth * $mapratio);
$mode=GETPOST('mode')?GETPOST('mode'):'';
// Security check
if ($user->societe_id > 0)
{
$action = '';
$socid = $user->societe_id;
}
if (! $user->rights->adherent->cotisation->lire)
accessforbidden();
$year = strftime("%Y", time());
$startyear=$year-2;
$endyear=$year;
/*
* View
*/
$memberstatic=new Adherent($db);
llxHeader('','','','',0,0,array('http://www.google.com/jsapi'));
$title=$langs->trans("MembersStatisticsByProperties");
print_fiche_titre($title, $mesg);
dol_mkdir($dir);
$tab='byproperties';
$data = array();
$sql.="SELECT COUNT(d.rowid) as nb, MAX(d.datevalid) as lastdate, d.morphy as code";
$sql.=" FROM ".MAIN_DB_PREFIX."adherent as d";
$sql.=" WHERE d.entity IN (".getEntity().")";
$sql.=" AND d.statut = 1";
$sql.=" GROUP BY d.morphy";
$foundphy=$foundmor=0;
// Define $data array
dol_syslog("Count member sql=".$sql);
$resql=$db->query($sql);
if ($resql)
{
$num=$db->num_rows($resql);
$i=0;
while ($i < $num)
{
$obj=$db->fetch_object($resql);
if ($obj->code == 'phy') $foundphy++;
if ($obj->code == 'mor') $foundmor++;
$data[]=array('label'=>$obj->code, 'nb'=>$obj->nb, 'lastdate'=>$db->jdate($obj->lastdate));
$i++;
}
$db->free($resql);
}
else
{
dol_print_error($db);
}
$head = member_stats_prepare_head($adh);
dol_fiche_head($head, 'statsbyproperties', $langs->trans("Statistics"), 0, 'user');
// Print title
if (! count($data))
{
print $langs->trans("NoValidatedMemberYet").'<br>';
print '<br>';
}
else
{
print_fiche_titre($langs->trans("MembersByNature"),'','');
}
// Print array
print '<table class="border" width="100%">';
print '<tr class="liste_titre">';
print '<td align="center">'.$langs->trans("Nature").'</td>';
print '<td align="center">'.$langs->trans("NbOfMembers").'</td>';
print '<td align="center">'.$langs->trans("LastMemberDate").'</td>';
print '</tr>';
if (! $foundphy) $data[]=array('label'=>'phy','nb'=>'0','lastdate'=>'');
if (! $foundmor) $data[]=array('label'=>'mor','nb'=>'0','lastdate'=>'');
$oldyear=0;
$var=true;
foreach ($data as $val)
{
$year = $val['year'];
$var=!$var;
print '<tr '.$bc[$var].'>';
print '<td align="center">'.$memberstatic->getmorphylib($val['label']).'</td>';
print '<td align="right">'.$val['nb'].'</td>';
print '<td align="right">'.dol_print_date($val['lastdate'],'dayhour').'</td>';
print '</tr>';
$oldyear=$year;
}
print '</table>';
dol_fiche_end();
llxFooter();
$db->close();
?>

View File

@ -277,7 +277,8 @@ if ($mode)
dol_fiche_end();
$db->close();
llxFooter();
$db->close();
?>

View File

@ -96,7 +96,7 @@ function member_prepare_head($object)
$head[$h][2] = 'info';
$h++;
complete_head_from_modules($conf,$langs,$object,$head,$h,'member','remove');
return $head;
@ -175,6 +175,11 @@ function member_stats_prepare_head($object)
$head[$h][2] = 'statstown';
$h++;
$head[$h][0] = DOL_URL_ROOT.'/adherents/stats/byproperties.php';
$head[$h][1] = $langs->trans('ByProperties');
$head[$h][2] = 'statsbyproperties';
$h++;
// Show more tabs from modules
// Entries must be declared in modules descriptor with line
// $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab

View File

@ -202,7 +202,7 @@ LastSubscriptionDate=آخر موعد الاكتتاب
LastSubscriptionAmount=آخر مبلغ الاشتراك
MembersStatisticsByCountries=أعضاء إحصاءات حسب البلد
MembersStatisticsByState=أعضاء إحصاءات الولاية / المقاطعة
MembersStatisticsByTowne=أعضاء إحصاءات بلدة
MembersStatisticsByTown=أعضاء إحصاءات بلدة
NbOfMembers=عدد الأعضاء
NoValidatedMemberYet=العثور على أي أعضاء التحقق من صحة
MembersByCountryDesc=هذه الشاشة تظهر لك إحصاءات عن أعضاء من الدول. لكن الرسم يعتمد على خدمة غوغل الرسم البياني على الإنترنت ويتوفر فقط إذا كان على اتصال بالإنترنت ويعمل.

View File

@ -178,7 +178,7 @@ LastSubscriptionDate=Последно абонамент дата
LastSubscriptionAmount=Последно размера
MembersStatisticsByCountries=Потребители статистика страната
MembersStatisticsByState=Потребители статистика щат / провинция
MembersStatisticsByTowne=Потребители статистика града
MembersStatisticsByTown=Потребители статистика града
NbOfMembers=Брой на членовете
NoValidatedMemberYet=Няма потвърдени намерени
MembersByCountryDesc=Този екран показва статистическите данни на членовете по страни. Графичен зависи обаче от Google онлайн услуга графика и е достъпна само ако интернет връзката се работи.

View File

@ -210,7 +210,7 @@ LastSubscriptionDate=Sidste abonnement dato
LastSubscriptionAmount=Sidste tegningsbeløbet
MembersStatisticsByCountries=Medlemmer statistik efter land
MembersStatisticsByState=Medlemmer statistikker stat / provins
MembersStatisticsByTowne=Medlemmer statistikker byen
MembersStatisticsByTown=Medlemmer statistikker byen
NbOfMembers=Antal medlemmer
NoValidatedMemberYet=Ingen validerede medlemmer fundet
MembersByCountryDesc=Denne skærm viser dig statistikker over medlemmer af lande. Grafisk afhænger dog på Google online-graf service og er kun tilgængelig, hvis en internetforbindelse virker.

View File

@ -175,7 +175,7 @@ LastSubscriptionDate=Letzter Abo-Termin
LastSubscriptionAmount=Letzter Abo-Betrag
MembersStatisticsByCountries=Mitgliederstatistik nach Ländern
MembersStatisticsByState=Mitgliederstatistik nach Bundesländern
MembersStatisticsByTowne=Mitgliederstatistik nach Städten
MembersStatisticsByTown=Mitgliederstatistik nach Städten
NbOfMembers=Anzahl der Mitglieder
NoValidatedMemberYet=Kein freizugebenden Mitglieder gefunden
MembersByCountryDesc=Diese Form zeigt Ihnen die Mitgliederstatistik nach Ländern. Die Grafik basiert auf Googles Online-Grafik-Service ab und funktioniert nur wenn eine Internverbindung besteht.

View File

@ -171,7 +171,7 @@ LastSubscriptionDate=Τελευταία ημερομηνία εγγραφής
LastSubscriptionAmount=Τελευταία ποσό συνδρομής
MembersStatisticsByCountries=Μέλη στατιστικές ανά χώρα
MembersStatisticsByState=Τα μέλη στατιστικών στοιχείων από πολιτεία / επαρχία
MembersStatisticsByTowne=Τα μέλη στατιστικών στοιχείων από την πόλη
MembersStatisticsByTown=Τα μέλη στατιστικών στοιχείων από την πόλη
NbOfMembers=Αριθμός μελών
NoValidatedMemberYet=Δεν επικυρώνονται τα μέλη βρέθηκαν
MembersByCountryDesc=Αυτή η οθόνη σας δείξει στατιστικά στοιχεία σχετικά με τα μέλη από τις χώρες. Graphic εξαρτάται, ωστόσο, στην υπηρεσία της Google online διάγραμμα και είναι διαθέσιμο μόνο αν μια σύνδεση στο Διαδίκτυο είναι λειτουργεί.

View File

@ -170,7 +170,7 @@ LastSubscriptionDate=Last subscription date
LastSubscriptionAmount=Last subscription amount
MembersStatisticsByCountries=Members statistics by country
MembersStatisticsByState=Members statistics by state/province
MembersStatisticsByTowne=Members statistics by town
MembersStatisticsByTown=Members statistics by town
NbOfMembers=Number of members
NoValidatedMemberYet=No validated members found
MembersByCountryDesc=This screen show you statistics on members by countries. Graphic depends however on Google online graph service and is available only if an internet connection is is working.
@ -196,3 +196,6 @@ Collectivités=Organizations
Particuliers=Personal
Entreprises=Companies
DOLIBARRFOUNDATION_PAYMENT_FORM=To make your subscription payment using a bank transfer, see page <a target="_blank" href="http://wiki.dolibarr.org/index.php/Subscribe#To_subscribe_making_a_bank_transfer">http://wiki.dolibarr.org/index.php/Subscribe</a>.<br>To pay using a Credit Card or Paypal, click on button at bottom of this page.<br>
ByProperties=By characteristics
MembersStatisticsByProperties=Members statistics by characteristics
MembersByNature=Members by nature

View File

@ -177,7 +177,7 @@ LastSubscriptionDate=Last tellimise kuupäev
LastSubscriptionAmount=Last märkimissummast
MembersStatisticsByCountries=Liikmed statistika riik
MembersStatisticsByState=Liikmed statistika / maakond
MembersStatisticsByTowne=Liikmed statistika linn
MembersStatisticsByTown=Liikmed statistika linn
NbOfMembers=Liikmete arv
NoValidatedMemberYet=Ükski valideeritud liikmed leitud
MembersByCountryDesc=See ekraan näitab teile, statistika liikmetele riikides. Graphic sõltub siiski Google Interneti graafik teenust ning on saadaval vaid siis, kui internetiühendus on töötab.

View File

@ -208,7 +208,7 @@ LastSubscriptionDate=Viimeinen merkintäpäivä
LastSubscriptionAmount=Viime merkinnän määrästä
MembersStatisticsByCountries=Jäsenten tilastot maittain
MembersStatisticsByState=Jäsenten tilastot valtio / lääni
MembersStatisticsByTowne=Jäsenten tilastot kaupunki
MembersStatisticsByTown=Jäsenten tilastot kaupunki
NbOfMembers=Jäsenmäärä
NoValidatedMemberYet=Ei validoitu jäsenet pitivät
MembersByCountryDesc=Tämä ruutu näyttää tilastoja jäseniä maittain. Graphic riippuu kuitenkin Googlen online-käyrä palvelu ja on käytettävissä vain, jos internet-yhteys toimii.

View File

@ -201,3 +201,6 @@ Collectivités=Collectivités
Particuliers=Particuliers
Entreprises=Entreprises
DOLIBARRFOUNDATION_PAYMENT_FORM=Pour réaliser le paiement de votre cotisation par virement bancaire ou par chèque, consultez la page <a target="_blank" href="http://wiki.dolibarr.org/index.php/Adh%C3%A9rer#Pour_une_adh.C3.A9sion_par_ch.C3.A8que">http://wiki.dolibarr.org/index.php/Adhérer</a>.<br>Pour payer dès maintenant par Carte Bancaire ou Paypal, cliquez sur le bouton au bas de cette page.<br>
ByProperties=Par caractéristiques
MembersStatisticsByProperties=Statistiques des adhérents par caractéristiques
MembersByNature=Adhérents par nature

View File

@ -177,7 +177,7 @@ LastSubscriptionDate=מנוי אחרונה תאריך
LastSubscriptionAmount=המינוי האחרון כמות
MembersStatisticsByCountries=משתמשים סטטיסטיקה לפי מדינות
MembersStatisticsByState=חברים הסטטיסטיקה של מדינה / מחוז
MembersStatisticsByTowne=חברים הסטטיסטיקה של העיר
MembersStatisticsByTown=חברים הסטטיסטיקה של העיר
NbOfMembers=מספר החברים
NoValidatedMemberYet=אין חברים תוקף נמצא
MembersByCountryDesc=מסך זה מראה לך נתונים סטטיסטיים על החברים של מדינות. עם זאת גרפי תלוי על שירות Google גרף באינטרנט זמינה רק אם החיבור לאינטרנט הוא עובד.

View File

@ -177,7 +177,7 @@ LastSubscriptionDate=Utolsó dátum előfizetés
LastSubscriptionAmount=Utolsó előfizetés összege
MembersStatisticsByCountries=Tagok statisztikája ország
MembersStatisticsByState=Tagok statisztikája állam / tartomány
MembersStatisticsByTowne=Tagok statisztikája város
MembersStatisticsByTown=Tagok statisztikája város
NbOfMembers=Tagok száma
NoValidatedMemberYet=Nem hitelesített tagok található
MembersByCountryDesc=Ez a képernyő megmutatja statisztikát tagok országokban. Grafikus függ azonban a Google online grafikon szolgáltatást és csak akkor elérhető, ha az internet kapcsolat működik.

View File

@ -190,7 +190,7 @@ LastSubscriptionDate=Síðast áskrift dagsetning
LastSubscriptionAmount=Síðast áskrift upphæð
MembersStatisticsByCountries=Notendur tölfræði eftir landi
MembersStatisticsByState=Notendur tölfræði eftir fylki / hérað
MembersStatisticsByTowne=Notendur tölfræði eftir bænum
MembersStatisticsByTown=Notendur tölfræði eftir bænum
NbOfMembers=Fjöldi félaga
NoValidatedMemberYet=Engar fullgiltar meðlimir fundust
MembersByCountryDesc=Þessi skjár sýnir þér tölfræði á meðlimum með löndum. Grafísk veltur þó á Google netinu línurit þjónustu og er aðeins í boði ef nettengingin er er að vinna.

View File

@ -105,7 +105,7 @@ MembersListValid =Elenco dei membri validi
Members =Membri
MembersStatisticsByCountries =Statistiche per paese
MembersStatisticsByState =Statistiche per stato/provincia
MembersStatisticsByTowne =Statistiche per città
MembersStatisticsByTown =Statistiche per città
MembersStatisticsDesc =Scegli quali statistiche visualizzare...
MembersStatusNotPaid =Membri non pagati
MembersStatusNotPaidShort =Non pagati

View File

@ -177,7 +177,7 @@ LastSubscriptionDate=最後のサブスクリプションの日付
LastSubscriptionAmount=最後のサブスクリプションの量
MembersStatisticsByCountries=国別メンバー統計
MembersStatisticsByState=都道府県/州によってメンバーの統計
MembersStatisticsByTowne=町によってメンバーの統計
MembersStatisticsByTown=町によってメンバーの統計
NbOfMembers=会員数
NoValidatedMemberYet=いいえ検証メンバーが見つかりませんでした
MembersByCountryDesc=この画面には、国によるメンバーの統計情報を表示します。グラフィックは、Googleのオンライングラフサービスに依存しますが、インターネット接続が機能している場合にのみ使用できます。

View File

@ -185,7 +185,7 @@ LastSubscriptionDate=Siste abonnement dato
LastSubscriptionAmount=Siste tegningsbeløp
MembersStatisticsByCountries=Medlemmer statistikk etter land
MembersStatisticsByState=Medlemmer statistikk etter delstat / provins
MembersStatisticsByTowne=Medlemmer statistikk etter by
MembersStatisticsByTown=Medlemmer statistikk etter by
NbOfMembers=Antall medlemmer
NoValidatedMemberYet=Ingen validerte medlemmer funnet
MembersByCountryDesc=Denne skjermen viser deg statistikk på medlemmer av land. Graphic imidlertid avhengig Google elektroniske grafen service og er bare tilgjengelig hvis en internett-tilkobling er fungerer.

View File

@ -171,7 +171,7 @@ LastSubscriptionAmount = Laatste abonnementsaantal
// START - Lines generated via autotranslator.php tool (2011-10-10 01:46:39).
// Reference language: en_US -> nl_NL
MembersStatisticsByState=Leden statistieken per staat / provincie
MembersStatisticsByTowne=Leden van de statistieken per gemeente
MembersStatisticsByTown=Leden van de statistieken per gemeente
NbOfMembers=Aantal leden
NoValidatedMemberYet=Geen gevalideerde leden gevonden
MembersByCountryDesc=Dit scherm tonen statistieken over de leden door de landen. Grafisch is echter afhankelijk van Google online grafiek service en is alleen beschikbaar als een internet verbinding is werkt.

View File

@ -200,7 +200,7 @@ LastSubscriptionDate=Ostatnia data abonament
LastSubscriptionAmount=Ostatnio kwota subskrypcji
MembersStatisticsByCountries=Użytkownicy statystyki według kraju
MembersStatisticsByState=Użytkownicy statystyki na State / Province
MembersStatisticsByTowne=Użytkownicy statystyki na miasto
MembersStatisticsByTown=Użytkownicy statystyki na miasto
NbOfMembers=Liczba członków
NoValidatedMemberYet=Żadna potwierdzona znaleziono użytkowników
MembersByCountryDesc=Ten ekran pokaże statystyki członków przez poszczególne kraje. Graficzny zależy jednak na Google usługi online grafów i jest dostępna tylko wtedy, gdy połączenie internetowe działa.

View File

@ -187,7 +187,7 @@ LastSubscriptionDate=Última data de subscrição
LastSubscriptionAmount=Montante de subscrição Última
MembersStatisticsByCountries=Membros estatísticas por país
MembersStatisticsByState=Membros estatísticas por estado / província
MembersStatisticsByTowne=Membros estatísticas por cidade
MembersStatisticsByTown=Membros estatísticas por cidade
NbOfMembers=Número de membros
NoValidatedMemberYet=Nenhum membro validado encontrado
MembersByCountryDesc=Esta tela mostrará estatísticas sobre membros dos países. Gráfico depende, contudo, o serviço Google gráfico on-line e está disponível apenas se uma ligação à Internet é está funcionando.

View File

@ -203,7 +203,7 @@ LastSubscriptionDate=Ultima data de abonament
LastSubscriptionAmount=Ultima sumă abonament
MembersStatisticsByCountries=Membri statisticilor în funcţie de ţară
MembersStatisticsByState=Statistici Membri de stat / provincie
MembersStatisticsByTowne=Statistici Membri de oraş
MembersStatisticsByTown=Statistici Membri de oraş
NbOfMembers=Număr de membri
NoValidatedMemberYet=Nici membrii validate găsit
MembersByCountryDesc=Acest ecran vă arată statisticile cu privire la membrii de ţări. Graphic depinde de toate acestea, cu privire la serviciul on-line Google grafic şi este disponibil numai în cazul în care o conexiune la internet este este de lucru.

View File

@ -198,7 +198,7 @@ LastSubscriptionDate=Последний день подписки
LastSubscriptionAmount=Последняя сумма подписки
MembersStatisticsByCountries=Члены статистику по странам
MembersStatisticsByState=Члены статистики штата / провинции
MembersStatisticsByTowne=Члены статистики города
MembersStatisticsByTown=Члены статистики города
NbOfMembers=Количество членов
NoValidatedMemberYet=Нет проверки члены найдены
MembersByCountryDesc=Этот экран покажет вам статистику членов странами. Графический зависит однако от Google сервис график онлайн и доступна, только если подключение к Интернету работает.

View File

@ -167,7 +167,7 @@ LastSubscriptionDate = Zadnji datum članarine
LastSubscriptionAmount = Zadnji znesek članarine
MembersStatisticsByCountries = Statistika članov po državah
MembersStatisticsByState = Statistika članov po deželah
MembersStatisticsByTowne = Statistika članov po mestih
MembersStatisticsByTown = Statistika članov po mestih
NbOfMembers = Število članov
NoValidatedMemberYet = Najdeni so nepotrjeni člani
MembersByCountryDesc = Na tem zaslonu je prikazana statistika članov po državah. Grafika je odvisna od Google storitve in je na voljo samo pri delujoči internetni povezavi.

View File

@ -190,7 +190,7 @@ LastSubscriptionDate=Senast teckningsdag
LastSubscriptionAmount=Senast teckningsbelopp
MembersStatisticsByCountries=Medlemmar statistik per land
MembersStatisticsByState=Medlemmar statistik från stat / provins
MembersStatisticsByTowne=Medlemmar statistik per kommun
MembersStatisticsByTown=Medlemmar statistik per kommun
NbOfMembers=Antal medlemmar
NoValidatedMemberYet=Inga godkända medlemmar hittades
MembersByCountryDesc=Denna skärm visar statistik om medlemmar med länder. Grafisk beror dock på Google online grafen service och är tillgänglig endast om en Internet-anslutning fungerar.

View File

@ -180,7 +180,7 @@ LastSubscriptionAmount=Son abonelik tutarı
"MembersStatisticsByCountries=Ülkelere göre üyelik istatistikleri
"
MembersStatisticsByState=Eyalete/ile göre üyelik istatistikleri
MembersStatisticsByTowne=İlçelere göre üyelik istatistikleri
MembersStatisticsByTown=İlçelere göre üyelik istatistikleri
NbOfMembers=Üye sayısı
NoValidatedMemberYet=Doğrulanmamış üye bulunmadı
MembersByCountryDesc=Bu ekran ülkelere göre üyelik istatisklerini görüntüler. Grafik eğer internet hizmeti çalışıyor ise sadece google çevrimiçi grafik hizmetince sağlanır.

View File

@ -190,7 +190,7 @@ LastSubscriptionDate=最后认购日期
LastSubscriptionAmount=最后认购金额
MembersStatisticsByCountries=成员由国家统计
MembersStatisticsByState=成员由州/省的统计信息
MembersStatisticsByTowne=成员由镇统计
MembersStatisticsByTown=成员由镇统计
NbOfMembers=成员数
NoValidatedMemberYet=没有验证的成员发现
MembersByCountryDesc=该屏幕显示您成员国的统计数字。然而,图形取决于谷歌在线图服务,可只有一个互联网连接工作。

View File

@ -190,7 +190,7 @@ LastSubscriptionDate=最後認購日期
LastSubscriptionAmount=最後認購金額
MembersStatisticsByCountries=成員由國家統計
MembersStatisticsByState=成員由州/省的統計信息
MembersStatisticsByTowne=成員由鎮統計
MembersStatisticsByTown=成員由鎮統計
NbOfMembers=成員數
NoValidatedMemberYet=沒有驗證的成員發現
MembersByCountryDesc=該屏幕顯示您成員國的統計數字。然而,圖形取決於谷歌在線圖服務,可只有一個互聯網連接工作。