Go Back   vb.org Archive > vBulletin Modifications > vBulletin 4.x Modifications > vBulletin 4.x Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Photopost Pro Random Image Widget Details »»
Photopost Pro Random Image Widget
Version: 1.00, by ZippySLC ZippySLC is offline
Developer Last Online: Nov 2010 Show Printable Version Email this Page

Category: vBulletin CMS Widgets - Version: 4.0.1 Rating:
Released: 01-30-2010 Last Update: Never Installs: 45
Re-useable Code Translations  
No support by the author.

Hey all,

One of the things that I missed from my transition from Drupal to vBCMS was my Photopost random image block. It's one of the features that my visitors seem to really like as well. After some trial and error, I managed to create a working vBCMS widget that utilizes the "Random Image Anywhere" code submitted by Garrynz on the Photopost site.

Now, I will say that I am not a huge fan of the way that Garrynz's code works (variables are defined in the code rather than looking at the config files), but it's a quick and dirty way to get this work. In no way are your database details visible to anybody, so don't worry - it's more of an aesthetic thing than a security thing.

Anyway, to utilize this widget, follow these steps:

1. Go into your AdminCP, vBulletin CMS, Widgets, and click on "Add New Widget"
2. Create a new widget of type "PHP Direct Execution" and name it what you want. This name gets used in the header of the widget. I chose "Random Image."
3. Paste the following code in, making changes for your specific environment:

PHP Code:
$host  'database_server'
$dbUser 'database_user';   
$dbPass 'database_password'
$db 'database_name'
mysql_connect("$host""$dbUser""$dbPass") or die(mysql_error());
mysql_select_db("$db") or die(mysql_error());

ob_start();

$result mysql_query("SELECT id,cat,bigimage FROM pp_photos order by rand() LIMIT 1" ) or die(mysql_error());   
while(
$row mysql_fetch_array$result )) {    
print 
"<div align=\"center\"><a href=\"photos/showphoto.php/photo/" $row['id'] . "\"><img src=\"photos/data/" $row['cat'] . "/thumbs/" .  $row['bigimage'] . "\"></a><br /><a href=\"/gallery\">See more photos in the Gallery</a></div>";
}

$output .= ob_get_contents();
ob_end_clean(); 
Important Notes:
  • Make sure you make the widget be a "PHP Direct Execution" widget! If you don't, none of this will work!
  • Make sure you enter your database information correctly! Check your photopost config files if you've forgotten it. The correct syntax for the entries should be something like this:
    $host = 'localhost'; (with the entry in apostrophes and a semi-colon at the end)
  • If your Photopost tables don't have the pp_ prefix, you'll need to alter the code to reflect your prefix.
  • Make sure the URL to your gallery is set correctly after the print statement. In my case, since my gallery runs in a subdomain, my own print statement looks something like this:
    PHP Code:
    print "<div align=\"center\"><a href=\"http://gallery.njpinebarrens.com/showphoto.php/photo/" $row['id'] . "\"><img src=\"http://gallery.njpinebarrens.com/data/" $row['cat'] . "/thumbs/" .  $row['bigimage'] . "\"></a><br /><a href=\"/gallery\">See more photos in the Gallery</div>"
  • The output is wrapped in a div that's centered. Feel free to change that to your liking.
  • Again, this will not run out of the box without some customization on your part! But I hope it's fairly straightforward to understand.
  • SEO vs Non-SEO Friendly URL's:
    Photopost lets you use "Spider-Friendly URL's." There's three different options, spider, SEO, and none. I personally use spider on my Photopost site and the code I have above works fine. If you have your URL's set to "none" you'll need to use slightly different code. In that case, use this alternate print statement. (Replace the one in the code above with this, and obviously adjust the paths to match your specific install.)
    PHP Code:
    print "<a href=\"/photopost/showphoto.php?photo=" $row['id'] . "&cat=" $row['cat'] . "\"><img src=\"/photos/data/" $row['cat'] . "/thumbs/" $row['bigimage'] . "\" border=\"0\"></a>"

You can see this widget in action on my site, http://www.njpinebarrens.com

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
Благодарность от:
andro140

Comments
  #62  
Old 03-11-2010, 04:47 PM
phkk phkk is offline
 
Join Date: Feb 2006
Posts: 102
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

how can i let the output appear on new winprint "<div align=\"center\"><a href=\"photos/showphoto.php/photo/" . $row['id'] . "\"><img src=\"photos/data/" . $row['cat'] . "/thumbs/" . $row['bigimage'] . "\"></a><br /><a href=\"/gallery\">See more photos in the Gallery</a></div>"; dows, new frame.
Reply With Quote
  #63  
Old 03-12-2010, 12:45 AM
ZGeek ZGeek is offline
 
Join Date: Jan 2003
Posts: 149
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Just in case anyone needs it. I've modified the query to exclude a category I have for NSFW images. This was based on help from the photopost forums. Thought I would share.

