Bildgrößen in viewtopic beschränken [fertig]

Neue Projekte und Anfragen, Teamarbeiten und Alpha/Beta Scripte jeder Art.
KEINE Supportanfragen zu bestehenden MODs!
Antworten
schmidtedv
Beiträge: 607
Registriert: So 13.Feb, 2005 10:46
Wohnort: St. Blasien (seit 01.06)
Kontaktdaten:

Bildgrößen in viewtopic beschränken [fertig]

Beitrag von schmidtedv »

Hab schon viel rumgesucht, aber dafür gibt's nichts, was so richtig funktioniert oder nicht Unmengen an SQL-Abfragen erzeugt...

Bisher ist es so, wenn man ein Bild in seinen Beitrag einfügt das größer ist als der Bildschirmrand, dann wächst die Ansicht ja über den Rand hinaus....

Entweder man lässt nun nur Bilder als Anhang mittels Attachment MOD zu um dieses Problem zu umgehen oder man würde etwas finden was

1.Idee - mittels 2er Variablen im ACP (Höhe, Breite) die Maximalmaße von Bildern in der Ansicht einschränkt. Hierzu mal ein SNIPPET was die Avatare betrifft und eventuell von jemandem umgeschrieben werden könnte mit neuen SQL-Einträgen:

Code: Alles auswählen

#  
#-----[ OPEN ]------------------------------------------  
#  
 
templates/MorpheusX/viewtopic_body.tpl  
 
#  
#-----[ FIND ]------------------------------------------  
#  
 
   $postrow_item = &$this->_tpldata['postrow.'][$postrow_i];  
   // set profile link and search button  
   if(!empty($postrow_item['PROFILE']) && strpos($postrow_item['POSTER_NAME'], '<') === false)  
   {  
       $postrow_item['SEARCH_IMG2'] = str_replace('%s', htmlspecialchars($postrow_item['POSTER_NAME']), $postrow_item['SEARCH_IMG']);  
       if($this->vars['TPL_CFG_TOPICVIEW'] !== 'hide')  
       {  
           $search = array($lang['Read_profile'], '<a ');  
           $replace = array($postrow_item['POSTER_NAME'], '<a class="name" ');  
           $postrow_item['POSTER_NAME'] = str_replace($search, $replace, $postrow_item['PROFILE']);  
       }  
   }  
 
#  
#-----[ AFTER, ADD ]------------------------------------------  
#  
 
   if( !empty($postrow_item['POSTER_AVATAR']) )  
   {    
       $postrow_item['POSTER_AVATAR'] = str_replace('<img ', '<img onload="if(this.width > ' . $this->vars['C_AVATAR_WIDTH'] . ') { this.width=' . $this->vars['C_AVATAR_WIDTH'] . '; }; if(this.height > ' . $this->vars['C_AVATAR_HEIGHT'] . ') { this.height=' . $this->vars['C_AVATAR_HEIGHT'] . '; }" ', $postrow_item['POSTER_AVATAR']);  
   }    
 
#  
#-----[ OPEN ]------------------------------------------  
#  
 
templates/MorpheusX/MorheusX.cfg  
 
#  
#-----[ FIND ]------------------------------------------  
#  
 
   'T_ONCLICK'            => empty($config['click']) ? 'ca_onclick' : 'onclick',  
 
#  
#-----[ AFTER, ADD ]------------------------------------------  
#  
 
   // Avatar  
   'C_AVATAR_WIDTH' => $board_config['avatar_max_width'],  
   'C_AVATAR_HEIGHT' => $board_config['avatar_max_height']  
 
#  
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------  
#  
# EoM
2.Idee - oder man könnte mittels einfacher Bildschirmgrößenerkennung automatische Maße vergeben lassen, also bei 1024x768 sollen die maximalen Werte z.B. (angepassbar im ACP an das eigene Layout vielleicht) 700x500 betragen.

:-) Nettes Projekt, oder? Naja, nur leider nichts für mich und mein Können...
Zuletzt geändert von schmidtedv am Sa 30.Jul, 2005 07:07, insgesamt 2-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Beides nicht ohne, da man
1. Nicht auf jedes Bild mit filesize die Grösse abfragen kann
2. Nicht jeder Browser die Fenstergrössen so freiwillig preisgibt...

Die sauberste Lösung ist da immer noch der Attachment Mod...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
schmidtedv
Beiträge: 607
Registriert: So 13.Feb, 2005 10:46
Wohnort: St. Blasien (seit 01.06)
Kontaktdaten:

