forum.coppermine-gallery.net

No Support => Modifications/Add-Ons/Hacks => Mods: Miscellaneous => Topic started by: thejake420 on April 03, 2006, 08:30:49 am

Title: UPGRADED: Cut-and-paste linking codes (HTML, bbCode, bookmark/tag)
Post by: thejake420 on April 03, 2006, 08:30:49 am
Note: See updates further down in this thread, as the scope of this project has changed somewhat, and now incorporates CPMFetch.
---------------

I would like to add a "Add this to your MySpace" (or website, or blog, etc.) I can handle the coding of this part itself, but I'm absolutely lost when it comes to the templating system used in CPG. I dunno if this is in line with the "one question per thread" idea, but it is all associated with one concept... I jst can't find the right places to grab teh appropriate variables, etc. Mods, feel free to break this into a couple of threads if you prefer, though I think that this ought to stay as is due to the fact that so many users would like this functionality. (Which I'll be glad to share once I figure out how to generate the assorted URLs and so forth that I need to finish the code.) It definitely falls under skinning, etc, but it might be big enough of a project to put in a "mods wanted" thread. Either way, I need a little help, and then I can take it from there and work out the rest of the mod.

Here's a pretty relevant (non-CPG) of what I'm trying to do: http://www.bofunk.com/video/991/sexy_runner.html#myspacecode

Note: I'm going to be thinking out loud here so that anybody who wants to assist (or use this) can stay on the same train of thought as me.

Here's what I'm thinking so far... (My site has lots of pics, videos, and flash (and more, but nobody would really want to feature a font on their MySpace/Blog... LOL), so it needs to work across the board, regardless of media type. I mention this only because Pics generate thumbs automatically, whereas videos require a custom thumb, and I'm not sure whether this makes a difference. Most of my vids have custom thumbs, but I need to be able to default to the generic media thumb if the video has no custom thumb associated with it.)

I will need the following URLs in variable form:
1. The Static URL for the page (displayimage.php?pos=-2724)
2. The URL for the associated thumbnail, or if no thumb then the associated generic thumb
3. The direct URL to the video/picture (There's a variation of it mentioned here: http://forum.coppermine-gallery.net/index.php?topic=3082.0)

From there, it seems that I can just write code along the lines of:

1. (code to determine filetype and generate appropriate embed code)
2. If it is a picture, simply use the pic's URL
3. If it is a video, use the same embed code as is on the displayimage.php page already (should be easy enough since the page has already generated it)
4. Since the video, etc. will be in a table on the user's site, the next table row will have a "This came from" nice link pointing to example.com/gallery/displayimage.php?pos=-$MISSINGVARIABLE, and another "View more funny pictures and videos at" link pointing to the main gallery. (The second part can be hardcoded to whatever URLs you desire for your site unless somebody turns it into a "legitimate" mod, in which case you can use variables.)
5. Side thought: It'll need to be in an iframe so that I can use a custom PHP page (which I'll need to write from scratch) to call and show the video. That way, the video is being called from MY site, and I can still block hotlinking via .htaccess.

Any of this make sense? Here's a screenshot of the envisioned finished product, as it would appear on the user's website.blog.MySpace, etc.

http://www.jakesjokes.com/img/examplevideo.jpg

Edit:
To clarify, I specifically need to know how to find (or call) the variables that represent the static URL, the thumbnail URL, and the absolute URL for the image/video.

Edit:
The only reference to a variable that seems like it would work is in line 170 of displayimage.php.
Code: [Select]
    $info[$lang_picinfo['URL']] = '<a href="' . $CONFIG["ecards_more_pic_target"] . (substr($CONFIG["ecards_more_pic_target"], -1) == '/' ? '' : '/') .basename($_SERVER['PHP_SELF']) . "?pos=-$CURRENT_PIC_DATA[pid]" . '" >' . $CONFIG["ecards_more_pic_target"] . (substr($CONFIG["ecards_more_pic_target"], -1) == '/' ? '' : '/') . basename($_SERVER['PHP_SELF']) . "?pos=-$CURRENT_PIC_DATA[pid]" . '</a>';

With the relevant portion being the part below...
Code: [Select]
?pos=-$CURRENT_PIC_DATA[pid]

Am I at least getting into the right neighborhood? Anybody? Gurus? Non-gurus? Santa Claus? I'll accept feedback/help from anybody... ;)

PS - A little off-topic, but I've noticed a distinct lack of activity in this thread from anyond other than me. Is there anybody out there interested in this sort of thing, or doesn't anybody else enjoy getting lots of traffic? ;) Yes, allowing yoru pics and videos to show on other sites uses your bandwidth, but bandwidth is cheap nowadays. I won't promote my host right now (because I wouldn't be able to stop myself from using my affiliate link to do so), but I have thousands and thousands of visitors daily (enough to make a full time living from the site), and don't even come close to using my allotted bandwidth... and I pay less than $50 a month for the whole package (bear in mind that that includes a lot of extras that most people wouldn't need... prices are as low as $7.95 for packages that are actually good and not "barebones" hosting. Of course there are also those who charge less (though I can't vouch for their reliability, so do your research...) Besides, if it is on a small site with little traffic, you won't use much bandwidth. If it's on a large site, it'll use a decent amount of bandwidth, but it will result in more visitors to your site, hence making you back the money to pay for the bandwidth (assuming you have ads, etc.)


Jake
Title: Re: Want to add "Add this to mySpace" snippet
Post by: Joachim Müller on April 04, 2006, 06:23:55 am
A little off-topic, but I've noticed a distinct lack of activity in this thread from anyond other than me. Is there anybody out there interested in this sort of thing, or doesn't anybody else enjoy getting lots of traffic? ;)
You're about to create yet-another-port, which is something we (the coppermine devs) are not particulalry fond of: we've seen them come and go (cpgnuke, cpf for e107, cpg for xoops, pnCPG, cpg for PragmaMx etc.), and the only benefit we had are additional questions of users who used the ports and turned up on this board, asking questions on code we didn't know, asking for updates we didn't have and blaming us for broken stuff that we didn't break. You're free to come up with your port, it's perfectly legal. But please make sure that your users will understand that they can not get support from the coppermine dev team. The author of pnCPG provides support for his modifications in a sub-board of this forum, which is fine. The PragmaMx and Dragonfly people provide support on their own pages and provide their own documentation, that's fine as well.
That's why so far none of the devs posted imo - they probably see little benefit for the coppermine project nor for coppermine users (this is at least the case for me). We're fond of code contributers (givers), but we won't fly to the rescue if someone needs coding help for a port.


