Hash5 Wert zum Downloadmanager hinzufügen

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
Dungeonwatcher
User
User
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Hash5 Wert zum Downloadmanager hinzufügen

Beitrag von Dungeonwatcher » Do 20.Dez, 2012 14:13

Hi! :cool:

Ich habe mich mal rangesetzt um den MD5 Hash beim UL automatisch zu ermitteln und in die DB einzutragen. Vllt. kann dies ja auch in der aktuellen Version genutzt werden.

Zuerst per PMA eine neue Spalte namens md5 einfügen:

Code: Alles auswählen

ALTER TABLE `phpbb_downloads` ADD `md5` VARCHAR( 32 ) NOT NULL
Dann die dl_admin_files.php:

Suche:

Code: Alles auswählen

$file_language = $dl_file['file_language'];
füge danach ein:

Code: Alles auswählen

$file_hash = $dl_file['md5'];
suche:

Code: Alles auswählen

'L_DL_FILES_TITLE'					=> $lang['Dl_files_title'],
füge danach ein:

Code: Alles auswählen

'L_FILE_HASH'						=> $lang['Dl_file_hash'],
'L_FILE_HASH_EXPLAIN'				=> 'Dl_file_hash',
suche:

Code: Alles auswählen

'FILE_LANGUAGE'						=> $file_language,
füge danach ein:

Code: Alles auswählen

'FILE_HASH'							=> $file_hash,
suche:

Code: Alles auswählen

$file_name = (isset($HTTP_POST_VARS['file_name'])) ? trim($HTTP_POST_VARS['file_name']) : "";
füge danach ein:

Code: Alles auswählen

$file_hash = (isset($HTTP_POST_VARS['md5'])) ? trim($HTTP_POST_VARS['md5']) : "";
suche:

Code: Alles auswählen

	$file_size = (!$file_extern) ? sprintf("%u", @filesize($dl_config['dl_path'] . $file_path . $file_name)) : -1;
	if (!$file_size && !$file_extern)
	{
		message_die(GENERAL_MESSAGE, sprintf($lang['Dl_file_not_found'], $file_name, $dl_config['dl_path'] . $file_path));
	}
ersetze durch:

Code: Alles auswählen

	$file_size = (!$file_extern) ? sprintf("%u", @filesize($dl_config['dl_path'] . $file_path . $file_name)) : -1;
	$file_hash = (!$file_extern) ? sprintf(@md5_file($dl_config['dl_path'] . $file_path . $file_name)) : $lang['Dl_not_availible'];

	if (!$file_size && !$file_hash && !$file_extern)
	{
		message_die(GENERAL_MESSAGE, sprintf($lang['Dl_file_not_found'], $file_name, $dl_config['dl_path'] . $file_path));
	}
suche:

Code: Alles auswählen

		$sql = "UPDATE " . DOWNLOADS_TABLE . " SET
			description = '" . str_replace("\'", "''", $description) . "',
			file_traffic = '" . str_replace("\'", "''", $file_traffic) . "',
			long_desc = '" . str_replace("\'", "''", $long_desc) . "',
			file_name = '" . str_replace("\'", "''", $file_name) . "',
			file_language = '" . str_replace("\'", "''", $file_language) . "',
			free = '" . str_replace("\'", "''", $file_free) . "',
			extern = '" . str_replace("\'", "''", $file_extern) . "',
			cat = '" . str_replace("\'", "''", $cat_id) . "',
			hacklist = '" . str_replace("\'", "''", $hacklist) . "',
			hack_author = '" . str_replace("\'", "''", $hack_author) . "',
			hack_author_email = '" . str_replace("\'", "''", $hack_author_email) . "',
			hack_author_website = '" . str_replace("\'", "''", $hack_author_website) . "',
			hack_version = '" . str_replace("\'", "''", $hack_version) . "',
			hack_dl_url = '" . str_replace("\'", "''", $hack_dl_url) . "',
			test = '" . str_replace("\'", "''", $test) . "',
			req = '" . str_replace("\'", "''", $require) . "',
			todo = '" . str_replace("\'", "''", $todo) . "',
			warning = '" . str_replace("\'", "''", $warning) . "',
			mod_desc = '" . str_replace("\'", "''", $mod_desc) . "',
			mod_list = '" . str_replace("\'", "''", $mod_list) . "',
			bbcode_uid = '" . str_replace("\'", "''", $bbcode_uid) . "',
			approve = '" . str_replace("\'", "''", $approve) . "',
			file_size = '" . str_replace("\'", "''", $file_size) . "'";
