Overview
Comment: | Suppression du champ 'email_envoi_automatique' dans la config, à la place ajout d'une constante de configuration FORCE_EMAIL_FROM |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | stable |
Files: | files | file ages | folders |
SHA1: |
5c520bce1ae65fa3f6199118ef7b8446 |
User & Date: | bohwaz on 2018-07-24 11:56:34 |
Other Links: | manifest | tags |
Context
2018-07-24
| ||
12:53 | Correction: on accepte aussi la valeur 'TLS' pour la sécurité du SMTP check-in: f7ca017b90 user: bohwaz tags: trunk, stable | |
11:56 | Suppression du champ 'email_envoi_automatique' dans la config, à la place ajout d'une constante de configuration FORCE_EMAIL_FROM check-in: 5c520bce1a user: bohwaz tags: trunk, stable | |
2018-07-20
| ||
22:16 | Erreur plus explicite quand on essaye de modifier une écriture qui n'existe pas check-in: 116557af44 user: bohwaz tags: trunk, stable | |
Changes
Modified src/config.dist.php from [2c59c39b5a] to [faf2942110].
︙ | ︙ | |||
225 226 227 228 229 230 231 | //const SMTP_PASSWORD = 'abcd'; /** * Sécurité du serveur SMTP * * NONE = pas de chiffrement | | > > > > > > > > > > > > > > > | 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 | //const SMTP_PASSWORD = 'abcd'; /** * Sécurité du serveur SMTP * * NONE = pas de chiffrement * SSL = connexion SSL ou TLS native (le plus sécurisé) * STARTTLS = utilisation de STARTTLS (moyennement sécurisé) * * Défaut : STARTTLS */ const SMTP_SECURITY = 'STARTTLS'; /** * Forcer la valeur de l'expéditeur des emails * * false, null ou vide = désactivé * chaîne = adresse email qui sera utilisé dans le champ From * des emails envoyés * * Utile pour les services d'envoi SMTP tiers comme Amazon SES. * Si activé le "From" sera : "Nom de l'association" <adresse@email.tld> * avec le Reply-To positionné sur l'adresse de l'association * * Défaut : false */ const FORCE_EMAIL_FROM = false; |
Modified src/include/init.php from [a861e81c03] to [5ff1d716c3].
︙ | ︙ | |||
105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | 'SMTP_HOST' => false, 'SMTP_USER' => null, 'SMTP_PASSWORD' => null, 'SMTP_PORT' => 587, 'SMTP_SECURITY' => 'STARTTLS', 'ADMIN_URL' => WWW_URL . 'admin/', 'NTP_SERVER' => 'fr.pool.ntp.org', ]; foreach ($default_config as $const => $value) { $const = sprintf('Garradin\\%s', $const); if (!defined($const)) { define($const, $value); } } | > | | 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | 'SMTP_HOST' => false, 'SMTP_USER' => null, 'SMTP_PASSWORD' => null, 'SMTP_PORT' => 587, 'SMTP_SECURITY' => 'STARTTLS', 'ADMIN_URL' => WWW_URL . 'admin/', 'NTP_SERVER' => 'fr.pool.ntp.org', 'FORCE_EMAIL_FROM' => false, ]; foreach ($default_config as $const => $value) { $const = sprintf('Garradin\\%s', $const); if (!defined($const)) { define($const, $value); } } const WEBSITE = 'https://garradin.eu/'; const PLUGINS_URL = 'https://garradin.eu/plugins/list.json'; // PHP devrait être assez intelligent pour chopper la TZ système mais nan // il sait pas faire (sauf sur Debian qui a le bon patch pour ça), donc pour // éviter le message d'erreur à la con on définit une timezone par défaut // Pour utiliser une autre timezone, il suffit de définir date.timezone dans // un .htaccess ou dans config.local.php |
︙ | ︙ |
Modified src/include/lib/Garradin/Config.php from [a3f009c8e4] to [14cb7536d2].
︙ | ︙ | |||
44 45 46 47 48 49 50 | 'site_asso' => $string, 'monnaie' => $string, 'pays' => $string, 'champs_membres' => $object, | < < | 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | 'site_asso' => $string, 'monnaie' => $string, 'pays' => $string, 'champs_membres' => $object, 'categorie_membres' => $int, 'categorie_dons' => $int, 'categorie_cotisations' => $int, 'accueil_wiki' => $string, 'accueil_connexion' => $string, |
︙ | ︙ | |||
249 250 251 252 253 254 255 | { $key = str_replace('accueil_', '', $key); throw new UserException('Le nom de la page d\'accueil ' . $key . ' ne peut rester vide.'); } break; } case 'email_asso': | < | 247 248 249 250 251 252 253 254 255 256 257 258 259 260 | { $key = str_replace('accueil_', '', $key); throw new UserException('Le nom de la page d\'accueil ' . $key . ' ne peut rester vide.'); } break; } case 'email_asso': { if (!filter_var($value, FILTER_VALIDATE_EMAIL)) { throw new UserException('Adresse e-mail invalide.'); } break; } |
︙ | ︙ |
Modified src/include/lib/Garradin/Install.php from [6badb0a7e2] to [3900ff2e28].
︙ | ︙ | |||
28 29 30 31 32 33 34 | $config = Config::getInstance(); $config->set('nom_asso', $nom_asso); $config->set('adresse_asso', $adresse_asso); $config->set('email_asso', $email_asso); $config->set('site_asso', $site_asso); $config->set('monnaie', '€'); $config->set('pays', 'FR'); | < | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | $config = Config::getInstance(); $config->set('nom_asso', $nom_asso); $config->set('adresse_asso', $adresse_asso); $config->set('email_asso', $email_asso); $config->set('site_asso', $site_asso); $config->set('monnaie', '€'); $config->set('pays', 'FR'); $config->setVersion(garradin_version()); $champs = Membres\Champs::importInstall(); $champs->save(false); // Pas de copie car pas de table membres existante $config->set('champ_identifiant', 'email'); $config->set('champ_identite', 'nom'); |
︙ | ︙ |
Modified src/include/lib/Garradin/Utils.php from [7d0bf46225] to [a97b74047b].
︙ | ︙ | |||
380 381 382 383 384 385 386 | // Création du contenu du message $content = wordwrap($content); $content = trim($content); $content = preg_replace("#(?<!\r)\n#si", "\r\n", $content); $config = Config::getInstance(); | > > > > > > > > | | < | 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 | // Création du contenu du message $content = wordwrap($content); $content = trim($content); $content = preg_replace("#(?<!\r)\n#si", "\r\n", $content); $config = Config::getInstance(); $headers['Return-Path'] = $config->get('email_asso'); if (FORCE_EMAIL_FROM) { $headers['Reply-To'] = !empty($headers['From']) ? $headers['From'] : $config->get('email_asso'); $headers['From'] = sprintf('"%s" <%s>', sprintf('=?UTF-8?B?%s?=', base64_encode($config->get('nom_asso'))), FORCE_EMAIL_FROM); $headers['Return-Path'] = FORCE_EMAIL_FROM; } elseif (empty($headers['From'])) { $headers['From'] = sprintf('"%s" <%s>', sprintf('=?UTF-8?B?%s?=', base64_encode($config->get('nom_asso'))), $config->get('email_asso')); } $headers['MIME-Version'] = '1.0'; $headers['Content-type'] = 'text/plain; charset=UTF-8'; $hash = sha1(uniqid() . var_export([$headers, $to, $subject, $content], true)); $headers['Message-ID'] = sprintf('%s@%s', $hash, isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : gethostname()); if ($pgp_key) { $content = Security::encryptWithPublicKey($pgp_key, $content); |
︙ | ︙ |
Modified src/templates/admin/config/index.tpl from [295b6cf79c] to [8b2246c56b].
︙ | ︙ | |||
51 52 53 54 55 56 57 | <select name="pays" id="f_pays" required="required"> {foreach from=$pays key="cc" item="nom"} <option value="{$cc}"{if $cc == $config.pays} selected="selected"{/if}>{$nom}</option> {/foreach} </select> </dd> </dl> | < < < < < < < < | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | <select name="pays" id="f_pays" required="required"> {foreach from=$pays key="cc" item="nom"} <option value="{$cc}"{if $cc == $config.pays} selected="selected"{/if}>{$nom}</option> {/foreach} </select> </dd> </dl> </fieldset> <fieldset> <legend>Wiki</legend> <dl> <dt><label for="f_accueil_wiki">Page d'accueil du wiki</label> <b title="(Champ obligatoire)">obligatoire</b></dt> |
︙ | ︙ |
Modified src/www/admin/config/index.php from [cf79456e90] to [402547d004].
︙ | ︙ | |||
9 10 11 12 13 14 15 | if (f('save') && $form->check('config')) { try { $config->set('nom_asso', f('nom_asso')); $config->set('email_asso', f('email_asso')); $config->set('adresse_asso', f('adresse_asso')); $config->set('site_asso', f('site_asso')); | < | 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | if (f('save') && $form->check('config')) { try { $config->set('nom_asso', f('nom_asso')); $config->set('email_asso', f('email_asso')); $config->set('adresse_asso', f('adresse_asso')); $config->set('site_asso', f('site_asso')); $config->set('accueil_wiki', f('accueil_wiki')); $config->set('accueil_connexion', f('accueil_connexion')); $config->set('categorie_membres', f('categorie_membres')); $config->set('champ_identite', f('champ_identite')); $config->set('champ_identifiant', f('champ_identifiant')); |
︙ | ︙ |