I will need the following URLs in variable form:
1. The Static URL for the page (displayimage.php?pos=-2724)
2. The URL for the associated thumbnail, or if no thumb then the associated generic thumb
3. The direct URL to the video/picture
I'm not sure what you're asking though, as you're surely aware that vars are available in special places only. Some vars need to be made global within your custom functions. Search the code for pid, check the following arrays: $CONFIG, $CURRENT_PIC_DATA, $CURRENT_ALBUM_DATA, $USER

Other stuff you might be interessted in: take a look at cpmFetch - this is the most recommended method to get coppermine data from non-coppermine pages.
Title: Re: Want to add "Add this to mySpace" snippet
Post by: thejake420 on April 04, 2006, 06:46:36 am
GauGau: Feel free to move this, if you feel that it is more appropriate in another forum.

However, I'm not making a port. This will be used ONLY for producing cut and paste code so that a user (any user on any site) can simply show my material on any standard HTML page, but without violating my no hotlinking rule in .htaccess. (Since my own php file would call the video.) It is basically the same thing as cut and paste linking code for banners, except that the content in the cut and paste box will change based on whatever item happens to be showing on that page. (Hence the need for the static URLs.) My "offsite.php" page will handle putting everything in a nice iframe, putting the content and linkback in a nice table, etc. Since it is being included, I should be able to use variables used in displayimage.php in offsite.php (I'll do my own research on the PHP part of things re: sharing variables with included pages, etc.)

