Subversion-Projekte lars-tiefland.medien

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
98 lars 1
<?
2
	function generate_cd_pdf_lang($id, $spr, $pdf)
3
	{
4
		$x1=60;		//Column 1
5
		$x2=200;	//Column 2 (normal)
6
		$x3=90;		//Column 2 (Title List)
7
		$x4=490;	//Column 3 (Title List)
8
		$y1=770; 	//Startposition auf Seite
9
		$y=$y1;
10
 
11
		global $tr;
12
 
13
		//Spracheinträge auslesen
14
		$lang=$tr->getPage("common", $spr);
15
 
16
		//Daten für die CD abholen
17
		$cd=new CD($id);
18
		$a=new Album($cd->album);
19
		$g=new Genre($a->genre);
20
		$g_name="";
21
		if($a->genre==1)
22
		{
23
			$g_name=$lang["various"];
24
		}
25
		else
26
		{
27
			$g_name=$g->name;
28
		}
29
		$tracks=$cd->getTracks();
30
		$a_id=$a->artist;
31
		$artist=new Artist($a_id);
32
		$a_name="";
33
		if($a_id==1)
34
		{
35
			$a_name=$lang["various"];
36
		}
37
		else
38
		{
39
			$a_name=($artist->fname)?"$artist->fname $artist->name":"$artist->name";
40
		}
41
 
42
		//Seite 1 beginnen
43
		if(!PDF_begin_page_ext($pdf, 595, 842, "")) $erg=false;
44
 
45
		//Schriftart laden
46
		$font = PDF_load_font($pdf, "Helvetica-Bold", "winansi", "");
47
		$font_t = PDF_load_font($pdf, "Helvetica", "winansi", "");
48
		//Schriftart setzen
49
		PDF_setfont($pdf, $font, 25);
50
		//Textposition setzen
51
		PDF_set_text_pos($pdf, $x1, $y);
52
		//Text anzeigen
53
		PDF_show($pdf, "Details zur CD");
54
		//Text nach unten verschieben (neue Zeile)
55
		$y-=30;
56
		PDF_set_text_pos($pdf, $x1, $y);
57
		PDF_show($pdf, "\"$cd->name\"");
58
		$y-=30;
59
		PDF_setfont($pdf, $font, 10);
60
		PDF_set_text_pos($pdf, $x1, $y);
61
		PDF_show($pdf, $lang["album_name"].":");
62
		PDF_setfont($pdf, $font_t, 10);
63
		PDF_set_text_pos($pdf, $x2, $y);
64
		PDF_show($pdf, $a->name);
65
		$y-=10;
66
		PDF_setfont($pdf, $font, 10);
67
		PDF_set_text_pos($pdf, $x1, $y);
68
		PDF_show($pdf, $lang["genre"].":");
69
		PDF_setfont($pdf, $font_t, 10);
70
		PDF_set_text_pos($pdf, $x2, $y);
71
		PDF_show($pdf, $g_name);
72
		$y-=10;
73
		PDF_setfont($pdf, $font, 10);
74
		PDF_set_text_pos($pdf, $x1, $y);
75
		PDF_show($pdf, $lang["year"].":");
76
		PDF_setfont($pdf, $font_t, 10);
77
		PDF_set_text_pos($pdf, $x2, $y);
78
		PDF_show($pdf, ($a->year)?$a->year:$lang["unknown"]);
79
		$y-=10;
80
		PDF_setfont($pdf, $font, 10);
81
		PDF_set_text_pos($pdf, $x1, $y);
82
		PDF_show($pdf, $lang["sampler"].":");
83
		PDF_setfont($pdf, $font_t, 10);
84
		PDF_set_text_pos($pdf, $x2, $y);
85
		PDF_show($pdf, ($a->artist==1)?$lang["yes"]:$lang["no"]);
86
		$y-=10;
87
		PDF_setfont($pdf, $font, 10);
88
		PDF_set_text_pos($pdf, $x1, $y);
89
		PDF_show($pdf, $lang["artist"].":");
90
		PDF_setfont($pdf, $font_t, 10);
91
		PDF_set_text_pos($pdf, $x2, $y);
92
		PDF_show($pdf, $a_name);
93
		//Bild für Album / CD einbinden
94
		$tmp_name="images/alben/$a->pic";
95
		$i=PDF_open_image_file($pdf, "jpeg", $tmp_name, "", 0);
96
		$y=470;
97
		PDF_setfont($pdf, $font, 10);
98
		PDF_set_text_pos($pdf, $x1, $y);
99
		PDF_show($pdf, $lang["picture"].":");
100
		PDF_fit_image($pdf, $i, $x2, $y, "");
101
 
102
		$y-=20;
103
 
104
		PDF_set_text_pos($pdf, $x1, $y);
105
		PDF_show($pdf, $lang["tracks"].":");
106
		$y-=20;
107
		PDF_set_text_pos($pdf, $x1, $y);
108
		PDF_show($pdf, "#");
109
		PDF_set_text_pos($pdf, $x3, $y);
110
		PDF_show($pdf, $lang["title"]);
111
		PDF_set_text_pos($pdf, $x4, $y);
112
		PDF_show($pdf, $lang["duration"]);
113
		$y-=20;
114
 
115
		//Titel in PDF schreiben
116
		if(count($tracks))
117
		{
118
			foreach($tracks as $track)
119
			{
120
				PDF_setfont($pdf, $font_t, 10);
121
				PDF_SET_text_pos($pdf, $x1, $y);
122
				PDF_show($pdf,sprintf("%02d", $track["track_no"]));
123
				$t=new Track($track["t_id"]);
124
				PDF_set_text_pos($pdf, $x3, $y);
125
				PDF_show($pdf, $t->name);
126
				PDF_set_text_pos($pdf, $x4, $y);
127
				PDF_show($pdf, $t->dur);
128
				$y-=10;
129
 
130
				//Neue Seite anlegen, falls nötig.
131
				if ($y < 60)
132
				{
133
					PDF_set_text_pos($pdf, 10, 10);
134
					PDF_show($pdf, $sig);
135
					PDF_set_text_pos($pdf, 510, 10);
136
					PDF_show($pdf, $page);
137
					$res=PDF_end_page_ext($pdf,"");
138
					$y=$y1;
139
					$page++;
140
					$res=PDF_begin_page_ext($pdf,595,842,"");
141
					pdf_set_text_pos($pdf,$x ,$y);
142
					$font = PDF_load_font($pdf, "Helvetica-Bold", "winansi", "");
143
					$font_t = PDF_load_font($pdf, "Helvetica", "winansi", "");
144
					PDF_setfont($pdf, $font, 10);
145
				}
146
			}
147
		}
148
 
149
		//lletzte Seite beenden
150
		if(!PDF_end_page_ext($pdf,"")) $erg=false; else $erg=true;
151
		return $erg;
152
	}