Change
Code:
$result = mysql_query("SELECT id,cat,bigimage FROM pp_photos order by rand() LIMIT 1" ) or die(mysql_error());
to
Code:
$result = mysql_query("SELECT id,cat,bigimage FROM pp_photos WHERE approved=1 AND cat NOT IN (502) order by rand() LIMIT 1" ) or die(mysql_error());
Just change the 502 to the category number you want to exclude. You should be able to add extra categories by adding numbers like so (502,503,504,505). But I am a n00b with php so I could be wrong.
Reply With Quote
  #64  
Old 03-13-2010, 06:22 AM
wampforum wampforum is offline
 
Join Date: Oct 2009
Posts: 100
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

hmm couldnt get this to show an actual picture - just the 'more pictures in the gallery' (the link of which worked ok)
shame
Reply With Quote
  #65  
Old 03-27-2010, 07:45 PM
Wild Bronco Wild Bronco is offline
 
Join Date: Jan 2005
Posts: 124
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have 4 images in a horizontal line

Is it possible to show images in vertical line rather than horizontal?
Reply With Quote
  #66  
Old 03-28-2010, 08:17 PM
Wild Bronco Wild Bronco is offline
 
Join Date: Jan 2005
Posts: 124
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have tried to change the div align code

and a few other things but I can't find the right way.
Reply With Quote
  #67  
Old 03-29-2010, 07:25 AM
Heldenverband Heldenverband is offline
 
Join Date: Mar 2006
Posts: 52
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It works as VBCMS Modul at HERE
Reply With Quote
  #68  
Old 04-11-2010, 03:10 AM
antboy antboy is offline
 
Join Date: Oct 2005
Posts: 10
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ZippySLC - thanks for such a nice little hack works as described no problems

couple of things

1) i have found that i can increase the number of images shown by changing LIMIT to a higher number

this is great but i would love to have the images shown horizontally - is this possible ??

2) i also tried changing the order from random to date but strangely it showed it in the reverse order with the oldest images in the database showing first -

regards and thnx again Anthony
Reply With Quote
  #69  
Old 11-03-2010, 08:11 PM
msolano msolano is offline
 
Join Date: Oct 2007
Posts: 29
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If you are usign SEO in "Spider-Friendly URL's" you have to change the Select and the href code:

Code:
SELECT p.id,p.user,p.userid,p.cat,p.bigimage,p.title,c.catname,c.photos,c.posts 
FROM pp_photos p LEFT JOIN pp_categories c ON c.id = p.cat 
WHERE p.storecat = 0 
AND p.cat NOT IN (500) 
ORDER BY RAND() 
LIMIT 1
And the href:

Code:
print "<div align=\"center\">
<a href=\"gallery_url/g" . $row['cat'] . "-" . $row['catname'] . ".html\">
<img  ...
I'm not php programmer but I know about programming and I used the code from vb profile integration published in photopost official site.

It works in my site about aquariums
Reply With Quote
  #70  
Old 11-23-2010, 05:47 AM
pankaj1980 pankaj1980 is offline
 
Join Date: Nov 2010
Posts: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi,

I am a newbie and want to use your widget. I have followed the steps as mentioned by you but i don't have Photopost tables. From where i can get this tables. Please help me on this.

Regards,
Pankaj
Reply With Quote
  #71  
Old 01-08-2011, 08:27 PM
tattooz tattooz is offline
 
Join Date: Aug 2010
Posts: 76
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I was messing around with this code today and was able to get the widget to show HORIZONTALLY. Here is what I got and if you want to see it in action, visit http://www.modificationnation.com/ and under the big banner in the center you will see random members then FRESH INK & MODS.

You will need to add your database info at the top and change DOMAIN.COM to your URL. It should work no matter what your seo url's are set to but I don't know for sure. I have it set up to pull the newest photos from the gallery. If you would like it to pull random simply change "order by id DESC" to "order by rand()"

I am no coder, so I will do my absolute best to help you if it doesn't work

Code:
$host  = 'localhost'; 
$dbUser = 'DATABASE USER';   
$dbPass = 'DATABASE PASSWORD'; 
$db = 'DATABASE NAME'; 
mysql_connect("$host", "$dbUser", "$dbPass") or die(mysql_error());
mysql_select_db("$db") or die(mysql_error());

ob_start();

$result = mysql_query("SELECT id,cat,bigimage FROM pp_photos order by id DESC LIMIT 8") or die(mysql_error()); 
print "<table align=\"center\" border=\"3\" bordercolor=\"black\" cellpadding=\"10\"><tr>";  
while($row = mysql_fetch_array( $result )) {    
print "<td><div align=\"center\"><a href=\"http://DOMAIN.COM/showphoto.php/photo/" . $row['id'] . "\"><img src=\"http://DOMAIN.COM/data/" . $row['cat'] . "/thumbs/" .  $row['bigimage'] . "\" width=\"100px\" height=\"100px\"></a></div></td>";
}

print "</tr></table>";
$output .= ob_get_contents();
ob_end_clean();
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 09:29 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04809 seconds
  • Memory Usage 2,352KB
  • Queries Executed 26 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (5)bbcode_code
  • (3)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (3)pagenav_pagelink
  • (11)post_thanks_box
  • (1)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete