Seite 1 von 2

Bilder upload in Zukunft nicht gestatten [erledigt]

Verfasst: 21.01.2009 21:19
von Swat
Moin,

mein kleines Problem ist recht simple, ich möchte das ab jetzt keine Bilder mehr als Post-Anhänge erlaubt sind.
Ich dachte mir das ich dafür ja einfach die Einstellung für den Datei-Typ ändern muss und fertig. Doch leider ist das phpBB mal wieder schlauer, bei allen bereits angehängten Bildern kommt ein Hinweis das diese nicht mehr gestattet sind. Ich möchte aber das die weiterhin angezeigt werden, nur neue sollen nicht dazu kommen.

Hat jemand eine Idee ?
Danke

Re: Bilder upload in Zukunft nicht gestatten

Verfasst: 22.01.2009 13:37
von worstbull
Die Enstprechende Einstellung dazu lautet "Dateianhänge erlauben:" im Adminbereich ALLGEMEIN->Dateinanhänge, und muss auf NEIN gesetzt sein.

Um welche phpBB Version handelt es sich denn?

mfg

Re: Bilder upload in Zukunft nicht gestatten

Verfasst: 22.01.2009 14:02
von Swat
worstbull hat geschrieben:Die Enstprechende Einstellung dazu lautet "Dateianhänge erlauben:" im Adminbereich ALLGEMEIN->Dateinanhänge, und muss auf NEIN gesetzt sein.
Ich möchte Dateianhänge ja weiterhin erlauben, eben nur keine Bilder, bestehende sollen weiterhin sichtbar sein.
Wenn ich jedoch den Upload von (jpg/png/gif) nicht mehr erlaube (Beiträge -> Dateityp-Gruppen-Verwalten -> Bilder -> Erlaubt das Häkchen raus) wird bei den bis Dato hochgeladenen Bildern eine Fehlermeldung eingeblendet und die Bilder sind nicht mehr sichtbar.

Ich möchte aber das nur neue Uploads unterbunden werden, die alten aber weiterhin sichtbar bleiben. Das eben auch nur bei Bildern.
Um welche phpBB Version handelt es sich denn?
phpBB 3.0.4 :D Up to Date ^^

Re: Bilder upload in Zukunft nicht gestatten

Verfasst: 22.01.2009 16:57
von worstbull
Es gibt auch im Adminbereich unter ALLGEMEIN->Board-Funktionalitäten eine Option "Dateianhänge erlauben:",
und ausserdem im Bereich "Dateianhänge" eine ähnliche Option: "Dateianhänge erlauben:".

Welche von den beiden Optionen wurde auf dem betroffenen Board deaktiviert?

mfg

Re: Bilder upload in Zukunft nicht gestatten

Verfasst: 22.01.2009 17:05
von Swat
worstbull hat geschrieben:Welche von den beiden Optionen wurde auf dem betroffenen Board deaktiviert?
Swat hat geschrieben:Beiträge -> Dateityp-Gruppen-Verwalten -> Bilder -> Erlaubt (das Häkchen raus -> also nicht mehr erlaubt)
worstbull hat geschrieben:Es gibt auch im Adminbereich unter ALLGEMEIN->Board-Funktionalitäten eine Option "Dateianhänge erlauben:", und ausserdem im Bereich "Dateianhänge" eine ähnliche Option: "Dateianhänge erlauben:".
Meiner Auffassung nach schaltet deine erst genannte Möglichkeit sämtliche Anhänge ab, die zweite bzw. meine nur den Betreffenden Typ.
Wie gesagt ich will nicht abschlaten, da dann die Fehlermeldung anstatt der Anhänge eingeblendet wird sondern nur Neu-Upload verhindern des betreffenden Anhangstyps

Re: Bilder upload in Zukunft nicht gestatten

Verfasst: 22.01.2009 17:58
von worstbull
schon getestet?

Re: Bilder upload in Zukunft nicht gestatten

Verfasst: 22.01.2009 18:28
von Swat
worstbull hat geschrieben:Es gibt auch im Adminbereich unter ALLGEMEIN->Board-Funktionalitäten eine Option "Dateianhänge erlauben:", und ausserdem im Bereich "Dateianhänge" eine ähnliche Option: "Dateianhänge erlauben:".
worstbull hat geschrieben:schon getestet?
Ja, dann sind alle Anhänge weg, noch nicht mal mehr der Hinweis ist mehr da.

Wie gesagt ich möchte nur den zukünftigen Upload von Bilder als Anhang verhindern

Re: Bilder upload in Zukunft nicht gestatten

Verfasst: 23.01.2009 17:35
von Swat
Okay nach langem probieren und testen habe ich nun eine Lösung gefunden. Ist nicht die eleganteste aber sie funktioniert.

Hier das "Snippet" welches die Lösung für mein Problem nun ist:

/includes/function_upload.php
finde

Code: Alles auswählen

/**
	* Check if file is an image (mimetype)
	*
	* @return true if it is an image, false if not
	*/
	function is_image()
	{
		return (strpos($this->mimetype, 'image/') !== false) ? true : false;		
	}