Beitrag von schmidtedv »

OK, schlaf ich mal drüber :-)
Rettet den Wald, esst mehr Specht!

Forum [ sofern im Beitrag darauf verwiesen :-) ]
Titus
Beiträge: 235
Registriert: Fr 18.Mär, 2005 22:23

Beitrag von Titus »

warum nicht ein simples resize mit JavaSkript in der bbcode.tpl

Code: Alles auswählen

<!-- BEGIN img --> <img src='{URL}' border='0' onload="javascript:if(this.width > screen.width-300)this.width = (screen.width-300)" onclick="javascript:window.open('{URL}','','scrollbars=1,toolbar=0,resizable=1,menubar=0,directories=0,status=0')" alt="Posted Image, might have been reduced in size. Click Image to view fullscreen." title="Posted Image, might have been reduced in size. Click Image to view fullscreen." /> <!-- END img -->
hält die seite in grenzen, um modem-user nicht zu benachteiligen hab ich noch einen Mod eingebaut mit dem alle IMG tags als link dargestellt werden, fertig
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Öhm, die Seite würde dennoch nach rechts rauslaufen ;) Also je nach Browser...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Titus
Beiträge: 235
Registriert: Fr 18.Mär, 2005 22:23

Beitrag von Titus »

beim IE ned, beim FF klappts IMO auch, wer was anderes nutzt hat pech :p :D
Benutzeravatar
Scotty
Beiträge: 200
Registriert: Di 12.Jul, 2005 20:19
Wohnort: Neuruppin
Kontaktdaten:

Beitrag von Scotty »

Probier mal vollenden MOD:
http://www.stubentiger-forum.de/dl_deta ... d=12&cat=6 Nutze den selber, habe viele ausprobiert, gibt da ja so einige aber dieser Funktioniert am besten.

Siehe hier:
http://www.stubentiger-forum.de/viewtopic.php?t=3
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Nur genial!
Danke Scotty.
Den hab ich dann auch gleich mal hier verbaut...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

Ich nutze diese Variante, welche sich gleichfalls auf das gesamt Board (inkl. Album) auswirkt:
[ Downsize Any Larges Images ]
schmidtedv
Beiträge: 607
Registriert: So 13.Feb, 2005 10:46
Wohnort: St. Blasien (seit 01.06)
Kontaktdaten:

Beitrag von schmidtedv »

[quote="Scotty - Do 28.Jul, 2005 17:53";p="39984"]Probier mal vollenden MOD:
http://www.stubentiger-forum.de/dl_deta ... d=12&cat=6 Nutze den selber, habe viele ausprobiert, gibt da ja so einige aber dieser Funktioniert am besten.[/quote]

Wirklich sehr lecker! subSilver nimmt ihn auch sofort dankbar an :-) Nur mein MorpheusX macht da Stress und kriegt n Javascript oder ähnlichen, in IE nicht genauer definierten, Fehler beim laden eines Topics. Der Rahmen erscheint dann zwar um das Bild herum, aber die Größe bleibt....ich hab mal Cyberalien ein post gesetzt und hoffe, ihm fällt dazu was ein...immerhin hat er da ja selbst schon ne Menge Scripte reingepackt und ich nehme an, da überschneidet sich irgendeine Funktion...
Benutzeravatar
blondi
Beiträge: 1091
Registriert: Do 30.Sep, 2004 14:36

Beitrag von blondi »

ich hab den hier drinnen, ist vom selben author ...
funktioniert auch einwandfrei, schon seit monaten verbaut und machte nie probleme ...

