Advanced search  

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Pages: [1] 2 3   Go Down

Author Topic: Empêchez la copie des images Coppermine  (Read 56426 times)

0 Members and 1 Guest are viewing this topic.

Doggy

  • Contributor
  • Coppermine regular visitor
  • ***
  • Offline Offline
  • Posts: 63
Empêchez la copie des images Coppermine
« on: August 29, 2006, 09:30:05 am »

Bonjour, auriez-vous des astuces pour empecher la copie des images coppermines?

Exemple: bloquer le clic droit etc.
« Last Edit: August 29, 2006, 11:02:11 am by Doggy »
Logged

Pascal YAP

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 13833
  • Hello World :-)
    • CPG 1.5.x ExperiMental website
Re: Empecher l'upload des images coppermines
« Reply #1 on: August 29, 2006, 10:33:30 am »

Bonjour Doggy,

Il existe une petite modif OVERLAY by Stramm.
Notez toutefois que le click droit n'est pas annulé simplement parce que beaucoup d'internautes utilisent le click droit pour autre chose que de la copie d'images.
Ce MOD place une image transparente au-dessus de vos images intermédiares et grand format (Overlay)

1/ Copiez le code suivant dans votre fichier theme.php
  ou enregistrez-le sur votre DD

Code: [Select]
function theme_html_picture()
{
    global $CONFIG, $CURRENT_PIC_DATA, $CURRENT_ALBUM_DATA, $USER;
    global $album, $comment_date_fmt, $template_display_media;
    global $lang_display_image_php, $lang_picinfo;

    $pid = $CURRENT_PIC_DATA['pid'];
    $pic_title = '';

    if (!isset($USER['liv']) || !is_array($USER['liv'])) {
        $USER['liv'] = array();
    }
    // Add 1 to hit counter
    if (!USER_IS_ADMIN && !in_array($pid, $USER['liv']) && isset($_COOKIE[$CONFIG['cookie_name'] . '_data'])) {
        add_hit($pid);
        if (count($USER['liv']) > 4) array_shift($USER['liv']);
        array_push($USER['liv'], $pid);
    }

    if($CONFIG['thumb_use']=='ht' && $CURRENT_PIC_DATA['pheight'] > $CONFIG['picture_width'] ){ // The wierd comparision is because only picture_width is stored
      $condition = true;
    }elseif($CONFIG['thumb_use']=='wd' && $CURRENT_PIC_DATA['pwidth'] > $CONFIG['picture_width']){
      $condition = true;
    }elseif($CONFIG['thumb_use']=='any' && max($CURRENT_PIC_DATA['pwidth'], $CURRENT_PIC_DATA['pheight']) > $CONFIG['picture_width']){
      $condition = true;
    }else{
     $condition = false;
    }

    if ($CURRENT_PIC_DATA['title'] != '') {
        $pic_title .= $CURRENT_PIC_DATA['title'] . "\n";
    }
    if ($CURRENT_PIC_DATA['caption'] != '') {
        $pic_title .= $CURRENT_PIC_DATA['caption'] . "\n";
    }
    if ($CURRENT_PIC_DATA['keywords'] != '') {
        $pic_title .= $lang_picinfo['Keywords'] . ": " . $CURRENT_PIC_DATA['keywords'];
    }

    if (!$CURRENT_PIC_DATA['title'] && !$CURRENT_PIC_DATA['caption']) {
        template_extract_block($template_display_media, 'img_desc');
    } else {
        if (!$CURRENT_PIC_DATA['title']) {
            template_extract_block($template_display_media, 'title');
        }
        if (!$CURRENT_PIC_DATA['caption']) {
            template_extract_block($template_display_media, 'caption');
        }
    }

    $CURRENT_PIC_DATA['menu'] = html_picture_menu(); //((USER_ADMIN_MODE && $CURRENT_ALBUM_DATA['category'] == FIRST_USER_CAT + USER_ID) || ($CONFIG['users_can_edit_pics'] && $CURRENT_PIC_DATA['owner_id'] == USER_ID && USER_ID != 0) || GALLERY_ADMIN_MODE) ? html_picture_menu($pid) : '';

    if ($CONFIG['make_intermediate'] && $condition ) {
        $picture_url = get_pic_url($CURRENT_PIC_DATA, 'normal');
    } else {
        $picture_url = get_pic_url($CURRENT_PIC_DATA, 'fullsize');
    }

    $image_size = compute_img_size($CURRENT_PIC_DATA['pwidth'], $CURRENT_PIC_DATA['pheight'], $CONFIG['picture_width']);

    $pic_title = '';
    $mime_content = cpg_get_type($CURRENT_PIC_DATA['filename']);


    if ($mime_content['content']=='movie' || $mime_content['content']=='audio') {

        if ($CURRENT_PIC_DATA['pwidth']==0 || $CURRENT_PIC_DATA['pheight']==0) {
            $CURRENT_PIC_DATA['pwidth']  = 320; // Default width

            // Set default height; if file is a movie
            if ($mime_content['content']=='movie') {
                $CURRENT_PIC_DATA['pheight'] = 240; // Default height
            }
        }

        $ctrl_offset['mov']=15;
        $ctrl_offset['wmv']=45;
        $ctrl_offset['swf']=0;
        $ctrl_offset['rm']=0;
        $ctrl_offset_default=45;
        $ctrl_height = (isset($ctrl_offset[$mime_content['extension']]))?($ctrl_offset[$mime_content['extension']]):$ctrl_offset_default;
        $image_size['whole']='width="'.$CURRENT_PIC_DATA['pwidth'].'" height="'.($CURRENT_PIC_DATA['pheight']+$ctrl_height).'"';
    }

    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&amp;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\" {$image_size['geom']} hehe border=\"0\" alt=\"\" /><br />\n";
            $pic_html .= "</td></tr></table>";
}
    } elseif ($mime_content['content']=='document') {
        $pic_thumb_url = get_pic_url($CURRENT_PIC_DATA,'thumb');
        $pic_html = "<a href=\"{$picture_url}\" target=\"_blank\" class=\"document_link\"><img src=\"".$pic_thumb_url."\" border=\"0\" class=\"image\" /></a>\n<br />";
    } else {
        $autostart = ($CONFIG['media_autostart']) ? ('true'):('false');

        $players['WMP'] = array('id' => 'MediaPlayer',
                                'clsid' => 'classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" ',
                                'codebase' => 'codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" ',
                                'mime' => 'type="application/x-mplayer2" ',
                               );
        $players['RMP'] = array('id' => 'RealPlayer',
                                'clsid' => 'classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" ',
                                'codebase' => '',
                                'mime' => 'type="audio/x-pn-realaudio-plugin" '
                               );
        $players['QT']  = array('id' => 'QuickTime',
                                'clsid' => 'classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" ',
                                'codebase' => 'codebase="http://www.apple.com/qtactivex/qtplugin.cab" ',
                                'mime' => 'type="video/x-quicktime" '
                               );
        $players['SWF'] = array('id' => 'SWFlash',
                                'clsid' => ' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ',
                                'codebase' => 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" ',
                                'mime' => 'type="application/x-shockwave-flash" '
                               );
        $players['UNK'] = array('id' => 'DefaultPlayer',
                                'clsid' => '',
                                'codebase' => '',
                                'mime' => ''
                               );

        if (isset($_COOKIE[$CONFIG['cookie_name'].'_'.$mime_content['extension'].'player'])) {
            $user_player = $_COOKIE[$CONFIG['cookie_name'].'_'.$mime_content['extension'].'player'];
        } else {
            $user_player = $mime_content['player'];
        }

                // There isn't a player selected or user wants client-side control
        if (!$user_player) {
            $user_player = 'UNK';
        }

        $player = $players[$user_player];

        $pic_html  = '<object id="'.$player['id'].'" '.$player['classid'].$player['codebase'].$player['mime'].$image_size['whole'].'>';
        $pic_html .= "<param name=\"autostart\" value=\"$autostart\" /><param name=\"src\" value=\"". $picture_url . "\" />";
        $pic_html .= '<embed '.$image_size['whole'].' src="'. $picture_url . '" autostart="'.$autostart.'" '.$player['mime'].'></embed>';
        $pic_html .= "</object><br />\n";
    }

    $CURRENT_PIC_DATA['html'] = $pic_html;
    $CURRENT_PIC_DATA['header'] = '';
    $CURRENT_PIC_DATA['footer'] = '';

    $CURRENT_PIC_DATA = CPGPluginAPI::filter('file_data',$CURRENT_PIC_DATA);

    $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
}

