Topic als PDF ausgeben

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Naja, Kleinigkeiten, die man irgendwann mal beheben kann...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
ChrisB
Beiträge: 5
Registriert: Fr 06.Apr, 2007 13:21
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von ChrisB »

Klar... ist nichts großes... wollte nur drauf hinweisen.

Hm... und die Konvertierung von Listen scheinen auch noch nicht so ganz zu funktionieren... (zumindest bei mir)

Mal hier testen
  1. Test1
  2. Test2
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Das wird schlichterwegs nicht so implementiert sein, wie das vielleicht hier formatiert wird.
Denn an OXPUS.de ist vieles schon nicht mehr Original...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Hi,

ich bekomme im Moment folgende Fehlermeldung:
Warning: fopen(/var/www/vhosts/maskinisten.net/httpdocs/cache/Smilies/icon_confused) [function.fopen]: failed to open stream: Permission denied in /var/www/vhosts/maskinisten.net/httpdocs/fpdf.php on line 928

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/vhosts/maskinisten.net/httpdocs/fpdf.php on line 929

Warning: chmod() [function.chmod]: Permission denied in /var/www/vhosts/maskinisten.net/httpdocs/fpdf.php on line 930

Warning: imagepng() [function.imagepng]: Unable to open '/var/www/vhosts/maskinisten.net/httpdocs/cache/Smilies/icon_confused' for writing: Permission denied in /var/www/vhosts/maskinisten.net/httpdocs/fpdf.php on line 932

Warning: rename(/var/www/vhosts/maskinisten.net/httpdocs/cache/Smilies/icon_confused,/var/www/vhosts/maskinisten.net/httpdocs/cache/Smilies/icon_confused.png) [function.rename]: Permission denied in /var/www/vhosts/maskinisten.net/httpdocs/fpdf.php on line 933

Warning: fopen(/var/www/vhosts/maskinisten.net/httpdocs/cache/Smilies/icon_confused.png) [function.fopen]: failed to open stream: Permission denied in /var/www/vhosts/maskinisten.net/httpdocs/fpdf.php on line 1564
FPDF error: Can't open image file: /var/www/vhosts/maskinisten.net/httpdocs/cache/Smilies/icon_confused.png
cache/SMilies hat CHMOD777 eingestellt.

Was könnte die Fehlermedung verursachen?
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Die Smilies da drinnen auch auf CHMOD 777?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Das Verzeichnis ist leer
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Und wenn es leer ist kann auch kein Smilie gefunden werden, richtig?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Eh, ja, soweit ist Deine Theorie schon richtig ... :-)
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Eigentlich sollten die Smilies dort reingeschrieben werden, sofern sie "erreichbar" sind.
Wie schaut es denn mit den Zugriffsrechten auf Deine Forumsmilies aus? Sind die zumindest auf CHMOD 655?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Habe sie jetzt auf 655 eingestellt, kein Unterschied.
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Hm, wie war das jetzt noch gleich...

Komm aktuell nicht drauf...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
ChrisB
Beiträge: 5
Registriert: Fr 06.Apr, 2007 13:21
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von ChrisB »

Sorry, wenn ich mich da jetzt einmische...
Bei mir werden die Smilies zwar im PDF korrekt dargestellt... aber in dem Cache-Verzeichnis finde ich auch nie eine Datei. Hat mich bis jetzt nicht weiter belastet - es tut ja trotzdem :)
Aber könnte es evtl. sein, dass der Cache bei der Standard-Download-Version nicht aktiviert ist und/oder noch irgendwo das richtige Verzeichnis eingetragen werden muss?!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Re: Topic als PDF ausgeben

Beitrag von Holger »

Ah!
Irgendwie konnte ich CHMOD nicht ändern. Permission denied, Operation aborted ...

Ordner gelöscht, neu erstellt. Geht!

Jetzt bekomme ich freilich die Umlaute nicht richtig dargestellt!
Und auch die Bilder nicht.

Original:
http://www.maskinisten.net/viewtopic.php?t=13192

Ergebnis:
http://www.maskinisten.net/pdf.pdf
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Topic als PDF ausgeben

Beitrag von oxpus »

Naja, bedingt durch deine Umstellung auf UTF8 ist das nicht verwunderlich.
Ersetze in der pdf.php mal die Zeile

Code: Alles auswählen

	$message = $postrow[$a]['post_text'];
durch

Code: Alles auswählen

	$message = utf8_encode($postrow[$a]['post_text']);
Dann sollten die Umlaute wieder stimmen.

Ähnliches aber auch für den Titel.
Dazu wären dann u. a. diese Zeilen anzupassen:

Code: Alles auswählen

$pdf->SetTitle($forum_topic_data['topic_title'] . ' - ' . time());

Code: Alles auswählen

$pdf->SetSubject($forum_topic_data['topic_title']);

Code: Alles auswählen