ersetze durch:

Code: Alles auswählen

		$sql = "UPDATE " . DOWNLOADS_TABLE . " SET
			description = '" . str_replace("\'", "''", $description) . "',
			file_traffic = '" . str_replace("\'", "''", $file_traffic) . "',
			long_desc = '" . str_replace("\'", "''", $long_desc) . "',
			file_name = '" . str_replace("\'", "''", $file_name) . "',
			file_language = '" . str_replace("\'", "''", $file_language) . "',
			free = '" . str_replace("\'", "''", $file_free) . "',
			extern = '" . str_replace("\'", "''", $file_extern) . "',
			cat = '" . str_replace("\'", "''", $cat_id) . "',
			hacklist = '" . str_replace("\'", "''", $hacklist) . "',
			hack_author = '" . str_replace("\'", "''", $hack_author) . "',
			hack_author_email = '" . str_replace("\'", "''", $hack_author_email) . "',
			hack_author_website = '" . str_replace("\'", "''", $hack_author_website) . "',
			hack_version = '" . str_replace("\'", "''", $hack_version) . "',
			hack_dl_url = '" . str_replace("\'", "''", $hack_dl_url) . "',
			test = '" . str_replace("\'", "''", $test) . "',
			req = '" . str_replace("\'", "''", $require) . "',
			todo = '" . str_replace("\'", "''", $todo) . "',
			warning = '" . str_replace("\'", "''", $warning) . "',
			mod_desc = '" . str_replace("\'", "''", $mod_desc) . "',
			mod_list = '" . str_replace("\'", "''", $mod_list) . "',
			bbcode_uid = '" . str_replace("\'", "''", $bbcode_uid) . "',
			approve = '" . str_replace("\'", "''", $approve) . "',
			file_size = '" . str_replace("\'", "''", $file_size) . "',
			md5 = '" . str_replace("\'", "''", $file_hash) . "'";
suche:

Code: Alles auswählen

		$sql = "INSERT INTO " . DOWNLOADS_TABLE . "
			(file_name, file_language, cat, description, long_desc, md5, free, extern,
			hacklist, hack_author, hack_author_email, hack_author_website,
			hack_version, hack_dl_url, test, req, todo, warning, mod_desc, approve,
			mod_list, bbcode_uid, file_size, change_time, add_time,
			change_user, add_user, file_traffic)
			VALUES 
			('" . str_replace("\'", "''", $file_name) . "',
			'" . str_replace("\'", "''", $file_language) . "',
			'" . str_replace("\'", "''", $cat_id) . "',
			'" . str_replace("\'", "''", $description) . "',
			'" . str_replace("\'", "''", $long_desc) . "',
			'" . str_replace("\'", "''", $file_free) . "',
			'" . str_replace("\'", "''", $file_extern) . "',
			$hacklist,
			'" . str_replace("\'", "''", $hack_author) . "',
			'" . str_replace("\'", "''", $hack_author_email) . "',
			'" . str_replace("\'", "''", $hack_author_website) . "',
			'" . str_replace("\'", "''", $hack_version) . "',
			'" . str_replace("\'", "''", $hack_dl_url) . "',
			'" . str_replace("\'", "''", $test) . "',
			'" . str_replace("\'", "''", $require) . "',
			'" . str_replace("\'", "''", $todo ) . "',
			'" . str_replace("\'", "''", $warning) . "',
			'" . str_replace("\'", "''", $mod_desc) . "',
			$approve, $mod_list,
			'" . str_replace("\'", "''", $bbcode_uid) . "',
			$file_size,
			$current_time, $current_time, $current_user, $current_user,
			'" . str_replace("\'", "''", $file_traffic) . "')";