2/ Copiez cette image transparente qui se placera au-dessus de votre image à "protéger" lors de l'affichage.
Placez-la dans le dossiers Votre_CPG/images
Ainsi si un visiteur veut copier votre image, il copiera cette image transparente de 0ko ;D Mais il fera immédiatement une copie d'écran (print screen)
Ce MOD est une très faible protection. Mais souvenez-vous que si vous publiez des images sur le web, vous offrez de toutes façons la possibilité de les copier, n'est-ce-pas ?  ;)

Il existe d'autres choses que vous trouverez facilement en faisant une recherche avec les mot-clefs "No right Click" ou "Pas de click droit" !

PYAP
« Last Edit: October 21, 2006, 07:03:23 pm by PYAP »
Logged

Doggy

  • Contributor
  • Coppermine regular visitor
  • ***
  • Offline Offline
  • Posts: 63
Re: Empêchez la copie des images Coppermine
« Reply #2 on: August 29, 2006, 10:59:41 am »

Non mais c'est déjà pas mal, si le gars est obligé de faire des imprimes écrans, une photo ça va, mais pas une 100ene, ça va le fatiguer rapidement !

De toute façon il peut toujours uploader carrément le site, mais ça demande déjà plus de connaissance !

Avec un watermarker en plus ça sera fini.