it's actually a really simple modification and will not require any editing of core code, with the exception of adding an "include offsite.php" statement somewhere in the webmaster's theme.php (which would include whatever code needs copied from sample theme.php since you've made it clear that editing theme.inc.php is not a good option.)

I guess the basic question is this: Specifically, what code do I need to copy from the sample theme.php so that I can include the offsite.php file in a new table directly under the "Add your comment" section on displayimage.php? (I'm OK on the PHP side of things for this project, but I suck at external templates, such as they exist in CPG, especially since not everything is in every template)

In other words:
I want to add a table just like the "Add your comment" part underneath the current "Add your comment" part. How can I acomplish this? (Everything else should fall into place after that, even if I have to figure out some of the more intricate parts by trial and error...)

CPMFetch - Looked through it because I'm all about RSS lately, but it was giving me more trouble than it was worth. ;)

PS - GauGau, you rock when it comes to sheer volume of activity around here... Thanks from me and the many others who have benefitted from your help. ;)


Jake
Title: Re: Want to add "Add this to mySpace" snippet
Post by: Joachim Müller on April 04, 2006, 07:04:49 am
the page offsite.php needs to reside within the coppermine root of the page (in order to keep the includes from breaking, as they use relative paths).
Did you take a look at the arrays I told you to check? Do a print_r($array_name); to see what values exist in it.
Title: Re: Want to add "Add this to mySpace" snippet
Post by: thejake420 on April 04, 2006, 07:24:39 am
(Understood re: location of offsite.php)

Check out the picture (link below) to make sure we're on the same page...

Example of how this would display in CPG:
http://www.jakesjokes.com/img/examplecpgmod.gif

Now I understand that it's entirely up to me to figure out how to make my offsite.php handle the 1234 part.. I'm just trying to figure out how to make the 1234 part appear as the same number as in the Permanent link in the info section. (And yes, I'll be going through the information you supplied.)

I'm doing this for two reasons... One, it just needs done. It would be an excellent addition to my sites (increased traffic), but also to any other site as a mod or if it ever got added to the core code (though it would need an on/off switch in the admin section if it were eventually included in a release, since not everybody would necessarily want it for whatever reason.) Second, I'm not a PHP pro. I'm learning, and doing projects like this (that are challenging, but not too overwhelming) force me to read, read, read, and learn, learn, learn. Six months ago, I couldn't write an if statement without using the PHP site for reference, but I've come a long way. Still not a pro, but definitely learning along the way. I have read a lot in these forums, even in topics that don't really apply to my sites.

I'm not sure what you're asking though, as you're surely aware that vars are available in special places only. Some vars need to be made global within your custom functions. Search the code for pid, check the following arrays: $CONFIG, $CURRENT_PIC_DATA, $CURRENT_ALBUM_DATA, $USER

I was not aware of that. Thank you. I suppose I'll need to call the desired value somehow, then do a bass-ackwards method for turning it into my own simpler variables that I can pass to my own script.

I try to stay away from noob questions and things that you're not responsible for (my PHP skill level, etc.), but when it comes to stuff like figuring out how to display a specific (albeit dynamic) value, sometimes it's better to just ask than to spend a month digging through code. I'm on the right track, but as you (and the other CPG gurus) are obviously more experienced with the inner workings of CPG than I am, I figured I'd ask about a couple of things... Like, I found the part where it displays an static URL in the info section, but decrypting it is a little complicated, since it's not as basic as I would have expected. (There's ecard references, etc., rather than what I expected to be a simple href with a $thispicture at the end...)

Thanks again!


Jake
Title: Re: Want to add "Add this to mySpace" snippet
Post by: Joachim Müller on April 04, 2006, 07:43:55 am
take a look at http://forum.coppermine-gallery.net/index.php?topic=3552.0 and http://forum.coppermine-gallery.net/index.php?topic=3082.0
Title: Re: Want to add "Add this to mySpace" snippet
Post by: thejake420 on April 04, 2006, 07:51:09 am
Perfect. I've actually been through both threads, but as they didn't apply to me (when I saw them), I didn't remember them. (Duh...)

I'll be working on this throughout the week, and I'll let you know when I get it working.


Jake
Title: Re: Want to add "Add this to mySpace" snippet
Post by: thejake420 on May 03, 2006, 05:03:17 am
WARNING: To anyone looking at this as a potential modification that they would like for their site, please note that I've made some VERY UNORTHODOX modifications to CPG so that it would what I need it to do. These modifications aren't recommended for most users, as it involves directly editing /include/themes.inc.php (which is a big "no-no" accoring to the CPG developers) and displayimage.php. At some point, either I (or someone) will likely come up with a better method of doing this. Consider this a "proof of concept" only, and follow along at your own risk. You've been warned. ;)

I'm sharing all the code I've come up with to contribute to the CPG project in some way. (Much of it makes use of CPMFetch anyway)

Update: The script is coming along nicely (with the help of CPMFetch). I've got everything working except one little detail.

Known current issue:
1. The table (as laid out in the code below) with the cut and paste code (which in my version is located directly beneath the picture or video) doesn't look very pretty. That is merely cosmetic, and I simply haven't prettied it up since I'm still working on the whole "getting it to work right" part. This very minor issue will be fixed soon.

2. In displayimage.php, I define the variable $absoluteid to match the pid. This variable works as expected when called from displayimage.php (where it is defined), but not from themes.inc.php. (I don't know how to "properly" add the relevant parts to my custom theme, or I would be doing it there. Assistance is welcome on this issue. I'm pretty sure it's a relatively simple matter relating to variable scope, but I can't quite put my finger on the solution.)

As for the rest, I'm actually pretty far along. My script randomoffsite.php works exactly as expected. Every time the page is refreshed, a new one appears. The offsite.php works as expected, and processes a URL-based query string for the pid.

My mod so far (note warning above before attempting):

Paths:
randomoffsite.php - Root
offsite.php - Root
CPMFetch - site.com/cpmfetch/
Coppermine Gallery - site.com/gallery/

randomoffsite.php
Code: [Select]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>JakesJokes.com Random Media Linker</title>
<?php
require_once 
"./cpmfetch/cpmfetch.php";
$objCpm = new cpm("/gallery");
?>

<style type="text/css">
<!--
.style1 {
font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
}
-->
</style>
</head>

<body>

<table width="125" height="150" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
  <tr>
    <td width="125" height="125"><div align="center">
        <?
$styleguide = array(
"imagestyle" => "test1", "linkstyle" => "test1","imagewidth" => "100","imageheight" => "100",
"alttag" => "File: %t - Album: %a - Courtesy of JakesJokes.com ",
"subtitle" => "%t<br>Popularity: %h");

$objCpm->cpm_viewRandomMediaFrom(1,1,"cat=3",$styleguide);
//$objCpm->cpm_viewLastAddedMediaFrom (1,1, "$source");
//cpm_viewLastAddedMedia (1, 5, [array $options = ""])
?>
    </div></td>
  </tr>
  <tr>
    <td height="25"><?
if ( $type == "video" ) {
    ?>
        <div align="center"><a href="http://www.jakesjokes.com/gallery/" class="style1">More funny videos</a></div>
        <?
} elseif($type == "picture"){
    ?>
        <div align="center"><a href="http://www.jakesjokes.com/gallery/" class="style1">More funny pictures</a></div>
        <?
} else {
    ?>
        <div align="center"><a href="http://www.jakesjokes.com/gallery/" class="style1">More free fun stuff</a></div>
        <?
}
?>
    </td>
  </tr>
</table>
</body>
</html>

offsite.php
Code: [Select]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>JakesJokes.com Specific Media Linker</title>
<?php
require_once 
"./cpmfetch/cpmfetch.php";
$objCpm = new cpm("/gallery");
?>

<style type="text/css">
<!--
.style1 { font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
}
-->
</style>
</head>

<body>

<table width="125" height="150" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
  <tr>
    <td width="125" height="125"><div align="center">
        <?
$styleguide = array(
"imagestyle" => "test1", "linkstyle" => "test1","imagewidth" => "100","imageheight" => "100",
"alttag" => "File: %t - Album: %a - Courtesy of JakesJokes.com ",
"subtitle" => "%t<br>Popularity: %h");

$objCpm->cpm_viewMediaByPid($absoluteid,$styleguide);
//$objCpm->cpm_viewRandomMediaFrom(1,1,"cat=3",$styleguide);
//$objCpm->cpm_viewLastAddedMediaFrom (1,1, "$source");
//cpm_viewLastAddedMedia (1, 5, [array $options = ""])
?>
    </div></td>
  </tr>
  <tr>
    <td height="25"><?
if ( $type == "video" ) {
    ?>
        <div align="center"><a href="http://www.jakesjokes.com/gallery/" class="style1">More funny videos</a></div>
        <?
} elseif($type == "picture"){
    ?>
        <div align="center"><a href="http://www.jakesjokes.com/gallery/" class="style1">More funny pictures</a></div>
        <?
} else {
    ?>
        <div align="center"><a href="http://www.jakesjokes.com/gallery/" class="style1">Free videos<br>and pictures</a></div>
        <?
}
?>
    </td>
  </tr>
</table>
</body>
</html>

Mod to /include/themes.inc.php: (Near line 668)
Code: [Select]
// HTML template for intermediate image display

if (!isset($template_display_media))  //{THEMES}
$absoluteid = "$CURRENT_PIC_DATA[pid]";
$template_display_media = <<<EOT
        <tr>
                <td align="center" class="display_media" nowrap="nowrap">
                        <table cellspacing="2" cellpadding="0" class="imageborder">
                                <tr>
                                        <td align="center">
                                                {IMAGE}
<!-- BEGIN My table with linking will goes here -->
<table width="100%"  border="0" align="center" cellpadding="5" cellspacing="0">
  <tr>
    <td colspan="2"><div align="center"><strong>Link to this on your website or blog!</strong><br>
    </div></td>
  </tr>
  <tr>
    <td colspan="2"><div align="center"></div></td>
  </tr>
  <tr>
    <td width="20%"><strong>Type of site: </strong></td>
    <td><strong>Code</strong></td>
  </tr>
  <tr>
    <td width="20%">Websites:</td>
    <td><textarea name="textarea" cols="50" rows="5">
&lt;iframe SRC=&quot;http://www.jakesjokes.com/offsite.php?item=$absoluteid&quot; TITLE=&quot;JakesJokes.com Media Linking Utility&quot; WIDTH=&quot;135&quot; HEIGHT=&quot;160&quot; FRAMEBORDER=&quot;0&quot; SCROLLING=&quot;no&quot;&gt; </textarea></td>
  </tr>
</table>
<!-- END My table with linking codes goes here -->
                                        </td>
                                </tr>
                        </table>
                </td></tr>
                <tr><td>
                                                <table width="100%" cellspacing="2" cellpadding="0" class="tableb">
                                <tr>
                                        <td align="center">

                                                {ADMIN_MENU}
                                        </td>
                                </tr>
                        </table>

Mod to displayimage.php: (Near line 169)
Code: [Select]
    // Create the absolute URL for display in info
    $info[$lang_picinfo['URL']] = '<a href="' . $CONFIG["ecards_more_pic_target"] . (substr($CONFIG["ecards_more_pic_target"], -1) == '/' ? '' : '/') .basename($_SERVER['PHP_SELF']) . "?pos=-$CURRENT_PIC_DATA[pid]" . '" >' . $CONFIG["ecards_more_pic_target"] . (substr($CONFIG["ecards_more_pic_target"], -1) == '/' ? '' : '/') . basename($_SERVER['PHP_SELF']) . "?pos=-$CURRENT_PIC_DATA[pid]" . '</a>';
    // with subdomains the variable is $_SERVER["SERVER_NAME"] does not return the right value instead of using a new config variable I reused $CONFIG["ecards_more_pic_target"] no trailing slash in the configure
// Jake Mod - Begin add new variable for easy reference to static URL
$itempermalink = "http://www.jakesjokes.com/gallery/displayimage.php?pos=-$CURRENT_PIC_DATA[pid]";
$absoluteid = "$CURRENT_PIC_DATA[pid]";
// Jake Mod - End add new variable for easy reference to static URL

Devs: All personal matters aside, this is a potentially useful addition to most sites. I'll eventually make it work, but I'm not a good enough coder to necessarily do it "right". But please feel free to take some of this code, de-amateur-ify it, and turn it into something a little more stable... If you get rid of my duct-tape solution and do it right, it would make a lot of users very happy.


Jake
Title: Re: Link to this (picture, video, etc.) script
Post by: Stramm on May 05, 2006, 02:00:25 pm
I somehow was to lazy to read the entire thread.. please forgive ;)
But as far as I understood from having a look at some parts you just want to have a link 'click to do something' above the pic in displayimage.php. When clicked it should display copy/past ready bbcode that links to exactly that pic?

