-
Notifications
You must be signed in to change notification settings - Fork 0
/
FzhMembers.php
72 lines (58 loc) · 1.44 KB
/
FzhMembers.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
class FzhMembers extends Backend{
public function exportXLS(){
if($this->Input->get('key') != 'export')
{
return '';
}
$this->loadLanguageFile('tl_fzh_members');
$members = \FzhMembersModel::findBy('memberState',1);
$worksheetname = "Aktive Mitglieder";
$xls = new \xlsexport();
$xls->addworksheet($worksheetname);
$countRows = 0;
$countCols = 0;
while($members->next()){
$header = ($countRows == 0)? true : false;
foreach($members->row() as $key => $data){
switch($key){
case 'tstamp':
case 'memberState':
continue 2;
break;
case 'gender':
$data = ($data == 'female')? 'Frau': 'Herr';
break;
case 'birthday':
case 'joiningDate':
case 'exitDate':
$data = \Date::parse('d.m.Y',$data);
break;
case 'newsletter':
case 'ransomed':
$data = ($data == 0)? 'Nein':'Ja';
break;
}
$data = ($header)? $GLOBALS['TL_LANG']['tl_fzh_members'][$key][0]:$data;
//Encoding
$data = mb_convert_encoding($data, 'CP1252');
$xls->setcell(array(
"sheetname" =>$worksheetname,
"row" => $countRows,
"col" => $countCols,
"data" => $data,
));
$countCols++;
}
$countCols = 0;
if($header) $members->reset();
$countRows++;
}
$xls->sendfile(\Date::parse('Ymd').'-FZH Mitglieder.xls');
}
public function downloadDocument($dca){
$file = new File($dca->id);
$file->sendToBrowser();
}
}
?>