[code##############################################################
## MOD Title: Resize posted images based on max width
## MOD Author: spooky2280 < webmaster@christianfecteau.com > (Christian Fecteau) http://portfolio.christianfecteau.com/
## MOD Description: This a client-side (Javascript) MOD. Database and PHP scripts are not altered.
## Images resized are made clickable and openable in a popup in fullsize.
## You can specify a different max width for each of your themes.
## Images that do not exceed the max width are left as is.
## MOD Version: 1.0.0
##
## Installation Level: Easy
## Installation Time: 5 Minutes
##
## Files To Edit: 3
## templates/subSilver/bbcode.tpl
## templates/subSilver/overall_header.tpl
## templates/subSilver/simple_header.tpl
##
## Included Files: n/a
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/
##############################################################
## Author Notes:
##
## This MOD uses Javascript and works in all W3C DOM browsers:
## NN6+, IE5+, Mozilla/Firefox/Camino, Safari, Opera7+, etc.
##
## Don't forget to edit all your themes in addition to subSilver.
##
## Make sure no other Javascript in all of your themes uses window.onload
## to call a different function. If one does, merge the two functions in one.
##
## As long as the three files to edit are present, this MOD will work in
## all versions of phpBB2 from 2.0.0 to 2.0.10
## It was however only tested with 2.0.8
##
##############################################################
## MOD History:
##
## 2004-11-12 - Version 1.0.0
## - initial release phpBB2 ver 2.0.10
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/bbcode.tpl

#
#-----[ FIND ]------------------------------------------
# around line 56
<!-- BEGIN img --><img src="{URL}" border="0" /><!-- END img -->

#
#-----[ IN-LINE FIND ]------------------------------------------
#
/>

#
#-----[ IN-LINE BEFORE, ADD ]------------------------------------------
# line should look like: <!-- BEGIN img --><img src="{URL}" border="0" longdesc="resizemod" /><!-- END img -->
longdesc="resizemod"

#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/overall_header.tpl

#
#-----[ FIND ]------------------------------------------
# around line 222
</head>

#
#-----[ REPLACE WITH ]------------------------------------------
#
<script type="text/javascript">
//<![CDATA[
<!--
window.onload = resizeImg;
function resizeImg()
{

/*//////////////////
/// edit begin ///
//////////////////*/

var max_width = 500; // you can change this number, this is the max width in pixels for posted images

/*//////////////////
/// edit end ///
//////////////////*/

if (!document.getElementsByTagName) return;
if (!document.body.getAttribute) return;
for (i=0; i<document.getElementsByTagName("IMG").length; i++)
{
var im = document.getElementsByTagName("IMG");
if (!im.getAttribute('longdesc')) continue;
if ( (im.width > max_width) && (im.getAttribute('longdesc').indexOf('resizemod')!=-1) )
{
im.style.width = String(max_width) + 'px';
eval("pop" + String(i) + " = new Function(\"pop = window.open('" + im.src + "','fullscale','top=10,left=10,width=400,height=400,scrollbars=1,resizable=1'); pop.focus();\")");
eval("im.onclick = pop" + String(i) + ";");
document.all ? im.style.cursor = 'hand' : im.style.cursor = 'pointer';
im.title = 'Click to enlarge';
}
}
}
//-->
//]]>
</script>
</head>

#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/simple_header.tpl

#
#-----[ FIND ]------------------------------------------
# around line 234
</head>

#
#-----[ REPLACE WITH ]------------------------------------------
#
<script type="text/javascript">
//<![CDATA[
<!--
window.onload = resizeImg;
function resizeImg()
{

/*//////////////////
/// edit begin ///
//////////////////*/

var max_width = 500; // this should be set to the same value that you chose in overall_header.tpl

/*//////////////////
/// edit end ///
//////////////////*/

if (!document.getElementsByTagName) return;
if (!document.body.getAttribute) return;
for (i=0; i<document.getElementsByTagName("IMG").length; i++)
{
var im = document.getElementsByTagName("IMG");
if (!im.getAttribute('longdesc')) continue;
if ( (im.width > max_width) && (im.getAttribute('longdesc').indexOf('resizemod')!=-1) )
{
im.style.width = String(max_width) + 'px';
eval("pop" + String(i) + " = new Function(\"pop = window.open('" + im.src + "','fullscale','top=10,left=10,width=400,height=400,scrollbars=1,resizable=1'); pop.focus();\")");
eval("im.onclick = pop" + String(i) + ";");
document.all ? im.style.cursor = 'hand' : im.style.cursor = 'pointer';
im.title = 'Click to enlarge';
}
}
}
//-->
//]]>
</script>
</head>

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM[/code]
Zuletzt geändert von blondi am Fr 29.Jul, 2005 02:09, insgesamt 2-mal geändert.
schmidtedv
Beiträge: 607
Registriert: So 13.Feb, 2005 10:46
Wohnort: St. Blasien (seit 01.06)
Kontaktdaten:

Beitrag von schmidtedv »

:-) das ist die alte Version, Blondi...die neue hat ein sehr nettes Gimmick mit ner Vollansicht in neuem Fenster...gefällt mir sehr gut, sofern ich en MorpheusX-Fehler noch weg kriege...


EDIT: Baut eure miesen MODs alle aus :-) ...es gibt einen Nachfolger, der ist 1. geil und 2. funktioniert auf Anhieb mit meinem MorpheusX...