ersetze durch:

Code: Alles auswählen

		$sql = "INSERT INTO " . DOWNLOADS_TABLE . "
			(file_name, file_language, cat, description, long_desc, md5, free, extern,
			hacklist, hack_author, hack_author_email, hack_author_website,
			hack_version, hack_dl_url, test, req, todo, warning, mod_desc, approve,
			mod_list, bbcode_uid, file_size, change_time, add_time,
			change_user, add_user, file_traffic)
			VALUES 
			('" . str_replace("\'", "''", $file_name) . "',
			'" . str_replace("\'", "''", $file_language) . "',
			'" . str_replace("\'", "''", $cat_id) . "',
			'" . str_replace("\'", "''", $description) . "',
			'" . str_replace("\'", "''", $long_desc) . "',
			'" . str_replace("\'", "''", $file_hash) . "',
			'" . str_replace("\'", "''", $file_free) . "',
			'" . str_replace("\'", "''", $file_extern) . "',
			$hacklist,
			'" . str_replace("\'", "''", $hack_author) . "',
			'" . str_replace("\'", "''", $hack_author_email) . "',
			'" . str_replace("\'", "''", $hack_author_website) . "',
			'" . str_replace("\'", "''", $hack_version) . "',
			'" . str_replace("\'", "''", $hack_dl_url) . "',
			'" . str_replace("\'", "''", $test) . "',
			'" . str_replace("\'", "''", $require) . "',
			'" . str_replace("\'", "''", $todo ) . "',
			'" . str_replace("\'", "''", $warning) . "',
			'" . str_replace("\'", "''", $mod_desc) . "',
			$approve, $mod_list,
			'" . str_replace("\'", "''", $bbcode_uid) . "',
			$file_size,
			$current_time, $current_time, $current_user, $current_user,
			'" . str_replace("\'", "''", $file_traffic) . "')";
Nun die dl_details.php:

suche:

Code: Alles auswählen

$file_status = array();
$file_status = $dl_mod->dl_status($df_id);
davor füge ein:

Code: Alles auswählen

$file_hash = $dl_files['md5'];
suche:

Code: Alles auswählen

	'FILE_OVERALL_KLICKS'	=> $file_overall_klicks,
	'FILE_NAME'				=> $file_name,
danach füge ein:

Code: Alles auswählen

	'FILE_HASH'				=> $file_hash,
suche:

Code: Alles auswählen

	'L_DOWNLOAD'				=> $lang['Dl_download'],
	'L_FILE_NAME'				=> $lang['Dl_file_name'],
danach füge ein:

Code: Alles auswählen

	'L_FILE_HASH'				=> $lang['Dl_file_hash'],
Weiter geht es mit der dl_files_edit.tpl:

suche:

Code: Alles auswählen

  <tr>
    <td class="row1" width="30%"><span class="gen"><b>{L_LINK_URL}:</b></span></td>
    <td class="row1" width="2%">&nbsp;[<a href="javascript:void(0)" onclick="javascript:help_popup('{L_LINK_URL_EXPLAIN}')" class="nav">?</a>]&nbsp;</td>
    <td class="row2" width="68%"><input type="text" class="post" name="file_name" size="40" maxlength="255" value="{URL}" /></td>
  </tr>
danach füge ein:

Code: Alles auswählen

  <tr>
    <td class="row1" width="30%"><span class="gen"><b>{L_FILE_HASH}:</b></span></td>
    <td class="row1" width="2%">&nbsp;[<a href="javascript:void(0)" onclick="javascript:help_popup('{L_FILE_HASH_EXPLAIN}')" class="nav">?</a>]&nbsp;</td>
    <td class="row2" width="68%"><span class="gen">&nbsp;{FILE_HASH}</span></td>
  </tr>
