Thread: vBulletin CMS Widgets - Photopost Pro Random Image Widget
View Single Post
  #78  
Old 04-18-2012, 02:24 PM
glaive glaive is offline
 
Join Date: Jan 2009
Posts: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Here's an update to this code using vb db class type stuff I learned from migrating another project from vb 3.8x to v4.x. Now the "dangerous" db connection stuff is not available to any who read the code.

My version comments out two query executions you will need if your photopost db is different than your vb db.

I have also tweaked the query to fix an issue where the storage cat was different than the cat field and not 0 ( meaning catstore was not used.

My code builds on 9 random images in a simple table.

Note that I pull the cat out as cat_real and not just cat anymore.

I give this code freely to the original author and the community. I will try to mind the thread to help people and/or the OP. Thank you ZippySLC for getting my brain rolling on this.

You can see my version working here.

PHP Code:
ob_start();

// If your photo_post is not in the vbulletin db
//$sql_pp_db="USE Replace_with_PhotoPost_DB_name";
//$GLOBALS["vbulletin"]->db->query_read($sql_pp_db);

$sql_rp = <<<SQL
  SELECT
    id,
    if(
      storecat = 0,
      cat,
      if(
        cat != storecat,
        storecat,
        cat
      )
    ) as cat_real,
    bigimage
  FROM
    pp_photos
  ORDER BY rand()
  LIMIT 9
SQL;

$result_rp $GLOBALS["vbulletin"]->db->query_read($sql_rp);

echo 
"<center>";
echo 
"<table>";
$x 0;
while((
$array_rp $GLOBALS["vbulletin"]->db->fetch_array($result_rp)))
{
  if( 
$x == )
  {
    echo 
"<tr>";
  }
  elseif( 
$x == )
  {
    echo 
"</tr><tr>";
  }
  echo 
"<td>";
  echo 
"<a href=\"/gallery/showphoto.php/photo/" $array_rp["id"] . "\">";
  echo 
"<img src=\"/gallery/data/" $array_rp["cat_real"] . "/thumbs/" .  $array_rp["bigimage"] . "\" />";
  echo 
"</a></td>\n";
  
$x++;
}
 echo 
"</tr></table><br /><a href=\"/gallery\">See more photos in the Gallery</a></center>\n";

// If your photo_post is not in the vbulletin db
//$sql_pp_db="USE Replace_with_vbulletin_DB_name";
//$GLOBALS["vbulletin"]->db->query_read($sql_pp_db);

$output .= ob_get_contents();
ob_end_clean(); 
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.02294 seconds
  • Memory Usage 1,784KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_php
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete