diff --git a/htdocs/adherents/cartes/carte.php b/htdocs/adherents/cartes/carte.php
index eed63e4c40e..35e1dc75ba3 100755
--- a/htdocs/adherents/cartes/carte.php
+++ b/htdocs/adherents/cartes/carte.php
@@ -28,8 +28,10 @@ require("../../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/files.lib.php");
require_once(DOL_DOCUMENT_ROOT."/adherents/class/adherent.class.php");
require_once(DOL_DOCUMENT_ROOT."/includes/modules/member/cards/modules_cards.php");
+require_once(DOL_DOCUMENT_ROOT."/includes/modules/member/labels/modules_labels.php");
$langs->load("members");
+$langs->load("errors");
// Choix de l'annee d'impression ou annee courante.
$now = dol_now();
@@ -38,13 +40,20 @@ $month=dol_print_date($now,'%m');
$day=dol_print_date($now,'%d');
$foruserid=GETPOST('foruserid');
$foruserlogin=GETPOST('foruserlogin');
+$mode=GETPOST('mode');
+$mesg='';
/*
* View
*/
-if (empty($foruserid) && empty($foruserlogin))
+if ($mode == 'cardlogin' && empty($foruserlogin))
+{
+ $mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Login"));
+}
+
+if ((empty($foruserid) && empty($foruserlogin) && empty($mode)) || $mesg)
{
llxHeader('',$langs->trans("MembersCards"));
@@ -54,20 +63,30 @@ if (empty($foruserid) && empty($foruserlogin))
print $langs->trans("LinkToGeneratedPagesDesc").'
';
print '
';
- print $langs->trans("PDFForAllMembersCards",$conf->global->ADHERENT_CARD_TYPE).' ';
+ if ($mesg) print '
'.$mesg.'
';
+
+ print $langs->trans("DocForAllMembersCards",$conf->global->ADHERENT_CARD_TYPE).' ';
print '';
print '
';
- print $langs->trans("PDFForOneMemberCards",$conf->global->ADHERENT_CARD_TYPE).' ';
+ print $langs->trans("DocForOneMemberCards",$conf->global->ADHERENT_CARD_TYPE).' ';
print '';
print '
';
+ print $langs->trans("DocForLabels",$conf->global->ADHERENT_ETIQUETTE_TYPE).' ';
+ print '';
+ print '
';
llxFooter('$Date$ - $Revision$');
}
@@ -120,38 +139,68 @@ else
'%DAY%'=>$day
);
- $textleft=make_substitutions($conf->global->ADHERENT_CARD_TEXT, $substitutionarray, $langs);
- $textheader=make_substitutions($conf->global->ADHERENT_CARD_HEADER_TEXT, $substitutionarray, $langs);
- $textfooter=make_substitutions($conf->global->ADHERENT_CARD_FOOTER_TEXT, $substitutionarray, $langs);
- $textright=make_substitutions($conf->global->ADHERENT_CARD_TEXT_RIGHT, $substitutionarray, $langs);
- if (is_numeric($foruserid) || $foruserlogin)
+ // For business cards
+ if (empty($mode) || $mode=='card' || $mode=='cardlogin')
{
- for($j=0;$j<100;$j++)
+ $textleft=make_substitutions($conf->global->ADHERENT_CARD_TEXT, $substitutionarray, $langs);
+ $textheader=make_substitutions($conf->global->ADHERENT_CARD_HEADER_TEXT, $substitutionarray, $langs);
+ $textfooter=make_substitutions($conf->global->ADHERENT_CARD_FOOTER_TEXT, $substitutionarray, $langs);
+ $textright=make_substitutions($conf->global->ADHERENT_CARD_TEXT_RIGHT, $substitutionarray, $langs);
+
+ if (is_numeric($foruserid) || $foruserlogin)
+ {
+ for($j=0;$j<100;$j++)
+ {
+ $arrayofmembers[]=array('textleft'=>$textleft,
+ 'textheader'=>$textheader,
+ 'textfooter'=>$textfooter,
+ 'textright'=>$textright,
+ 'id'=>$objp->rowid,
+ 'photo'=>$objp->photo);
+ }
+ }
+ else
{
$arrayofmembers[]=array('textleft'=>$textleft,
- 'textheader'=>$textheader,
- 'textfooter'=>$textfooter,
- 'textright'=>$textright,
- 'id'=>$objp->rowid,
- 'photo'=>$objp->photo);
+ 'textheader'=>$textheader,
+ 'textfooter'=>$textfooter,
+ 'textright'=>$textright,
+ 'id'=>$objp->rowid,
+ 'photo'=>$objp->photo);
}
}
- else
+
+ // For labels
+ if ($mode == 'label')
{
+ $conf->global->ADHERENT_ETIQUETTE_TEXT="%PRENOM% %NOM%\n%ADRESSE%\n%CP% %VILLE%\n%PAYS%";
+ $textleft=make_substitutions($conf->global->ADHERENT_ETIQUETTE_TEXT, $substitutionarray, $langs);
+ $textheader='';
+ $textfooter='';
+ $textright='';
+
$arrayofmembers[]=array('textleft'=>$textleft,
- 'textheader'=>$textheader,
- 'textfooter'=>$textfooter,
- 'textright'=>$textright,
- 'id'=>$objp->rowid,
- 'photo'=>$objp->photo);
+ 'textheader'=>$textheader,
+ 'textfooter'=>$textfooter,
+ 'textright'=>$textright,
+ 'id'=>$objp->rowid,
+ 'photo'=>$objp->photo);
}
$i++;
}
// Build and output PDF
- $result=members_card_pdf_create($db, $arrayofmembers, '', $outputlangs);
+ if (empty($mode) || $mode=='card' || $mode='cardlogin')
+ {
+ $result=members_card_pdf_create($db, $arrayofmembers, '', $outputlangs);
+ }
+ if ($mode == 'label')
+ {
+ $result=members_label_pdf_create($db, $arrayofmembers, '', $outputlangs);
+ }
+
if ($result <= 0)
{
dol_print_error($db,$result);
diff --git a/htdocs/adherents/cartes/etiquette.php b/htdocs/adherents/cartes/etiquette.php
deleted file mode 100755
index 5f41de204ab..00000000000
--- a/htdocs/adherents/cartes/etiquette.php
+++ /dev/null
@@ -1,117 +0,0 @@
-
- * Copyright (C) 2003 Jean-Louis Bergamo
- * Copyright (C) 2006-2010 Laurent Destailleur
- *
- * 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, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-/**
- * \file htdocs/adherents/cartes/etiquette.php
- * \ingroup member
- * \brief Page to output members labels sheets
- * \version $Id$
- */
-require("../../main.inc.php");
-require_once(DOL_DOCUMENT_ROOT."/lib/files.lib.php");
-require_once(DOL_DOCUMENT_ROOT."/adherents/class/adherent.class.php");
-require_once(DOL_DOCUMENT_ROOT.'/includes/modules/member/labels/modules_labels.php');
-
-//if (empty($conf->global->ADHERENT_ETIQUETTE_TYPE)) $conf->global->ADHERENT_ETIQUETTE_TYPE='L7163';
-//$pdf = new PDF_card($conf->global->ADHERENT_ETIQUETTE_TYPE, 1, 1);
-
-// Choix de l'annee d'impression ou annee courante.
-$now = dol_now();
-$year=dol_print_date($now,'%Y');
-$month=dol_print_date($now,'%m');
-$day=dol_print_date($now,'%d');
-
-
-$arrayofmembers=array();
-
-// requete en prenant que les adherents a jour de cotisation
-$sql = "SELECT d.rowid, d.prenom, d.nom, d.login, d.societe, d.datefin,";
-$sql.= " d.adresse, d.cp, d.ville, d.naiss, d.email, d.photo,";
-$sql.= " t.libelle as type,";
-$sql.= " p.libelle as pays";
-$sql.= " FROM ".MAIN_DB_PREFIX."adherent_type as t, ".MAIN_DB_PREFIX."adherent as d";
-$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_pays as p ON d.pays = p.rowid";
-$sql.= " WHERE d.fk_adherent_type = t.rowid AND d.statut = 1";
-$sql.= " ORDER BY d.rowid ASC";
-
-$result = $db->query($sql);
-if ($result)
-{
- $num = $db->num_rows($result);
- $i = 0;
- while ($i < $num)
- {
- $objp = $db->fetch_object($result);
-
- if ($objp->pays == '-') $objp->pays='';
-
- // List of values to scan for a replacement
- $substitutionarray = array (
- '%PRENOM%'=>$objp->prenom,
- '%NOM%'=>$objp->nom,
- '%LOGIN%'=>$objp->login,
- '%SERVEUR%'=>"http://".$_SERVER["SERVER_NAME"]."/",
- '%SOCIETE%'=>$objp->societe,
- '%ADRESSE%'=>$objp->adresse,
- '%CP%'=>$objp->cp,
- '%VILLE%'=>$objp->ville,
- '%PAYS%'=>$objp->pays,
- '%EMAIL%'=>$objp->email,
- '%NAISS%'=>$objp->naiss,
- '%TYPE%'=>$objp->type,
- '%ID%'=>$objp->rowid,
- '%ANNEE%'=>$year, // For backward compatibility
- '%YEAR%'=>$year,
- '%MONTH%'=>$month,
- '%DAY%'=>$day
- );
-
- $conf->global->ADHERENT_ETIQUETTE_TEXT="%PRENOM% %NOM%\n%ADRESSE%\n%CP% %VILLE%\n%PAYS%";
- $textleft=make_substitutions($conf->global->ADHERENT_ETIQUETTE_TEXT, $substitutionarray, $langs);
- $textheader='';
- $textfooter='';
- $textright='';
-
- $arrayofmembers[]=array('textleft'=>$textleft,
- 'textheader'=>$textheader,
- 'textfooter'=>$textfooter,
- 'textright'=>$textright,
- 'id'=>$objp->rowid,
- 'photo'=>$objp->photo);
-
- $i++;
- }
-
- // Build and output PDF
- $result=members_label_pdf_create($db, $arrayofmembers, '', $outputlangs);
- if ($result <= 0)
- {
- dol_print_error($db,$result);
- exit;
- }
-}
-else
-{
- dol_print_error($db);
-
- llxFooter('$Date$ - $Revision$');
-}
-
-?>
diff --git a/htdocs/includes/menus/barre_left/eldy.lib.php b/htdocs/includes/menus/barre_left/eldy.lib.php
index 6f029e4864e..db5600b5c48 100644
--- a/htdocs/includes/menus/barre_left/eldy.lib.php
+++ b/htdocs/includes/menus/barre_left/eldy.lib.php
@@ -833,8 +833,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after)
$newmenu->add(DOL_URL_ROOT."/adherents/index.php?leftmenu=export&mainmenu=members",$langs->trans("Exports"),0,$user->rights->adherent->export);
if ($conf->export->enabled && $leftmenu=="export") $newmenu->add(DOL_URL_ROOT."/exports/index.php?leftmenu=export",$langs->trans("Datas"),1,$user->rights->adherent->export);
if ($leftmenu=="export") $newmenu->add(DOL_URL_ROOT."/adherents/htpasswd.php?leftmenu=export",$langs->trans("Filehtpasswd"),1,$user->rights->adherent->export);
- if ($leftmenu=="export") $newmenu->add(DOL_URL_ROOT."/adherents/cartes/carte.php?leftmenu=export",$langs->trans("MembersCards"),1,$user->rights->adherent->export,'_blank');
- if ($leftmenu=="export") $newmenu->add(DOL_URL_ROOT."/adherents/cartes/etiquette.php?leftmenu=export",$langs->trans("MembersTickets"),1,$user->rights->adherent->export,'_blank');
+ if ($leftmenu=="export") $newmenu->add(DOL_URL_ROOT."/adherents/cartes/carte.php?leftmenu=export",$langs->trans("MembersCards"),1,$user->rights->adherent->export);
$newmenu->add(DOL_URL_ROOT."/adherents/public.php?leftmenu=member_public",$langs->trans("MemberPublicLinks"));
diff --git a/htdocs/includes/menus/init_menu_auguria.sql b/htdocs/includes/menus/init_menu_auguria.sql
index 28261b6b688..4162d5fef02 100644
--- a/htdocs/includes/menus/init_menu_auguria.sql
+++ b/htdocs/includes/menus/init_menu_auguria.sql
@@ -268,8 +268,7 @@ insert into llx_menu (enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk
insert into llx_menu (enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('$conf->adherent->enabled', 'auguria', 'left', 4500__+MAX_llx_menu__, 'members', '', 13__+MAX_llx_menu__, '/adherents/index.php?leftmenu=export&mainmenu=members', 'Exports', 0, 'members', '$user->rights->adherent->export', '', 2, 3, __ENTITY__);
insert into llx_menu (enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('$conf->adherent->enabled && $conf->export->enabled', 'auguria', 'left', 4501__+MAX_llx_menu__, 'members', '', 4500__+MAX_llx_menu__, '/exports/index.php?leftmenu=export', 'Datas', 1, 'members', '$user->rights->adherent->export', '', 2, 0, __ENTITY__);
insert into llx_menu (enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('$conf->adherent->enabled', 'auguria', 'left', 4502__+MAX_llx_menu__, 'members', '', 4500__+MAX_llx_menu__, '/adherents/htpasswd.php?leftmenu=export', 'Filehtpasswd', 1, 'members', '$user->rights->adherent->export', '', 2, 1, __ENTITY__);
-insert into llx_menu (enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('$conf->adherent->enabled', 'auguria', 'left', 4503__+MAX_llx_menu__, 'members', '', 4500__+MAX_llx_menu__, '/adherents/cartes/carte.php?leftmenu=export', 'MembersCards', 1, 'members', '$user->rights->adherent->export', '_blank', 2, 2, __ENTITY__);
-insert into llx_menu (enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('$conf->adherent->enabled', 'auguria', 'left', 4504__+MAX_llx_menu__, 'members', '', 4500__+MAX_llx_menu__, '/adherents/cartes/etiquette.php?leftmenu=export', 'MembersTickets', 1, 'members', '$user->rights->adherent->export', '_blank', 2, 3, __ENTITY__);
+insert into llx_menu (enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('$conf->adherent->enabled', 'auguria', 'left', 4503__+MAX_llx_menu__, 'members', '', 4500__+MAX_llx_menu__, '/adherents/cartes/carte.php?leftmenu=export', 'MembersCards', 1, 'members', '$user->rights->adherent->export', '', 2, 2, __ENTITY__);
insert into llx_menu (enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('$conf->adherent->enabled', 'auguria', 'left', 4600__+MAX_llx_menu__, 'members', '', 13__+MAX_llx_menu__, '/adherents/public.php?leftmenu=member_public', 'MemberPublicLinks', 0, 'members', '$user->rights->adherent->export', '', 2, 4, __ENTITY__);
insert into llx_menu (enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('$conf->adherent->enabled', 'auguria', 'left', 4700__+MAX_llx_menu__, 'members', '', 13__+MAX_llx_menu__, '/adherents/index.php?leftmenu=setup&mainmenu=members', 'Setup', 0, 'members', '$user->rights->adherent->configurer', '', 2, 5, __ENTITY__);
insert into llx_menu (enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('$conf->adherent->enabled', 'auguria', 'left', 4701__+MAX_llx_menu__, 'members', '', 4700__+MAX_llx_menu__, '/adherents/type.php?leftmenu=setup', 'MembersTypes', 1, 'members', '$user->rights->adherent->configurer', '', 2, 0, __ENTITY__);
diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php
index 257fa355954..0f3c3e0b996 100644
--- a/htdocs/install/upgrade2.php
+++ b/htdocs/install/upgrade2.php
@@ -299,7 +299,10 @@ if (GETPOST('action') && preg_match('/upgrade/i',GETPOST("action")))
$beforeversionarray=explode('.','3.0.9');
if (versioncompare($versiontoarray,$afterversionarray) >= 0 && versioncompare($versiontoarray,$beforeversionarray) <= 0)
{
- print $langs->trans("AlreadyDone");
+ //print $langs->trans("AlreadyDone");
+
+ // Reload menus
+ migrate_reload_menu($db,$langs,$conf,$versionto);
}
// On commit dans tous les cas.
diff --git a/htdocs/langs/en_US/members.lang b/htdocs/langs/en_US/members.lang
index 3f65625dcb1..7dde868aeb9 100644
--- a/htdocs/langs/en_US/members.lang
+++ b/htdocs/langs/en_US/members.lang
@@ -156,7 +156,7 @@ MoreActionBankViaInvoice=Create an invoice and payment on account
MoreActionInvoiceOnly=Create an invoice with no payment
LinkToGeneratedPages=Generate visit cards
LinkToGeneratedPagesDesc=This screen allows you to generate PDF files with business cards for all your members or a particular member.
-PDFForAllMembersCards=Generate PDF of business cards for all members (Format for PDF actually setup : %s)
-PDFForOneMemberCards=Generate PDF of business cards for a particular member (Format for PDF actually setup: %s)
-BuildCards=Build PDF file
+DocForAllMembersCards=Generate business cards for all members (Format for output actually setup : %s)
+DocForOneMemberCards=Generate business cards for a particular member (Format for output actually setup: %s)
+DocForLabels=Generate address sheets (Format for output actually setup: %s)
diff --git a/htdocs/langs/fr_FR/members.lang b/htdocs/langs/fr_FR/members.lang
index bb5245f2661..d362fcc6c5b 100644
--- a/htdocs/langs/fr_FR/members.lang
+++ b/htdocs/langs/fr_FR/members.lang
@@ -156,6 +156,6 @@ MoreActionBankViaInvoice=Création facture avec paiement sur compte
MoreActionInvoiceOnly=Création facture sans paiement
LinkToGeneratedPages=Génération de cartes de visites
LinkToGeneratedPagesDesc=Cet écran vous permet de générer des planches de cartes de visites pour chaque adhérents ou pour un adhérent en particulier.
-PDFForAllMembersCards=Génération PDF de cartes pour tous les adhérents (Format de planche actuellement configuré: %s)
-PDFForOneMemberCards=Génération PDF de cartes pour un adhérent particulier (Format de planche actuellement configuré: %s)
-BuildCards=Générer cartes de visites
+DocForAllMembersCards=Génération de cartes pour tous les adhérents (Format de planche actuellement configuré: %s)
+DocForOneMemberCards=Génération de cartes pour un adhérent particulier (Format de planche actuellement configuré: %s)
+DocForLabels=Génération d'étiquette d'adresses (Format de planche actuellement configuré: %s)