From 6db5185d7e950dd0519f1a713c15545b6fee926e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 20 Nov 2012 23:57:35 +0100 Subject: [PATCH 01/11] Fix: Missing include --- htdocs/fourn/class/fournisseur.facture.class.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php index 0ac846810a9..c01815816c4 100644 --- a/htdocs/fourn/class/fournisseur.facture.class.php +++ b/htdocs/fourn/class/fournisseur.facture.class.php @@ -30,8 +30,7 @@ include_once DOL_DOCUMENT_ROOT.'/core/class/commoninvoice.class.php'; /** - * \class FactureFournisseur - * \brief Class to manage suppliers invoices + * Class to manage suppliers invoices */ class FactureFournisseur extends CommonInvoice { @@ -618,6 +617,8 @@ class FactureFournisseur extends CommonInvoice // We remove directory if ($conf->fournisseur->facture->dir_output) { + include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + $ref = dol_sanitizeFileName($this->ref); $dir = $conf->fournisseur->facture->dir_output.'/'.get_exdir($this->id, 2).$ref; $file = $dir . "/" . $ref . ".pdf"; @@ -632,6 +633,7 @@ class FactureFournisseur extends CommonInvoice if (file_exists($dir)) { $res=@dol_delete_dir_recursive($dir); + if (! $res) { $this->error='ErrorFailToDeleteDir'; From af637c8afbef32c7f4faad689a4905b3656f71e6 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 21 Nov 2012 14:45:02 +0100 Subject: [PATCH 02/11] Qual: Removed "dolibarr" into default email sender. --- htdocs/core/class/conf.class.php | 2 +- htdocs/install/mysql/data/llx_const.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/core/class/conf.class.php b/htdocs/core/class/conf.class.php index ae35425bf09..1c1461436d5 100644 --- a/htdocs/core/class/conf.class.php +++ b/htdocs/core/class/conf.class.php @@ -371,7 +371,7 @@ class Conf $this->css = "/theme/".$this->theme."/style.css.php"; // conf->email_from = email pour envoi par dolibarr des mails automatiques - $this->email_from = "dolibarr-robot@domain.com"; + $this->email_from = "robot@domain.com"; if (! empty($this->global->MAIN_MAIL_EMAIL_FROM)) $this->email_from = $this->global->MAIN_MAIL_EMAIL_FROM; // conf->notification->email_from = email pour envoi par Dolibarr des notifications diff --git a/htdocs/install/mysql/data/llx_const.sql b/htdocs/install/mysql/data/llx_const.sql index 23b20a0411b..ef84f9ee005 100644 --- a/htdocs/install/mysql/data/llx_const.sql +++ b/htdocs/install/mysql/data/llx_const.sql @@ -46,7 +46,7 @@ insert into llx_const (name, value, type, note, visible, entity) values ('MAIN_U -- Hidden but specific to one entity insert into llx_const (name, value, type, note, visible, entity) values ('MAIN_MONNAIE','EUR','chaine','Monnaie',0,1); -insert into llx_const (name, value, type, note, visible, entity) values ('MAIN_MAIL_EMAIL_FROM','dolibarr-robot@domain.com','chaine','EMail emetteur pour les emails automatiques Dolibarr',0,1); +insert into llx_const (name, value, type, note, visible, entity) values ('MAIN_MAIL_EMAIL_FROM','robot@domain.com','chaine','EMail emetteur pour les emails automatiques Dolibarr',0,1); -- -- IHM From 66cf1419ca0e265175fc0182e5f9d8bb5bcdfcc0 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 21 Nov 2012 17:48:27 +0100 Subject: [PATCH 03/11] Fix: llx_c_paper_format dictionnary was not up to date. --- .../install/mysql/migration/3.2.0-3.3.0.sql | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/htdocs/install/mysql/migration/3.2.0-3.3.0.sql b/htdocs/install/mysql/migration/3.2.0-3.3.0.sql index db3968df5d6..d0c921a2584 100755 --- a/htdocs/install/mysql/migration/3.2.0-3.3.0.sql +++ b/htdocs/install/mysql/migration/3.2.0-3.3.0.sql @@ -804,5 +804,35 @@ ALTER TABLE llx_c_typent DROP INDEX code, ADD UNIQUE uk_c_typent (code); ALTER TABLE llx_c_effectif DROP INDEX code, ADD UNIQUE uk_c_effectif (code); ALTER TABLE llx_c_paiement DROP INDEX code, ADD UNIQUE uk_c_paiement (code); + +-- Update dictionnary of table llx_c_paper_format +DELETE FROM llx_c_paper_format; + +-- Europe +INSERT INTO llx_c_paper_format (rowid, code, label, width, height, unit, active) VALUES (1, 'EU4A0', 'Format 4A0', '1682', '2378', 'mm', 1); +INSERT INTO llx_c_paper_format (rowid, code, label, width, height, unit, active) VALUES (2, 'EU2A0', 'Format 2A0', '1189', '1682', 'mm', 1); +INSERT INTO llx_c_paper_format (rowid, code, label, width, height, unit, active) VALUES (3, 'EUA0', 'Format A0', '840', '1189', 'mm', 1); +INSERT INTO llx_c_paper_format (rowid, code, label, width, height, unit, active) VALUES (4, 'EUA1', 'Format A1', '594', '840', 'mm', 1); +INSERT INTO llx_c_paper_format (rowid, code, label, width, height, unit, active) VALUES (5, 'EUA2', 'Format A2', '420', '594', 'mm', 1); +INSERT INTO llx_c_paper_format (rowid, code, label, width, height, unit, active) VALUES (6, 'EUA3', 'Format A3', '297', '420', 'mm', 1); +INSERT INTO llx_c_paper_format (rowid, code, label, width, height, unit, active) VALUES (7, 'EUA4', 'Format A4', '210', '297', 'mm', 1); +INSERT INTO llx_c_paper_format (rowid, code, label, width, height, unit, active) VALUES (8, 'EUA5', 'Format A5', '148', '210', 'mm', 1); +INSERT INTO llx_c_paper_format (rowid, code, label, width, height, unit, active) VALUES (9, 'EUA6', 'Format A6', '105', '148', 'mm', 1); + +-- US +INSERT INTO llx_c_paper_format (rowid, code, label, width, height, unit, active) VALUES (100, 'USLetter', 'Format Letter (A)', '216', '279', 'mm', 1); +INSERT INTO llx_c_paper_format (rowid, code, label, width, height, unit, active) VALUES (105, 'USLegal', 'Format Legal', '216', '356', 'mm', 1); +INSERT INTO llx_c_paper_format (rowid, code, label, width, height, unit, active) VALUES (110, 'USExecutive', 'Format Executive', '190', '254', 'mm', 1); +INSERT INTO llx_c_paper_format (rowid, code, label, width, height, unit, active) VALUES (115, 'USLedger', 'Format Ledger/Tabloid (B)', '279', '432', 'mm', 1); + +-- Canadian +INSERT INTO llx_c_paper_format (rowid, code, label, width, height, unit, active) VALUES (200, 'CAP1', 'Format Canadian P1', '560', '860', 'mm', 1); +INSERT INTO llx_c_paper_format (rowid, code, label, width, height, unit, active) VALUES (205, 'CAP2', 'Format Canadian P2', '430', '560', 'mm', 1); +INSERT INTO llx_c_paper_format (rowid, code, label, width, height, unit, active) VALUES (210, 'CAP3', 'Format Canadian P3', '280', '430', 'mm', 1); +INSERT INTO llx_c_paper_format (rowid, code, label, width, height, unit, active) VALUES (215, 'CAP4', 'Format Canadian P4', '215', '280', 'mm', 1); +INSERT INTO llx_c_paper_format (rowid, code, label, width, height, unit, active) VALUES (220, 'CAP5', 'Format Canadian P5', '140', '215', 'mm', 1); +INSERT INTO llx_c_paper_format (rowid, code, label, width, height, unit, active) VALUES (225, 'CAP6', 'Format Canadian P6', '107', '140', 'mm', 1); + + -- increase field size ALTER TABLE llx_bank_account MODIFY COLUMN code_banque varchar(8); \ No newline at end of file From 6a11016a21e30f8e3200ffd5ac8907510110912d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 21 Nov 2012 18:45:52 +0100 Subject: [PATCH 04/11] Fix: var_dump must be commented --- htdocs/exports/export.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/htdocs/exports/export.php b/htdocs/exports/export.php index f96eb57d648..c96ce410864 100644 --- a/htdocs/exports/export.php +++ b/htdocs/exports/export.php @@ -353,7 +353,7 @@ if ($step == 4 && $action == 'submitFormField') if (is_array($objexport->array_export_TypeFields[0])) { $_SESSION["export_FilterValue_fields"]=array(); - var_dump($_POST); + //var_dump($_POST); foreach($objexport->array_export_TypeFields[0] as $code => $type) // $code: s.fieldname $value: Text|Boolean|List:ccc { $newcode=(string) preg_replace('/\./','_',$code); @@ -362,7 +362,7 @@ if ($step == 4 && $action == 'submitFormField') if (! isset($_POST[$newcode]) || $_POST[$newcode] == '') $filterqualified=0; elseif (preg_match('/^List/',$type) && $_POST[$newcode] <= 0) $filterqualified=0; if ($filterqualified) - { + { //print 'Filter on '.$newcode.' type='.$type.' value='.$_POST[$newcode]."\n"; $objexport->array_export_FilterValue[0][$code] = $_POST[$newcode]; } @@ -739,7 +739,7 @@ if ($step == 3 && $datatoexport) print ''; print $form->textwithpicto($text,$htmltext); print ''; - + // Filter value print ''; if (! empty($Typefieldsarray[$code])) @@ -847,7 +847,7 @@ if ($step == 4 && $datatoexport) $list=''; foreach($array_filtervalue as $code=>$value) { - if (isset($objexport->array_export_fields[0][$code])) + if (isset($objexport->array_export_fields[0][$code])) { $list.=($list?', ':''); $list.=$langs->trans($objexport->array_export_fields[0][$code])."='".(isset($array_filtervalue[$code])?$array_filtervalue[$code]:'')."'"; @@ -1079,7 +1079,7 @@ if ($step == 5 && $datatoexport) $list=''; foreach($array_filtervalue as $code=>$value) { - if (isset($objexport->array_export_fields[0][$code])) + if (isset($objexport->array_export_fields[0][$code])) { $list.=($list?', ':''); $list.=$langs->trans($objexport->array_export_fields[0][$code])."='".(isset($array_filtervalue[$code])?$array_filtervalue[$code]:'')."'"; From 06a8ba2be2fd608383c5d994a32597cf6566d860 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 21 Nov 2012 18:51:49 +0100 Subject: [PATCH 05/11] Fix: for combo list that use text key. --- htdocs/exports/export.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/exports/export.php b/htdocs/exports/export.php index c96ce410864..6eec105a832 100644 --- a/htdocs/exports/export.php +++ b/htdocs/exports/export.php @@ -360,7 +360,7 @@ if ($step == 4 && $action == 'submitFormField') //print 'xxx'.$code."=".$newcode."=".$type."=".$_POST[$newcode]."\n
"; $filterqualified=1; if (! isset($_POST[$newcode]) || $_POST[$newcode] == '') $filterqualified=0; - elseif (preg_match('/^List/',$type) && $_POST[$newcode] <= 0) $filterqualified=0; + elseif (preg_match('/^List/',$type) && (is_numeric($_POST[$newcode]) && $_POST[$newcode] <= 0)) $filterqualified=0; if ($filterqualified) { //print 'Filter on '.$newcode.' type='.$type.' value='.$_POST[$newcode]."\n"; From 31ecc1987e8bb468f08a6b5c8ad772bb72a46c4e Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Wed, 21 Nov 2012 18:52:25 +0100 Subject: [PATCH 06/11] Fix: remove old code --- htdocs/exports/export.php | 48 ++++++++++++--------------------------- 1 file changed, 14 insertions(+), 34 deletions(-) diff --git a/htdocs/exports/export.php b/htdocs/exports/export.php index f96eb57d648..5f2b0e6d2c0 100644 --- a/htdocs/exports/export.php +++ b/htdocs/exports/export.php @@ -229,11 +229,11 @@ if ($action == 'builddoc') $result=$objexport->build_file($user, $_POST['model'], $datatoexport, $array_selected, $array_filtervalue); if ($result < 0) { - $mesg='
'.$objexport->error.'
'; + setEventMessage($objexport->error, 'errors'); } else { - $mesg='
'.$langs->trans("FileSuccessfullyBuilt").'
'; + setEventMessage($langs->trans("FileSuccessfullyBuilt")); $sqlusedforexport=$objexport->sqlusedforexport; } } @@ -292,21 +292,20 @@ if ($action == 'add_export_model') $result = $objexport->create($user); if ($result >= 0) { - $mesg='
'.$langs->trans("ExportModelSaved",$objexport->model_name).'
'; + setEventMessage($langs->trans("ExportModelSaved",$objexport->model_name)); } else { $langs->load("errors"); if ($objexport->errno == 'DB_ERROR_RECORD_ALREADY_EXISTS') - { - $mesg='
'.$langs->trans("ErrorExportDuplicateProfil").'
'; - } - else $mesg='
'.$objexport->error.'
'; + setEventMessage($langs->trans("ErrorExportDuplicateProfil"), 'errors'); + else + setEventMessage($objexport->error, 'errors'); } } else { - $mesg='
'.$langs->trans("ErrorFieldRequired",$langs->transnoentities("ExportModelName")).'
'; + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("ExportModelName")), 'errors'); } } @@ -353,7 +352,7 @@ if ($step == 4 && $action == 'submitFormField') if (is_array($objexport->array_export_TypeFields[0])) { $_SESSION["export_FilterValue_fields"]=array(); - var_dump($_POST); + //var_dump($_POST); foreach($objexport->array_export_TypeFields[0] as $code => $type) // $code: s.fieldname $value: Text|Boolean|List:ccc { $newcode=(string) preg_replace('/\./','_',$code); @@ -362,7 +361,7 @@ if ($step == 4 && $action == 'submitFormField') if (! isset($_POST[$newcode]) || $_POST[$newcode] == '') $filterqualified=0; elseif (preg_match('/^List/',$type) && $_POST[$newcode] <= 0) $filterqualified=0; if ($filterqualified) - { + { //print 'Filter on '.$newcode.' type='.$type.' value='.$_POST[$newcode]."\n"; $objexport->array_export_FilterValue[0][$code] = $_POST[$newcode]; } @@ -447,9 +446,6 @@ if ($step == 1 || ! $datatoexport) print ''; print ''; - - if ($mesg) print $mesg; - } if ($step == 2 && $datatoexport) @@ -595,8 +591,6 @@ if ($step == 2 && $datatoexport) print ''; - if ($mesg) print $mesg; - /* * Barre d'action * @@ -739,7 +733,7 @@ if ($step == 3 && $datatoexport) print ''; print $form->textwithpicto($text,$htmltext); print ''; - + // Filter value print ''; if (! empty($Typefieldsarray[$code])) @@ -764,12 +758,9 @@ if ($step == 3 && $datatoexport) print ''; - if ($mesg) print $mesg; - /* * Barre d'action - * - */ + */ print '
'; // il n'est pas obligatoire de filtrer les champs print ''.$langs->trans("NextStep").''; @@ -847,7 +838,7 @@ if ($step == 4 && $datatoexport) $list=''; foreach($array_filtervalue as $code=>$value) { - if (isset($objexport->array_export_fields[0][$code])) + if (isset($objexport->array_export_fields[0][$code])) { $list.=($list?', ':''); $list.=$langs->trans($objexport->array_export_fields[0][$code])."='".(isset($array_filtervalue[$code])?$array_filtervalue[$code]:'')."'"; @@ -919,11 +910,8 @@ if ($step == 4 && $datatoexport) print ''; - print '
'; - if ($mesg) print $mesg; - /* * Barre d'action * @@ -994,7 +982,6 @@ if ($step == 4 && $datatoexport) print ''; print ''; } - } if ($step == 5 && $datatoexport) @@ -1079,7 +1066,7 @@ if ($step == 5 && $datatoexport) $list=''; foreach($array_filtervalue as $code=>$value) { - if (isset($objexport->array_export_fields[0][$code])) + if (isset($objexport->array_export_fields[0][$code])) { $list.=($list?', ':''); $list.=$langs->trans($objexport->array_export_fields[0][$code])."='".(isset($array_filtervalue[$code])?$array_filtervalue[$code]:'')."'"; @@ -1118,12 +1105,7 @@ if ($step == 5 && $datatoexport) print ''; print ''; - if ($mesg) - { - print ''; - } + if ($sqlusedforexport && $user->admin) { print '
'; - print $mesg; - print '
'; @@ -1144,10 +1126,8 @@ if ($step == 5 && $datatoexport) print '
'; } - print '
'; - llxFooter(); $db->close(); From c49fea217f5af5b0f91a164a6366daf0dbd51f06 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 21 Nov 2012 19:00:06 +0100 Subject: [PATCH 07/11] Fix: Another fix on sql request generation. --- htdocs/exports/class/export.class.php | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/htdocs/exports/class/export.class.php b/htdocs/exports/class/export.class.php index f44722d8de6..2bd5b27537c 100644 --- a/htdocs/exports/class/export.class.php +++ b/htdocs/exports/class/export.class.php @@ -253,18 +253,18 @@ class Export // build the input field on depend of the type of file switch ($InfoFieldList[0]) { case 'Text': - if (strpos($ValueField, "%") > 0) - $szFilterQuery=" ".$NameField." like '".$ValueField."'"; + if (! (strpos($ValueField, '%') === false)) + $szFilterQuery.=" ".$NameField." LIKE '".$ValueField."'"; else - $szFilterQuery=" ".$NameField."='".$ValueField."'"; + $szFilterQuery.=" ".$NameField."='".$ValueField."'"; break; case 'Date': if (strpos($ValueField, "+") > 0) { // mode plage $ValueArray = explode("+", $ValueField); - $szFilterQuery= $this->conditionDate($NameField,$ValueArray[0],">="); - $szFilterQuery.=" and ".$this->conditionDate($NameField,$ValueArray[1],"<="); + $szFilterQuery ="(".$this->conditionDate($NameField,$ValueArray[0],">="); + $szFilterQuery.=" AND ".$this->conditionDate($NameField,$ValueArray[1],"<=").")"; } else { @@ -282,8 +282,8 @@ class Export { // mode plage $ValueArray = explode("+", $ValueField); - $szFilterQuery=$NameField.">=".$ValueArray[0]; - $szFilterQuery.=" and ".$NameField."<=".$ValueArray[1]; + $szFilterQuery ="(".$NameField.">=".$ValueArray[0]; + $szFilterQuery.=" AND ".$NameField."<=".$ValueArray[1].")"; } else { @@ -337,9 +337,9 @@ class Export { $szFilterField=''; $InfoFieldList = explode(":", $TypeField); - + // build the input field on depend of the type of file - switch ($InfoFieldList[0]) + switch ($InfoFieldList[0]) { case 'Text': case 'Date': @@ -387,13 +387,13 @@ class Export while ($i < $num) { $obj = $this->db->fetch_object($resql); - if ($obj->$InfoFieldList[2] == '-') + if ($obj->$InfoFieldList[2] == '-') { // Discard entry '-' $i++; continue; } - + $labeltoshow=dol_trunc($obj->$InfoFieldList[2],18); if (!empty($ValueField) && $ValueField == $obj->rowid) { From 1f263943c540cf5ca5fb3d52e09e151e156076db Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 21 Nov 2012 19:07:03 +0100 Subject: [PATCH 08/11] New: Add option to add slashes lines between lines into PDF. --- ChangeLog | 7 ++++--- .../core/modules/commande/doc/pdf_einstein.modules.php | 9 +++++++++ .../expedition/doc/pdf_expedition_merou.modules.php | 9 +++++++++ .../expedition/doc/pdf_expedition_rouget.modules.php | 9 +++++++++ htdocs/core/modules/facture/doc/pdf_crabe.modules.php | 9 +++++++++ .../core/modules/livraison/pdf/pdf_typhon.modules.php | 10 ++++++++++ .../core/modules/project/pdf/pdf_baleine.modules.php | 9 +++++++++ htdocs/core/modules/propale/doc/pdf_azur.modules.php | 9 +++++++++ .../supplier_invoice/pdf/pdf_canelle.modules.php | 9 +++++++++ .../supplier_order/pdf/pdf_muscadet.modules.php | 9 +++++++++ 10 files changed, 86 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 877bd292c05..42cd19157a8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -50,9 +50,10 @@ For users: - New: Allow to search product from barcodes directly from invoices, proposals... through AJAX. - New: Can make one invoice for several orders. - New: POS module can works with only one payment method (cach, chq, credit card). -- New: Add possibility to defined position/job of a user -- New: [ task #210 ] Can choose cash account during POS login -- New: [ task #104 ] Can create an invoice from several orders +- New: Add possibility to defined position/job of a user. +- New: Add hidden option to add slashes between lines into PDF. +- New: [ task #210 ] Can choose cash account during POS login. +- New: [ task #104 ] Can create an invoice from several orders. - New: Update libs/tools/logo for DoliWamp (now use PHP 5.3). - New: Added ODT Template tag {object_total_discount} - New: Add new import options: Third parties bank details, warehouses and stocks, categories and suppliers prices diff --git a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php index 1d56eb79635..9e3a9de7889 100644 --- a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php @@ -381,6 +381,15 @@ class pdf_einstein extends ModelePDFCommandes $this->localtax1[$localtax1rate]+=$localtax1ligne; $this->localtax2[$localtax2rate]+=$localtax2ligne; + // Add line + if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES)) + { + $pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(210,210,210))); + //$pdf->SetDrawColor(190,190,200); + $pdf->line($this->marge_gauche, $nexY+1, $this->page_largeur - $this->marge_droite, $nexY+1); + $pdf->SetLineStyle(array('dash'=>0)); + } + $nexY+=2; // Passe espace entre les lignes // Detect if some page were added automatically and output _tableau for past pages diff --git a/htdocs/core/modules/expedition/doc/pdf_expedition_merou.modules.php b/htdocs/core/modules/expedition/doc/pdf_expedition_merou.modules.php index e65d09453e8..bdd85bb2abc 100644 --- a/htdocs/core/modules/expedition/doc/pdf_expedition_merou.modules.php +++ b/htdocs/core/modules/expedition/doc/pdf_expedition_merou.modules.php @@ -243,6 +243,15 @@ class pdf_expedition_merou extends ModelePdfExpedition $pdf->SetXY(170, $curY); $pdf->MultiCell(30, 3, $object->lines[$i]->qty_shipped, 0, 'C', 0); + // Add line + if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES)) + { + $pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(210,210,210))); + //$pdf->SetDrawColor(190,190,200); + $pdf->line($this->marge_gauche, $nexY+1, $this->page_largeur - $this->marge_droite, $nexY+1); + $pdf->SetLineStyle(array('dash'=>0)); + } + $nexY+=2; // Passe espace entre les lignes // Detect if some page were added automatically and output _tableau for past pages diff --git a/htdocs/core/modules/expedition/doc/pdf_expedition_rouget.modules.php b/htdocs/core/modules/expedition/doc/pdf_expedition_rouget.modules.php index 37f3ffc6538..8e6cc244598 100644 --- a/htdocs/core/modules/expedition/doc/pdf_expedition_rouget.modules.php +++ b/htdocs/core/modules/expedition/doc/pdf_expedition_rouget.modules.php @@ -262,6 +262,15 @@ class pdf_expedition_rouget extends ModelePdfExpedition $pdf->SetXY($this->posxqtytoship, $curY); $pdf->MultiCell(($this->page_largeur - $this->marge_droite - $this->posxqtytoship), 3, $object->lines[$i]->qty_shipped,'','C'); + // Add line + if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES)) + { + $pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(210,210,210))); + //$pdf->SetDrawColor(190,190,200); + $pdf->line($this->marge_gauche, $nexY+1, $this->page_largeur - $this->marge_droite, $nexY+1); + $pdf->SetLineStyle(array('dash'=>0)); + } + $nexY+=2; // Passe espace entre les lignes // Detect if some page were added automatically and output _tableau for past pages diff --git a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php index 77d09e85691..5a6e8d4a695 100755 --- a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php @@ -382,6 +382,15 @@ class pdf_crabe extends ModelePDFFactures $this->localtax1[$localtax1rate]+=$localtax1ligne; $this->localtax2[$localtax2rate]+=$localtax2ligne; + // Add line + if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES)) + { + $pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(210,210,210))); + //$pdf->SetDrawColor(190,190,200); + $pdf->line($this->marge_gauche, $nexY+1, $this->page_largeur - $this->marge_droite, $nexY+1); + $pdf->SetLineStyle(array('dash'=>0)); + } + $nexY+=2; // Passe espace entre les lignes // Detect if some page were added automatically and output _tableau for past pages diff --git a/htdocs/core/modules/livraison/pdf/pdf_typhon.modules.php b/htdocs/core/modules/livraison/pdf/pdf_typhon.modules.php index 420fce5653c..bc6e474b36c 100644 --- a/htdocs/core/modules/livraison/pdf/pdf_typhon.modules.php +++ b/htdocs/core/modules/livraison/pdf/pdf_typhon.modules.php @@ -305,6 +305,16 @@ class pdf_typhon extends ModelePDFDeliveryOrder if ($object->remise_percent) $tvaligne-=($tvaligne*$object->remise_percent)/100; $this->tva[ (string) $object->lines[$i]->tva_tx ] += $tvaligne; */ + + // Add line + if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES)) + { + $pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(210,210,210))); + //$pdf->SetDrawColor(190,190,200); + $pdf->line($this->marge_gauche, $nexY+1, $this->page_largeur - $this->marge_droite, $nexY+1); + $pdf->SetLineStyle(array('dash'=>0)); + } + $nexY+=2; // Passe espace entre les lignes // Detect if some page were added automatically and output _tableau for past pages diff --git a/htdocs/core/modules/project/pdf/pdf_baleine.modules.php b/htdocs/core/modules/project/pdf/pdf_baleine.modules.php index 2a9048804c3..62606ab68b6 100644 --- a/htdocs/core/modules/project/pdf/pdf_baleine.modules.php +++ b/htdocs/core/modules/project/pdf/pdf_baleine.modules.php @@ -226,6 +226,15 @@ class pdf_baleine extends ModelePDFProjects $pdf->SetFont('','', $default_font_size - 1); // On repositionne la police par defaut $nexY = $pdf->GetY(); + // Add line + if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES)) + { + $pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(210,210,210))); + //$pdf->SetDrawColor(190,190,200); + $pdf->line($this->marge_gauche, $nexY+1, $this->page_largeur - $this->marge_droite, $nexY+1); + $pdf->SetLineStyle(array('dash'=>0)); + } + $nexY+=2; // Passe espace entre les lignes // Detect if some page were added automatically and output _tableau for past pages diff --git a/htdocs/core/modules/propale/doc/pdf_azur.modules.php b/htdocs/core/modules/propale/doc/pdf_azur.modules.php index 77d9d849d2a..7db7e29fb71 100644 --- a/htdocs/core/modules/propale/doc/pdf_azur.modules.php +++ b/htdocs/core/modules/propale/doc/pdf_azur.modules.php @@ -379,6 +379,15 @@ class pdf_azur extends ModelePDFPropales $this->localtax1[$localtax1rate]+=$localtax1ligne; $this->localtax2[$localtax2rate]+=$localtax2ligne; + // Add line + if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES)) + { + $pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(210,210,210))); + //$pdf->SetDrawColor(190,190,200); + $pdf->line($this->marge_gauche, $nexY+1, $this->page_largeur - $this->marge_droite, $nexY+1); + $pdf->SetLineStyle(array('dash'=>0)); + } + $nexY+=2; // Passe espace entre les lignes // Detect if some page were added automatically and output _tableau for past pages diff --git a/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php b/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php index b0a2b33e2e7..458b277a735 100755 --- a/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php +++ b/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php @@ -337,6 +337,15 @@ class pdf_canelle extends ModelePDFSuppliersInvoices $this->localtax1[$localtax1rate]+=$localtax1ligne; $this->localtax2[$localtax2rate]+=$localtax2ligne; + // Add line + if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES)) + { + $pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(210,210,210))); + //$pdf->SetDrawColor(190,190,200); + $pdf->line($this->marge_gauche, $nexY+1, $this->page_largeur - $this->marge_droite, $nexY+1); + $pdf->SetLineStyle(array('dash'=>0)); + } + $nexY+=2; // Passe espace entre les lignes // Detect if some page were added automatically and output _tableau for past pages diff --git a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php index fdc97727658..00e1dd8e5e1 100644 --- a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php +++ b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php @@ -354,6 +354,15 @@ class pdf_muscadet extends ModelePDFSuppliersOrders $this->localtax1[$localtax1rate]+=$localtax1ligne; $this->localtax2[$localtax2rate]+=$localtax2ligne; + // Add line + if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES)) + { + $pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(210,210,210))); + //$pdf->SetDrawColor(190,190,200); + $pdf->line($this->marge_gauche, $nexY+1, $this->page_largeur - $this->marge_droite, $nexY+1); + $pdf->SetLineStyle(array('dash'=>0)); + } + $nexY+=2; // Passe espace entre les lignes // Detect if some page were added automatically and output _tableau for past pages From 35a887f8699c476e9995a5cd8f1e514d0e36eb3e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 21 Nov 2012 20:24:15 +0100 Subject: [PATCH 09/11] Clean code --- htdocs/exports/export.php | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/htdocs/exports/export.php b/htdocs/exports/export.php index c8e831fc3ae..8f4ceefcba6 100644 --- a/htdocs/exports/export.php +++ b/htdocs/exports/export.php @@ -94,7 +94,6 @@ $entitytolang = array( ); $array_selected=isset($_SESSION["export_selected_fields"])?$_SESSION["export_selected_fields"]:array(); -//$array_filtered=isset($_SESSION["export_filtered_fields"])?$_SESSION["export_filtered_fields"]:array(); $array_filtervalue=isset($_SESSION["export_FilterValue_fields"])?$_SESSION["export_FilterValue_fields"]:array(); $datatoexport=GETPOST("datatoexport"); $action=GETPOST('action', 'alpha'); @@ -220,7 +219,6 @@ if ($step == 1 || $action == 'cleanselect') $_SESSION["export_filtered_fields"]=array(); $array_selected=array(); $array_filtervalue=array(); - $array_filtered=array(); } if ($action == 'builddoc') @@ -259,6 +257,7 @@ if ($action == 'deleteprof') } } +// TODO The export for filter is not yet implemented (old code created conflicts with step 2). We must use same way of working and same combo list of predefined export than step 2. if ($action == 'add_export_model') { if ($export_name) @@ -273,20 +272,16 @@ if ($action == 'add_export_model') $hexa.=$key; } - $hexafilter=''; $hexafiltervalue=''; - foreach($array_filtered as $key=>$val) + foreach($array_filtervalue as $key=>$val) { - if ($hexafilter) $hexafilter.=','; if ($hexafilter) $hexafiltervalue.=','; - $hexafilter.=$key; - $hexafiltervalue.=$array_filtervalue[$key]; + $hexafiltervalue.=$key.'='.$val; } $objexport->model_name = $export_name; $objexport->datatoexport = $datatoexport; $objexport->hexa = $hexa; - $objexport->hexafilter = $hexafilter; $objexport->hexafiltervalue = $hexafiltervalue; $result = $objexport->create($user); @@ -312,11 +307,9 @@ if ($action == 'add_export_model') if ($step == 2 && $action == 'select_model') { $_SESSION["export_selected_fields"]=array(); - //$_SESSION["export_filtered_fields"]=array(); $_SESSION["export_FilterValue_fields"]=array(); $array_selected=array(); - $array_filtered=array(); $array_filtervalue=array(); $result = $objexport->fetch($exportmodelid); @@ -336,11 +329,10 @@ if ($step == 2 && $action == 'select_model') $i=1; foreach($fieldsarray as $val) { - $array_filtered[$val]=$i; - $array_filtervalue[$val]=$fieldsarrayvalue[$i-1]; + $tmp=explode('=',$val); + $array_filtervalue[$tmp[0]]=$tmp[1]; $i++; } - //$_SESSION["export_filtered_fields"]=$array_filtered; $_SESSION["export_FilterValue_fields"]=$array_filtervalue; } } From 59a305f6f1409aaad246b461ba838dd2718d8f55 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 21 Nov 2012 20:35:51 +0100 Subject: [PATCH 10/11] New: no dash line if last item. --- htdocs/core/modules/commande/doc/pdf_einstein.modules.php | 2 +- .../modules/expedition/doc/pdf_expedition_merou.modules.php | 4 ++-- .../modules/expedition/doc/pdf_expedition_rouget.modules.php | 2 +- htdocs/core/modules/facture/doc/pdf_crabe.modules.php | 2 +- htdocs/core/modules/livraison/pdf/pdf_typhon.modules.php | 2 +- htdocs/core/modules/project/pdf/pdf_baleine.modules.php | 2 +- htdocs/core/modules/propale/doc/pdf_azur.modules.php | 2 +- .../core/modules/supplier_invoice/pdf/pdf_canelle.modules.php | 2 +- .../core/modules/supplier_order/pdf/pdf_muscadet.modules.php | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php index 9e3a9de7889..6585f703e59 100644 --- a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php @@ -382,7 +382,7 @@ class pdf_einstein extends ModelePDFCommandes $this->localtax2[$localtax2rate]+=$localtax2ligne; // Add line - if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES)) + if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1)) { $pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(210,210,210))); //$pdf->SetDrawColor(190,190,200); diff --git a/htdocs/core/modules/expedition/doc/pdf_expedition_merou.modules.php b/htdocs/core/modules/expedition/doc/pdf_expedition_merou.modules.php index bdd85bb2abc..374474e1337 100644 --- a/htdocs/core/modules/expedition/doc/pdf_expedition_merou.modules.php +++ b/htdocs/core/modules/expedition/doc/pdf_expedition_merou.modules.php @@ -243,8 +243,8 @@ class pdf_expedition_merou extends ModelePdfExpedition $pdf->SetXY(170, $curY); $pdf->MultiCell(30, 3, $object->lines[$i]->qty_shipped, 0, 'C', 0); - // Add line - if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES)) + // Add line + if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1)) { $pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(210,210,210))); //$pdf->SetDrawColor(190,190,200); diff --git a/htdocs/core/modules/expedition/doc/pdf_expedition_rouget.modules.php b/htdocs/core/modules/expedition/doc/pdf_expedition_rouget.modules.php index 8e6cc244598..6cac5d287d9 100644 --- a/htdocs/core/modules/expedition/doc/pdf_expedition_rouget.modules.php +++ b/htdocs/core/modules/expedition/doc/pdf_expedition_rouget.modules.php @@ -263,7 +263,7 @@ class pdf_expedition_rouget extends ModelePdfExpedition $pdf->MultiCell(($this->page_largeur - $this->marge_droite - $this->posxqtytoship), 3, $object->lines[$i]->qty_shipped,'','C'); // Add line - if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES)) + if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1)) { $pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(210,210,210))); //$pdf->SetDrawColor(190,190,200); diff --git a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php index 5a6e8d4a695..33827261db1 100755 --- a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php @@ -383,7 +383,7 @@ class pdf_crabe extends ModelePDFFactures $this->localtax2[$localtax2rate]+=$localtax2ligne; // Add line - if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES)) + if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1)) { $pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(210,210,210))); //$pdf->SetDrawColor(190,190,200); diff --git a/htdocs/core/modules/livraison/pdf/pdf_typhon.modules.php b/htdocs/core/modules/livraison/pdf/pdf_typhon.modules.php index bc6e474b36c..a71f7be8aa7 100644 --- a/htdocs/core/modules/livraison/pdf/pdf_typhon.modules.php +++ b/htdocs/core/modules/livraison/pdf/pdf_typhon.modules.php @@ -307,7 +307,7 @@ class pdf_typhon extends ModelePDFDeliveryOrder */ // Add line - if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES)) + if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1)) { $pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(210,210,210))); //$pdf->SetDrawColor(190,190,200); diff --git a/htdocs/core/modules/project/pdf/pdf_baleine.modules.php b/htdocs/core/modules/project/pdf/pdf_baleine.modules.php index 62606ab68b6..6a38cd9f705 100644 --- a/htdocs/core/modules/project/pdf/pdf_baleine.modules.php +++ b/htdocs/core/modules/project/pdf/pdf_baleine.modules.php @@ -227,7 +227,7 @@ class pdf_baleine extends ModelePDFProjects $nexY = $pdf->GetY(); // Add line - if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES)) + if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1)) { $pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(210,210,210))); //$pdf->SetDrawColor(190,190,200); diff --git a/htdocs/core/modules/propale/doc/pdf_azur.modules.php b/htdocs/core/modules/propale/doc/pdf_azur.modules.php index 7db7e29fb71..8535e1e7500 100644 --- a/htdocs/core/modules/propale/doc/pdf_azur.modules.php +++ b/htdocs/core/modules/propale/doc/pdf_azur.modules.php @@ -380,7 +380,7 @@ class pdf_azur extends ModelePDFPropales $this->localtax2[$localtax2rate]+=$localtax2ligne; // Add line - if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES)) + if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1)) { $pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(210,210,210))); //$pdf->SetDrawColor(190,190,200); diff --git a/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php b/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php index 458b277a735..d210a14a7f4 100755 --- a/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php +++ b/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php @@ -338,7 +338,7 @@ class pdf_canelle extends ModelePDFSuppliersInvoices $this->localtax2[$localtax2rate]+=$localtax2ligne; // Add line - if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES)) + if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1)) { $pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(210,210,210))); //$pdf->SetDrawColor(190,190,200); diff --git a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php index 00e1dd8e5e1..eb35a4b8b3b 100644 --- a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php +++ b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php @@ -355,7 +355,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders $this->localtax2[$localtax2rate]+=$localtax2ligne; // Add line - if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES)) + if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1)) { $pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(210,210,210))); //$pdf->SetDrawColor(190,190,200); From e76ef823b833a2c6913bf708dbbb14c1d171b142 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 21 Nov 2012 23:01:36 +0100 Subject: [PATCH 11/11] New: Add a tab into members statistics to count members by nature. --- ChangeLog | 1 + htdocs/adherents/stats/byproperties.php | 151 ++++++++++++++++++++++++ htdocs/adherents/stats/geo.php | 3 +- htdocs/core/lib/member.lib.php | 7 +- htdocs/langs/ar_SA/members.lang | 2 +- htdocs/langs/bg_BG/members.lang | 2 +- htdocs/langs/da_DK/members.lang | 2 +- htdocs/langs/de_DE/members.lang | 2 +- htdocs/langs/el_GR/members.lang | 2 +- htdocs/langs/en_US/members.lang | 5 +- htdocs/langs/et_EE/members.lang | 2 +- htdocs/langs/fi_FI/members.lang | 2 +- htdocs/langs/fr_FR/members.lang | 3 + htdocs/langs/he_IL/members.lang | 2 +- htdocs/langs/hu_HU/members.lang | 2 +- htdocs/langs/is_IS/members.lang | 2 +- htdocs/langs/it_IT/members.lang | 2 +- htdocs/langs/ja_JP/members.lang | 2 +- htdocs/langs/nb_NO/members.lang | 2 +- htdocs/langs/nl_NL/members.lang | 2 +- htdocs/langs/pl_PL/members.lang | 2 +- htdocs/langs/pt_PT/members.lang | 2 +- htdocs/langs/ro_RO/members.lang | 2 +- htdocs/langs/ru_RU/members.lang | 2 +- htdocs/langs/sl_SI/members.lang | 2 +- htdocs/langs/sv_SE/members.lang | 2 +- htdocs/langs/tr_TR/members.lang | 2 +- htdocs/langs/zh_CN/members.lang | 2 +- htdocs/langs/zh_TW/members.lang | 2 +- 29 files changed, 190 insertions(+), 26 deletions(-) create mode 100755 htdocs/adherents/stats/byproperties.php diff --git a/ChangeLog b/ChangeLog index 42cd19157a8..892e37a9eda 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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. diff --git a/htdocs/adherents/stats/byproperties.php b/htdocs/adherents/stats/byproperties.php new file mode 100755 index 00000000000..302992a707b --- /dev/null +++ b/htdocs/adherents/stats/byproperties.php @@ -0,0 +1,151 @@ + + * + * 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 . + */ + +/** + * \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").'
'; + print '
'; +} +else +{ + print_fiche_titre($langs->trans("MembersByNature"),'',''); +} + +// Print array +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; + +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 ''; + print ''; + print ''; + print ''; + print ''; + $oldyear=$year; +} + +print '
'.$langs->trans("Nature").''.$langs->trans("NbOfMembers").''.$langs->trans("LastMemberDate").'
'.$memberstatic->getmorphylib($val['label']).''.$val['nb'].''.dol_print_date($val['lastdate'],'dayhour').'
'; + + +dol_fiche_end(); + + +llxFooter(); + +$db->close(); +?> diff --git a/htdocs/adherents/stats/geo.php b/htdocs/adherents/stats/geo.php index b97133c4606..cdc731ecdca 100755 --- a/htdocs/adherents/stats/geo.php +++ b/htdocs/adherents/stats/geo.php @@ -277,7 +277,8 @@ if ($mode) dol_fiche_end(); -$db->close(); llxFooter(); + +$db->close(); ?> diff --git a/htdocs/core/lib/member.lib.php b/htdocs/core/lib/member.lib.php index a4357147732..88e740c1245 100644 --- a/htdocs/core/lib/member.lib.php +++ b/htdocs/core/lib/member.lib.php @@ -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 diff --git a/htdocs/langs/ar_SA/members.lang b/htdocs/langs/ar_SA/members.lang index b27b341f4e4..570dfab4069 100644 --- a/htdocs/langs/ar_SA/members.lang +++ b/htdocs/langs/ar_SA/members.lang @@ -202,7 +202,7 @@ LastSubscriptionDate=آخر موعد الاكتتاب LastSubscriptionAmount=آخر مبلغ الاشتراك MembersStatisticsByCountries=أعضاء إحصاءات حسب البلد MembersStatisticsByState=أعضاء إحصاءات الولاية / المقاطعة -MembersStatisticsByTowne=أعضاء إحصاءات بلدة +MembersStatisticsByTown=أعضاء إحصاءات بلدة NbOfMembers=عدد الأعضاء NoValidatedMemberYet=العثور على أي أعضاء التحقق من صحة MembersByCountryDesc=هذه الشاشة تظهر لك إحصاءات عن أعضاء من الدول. لكن الرسم يعتمد على خدمة غوغل الرسم البياني على الإنترنت ويتوفر فقط إذا كان على اتصال بالإنترنت ويعمل. diff --git a/htdocs/langs/bg_BG/members.lang b/htdocs/langs/bg_BG/members.lang index be719944efb..c2fabf1da50 100644 --- a/htdocs/langs/bg_BG/members.lang +++ b/htdocs/langs/bg_BG/members.lang @@ -178,7 +178,7 @@ LastSubscriptionDate=Последно абонамент дата LastSubscriptionAmount=Последно размера MembersStatisticsByCountries=Потребители статистика страната MembersStatisticsByState=Потребители статистика щат / провинция -MembersStatisticsByTowne=Потребители статистика града +MembersStatisticsByTown=Потребители статистика града NbOfMembers=Брой на членовете NoValidatedMemberYet=Няма потвърдени намерени MembersByCountryDesc=Този екран показва статистическите данни на членовете по страни. Графичен зависи обаче от Google онлайн услуга графика и е достъпна само ако интернет връзката се работи. diff --git a/htdocs/langs/da_DK/members.lang b/htdocs/langs/da_DK/members.lang index c4ba43b50b7..c2975ad715c 100644 --- a/htdocs/langs/da_DK/members.lang +++ b/htdocs/langs/da_DK/members.lang @@ -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. diff --git a/htdocs/langs/de_DE/members.lang b/htdocs/langs/de_DE/members.lang index 259f7e71a5b..45ce52e7ddf 100644 --- a/htdocs/langs/de_DE/members.lang +++ b/htdocs/langs/de_DE/members.lang @@ -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. diff --git a/htdocs/langs/el_GR/members.lang b/htdocs/langs/el_GR/members.lang index f34d810adf1..8343aff155c 100644 --- a/htdocs/langs/el_GR/members.lang +++ b/htdocs/langs/el_GR/members.lang @@ -171,7 +171,7 @@ LastSubscriptionDate=Τελευταία ημερομηνία εγγραφής LastSubscriptionAmount=Τελευταία ποσό συνδρομής MembersStatisticsByCountries=Μέλη στατιστικές ανά χώρα MembersStatisticsByState=Τα μέλη στατιστικών στοιχείων από πολιτεία / επαρχία -MembersStatisticsByTowne=Τα μέλη στατιστικών στοιχείων από την πόλη +MembersStatisticsByTown=Τα μέλη στατιστικών στοιχείων από την πόλη NbOfMembers=Αριθμός μελών NoValidatedMemberYet=Δεν επικυρώνονται τα μέλη βρέθηκαν MembersByCountryDesc=Αυτή η οθόνη σας δείξει στατιστικά στοιχεία σχετικά με τα μέλη από τις χώρες. Graphic εξαρτάται, ωστόσο, στην υπηρεσία της Google online διάγραμμα και είναι διαθέσιμο μόνο αν μια σύνδεση στο Διαδίκτυο είναι λειτουργεί. diff --git a/htdocs/langs/en_US/members.lang b/htdocs/langs/en_US/members.lang index ff993ec620a..8956502c3a9 100644 --- a/htdocs/langs/en_US/members.lang +++ b/htdocs/langs/en_US/members.lang @@ -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 http://wiki.dolibarr.org/index.php/Subscribe.
To pay using a Credit Card or Paypal, click on button at bottom of this page.
+ByProperties=By characteristics +MembersStatisticsByProperties=Members statistics by characteristics +MembersByNature=Members by nature diff --git a/htdocs/langs/et_EE/members.lang b/htdocs/langs/et_EE/members.lang index a1b4e9f383d..b2d7eb1bc7a 100644 --- a/htdocs/langs/et_EE/members.lang +++ b/htdocs/langs/et_EE/members.lang @@ -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. diff --git a/htdocs/langs/fi_FI/members.lang b/htdocs/langs/fi_FI/members.lang index 831892de7d7..b4c5c52f2d4 100644 --- a/htdocs/langs/fi_FI/members.lang +++ b/htdocs/langs/fi_FI/members.lang @@ -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. diff --git a/htdocs/langs/fr_FR/members.lang b/htdocs/langs/fr_FR/members.lang index 87bb226f317..2ccafef4cab 100644 --- a/htdocs/langs/fr_FR/members.lang +++ b/htdocs/langs/fr_FR/members.lang @@ -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 http://wiki.dolibarr.org/index.php/Adhérer.
Pour payer dès maintenant par Carte Bancaire ou Paypal, cliquez sur le bouton au bas de cette page.
+ByProperties=Par caractéristiques +MembersStatisticsByProperties=Statistiques des adhérents par caractéristiques +MembersByNature=Adhérents par nature diff --git a/htdocs/langs/he_IL/members.lang b/htdocs/langs/he_IL/members.lang index dc23fd846ce..b8f1a2389d0 100644 --- a/htdocs/langs/he_IL/members.lang +++ b/htdocs/langs/he_IL/members.lang @@ -177,7 +177,7 @@ LastSubscriptionDate=מנוי אחרונה תאריך LastSubscriptionAmount=המינוי האחרון כמות MembersStatisticsByCountries=משתמשים סטטיסטיקה לפי מדינות MembersStatisticsByState=חברים הסטטיסטיקה של מדינה / מחוז -MembersStatisticsByTowne=חברים הסטטיסטיקה של העיר +MembersStatisticsByTown=חברים הסטטיסטיקה של העיר NbOfMembers=מספר החברים NoValidatedMemberYet=אין חברים תוקף נמצא MembersByCountryDesc=מסך זה מראה לך נתונים סטטיסטיים על החברים של מדינות. עם זאת גרפי תלוי על שירות Google גרף באינטרנט זמינה רק אם החיבור לאינטרנט הוא עובד. diff --git a/htdocs/langs/hu_HU/members.lang b/htdocs/langs/hu_HU/members.lang index 9d4026e2e59..a1baf95f0c6 100644 --- a/htdocs/langs/hu_HU/members.lang +++ b/htdocs/langs/hu_HU/members.lang @@ -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. diff --git a/htdocs/langs/is_IS/members.lang b/htdocs/langs/is_IS/members.lang index f73002b70d5..d64fc0dbd55 100644 --- a/htdocs/langs/is_IS/members.lang +++ b/htdocs/langs/is_IS/members.lang @@ -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. diff --git a/htdocs/langs/it_IT/members.lang b/htdocs/langs/it_IT/members.lang index 0d67a3952cd..4000e50c514 100644 --- a/htdocs/langs/it_IT/members.lang +++ b/htdocs/langs/it_IT/members.lang @@ -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 diff --git a/htdocs/langs/ja_JP/members.lang b/htdocs/langs/ja_JP/members.lang index d736d3b6386..4fee5b42355 100644 --- a/htdocs/langs/ja_JP/members.lang +++ b/htdocs/langs/ja_JP/members.lang @@ -177,7 +177,7 @@ LastSubscriptionDate=最後のサブスクリプションの日付 LastSubscriptionAmount=最後のサブスクリプションの量 MembersStatisticsByCountries=国別メンバー統計 MembersStatisticsByState=都道府県/州によってメンバーの統計 -MembersStatisticsByTowne=町によってメンバーの統計 +MembersStatisticsByTown=町によってメンバーの統計 NbOfMembers=会員数 NoValidatedMemberYet=いいえ検証メンバーが見つかりませんでした MembersByCountryDesc=この画面には、国によるメンバーの統計情報を表示します。グラフィックは、Googleのオンライングラフサービスに依存しますが、インターネット接続が機能している場合にのみ使用できます。 diff --git a/htdocs/langs/nb_NO/members.lang b/htdocs/langs/nb_NO/members.lang index 3b732a08851..471b4e735a9 100644 --- a/htdocs/langs/nb_NO/members.lang +++ b/htdocs/langs/nb_NO/members.lang @@ -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. diff --git a/htdocs/langs/nl_NL/members.lang b/htdocs/langs/nl_NL/members.lang index 88039618f94..385be2142b8 100644 --- a/htdocs/langs/nl_NL/members.lang +++ b/htdocs/langs/nl_NL/members.lang @@ -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. diff --git a/htdocs/langs/pl_PL/members.lang b/htdocs/langs/pl_PL/members.lang index 169b1865f4d..4782007adfd 100644 --- a/htdocs/langs/pl_PL/members.lang +++ b/htdocs/langs/pl_PL/members.lang @@ -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. diff --git a/htdocs/langs/pt_PT/members.lang b/htdocs/langs/pt_PT/members.lang index 0fb1b068b90..48f2ee0a65b 100644 --- a/htdocs/langs/pt_PT/members.lang +++ b/htdocs/langs/pt_PT/members.lang @@ -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. diff --git a/htdocs/langs/ro_RO/members.lang b/htdocs/langs/ro_RO/members.lang index 99eba7915ad..067614c8b30 100644 --- a/htdocs/langs/ro_RO/members.lang +++ b/htdocs/langs/ro_RO/members.lang @@ -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. diff --git a/htdocs/langs/ru_RU/members.lang b/htdocs/langs/ru_RU/members.lang index 2c20a9b9006..926338e3119 100644 --- a/htdocs/langs/ru_RU/members.lang +++ b/htdocs/langs/ru_RU/members.lang @@ -198,7 +198,7 @@ LastSubscriptionDate=Последний день подписки LastSubscriptionAmount=Последняя сумма подписки MembersStatisticsByCountries=Члены статистику по странам MembersStatisticsByState=Члены статистики штата / провинции -MembersStatisticsByTowne=Члены статистики города +MembersStatisticsByTown=Члены статистики города NbOfMembers=Количество членов NoValidatedMemberYet=Нет проверки члены найдены MembersByCountryDesc=Этот экран покажет вам статистику членов странами. Графический зависит однако от Google сервис график онлайн и доступна, только если подключение к Интернету работает. diff --git a/htdocs/langs/sl_SI/members.lang b/htdocs/langs/sl_SI/members.lang index 62e47644903..a16b20fbca8 100644 --- a/htdocs/langs/sl_SI/members.lang +++ b/htdocs/langs/sl_SI/members.lang @@ -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. diff --git a/htdocs/langs/sv_SE/members.lang b/htdocs/langs/sv_SE/members.lang index 38e94794837..bf398731fe3 100644 --- a/htdocs/langs/sv_SE/members.lang +++ b/htdocs/langs/sv_SE/members.lang @@ -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. diff --git a/htdocs/langs/tr_TR/members.lang b/htdocs/langs/tr_TR/members.lang index 45cf570e6de..fc201e9e829 100644 --- a/htdocs/langs/tr_TR/members.lang +++ b/htdocs/langs/tr_TR/members.lang @@ -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. diff --git a/htdocs/langs/zh_CN/members.lang b/htdocs/langs/zh_CN/members.lang index 9e4704586fa..e8ad2efad6f 100644 --- a/htdocs/langs/zh_CN/members.lang +++ b/htdocs/langs/zh_CN/members.lang @@ -190,7 +190,7 @@ LastSubscriptionDate=最后认购日期 LastSubscriptionAmount=最后认购金额 MembersStatisticsByCountries=成员由国家统计 MembersStatisticsByState=成员由州/省的统计信息 -MembersStatisticsByTowne=成员由镇统计 +MembersStatisticsByTown=成员由镇统计 NbOfMembers=成员数 NoValidatedMemberYet=没有验证的成员发现 MembersByCountryDesc=该屏幕显示您成员国的统计数字。然而,图形取决于谷歌在线图服务,可只有一个互联网连接工作。 diff --git a/htdocs/langs/zh_TW/members.lang b/htdocs/langs/zh_TW/members.lang index 6b4aff0ee8e..c08035af7a1 100644 --- a/htdocs/langs/zh_TW/members.lang +++ b/htdocs/langs/zh_TW/members.lang @@ -190,7 +190,7 @@ LastSubscriptionDate=最後認購日期 LastSubscriptionAmount=最後認購金額 MembersStatisticsByCountries=成員由國家統計 MembersStatisticsByState=成員由州/省的統計信息 -MembersStatisticsByTowne=成員由鎮統計 +MembersStatisticsByTown=成員由鎮統計 NbOfMembers=成員數 NoValidatedMemberYet=沒有驗證的成員發現 MembersByCountryDesc=該屏幕顯示您成員國的統計數字。然而,圖形取決於谷歌在線圖服務,可只有一個互聯網連接工作。