ersetze mit

Code: Alles auswählen

/**
	* Check if file is an image (mimetype)
	*
	* @return true if it is an image, false if not
	* --> return false = no image allowed
	*/
	function is_image()
	{
		//return (strpos($this->mimetype, 'image/') !== false) ? true : false;
		return false;		
	}
/includes/function_posting.php
finde

Code: Alles auswählen

	// Make sure the image category only holds valid images...
	if ($cat_id == ATTACHMENT_CATEGORY_IMAGE && !$file->is_image())
	{
      $file->remove();
		// If this error occurs a user tried to exploit an IE Bug by renaming extensions
		// Since the image category is displaying content inline we need to catch this.
		trigger_error($user->lang['ATTACHED_IMAGE_NOT_IMAGE']);
	}
ersetze mit

Code: Alles auswählen

	// Make sure the image category only holds valid images...
	if ($cat_id == ATTACHMENT_CATEGORY_IMAGE && !$file->is_image())
	{
		//No Image allowed
		$file->error[] = sprintf($user->lang['NO_UPLOAD_IMG']);
		
		// If this error occurs a user tried to exploit an IE Bug by renaming extensions
		// Since the image category is displaying content inline we need to catch this.
		//trigger_error($user->lang['ATTACHED_IMAGE_NOT_IMAGE']);
		$file->remove();
	}
/language/de/posting.php
finde

Code: Alles auswählen

'NO_POST_MODE'				=> 'Kein Eintragsmodus gewählt.',
danach einfügen

Code: Alles auswählen

'NO_UPLOAD_IMG'			=> 'Bilder können nicht an einen Beitrag angehängt werden. Nutze dafür die Galerie und entsprechenden BBCode.',
Weitere Sprachen kann man dann ja selbst hinzufügen ... so klappte es zumindest bei mir das ich die alten Bilder weiterhin online halte und neue nicht mehr erlaube bzw nur noch über die Galerie.

Re: Bilder upload in Zukunft nicht gestatten [erledigt]

Verfasst: 24.01.2009 01:27
von John Doe
Das ist imo ein dicker Bug.
Hab das grad auch mal probiert.

Egal wo man die Erlaubnis wegnimmt, ob man "Nur in folgenden ausgewählten Foren" ändert oder nur die Dateiendung deaktiviert, in
dem Moment ist entweder alles weg, oder es kommt der "deaktiviert" Hinweis.

Hast du das bei phpbb.com mal gemeldet?

Re: Bilder upload in Zukunft nicht gestatten [erledigt]

Verfasst: 24.01.2009 22:52
von Swat
Finde nicht das es ein Bug ist ... es ist max. etwas unglücklich das die bestehenden Uploads dann so zu sagen gesperrt werden. Besser wäre es wenn man das einstellen könnte wie mit bestehenden Uploads verfahren werden soll, also die Optionen "weiterhin anzeigen" / "nicht mehr anzeigen"

EDIT
Durch die oben beschriebene Änderung ist auch kein Upload von Avataren mehr möglich daher folgende Änderung:

/includes/function_upload.php

Code: Alles auswählen

	/**
	* Check if file is an image (mimetype)
	*
	* @return true if it is an image, false if not
	* --> return false = no image allowed
	*/
	function is_image()
	{
		//return (strpos($this->mimetype, 'image/') !== false) ? true : false;
		return false;		
	}
zurück ändern in

Code: Alles auswählen

	/**
	* Check if file is an image (mimetype)
	*
	* @return true if it is an image, false if not
	*/
	function is_image()
	{
		return (strpos($this->mimetype, 'image/') !== false) ? true : false;		
	}
/includes/function_posting.php

Code: Alles auswählen

   // Make sure the image category only holds valid images...
   if ($cat_id == ATTACHMENT_CATEGORY_IMAGE && !$file->is_image())
   {
      //No Image allowed
      $file->error[] = sprintf($user->lang['NO_UPLOAD_IMG']);
      
      // If this error occurs a user tried to exploit an IE Bug by renaming extensions
      // Since the image category is displaying content inline we need to catch this.
      //trigger_error($user->lang['ATTACHED_IMAGE_NOT_IMAGE']);
      $file->remove();
   }
ändern in

Code: Alles auswählen

	// Make sure the image category only holds valid images...
	//if ($cat_id == ATTACHMENT_CATEGORY_IMAGE && !$file->is_image())
	if ($cat_id == ATTACHMENT_CATEGORY_IMAGE && !$file-> false)
	{
		//No Image allowed
		$file->error[] = sprintf($user->lang['NO_UPLOAD_IMG']);
		
		// If this error occurs a user tried to exploit an IE Bug by renaming extensions
		// Since the image category is displaying content inline we need to catch this.
		//trigger_error($user->lang['ATTACHED_IMAGE_NOT_IMAGE']);
		$file->remove();
	}
damit sollte der Avatarupload auch wieder funktionieren.