Diverses
This commit is contained in:
@@ -12,6 +12,128 @@ use Cake\I18n\Time;
|
||||
*/
|
||||
class EmailsController extends AppController
|
||||
{
|
||||
public function emailFoerder() {
|
||||
debug($this->request['?']);
|
||||
$filename = $this->request['?']['file'];
|
||||
$date = $this->request['?']['date'];
|
||||
//die;
|
||||
$options = [
|
||||
'length' => 0,
|
||||
'delimiter' => ';',
|
||||
'enclosure' => ' ',
|
||||
'escape' => '\\',
|
||||
'headers' => false,
|
||||
'text' => false,
|
||||
'excel_bom' => false,
|
||||
];
|
||||
$column_names = array('Regierung','SNR','Klasse','Diff','Klassengruppe','Klasse Bildungsgang','Anzahl','Schwerpunkte');
|
||||
$column_alias = array('Regierung','SNR','Klasse','differenzierter Förderschwerpunkt der Klasse','Klassengruppe','Bildungsgang der Klassengruppe','Anzahl der Schüler','mit folgenden Förderschwerpunkten');
|
||||
$filepath = '/var/www/html/asd-control/webroot/files/ap/'.$filename;
|
||||
$handle = fopen($filepath, "r");
|
||||
//$i = 1;
|
||||
//$header = fgetcsv($handle, $options['length'], $options['delimiter']);
|
||||
$all = array();
|
||||
while ($row = fgetcsv($handle, $options['length'], $options['delimiter'])) {
|
||||
//debug($row);
|
||||
$data = array();
|
||||
$i=0;
|
||||
foreach ($column_names as $column_name) {
|
||||
$data[$column_name] = trim($row[$i]);
|
||||
$i++;
|
||||
}
|
||||
//debug($data);
|
||||
array_push($all,$data);
|
||||
}
|
||||
//debug($all);die;
|
||||
|
||||
$regierungen = array();
|
||||
|
||||
foreach ($all as $line) {
|
||||
if(!in_array($line['Regierung'],$regierungen)) {
|
||||
array_push($regierungen,$line['Regierung']);
|
||||
}
|
||||
}
|
||||
|
||||
debug($regierungen);
|
||||
|
||||
foreach($regierungen as $regierung) {
|
||||
$$regierung = array();
|
||||
foreach ($all as $line) {
|
||||
if ($line['Regierung'] == $regierung) {
|
||||
array_shift($line);
|
||||
array_push($$regierung,$line);
|
||||
|
||||
}
|
||||
}
|
||||
//debug($$regierung);
|
||||
}
|
||||
$column = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN');
|
||||
|
||||
foreach($regierungen as $regierung) {
|
||||
|
||||
$spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
|
||||
$spreadsheet->getProperties()->setCreator('Wilfried Trinkl StMBW')
|
||||
->setLastModifiedBy('Wilfried Trinkl')
|
||||
->setTitle('Förderschwerpunkt')
|
||||
->setSubject('ASD Wertelisten')
|
||||
->setDescription('Wertelisten created by php')
|
||||
->setKeywords('Förderschwerpunkt')
|
||||
->setCategory('Auswertungen');
|
||||
$size = 8;
|
||||
$rows = sizeof($$regierung);
|
||||
//debug($rows);die;
|
||||
for ($i=1;$i<8;$i++) {
|
||||
// debug($column[$i-1]);
|
||||
// debug($column_names[$i]);
|
||||
$spreadsheet->setActiveSheetIndex(0)
|
||||
->setCellValue($column[$i-1] . '1', $column_alias[$i]);
|
||||
$spreadsheet->getActiveSheet()->getStyle($column[$i] . '1')->getFont()->setBold(true);
|
||||
}
|
||||
//die;
|
||||
$j=1;
|
||||
foreach ($$regierung as $line) {
|
||||
//debug($line);die;
|
||||
for ($i=0;$i<($size-1);$i++) {
|
||||
//debug($column[$i]);
|
||||
//debug($j);
|
||||
//debug($line[$column_names[$i+1]]);
|
||||
$spreadsheet->setActiveSheetIndex(0)->setCellValueExplicit($column[($i)] . ($j+1) , $line[$column_names[$i+1]], \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING);
|
||||
}
|
||||
$j++;
|
||||
}
|
||||
for ($i=0;$i<7;$i++) {
|
||||
$spreadsheet->setActiveSheetIndex(0)->getColumnDimension($column[$i])->setAutoSize(true);
|
||||
}
|
||||
$spreadsheet->getActiveSheet()->setAutoFilter(
|
||||
$spreadsheet->getActiveSheet()
|
||||
->calculateWorksheetDimension()
|
||||
);
|
||||
//debug($regierung);
|
||||
$to_mail = $regierung.'.41.ASD@schulen.bayern.de';
|
||||
//debug($to_mail);
|
||||
//die;
|
||||
$writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xlsx');
|
||||
$writer->save('/test/Report_'.$regierung.'.xlsx');
|
||||
$email = new Email();
|
||||
$email->viewVars(['date' => $date]);
|
||||
$email
|
||||
->emailFormat('html')
|
||||
//->from(['asd.trinkl@schulen.bayern.de' => 'ASD Trinkl'])
|
||||
->from(['asd@schulen.bayern.de' => 'ASD'])
|
||||
//->cc('asd.trinkl@schulen.bayern.de')
|
||||
->to($to_mail)
|
||||
->cc('asd.kraupner@schulen.bayern.de')
|
||||
//->to($mail->snr . '@schulen.bayern.de')
|
||||
//->cc('abschlusspruefung@schulen.bayern.de')
|
||||
->template('foerder')
|
||||
->subject('schulaufsichtliche Prüfung der Förderzentren – Auswertung ' . $regierung )
|
||||
->attachments('/test/Report_'.$regierung.'.xlsx')
|
||||
->send();
|
||||
}
|
||||
//die;
|
||||
debug($filename);die;
|
||||
}
|
||||
|
||||
public function deleteall() {
|
||||
$this->Emails->connection()->transactional(function ($conn) {
|
||||
$sqls = $this->Emails->schema()->truncateSql($this->Emails->connection());
|
||||
|
||||
Reference in New Issue
Block a user