If so, then it's pretty easy to do as a plugin

edit to give an example:
http://stramm.st.funpic.org/displayimage.php?album=4&pos=0&theme=classic
instead of the 'add to shopping basket' stuff it'll be a 'show copy/ past bbcode' link. When clicking the site refreshes and shows that stuff above the pic (instead of adding the item to the basket)
Title: Re: Link to this (picture, video, etc.) script
Post by: thejake420 on May 05, 2006, 06:45:50 pm
Almost...

I will put ready HTML and BB code on the page, except I cannot get the absolute pid to appear when I call it from another file (ie - themes.inc.php)

I want to be able to reflect "displayimage.php?pos=-8774" not "displayimage.php?album=12&pos=45", anywhere on the page. I tried making pid a new variable, and it works, except I can't use it in themes.inc.php or any other file except displayimage.php (variable scope?)

There is an old BB code mod, but it is for 1.3

Any help is MUCH appreciated. :)


Jake
Title: Re: Link to this (picture, video, etc.) script
Post by: Stramm on May 05, 2006, 07:10:50 pm
There are a lot of possibilities. Everything depends on where on displayimage you want that link to show up.

eg. http://forum.coppermine-gallery.net/index.php?topic=28446.msg131612#msg131612
explains the basic way of passing data to the template (in that example $template_img_navbar -> above the pic, works similar for the other parts).