$pdf->Cell(190, 8, $forum_topic_data['forum_name'], 0, 1, 'C', 1);

Code: Alles auswählen

$pdf->Cell(190, 7, $forum_topic_data['topic_title'], 0, 1, 'C', 1);

Code: Alles auswählen

$pdf->Write(4, $forum_topic_data['forum_name'], append_sid($link . "viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_topic_data[forum_id]"));

Code: Alles auswählen

$pdf->Write(4, $forum_topic_data['topic_title'], append_sid($link . "viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id"));

Code: Alles auswählen

	$pdf->Cell(190, 6, "#" . ($a + 1) . "/" . $post_count . "     " . $lang['Posted'] . ": " . $post_date . "     " . $lang['Post_subject'] . ": " . $postrow[$a]['post_subject'], 1, 0, 'L', 1);
Also jeweils um die "Text" die Umwandlung mit utf8_encode() einbauen.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Re: Topic als PDF ausgeben

Beitrag von Holger »

oxpus hat geschrieben:Naja, bedingt durch deine Umstellung auf UTF8 ist das nicht verwunderlich.
Ersetze in der pdf.php mal die Zeile

Code: Alles auswählen

	$message = $postrow[$a]['post_text'];
durch

Code: Alles auswählen

	$message = utf8_encode($postrow[$a]['post_text']);
Dann sollten die Umlaute wieder stimmen.
Ne, das hat leider nicht geholfen ...
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Topic als PDF ausgeben

Beitrag von oxpus »

Versuch dann doch mal utf8_decode.
Ich weiß ja jetzt nicht, von welchen Zeichencode in welchen konvertiert werden muss...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Re: Topic als PDF ausgeben

Beitrag von Holger »

oxpus hat geschrieben:Versuch dann doch mal utf8_decode.
Ich weiß ja jetzt nicht, von welchen Zeichencode in welchen konvertiert werden muss...
Mit decode hat es gut geklappt! Danke!

Der Rest, wäre dann z.B.

Code: Alles auswählen

$pdf->SetTitle($forum_topic_data['topic_title'] . ' - ' . time());
in

Code: Alles auswählen

$pdf->SetTitle(utf8_decode($forum_topic_data['topic_title']) . ' - ' . time());
umzuwandeln? Also nicht um SetTitle, sondern um $... ?


EDIT! Jawoll! Klappt! :hurra:
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Topic als PDF ausgeben

Beitrag von oxpus »

Ja, hätte ich dir auch so bestätigt.
Immer direkt um die Variable, die den Text beinhaltet.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Re: Topic als PDF ausgeben

Beitrag von Holger »

