Instant Image Gallery - 5 minute install
A simple user image attachment gallery that requires a single script upload, 2 template creations, and 1 phrase creation.
Live demo:
http://www.zeewaterforum.org/forums/...s=1&userid=359
Step 1: Upload gallery.php to your forum home directory.
Step 2: Create a new global phrase named "gallery" with the text "Click to view {1}'s image gallery" or something similar.
Step 4: Create a template called "gallery" and past the following code into it:
Code:
<form action="gallery.php" method="post">
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<thead>
<tr>
<td class="tcat" colspan="4">
<if condition="$show['attachquota']">
<a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('attachinfo')"><img id="collapseimg_attachinfo" src="$stylevar[imgdir_button]/collapse_tcat$vbcollapse[collapseimg_attachinfo].gif" alt="$vbphrase[attachment_statistics]" border="0" /></a>
</if>
<phrase 1="$username">$vbphrase[attachments_posted_by_x]</phrase>
</td>
</tr>
</thead>
<if condition="$show['attachquota']">
<tbody id="collapseobj_attachinfo" style="$vbcollapse[collapseobj_attachinfo]">
<tr>
<td class="panelsurround" align="center" colspan="4">
<div class="panel">
<div style="width:$stylevar[formwidth_usercp]" align="$stylevar[left]">
<fieldset class="fieldset">
<legend>$vbphrase[attachment_statistics]</legend>
<table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%">
<tr>
<td><phrase 1="$attachsum" 2="$totalattachments">$vbphrase[currently_using_x_to_store_y_attachments]</phrase></td>
</tr>
<if condition="$show['attachlimit']">
<tr>
<td>
<table style="border:2px groove" cellpadding="0" cellspacing="1" border="0" width="100%">
<tr>
<if condition="$show['currentattachsize']"><td width="$attachsize" style="background-color:red; font-size:10px" title="<phrase 1="$attachsum">$vbphrase[current_attachment_total_x]</phrase>"> </td></if>
<if condition="$show['totalattachsize']"><td width="$totalsize" style="background-color:green; font-size:10px" title="<phrase 1="$attachlimit">$vbphrase[maximum_attachment_storage_x]</phrase>"> </td></if>
</tr>
</table>
</td>
</tr>
</if>
</table>
</fieldset>
</div>
</div>
</td>
</tr>
</tbody>
</if>
<tbody>
<tr align="center">
<td class="thead">$vbphrase[attachment]</td>
<td class="thead">$vbphrase[title]</td>
<if condition="$show['deleteoption']">
<td class="thead">$vbphrase[date]</td>
<td class="thead" style="padding:0px"><input name="allbox" type="checkbox" value="Check All" title="$vbphrase[check_uncheck_all]" onclick="checkall(this.form);" /></td>
<else />
<td class="thead" colspan="2">$vbphrase[date]</td>
</if>
</tr>
<if condition="$show['thumbnails']"><col align="center"></col></if>
$template[gallerybits]
<tr>
<td class="tfoot" colspan="4" align="$stylevar[right]">
<span class="smallfont" style="float:$stylevar[left]">
<if condition="$show['thumbnails']">
<a href="gallery.php?pp=$perpage&page=$pagenumber&userid=$userid"><strong>$vbphrase[hide_thumbnails]</strong></a>
<else />
<a href="gallery.php?pp=$perpage&page=$pagenumber&showthumbs=1&userid=$userid"><strong>$vbphrase[show_thumbnails]</strong></a>
</if>
</span>
<if condition="$show['deleteoption']">
<input type="hidden" name="perpage" value="$perpage" />
<input type="hidden" name="pagenumber" value="$pagenumber" />
<input type="hidden" name="showthumbs" value="$showthumbs" />
<input type="hidden" name="do" value="deleteattachments" />
<input type="hidden" name="userid" value="$userid" />
<input type="submit" class="button" value="$vbphrase[delete_selected]" />
</if>
</td>
</tr>
</tbody>
</table>
</form>
<if condition="$pagenav">
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="margin-top:3px">
<tr valign="top">
<td align="$stylevar[right]">$pagenav</td>
</tr>
</table>
</if>
Step 4: Create a new template called "gallerybits" and paste the following code in it:
Code:
<tr>
<td class="alt2">
<div>
<if condition="$showthumbs">
<a href="attachment.php?$session[sessionurl]attachmentid=$post[attachmentid]" target="attachment"><img src="attachment.php?$session[sessionurl]attachmentid=$post[attachmentid]&stc=1&thumb=1" border="0" /></a>
<else />
<img class="inlineimg" src="$stylevar[imgdir_attach]/$post[attachmentextension].gif" alt="$post[attachmentextension]" /> <a href="attachment.php?$session[sessionurl]attachmentid=$post[attachmentid]" target="attachment">$post[filename]</a>
</if>
</div>
<div class="smallfont">$post[size], <phrase 1="$post[counter]">$vbphrase[x_downloads]</phrase></div>
</td>
<td class="alt1">
<div class="smallfont">
<div><strong>$vbphrase[thread]</strong>: <a href="showthread.php?$session[sessionurl]t=$post[p_threadid]">$post[t_title]</a></div>
<div><strong>$vbphrase[post]</strong>: <a href="showthread.php?$session[sessionurl]p=$post[postid]#post$post[postid]">$post[p_title]</a></div>
</div>
</td>
<td class="alt2">
<if condition="$show['inprogress']">
<em>$vbphrase[in_progress]</em>
<else />
<div class="smallfont">$post[postdate] <if condition="!$show['detailedtime']"><span class="time">$post[posttime]</span></if></div>
</if>
</td>
<if condition="$show['deletebox']">
<td class="alt1" align="center" style="padding:0px"><input type="checkbox" name="deletebox[$post[attachmentid]]" value="yes" /></td>
<else />
<td class="alt1" align="center"> </td>
</if>
</tr>
Step 5: Call the script passing the "userid" variable of the users gallery you wish to view.
Example - I simply added the following code to my postbit template:
Code:
<a href="gallery.php?userid=$post[userid]&pp=10&showthumbs=1" target="new"><img class="inlineimg" src="$stylevar[imgdir_button]/gallery.gif" alt="<phrase 1="$post[username]">$vbphrase[gallery]</phrase>" border="0" /></a>
This allows the user to link to the gallery from anyone's posts. Then I uploaded the image to my button image directory. I've included an image you can use.
This even shows the location in Who's Online with no modifications necessary. Uploading/delete capabilities should be a simple addon, I'm working on it now.
Edit: Completely redone with it's own templates because it didn't like using vB's templates (hard coded URLs).
Edit: Changed template conditional making this 3.0.3 friendly.
Edit: Typo mysteriously appears in source making code fubar. Code revised and reuploaded.
|