example for thumbnail view
http://forum.coppermine-gallery.net/index.php?topic=27654.msg127823#msg127823
Title: Re: Link to this (picture, video, etc.) script
Post by: Stramm on May 06, 2006, 09:45:41 am
to show you how it works the plugin way (my fav as said, cause you won't have to change any core code but it still would work for all themes)

It's pretty much finished, have a look. Above the intermediate is the link you wanted to have. If you click it, the page refreshes and shows instead of the link the pid (absolute id). Just pop up the heredoc with whatever additional info you need
Title: Re: Link to this (picture, video, etc.) script
Post by: Stramm on May 06, 2006, 10:04:53 am
or without the need to reload displayimage

Code: [Select]

<?php
if (!defined('IN_COPPERMINE')) die('Not in Coppermine...');

// Add a filter
$thisplugin->add_filter('file_data','bbcode_add_data');


function 
bbcode_add_data($pic_data){
global $CONFIG;

    
$info '<a href=' $CONFIG["ecards_more_pic_target"] . basename($_SERVER['PHP_SELF']) . "?pos=-{$CURRENT_PIC_DATA[pid]}' >' $CONFIG["ecards_more_pic_target"] . basename($_SERVER['PHP_SELF']) . "?pos=-{$CURRENT_PIC_DATA[pid]}'</a>';

$display_data =  <<<EOT
<table align="center">
<tr>
<td>
<a href="javascript:;" onclick="blocking('bbcode','yes', 'block');return false;" title="show more">Show copy/ paste bbcode</a><br>
<div id="bbcode" style="display: none;">
<br />
<textarea cols="60" rows="1">
{$info}</textarea>
</div>
</td>
</tr>
</table>
EOT;


$pic_data['html'] = $display_data.$pic_data['html'];
return $pic_data;
}
?>
Title: Re: Link to this (picture, video, etc.) script
Post by: thejake420 on May 06, 2006, 09:44:40 pm
Stramm,

You're my HERO!!!! :)

That is exactly what I needed to get me on the right track. I'll edit the codebase as needed per my requirements, but it functions perfectly. Thank you! Everything from here on out is going to be my own, but most of it is already coded and working properly. I'll share whatever I come up with for a future plugin.

PS - In case you were wondering why I'm so worried about this seemingly minor project... Aside from the obvious benefit of getting more inbound links, we also benefit from doing it "in this format" because doing this as a plugin (or mod) versus simply making the picture's actual URL (gallery/albums/.../picture.jpg) available is that we'll be able to still maintain a no-hotlinking policy via .htaccess, since the files will be called from my offsite.php script, which htaccess will allow, seeing as it's on my own server. I want to allow people to link to me, but I'm a little picky about hotlinking, considering I have videos etc. I know I can do it via htaccess per filetype, but this bypasses everything and allows them to link "the way I want them to link".


Jake
Title: Re: Link to this (picture, video, etc.) script
Post by: thejake420 on May 07, 2006, 12:49:28 am
Ok, I've got it up and running. I'd still like to go further with some advanced functionality, but it's good enough for mainstream use at the moment. (Taking the appropriate disclaimers into consideration, of course... This is NOT an official mod or plugin! It's just an idea I'm working on that I thought I'd share, since it's really useful.)

Working Demo:
http://www.jakesjokes.com/gallery/displayimage.php?pos=-175

Here's what I've got so far, including some modified version of the codebase from the plugin you attached earlier in this thread. (Note that the URLs in my modified codebase are "for my site". I'm sure there's a way to add the server information dynamically, but I don't know it offhand. For the time being, anyone can simply change the jakesjokes.com references to theirsite.com, etc.


Modified codebase:
Code: [Select]
<?php
if (!defined('IN_COPPERMINE')) die('Not in Coppermine...');
include (
"http://www.jakesjokes.com/gallery/include/functions.inc.php");
// Create the BBcode with link to thumbnail 
$bbcodethumb_url get_pic_url($CURRENT_PIC_DATA'thumb');
// Add a filter
$thisplugin->add_filter('file_data','bbcode_add_data');


function 
bbcode_add_data($pic_data){

$event = isset($_GET['event']) ? $_GET['event'] : null;
switch ($event) {
    
case 'show_bbcode':
$display_data =  <<<EOT
<table>
<tr>
<td>
<strong>Permanent URL:</strong><br><textarea name="textarea" cols="50" rows="2">http://www.jakesjokes.com/gallery/displayimage.php?pos=-
{$pic_data['pid']}</textarea><br>
<br>
<strong>HTML Linking code:</strong> (With Thumbnail)<br><textarea name="textarea" cols="50" rows="6">
&lt;iframe SRC=&quot;http://www.jakesjokes.com/specificoffsite.php?item=
{$pic_data['pid']}&quot; TITLE=&quot;Free funny jokes, videos, and pictures at JakesJokes.com&quot; WIDTH=&quot;135&quot; HEIGHT=&quot;160&quot; FRAMEBORDER=&quot;0&quot; SCROLLING=&quot;no&quot;&gt;&lt;/iframe&gt;</textarea>
<br>
<strong>HTML Linking code:</strong> (Without Thumbnail)<br><em>Tip</em> - You can edit &quot;Funny video or picture&quot; to say whatever you want)<br><textarea name="textarea" cols="50" rows="5">
&lt;a href=&quot;http://www.jakesjokes.com/gallery/displayimage.php?pos=-
{$pic_data['pid']}&quot; title=&quot;Free funny jokes, videos, and pictures at JakesJokes.com&quot; target=&quot;_blank&quot;&gt;Funny video or picture&lt;/a&gt;</textarea>

<br>

<strong>Forum bbCode:</strong><br><em>Tip</em> - You can edit &quot;Funny video or picture&quot; to say whatever you want)<br><textarea name="textarea" cols="50" rows="2">
[url=http://www.jakesjokes.com/gallery/displayimage.php?pos=-
{$pic_data['pid']}]Funny video or picture[/url]</textarea>
</td>
</tr>
</table>
EOT;
break;

default : 
$referer = ($_SERVER['PHP_SELF'] . (isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING'] ? '?' $_SERVER['QUERY_STRING'] : ''));
$display_data =  <<<EOT
<table>
<tr>
<td>
<a href="
{$referer}&event=show_bbcode"><h2><font color="blue"><u>Link to this!</u></font></h2></a>
</td>
</tr>
</table>
EOT;
break;
}
$pic_data['html'] = $display_data.$pic_data['html'];
return $pic_data;
}
?>


--------------------

Demo of specificoffsite.php output as it would appear on visitor's site. (Modify table layout as desired.)
http://www.jakesjokes.com/specificoffsite.php?item=3668

specificoffsite.php (Located in site root, not gallery root... modify paths as needed)
Code: [Select]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Link to specific funny media - JakesJokes.com</title>
<?php
require_once 
"./cpmfetch/cpmfetch.php";
$objCpm = new cpm("/gallery");
?>

<style type="text/css">
<!--
.style1 { font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
}
-->
</style>
</head>

<body>

<table width="125" height="150" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
  <tr>
    <td width="125" height="125"><div align="center">
        <?
$absoluteid = $item;
$styleguide = array(
"imagestyle" => "test1", "linkstyle" => "test1","imagewidth" => "100","imageheight" => "100",
"alttag" => "File: %t - Album: %a - Courtesy of JakesJokes.com ",
"subtitle" => "%t<br>Popularity: %h");

$objCpm->cpm_viewMediaByPid($absoluteid,$styleguide);
//$objCpm->cpm_viewRandomMediaFrom(1,1,"cat=3",$styleguide);
//$objCpm->cpm_viewLastAddedMediaFrom (1,1, "$source");
//cpm_viewLastAddedMedia (1, 5, [array $options = ""])
?>
    </div></td>
  </tr>
  <tr>
    <td height="25"><?
if ( $type == "video" ) {
    ?>
        <div align="center"><a href="http://www.jakesjokes.com/gallery/" class="style1">More funny videos</a></div>
        <?
} elseif($type == "picture"){
    ?>
        <div align="center"><a href="http://www.jakesjokes.com/gallery/" class="style1">More funny pictures</a></div>
        <?
} else {
    ?>
        <div align="center"><a href="http://www.jakesjokes.com/gallery/" class="style1">Free videos<br>and pictures</a></div>
        <?
}
?>
    </td>
  </tr>
</table>
</body>
</html>

Everything else doesn't require a demo.

1. The absolute URL to the media page is simply "listed", for advanced visitors who want to make their own links.
2. The HTML version WITH a thumbnail makes use of CPMFetch, and assumes that CPMFetch is installed at site.com/cpmfetch/, and that the Coppermine gallery is installed at site.com/gallery/ ---- Modify path in the require_once statement (near line 7) of specificoffsite.php and also the line after that as needed for your own configuration.
3. The HTML version WITHOUT a thumbnail is basically just a regular HTML (a href) link. Obviously, some of the text will need modified (if you don't have "Funny pictures", you'll want to change all references to that, etc.)
4. The bbCode is basically just a plain bbCode-formatted text link, nothing fancy, not even a thumbnail.


--------------
Help Needed / To Do List:

1. I need a way to call the actual thumbnail URL directly, but not via CPMFetch since that method won't work for bbCode versions. (ie - I can't make bbCode that will display an iframe, etc.) For example, I'd like to include a version with the appropriate thumbnail as a clickable image, but I don't know how to get the URL for it yet. I know, it's in this forum somewhere. I'll find it eventually, but if anybody knows the answer and wants to provide it, it would be most welcome.

2. I need a way to call the title of the media (ie - "Three funny chickens on the roof") from the database with a variable, so that I can include that information as clickable anchor text in some of the link codes.

3. I need a way to call the intermediate (and full size) image URLs directly. Why? Well, EVENTUALLY... I'd like to build an option to allow "indirect hotlinking" (via a php page on my server, shown on their site in an iframe, similar in concept to specificoffsite.php) where they can actually have a video play "on their site"... But only, of course, if they use my linking code (My .htaccess will then be set up to block "direct" hotlinking). Ths way, I can let them "indirectly" hotlink the video, but I can force a link to my site to appear under it. (Basically trading free bandwidth for the videos, etc. in exchange for a link back to my site. I know - there are some technical issues to deal with on this one, but it's on the wishlist...)

