New: Can generate business card for on particular member.

This commit is contained in:
Laurent Destailleur 2010-09-01 11:38:10 +00:00
parent e8dea80b50
commit e15bc371b1
7 changed files with 84 additions and 151 deletions

View File

@ -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").'<br>';
print '<br>';
print $langs->trans("PDFForAllMembersCards",$conf->global->ADHERENT_CARD_TYPE).' ';
if ($mesg) print '<div class="error">'.$mesg.'</div><br>';
print $langs->trans("DocForAllMembersCards",$conf->global->ADHERENT_CARD_TYPE).' ';
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
print '<input type="hidden" name="foruserid" value="all">';
print ' <input class="button" type="submit" value="'.$langs->trans("BuildCards").'">';
print '<input type="hidden" name="mode" value="card">';
print ' <input class="button" type="submit" value="'.$langs->trans("BuildDoc").'">';
print '</form>';
print '<br>';
print $langs->trans("PDFForOneMemberCards",$conf->global->ADHERENT_CARD_TYPE).' ';
print $langs->trans("DocForOneMemberCards",$conf->global->ADHERENT_CARD_TYPE).' ';
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
print '<input type="hidden" name="mode" value="cardlogin">';
print $langs->trans("Login").': <input size="10" type="text" name="foruserlogin" value="">';
print ' <input class="button" type="submit" value="'.$langs->trans("BuildCards").'">';
print ' <input class="button" type="submit" value="'.$langs->trans("BuildDoc").'">';
print '</form>';
print '<br>';
print $langs->trans("DocForLabels",$conf->global->ADHERENT_ETIQUETTE_TYPE).' ';
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
print '<input type="hidden" name="mode" value="label">';
print ' <input class="button" type="submit" value="'.$langs->trans("BuildDoc").'">';
print '</form>';
print '<br>';
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);

View File

@ -1,117 +0,0 @@
<?php
/* Copyright (C) 2003 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2003 Jean-Louis Bergamo <jlb@j1b.org>
* Copyright (C) 2006-2010 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, 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$');
}
?>

View File

@ -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&amp;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"));

View File

@ -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__);

View File

@ -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.

View File

@ -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 : <b>%s</b>)
PDFForOneMemberCards=Generate PDF of business cards for a particular member (Format for PDF actually setup: <b>%s</b>)
BuildCards=Build PDF file
DocForAllMembersCards=Generate business cards for all members (Format for output actually setup : <b>%s</b>)
DocForOneMemberCards=Generate business cards for a particular member (Format for output actually setup: <b>%s</b>)
DocForLabels=Generate address sheets (Format for output actually setup: <b>%s</b>)

View File

@ -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é: <b>%s</b>)
PDFForOneMemberCards=Génération PDF de cartes pour un adhérent particulier (Format de planche actuellement configuré: <b>%s</b>)
BuildCards=Générer cartes de visites
DocForAllMembersCards=Génération de cartes pour tous les adhérents (Format de planche actuellement configuré: <b>%s</b>)
DocForOneMemberCards=Génération de cartes pour un adhérent particulier (Format de planche actuellement configuré: <b>%s</b>)
DocForLabels=Génération d'étiquette d'adresses (Format de planche actuellement configuré: <b>%s</b>)