116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
$db->rollback();
throw new UserException('Erreur sur la ligne 1 : devrait contenir l\'en-tête des colonnes.');
}
$columns = array_flip($row);
continue;
}
if (count($row) != count($columns))
{
$db->rollback();
throw new UserException('Erreur sur la ligne ' . $line . ' : le nombre de colonnes est incorrect.');
}
|
>
>
>
>
|
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
$db->rollback();
throw new UserException('Erreur sur la ligne 1 : devrait contenir l\'en-tête des colonnes.');
}
$columns = array_flip($row);
continue;
}
if (!isset($columns)) {
throw new UserException('Entête introuvable');
}
if (count($row) != count($columns))
{
$db->rollback();
throw new UserException('Erreur sur la ligne ' . $line . ' : le nombre de colonnes est incorrect.');
}
|
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
|
return [
array_keys((array) $res->current()),
$res,
sprintf('Export membres - %s - %s', Config::getInstance()->get('nom_asso'), date('Y-m-d')),
];
}
public function toCSV(array $list = null)
{
list($champs, $result, $name) = $this->export($list);
return CSV::toCSV($name, $result, $champs, [$this, 'exportRow']);
}
public function toODS(array $list = null)
{
list($champs, $result, $name) = $this->export($list);
return CSV::toODS($name, $result, $champs, [$this, 'exportRow']);
}
public function exportRow(\stdClass $row) {
// Pas hyper efficace, il faudrait ne pas récupérer la liste pour chaque ligne... FIXME
$champs_multiples = Config::getInstance()->get('champs_membres')->getMultiples();
// convertir les champs à choix multiple de binaire vers liste séparée par des points virgules
|
|
|
|
|
|
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
|
return [
array_keys((array) $res->current()),
$res,
sprintf('Export membres - %s - %s', Config::getInstance()->get('nom_asso'), date('Y-m-d')),
];
}
public function toCSV(array $list = null): void
{
list($champs, $result, $name) = $this->export($list);
CSV::toCSV($name, $result, $champs, [$this, 'exportRow']);
}
public function toODS(array $list = null): void
{
list($champs, $result, $name) = $this->export($list);
CSV::toODS($name, $result, $champs, [$this, 'exportRow']);
}
public function exportRow(\stdClass $row) {
// Pas hyper efficace, il faudrait ne pas récupérer la liste pour chaque ligne... FIXME
$champs_multiples = Config::getInstance()->get('champs_membres')->getMultiples();
// convertir les champs à choix multiple de binaire vers liste séparée par des points virgules
|