Overview
SHA1:d4e0b0f126836344be076294654ff2b836cb0e3e
Date: 2018-02-21 04:23:08
User: bohwaz
Comment:On ne peut pas s'importer soi-même en CSV, car on risque d'importer n'importe quoi et de se retrouver à la porte (dans ce cas-ci : un espace au début de l'adresse email !)
Timelines: family | ancestors | descendants | both | trunk | stable
Downloads: Tarball | ZIP archive
Other Links: files | file ages | folders | manifest
Tags And Properties
Context
2018-02-21
04:38
[2cc684a884] Corrige encodage du From dans les mails envoyés, signalé par @Emelyne (user: bohwaz, tags: trunk, stable)
04:23
[d4e0b0f126] On ne peut pas s'importer soi-même en CSV, car on risque d'importer n'importe quoi et de se retrouver à la porte (dans ce cas-ci : un espace au début de l'adresse email !) (user: bohwaz, tags: trunk, stable)
2018-02-09
01:33
[da6a237093] Affichage numéro membre et non ID (signalé par @Fabrice) (user: bohwaz, tags: trunk, stable)
Changes

Modified src/include/lib/Garradin/Membres/Import.php from [4ee4e4e20f] to [abd6fb1bd8].

143
144
145
146
147
148
149

150
151
152
153
154
155
156
157
158
159
...
231
232
233
234
235
236
237






238
239
240
241
242
243
244
		fclose($fp);
		return true;
	}

	/**
	 * Importer un CSV de la liste des membres depuis un export Garradin
	 * @param  string $path 	Chemin vers le CSV

	 * @return boolean          TRUE en cas de succès
	 */
	public function fromCSV($path)
	{
		if (!file_exists($path) || !is_readable($path))
		{
			throw new \RuntimeException('Fichier inconnu : '.$path);
		}

		$fp = fopen($path, 'r');
................................................................................
				unset($data['numero']);
				$numero = false;
			}

			try {
				if ($numero && ($id = $membres->getIDWithNumero($numero)))
				{






					$membres->edit($id, $data);
				}
				else
				{
					$membres->add($data, false);
				}
			}







>


|







 







>
>
>
>
>
>







143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
...
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
		fclose($fp);
		return true;
	}

	/**
	 * Importer un CSV de la liste des membres depuis un export Garradin
	 * @param  string $path 	Chemin vers le CSV
	 * @param  int    $current_user_id
	 * @return boolean          TRUE en cas de succès
	 */
	public function fromCSV($path, $current_user_id)
	{
		if (!file_exists($path) || !is_readable($path))
		{
			throw new \RuntimeException('Fichier inconnu : '.$path);
		}

		$fp = fopen($path, 'r');
................................................................................
				unset($data['numero']);
				$numero = false;
			}

			try {
				if ($numero && ($id = $membres->getIDWithNumero($numero)))
				{
					if ($id === $current_user_id)
					{
						// Ne pas modifier le membre courant, on risque de se tirer une balle dans le pied
						continue;
					}

					$membres->edit($id, $data);
				}
				else
				{
					$membres->add($data, false);
				}
			}

Modified src/www/admin/membres/import.php from [1b75882f9f] to [729a351975].

32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
        {
            if (f('type') == 'galette')
            {
                $import->fromGalette($_FILES['upload']['tmp_name'], f('galette_translate'));
            }
            elseif (f('type') == 'garradin')
            {
                $import->fromCSV($_FILES['upload']['tmp_name']);
            }
            else
            {
                throw new UserException('Import inconnu.');
            }

            Utils::redirect(ADMIN_URL . 'membres/import.php?ok');







|







32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
        {
            if (f('type') == 'galette')
            {
                $import->fromGalette($_FILES['upload']['tmp_name'], f('galette_translate'));
            }
            elseif (f('type') == 'garradin')
            {
                $import->fromCSV($_FILES['upload']['tmp_name'], $user->id);
            }
            else
            {
                throw new UserException('Import inconnu.');
            }

            Utils::redirect(ADMIN_URL . 'membres/import.php?ok');