Edit Attachments

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
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Edit Attachments

Beitrag von Holger »

Hallo,

ich habe den Mod Edit Attachments von Wicher installiert.
http://www.phpbbhacks.com/download/7234
Irgendwo habe ich einen Fehler gemacht, denn jetzt werden die Bilder zweimal angezeigt.
Einmal ganz oben, mit den Editier-Funktionen und nochmal unten, wo sie sonst auch immer angezeigt wurden.

Kann mir jemand helfen da ein wenig durchzublicken?

Hier ist meine templates/subSilver/viewtopic_attach_body.tpl:
http://www.gremminger.se/service/forum/ ... h_body.txt

Gruss
Holger
Zuletzt geändert von Holger am Mo 11.Dez, 2006 09:39, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Öhm, hast Du den eXtreme Styles MOD installiert?
Ohne den funktioniert der MOD nicht korrekt...
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!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Japp, und ich habe GERADE den Fehler gefunden! Hatte den falschen Part erwischt!
ABER: ich habe einen Auto-Resize Mod eingebaut, um das Layout zu schützen, die Bilder werden automatisch verkleinert.
Sobald der Teil aktiviert ist, funktionieren einige Funktionen in Edit Attachment nicht mehr.
Das Ganze wird initialisiert mit

Code: Alles auswählen

name='postimg'
Ich habe die Datei mal aktualisiert.
So funktioniert sie nicht ganz:
http://www.gremminger.se/service/forum/ ... h_body.txt
Nehme ich den oben genannten Code raus, klappt alles, aber das Layout wird zerissen.

/Holger
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Das Ganze wird initialisiert mit
Der Auto Resize MOD?
Dann stellt die von dem MOD installierte Javascript-Funktion um.
Der verwendet ja "postimg" als Identifikator des Formulars.
Wenn es durch den Edit Attachments MOD anders heisst, einfach halt dort anpassen (also postimg durch den neuen Form-Namen ersetzen)...
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!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Das ist der Code:

Code: Alles auswählen

<img name="tstimg" width="450" height="1">
<script>
var oimg_width=new Array();
var oimg_height=new Array();
var imgMaxWidth=document.images['tstimg'].width;
var imgLength;
setTimeout("resize_image()",3000);

function resize_image() {
   if (document.images('postimg') && imgMaxWidth>449) {
      if (document.images('postimg').length) {
         imgLength=document.images('postimg').length;
         if (imgLength>0 && imgMaxWidth>0) {
            for (var i=0; i<imgLength && i<10; i++) {
         var imager = document.images('postimg')(i);
               imager.id=i;
               if (imager.width>imgMaxWidth) {
                  update_img(imager);
               } else {
                  imager.onload=update_img;
               }
            }
         }
      } else {
         var imager = document.images('postimg');
         imager.id=0;
         if (imager.width>imgMaxWidth) {
            update_img(imager);
         } else {
            imager.onload=update_img;
         }
      }

   }
}

function revert(evt) {
   var elem = (evt) ? evt.target : ((window.event) ? window.event.srcElement : "")
   var temp;

   temp=elem.width;
   elem.width=oimg_width[elem.id];
   oimg_width[elem.id]=temp;

   temp=elem.height;
   elem.height=oimg_height[elem.id];
   oimg_height[elem.id]=temp;
   elem.onclick=revert;

}
function update_img(evt) {
   var elem = (evt) ? (evt.target ? evt.target : evt) : ((window.event) ? window.event.srcElement : "")
   if (elem.width>imgMaxWidth) {
      oimg_width[elem.id]=elem.width;
      oimg_height[elem.id]=elem.height;
      elem.style.cursor= document.all ? 'hand' : 'pointer';
      elem.title="Klicka på bilden för att se den i originalstorlek!";
     elem.onclick=revert;
      elem.width=imgMaxWidth;
     elem.height=elem.height * imgMaxWidth/elem.width;
   }
}
</script>
Der ist in dem overall_footer.tpl
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Wenn es durch den Edit Attachments MOD anders heisst, einfach halt dort anpassen (also postimg durch den neuen Form-Namen ersetzen)...
Ja wie heisst denn das Formular nun??? ;)
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!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Ich finde nur das hier im Edit Attachment Mod:

Code: Alles auswählen

id="{postrow.attach.cat_images.TDNAME}img"
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

....