## MOD Title: mw3 (Prevent Any Layout From Being Broken) 1.0.1
## MOD Author: spooky2280 < webmaster@christianfecteau.com > (Christian Fecteau) http://portfolio.christianfecteau.com/
Zuletzt geändert von schmidtedv am Fr 29.Jul, 2005 11:18, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Und genau der geht bei mir nicht ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
schmidtedv
Beiträge: 607
Registriert: So 13.Feb, 2005 10:46
Wohnort: St. Blasien (seit 01.06)
Kontaktdaten:

Beitrag von schmidtedv »

:-) hm, na sowas...naja, ich bin grad am durchforsten, weils bei mir zwar in subsilver 100%ig klappt, aber MorpheusX da ein wenig wieder rumkaspert mit seinen <div>-Einlagen etc. ...Funktionert zwar, aber halt nicht gaaanz so wie es soll :-)
Zuletzt geändert von schmidtedv am Fr 29.Jul, 2005 12:45, insgesamt 1-mal geändert.
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

[quote="oxpus - Fr 29.Jul, 2005 12:05";p="40051"]Und genau der geht bei mir nicht ;)[/quote]:lol: Bei mir auch nicht.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wobei ich zugeben muss, daß ja dieser Mod als "Nachfolger" deklariert ist, wenn man sich aber den Quelltext der Webseite des Autors anschaut, steckt der alte aber weiterhin drinnen ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
schmidtedv
Beiträge: 607
Registriert: So 13.Feb, 2005 10:46
Wohnort: St. Blasien (seit 01.06)
Kontaktdaten:

Beitrag von schmidtedv »

Also der neue 1.0.1 setzt ja ganz anders an...nicht mehr in den Templates sondern direkt im PHP-Code bei 'MESSAGE'....ich bin da gerade durchgestiegen, das ich für die Topicansicht die Postrows, also MESSAGE / ATTACHMENTS / SIGNATURE, etc. innerhalb eines <td> haben muss...MorpheusX arbeitet hier mit <div> und zudem war der Attachments-Block nicht kompatiebel von mir eingebaut. Habe nun angefangen, die MorpheusX-Ansicht komplett neu zu schreiben und mache mich danach dran, subSilver umzuschreiben...sieht dann auch gleich viel netter aus. Persönlich finde ich den horizontalen Scrollbalken im Post bei zu langen Wortkonstrukten nicht ganz gelungen, aber ich denke, wenn ich schon mal dabei bin kann ich da auch einen wordwrapper mit einbauen....bzw. den Balken zumindest für IE farblich anpassen. Nichts desto trotz, der MOD setzt eigentlich gut an und wie gesagt, unter subSilver gabs eigentlich keine Probleme...warum ging er bei euch nicht? Wohlgemerkt, ich habe die 1.0.1 eingebaut...da wurde schon einiges behoben was z.B. unter 2.0.15 nicht mehr gehen sollte...
Rettet den Wald, esst mehr Specht!

Forum [ sofern im Beitrag darauf verwiesen :-) ]
schmidtedv
Beiträge: 607
Registriert: So 13.Feb, 2005 10:46
Wohnort: St. Blasien (seit 01.06)
Kontaktdaten:

Beitrag von schmidtedv »

Nunja, ich setz mich heut abend noch was länger dran und poste dann mal n Link :-) Habe eh noch so einige Ideen umzusetzen...

EDIT: So, fettich, ich find, es ist ganz nett geworden...eure Meinung?

Ich hab' mal wichtige Änderungen markiert...z.B. Ausrichtung von Signatur und Editierung UNTEN im Post

Testtopic: http://support.schmidtedv.de/viewtopic.php?t=87

Ich gebe aber zu, wenn der MOD Bilder anpasst beim Laden, dauerst ein bisserl länger....hmhm
Dateianhänge
viewtopic_sb.JPG
viewtopic_ss.JPG
Zuletzt geändert von schmidtedv am Sa 30.Jul, 2005 07:05, insgesamt 2-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ja, passt alles zusammen.
Ein homogenes Bild!
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
schmidtedv
Beiträge: 607
Registriert: So 13.Feb, 2005 10:46
Wohnort: St. Blasien (seit 01.06)
Kontaktdaten:

Beitrag von schmidtedv »

Thx...nu muss ich langsam nur mal irgendwie den ein oder anderen finden, der das Forum mal so nebenbei auf Herz und Nieren prüfen möchte...
Rettet den Wald, esst mehr Specht!

Forum [ sofern im Beitrag darauf verwiesen :-) ]
Antworten