Le code est à copier en dessous de quoi ? et Pour l'image faut la placer où?
Logged

Pascal YAP

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 13833
  • Hello World :-)
    • CPG 1.5.x ExperiMental website
Re: Empêchez la copie des images Coppermine
« Reply #3 on: August 29, 2006, 11:26:52 am »

Quote
Le code est à copier en dessous de quoi ?
Dans votre Theme.php (ou dans tous les theme.php que votre site proposent) juste avant la balise ?>
N'oubliez pas la traditionnelle sauvegarde de vos fichiers fonctionnels  ;)

Quote
Pour l'image faut la placer où?
Comme indiqué dans le premier post, dans le dossier images de votre Coppermine.

PYAP
Logged

Doggy

  • Contributor
  • Coppermine regular visitor
  • ***
  • Offline Offline
  • Posts: 63
Re: Empêchez la copie des images Coppermine
« Reply #4 on: August 29, 2006, 01:07:34 pm »

Impec merci !
Logged

Pascal YAP

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 13833
  • Hello World :-)
    • CPG 1.5.x ExperiMental website
Re: Empêchez la copie des images Coppermine
« Reply #5 on: August 29, 2006, 02:51:17 pm »

Doggy,
Tentez une copie sur cette image et vous allez réussir  ;D


PYAP
Logged

sanlogik

  • Coppermine frequent poster
  • ***
  • Country: 00
  • Offline Offline
  • Posts: 209
Re: Empêchez la copie des images Coppermine
« Reply #6 on: August 29, 2006, 03:18:32 pm »

personnellement j'ai renoncé au watermark et à toute autre mesure de protection...
beaucoup d'emmer.... pour un résultat quoi qu'il arrive très limité  :(
Monsieur-tout-le-monde en fera pas commerce et un vrai pro contournera tout ça facilement, alors autant gagner (beaucoup) de temps et encore plus d'énergie, lol

maintenant plus il y aura de monde qui verra le site et moins l'intéret de copier les images à des fins commerciales sera grand puisque tout le monde y aura accès gratuitement ;)
Logged

Nicool

  • Coppermine newbie
  • Offline Offline
  • Posts: 8
Re: Empêchez la copie des images Coppermine
« Reply #7 on: August 29, 2006, 03:37:06 pm »

Doggy,
Tentez une copie sur cette image et vous allez réussir  ;D


PYAP

Excusez mon intrusion, mais moi aussi je sui a la recherche d'un mod ou plugin, quui empecherait la copie d'image.
Mais a ce que je vois aucun moyen n'est assez securisant....et c'est bien dommage.

@PYAP : Je crois que c'est un peu depasser ca, avec les extensions de firefox on arrive a faire trop de choses, juge par toi meme :
(http://img101.imageshack.us/img101/5161/image2rj9.th.jpg)


EDIT: si cette image te pose un problème, libre a toi de la virer.
[edit by PYAP]Pas de problème. J'avais noté : "vous allez réussir" !  ;D [/edit]
« Last Edit: August 30, 2006, 07:56:30 pm by PYAP »
Logged

François Keller

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 9094
  • aka Frantz
    • Ma galerie
Re: Empêchez la copie des images Coppermine
« Reply #8 on: August 29, 2006, 03:49:58 pm »

@ Pyap: tel est pris qui croyait prendre  ;D ;D ;D
Logged
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog

Doggy

  • Contributor
  • Coppermine regular visitor
  • ***
  • Offline Offline
  • Posts: 63
Re: Empêchez la copie des images Coppermine
« Reply #9 on: August 29, 2006, 03:58:27 pm »

Doggy,
Tentez une copie sur cette image et vous allez réussir  ;D


PYAP

Bah ça dl le fichier overlay. Non c'est bien ce truc, ça protège suffisament, de toute façon la plus simple des solutions après ça, est de dl le ftp, et ça il ne faut pas avoir beaucoup de connaissance pour trouver et on ne peut pas l'empecher, donc c'est sur que ça sert a rien de chercher plus loin.
Logged

webmania

  • Coppermine newbie
  • Offline Offline
  • Posts: 1
Re: Empêchez la copie des images Coppermine
« Reply #10 on: September 14, 2006, 02:32:19 pm »

 ;) Bonjour à tous, je voulais juste dire que (OVERLAY by Stramm)
je l'ai inséré a la fin du fichier (themes.inc.php) situé dans le répertoire INCLUDE
et l'avantage c'est que si l'on change de thème, ca fonctionne...
Logged

Pascal YAP

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 13833
  • Hello World :-)
    • CPG 1.5.x ExperiMental website
