Fehler im Modul User_Fotoalbum

Begonnen von Cramp, 19 Juni 2004, 18:08:46

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Cramp

Mir ist aufgefallen, daß in dem User-Fotoalbum das 3. Foto (oben rechts) beim Öffnen nicht korrekt angezeigt wird. Es gibt eine arge Verzerrung.

Der Fehler liegt in der Datei "index.php" sowie in der Datei "album.php" und kann ganz einfach behoben werden:

Die Zeilen 153 + 154 (index.php) und die Zeilen 202 +203 (album.php)
$width3=$size[0]; // image width
$height3=$size[1]; // image height



mit

$width3=$size3[0]; // image width
$height3=$size3[1]; // image height


ersetzen. Schon wird das Bild wieder in Original Größe angezeigt.

Gruß

Cramp


[Editiert am 19/6/2004 von Cramp]

Liu-Kang

Hmm... der Fehler ist leider auch im aktuellen Fotoalbum mit der Ignorefunktion drin.
Wie kann ich den entfernen?

NeMeSiSX2LC

CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Liu-Kang

*g* schon klar.
Ich dachte nur, daß es vielleicht komplikationen geben könnte von den Versionen her. Ich weiß ja nicht was Du da so geändert hattest ;).

NeMeSiSX2LC

Ich garnix hatte homicide gemacht das "super" album;-)
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Cramp

Zitat von: NeMeSiSX2LC am 08 November 2004, 21:51:51
Ich garnix hatte homicide gemacht das "super" album;-)

Hehe!

Aber immerhin hat er eines gemacht, das auch einigermaßen funktioniert!

Hat da vielleicht jemand Lust das zu erweitern? Beispielsweise eine Thumbnail generierung mit einbauen? Es ist ja eigentlich nicht einzusehen, warum im Random User Photo Block die "richtigen" Bilddaten gelesen werden und dann das Pic auf eine voreingestellte Breite verkleinert wird...

Ich hab's leider leider noch nicht so mit Dateimanipulationen, sonst würde ich das selber machen.

Und wo wir schon dabei sind, vielleicht kann man ja die maximale Anzahl der Bilder per Admin Menü einstellen lassen...?


NeMeSiSX2LC

Öhm kam glaube ich falsch rüber das Album ist von Gerry nur Homicide hat es an die Friendlist angepasst.

Joa soll hier leute geben die haben sogar schon eine erweiterte bzw neu gecoded Version laufen. Mehr sag ich da nicht.
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Biker

ZitatJoa soll hier leute geben die haben sogar schon eine erweiterte bzw neu gecoded Version laufen. Mehr sag ich da nicht.

Ja nee, iss klar!
Sowas hab ich auch schon gehört, gelesen...und getestet! *lol*
...Leute gibt es....*tztztztztztz*

Gruß
Bernd
Detektei Martin - wir bringen Licht ins Dunkle!

jubilee

Hallo !
ZitatHat da vielleicht jemand Lust das zu erweitern? Beispielsweise eine Thumbnail generierung mit einbauen? Es ist ja eigentlich nicht einzusehen, warum im Random User Photo Block die "richtigen" Bilddaten gelesen werden und dann das Pic auf eine voreingestellte Breite verkleinert wird...
Wieso ?
Gibbet doch schon längst einen Block, der die thumbnail dynamisch erzeugt und dann an den Browser sendet (und speichert, damit diese nicht immer neu kreiert werden müssen ....
Hab ich vor einiger Zeit mal gecodet ....
= block_user_moment.zip
Stell ich mal in die Downloads ....

MfG
jubilee

NeMeSiSX2LC

Hm dynamisch? zieht das nicht Traffic??
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

jubilee

Hallo !
Zitatdynamisch? zieht das nicht Traffic??
Wieso, weswegen soll das denn Traffic brauchen. Das erstellen der Daten geschieht auf dem Server.
Übertragen zum Browser werden nur die Thumbnails und nicht die Daten des Originalbildes.
Es könnte höchstens Rechnerzeit auf dem Server brauchen, aber deswegen werden ein mal erstellte Thumbs ja
auch gespeichert, damit das nur 1x gemacht werden muss (pro Bild).
Und da ja immer nur ein Bild genommen wird (und nicht alle gleichzeitig) aus dem Verzeichnis, hält sich die
verbrauchte Serverzeit auch ganz stark in Grenzen.
Also, ich wüsste nun wirklich nicht, wie man das noch weiter minimieren könnte
(ausser gar nix anzuzeigen)
MfG
jubilee

NeMeSiSX2LC

Hm werd mir das teil mal ansehen;-)
CMS-Version: pragmaMx 0.1.8, 1.20.4.5/2006-03-10     
PHP-Version: 5.1.2
MySQL-Version: 5.0.15-max-log
Server-Version: Apache/2.0.55
phpMyAdmin-Version: 2.7.0-pl1

Cramp

#12
Hab's gleich mal installiert!
Funktioniert prächtig! Vielen Dank!

Noch schöner wäre natürlich ein Hack, der die Thumbnails direkt beim Upload generiert, denn soweit ich das sehe wird nur per Datei-Name geprüft ob ein Thumb generiert wurde. Was aber passiert, wenn ein Bild geändert wurde? Dann dürfte der Block das ja eigentlich nicht erkennen und weiterhin das alte Thumb anzeigen...

Vielleicht könnte man ja die Thumbnail Klasse direkt in das Fotoalbum integrieren. Die bisher online gestellten Pics werden nach und nach "gethumbnailed" und die neuen oder geänderten Pics direkt beim Upload...

Ich schaue mal ob ich das hinkriege...

