ich habe schon länger hier gestöbert und viel selbst probiert, bin aber zu keiner Lösung gekommen. Folgendes ist mein Problem:
Wir nutzen Admidio schon lange für unsere Hobbyfussballliga und haben immer Spielerpässe und Mannschaftslisten als PDF ausgegeben, um diese dann an die einzelnen Mannschaften auszugeben. Ein Freund, der das leider nicht mehr übernehmen will, hat den Code geschrieben, sodass die Mannschaftslisten jeweils 4mal auf eine DIN A4 Seite passen. Wir drucken das ganze dann als Etiketten auf für die Spielberichtsbögen. Lange Rede, kurzer Sinn: Ich habe den Code vorliegen, schaffe es aber aus eigener Kraft nicht, ihn an die aktuelle Version anzupassen. Ich füge unten mal die entsprechenden Bereiche der alten lists_show an und hoffe, ihr habt Ideen für mich. Ich habe nie wirklich php oder html gelernt, bin aber nicht ganz unbegabt!
if($mode == 'pdf-aufkleber') {
// Teamname
$teamName = $role_row->rol_name;
// Spielerliste
$teamPlayers = array();
// Leiter
$leiter_sql = prepareSQL($leiter_sql, array($rol_id));
if(!empty($leiter_sql)) {
$result_lst = mysql_query($leiter_sql, $g_adm_con);
while($row = mysql_fetch_array($result_lst)) {
$teamPlayers[] = array(
'first' => stripslashes($row['usr_first_name']),
'last' => stripslashes($row['usr_last_name']),
'passnr' => stripslashes($row['usr_id']),
'anwesend' => '',
'aus' => '',
'karte' => '',
);
}
}
// Spieler
$main_sql = prepareSQL($main_sql, array($rol_id));
if(!empty($main_sql)) {
$result_lst = mysql_query($main_sql, $g_adm_con);
while($row = mysql_fetch_array($result_lst)) {
$teamPlayers[] = array(
'first' => stripslashes($row['usr_first_name']),
'last' => stripslashes($row['usr_last_name']),
'passnr' => stripslashes($row['usr_id']),
'anwesend' => '',
'aus' => '',
'karte' => '',
);
}
}
include_once("pdfClass/class.ezpdf.php");
$fontSize = 7;
$fontSizeTitle = 18;
$tableOptions = array(
'showLines' => 2,
'showHeadings' => 0,
'shaded' => 0,
'fontSize' => $fontSize,
'rowGap' => 2,
'colGap' => 2,
'xPos' => 'left',
'xOrientation' => 'right',
// 'width' => 280,
'innerLineThickness' => 0.5,
'outerLineThickness' => 0.5,
'cols' => array(
'last' => array('width'=>75),
'first' => array('width'=>75),
'passnr' => array('width'=>30),
'anwesend' => array('width'=>23),
'aus' => array('width'=>23),
'karte' => array('width'=>23),
),
);
$maxRows = 30;
$tableData = array();
$tableData[] = array(
'last' => '<b>Nachname</b>',
'first' => '<b>Vorname</b>',
'passnr' => '<b>Passnr.</b>',
'anwesend' => '<b>Anw.</b>',
'aus' => '<b>Aus.</b>',
'karte' => '<b>Karte</b>',
);
foreach($teamPlayers as $player) {
$tableData[] = $player;
}
if(count($tableData)>$maxRows) {
$tableData = array_slice($tableData, 0, $maxRows);
}
$tableData = array_pad($tableData, $maxRows, array('first' => '', 'last' => '', 'passnr' => '', 'anwesend' => '', 'karte' => ''));
$pdf = new Cezpdf('a4', 'portrait');
$pageMargins = array(20, 20, 20, 30);
$pdf->ezSetMargins($pageMargins[0], $pageMargins[1], $pageMargins[2], $pageMargins[3]);
$pdf->selectFont('pdfClass/fonts/Helvetica.afm');
$posY = array(
0 => 825,
1 => 825,
2 => 425,
3 => 425,
);
$tableXPos = array(
0 => 'left',
1 => 'right',
2 => 'left',
3 => 'right',
);
$tableXOrientation = array(
0 => 'right',
1 => 'left',
2 => 'right',
3 => 'left',
);
$titleIndent = array(
0 => '',
1 => ' ',
2 => '',
3 => ' ',
);
for($x=0; $x<4; $x++) {
$pdf->ezSetY($posY[$x]);
$tableOptions['xPos'] = $tableXPos[$x];
$tableOptions['xOrientation'] = $tableXOrientation[$x];
$pdf->ezText($titleIndent[$x].$teamName, $fontSizeTitle);
$pdf->ezSetDy(-4);
$pdf->ezTable($tableData, '', '', $tableOptions);
}
// Ausgeben
$pdf->ezStream();
// Ende
exit;
}