More to come as I get more comfortable editing this stuff...


Jake
Title: Re: Working: Cut-and-paste linking codes (HTML and bbCode)
Post by: Stramm on May 07, 2006, 09:03:09 am
the URL to the gallery is defined in
$CONFIG['ecards_more_pic_target']

the way how to get the thumb url within that plugin
$thumb_url = get_pic_url($pic_data, 'thumb');
the same for normal and full
$fullsized_url = get_pic_url($pic_data);
$normal_url = get_pic_url($pic_data, 'normal');

within the plugin title and caption are defined in
    $pic_data['title']
    $pic_data['caption']

That's bsically all you need???

And thanks for sharing ;)
Title: Re: Working: Cut-and-paste linking codes (HTML and bbCode)
Post by: thejake420 on May 07, 2006, 06:26:12 pm
Awesome. I'll look into that and let you know how things work out.


Jake
Title: Re: Working: Cut-and-paste linking codes (HTML and bbCode)
Post by: thejake420 on May 07, 2006, 09:52:10 pm
I added those lines, but when I place a variable, it comes up blank (ie - nothing there)

Code: [Select]
if (!defined('IN_COPPERMINE')) die('Not in Coppermine...');
include ("http://www.jakesjokes.com/gallery/include/functions.inc.php");
// Create the BBcode with link to thumbnail
$bbcodethumb_url = get_pic_url($CURRENT_PIC_DATA, 'thumb');
$thumb_url = get_pic_url($pic_data, 'thumb');
$fullsized_url = get_pic_url($pic_data);
$normal_url = get_pic_url($pic_data, 'normal');
// Add a filter
$thisplugin->add_filter('file_data','bbcode_add_data');

Example: I call $thumb_url anywhere where text appears, but get nothing, as if it doesn't exist. I'm obviously missing something here... Do they get added directly to codebase.php as I've done, or somewhere else?


Jake
Title: Re: Working: Cut-and-paste linking codes (HTML and bbCode)
Post by: Stramm on May 08, 2006, 01:01:40 am
Code: [Select]
<?php
if (!defined('IN_COPPERMINE')) die('Not in Coppermine...');

// Add a filter
$thisplugin->add_filter('file_data','bbcode_add_data');


function 
bbcode_add_data($pic_data){ //$pic_data

$thumb_url get_pic_url($pic_data'thumb');
$fullsized_url get_pic_url($pic_data);
$normal_url get_pic_url($pic_data'normal');

$pic_data['html'] = $thumb_url.'<br>'.$fullsized_url.'<br>'.$normal_url.'<br>'.$pic_data['html']; 
return $pic_data//return $pic_data
}
?>


Title: Re: Working: Cut-and-paste linking codes (HTML and bbCode)
Post by: thejake420 on May 08, 2006, 01:17:37 am
Have I mentioned that you're my hero?  ;D

I had to move things around a little bit because I was getting some errors (identical function name used twice, etc.), but through a little trial and error it came out working perfectly.

