hallo zusammen. ich muss noch mal stören. also folgendes. hab mein coppermine am laufen und hatte schon mal was zu nen bilderschutz art wasserzeichen geschrieben und arg gesucht im forum nur ich habs nicht hinbekommen.
in kurzen worten, ich möchte über allen bilder, thumbnails und voransicht und großansicht nene leichten downloadschutz haben in dem ich nen overlay mit nem gif mache.
bevor welche wieder meckern, es gibt so ähnliche threads aber ersten hab ich die noch nicht mal hinbekommen und zweitens mag ich die auch auf en kleinen bildern / thumbnails haben.
gibts vielleicht wen gütiges wer mir helfen mag
danke euch grüße
Es gibt http://forum.coppermine-gallery.net/index.php/topic,33782.0.html
Wenn Du weitere Funktionalität brauchst musst Du sie programmieren.
einen wirklichen Schutz gibt es sowieso nicht, denn wenn der Browser auf die Seite zugreift sind die Bilder ja schon beim Benutzer .... sonst könnte er sie ja nicht sehen :-)
Die Variante mit dem Watermark nachträglich beim php-Seitenaufbau ist mir zu Rechenintensiv und macht irgendwie nicht wirklich viel sinn, dann müsste man die Bilder auch alternativ nach Onlinezahlung ein download anbieten. Und dann sind ide Bilder natürlich für eine hack interessanter, da sie ja irgendwie ohne WZ auf den Server liegen. Des weiteren müssten die Bilder ja denn auch in voller Auflösung auf dem Server sein und bei 10MB pro Bild und das mal einige 10.000 dann muss der Server schon mächtig Platte haben.
Ich habe die Lösung über ein Javaskript für Photoshop gewählt .. das macht mir gleich die Bildgrössenänderung, Schärfung, IPTC-Beschriftung, Wasserzeichen ....
und dann Ab auf den Server...
lg loisl
Plattenplatz ist mittlerweile so richtig günstig... sollte also kein Thema mehr sein wenn man einen Shop betreibt. Das Original braucht weiterhin seinen vollen Platz, das Vorschaubild (thumb, intermediate, fullsize) gerade mal ein paar kb.
Zudem können die Originale außerhalb Webroot abgelegt werden. Nach dem Bezahlen werden sie in den Downloadordner des Users kopiert. Also recht 'hackingsicher' (wenn es so etwas gibt).
Für mich die beste Lösung ist immer noch ein permanentes Watermark. Ob dies jetzt mit einem Bildbearbeitungsprogramm lokal oder über ein Mod/ Plugin für Coppermine während des Uploads geschieht ist zweitrangig.
naja so einen riesenschutz will ich gar nicht und ich weiss jaauch wie man die schutzmechanismen umgehen kann ect.
ich will eigentlich einfach nur über allen bildern, sprich fotos nen transparentes gif haben. wenn dann wer rechte maustaste speichern unter versucht oder grafik anzeigen das das tranzparente bild angezeigt wird.
lg
Wie Joachim schon schrieb, ist genau das hier (http://forum.coppermine-gallery.net/index.php/topic,33782.0.html) das was du suchst.
man man man is mein englisch schlecht. komm kaum hinterher.
jemand deutschsprechendes hat das noch nicht gemacht nehm ich an.
hab da ganz schön zu lämpfen :'(
Quote from: Stramm on July 12, 2006, 09:43:57 AM
Installation: unzip the attachment and open the txt file. It's contents copy into the theme.php you're actually using or want to use the transparent gif overlay on (right above the final ?>).
Finally copy the overlay.gif into your coppemine/images directory
- overlay.zip entpacken
- Textdatei öffnen und den Inhalt ans Ende deiner theme.php kopieren (direkt vor ?>)
- overlay.gif nach coppemine/images kopieren
hey erstmal zwischendurch ein dickes danke und auch wenn ich nerve hab aber alles so gemacht aber wenn ich dann versuche die startseite der gallery zu laden bekomme ich nur eine rein weisse seite angezeigt. muss ich noch etwas beachten??
ok den fehler warum das overlay nicht funktioniert hat hab ich gefunden.
und zwar hatte ich lightbox eingefügt. also ohne lightbox funtioniert das tadellos.
nur gibt es eine möglichkeit das auch mit lightbox zu verwenden. aus dem grund, weil nun bei der großansicht die bilder nicht mehr skaliert werden usw.
danke schon mal
Quote from: dnm on August 05, 2008, 09:50:48 PM
nur gibt es eine möglichkeit das auch mit lightbox zu verwenden.
Ist das eine Frage? Bitte auf Interpunktion achten. Ein wenig mehr Rechtschreibung und sorgfältiger Einsatz von Groß-/Kleinschreibung wäre auch kein Fehler, da auch das zur Lesbarkeit Deiner Postings beitragen würde.
Joachim
Naja danke für deinen Hinweis. Ich werde es berücksichtigen. Wobei eigentlich ich die Postings beim Lesen schlüssig finde. Aber auch egal. Werde mich in Zukunft daran halten. Versprochen. ;)
Dann auf einen neuen Versuch. Folgendes:
Ich versuche schon einige Zeit die Overlay-Funktion in meine Gallerie einzubauen. Dieses hat nicht funktioniert und ich dachte das ich den dazugehörigen Thread, der hier freundlicher Weise angezeigt wurde, nicht verstanden hätte.
Die Fehlfunktion enstand aber aus dem Umstand, dass ich ebenfalls die Lightbox- Funktion schon in meiner Theme.php eingebaut hatte.
Somit würden beide Funktionen getrennt von einander korrekt funktionieren.
Jetzt also "die Frage", besteht eine Möglichkeit beide Funktionen zu kombinieren, so dass ich weiterhin mit der Lightbox- Funktion arbeiten kann, aber dennoch über jedes Bild ein Overlay liegt, so auch wenn ich das Foto mit der Lightbox aufrufe.
Ich hoffe dieser Post war so politisch korrekt. Also wäre echt super von euch. Ich bekomme es sonst nicht so hin, ich bin ja auch Fotograf und noch am lernen.
Danke euch ...
Der Lightbox-Hack ist der kompliziertere, daher müsstest Du versuchen, den Overlay-Hack in den Lightbox-Hack einzubauen.
Also um ehrlich zu sein, habe ich mir das ein wenig leichter vorgestellt.
Also, habe mir beide Funktionen angeschaut und ein wenig probiert, allerdings mit keinem Erfolg.
Wobei nur an zwei Stellen Unterschiede auftreten. Und zwar..
[Ich nenne folgend die theme.php mit der Overlay-Funktion Overlay.php und die theme.php mit der lightbox- Funktion lightbox.php]
Overlay.php:
if ($mime_content['content']=='image') {
if (isset($image_size['reduced'])) {
$imginfo=getimagesize($picture_url);
$winsizeX = $CURRENT_PIC_DATA['pwidth']+5; //the +'s are the mysterious FF and IE paddings
$winsizeY = $CURRENT_PIC_DATA['pheight']+3; //the +'s are the mysterious FF and IE paddings
$pic_html = "<table cellpadding=0 cellspacing=0><tr><td background=\"" . $picture_url . "\" width={$imginfo[0]} height={$imginfo[1]} class=\"image\">";
$pic_html .= "<a href=\"javascript:;\" onclick=\"MM_openBrWindow('displayimage.php?pid=$pid&fullsize=1','" . uniqid(rand()) . "','scrollbars=yes,toolbar=no,status=no,resizable=yes,width=$winsizeX,height=$winsizeY')\">";
$pic_title = $lang_display_image_php['view_fs'] . "\n==============\n" . $pic_title;
$pic_html .= "<img src=\"images/overlay.gif\" width={$imginfo[0]} height={$imginfo[1]} border=\"0\" alt=\"{$lang_display_image_php['view_fs']}\" /><br />";
$pic_html .= "</a>\n </td></tr></table>";
} else {
$pic_html = "<table cellpadding=0 cellspacing=0><tr><td background=\"" . $picture_url . "\" width={$CURRENT_PIC_DATA['pwidth']} height={$CURRENT_PIC_DATA['pheight']} class=\"image\">";
$pic_html .= "<img src=\"images/overlay.gif\" width={$CURRENT_PIC_DATA['pwidth']} height={$CURRENT_PIC_DATA['pheight']} border=\"0\" alt=\"\" /><br />\n";
$pic_html .= "</td></tr></table>";
}
an gleicher Stelle in der lightbox.php:
if ($mime_content['content']=='image') {
if (isset($image_size['reduced'])) {
#################################################
//First part of lightbox update
$pic_html = lightbox_list($CURRENT_PIC_DATA);
//End of first part
#################################################
} else {
$pic_html = "<img src=\"" . $picture_url . "\" {$image_size['geom']} class=\"image\" border=\"0\" alt=\"\" /><br />\n";
}
und nun an weiterer Stelle...
Overlay.php:
$params = array('{CELL_HEIGHT}' => '100',
'{IMAGE}' => $CURRENT_PIC_DATA['header'].$CURRENT_PIC_DATA['html'].$CURRENT_PIC_DATA['footer'],
'{ADMIN_MENU}' => $CURRENT_PIC_DATA['menu'],
'{TITLE}' => bb_decode($CURRENT_PIC_DATA['title']),
'{CAPTION}' => bb_decode($CURRENT_PIC_DATA['caption']),
);
return template_eval($template_display_media, $params);
}
function theme_display_fullsize_pic()
{
global $CONFIG, $THEME_DIR, $ALBUM_SET;
global $lang_errors, $lang_fullsize_popup, $lang_charset;
if (isset($_GET['picfile']))
{
if (!GALLERY_ADMIN_MODE) cpg_die(ERROR, $lang_errors['access_denied'], __FILE__, __LINE__);
$picfile = $_GET['picfile'];
$picname = $CONFIG['fullpath'] . $picfile;
$imagesize = @getimagesize($picname);
$imagedata = array('name' => $picfile, 'path' => path2url($picname), 'geometry' => $imagesize[3]);
}
elseif (isset($_GET['pid']))
{
$pid = (int)$_GET['pid'];
$sql = "SELECT * " . "FROM {$CONFIG['TABLE_PICTURES']} " . "WHERE pid='$pid' $ALBUM_SET";
$result = cpg_db_query($sql);
if (!mysql_num_rows($result)) cpg_die(ERROR, $lang_errors['non_exist_ap'], __FILE__, __LINE__);
$row = mysql_fetch_array($result);
$pic_url = get_pic_url($row, 'fullsize');
$geom = 'width="' . $row['pwidth'] . '" height="' . $row['pheight'] . '"';
$imagedata = array('name' => $row['filename'], 'path' => $pic_url, 'geometry' => $geom);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=<?php echo $CONFIG['charset'] == 'language file' ? $lang_charset : $CONFIG['charset'] ?>" />
<title><?php echo $CONFIG['gallery_name'] ?>: <?php echo $lang_fullsize_popup['click_to_close'];
?></title>
<script type="text/javascript" src="scripts.js"></script>
<style type="text/css">
body { margin: 0; padding: 0; background-color: gray; }
img { margin:0; padding:0; border:0; }
#content { margin:0 auto; padding:0; border:0; }
table { border:0; <?php $imagedata['geometry'] ?> border-collapse:collapse}
td { vertical-align: middle; text-align:center; }
</style>
</head>
<body>
<script language="JavaScript" type="text/JavaScript">
adjust_popup();
</script>
<table cellpadding="0" cellspacing="0" align="center">
<tr>
<?php
echo "<td align=\"center\" valign=\"middle\" background=\"" . htmlspecialchars($imagedata['path']) . "\" {$imagedata['geometry']} class=\"image\">";
echo "<div id=\"content\">";
echo '<a href="javascript: window.close()"><img src="images/overlay.gif" '
. $imagedata['geometry']
. ' alt="'
. htmlspecialchars($imagedata['name'])
. '" title="'
. htmlspecialchars($imagedata['name'])
. "\n" . $lang_fullsize_popup['click_to_close']
. '" /></a><br />' ."\n";
?>
</div>
</td>
</tr>
</table>
</body>
</html>
<?php
}
?>
lightbox.php:
$params = array('{CELL_HEIGHT}' => '100',
'{IMAGE}' => $CURRENT_PIC_DATA['header'].$CURRENT_PIC_DATA['html'].$CURRENT_PIC_DATA['footer'],
'{ADMIN_MENU}' => $CURRENT_PIC_DATA['menu'],
'{TITLE}' => bb_decode($CURRENT_PIC_DATA['title']),
'{CAPTION}' => bb_decode($CURRENT_PIC_DATA['caption']),
);
return template_eval($template_display_media, $params);
}
#################################################
//Second part of lightbox update
function lightbox_list($picId) {
################################################
//Set max number of images
$max = -1; //(-1 for all pics in album)
################################################
global $lang_display_image_php, $CONFIG;
$i = 0;
$pid = $picId['pid'];
$aid = empty($_GET['album']) ? $picId['aid'] : $_GET['album'];
$pic_data = get_pic_data($aid, $pic_count, $album_name, -1, -1, false);
$imax = 0; //counter
$max = $max/2;
foreach ($pic_data as $picture){
if ($picture['pid'] == $pid) {
//the number of the picture in order
$picnumber = $imax;
}
$imax++;
}
//Check beginning and ending of album
if(! ($max == ((-1)/2))){
if ($imax > $max){
if ($picnumber < $max || $picnumber == 0){
$down = 0;
$up = 0 + ($max*2);
}elseif (($picnumber + $max) > $imax){
$down = $imax - ($max*2);
$up = $imax;
}else{
$down = $picnumber - $max;
$up = $picnumber + $max;
}
}else{
$down = 0;
$up = $imax;
}
}else{
$down = 0;
$up = $imax;
}
foreach ($pic_data as $picture) {
if ($i >= $down && $i <= $up){
if($CONFIG['thumb_use']=='ht' && $picture['pheight'] > $CONFIG['picture_width'] ){
$condition = true;
}elseif($CONFIG['thumb_use']=='wd' && $picture['pwidth'] > $CONFIG['picture_width']){
$condition = true;
}elseif($CONFIG['thumb_use']=='any' && max($picture['pwidth'], $picture['pheight']) > $CONFIG['picture_width']){
$condition = true;
}else{
$condition = false;
}
if (is_image($picture['filename'])) {
if ($CONFIG['make_intermediate'] && $condition ) {
$picture_url = get_pic_url($picture, 'normal');
} else {
$picture_url = get_pic_url($picture, 'fullsize');
}
$picture_url_fullsize = get_pic_url($picture, 'fullsize');
$pic_title = ($picture['title'] ? $picture['title'] : strtr(preg_replace("/(.+)\..*?\Z/", "\\1", htmlspecialchars($picture['filename'])), "_", " "));
if ($picture['pid'] == $pid) {
$picList .= "<a href=\"$picture_url_fullsize\" rel=\"lightbox[list]\" title=\"$pic_title\">";
$picList .= "<img src=\"$picture_url\" class=\"image\" border=\"0\" alt=\"$lang_display_image_php[view_fs]\" /><br />";
$picList .= "</a>\n";
}else{
$picList .= "<a href=\"$picture_url_fullsize\" rel=\"lightbox[list]\" title=\"$pic_title\"></a>\n";
}
}
}
$i++;
}
return $picList;
}//End of second part
#################################################
?>
Naja, vielleicht ist das doch ein wenig zu groß für mich.
Sorry
Keiner der mir vielleicht helfen kann.
Also sorry, aber ich bekomme es einfach nicht hin. Hab fast das ganze Wochenende damit zugebracht,
hab die Lösung aber immer noch nicht gefunden.
Wenn mir so keiner helfen kann, weiss zumindest wer ein Forum in dem mir vielleicht wer helfen kann.
Ist zwar ne blöde frage, ich weiss aber sonst keine Lösung.
Danke euch schon mal
Quote from: dnm on August 10, 2008, 06:55:14 PM
Keiner der mir vielleicht helfen kann.
Das ist eine Frage und ans Ende eines Fragesatzes steht ein Fragezeichen!
Quote from: dnm on August 10, 2008, 06:55:14 PM
Wenn mir so keiner helfen kann, weiss zumindest wer ein Forum in dem mir vielleicht wer helfen kann.
http://forum.coppermine-gallery.net/index.php/board,30.0.html
Ansonsten dürfte es (theoretisch) nicht so schwer sein. Beim Overlay-Hack wird anstatt das Bild anzuzeigen, eine Tabelle mit dem Bild als Hintergrund erstellt und dann das transparente gif darübergelegt.
Wenn du dir jetzt die Funktionen anschaust wirst du sehen, dass du das:
$pic_html = "<table cellpadding=0 cellspacing=0><tr><td background=\"" . $picture_url . "\" width={$CURRENT_PIC_DATA['pwidth']} height={$CURRENT_PIC_DATA['pheight']} class=\"image\">";
$pic_html .= "<img src=\"images/overlay.gif\" width={$CURRENT_PIC_DATA['pwidth']} height={$CURRENT_PIC_DATA['pheight']} border=\"0\" alt=\"\" /><br />\n";
$pic_html .= "</td></tr></table>";
an dieser Stelle:
$picList .= "<a href=\"$picture_url_fullsize\" rel=\"lightbox[list]\" title=\"$pic_title\">";
$picList .= "<img src=\"$picture_url\" class=\"image\" border=\"0\" alt=\"$lang_display_image_php[view_fs]\" /><br />";
$picList .= "</a>\n";
}else{
$picList .= "<a href=\"$picture_url_fullsize\" rel=\"lightbox[list]\" title=\"$pic_title\"></a>\n";
einbauen musst.
Mmhhhh ok, werde besser auf Satzzeichen achten.
Hier nimmt man es aber äusserst genau mit der Rechtschreibung.
Das erste Forum in dem das so ist.
So, erstmal danke für deine Zeit, aber viel schlauer bin ich dann doch nicht.
Eher verwirrter!!
Ich habe auch keine Lust mehr weiter rum zu probieren.
Also, für welchen Kurs würde mir jemand helfen wollen und wie läuft so etwas im Detail ab??
Danke euch!!
PS. Bitte keine Verlinkung in den englischsprachigen Teil des Forum's, würd das gerne auf Muttersprachenebene besprechen.
Mmhhh, jetzt biete ich schon eine Bezahlung an und dennoch keiner der antwortet.
Mache ich etwas falsch??
Immerhin lesen diesen Thread etliche.
??? ???
Ich schau mir morgen mal den Lightbox-Hack an.
Quote from: dnm on August 11, 2008, 09:28:46 PM
Mmhhh, jetzt biete ich schon eine Bezahlung an und dennoch keiner der antwortet.
Das ist keine Hotline. Es ist nicht so, dass Hunderte von Codern, die dazu in der Lage wären auch jeden Tag diesen Thread lesen. Erlaube den potentiellen Auftragnehmern ein wenig Reaktionszeit.
@dnm: Ich habe momentan einfach zu wenig Zeit, um mich durch den ganzen Javascript-Code durchzuwühlen.. dazu steh ich einfach zu wenig im Stoff in Sachen JS.
So, nun meld ich mich noch mal.
Vorweg, ich muss leider sagen, dass ich von diesem Forum entäuscht bin.
Anstatt dem Prinzip eines solchen Forums treu zu bleiben und im Wesentlichen sich auf das Problem und die Lösungsfindung zu beschränken, hat man hier anscheinend nichts besseres zu tun, als auf eine inkorrekte Rechtschreibung hinzudeuten ect.!
Letztenendes hat es dann doch geklappt, dafür von meiner Seite aus ein dickes Danke.
Dennoch habe ich das in keinem anderen Forum in dieser Form so erlebt. Sorry.
@eenemeenemuu:
QuoteIch schau mir morgen mal den Lightbox-Hack an.
oder
Quote
"Ich habe momentan einfach zu wenig Zeit, um mich durch den ganzen Javascript-Code durchzuwühlen.. dazu steh ich einfach zu wenig im Stoff in Sachen JS."
Das sind einfach mal Aussagen womit man etwas anfangen kann. Somit brauch ich nicht immer erneut anfragen ect.! Ich weiss sofort er kann / wird mir nicht helfen. Fertig.
Immerhin besser als das Thema zu ignorieren und auf Rechtschreibung ect. peniebel zu achten.
Zu guter Letzt gehe ich nun stark davon aus, dass mir hier wohl niemand helfen wird/ mag.
Werde ich so hinnehmen. Und da es schon merklich unangenehm ist, hier in dem Forum sich auszutauschen, wird es wohl auch der letzte Post sein.
Somit alles Gute
Wenn Du mehr Chance auf Hilfe erreichen willst würde ich sagen mußt Du im englischen Teil des Forums posten (natürlich auf englisch). Ich bin zwar auch dafür dass "so viel wie möglich" auf Deutsch stattfindet - damit User die kein (schlechtes) Englisch können auch hier etwas finden (daher mache ich meine Anfragen auch auf Deutsch) - aber wenns arg drückt oder wenns ein recht kompliziertes Problem ist (nicht jeder kann schließlich auch gut Java!) wird am englischen Teil wohl nichts vorbeiführen.
Quote from: nointerest on August 15, 2008, 11:23:25 PM
Wenn Du mehr Chance auf Hilfe erreichen willst würde ich sagen mußt Du im englischen Teil des Forums posten (natürlich auf englisch). Ich bin zwar auch dafür dass "so viel wie möglich" auf Deutsch stattfindet - damit User die kein (schlechtes) Englisch können auch hier etwas finden (daher mache ich meine Anfragen auch auf Deutsch) - aber wenns arg drückt oder wenns ein recht kompliziertes Problem ist (nicht jeder kann schließlich auch gut Java!) wird am englischen Teil wohl nichts vorbeiführen.
Danke dir.
Das ist nun eine klare und vorallem freundliche Antwort, bezogen auf das Thema, mit der man arbeiten kann.
Ich werde noch einen Versuch starten und deinen Rat befolgen.
Besten Dank an dich.
...und "sämpliche Bilder" schon gar nicht. Ist das vielleicht afghanistanesisch ;) ;D
Sperre Thread wegen des letzten, enorm wichtigen Postings.