Smartors Album MOD 2.0.53: Bilder in zwei Varianten anzeigen

In diesem moderierten Forum werden Code-Schnipsel, die zu klein sind, um richtige Mods zu sein, abgelegt.
Bei Fragen oder Problemen benutze bitte das Forum phpBB 2.0: Mod Support.
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.
Antworten
Benutzeravatar
Mungo
Administrator
Administrator
Beiträge: 6613
Registriert: 03.05.2003 19:34

Smartors Album MOD 2.0.53: Bilder in zwei Varianten anzeigen

Beitrag von Mungo »

Um was geht es in diesem Snippet?

Ich hatte das Problem dass ich gerne meine Bilder im album in zwei Varianten angezeigt haben wollte: Entweder mit der URL oder direkt das Bild (bzw. die URL des Bildes)

Bsp für die URL:

Code: Alles auswählen

[img]http://www.meinspace.com/phpbb/album_pic.php?pic_id=123[/img]
Bsp dür die komplette URL des Bildes:

Code: Alles auswählen

[img]http://www.meinspace.com/phpbb/upload/2315nbkl1425kbk215l3nm51454.jpg[/img]

Weshalb diese komische Zahlenfolge?

Nachdem das Bild hochgeladen wurde wird es vom Album mit dem Temporären Dateinamen gespeicher, dieser besteht aus einer beliebigen Zahlen und Buchstabenfolge.


Was bewirkt dieses Snippet?

Normalerweise wird, wenn du mit der rechten Maustaste auf das Bild klickt unter Eigenschaften die URL der Seite angegeben (Siehe Beispiel für die URL), dieses Snippet verändert nun die Anzeige, unter Eigenschaften kommt nicht die URL (Siehe Beispiel für die URL) sondern die URL des Bildes (Siehe Beispiel für die komplette URL des Bildes). Nun kann man auswählen ob man die URL der Seite posten möchte (Dabei ist ein Counter aktiviert) oder ob mann das Bild direkt ohne Counter posten möchte. Das Snippet erweitert indes auch noch den img-Tag so dass mann auch Bilder mit der URL posten kann, allerdings um die Sicherheit zu wahren nur Bilder von der Datei album_pic.php.

Was muss ich editieren?

Es gibt 2 Dateien zu editieren: Die bbcode.php und die album_pic.php


Die offizielle MOD ansicht:

Code: Alles auswählen

