Merge remote-tracking branch 'upstream/develop' into odtformembers

This commit is contained in:
Frédéric FRANCE 2020-11-14 00:56:21 +01:00
commit 0a5e041775
No known key found for this signature in database
GPG Key ID: 06809324E4B2ABC1
12 changed files with 123 additions and 91 deletions

View File

@ -6,7 +6,7 @@
* Copyright (C) 2012 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2012 Marcos García <marcosgdf@gmail.com>
* Copyright (C) 2012-2020 Philippe Grand <philippe.grand@atoo-net.com> * Copyright (C) 2012-2020 Philippe Grand <philippe.grand@atoo-net.com>
* Copyright (C) 2015-2018 Alexandre Spangaro <aspangaro@open-dsi.fr> * Copyright (C) 2015-2018 Alexandre Spangaro <aspangaro@open-dsi.fr>
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * Copyright (C) 2018-2020 Frédéric France <frederic.france@netlogic.fr>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -1564,7 +1564,9 @@ if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) {
$form->form_users($_SERVER['PHP_SELF'].'?rowid='.$object->id, $object->user_id, 'userid', ''); $form->form_users($_SERVER['PHP_SELF'].'?rowid='.$object->id, $object->user_id, 'userid', '');
} else { } else {
if ($object->user_id) { if ($object->user_id) {
$form->form_users($_SERVER['PHP_SELF'].'?rowid='.$object->id, $object->user_id, 'none'); $linkeduser = new User($db);
$linkeduser->fetch($object->user_id);
print $linkeduser->getNomUrl(-1);
} else { } else {
print $langs->trans("NoDolibarrAccess"); print $langs->trans("NoDolibarrAccess");
} }

View File

@ -44,7 +44,11 @@ class Cchargesociales
*/ */
public $table_element = 'c_chargesociales'; public $table_element = 'c_chargesociales';
/**
* @var string Label
*/
public $libelle; public $libelle;
public $deductible; public $deductible;
public $active; public $active;
public $code; public $code;
@ -54,6 +58,9 @@ class Cchargesociales
*/ */
public $fk_pays; public $fk_pays;
/**
* @var string module
*/
public $module; public $module;
public $accountancy_code; public $accountancy_code;
@ -504,13 +511,12 @@ class Cchargesociales
/** /**
* Trim object parameters * Trim object parameters
* @param string[] $parameters array of parameters to trim
* *
* @param string[] $parameters array of parameters to trim
* @return void * @return void
*/ */
private function trimParameters($parameters) private function trimParameters($parameters)
{ {
if (!is_array($parameters)) return;
foreach ($parameters as $parameter) { foreach ($parameters as $parameter) {
if (isset($this->$parameter)) { if (isset($this->$parameter)) {
$this->$parameter = trim($this->$parameter); $this->$parameter = trim($this->$parameter);

View File

@ -2,7 +2,7 @@
/* Copyright (C) 2003-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org> /* Copyright (C) 2003-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
* Copyright (C) 2004-2017 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2004-2017 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com> * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com>
* Copyright (C) 2015 Frederic France <frederic.france@free.fr> * Copyright (C) 2015-2020 Frederic France <frederic.france@netlogic.fr>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -116,6 +116,7 @@ class box_members extends ModeleBoxes
$memberstatic->email = $objp->email; $memberstatic->email = $objp->email;
$memberstatic->morphy = $objp->morphy; $memberstatic->morphy = $objp->morphy;
$memberstatic->company = $objp->company; $memberstatic->company = $objp->company;
$memberstatic->statut = $objp->status;
if (!empty($objp->fk_soc)) { if (!empty($objp->fk_soc)) {
$memberstatic->socid = $objp->fk_soc; $memberstatic->socid = $objp->fk_soc;

View File

@ -8377,8 +8377,8 @@ abstract class CommonObject
/** /**
* Trim object parameters * Trim object parameters
* @param string[] $parameters array of parameters to trim
* *
* @param string[] $parameters array of parameters to trim
* @return void * @return void
*/ */
public function trimParameters($parameters) public function trimParameters($parameters)

View File

@ -101,7 +101,7 @@ class SimpleOpenID
/** /**
* SetRequiredFields * SetRequiredFields
* *
* @param string $a Server * @param string|array $a Server
* @return void * @return void
*/ */
public function SetRequiredFields($a) public function SetRequiredFields($a)
@ -118,7 +118,7 @@ class SimpleOpenID
/** /**
* SetOptionalFields * SetOptionalFields
* *
* @param string $a Server * @param string|array $a Server
* @return void * @return void
*/ */
public function SetOptionalFields($a) public function SetOptionalFields($a)

View File

@ -1,6 +1,6 @@
<?php <?php
/* /*
* Copyright (C) 2014-2018 Frederic France <frederic.france@netlogic.fr> * Copyright (C) 2014-2020 Frederic France <frederic.france@netlogic.fr>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -141,6 +141,8 @@ class printing_printipp extends PrintingDriver
$ipp->setPort($this->port); $ipp->setPort($this->port);
$ipp->setJobName($file, true); $ipp->setJobName($file, true);
$ipp->setUserName($this->userid); $ipp->setUserName($this->userid);
// Set default number of copy
$ipp->setCopies(1);
if (!empty($this->user)) $ipp->setAuthentication($this->user, $this->password); if (!empty($this->user)) $ipp->setAuthentication($this->user, $this->password);
// select printer uri for module order, propal,... // select printer uri for module order, propal,...
@ -148,10 +150,11 @@ class printing_printipp extends PrintingDriver
$result = $this->db->query($sql); $result = $this->db->query($sql);
if ($result) { if ($result) {
$obj = $this->db->fetch_object($result); $obj = $this->db->fetch_object($result);
if ($obj) if ($obj) {
{
dol_syslog("Found a default printer for user ".$user->id." = ".$obj->printer_id); dol_syslog("Found a default printer for user ".$user->id." = ".$obj->printer_id);
$ipp->setPrinterURI($obj->printer_id); $ipp->setPrinterURI($obj->printer_id);
// Set number of copy
$ipp->setCopies($obj->copy);
} else { } else {
if (!empty($conf->global->PRINTIPP_URI_DEFAULT)) if (!empty($conf->global->PRINTIPP_URI_DEFAULT))
{ {
@ -167,8 +170,6 @@ class printing_printipp extends PrintingDriver
dol_print_error($this->db); dol_print_error($this->db);
} }
// Set number of copy
$ipp->setCopies($obj->copy);
$fileprint = $conf->{$module}->dir_output; $fileprint = $conf->{$module}->dir_output;
if ($subdir != '') $fileprint .= '/'.$subdir; if ($subdir != '') $fileprint .= '/'.$subdir;
$fileprint .= '/'.$file; $fileprint .= '/'.$file;

View File

@ -1,7 +1,7 @@
<?php <?php
/* Copyright (C) 2010-2012 Laurent Destailleur <eldy@users.sourceforge.net> /* Copyright (C) 2010-2012 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2012 Juanjo Menent <jmenent@2byte.es> * Copyright (C) 2012 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * Copyright (C) 2018-2020 Frédéric France <frederic.france@netlogic.fr>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -114,7 +114,7 @@ class doc_generic_user_odt extends ModelePDFUser
$form = new Form($this->db); $form = new Form($this->db);
$texte = $this->description.".<br>\n"; $texte = $this->description.".<br>\n";
$texte .= '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">'; $texte .= '<form action="'.$_SERVER["PHP_SELF"].'" method="POST" enctype="multipart/form-data">';
$texte .= '<input type="hidden" name="token" value="'.newToken().'">'; $texte .= '<input type="hidden" name="token" value="'.newToken().'">';
$texte .= '<input type="hidden" name="action" value="setModuleOptions">'; $texte .= '<input type="hidden" name="action" value="setModuleOptions">';
$texte .= '<input type="hidden" name="param1" value="USER_ADDON_PDF_ODT_PATH">'; $texte .= '<input type="hidden" name="param1" value="USER_ADDON_PDF_ODT_PATH">';
@ -187,7 +187,17 @@ class doc_generic_user_odt extends ModelePDFUser
$texte .= "</td></tr>"; $texte .= "</td></tr>";
$texte .= '</table>'; $texte .= '</table>';
} }
$texte .= '<div id="div_'.get_class($this).'" class="hidden">';
foreach ($listoffiles as $file) {
$texte .= $file['name'].'<br>';
}
$texte .= '</div>';
} }
// Add input to upload a new template file.
$texte .= '<div>'.$langs->trans("UploadNewTemplate").' <input type="file" name="uploadfile">';
$texte .= '<input type="hidden" value="USER_ADDON_PDF_ODT_PATH" name="keyforuploaddir">';
$texte .= '<input type="submit" class="button" value="'.dol_escape_htmltag($langs->trans("Upload")).'" name="upload">';
$texte .= '</div>';
$texte .= '</td>'; $texte .= '</td>';

View File

@ -1,7 +1,7 @@
<?php <?php
/* Copyright (C) 2013-2015 Laurent Destailleur <eldy@users.sourceforge.net> /* Copyright (C) 2013-2015 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2014 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2014 Marcos García <marcosgdf@gmail.com>
* Copyright (C) 2018 Frédéric France <frederic.france@netlogic.fr> * Copyright (C) 2018-2020 Frédéric France <frederic.france@netlogic.fr>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -41,14 +41,13 @@ $cancel = GETPOST('cancel', 'alpha');
$numsondage = ''; $numsondage = '';
if (GETPOST('id')) { if (GETPOST('id')) {
$numsondage = GETPOST('id', 'alpha'); $numsondage = (string) GETPOST('id', 'alpha');
} }
$object = new Opensurveysondage($db); $object = new Opensurveysondage($db);
$result = $object->fetch(0, $numsondage); $result = $object->fetch(0, $numsondage);
if ($result <= 0) if ($result <= 0) {
{
dol_print_error($db, $object->error); dol_print_error($db, $object->error);
exit; exit;
} }
@ -112,17 +111,16 @@ if (empty($reshook))
if (!$error) if (!$error)
{ {
$object->title = GETPOST('nouveautitre', 'nohtml'); $object->title = (string) GETPOST('nouveautitre', 'alphanohtml');
$object->description = GETPOST('nouveauxcommentaires', 'restricthtml'); $object->description = (string) GETPOST('nouveauxcommentaires', 'restricthtml');
$object->mail_admin = GETPOST('nouvelleadresse', 'alpha'); $object->mail_admin = (string) GETPOST('nouvelleadresse', 'alpha');
$object->date_fin = $expiredate; $object->date_fin = $expiredate;
$object->allow_comments = GETPOST('cancomment', 'alpha') == 'on' ? 1 : 0; $object->allow_comments = GETPOST('cancomment', 'aZ09') == 'on' ? 1 : 0;
$object->allow_spy = GETPOST('canseeothersvote', 'alpha') == 'on' ? 1 : 0; $object->allow_spy = GETPOST('canseeothersvote', 'aZ09') == 'on' ? 1 : 0;
$object->mailsonde = GETPOST('mailsonde', 'alpha') == 'on' ? true : false; $object->mailsonde = GETPOST('mailsonde', 'aZ09') == 'on' ? true : false;
$res = $object->update($user); $res = $object->update($user);
if ($res < 0) if ($res < 0) {
{
setEventMessages($object->error, $object->errors, 'errors'); setEventMessages($object->error, $object->errors, 'errors');
$action = 'edit'; $action = 'edit';
} }

View File

@ -1,6 +1,7 @@
<?php <?php
/* Copyright (C) 2013-2014 Laurent Destailleur <eldy@users.sourceforge.net> /* Copyright (C) 2013-2014 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2014 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2014 Marcos García <marcosgdf@gmail.com>
* Copyright (C) 2020 Frédéric France <frederic.france@netlogic.fr>
* *
* This program is free software; you can redistribute it and/or modify * 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 * it under the terms of the GNU General Public License as published by
@ -49,7 +50,6 @@ class Opensurveysondage extends CommonObject
*/ */
public $picto = 'poll'; public $picto = 'poll';
/** /**
* @var string ID survey * @var string ID survey
*/ */
@ -60,7 +60,14 @@ class Opensurveysondage extends CommonObject
*/ */
public $description; public $description;
/**
* @var string email admin
*/
public $mail_admin; public $mail_admin;
/**
* @var admin name
*/
public $nom_admin; public $nom_admin;
/** /**
@ -75,10 +82,25 @@ class Opensurveysondage extends CommonObject
public $title; public $title;
public $date_fin = ''; public $date_fin = '';
/**
* @var int status
*/
public $status = 1; public $status = 1;
/**
* @var string format of survey
*/
public $format; public $format;
/**
* @var int mailsonde
*/
public $mailsonde; public $mailsonde;
/**
* @var string subject
*/
public $sujet; public $sujet;
/** /**
@ -133,8 +155,7 @@ class Opensurveysondage extends CommonObject
$this->cleanParameters(); $this->cleanParameters();
// Check parameters // Check parameters
if (!$this->date_fin > 0) if (!$this->date_fin > 0) {
{
$this->error = 'BadValueForEndDate'; $this->error = 'BadValueForEndDate';
dol_syslog(get_class($this)."::create ".$this->error, LOG_ERR); dol_syslog(get_class($this)."::create ".$this->error, LOG_ERR);
return -1; return -1;
@ -156,10 +177,10 @@ class Opensurveysondage extends CommonObject
$sql .= ") VALUES ("; $sql .= ") VALUES (";
$sql .= "'".$this->db->escape($this->id_sondage)."',"; $sql .= "'".$this->db->escape($this->id_sondage)."',";
$sql .= " ".(empty($this->description) ? 'NULL' : "'".$this->db->escape($this->description)."'").","; $sql .= " ".(empty($this->description) ? 'NULL' : "'".$this->db->escape($this->description)."'").",";
$sql .= " ".$user->id.","; $sql .= " ".(int) $user->id.",";
$sql .= " '".$this->db->escape($this->title)."',"; $sql .= " '".$this->db->escape($this->title)."',";
$sql .= " '".$this->db->idate($this->date_fin)."',"; $sql .= " '".$this->db->idate($this->date_fin)."',";
$sql .= " ".$this->status.","; $sql .= " ".(int) $this->status.",";
$sql .= " '".$this->db->escape($this->format)."',"; $sql .= " '".$this->db->escape($this->format)."',";
$sql .= " ".$this->db->escape($this->mailsonde).","; $sql .= " ".$this->db->escape($this->mailsonde).",";
$sql .= " ".$this->db->escape($this->allow_comments).","; $sql .= " ".$this->db->escape($this->allow_comments).",";
@ -173,24 +194,18 @@ class Opensurveysondage extends CommonObject
$resql = $this->db->query($sql); $resql = $this->db->query($sql);
if (!$resql) { $error++; $this->errors[] = "Error ".$this->db->lasterror(); } if (!$resql) { $error++; $this->errors[] = "Error ".$this->db->lasterror(); }
if (!$error) if (!$error && !$notrigger) {
{ global $langs, $conf;
if (!$notrigger)
{
global $langs, $conf;
// Call trigger // Call trigger
$result = $this->call_trigger('OPENSURVEY_CREATE', $user); $result = $this->call_trigger('OPENSURVEY_CREATE', $user);
if ($result < 0) $error++; if ($result < 0) $error++;
// End call triggers // End call triggers
}
} }
// Commit or rollback // Commit or rollback
if ($error) if ($error) {
{ foreach ($this->errors as $errmsg) {
foreach ($this->errors as $errmsg)
{
dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR); dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR);
$this->error .= ($this->error ? ', '.$errmsg : $errmsg); $this->error .= ($this->error ? ', '.$errmsg : $errmsg);
} }
@ -310,10 +325,12 @@ class Opensurveysondage extends CommonObject
dol_syslog(get_class($this)."::update", LOG_DEBUG); dol_syslog(get_class($this)."::update", LOG_DEBUG);
$resql = $this->db->query($sql); $resql = $this->db->query($sql);
if (!$resql) { $error++; $this->errors[] = "Error ".$this->db->lasterror(); } if (!$resql) {
$error++;
$this->errors[] = "Error ".$this->db->lasterror();
}
if (!$error && !$notrigger) if (!$error && !$notrigger) {
{
// Call trigger // Call trigger
$result = $this->call_trigger('OPENSURVEY_MODIFY', $user); $result = $this->call_trigger('OPENSURVEY_MODIFY', $user);
if ($result < 0) $error++; if ($result < 0) $error++;
@ -356,15 +373,11 @@ class Opensurveysondage extends CommonObject
$this->db->begin(); $this->db->begin();
if (!$error) if (!$error && !$notrigger) {
{ // Call trigger
if (!$notrigger) $result = $this->call_trigger('OPENSURVEY_DELETE', $user);
{ if ($result < 0) $error++;
// Call trigger // End call triggers
$result = $this->call_trigger('OPENSURVEY_DELETE', $user);
if ($result < 0) $error++;
// End call triggers
}
} }
if (!$error) if (!$error)
@ -441,7 +454,9 @@ class Opensurveysondage extends CommonObject
} }
$linkclose .= ' title="'.dol_escape_htmltag($label, 1).'"'; $linkclose .= ' title="'.dol_escape_htmltag($label, 1).'"';
$linkclose .= ' class="classfortooltip'.($morecss ? ' '.$morecss : '').'"'; $linkclose .= ' class="classfortooltip'.($morecss ? ' '.$morecss : '').'"';
} else $linkclose = ($morecss ? ' class="'.$morecss.'"' : ''); } else {
$linkclose = ($morecss ? ' class="'.$morecss.'"' : '');
}
$linkstart = '<a href="'.$url.'"'; $linkstart = '<a href="'.$url.'"';
$linkstart .= $linkclose.'>'; $linkstart .= $linkclose.'>';
@ -591,7 +606,7 @@ class Opensurveysondage extends CommonObject
$this->mail_admin = trim($this->mail_admin); $this->mail_admin = trim($this->mail_admin);
$this->nom_admin = trim($this->nom_admin); $this->nom_admin = trim($this->nom_admin);
$this->title = trim($this->title); $this->title = trim($this->title);
$this->status = trim($this->status); $this->status = (int) $this->status;
$this->format = trim($this->format); $this->format = trim($this->format);
$this->mailsonde = ($this->mailsonde ? 1 : 0); $this->mailsonde = ($this->mailsonde ? 1 : 0);
$this->allow_comments = ($this->allow_comments ? 1 : 0); $this->allow_comments = ($this->allow_comments ? 1 : 0);

View File

@ -13,7 +13,7 @@
* Copyright (C) 2015 Ari Elbaz (elarifr) <github@accedinfo.com> * Copyright (C) 2015 Ari Elbaz (elarifr) <github@accedinfo.com>
* Copyright (C) 2015-2018 Charlene Benke <charlie@patas-monkey.com> * Copyright (C) 2015-2018 Charlene Benke <charlie@patas-monkey.com>
* Copyright (C) 2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr> * Copyright (C) 2016 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
* Copyright (C) 2018-2019 Frédéric France <frederic.france@netlogic.fr> * Copyright (C) 2018-2020 Frédéric France <frederic.france@netlogic.fr>
* Copyright (C) 2018 David Beniamine <David.Beniamine@Tetras-Libre.fr> * Copyright (C) 2018 David Beniamine <David.Beniamine@Tetras-Libre.fr>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
@ -1781,7 +1781,7 @@ if ($action == 'create' || $action == 'adduserldap')
$adh = new Adherent($db); $adh = new Adherent($db);
$adh->fetch($object->fk_member); $adh->fetch($object->fk_member);
$adh->ref = $adh->getFullname($langs); // Force to show login instead of id $adh->ref = $adh->getFullname($langs); // Force to show login instead of id
print $adh->getNomUrl(1); print $adh->getNomUrl(-1);
} else { } else {
print $langs->trans("UserNotLinkedToMember"); print $langs->trans("UserNotLinkedToMember");
} }

View File

@ -28,8 +28,8 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/usergroups.lib.php';
// Load translation files required by page // Load translation files required by page
$langs->loadLangs(array('users', 'admin')); $langs->loadLangs(array('users', 'admin'));
$action = GETPOST('action', 'aZ09'); $action = (string) GETPOST('action', 'aZ09');
$id = GETPOST('id', 'int'); $id = (int) GETPOST('id', 'int');
// Security check // Security check
$socid = 0; $socid = 0;
@ -54,14 +54,13 @@ if (empty($reshook)) {
$edituser = new User($db); $edituser = new User($db);
$edituser->fetch($id); $edituser->fetch($id);
$edituser->clicktodial_url = GETPOST("url"); $edituser->clicktodial_url = (string) GETPOST("url", "alpha");
$edituser->clicktodial_login = GETPOST("login"); $edituser->clicktodial_login = (string) GETPOST("login", "alpha");
$edituser->clicktodial_password = GETPOST("password"); $edituser->clicktodial_password = (string) GETPOST("password", "alpha");
$edituser->clicktodial_poste = GETPOST("poste"); $edituser->clicktodial_poste = (string) GETPOST("poste", "alpha");
$result = $edituser->update_clicktodial(); $result = $edituser->update_clicktodial();
if ($result < 0) if ($result < 0) {
{
setEventMessages($edituser->error, $edituser->errors, 'errors'); setEventMessages($edituser->error, $edituser->errors, 'errors');
} }
} }

View File

@ -73,30 +73,30 @@ $db->begin();
$groupofemails = array(); $groupofemails = array();
// For each groupofemail, we update tables to set email field to empty // For each groupofemail, we update tables to set email field to empty
if ($type == 'all' || $type == 'thirdparty') if ($type == 'all' || $type == 'thirdparty')
{ {
// Loop on each record and update the email to null if email into $groupofemails // Loop on each record and update the email to null if email into $groupofemails
// TODO // TODO
} }
if ($type == 'all' || $type == 'contact') if ($type == 'all' || $type == 'contact')
{ {
// Loop on each record and update the email to null if email into $groupofemails // Loop on each record and update the email to null if email into $groupofemails
// TODO // TODO
} }
if ($type == 'all' || $type == 'user') if ($type == 'all' || $type == 'user')
{ {
// Loop on each record and update the email to null if email into $groupofemails // Loop on each record and update the email to null if email into $groupofemails
// TODO // TODO
} }
if ($type == 'all' || $type == 'member') if ($type == 'all' || $type == 'member')
{ {
// Loop on each record and update the email to null if email into $groupofemails // Loop on each record and update the email to null if email into $groupofemails
// TODO // TODO
} }
if (!$error) { if (!$error) {