Re: Empêchez la copie des images Coppermine
« Reply #11 on: September 14, 2006, 02:44:37 pm »

Bonjour,
Quote
juste dire que (OVERLAY by Stramm)
je l'ai inséré a la fin du fichier (themes.inc.php) situé dans le répertoire INCLUDE
et l'avantage c'est que si l'on change de thème, ca fonctionne...
C'est votre choix, et il fonctionne comme signalé ci-dessus.
Comme signalé aussi,il faut autant que faire ce peut, éviter de toucher à THEME.INC.PHP.
Au moment d'une prochaine mise à jour de Coppermine, vous allez souffrir si vous avez commis de nombreuses modifs du code  ;)

PYAP
Logged

sanlogik

  • Coppermine frequent poster
  • ***
  • Country: 00
  • Offline Offline
  • Posts: 209
Re: Empêchez la copie des images Coppermine
« Reply #12 on: October 21, 2006, 11:42:23 am »

l'image transparente n'est plus disponible j'ai l'impression ;)
Logged

Pascal YAP

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 13833
  • Hello World :-)
    • CPG 1.5.x ExperiMental website
Re: Empêchez la copie des images Coppermine
« Reply #13 on: October 21, 2006, 02:17:29 pm »

Sanlogic,

Quote
l'image transparente n'est plus disponible j'ai l'impression
Quelle est la question ?   ?  ?

PYAP
Logged

sanlogik

  • Coppermine frequent poster
  • ***
  • Country: 00
  • Offline Offline
  • Posts: 209
Re: Empecher l'upload des images coppermines
« Reply #14 on: October 21, 2006, 06:50:14 pm »

oups désolé, c'est vrai que ce n'était pas très clair, lol

2/ Copiez cette image transparente qui se placera au-dessus de votre image à "protéger" lors de l'affichage.
Placez-la dans le dossiers Votre_CPG/images

PYAP

ce lien-ci ne renvoit plus vers rien, donc impossible de se procurer cette fameuse image transparente  ;)
Logged

Pascal YAP

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 13833
  • Hello World :-)
    • CPG 1.5.x ExperiMental website
Re: Empêchez la copie des images Coppermine
« Reply #15 on: October 21, 2006, 07:02:02 pm »

Quote
ce lien-ci ne renvoit plus vers rien,
Exact   :-\
Corrigé  ;D

ICI l'image OVERLAY.GIF nécessaire au MOD/HACK en question...
Corrigé dans le premier post  ;D

PYAP
Logged

the worms

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 25
Re: Empêchez la copie des images Coppermine
« Reply #16 on: November 15, 2006, 05:51:12 pm »

bonjour,

j'ai un petit souci avec une galerie ou l'overlay remplace l'image or que sur les autres ça fonctionne sans problème savez vous d'ou celà peuc venir ?

Merci d'avance pour votre aide ;)
Logged

Pascal YAP

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 13833
  • Hello World :-)
    • CPG 1.5.x ExperiMental website
Re: Empêchez la copie des images Coppermine
« Reply #17 on: November 15, 2006, 05:56:07 pm »

Quote
j'ai un petit souci avec une galerie ou l'overlay remplace l'image or que sur les autres ça fonctionne sans problème savez vous d'ou celà peuc venir ?
D'après tous les renseignements que vous nous donnez, c'est sans doute un problème  ???

PYAP
Logged

the worms

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 25
Logged

the worms

  • Coppermine novice
  • *
  • Offline Offline
  • Posts: 25
Re: Empêchez la copie des images Coppermine
« Reply #19 on: November 15, 2006, 06:03:11 pm »

est-ce suite à l'écriture du fichier ? :

Joh_peintures___(11).jpg
Logged
Pages: [1] 2 3   Go Up
 

Page created in 0.031 seconds with 20 queries.