Mod: Download Topics and Posts

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Mutated!
Mitglied
Beiträge: 171
Registriert: 01.04.2004 14:05
Wohnort: Karlsruhe
Kontaktdaten:

Mod: Download Topics and Posts

Beitrag von Mutated! »

Hallo!

Das ist der Code des Mods:

Code: Alles auswählen

if ( $download )
{
	$sql_download = ( $download != -1 ) ? " AND p.post_id = " . intval($download) . " " : '';

	$orig_word = array();
	$replacement_word = array();
	obtain_word_list($orig_word, $replacement_word);

	$sql = "SELECT u.*, p.*,  pt.post_text, pt.post_subject, pt.bbcode_uid
		FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt
		WHERE p.topic_id = $topic_id
			$sql_download
			AND pt.post_id = p.post_id
			AND u.user_id = p.poster_id
			ORDER BY p.post_time ASC, p.post_id ASC";
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, "Could not create download stream for post.", '', __LINE__, __FILE__, $sql);
	}

	$download_file = '';

	$is_auth_read = array();

	while ( $row = $db->sql_fetchrow($result) )
	{
		$is_auth_read = auth(AUTH_ALL, $row['forum_id'], $userdata);

		$poster_id = $row['user_id'];
		$poster = ( $poster_id == ANONYMOUS ) ? $lang['Guest'] : $row['username'];

		$post_date = create_date($board_config['default_dateformat'], $row['post_time'], $board_config['board_timezone']);

		$post_subject = ( $row['post_subject'] != '' ) ? $row['post_subject'] : '';

		$bbcode_uid = $row['bbcode_uid'];
		$message = $row['post_text'];
		$message = strip_tags($message);
		$message = preg_replace("/\[.*?:$bbcode_uid:?.*?\]/si", '', $message);
		$message = preg_replace('/\[url\]|\[\/url\]/si', '', $message);
		$message = preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message);

		$message = unprepare_message($message);
		$message = preg_replace('/(/', '(', $message);
		$message = preg_replace('/)/', ')', $message);
		$message = preg_replace('/:/', ':', $message);
		$message = preg_replace('/[/', '[', $message);
		$message = preg_replace('/]/', ']', $message);
		$message = preg_replace('/{/', '{', $message);
		$message = preg_replace('/}/', '}', $message);

		if (count($orig_word))
		{
			$post_subject = preg_replace($orig_word, $replacement_word, $post_subject);

			$message = str_replace('\"', '"', substr(preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "preg_replace(\$orig_word, \$replacement_word, '\\0')", '>' . $message . '<'), 1, -1));
		}

		$break = "\n\r";
		$line = '';
		$download_file .= $break.$line.$break.$poster.$break.$post_date.$break.$break.$post_subject.$break.$line.$break.$message.$break;
	}

	$disp_folder = ( $download == -1 ) ? 'Topic_'.$topic_id : 'Post_'.$download;

	if (!$is_auth_read['auth_read'])
	{
		$download_file = sprintf($lang['Sorry_auth_read'], $is_auth_read['auth_read_type']);
		$disp_folder = 'Download';
	}

	$filename = $board_config['sitename']."_".$disp_folder."_".date("Ymd",time()).".txt";
	header('Content-Type: text/x-delimtext; name="'.$filename.'"');
	header('Content-Disposition: attachment;filename="'.$filename.'"');
	header('Content-Transfer-Encoding: plain/text');
	header('Content-Length: '.strlen($download_file));
	print $download_file;

	exit;
}
Beim Download der txt. Datei erscheint in der Text-Datei zwischen den einzelnen Beiträgen so ein komisches Zeichen: siehe: hier

Wie bekomme ich diese komischen Zeichen weg?
Zuletzt geändert von Mutated! am 26.04.2007 22:57, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5394
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Öhm, ich sehe da keine komischen Zeichen... :-?
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Mutated!
Mitglied
Beiträge: 171
Registriert: 01.04.2004 14:05
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von Mutated! »

Das Zeichen sieht wie ein Viereck aus. Das hätte ich gerne weg. Und dann wollte ich noch haben, dass der Abstand zwischen dem Nutzernamen und dem Text entfernt wird. Weißt du wie man das macht?
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5394
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Weißt du wie man das macht?
Klar, ich habe den Mod schliesslich geschrieben ;)

Also ein "Viereck" sehe ich nicht, das wäre auch dann ein "Sonderzeichen".
Vielleicht liegst auch an meinem Texteditor...

Und der Abstand:
Du hast $line "geleert", damit entstehen zwangsweise mehrere Leerzeilen, die nun in Massen hintereinander störend aussehen.
Gehe daher einfach mal die Zeile

Code: Alles auswählen

$download_file .= $break.$line.$break.$poster.$break.$post_date.$break.$break.$post_subject.$break.$line.$break.$message.$break;
durch und schaue, wo welches $break (Zeilenumbruch) und $line (nun nicht mehr vorhandene Linie) vorkommt.
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Mutated!
Mitglied
Beiträge: 171
Registriert: 01.04.2004 14:05
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von Mutated! »

Danke. Jetzt hab ich es mit en Abständen korrigiert. Ich hab jetzt so ein Bild hier eingefügt, das zeigt das Viereck. Wie mache ich das weg?

[ externes Bild ]
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5394
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Das sind Umbrüche, die Dein Editor nicht korrekt darstellt!
Verwende mal einen anderen Texteditor, dann sind diese "Vierecke" nicht mehr da.
Ich habe TextPad.
Ultraedit, EasyEdit und wie sie alle heissen, leisten hier ebenfalls ein sauberes Ergebnis...
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Mutated!
Mitglied
Beiträge: 171
Registriert: 01.04.2004 14:05
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von Mutated! »

Das tritt im Windows Texteditor auf. Ne andere Möglichkeit außer den Editor zu wechseln gibt es nicht?
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5394
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Der "einfache" Windows Texteditor versteht die Zeilenumbrüche nicht, die von Unix/Linux-Systemen gesetzt werden.
Im MOD ist das \r\n.
Man sollte eh immer auch für phpBB-Dateien einen Editor nehmen, der das beherrscht, um Fehlfunktionen zu vermeiden.
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
manuj170793
Mitglied
Beiträge: 170
Registriert: 29.06.2007 22:03
Kontaktdaten:

Beitrag von manuj170793 »

wo kann ich denn diesen download starten. ich habe den mod in meinem forum installiert, aber ich sehe nirgends den download-button bei einem thema. da steht des wäre inj der themenansicht, aber wo is die?
Benutzeravatar
oxpus
Ehemaliges Teammitglied
Beiträge: 5394
Registriert: 03.02.2003 12:33
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Naja, Button ist zu viel gesagt, es werden je Post und über/unter den Posts im Topic die Links eingefügt:
Beitrag speichern
Topic speichern
eingefügt.
Grüße
OXPUS
Kein Support bei unaufgeforderten PNs, E-Mails oder auf anderem Weg!!
Antworten

Zurück zu „phpBB 2.0: Mod Support“