Und was bedeutet
Warning: Cannot use a scalar value as an array in /var/www/vhosts/***.net/httpdocs/fpdf.php on line 965

Warning: Division by zero in /var/www/vhosts/***.net/httpdocs/fpdf.php on line 979

Warning: Cannot use a scalar value as an array in /var/www/vhosts/***.net/httpdocs/fpdf.php on line 965

Warning: Division by zero in /var/www/vhosts/***.net/httpdocs/fpdf.php on line 979

Warning: Cannot use a scalar value as an array in /var/www/vhosts/***.net/httpdocs/fpdf.php on line 1320

Warning: Cannot use a scalar value as an array in /var/www/vhosts/***.net/httpdocs/fpdf.php on line 1320

Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/***.net/httpdocs/fpdf.php:965) in /var/www/vhosts/***.net/httpdocs/fpdf.php on line 1064
FPDF error: Some data has already been output to browser, can't send PDF file
??
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Topic als PDF ausgeben

Beitrag von oxpus »

Wie sieht denn die Zeile 965 deiner fpdf.php aus?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Re: Topic als PDF ausgeben

Beitrag von Holger »

Das ist

Code: Alles auswählen

		$info['i']=count($this->images)+1;
in

Code: Alles auswählen

function Image($file,$x,$y,$w=0,$h=0,$type='',$link='')
{
	$tmp_img = @getImageSize($file);

	if ($tmp_img[2] == '1')
	{
		$dir_filename = dirname($_SERVER['SCRIPT_FILENAME']) . '/cache/Smilies';

		if ( !file_exists ($dir_filename) )
		{
			mkdir($dir_filename, '0777');
		}

		$filename = basename($file, ".gif");
		$path = $dir_filename . '/' . $filename;

		if ( !file_exists ($path . '.png') )
		{
			$open = fopen($path,'w+');
			fclose($open);
			chmod($path, 0777);
			$img = imagecreatefromgif($file);
			imagepng($img, $path);
			rename($path, $path.'.png');
		}
		$file = $path.'.png';
	}

	//Put an image on the page
	if(!isset($this->images[$file]))
	{
		//First use of image, get info
		if($type=='')
		{
			$pos=strrpos($file,'.');
			if(!$pos)
				$this->Error('Image file has no extension and no type was specified: '.$file);
			$type=substr($file,$pos+1);
		}
		$type=strtolower($type);
		$mqr=get_magic_quotes_runtime();
		set_magic_quotes_runtime(0);
		if($type=='jpg' || $type=='jpeg')
			$info=$this->_parsejpg($file);
		elseif($type=='png')
			$info=$this->_parsepng($file);
		else
		{
			//Allow for additional formats
			$mtd='_parse'.$type;
			if(!method_exists($this,$mtd))
				$this->Error('Unsupported image type: '.$type);
			$info=$this->$mtd($file);
		}
		set_magic_quotes_runtime($mqr);
		$info['i']=count($this->images)+1;
		$this->images[$file]=$info;
	}
	else
		$info=$this->images[$file];

	//Automatic width and height calculation if needed
	if($w==0 && $h==0)
	{
		//Put image at 72 dpi
		$w=$info['w']/$this->k;
		$h=$info['h']/$this->k;
	}
	if($w==0)
		$w=$h*$info['w']/$info['h'];
	if($h==0)
		$h=$w*$info['h']/$info['w'];
	$this->_out(sprintf('q %.2f 0 0 %.2f %.2f %.2f cm /I%d Do Q',$w*$this->k,$h*$this->k,$x*$this->k,($this->h-($y+$h))*$this->k,$info['i']));
	if($link)
		$this->Link($x,$y,$w,$h,$link);
}
979:

Code: Alles auswählen

		$w=$h*$info['w']/$info['h'];
1320:

Code: Alles auswählen

		$this->images[$file]['n']=$this->n;
Der Beitag ist sehr lang, kann es daran liegen?
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Topic als PDF ausgeben

Beitrag von oxpus »

Das wird eine Debug-Meldung sein.
Besser vor

Code: Alles auswählen

      $info['i']=count($this->images)+1;
das Array initieren.
Also so:

Code: Alles auswählen

      $info['i'] = array();
      $info['i']=count($this->images)+1;
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Re: Topic als PDF ausgeben

Beitrag von Holger »

Keine Veränderung! :!:
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Topic als PDF ausgeben

Beitrag von oxpus »

Holger hat geschrieben:Keine Veränderung! :!:
Äh, ist denn nun die Zeile 965 oder 966 fehlerhaft?
Wenn es Zeile 966 ist, dann müsste man bestenfalls die Zeilen

Code: Alles auswählen

		$info=$this->$mtd($file);
		$info['i']=count($this->images)+1;
		$this->images[$file]=$info;
so umschreiben:

Code: Alles auswählen

		$tmp_i = count($this->images)+1;
		$this->images[$file] = $this->$mtd($file);
		$this->images[$file]['i'] = $tmp_i;
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Re: Topic als PDF ausgeben

Beitrag von Holger »

Hm, die Fehlermeldung sieht nun so aus:
Warning: Cannot use a scalar value as an array in /var/www/vhosts/maskinisten.net/httpdocs/fpdf.php on line 965

Warning: Cannot use a scalar value as an array in /var/www/vhosts/maskinisten.net/httpdocs/fpdf.php on line 966

Warning: Division by zero in /var/www/vhosts/maskinisten.net/httpdocs/fpdf.php on line 980

Warning: Cannot use a scalar value as an array in /var/www/vhosts/maskinisten.net/httpdocs/fpdf.php on line 965

Warning: Cannot use a scalar value as an array in /var/www/vhosts/maskinisten.net/httpdocs/fpdf.php on line 966

Warning: Division by zero in /var/www/vhosts/maskinisten.net/httpdocs/fpdf.php on line 980

Warning: Division by zero in /var/www/vhosts/maskinisten.net/httpdocs/fpdf.php on line 980

Warning: Division by zero in /var/www/vhosts/maskinisten.net/httpdocs/fpdf.php on line 980

Warning: Division by zero in /var/www/vhosts/maskinisten.net/httpdocs/fpdf.php on line 980

Warning: Division by zero in /var/www/vhosts/maskinisten.net/httpdocs/fpdf.php on line 980

Warning: Division by zero in /var/www/vhosts/maskinisten.net/httpdocs/fpdf.php on line 980

Warning: Cannot use a scalar value as an array in /var/www/vhosts/maskinisten.net/httpdocs/fpdf.php on line 1321

Warning: Cannot use a scalar value as an array in /var/www/vhosts/maskinisten.net/httpdocs/fpdf.php on line 1321

Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/maskinisten.net/httpdocs/fpdf.php:965) in /var/www/vhosts/maskinisten.net/httpdocs/fpdf.php on line 1065
FPDF error: Some data has already been output to browser, can't send PDF file
Dies ist der Topic:
http://www.maskinisten.net/viewtopic.php?t=13974


Das habe ich nicht:

Code: Alles auswählen

      $info=$this->$mtd($file);
      $info['i']=count($this->images)+1;
      $this->images[$file]=$info;
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Antworten