##############################################################
## MOD Title: [Snippet] Smartors Album MOD 2.0.53: Bilder in zwei Varianten anzeigen
## MOD Author: Garnele < admin@garnelenforum.ch > (Robin) http://www.garnelenforum.ch
## MOD Description: Dieses Snippet fügt im img-Tag des bbcodes hinzu, dass man auch Bilder mit der URL album_pic.php posten 
##                  kann, sowie dass man in den Eigenschaften des Bildes (rechtsklick auf das Bild->Eigenschaften)
##                  die komplette URL des Bildes sieht und so umgehen kann dass der Counter die Views 
##                  des Bildes auch in der viewtopic.php mittzählt.
## MOD Version: 1.0.0
##
## Installation Level: Easy
## Installation Time: 10 Minutes
## Files To Edit: bbcode.php,
##      album_pic.php
## Included Files: N/A
## License: http://opensource.org/licenses/gpl-license.php GNU General Public License v2
##############################################################
## For security purposes, please check: http://www.phpbb.com/mods/
## for the latest version of this MOD. Although MODs are checked
## before being allowed in the MODs Database there is no guarantee
## that there are no security problems within the MOD. No support
## will be given for MODs not found within the MODs Database which
## can be found at http://www.phpbb.com/mods/
##############################################################
## Author Notes: Feel Free to gif this snippet to your friends, but please don't change the comments in the Surccode.
##
##############################################################
## MOD History:
##
##   2006-01-01 - Version 1.0.0
##      - Release, no bugs
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ OPEN ]------------------------------------------
#
includes/bbcode.php
#
#-----[ FIND ]------------------------------------------
#
// [img]image_url_here[/img] code..
$text = preg_replace("#\[img\]((http|ftp|https|ftps)://)([^ \?&=\#\"\n\r\t<]*?(\.(jpg|jpeg|gif|png)))\[/img\]#sie", "'[img:$uid]\\1' . str_replace(' ', '%20', '\\3') . '[/img:$uid]'", $text);
#
#-----[ IN-LINE FIND ]------------------------------------------
#
$text = preg_replace("#\[img\]((http|ftp|https|ftps)://)([^ \?&=\#\"\n\r\t<]*?(\.(jpg|jpeg|gif|png)))\[/img\]#sie", "'[img:$uid]\\1' . str_replace(' ', '%20', '\\3') . '[/img:$uid]'", $text);
#
#----[ IN-LINE BEFORE, ADD ]------------------------------------------
#
//
#
#----[ AFTER, ADD ]------------------------------------------
#
// START ADD Fotoalbum Snippet by Garnele
  if (substr_count( $text, $_SERVER["SERVER_NAME"]) && substr_count( $text, "album_pic.php"))
  {
    session_start();
    $_SESSION['you_are_here'] = "viewtopic";
    $_SESSION['count_pics'] ++;
    $text = preg_replace("#\[img\]((ht|f)tp://)([^\r\n\t<\"]*?)\[/img\]#sie", "'[img:$uid]\\1' . str_replace(' ', '%20', '\\3') . '[/img:$uid]'", $text);
  }
  else
  {
    $text = preg_replace("#\[img\]((ht|f)tp://)([^ \?&=\"\n\r\t<]*?(\.(jpg|jpeg|gif|png)))\[/img\]#sie", "'[img:$uid]\\1' . str_replace(' ', '%20', '\\3') . '[/img:$uid]'", $text);
  }
// END ADD Fotoalbum Snippet by Garnele
#
#----[ OPEN ]------------------------------------------
#
album_pic.php
#
#----[ FIND ]------------------------------------------
#
// ------------------------------------
// Okay, now we can send image to the browser
// ------------------------------------

switch ( $pic_filetype )
{
   case '.png':
      header('Content-type: image/png');
      break;
   case '.gif':
      header('Content-type: image/gif');
      break;
   case '.jpg':
      header('Content-type: image/jpeg');
      break;
   default:
      die('The filename data in the DB was corrupted');
}

readfile(ALBUM_UPLOAD_PATH  . $thispic['pic_filename']);

exit;
#
#----[ REPLACE WITH ]------------------------------------------
#
// ------------------------------------
// Okay, now we can send image to the browser
// ------------------------------------

// START ADD Fotoalbum Snippet by Garnele
if ($_SESSION['you_are_here'] != "viewtopic")
{
  $pic_out = ALBUM_UPLOAD_PATH  . $thispic['pic_filename'];
  echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd\"> <img src=\"/$pic_out\" border=\"0\" alt=\"Sorry, error\" vspace=\"1\" />";
}
else if ($_SESSION['you_are_here'] == "viewtopic" and $_SESSION['count_pics'] != 0)
{
  switch ( $pic_filetype )
  {
     case '.png':
        header('Content-type: image/png');
        break;
     case '.gif':
        header('Content-type: image/gif');
        break;
     case '.jpg':
        header('Content-type: image/jpeg');
        break;
     default:
        die('The filename data in the DB was corrupted');
  }
 if ($_SESSION['count_pics'] ==1)
 {
   unset($_SESSION['you_are_here']);
 }
 $_SESSION['count_pics'] -1;
 
 
 readfile(ALBUM_UPLOAD_PATH  . $thispic['pic_filename']);
 exit;
}
// END ADD Fotoalbum Snippet by Garnele
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
Das Snippet sollte Easy MOD kompatibel sein.

Download dieses Snippet


Es grüsst Garnele
Antworten

Zurück zu „phpBB 2.0: Snippets“