Seite 1 von 1

[gelöst]Privatnachrichten sichern?

Verfasst: 28.08.2008 22:06
von Adana
Hallo Leute!

Ich bin selbst Admin meines Forums und möchte gerne meine sämtlichen PN-Ordner auf meinen eigenen Rechner sichern. Bislang öffne ich jede Nachricht, kopiere den Text heraus und füge ihn in einee text-Datei ein.

Aber das muß doch auch bequemer gehen, oder? Gibt es für mich eine Möglichkeit die Ordner Posteingang, Gesendete Nachrichten und/oder das Archiv zu sichern?

Vielen Dank für Eurer Hilfe,

Gruß,

Adana

Verfasst: 28.08.2008 22:16
von oxpus
Du bist Dir aber schon bewusst, daß Dich die PN's Deiner User nichts angehen?

Verfasst: 28.08.2008 22:21
von Adana
Na klar, die will ich ja auch nicht sichern. Mir geht es nur um meine eigenen, sorry, wenn ich das nicht deutlich genug erläutert habe.

Verfasst: 28.08.2008 22:30
von oxpus
Dann schau Dir mal dieses hier an:

Code: Alles auswählen

##############################################################################
## Mod Title: download PM
##
## Mod Version: 1.1
##
## Author: makue <makue@nena.de> - http://www.nena.de
##
## Beschreibung: Erlaubt es, PN's downloaden zu können. Es wird ein
##               zusätzlicher Knopf "download" im PN-Bereich erzeugt.
##               Das Download-File ist reines Textformat, die PM's
##               sind durch eine Trennlinie getrennt.
##
## Installation Level: leicht
## Installation Time: 5 Minuten
##
## Files zum editieren: 4
##                      + 1 je zusätzliche Sprache (hier deutsch und englisch)
##                      + 1 je zusätzliches Template (hier nur subSilver)
##
##   /prvmsg.php
##   /language/lang_english/lang_main.php
##   /language/lang_german/lang_main.php
##   /templates/subSilver/prvmsgs_body.tpl
##
## zusätzliche Files: keine
##
##############################################################################
##
## Hinweis:
##
## Bei Fehlern, Hinweisen, Wünschen bitte Mail an makue@nena.de
##
## Bevor Änderungen an den Files vorgenommen werden empfiehlt es
## sich, backups der betroffenen Files vorzunehmen. Änderungen
## an der Datenbank sind nicht notwendig.
##
##############################################################################

# 
#-----[ ÖFFNE ]------------------------------------------ 
# 

/prvmsg.php

# 
#-----[ SUCHE ]---------------------------------------------------------------
# 

$delete_all = ( isset($HTTP_POST_VARS['deleteall']) ) ? TRUE : 0;

# 
#-----[ DANACH EINFÜGEN ]-----------------------------------------------------
#

$download = ( isset($HTTP_POST_VARS['download']) ) ? TRUE : 0;

# 
#-----[ SUCHE ]---------------------------------------------------------------
# 

else if ( $save && $mark_list && $folder != 'savebox' && $folder != 'outbox' )

# 
#-----[ DAVOR EINFÜGEN ]------------------------------------------------------
#

else if ( $download && $mark_list )
{
	if ( !$userdata['session_logged_in'] )
	{
		$header_location = ( @preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')) ) ? 'Refresh: 0; URL=' : 'Location: ';
		header($header_location . append_sid("login.$phpEx?redirect=privmsg.$phpEx&folder=inbox", true));
		exit;
	}

	switch($folder)
	{
		case 'inbox':
			$disp_folder = $lang['Inbox'];
		break;

		case 'outbox':
			$disp_folder = $lang['Outbox'];
		break;

		case 'sentbox':
			$disp_folder = $lang['Sentbox'];
		break;

		case 'savebox':
			$disp_folder = $lang['Savebox'];
		break;
	}

	if (count($mark_list))
	{
		$i=0;
		$pmtext = $lang['Private_Messaging']." (".$board_config['sitename'].")\n";
		$user_dateformat = ($userdata['user_dateformat']) ? $userdata['user_dateformat'] : $board_config['default_dateformat'];
		$pmtext .= $disp_folder . " (". date($user_dateformat,time()). ")\n";
		while($mark_list[$i] != "")
		{
			$sql = "SELECT pt.privmsgs_text, us.username, us.user_id, pm.privmsgs_date, pm.privmsgs_subject
				FROM " . PRIVMSGS_TEXT_TABLE . " pt, " . PRIVMSGS_TABLE . " pm, " . USERS_TABLE . " us 
				WHERE pt.privmsgs_text_id = " . $mark_list[$i] . " AND pm.privmsgs_id = " . $mark_list[$i] . "
				AND us.user_id = pm.privmsgs_from_userid";
			if ( $result = $db->sql_query($sql) )
			{
				$db_row = $db->sql_fetchrow($result);
				$from = ($folder=='inbox' || $folder=='savebox') ? $lang['From'] : $lang['To'];
				$pmtext .= "----------------------------------------------------------------------------\n";
				$pmtext .= $lang['Mailbox'].": ".$userdata['username']."\n";
				$pmtext .= $from.": ".$db_row['username']."\n";
				$pmtext .= $lang['Posted'].": ".date($user_dateformat,time($db_row['privmsgs_date']))."\n";
				$pmtext .= $lang['Subject'].": ".$db_row['privmsgs_subject']."\n\n";
				$pmtext .= $db_row['privmsgs_text']."\n";
			}
			else
			{
				print $sql."<p>";
				message_die(GENERAL_ERROR, 'Could not read private message info', '', __LINE__, __FILE__, $sql);
			}
			$i++;
		}
		$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($pmtext));
		print $pmtext;
		exit;
	}
}

