4images Forum & Community
4images Modifications / Modifikationen => Mods & Plugins (Requests & Discussions) => Topic started by: Chicco on June 30, 2006, 03:34:51 PM
-
Nachdem nun Mitglieder mich bereits gebeten haben, diesen Mod zu veröffentlichen, tue ich dies natürlich auch! :mrgreen:
(An dieser Stelle auch nochmals Danke an mawenzi für die Unterstützung bie Problemen, die ich hatte)
Dieser Mod ermöglicht es, Mitgliedern entscheiden zu lassen, ob bei Gäste ein Wasserzeichen auf ihrem Bild zu sehen sein soll. Dieses Wasserzeichen sehen nur Gäste. Dies soll es den sog. "Bildschirmausdruck-Kopierer" es mehr erschweren, die Bilder so einfach zu "Klauen". Ist ebenfalls kein 100%iger Schutz gegen Bilderklau, aber immerhin! :wink:
Als Wasserzeichen verwende ich wegen Qualitätsgründen ein transparentes PNG, das nachher über das Bild gelegt wird. Damit dies aber auch im IE transparent angezeigt wird, ist ein Javascript notwendig. Näheres siehe weiter unten. Alternativ kann aber auch ein transparentes GIF verwendet werden, bei dem man dieses Javascript nicht benötigt!
Demo:
http://www.thepictureworld.de/details.php?image_id=570
Bevor ihr nun loslegt, macht am besten eine Sicheurng eurer Daten sowie Datenbank!!!!!!!
1. Anlegen von Datenbankfelder in der Datenbank. Einmal in 4images_images und in 4images_images_temp
image_watermark tinyint(1) Standard=1 bei radiobutton auf --- lassen
Wer möchte, das standardmäßig KEIN Wasserzeichen aktiv ist, setzt bei Standard eine 0 anstatt der 1
2. In der db_field_definations.php folgenden Code einfügen:
$additional_image_fields['image_watermark '] = array($lang['image_watermark '], "radio", 0);
Hinweis:Wenn ihr hinter dem "radio", anstelle der 0 eine 1 setzt, wird es zu einem Pflichtfeld!!!!
3. In der main.php folgendes einsetzen:
$lang['image_watermark '] = "Wasserzeichen für Gäste aktivieren?";
4. Damit dieser Parameter aus der main.pho auch greift muss in der page_header.php noch folgendes rein:
"lang_image_watermark " => $lang['image_watermark '],
5. Damit man später mit eine {if...}-Abfrage das Wasserzeichen einoder ausblenden kann, muss noch in die details.php folgendes rein:
Finde bei PRINT OUT diesen Code:
$site_template->register_vars(array(
"msg" => $msg,
"clickstream" => $clickstream,
"lang_category" => $lang['category'],
"lang_added_by" => $lang['added_by'],
und füge danach ein:
"image_watermark " => ($image_row['image_watermark ']) ? 1 : 0
6. Jetzt kommen die eigentlichen Arbeiten in den verschiedenen Templates.
Finde in der member_uploadform.html und in der member_editimage.htmldiesen Code:
<tr>
<td class="row2" valign="top"><b>{lang_keywords}</b><br>
<font size="1">(Schlüsselwörter durch ein Leerzeichen trennen)</font></td>
<td class="row2">
<textarea cols="70" class="textarea" rows="6" wrap="VIRTUAL" name="image_keywords">{image_keywords}</textarea>
</td>
</tr>
und füge danach ein:
<tr>
<td class="row2" valign="top"><b>{lang_image_watermark }</b></td>
<td class="row2" valign="top"><input type="radio" name="image_copyright" value="1" {image_watermark _yes} />
{lang_yes} <input type="radio" name="image_copyright" value="0" {image_watermark _no} />
{lang_no}</td>
</tr>
7. Öffne unter (yourtemplates)/media/ die Datei jpg.html.
ACHTUNG. Diese Aufbau hier ladet zusätzliche ein transparente gif als Hintergrund über das eigentliche Bild. Somit kann selbst mit rechter Maustaste kein Bild abgespeichert werden.
Einfach den Inhalt durch diesen hier ersetzen:
<!-- Template file for JPEG Files -->
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td background="{media_src}" {width_height}>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td background="images/spacer.gif" {width_height} valign="bottom" align="right">
{if user_loggedout}{if image_watermark}<script language="javascript" type="text/javascript">
od_displayImage('myImg1', 'images/watermark', 200, 200, '', 'Variable Opacity Rules');
</script><img src="spacer.gif" alt="" border="0" vspace="0" hspace="0" align="absmiddle">{endif image_watermark}{endif user_loggedout}
{if user_loggedin}<img src="/images/spacer.gif" border="0" vspace="0" hspace="0" align="absmiddle">{endif user_loggedin}
</td>
</tr>
</table>
</td>
</tr>
</table>
Bie diesem Beispiel hier ist das PNG nachher 200x200 Pixel gross. Diese Maßangabe muss korrekt 1:1 zum wahren PNG-Bild nachher sein. Also nich 200x200 eingeben und das Bild aber nur 100x100 Pixel gross machen!!!Macht das auch mit den anderen Medien-Dateien wie JPEG oder GIF usw....
8. In das Verzeichnis "images" (im ROOT) legt ihr nun zu einem ein 1x1 Pixel großes transparentes GIF-Bild namens spacer.gif rein oder kopiert es aus euren templates/images-Verzeichnis heraus. Zusätzlich erstellt ihr ein 200x200 Pixel grosses PNG-Wasserzeichen (transparent) mit eurem Logo oder sonst irgend einem Wasserzeichenhinweis und legt es ebenfalls dort ab. Bennent es "watermark.png". Solltet ihr ein kleineres oder grösses Bild machen, müssen diese Maße auch in der JPG.html unbedingt angegeben werden!!!!!!!
9. Ladet nun diese beiden Skripte herunter, entpackt diese und speichert sie auf eurem Server ins Root (Hauptverzeichnis)ab.
http://www.thepictureworld.de/scripts.zip
10. Öffnet in eurem template-Verzeichnis die Datei header.html und fügt zwischen </head> und <body>diesen Code ein:
<script language="javascript" src="browserdetect_lite.js" type="text/javascript"></script>
<script language="javascript" src="opacity.js" type="text/javascript"></script>
Wenn ich nun nichts auf die Schnelle übersehen habe, müsste es dann alles soweit funktionieren. Ein Mitglied kann nun selbst bei seinen Bildern jeweils entscheiden, ob ein Wasserzeichen zu sehen sein soll für Gäste oder nicht. Standardmäßig ist es bei jedem Bild aktiv.
Dann mal viel Spass. Sollte ich was übersehen haben, dann einfach melden.
-
Hallo Chicco,
... Danke für die Veröffentlichung deiner Arbeit zu diesem MOD ... :D
... werde selbst mal testen und die ersten Reaktionen anderer User abwarten ...
... und dann den MOD nach Mods & Plugins (Publishing & Support) verschieben ...
-
Gern Geschehen. :D
Ich sollte übrigens noch erwähnen, das die beiden Scripte (Javascripte) NICHT von mir sind!!! Da ich mehrer Internetseiten besucht habe und verschiedene Lösungen ausprobiert hatte, weiß ich allerdings die Seite nicht mehr, von der ich diese habe. Ausserdem sind "meine" Scripte bereits auf dies hier optimiert. Also bitte das Copyright in den Scripten NICHT ENTFERNEN! Danke. :D Sollte ich doch noch die Seite wieder mal finden, werde ich sie hier posten! Garantiert!
-
Hi, habe erfolglos versucht diese Funktion bei mir auf der Seite einzubauen. Nun, wo ich gerade alles rückgängig gemacht habe bekomme ich auf einmal diese Fehlermeldung. Hoffe, von euch kann mir jemand helfen.
Gruß Andi
-
Wieder rückgängig? Nicht so gut gwesen? :lol:
Was steht denn in der Zeile 74 in deiner Template.php? Hast du evtl. vergessen einen {if....} Tag noch zu entfernen bzw. einen {endif....} in deiner jpg.html?. Wenn nur ein Tag vorhanden ist, ohne das dieser zuvor geöffnet ({if...}) oder wieder danach geschlossen ({endif....}) wird, bekommt man auch diese Fehlermeldung.
-
... Nun, wo ich gerade alles rückgängig gemacht habe bekomme ich auf einmal diese Fehlermeldung. ...
... rückgänging machen heist aber ... die Backups wieder installieren ... !
-
@daAndi:
Könntest du uns posten, ob es daran lag? Denn dann können sich ggf. auch andere daran orentieren, falls diese das gleiche Problem haben sollten. Wäre super!
PS: An der Template.php kann es ansich selbst ja nicht liegen, da diese für den Mod hier nicht editiert oder geändert wurde.
Wenn du deine Daten zuvor gesichert hast (wie iches auch angfangs empfohlen habe) kannst du ja mit deinen Backups wieder arbeiten, wie mawenzi schon schrieb! ;-)
Ich hätte erhlichgesagt auch erst gar nihct alles wieder zurückgesetzt sondern gleich die Backupdateien wieder verwendet! :wink:
-
hallo chicco,
könntest du die scripte nochmal uploaden?
der link funktioniert nicht mehr :cry:
ich finde deine lösung für die beste die ich hier gefunden habe.
viele grüsse mcbeal
-
....sorry hatte ich vergessen.
wenn jemand die dateien hat könnte er/sie mir zukommen lassen?
-
hast du sie erhalten? mich würde das auch interessieren. bitte uploaded die datei als anhang an euren post, so dass sie nicht mehr verloren gehen können.
-
9. Ladet nun diese beiden Skripte herunter, entpackt diese und speichert sie auf eurem Server ins Root (Hauptverzeichnis)ab.
http://www.thepictureworld.de/scripts.zip (http://www.thepictureworld.de/scripts.zip)
der link funktioniert nicht, wo kann man die JS runterladen?
-
würde mich ebenfals interessieren ob jemand die scripte noch hat und ob es mit der aktuellen version noch funktioniert.
alternativen wären natürlich auch ok
danke im vorraus