Cramp

jubilee

Hallo !
ZitatDann dürfte der Block das ja eigentlich nicht erkennen und weiterhin das alte Thumb anzeigen...
Der Block liest aus dem User-Fotoalbum-Verzeichnis die Bilddatei aus (wenn also der Dateiname geändert wurde, liest er den geänderten Dateinamen) und schaut DANN ob zu diesem Dateinamen ein Thumb existiert.
Wenn nicht, dann kreiert der ein neues Thumb. Weil zu dem alten Thumb ja kein aktueller Dateiname mehr vorhanden ist, wird das alte Thumb dann nie mehr angezeigt.
Nachteil: Alte, nicht mehr verwendete Thumbs, werden nicht gelöscht.
MfG
jubilee

Cramp

Soweit habe ich das verstanden, ja!
Aber leider legt ja das Userphotoalbum die Bilder unter dem Usernamen plus Bildnummer ab. Also beispielsweise Userxy1.jpg, Userxy2.jpg usw. Alles Bilder von Userxy. Wenn der jetzt sagt, ihm gefällt das Bild Nr. 1 nicht und ein anderes stattdessen hochlädt ändert sich der Dateiname nicht. Es wird wieder ein Bild mit dem Namen Userxy1.jpg eingestellt. Und ich vermute das dein Script das dann nicht erkennt, der Name hat sich ja nicht geändert sondern nur der Inhalt. Und irgendwann habe ich dann einen Haufen Thumbnails die nicht mehr das richtige Bild wiedergeben.
Deshalb tendiere ich dazu, die Thumbnail-Generierung direkt beim Upload zu machen.

Und nun hänge ich schon wieder:

Ich habe die Klasse "Thumbnail" in die Datei "upload.php" vom Userphotoalbum kopiert. In den Upload habe ich dann die Generierung eingefügt:
//Bild hochladen
$id = $newname;
if($bild1_type == "image/pjpeg") $format1 = ".jpg";
if($bild1_type == "image/gif") $format1 = ".gif";

$bilderpfad1 ="album/"."$id"."$format1";
@move_uploaded_file($bild1, $bilderpfad1);
if(!@is_file($bilderpfad1))
{@copy($bild1, $bilderpfad1);}
@chmod($bilderpfad1,0777);
if(@is_file($bilderpfad1))
{echo "<img src=\"$bilderpfad1\" width=\"100\"><br>";
$bildanzeige1 = "<img src=\"$bilderpfad1\">";
$bildeintrag1 = $bilderpfad1;
$b1 = "$scripturl"."$bilderpfad1";
if ($format1=='.gif')
{
                           $format1='.jpg';
}
$MyThumb = new Thumbnail($b1,$maxwidth,$maxwidth,$thumbsave.$id.$format1);
$MyThumb->Output();
$b1 = "<img src=\"$b1\"><br>";

echo"<br><center><a href=\"javascript:self.close()\">Fenster schlie&szlig;en</a></center>";
}else
{$bildanzeige1 = "";
$bildeintrag1 = "";
$b1 = "$v_test21";
}


Leider gibt es dann eine Fehlermeldung:

Warning: imagejpeg(): Unable to open 'modules/User_Fotoalbum/album/thumbs/SpiritualCramp5.jpg' for writing

Der Ordner "thumbs" hat die Recht 777, sollte also eigentlich funktionieren...
Oder habe ich den Aufruf der Klasse falsch verstanden? Mir ist nämlich nicht ganz klar was beim Auslesen des Verzeichnises im block-user-moment passiert. Am Ende sollte doch $savefile beispielsweise "SpiritualCramp5.jpg" enthalten oder?

Bin mal gespannt...

jubilee

#15
Hallo !
ZitatAber leider legt ja das Userphotoalbum die Bilder unter dem Usernamen plus Bildnummer ab. Also beispielsweise Userxy1.jpg, Userxy2.jpg usw. Alles Bilder von Userxy. Wenn der jetzt sagt, ihm gefällt das Bild Nr. 1 nicht und ein anderes stattdessen hochlädt ändert sich der Dateiname nicht
Ja, so gesehen hast du natürlich recht.
ZitatDeshalb tendiere ich dazu, die Thumbnail-Generierung direkt beim Upload zu machen.
Oder beim Ändern der Bilder gleichzeitig nach Thumbs suchen und wenn vorhanden, dann löschen  ;)
Wofür Du dann die anderen Funktionen aus dem Block verwenden könntest ....
ZitatOder habe ich den Aufruf der Klasse falsch verstanden? Mir ist nämlich nicht ganz klar was beim Auslesen des Verzeichnises im block-user-moment passiert
Es wird nur ein Array mit den entsprechenden vorhandenen Dateinamen gebildet. Mehr nich.
Die Klasse arbeitet folgendermassen.
Aufruf: $MyThumb = new Thumbnail( $source, $max_width, $max_height, $dest = '' )
$source = Bildquelle
$max_width = max. breite
$max_height = ma. höhe
$dest = Speicherpfad und zwar komplett Pfad/Dateiname bitte keine URL o.Ä. angeben, das funktioniert nicht.
In der Variablen $scripturl steht aber nun mal die URL zu dem Verzeichnis.
Das musst Du durch das Verzeichnis (relativ ab Portal-Root) ersetzen.
Dann sollte das auch funktionieren
MfG
jubilee



Biker

hm...ich würde vorschlagen, diese beiden Themen zu trennen....sind ja nun 2 Themen geworden, oder?!

Gruß
Bernd
Detektei Martin - wir bringen Licht ins Dunkle!

Cramp

So!

Jetzt klappt es! Vielen Dank!