Slt,
Bonne remontée avec des précisions qui me sont personnelles:
Dans le cas présent, il faut imaginer plusieurs possibilités:
1- Le module newsleter est désactivé = il doit apparaitre nul part sur le compte user
2- Le module newsletter est activé mais la case -Autoriser les utilisateurs à souscrire à la newsletter- est indiquée "non" (cf paramètres utilisateurs. Par conte je vois pas trop l'intérêt de mettre cette option si le module est activé (peut être pour l'envoi admin seulement )
3- Et finalement le module est activé et la case -Autoriser les utilisateurs à souscrire à la newsletter- est indiquée "oui"
Donc pour le code a modifier dans includes/mx_userfunctions.php, j'aurais plutot mis:
/* Newsletter oui/non */
if (mxModuleAllowed('Newsletter') && !empty($GLOBALS['shownewsletter'])) {
$out .= "<tr valign=\"top\"><td bgcolor=\"$bgcolor2\"><b>" . _NEWSLETTER . ":</b></td><td colspan=\"3\" bgcolor=\"$bgcolor3\"><input type=\"checkbox\" name=\"newsletter\" value=\"1\" " . $cnewsletter . " /> " . _RECEIVENEWSLETTER . "</td></tr>\n";
}
Ainsi sans require du fichier complet du config mais juste la variable qui nous intéresse avec une verif empty ;-)
et aussi une modif dans l'accueil du compte qui permet cas 2, de ne pas voir la ligne newsletter
dans modules/unserinfo/view.php
on cherche
// Newsletter
if (mxModuleAllowed("Newsletter")) {
$resultx = sql_query("SELECT status FROM ${prefix}_newsletter WHERE email='" . mxAddSlashesForSQL($uinfo['email']) . "' OR email='" . mxAddSlashesForSQL($uinfo['femail']) . "'");
list($status) = sql_fetch_row($resultx);
$uinfo['newsletter'] = (empty($status) || $status == 3) ? _NOTSUBSCRIBED : _SUBSCRIBED;
$img = (empty($status) || $status == 3) ? "images/td.gif" : "images/tu.gif";
$uinfo['newsletter'] = mxCreateImage($img, $uinfo['newsletter']) . " " . $uinfo['newsletter'] . "\n";
}
a remplacer par
// Newsletter
if (mxModuleAllowed('Newsletter') && !empty($GLOBALS['shownewsletter'])) {
$resultx = sql_query("SELECT status FROM ${prefix}_newsletter WHERE email='" . mxAddSlashesForSQL($uinfo['email']) . "' OR email='" . mxAddSlashesForSQL($uinfo['femail']) . "'");
list($status) = sql_fetch_row($resultx);
$uinfo['newsletter'] = (empty($status) || $status == 3) ? _NOTSUBSCRIBED : _SUBSCRIBED;
$img = (empty($status) || $status == 3) ? "images/td.gif" : "images/tu.gif";
$uinfo['newsletter'] = mxCreateImage($img, $uinfo['newsletter']) . " " . $uinfo['newsletter'] . "\n";
}
Voilà c'est a réflechir et tester, sinon dans tous les cas je remonte le post dans le bugmanager de pmx pour correction