Du hattest doch gesagt, daß das Formular (also <form...>) vom Edit verändert wurde und dadurch der Image Resize MOD das nicht mehr verwenden kann.
Der Image Resize MOD verwendet name="postimg".
Was verwendet der Edit Attachment MOD?
Und genau diesen Namen des Forms ist in der Javascript-Funktion anstelle "postimg" einzusetzen!
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!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Sorry, form? Eh, habe ich was übersehen, was ich selber geschrieben habe?
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Irgendwo in der viewtopic_body.tpl muss ja ein Formular eingefügt werden, damit dem Resize MOD dieses per name="postimg" bekannt gemacht werden kann.
Und Du sagst, daß das nach dem Edit Attachment MOD nicht mehr greift.
Also muss dieser doch auch entweder ein neues Formular eingefügt oder das gleiche geändert haben...
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!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Der resize mod greift nur auf dies in der bbcode.tpl zurück:

Code: Alles auswählen

<!-- BEGIN img --><img src="{URL}" name='postimg' border="0" /><!-- END img -->
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Und was soll das dann mit dem Attachments zu tun haben?
Die werde doch anders aufgebaut...
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!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Die Attachments haben ja auch ein IMG-Tag.
Also:
overall_footer.tpl
Find

Code: Alles auswählen

</body>
Add before

Code: Alles auswählen

<img name="tstimg" width="450" height="1"> 
<script> 
var oimg_width=new Array(); 
var oimg_height=new Array(); 
var imgMaxWidth=document.images['tstimg'].width; 
var imgLength; 
setTimeout("resize_image()",3000); 

function resize_image() { 
   if (document.images('postimg') && imgMaxWidth>449) { 
      if (document.images('postimg').length) { 
         imgLength=document.images('postimg').length; 
         if (imgLength>0 && imgMaxWidth>0) { 
            for (var i=0; i<imgLength && i<10; i++) { 
         var imager = document.images('postimg')(i); 
               imager.id=i; 
               if (imager.width>imgMaxWidth) { 
                  update_img(imager); 
               } else { 
                  imager.onload=update_img; 
               } 
            } 
         } 
      } else { 
         var imager = document.images('postimg'); 
         imager.id=0; 
         if (imager.width>imgMaxWidth) { 
            update_img(imager); 
         } else { 
            imager.onload=update_img; 
         } 
      } 

   } 
} 

function revert(evt) { 
   var elem = (evt) ? evt.target : ((window.event) ? window.event.srcElement : "") 
   var temp; 

   temp=elem.width; 
   elem.width=oimg_width[elem.id]; 
   oimg_width[elem.id]=temp; 

   temp=elem.height; 
   elem.height=oimg_height[elem.id]; 
   oimg_height[elem.id]=temp; 
   elem.onclick=revert; 

} 
function update_img(evt) { 
   var elem = (evt) ? (evt.target ? evt.target : evt) : ((window.event) ? window.event.srcElement : "") 
   if (elem.width>imgMaxWidth) { 
      oimg_width[elem.id]=elem.width; 
      oimg_height[elem.id]=elem.height; 
      elem.style.cursor= document.all ? 'hand' : 'pointer'; 
      elem.title="Click on the image to display it in original size!"; 
     elem.onclick=revert; 
      elem.width=imgMaxWidth; 
     elem.height=elem.height * imgMaxWidth/elem.width; 
   } 
} 
</script>
viewtopic_attach_body.tpl
Find

Code: Alles auswählen

      <td colspan="2" align="center"><br /><img src="{postrow.attach.cat_images.IMG_SRC}" alt="{postrow.attach.cat_images.DOWNLOAD_NAME}" border="0" /><br /><br /></td>
Replace with

Code: Alles auswählen

      <td colspan="2" align="center"><br /><img src="{postrow.attach.cat_images.IMG_SRC}" name='postimg' alt="Image" title="Image" border="0" /><br /><br /></td>
bbcode.tpl
Find

Code: Alles auswählen

<!-- BEGIN img --><img src="{URL}" border="0" /><!-- END img -->
Replace with

Code: Alles auswählen

<!-- BEGIN img --><img src="{URL}" name='postimg' border="0" /><!-- END img -->
Funktioniert grandios im Forum.
Aber zusammen mit dem Edit Attachments gibt es das Problem, dass dann einige Funktionen nicht mehr verwendbar sind (z.B. Zoom).
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ist ja auch kein Wunder, da der Edit Attachment MOD den Images eigene dynamische ID's vergibt!
Beides zusammen ist nicht kompatibel, zumindest in dieser Image Resize MOD Version 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!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Ach neee!
ID und name kann nicht irgendwie kombiniert werden? Schade!
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Im Normalfall werden die Tags per ID verwendet:

Code: Alles auswählen

document.getelementbyid();
"byname" kennt nicht jeder 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!
Antworten