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 == 0 )
{
echo "<tr>";
}
elseif( $x % 3 == 0 )
{
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();