# 
#-----[ SUCHE ]---------------------------------------------------------------
# 

	'L_SAVE_MARKED' => $lang['Save_marked'], 

# 
#-----[ DANACH EINFÜGEN ]-----------------------------------------------------
#

	'L_DOWNLOAD_MARKED' => $lang['Download_marked'], 

# 
#-----[ ÖFFNE ]------------------------------------------ 
# 

/language/lang_english/lang_main.php

# 
#-----[ SUCHE ]---------------------------------------------------------------
# 

$lang['Save_marked'] = 'Save Marked';

# 
#-----[ DANACH EINFÜGEN ]-----------------------------------------------------
#

$lang['Download_marked'] = 'Download Marked'; 
$lang['Mailbox'] = 'Mailbox'; 

# 
#-----[ ÖFFNE ]------------------------------------------ 
# 

/language/lang_german/lang_main.php

# 
#-----[ SUCHE ]---------------------------------------------------------------
# 

$lang['Save_marked'] = "Markierte speichern";

# 
#-----[ DANACH EINFÜGEN ]-----------------------------------------------------
#

$lang['Download_marked'] = 'Markierte downloaden';
$lang['Mailbox'] = 'Postfach'; 

# 
#-----[ ÖFFNE ]---------------------------------------------------------------
# 

/templates/subSilver/prvmsgs_body.tpl

# 
#-----[ SUCHE ]---------------------------------------------------------------
# 

			  <td class="catBottom" colspan="5" height="28" align="right"> {S_HIDDEN_FIELDS} 

# 
#-----[ DANACH EINFÜGEN ]-----------------------------------------------------
#

		<input type="submit" name="download" value="{L_DOWNLOAD_MARKED}" class="liteoption" />
		&nbsp; 

# Ich empfehle die &nbsp; zwischen den Input-Tags zu löschen, die verursachen nur
# einen zu großen Button-Abstand!

# 
#-----[ ALLE DATEIEN SPEICHERN ]----------------------------------------------
#

Verfasst: 28.08.2008 22:43
von Adana
Ah, ok, werd ich mir mal in Ruhe anschauen.

Herzlichen Dank erst mal!

Gruß,

Adana

Verfasst: 29.08.2008 10:55
von Adana
Hallöchen!

jaaa, das ist ja schon mal was ganz anderes, eine unheimliche Arbeitserleichterung.

Aber eine kleine Sache stört mich dabei, d. h. ich fände es schön, wenn man das auch noch ändern könnte:

Jede Nachricht ist ja mit Datum und Uhrzeit versehen. Wenn ich die Nachrichten nun herunter lade, bekommen alle nachrichten, die in die Text-Datei gespeichert werden, Das Datum mit Uhrzeit verpasst, vom Zeitpunkt des Downloads.

Ist es vielleicht möglich, das noch zu ändern?

Vielen dank schon mal,

Adana

Verfasst: 29.08.2008 11:27
von FCM
Hau mich bitte wenn das nicht geht, aber ersetze mal:

Code: Alles auswählen

$pmtext .= $lang['Posted'].": ".date($user_dateformat,time($db_row['privmsgs_date']))."\n"; 
mit

Code: Alles auswählen

$pmtext .= $lang['Posted'].": ".date($user_dateformat, $db_row['privmsgs_date'])."\n"; 

Verfasst: 29.08.2008 11:35
von Adana
Ok, heißen Dank, erst mal, muss jetzt natürlich erstmal wieder Nachrichten sammeln, die dann abspeichern kann.

Aber wenn es funzt, lass ich es Dir/Euch umgehend wissen!

gruß,

Adana

Verfasst: 29.08.2008 14:51
von Adana
Hi FCM!

Juhu! Es funktioniert! Dein Tipp war goldrichtig!

Herzlichen Dank noch mal!

gruß,

Adana

Verfasst: 29.08.2008 16:06
von FCM
Gern! Freut mich.