Subversion-Projekte lars-tiefland.medien

Revision

Revision 82 | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
41 lars 1
<?
72 lars 2
	function generate_cd_pdf_lang($id, $spr, $pdf)
41 lars 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)
72 lars 8
		$y1=770; 	//Startposition auf Seite
9
		$y=$y1;
41 lars 10
 
11
		global $tr;
72 lars 12
 
13
		//Spracheinträge auslesen
14
		$lang=$tr->getPage("common", $spr);
41 lars 15
 
72 lars 16
		//Daten für die CD abholen
41 lars 17
		$cd=new CD($id);
18
		$a=new Album($cd->album);
19
		$g=new Genre($a->genre);
74 lars 20
		$g_name="";
73 lars 21
		if($a->genre==1)
22
		{
23
			$g_name=$lang["various"];
24
		}
25
		else
26
		{
27
			$g_name=$g->name;
28
		}
55 lars 29
		$tracks=$cd->getTracks();
41 lars 30
		$a_id=$a->artist;
31
		$artist=new Artist($a_id);
74 lars 32
		$a_name="";
73 lars 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
		}
72 lars 41
 
42
		//Seite 1 beginnen
73 lars 43
		if(!PDF_begin_page_ext($pdf, 595, 842, "")) $erg=false;
41 lars 44
 
72 lars 45
		//Schriftart laden
41 lars 46
		$font = PDF_load_font($pdf, "Helvetica-Bold", "winansi", "");
73 lars 47
		$font_t = PDF_load_font($pdf, "Helvetica", "winansi", "");
72 lars 48
		//Schriftart setzen
41 lars 49
		PDF_setfont($pdf, $font, 25);
72 lars 50
		//Textposition setzen
41 lars 51
		PDF_set_text_pos($pdf, $x1, $y);
72 lars 52
		//Text anzeigen
41 lars 53
		PDF_show($pdf, "Details zur CD");
72 lars 54
		//Text nach unten verschieben (neue Zeile)
41 lars 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"].":");
73 lars 62
		PDF_setfont($pdf, $font_t, 10);
41 lars 63
		PDF_set_text_pos($pdf, $x2, $y);
64
		PDF_show($pdf, $a->name);
65
		$y-=10;
73 lars 66
		PDF_setfont($pdf, $font, 10);
41 lars 67
		PDF_set_text_pos($pdf, $x1, $y);
68
		PDF_show($pdf, $lang["genre"].":");
73 lars 69
		PDF_setfont($pdf, $font_t, 10);
41 lars 70
		PDF_set_text_pos($pdf, $x2, $y);
74 lars 71
		PDF_show($pdf, $g_name);
41 lars 72
		$y-=10;
73 lars 73
		PDF_setfont($pdf, $font, 10);
41 lars 74
		PDF_set_text_pos($pdf, $x1, $y);
75
		PDF_show($pdf, $lang["year"].":");
73 lars 76
		PDF_setfont($pdf, $font_t, 10);
41 lars 77
		PDF_set_text_pos($pdf, $x2, $y);
78
		PDF_show($pdf, ($a->year)?$a->year:$lang["unknown"]);
79
		$y-=10;
73 lars 80
		PDF_setfont($pdf, $font, 10);
41 lars 81
		PDF_set_text_pos($pdf, $x1, $y);
82
		PDF_show($pdf, $lang["sampler"].":");
73 lars 83
		PDF_setfont($pdf, $font_t, 10);
41 lars 84
		PDF_set_text_pos($pdf, $x2, $y);
85
		PDF_show($pdf, ($a->artist==1)?$lang["yes"]:$lang["no"]);
86
		$y-=10;
73 lars 87
		PDF_setfont($pdf, $font, 10);
41 lars 88
		PDF_set_text_pos($pdf, $x1, $y);
89
		PDF_show($pdf, $lang["artist"].":");
73 lars 90
		PDF_setfont($pdf, $font_t, 10);
41 lars 91
		PDF_set_text_pos($pdf, $x2, $y);
92
		PDF_show($pdf, $a_name);
72 lars 93
		//Bild für Album / CD einbinden
41 lars 94
		$tmp_name="images/alben/$a->pic";
95
		$i=PDF_open_image_file($pdf, "jpeg", $tmp_name, "", 0);
96
		$y=470;
73 lars 97
		PDF_setfont($pdf, $font, 10);
41 lars 98
		PDF_set_text_pos($pdf, $x1, $y);
99
		PDF_show($pdf, $lang["picture"].":");
100
		PDF_fit_image($pdf, $i, $x2, $y, "");
72 lars 101
 
41 lars 102
		$y-=20;
72 lars 103
 
41 lars 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
 
72 lars 115
		//Titel in PDF schreiben
73 lars 116
		if(count($tracks))
41 lars 117
		{
73 lars 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;
72 lars 129
 
73 lars 130
				//Neue Seite anlegen, falls nötig.
131
				if ($y < 60)
132
				{
72 lars 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;
73 lars 139
					$page++;
72 lars 140
					$res=PDF_begin_page_ext($pdf,595,842,"");
141
					pdf_set_text_pos($pdf,$x ,$y);
73 lars 142
					$font = PDF_load_font($pdf, "Helvetica-Bold", "winansi", "");
143
					$font_t = PDF_load_font($pdf, "Helvetica", "winansi", "");
72 lars 144
					PDF_setfont($pdf, $font, 10);
73 lars 145
				}
41 lars 146
			}
147
		}
72 lars 148
 
149
		//lletzte Seite beenden
73 lars 150
		if(!PDF_end_page_ext($pdf,"")) $erg=false; else $erg=true;
151
		return $erg;
41 lars 152
	}
153
 
154
	function generate_cd_pdf($id)
155
	{
72 lars 156
		//PDF für eine CD anlegen
41 lars 157
		global $db, $prefix;
158
		$sql="SELECT * FROM $prefix"."langs";
159
		$res=$db->query($sql);
72 lars 160
 
41 lars 161
		while($row=$res->fetchRow())
162
		{
163
			$spr=$row["id"];
72 lars 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
			}
41 lars 176
		}
72 lars 177
		return $erg;
41 lars 178
	}
72 lars 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
	}
73 lars 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
	}
41 lars 240
?>