Live demo, pulled from my CPG (version 1.4.5) via cut and paste bbCode method
(http://www.jakesjokes.com/gallery/albums/userpics/10001/thumb_computer_addiction.jpg)
Computer addict (http://www.jakesjokes.com/gallery/displayimage.php?pos=-8735)

Given the information I now have, I should be able to come up with everything else needed to make this a more useful mod, including (hopefully) a link code generator. You know, click the radio button for HTML or bbcode, then select with or without a thuimbnail, etc. Click "Create code" and the appropriate code will be generated. Obviously, that is outside of the scope of this original project, but I'll release it once I finish it and get it prettied up a bit.

1. DONE - Just the absolute URL (plain)
2. DONE - Premade HTML link
3. DONE - Premade HTML with thumb (currently uses CPMFetch, this may change to make this a standalone plugin)
4. DONE - bbCode with thumbnail, no text
5. DONE - bbCode with thumbnail and text link (anchor = the title of the image)
6. DONE - bbcode text link (anchor = title of the image)
7. MySpace code (I don't know squat about MySpace, so this one might be a while if they use some oddball proprietary scripting / templating / whatever method)
8. EASY TO DO - Blogger, Xanga, LiveJournal, etc. code (should be basic HTML, but I'll check to see if it's different)
9. Several other minor bells and whistles, as I think of them...
10. Eventually another offsite.php type page that plays a video with the appropriate player. Need to figure out how to determine the file type, and then an overly complex if/elseif/else statement to display the appropriate player with the video embedded.

Jake
Title: Re: Working: Cut-and-paste linking codes (HTML and bbCode)
Post by: thejake420 on May 08, 2006, 03:56:15 am
Here's the working version of codebase.php, with the following features:

1. Just the absolute URL (plain)
2. HTML title link, no thumb
3. HTML with thumb and title link (CPMFetch version... It is commented out, but it works perfectly if you want it)
4. HTML with thumb and title link (standalone version)
5. bbCode with thumbnail, no text
6. bbCode with thumbnail and title link
7. bbcode title link, no thumb (title is the anchor text)

Tip to non-gurus: Remember that if you add a comment inside of function bbcode_add_data($pic_data), you need to use this method
Code: [Select]
<!-- comment -->because the typical PHP comment such as
Code: [Select]
// commentwill still display as text and not an invisible comment.

Code: [Select]
<?php
if (!defined('IN_COPPERMINE')) die('Not in Coppermine...');
include (
"http://www.jakesjokes.com/gallery/include/functions.inc.php");
// Create the BBcode with link to thumbnail 
$bbcodethumb_url get_pic_url($CURRENT_PIC_DATA'thumb');

// Add a filter
$thisplugin->add_filter('file_data','bbcode_add_data');
function 
bbcode_add_moredata($pic_data){ //$pic_data

$thumb_url get_pic_url($pic_data'thumb');
$fullsized_url get_pic_url($pic_data);
$normal_url get_pic_url($pic_data'normal');

$pic_data['html'] = $thumb_url.'<br>'.$fullsized_url.'<br>'.$normal_url.'<br>'.$pic_data['html']; 
return $pic_data//return $pic_data
}


function 
bbcode_add_data($pic_data){

$event = isset($_GET['event']) ? $_GET['event'] : null;
switch ($event) {
    
case 'show_bbcode':
//Define Thumbnail image URL, as called from gallery (ie - albums/10001/thumb_picture.jpg)
$thumb_url get_pic_url($pic_data'thumb');
//Define Fullsized image URL, as called from gallery (ie - albums/10001/thumb_picture.jpg)
$fullsized_url get_pic_url($pic_data);
//Define Intermediate image URL, as called from gallery (ie - albums/10001/thumb_picture.jpg)
$normal_url get_pic_url($pic_data'normal'); $display_data =  <<<EOT
<table>
<tr>
<td>
<!-- Generate code for absolute URL of intermediate pictures page (ie - displayimage.php?pos=-1234) -->
<strong>Permanent URL:</strong><br><textarea name="textarea" cols="50" rows="2">
http://www.jakesjokes.com/gallery/displayimage.php?pos=-
{$pic_data['pid']}</textarea>
<br>
<!-- Generate HTML code linking thumbnail to intermediate picture page (ie - displayimage.php?pos=-1234) -->
<!-- This version currently requires CPMFetch - See below for stand alone version -->
<!-- BEGIN commenting out CPMFetch version
<strong>HTML Linking code:</strong> (With Thumbnail)<br><textarea name="textarea" cols="50" rows="6">
&lt;iframe SRC=&quot;http://www.jakesjokes.com/specificoffsite.php?item=
{$pic_data['pid']}&quot; TITLE=&quot;Free funny jokes, videos, and pictures at JakesJokes.com&quot; WIDTH=&quot;135&quot; HEIGHT=&quot;160&quot; FRAMEBORDER=&quot;0&quot; SCROLLING=&quot;no&quot;&gt;&lt;/iframe&gt;</textarea>
<br>
END editing out CPMFetch version -->
<!-- Generate HTML code linking thumbnail to intermediate picture page (ie - displayimage.php?pos=-1234) -->
<!-- This version DOES NOT require CPMFetch -->
<strong>HTML Linking code:</strong> (With Thumbnail)<br><textarea name="textarea" cols="50" rows="8">
&lt;a href=&quot;http://www.jakesjokes.com/gallery/displayimage.php?pos=-
{$pic_data['pid']}&quot; TITLE=&quot;Free funny jokes, videos, and pictures at JakesJokes.com&quot;&gt;&lt;img src=&quot;http://www.jakesjokes.com/gallery/{$thumb_url}&quot; WIDTH=&quot;100&quot; HEIGHT=&quot;100&quot;&gt;&lt;br&gt;{$pic_data['title']}&lt;/a&gt;
</textarea>
<br>
<!-- Generate HTML code linking text to intermediate picture page (ie - displayimage.php?pos=-1234) -->
<strong>HTML Linking code:</strong> (Without Thumbnail)<br><em>Tip</em> - You can edit &quot;Funny video or picture&quot; to say whatever you want)<br><textarea name="textarea" cols="50" rows="5">
&lt;a href=&quot;http://www.jakesjokes.com/gallery/displayimage.php?pos=-
{$pic_data['pid']}&quot; title=&quot;Free funny jokes, videos, and pictures at JakesJokes.com&quot; target=&quot;_blank&quot;&gt;Funny video or picture&lt;/a&gt;</textarea>
<br>
<strong>Forum bbCode:</strong> (Thumb and title)<br><textarea name="textarea" cols="50" rows="6">
[url=http://www.jakesjokes.com/gallery/displayimage.php?pos=-
{$pic_data['pid']}][img]http://www.jakesjokes.com/gallery/{$thumb_url}[/img]
{$pic_data['title']}[/url]
</textarea>
<br>
<strong>Forum bbCode:</strong> (Thumb only)<br><textarea name="textarea" cols="50" rows="4">
[url=http://www.jakesjokes.com/gallery/displayimage.php?pos=-
{$pic_data['pid']}][img]http://www.jakesjokes.com/gallery/{$thumb_url}[/img][/url]</textarea>
<br>
<strong>Forum bbCode:</strong> (Title text only)<br><textarea name="textarea" cols="50" rows="2">
[url=http://www.jakesjokes.com/gallery/displayimage.php?pos=-
{$pic_data['pid']}]{$pic_data['title']}[/url]</textarea>
</td>
</tr>
</table>
EOT;
break;

default : 
$referer = ($_SERVER['PHP_SELF'] . (isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING'] ? '?' $_SERVER['QUERY_STRING'] : ''));
$display_data =  <<<EOT
<table>
<tr>
<td>
<a href="
{$referer}&event=show_bbcode"><h2><font color="blue"><u>Link to this!</u></font></h2></a>
</td>
</tr>
</table>
EOT;
break;
}
$pic_data['html'] = $display_data.$pic_data['html'];
return $pic_data;
}
?>


Title: Re: UPGRADED: Cut-and-paste linking codes (HTML, bbCode, bookmark/tag)
Post by: thejake420 on May 12, 2006, 05:11:41 am
Ok, I've done a huge upgrade to the script, and it is now ready for (almost) any site.

Live demo:
http://www.jakesjokes.com/gallery/displayimage.php?pos=-8734

Image example:
(http://www.jakesjokes.com/img/mod_example.gif)


Due to the fact that, despite the help I've been given, I'm still not confident working with $SERVER and so forth to identify a server dynamically, I've coded a little bit of this with my own variables. As such, you'll need to make some extremely minor edits (type in your gallery URL, etc.) in the clearly marked section shown below
Code: [Select]
// ------------------
// BEGIN USER EDIT
// ------------------

You'll also need to upload a folder containing the graphics (the buttons, see attached file) used with this mod. The attached ZIP file contains a folder containing everything you need. Upload the ENTIRE contents of the ZIP file (the folder called "tags" and everything inside of it) to yoursite.com/gallery/plugins/(upload_here)

Note: The bookmark and tag buttons (should) work without any edits except for the variables (see "BEGIN USER EDIT" comments above), but the HTML and bbCode linking codes still require editing hardcoded URLs.

See the included readme for more detailed instructions.

EDIT: The attached ZIP file has been updated to version 1.0.1 (at 3:39 AM EST, Friday May 12, 2006) to fix a minor syntax issue in the "Thumb and title" version of the bbCode (it was formatted incorrectly, and didn't work properly in forums). 2 people downloaded the file before it was updated... Please redownload this version.


Jake
Title: Re: UPGRADED: Cut-and-paste linking codes (HTML, bbCode, bookmark/tag)
Post by: Bullmax on May 18, 2006, 02:48:37 am
Just downloaded and will install.
Exactly what I was looking for.  Hope all works out and will report when done.

Thanks for making this plugin!
Title: Re: UPGRADED: Cut-and-paste linking codes (HTML, bbCode, bookmark/tag)
Post by: Joachim Müller on May 18, 2006, 05:55:14 am
Glad you like it. However, it's not a plugin, but a mod. A plugin makes use of coppermine's plugin API that was introduced in cpg1.4.0. A Mod requires hacking the code instead.
Title: Re: UPGRADED: Cut-and-paste linking codes (HTML, bbCode, bookmark/tag)
Post by: thejake420 on May 18, 2006, 06:07:02 am
A plugin makes use of coppermine's plugin API that was introduced in cpg1.4.0. A Mod requires hacking the code instead.
Good point. The next version, however, will be completely plug and play (ie - no modification required by the user at all). The only thing needed to get to that step is that I need to use $SERVER(etc) instead of harcoding URLs. (I'm sure there are a million pages on that issue, so I'll definitely get to it when I have the time.)


Jake
Title: Re: UPGRADED: Cut-and-paste linking codes (HTML, bbCode, bookmark/tag)
Post by: thejake420 on May 23, 2006, 11:39:01 pm
How do I set the path? (ie - site.com/gallery/displayimage.php)
Currently, I'm using
Code: [Select]
$url = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["DOCUMENT_ROOT"] . $_SERVER["PHP_SELF"] . "?pos=-{$pic_data['pid']}";

But that's giving me a server path instead of a folder...
Code: [Select]
http://www.jakesjokes.com/home/vcdhelp2/public_html/jokesdisplayimage.php?pos=-9527

Obviously, the "home/vcdhelp2/public_html/jokes" should be replaced with the location of the gallery relative to the site's root directory, not the server's root... and I can't hardcode it to "gallery/" because not everybody has it set up there.
Title: Re: UPGRADED: Cut-and-paste linking codes (HTML, bbCode, bookmark/tag)
Post by: Tranz on May 24, 2006, 04:53:26 am
You can use:
$CONFIG["ecards_more_pic_target"]
Title: Re: Working: Cut-and-paste linking codes (HTML and bbCode)
Post by: Stramm on May 24, 2006, 07:43:17 am
the URL to the gallery is defined in
$CONFIG['ecards_more_pic_target']

 ;)
Title: Re: UPGRADED: Cut-and-paste linking codes (HTML, bbCode, bookmark/tag)
Post by: thejake420 on May 24, 2006, 09:57:39 am
I know, but it wasn't working exactly as I wanted for my specific needs. I ended up with a PHP workaround.

Code: [Select]
// Automatically grab and encode the absolute URL
$url = "http://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}";
$url = preg_replace('/\?(.*)/','',$url);
$url = urlencode($url);

It looks a little bass-ackwards, but it works wonderfully.

PS - I've gotten so into this mod that I actually abandoned it in favor of a completely new version (which is finished and tested... just adding some comments, etc.) I put so much into it that actually developed a whole new website for the sole purppose of handling the backend of this new (and well-coded this time) plugin.

When I get into something, I get into something. ;)


Jake
Title: Re: UPGRADED: Cut-and-paste linking codes (HTML, bbCode, bookmark/tag)
Post by: thejake420 on May 24, 2006, 11:30:09 am
This modification has been abandoned (at least by me) in favor of a better coded, more useful, true "plug and play" plugin I've created.

Here is the thread for the new plugin. (http://forum.coppermine-gallery.net/index.php?topic=31833.0)


Jake
Title: Re: UPGRADED: Cut-and-paste linking codes (HTML, bbCode, bookmark/tag)
Post by: Bullmax on February 02, 2007, 09:47:08 pm
I have a question that might sound dumb.

If someone uploads a video clip, is there a way to have the bbcode change to  (http://) in place of the image tags?  Something like an esle if.
Title: Re: UPGRADED: Cut-and-paste linking codes (HTML, bbCode, bookmark/tag)
Post by: nasirmulani on February 18, 2007, 07:43:13 am
the bbcode that this plugin generates, uses a direct link ie. it links to jpg file directly.

i am loking for some thing like the various photo hosting sites do. they have link to a .html file and not the pic directly. which in turn displays the thumbnail and links the site.

i dont want any direct link to any of my pictures.

thejake420  you can help you see to be the guru. plz look in to this

thanks