In der view_dl_body.tpl suche nach:

Code: Alles auswählen

  <tr>
    <td width="20%" class="{ROW_CLASS2}" align="right" nowrap="nowrap"><span class="gen">{L_FILE_NAME}:</span></td>
    <td width="20%" class="{ROW_CLASS1}" align="center"><span class="gen">{downloads.FILE_NAME}</span></td>
  </tr>
danach füge ein:

Code: Alles auswählen

  <tr>
    <td width="20%" class="{ROW_CLASS2}" align="right" nowrap="nowrap"><span class="gen">{L_FILE_HASH}:</span></td>
    <td width="20%" class="{ROW_CLASS1}" align="center"><span class="gen">{downloads.FILE_HASH}</span></td>
  </tr>
Jetzt noch die Sprachvariablen in der lang_downloads.php.

suche nach:

Code: Alles auswählen

$lang['Dl_file_name'] = "Datei";
danach füge ein:

Code: Alles auswählen

$lang['Dl_file_hash'] = 'MD5 Hash';
und zu guter Letzt die lang_dl_help.php.

suche nach:

Code: Alles auswählen

$lang['HELP_Dl_files_url'] = 'Der Dateiname des Downloads.<br />Gib ihn ohne Pfadangaben und ohne führenden Slash an.<br />Die Datei muss vor dem Speichern bereits im Ordner der Kategorie existieren, sonst wird eine Fehlermeldung angezeigt.<br />Beachte auch verbotene Dateiendungen: Dateien, die hierzu zählen, werden abgewiesen.';
danach füge ein:

Code: Alles auswählen

$lang['HELP_Dl_file_hash'] = 'Der Message-Digest Algorithm 5 (MD5) ist eine weit verbreitete kryptographische Hashfunktion, die aus einer beliebigen Nachricht einen 128-Bit-Hashwert (Pr&uuml;fsumme) erzeugt. Dies erlaubt beispielsweise die leichte &Uuml;berpr&uuml;fung eines Downloads auf Korrektheit. MD5 wurde 1991 von Ronald L. Rivest entwickelt. Sie gilt inzwischen nicht mehr als sicher, da es mit überschaubarem Aufwand möglich ist, unterschiedliche Nachrichten zu erzeugen, die dieselbe MD5-Prüfsumme aufweisen.';
Das war's. Ich hoffe nichts vergessen zu haben. ;)

Bye
Zuletzt geändert von Dungeonwatcher am Sa 05.Jan, 2013 14:12, insgesamt 1-mal geändert.

Benutzeravatar
oxpus
Administrator
Administrator
Beiträge: 29111
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Hash5 Wert zum Downloadmanager hinzufügen?

Beitrag von oxpus » Do 20.Dez, 2012 14:39

Danke für die Erweiterung.
In der "alten" MOD-Version hatte ich das nicht mehr integriert, weil damals noch keine Notwendigkeit herrschte.
Das änderte sich aber im Laufe der Zeit, so dass erst die 6er-Version der MOD die Hash-Verschlüsselung bekam.

Nach dem ersten Drüberschauen habe ich auch keinen Fehler finden können.
Sofern es bei dir funktioniert, kann das gerne jeder andere auch nutzen.

BTW:
Ich habe den Beitrag mal in ein extra Thema aufgeteilt, damit man es schneller finden kann...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per ICQ, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per ICQ, Email or PM. Each unasked message will be ignored!

MDuss
User
User
Beiträge: 98
Registriert: So 17.Jan, 2010 16:30

Re: Hash5 Wert zum Downloadmanager hinzufügen

Beitrag von MDuss » Fr 21.Dez, 2012 08:40

Hi.

Also wen ich das jetzt richtig verstanden habe, dann ist diese Hash5 Erweiterung für den Downloadmod der PHPBB 2er Version?
Die Mod für PHPBB 3 hat den Hash 5 Wert schon enthalten?