153
 
154
	function generate_cd_pdf($id)
155
	{
156
		//PDF für eine CD anlegen
157
		global $db, $prefix;
158
		$sql="SELECT * FROM $prefix"."langs";
159
		$res=$db->query($sql);
160
 
161
		while($row=$res->fetchRow())
162
		{
163
			$spr=$row["id"];
164
			//PDF Stream anlegen
165
			$pdf=PDF_NEW();
166
			$erg=false;
167
			if(!$pdf) $erg=false;
168
			//Stream als Datei speichern
169
			if(!PDF_begin_document($pdf, "pdf/$spr/CD_$id.pdf","")) return false;
170
 
171
			//PDF erzeugen
172
			if ($erg=generate_cd_pdf_lang($id, $spr, $pdf))
173
			{
174
				if(!PDF_end_document($pdf,"")) $erg=false;
175
			}
176
		}
177
		return $erg;
178
	}
179
 
180
	function generate_album_pdf($id)
181
	{
182
		//PDF für ein Album anlegen
183
		global $db, $prefix;
184
		$sql="SELECT * FROM $prefix"."langs";
185
		$res=$db->query($sql);
186
 
187
		while($row=$res->fetchRow())
188
		{
189
			$spr=$row["id"];
190
			//PDF Stream anlegen
191
			$pdf=PDF_NEW();
192
			$erg=false;
193
			if(!$pdf) $erg=false;
194
			//Stream als Datei speichern
195
			if(!PDF_begin_document($pdf, "pdf/$spr/album_$id.pdf","")) $erg=false;
196
 
197
			//PDF erzeugen
198
			$sql="SELECT * FROM $prefix"."cds WHERE album_id=$id";
199
			$res1=$db->query($sql);
200
			while($cd_row=$res1->fetchRow())
201
			{
202
				$cd_id=$cd_row["cd_id"];
203
				$erg=generate_cd_pdf_lang($cd_id, $spr, $pdf);
204
				if (!$erg) break;
205
			}
206
			if ($erg)
207
			{
208
				if(!PDF_end_document($pdf,"")) $erg=false;
209
			}
210
		}
211
		return $erg;
212
	}
213
 
214
	function generate_album_pdfs()
215
	{
216
		//PDF Dateien für alle Alben erzeugen
217
		echo "Generiere PDF Dateien!";
218
		global $db, $prefix;
219
		$sql="SELECT * FROM $prefix"."albums";
220
		$res=$db->query($sql);
221
		while($row=$res->fetchRow())
222
		{
223
			$erg=generate_album_pdf($row["a_id"]);
224
		}
225
		return $erg;
226
	}
227
 
228
	function generate_cd_pdfs()
229
	{
230
		//PDF Dateien für alle CDs erzeugen
231
		global $db, $prefix;
232
		$sql="SELECT * FROM $prefix"."cds";
233
		$res=$db->query($sql);
234
		while($row=$res->fetchRow())
235
		{
236
			$erg=generate_cd_pdf($row["cd_id"]);
237
		}
238
		return $erg;
239
	}
240
?>