MfG
MDuss
Zuletzt geändert von MDuss am Di 25.Dez, 2012 09:32, insgesamt 1-mal geändert.

Benutzeravatar
oxpus
Administrator
Administrator
Beiträge: 29111
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Hash5 Wert zum Downloadmanager hinzufügen

Beitrag von oxpus » Fr 21.Dez, 2012 14:43

Richtig.
Die Version für phpBB 3 verwendet bereits verschlüsselte Dateinamen, analog den Dateianhängen an Beiträgen oder auch z. B. in der Galerie MOD für die Bilddateien.
Die 5er Version hatte das noch nicht, weil damals noch keine wirkliche Notwendigkeit besteht.
Das hat sich zwar mittlerweile geändert, aber die 5er Version wird nicht mehr weiter entwickelt, daher bin ich mehr als dankbar, wenn die Community die MOD um das ein oder andere erweitert, bzw. damit auch verbessert.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per ICQ, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per ICQ, Email or PM. Each unasked message will be ignored!

MDuss
User
User
Beiträge: 98
Registriert: So 17.Jan, 2010 16:30

Re: Hash5 Wert zum Downloadmanager hinzufügen

Beitrag von MDuss » Di 25.Dez, 2012 09:38

oxpus hat geschrieben:z. B. in der Galerie MOD für die Bilddateien.
Ist dies ein Fotoalbum?
Wenn ja, wo bekomme ich diese her?
Ich suche aktuell noch nach einem guten Fotoalbum für PHP3 als Ersatz für die Fotoalbumsmod "full_album_pack_1_4_1" für PHPBB 2.

Kennt da jemand einen adäquaten Ersatzmod?

Vielen Dank und schöne Feiertage.

MfG
MDuss
Zuletzt geändert von MDuss am Di 25.Dez, 2012 12:16, insgesamt 1-mal geändert.

Benutzeravatar
oxpus
Administrator
Administrator
Beiträge: 29111
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Hash5 Wert zum Downloadmanager hinzufügen

Beitrag von oxpus » Di 25.Dez, 2012 09:55

Schau mal hier: http://www.flying-bits.org/
Das ist die beste und umfangreichste Galerie für das phpBB 3, die es gibt.
Und die bringt auch einen Konverter vom alten Smartor Photo Album mit.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per ICQ, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per ICQ, Email or PM. Each unasked message will be ignored!

MDuss
User
User
Beiträge: 98
Registriert: So 17.Jan, 2010 16:30

Re: Hash5 Wert zum Downloadmanager hinzufügen

Beitrag von MDuss » Di 25.Dez, 2012 12:16

Danke Oxpus.

Werde mal die nächsten Tage dort reinschauen.

MfG
MDuss

MDuss
User
User
Beiträge: 98
Registriert: So 17.Jan, 2010 16:30

Re: Hash5 Wert zum Downloadmanager hinzufügen

Beitrag von MDuss » Sa 29.Dez, 2012 09:21

Hi Dungeonwatcher.

Glaubst du, du könntest diese Erweiterung auch für den Downloadmod für PHPBB 3 anpassen?
Denn so eine Funktion fehlt da leider.

THX.

MfG
MDuss

Benutzeravatar
Dungeonwatcher
User
User
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Re: Hash5 Wert zum Downloadmanager hinzufügen

Beitrag von Dungeonwatcher » Sa 29.Dez, 2012 15:24

Hi! :cool:
MDuss hat geschrieben:Glaubst du, du könntest diese Erweiterung auch für den Downloadmod für PHPBB 3 anpassen?
Denn so eine Funktion fehlt da leider.
Da ich mich dem phpBB3 "verweigere" wird das wohl nichts werden. Zu viel habe ich in mein phpBB2 bereits an Arbeit reingesteckt um auf phpBB3 zu wechseln.

Bye

Antworten